@openremote/core 1.4.0-snapshot.20250409133306 → 1.4.0-snapshot.20250410145009

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -9,7 +9,9 @@ export * from "./asset-mixin";
9
9
  export * from "./console";
10
10
  export * from "./event";
11
11
  export * from "./defaults";
12
- export declare const DEFAULT_ICONSET: string;
12
+ export declare const DEFAULT_ICONSET = "mdi";
13
+ export declare const OPENREMOTE_CLIENT_ID = "openremote";
14
+ export declare const RESTRICTED_USER_REALM_ROLE = "restricted_user";
13
15
  export declare type KeycloakPromise<T> = {
14
16
  success<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | KeycloakPromise<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | KeycloakPromise<TResult2>) | undefined | null): KeycloakPromise<TResult1 | TResult2>;
15
17
  error<TResult = never>(onrejected?: ((reason: any) => TResult | KeycloakPromise<TResult>) | undefined | null): Promise<T | TResult>;
@@ -75,6 +77,7 @@ export declare class Manager implements EventProviderFactory {
75
77
  set language(lang: string);
76
78
  get displayRealm(): string;
77
79
  set displayRealm(realm: string);
80
+ get clientId(): string;
78
81
  getEventProvider(): EventProvider | undefined;
79
82
  get mapType(): MapType;
80
83
  protected static MAX_RECONNECT_DELAY: number;
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))((function(n,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function a(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))};import"url-search-params-polyfill";import{Console}from"./console";import rest from"@openremote/rest";import{EventProviderStatus,WebSocketEventProvider}from"./event";import i18next from"i18next";import i18nextBackend from"i18next-http-backend";import moment from"moment";import{AssetModelUtil}from"@openremote/model";import*as Util from"./util";import{createMdiIconSet,createSvgIconSet,IconSets,OrIconSet}from"@openremote/or-icon";import Keycloak from"keycloak-js";export{Util};export*from"./asset-mixin";export*from"./console";export*from"./event";export*from"./defaults";export const DEFAULT_ICONSET="mdi";export var ORError;!function(e){e.MANAGER_FAILED_TO_LOAD="MANAGER_FAILED_TO_LOAD",e.AUTH_FAILED="AUTH_FAILED",e.AUTH_TYPE_UNSUPPORTED="AUTH_TYPE_UNSUPPORTED",e.CONSOLE_ERROR="CONSOLE_INIT_ERROR",e.EVENTS_CONNECTION_ERROR="EVENTS_CONNECTION_ERROR",e.TRANSLATION_ERROR="TRANSLATION_ERROR"}(ORError||(ORError={}));export var OREvent;!function(e){e.ERROR="ERROR",e.READY="READY",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e.CONNECTING="CONNECTING",e.CONSOLE_INIT="CONSOLE_INIT",e.CONSOLE_READY="CONSOLE_READY",e.TRANSLATE_INIT="TRANSLATE_INIT",e.TRANSLATE_LANGUAGE_CHANGED="TRANSLATE_LANGUAGE_CHANGED",e.DISPLAY_REALM_CHANGED="DISPLAY_REALM_CHANGED"}(OREvent||(OREvent={}));export const DEFAULT_LANGUAGES={en:"english",cn:"chinese",nl:"dutch",fr:"french",de:"german",it:"italian",pt:"portuguese",ro:"romanian",es:"spanish",uk:"ukrainian"};export function normaliseConfig(e){const t=e?Object.assign({},e):{};return t.managerUrl&&""!==t.managerUrl?t.managerUrl=t.managerUrl.replace(/\/+$/,""):t.managerUrl=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")+window.location.pathname.replace(/\/[^/]+\/?$/,""),t.keycloakUrl&&""!==t.keycloakUrl||(t.keycloakUrl=t.managerUrl+"/auth"),t.realm&&""!==t.realm||(t.realm="master"),t.auth||(t.auth="KEYCLOAK"),void 0===t.consoleAutoEnable&&(t.consoleAutoEnable=!0),void 0===t.applyConfigToAdmin&&(t.applyConfigToAdmin=!0),t.eventProviderType||(t.eventProviderType="WEBSOCKET"),(!t.pollingIntervalMillis||t.pollingIntervalMillis<5e3)&&(t.pollingIntervalMillis=1e4),void 0===t.loadIcons&&(t.loadIcons=!0),void 0===t.loadTranslations&&(t.loadTranslations=["or"]),void 0===t.translationsLoadPath&&(t.translationsLoadPath="locales/{{lng}}/{{ns}}.json"),void 0===t.loadDescriptors&&(t.loadDescriptors=!0),void 0===t.clientId&&(t.clientId="openremote"),t}export class Manager{constructor(){this._authenticated=!1,this._ready=!1,this._name="",this._username="",this._keycloakUpdateTokenInterval=void 0,this._managerVersion="",this._authServerUrl="",this._listeners=[],this._disconnected=!1}get username(){return this._username}get error(){return this._error}get authenticated(){return this._authenticated}get ready(){return this._ready}get config(){return this._config}get roles(){const e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach((([t,i])=>{const o=i.roles;e.set(t,o)})):this._basicIdentity&&this._basicIdentity.roles&&e.set(this._config.clientId,this._basicIdentity.roles.map((e=>e.name))),e}get managerVersion(){return this._managerVersion}get isManagerAvailable(){return this._managerVersion&&""!==this._managerVersion}get managerUrl(){return this._config.managerUrl}get keycloakUrl(){return this._config.keycloakUrl}get isError(){return!!this._error}get connectionStatus(){return this._events&&this._events.status}get console(){return this._console}get consoleAppConfig(){return this._consoleAppConfig}get events(){return this._events}get rest(){return rest}get language(){return i18next.language}set language(e){console.debug(`Changing language to ${e}.`),e&&(i18next.changeLanguage(e),this.console.storeData("LANGUAGE",e),this.updateKeycloakUserLanguage(e).catch((e=>console.error(e))))}get displayRealm(){return this._displayRealm||this._config.realm}set displayRealm(e){this.isSuperUser()&&this._displayRealm!==e&&(this._displayRealm=e,this._emitEvent(OREvent.DISPLAY_REALM_CHANGED))}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;const e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){this._listeners.indexOf(e)<0&&this._listeners.push(e)}removeListener(e){const t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(e){return __awaiter(this,void 0,void 0,(function*(){this._config&&console.debug("Already initialised"),this._config=normaliseConfig(e);let t=yield this.loadManagerInfo();const i=new Console(this._config.realm,this._config.consoleAutoEnable,(()=>{this._emitEvent(OREvent.CONSOLE_READY)}));if(this._console=i,"BASIC"===this._config.auth)t=(yield this.doTranslateInit())&&t,t=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){const e=new URL(this._config.managerUrl);let t;this._authServerUrl.startsWith("//")&&(this._authServerUrl=e.protocol+this._authServerUrl);try{t=new URL(this._authServerUrl)}catch(i){t=new URL(e),t.pathname=this._authServerUrl}t.protocol||(t.protocol=e.protocol),t.hostname||(t.hostname=e.hostname),t.port||(t.port=e.port),this._config.keycloakUrl=t.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),t=yield this.doAuthInit(),t||this._config.skipFallbackToBasicAuth||(console.debug("Falling back to basic auth"),this._config.auth="BASIC",t=yield this.doAuthInit())}return!!t&&(t&&(t=this.doRestApiInit()),(yield this.doConsoleInit())&&this._clearWebHistory(),t=(yield this.doTranslateInit())&&t,t&&(t=yield this.doDescriptorsInit(),t=yield this.getConsoleAppConfig()),this.doIconInit(),t?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(OREvent.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=e.realm||"master",t)}))}loadManagerInfo(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield new Promise(((e,t)=>{const i=new XMLHttpRequest;i.addEventListener("load",(()=>{e(JSON.parse(i.responseText))})),i.addEventListener("error",(()=>{t(new Error("Failed to contact the manager"))})),i.open("GET",this._config.managerUrl+"/api/master/info"),i.send()}));return this._managerVersion=e&&e.version?e.version:"",this._authServerUrl=e&&e.authServerUrl?e.authServerUrl:"",!0}catch(e){return console.error("Failed to contact the manager",e),this._setError(ORError.MANAGER_FAILED_TO_LOAD),!1}}))}doTranslateInit(){return __awaiter(this,void 0,void 0,(function*(){if(i18next.isInitialized)return!0;i18next.on("initialized",(e=>{this._emitEvent(OREvent.TRANSLATE_INIT)})),i18next.on("languageChanged",(e=>{moment.locale(e),this._emitEvent(OREvent.TRANSLATE_LANGUAGE_CHANGED)}));const e={lng:(yield this.getConsolePreferredLanguage())||(yield this.getUserPreferredLanguage())||this.config.defaultLanguage||"en",fallbackLng:"en",defaultNS:"app",fallbackNS:"or",ns:this.config.loadTranslations,interpolation:{format:(e,t,i)=>"uppercase"===t?e.toUpperCase():e instanceof Date?moment(e).format(t):e},backend:{loadPath:(e,t)=>1===t.length&&"or"===t[0]?this.config.managerUrl+"/shared/locales/{{lng}}/{{ns}}.json":this.config.translationsLoadPath?this.config.translationsLoadPath:"locales/{{lng}}/{{ns}}.json"}};this.config.configureTranslationsOptions&&this.config.configureTranslationsOptions(e);try{yield i18next.use(i18nextBackend).init(e)}catch(e){return console.error(e),this._setError(ORError.TRANSLATION_ERROR),!1}return!0}))}doDescriptorsInit(){return __awaiter(this,void 0,void 0,(function*(){if(!this.config.loadDescriptors)return!0;try{const e=yield rest.api.AssetModelResource.getAssetInfos(),t=yield rest.api.AssetModelResource.getMetaItemDescriptors(),i=yield rest.api.AssetModelResource.getValueDescriptors();AssetModelUtil._assetTypeInfos=e.data,AssetModelUtil._metaItemDescriptors=Object.values(t.data),AssetModelUtil._valueDescriptors=Object.values(i.data)}catch(e){return console.error(e),!1}return!0}))}doAuthInit(){return __awaiter(this,void 0,void 0,(function*(){let e=!0;switch(this._config.auth){case"BASIC":e=yield this.initialiseBasicAuth();break;case"KEYCLOAK":e=yield this.loadAndInitialiseKeycloak();break;case"NONE":return!0;default:return this._setError(ORError.AUTH_TYPE_UNSUPPORTED),!1}return!!e&&(rest.addRequestInterceptor((e=>{if(!e.headers.Authorization){const t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e})),e)}))}doRestApiInit(){return rest.setTimeout(2e4),rest.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return __awaiter(this,void 0,void 0,(function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new WebSocketEventProvider(this._config.managerUrl),this._events.subscribeStatusChange((e=>this._onEventProviderStatusChanged(e))),e=yield this._events.connect()),e||this._setError(ORError.EVENTS_CONNECTION_ERROR),e}))}_connectEvents(){var e;(null===(e=this.events)||void 0===e?void 0:e.status)===EventProviderStatus.DISCONNECTED?this.events.connect().catch((e=>{console.error("Failed to connect EventProvider."),console.error(e)})):console.warn("Tried to connect EventProvider, but it wasn't disconnected!")}_onEventProviderStatusChanged(e){switch(e){case EventProviderStatus.DISCONNECTED:this._onDisconnect();break;case EventProviderStatus.CONNECTED:break;case EventProviderStatus.CONNECTING:this._emitEvent(OREvent.CONNECTING)}}doConsoleInit(){return __awaiter(this,void 0,void 0,(function*(){try{return yield this.console.initialise(),this._emitEvent(OREvent.CONSOLE_INIT),!0}catch(e){return this._setError(ORError.CONSOLE_ERROR),!1}}))}doIconInit(){this._config.loadIcons&&(IconSets.addIconSet("mdi",createMdiIconSet(manager.config.managerUrl)),IconSets.addIconSet("or",createSvgIconSet(OrIconSet.size,OrIconSet.icons)))}getConsoleAppConfig(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield fetch(manager.config.managerUrl+"/consoleappconfig/"+manager.displayRealm+".json");return this._consoleAppConfig=yield e.json(),!0}catch(e){return!0}}))}getConsolePreferredLanguage(e=this.console){return __awaiter(this,void 0,void 0,(function*(){return e.retrieveData("LANGUAGE")}))}getUserPreferredLanguage(e=this._keycloak){return __awaiter(this,void 0,void 0,(function*(){if(e){const t=(null==e?void 0:e.profile)||(yield null==e?void 0:e.loadUserProfile());if(null==t?void 0:t.attributes){const e=new Map(Object.entries(t.attributes));if(e.has("locale")){const t=e.get("locale");if("string"==typeof t[0])return t[0]}console.warn("Could not get user language from keycloak: no user attributes were found.")}else console.warn("Could not get user language from keycloak: no valid keycloak user profile was found.")}}))}updateKeycloakUserLanguage(e,t=this._keycloak,i=this.rest){return __awaiter(this,void 0,void 0,(function*(){t&&(i?yield i.api.UserResource.updateCurrentUserLocale(e,{headers:{"Content-Type":"application/json"}}):console.warn("Tried updating user language in keycloak, but the REST API is not initialized yet."))}))}logout(e){this._authenticated&&(this._authenticated=!0,this._keycloak?(this.isMobile()&&this.console.storeData("REFRESH_TOKEN",null),this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._keycloak.logout(e&&""!==e?{redirectUri:e}:void 0)):this._basicIdentity&&(this._basicIdentity=void 0,e?window.location.href=e:window.location.reload()))}login(e){switch(this._config.auth){case"BASIC":e&&e.credentials&&(this._config.credentials=Object.assign({},e.credentials)),this.doBasicLogin();break;case"KEYCLOAK":if(this._keycloak){const t={};e&&e.redirectUrl&&""!==e.redirectUrl&&(t.redirectUri=e.redirectUrl),(null==e?void 0:e.action)&&""!==e.action&&(t.action=e.action),this.isMobile()&&(t.scope="offline_access"),this._keycloak.login(t)}}}initialiseBasicAuth(){return __awaiter(this,void 0,void 0,(function*(){return this.config.basicLoginProvider?(this.config.autoLogin&&(this._readyCallback=()=>this.doBasicLogin()),!0):(console.debug("No basicLoginProvider defined on config so cannot display login UI"),!1)}))}doBasicLogin(){var e,t,i,o;return __awaiter(this,void 0,void 0,(function*(){if(!this.config.basicLoginProvider)return;let n={username:(null===(e=this.config.credentials)||void 0===e?void 0:e.username)?null===(t=this.config.credentials)||void 0===t?void 0:t.username:"",password:(null===(i=this.config.credentials)||void 0===i?void 0:i.password)?null===(o=this.config.credentials)||void 0===o?void 0:o.password:"",cancel:!1},r=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!r;){if(n=yield this.config.basicLoginProvider(n.username,n.password),n.cancel){console.debug("Basic authentication cancelled by user");break}if(!n.username||!n.password)continue;this._basicIdentity.token=btoa(n.username+":"+n.password);let e=!1;try{const t=yield rest.api.UserResource.getCurrent();200===t.status&&(e=!0,this._basicIdentity.user=t.data),e||401!==t.status&&403!==t.status||console.debug("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(!e){console.debug("Unknown response so aborting"),this._basicIdentity=void 0;break}{console.debug("Basic authentication successful"),r=!0;const e=yield rest.api.UserResource.getCurrentUserRoles();this._basicIdentity.roles=e.data}}r&&this._onAuthenticated()}))}isSuperUser(){return!(!this.getRealm()||"master"!==this.getRealm()||!this.hasRealmRole("admin"))}isRestrictedUser(){return!!this.hasRealmRole("restricted_user")}getApiBaseUrl(){let e=this._config.managerUrl;return e+="/api/"+this._config.realm+"/",e}getAppName(){const e=location.pathname.split("/");return e.length>=1?e[1]:""}hasRealmRole(e){return this.isKeycloak()&&this._keycloak.hasRealmRole(e)}hasRole(e,t=this._config.clientId){const i=this.roles;return i&&i.has(t)&&i.get(t).indexOf(e)>=0}getAuthorizationHeader(){return this.getKeycloakToken()?"Bearer "+this.getKeycloakToken():this.getBasicToken()?"Basic "+this.getBasicToken():void 0}getKeycloakToken(){if(this.isKeycloak())return this._keycloak.token}getBasicToken(){return this._basicIdentity?this._basicIdentity.token:void 0}getRealm(){if(this._config)return this._config.realm}isMobile(){return this.console&&this.console.isMobile}isKeycloak(){return!!this._keycloak}_onAuthenticated(){this._authenticated=!0,this._events||this.doEventsSubscriptionInit()}loadAndInitialiseKeycloak(){var e,t,i,o;return __awaiter(this,void 0,void 0,(function*(){try{this._keycloak=new Keycloak({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl});const n=yield this._getNativeOfflineRefreshToken();let r=yield this._keycloak.init({checkLoginIframe:!1,onLoad:"check-sso"});if(!r&&n)try{console.error("SETTING OFFLINE TOKEN"),this._keycloak.refreshToken=n,r=yield this._updateKeycloakAccessToken()}catch(e){console.error("Failed to authenticate using offline token")}if(r)this._name=null===(e=this._keycloak.tokenParsed)||void 0===e?void 0:e.name,this._username=null===(t=this._keycloak.tokenParsed)||void 0===t?void 0:t.preferred_username,this._createTokenUpdateInterval(),this.isMobile()&&"Offline"===(null===(o=null===(i=this._keycloak)||void 0===i?void 0:i.refreshTokenParsed)||void 0===o?void 0:o.typ)&&(console.debug("Storing offline refresh token"),this.console.storeData("REFRESH_TOKEN",this._keycloak.refreshToken)),this._onAuthenticated();else if(this.config.autoLogin)return this.login(),!1;return!0}catch(e){return this._authenticated=!1,this._setError(ORError.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}}))}_createTokenUpdateInterval(){this._keycloakUpdateTokenInterval||(this._keycloakUpdateTokenInterval=window.setInterval((()=>__awaiter(this,void 0,void 0,(function*(){yield this._updateKeycloakAccessToken().catch((()=>{console.debug("Keycloak failed to refresh the access token"),this._onDisconnect()}))}))),1e4))}_updateKeycloakAccessToken(){return __awaiter(this,void 0,void 0,(function*(){const e=yield this._keycloak.updateToken(20);return console.debug("Access token update success, refreshed from server: "+e),e&&this._onAuthenticated(),e}))}_getNativeOfflineRefreshToken(){return __awaiter(this,void 0,void 0,(function*(){if(this.isMobile())return yield this.console.retrieveData("REFRESH_TOKEN")}))}_emitEvent(e){window.setTimeout((()=>{const t=this._listeners;for(const i of t)i(e)}),0)}_setError(e){this._error=e,this._emitEvent(OREvent.ERROR),console.warn("Error set: "+e)}_clearWebHistory(){var e;null===(e=this.console)||void 0===e||e._doSendGenericMessage("CLEAR_WEB_HISTORY",void 0)}_onDisconnect(){return __awaiter(this,void 0,void 0,(function*(){this._disconnected||(console.debug("Disconnected"),this._disconnected=!0,this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._emitEvent(OREvent.OFFLINE),this.reconnect())}))}_onReconnected(){console.debug("Reconnected"),this._disconnected=!1,this._createTokenUpdateInterval(),this._emitEvent(OREvent.ONLINE)}reconnect(e=3e3){return __awaiter(this,void 0,void 0,(function*(){if(!this._disconnected)return;this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=void 0);const t=yield(()=>__awaiter(this,void 0,void 0,(function*(){var e;if(console.debug("Attempting reconnect"),!(yield this.isKeycloakReachable()))return console.debug("Keycloak is unreachable"),!1;console.debug("Keycloak is reachable"),console.debug("Checking keycloak access token");try{yield this._updateKeycloakAccessToken()}catch(e){const t=yield this._getNativeOfflineRefreshToken();this._keycloak.refreshToken=t;try{yield this._updateKeycloakAccessToken()}catch(e){return console.debug("Cannot update access token so sending to login"),void this.login()}return console.debug("Keycloak access token is valid"),!0}const t=this.events&&this.events.status===EventProviderStatus.CONNECTING;return console.debug("If event provider offline then attempting reconnect: offline="+t),!t||(yield null===(e=this.events)||void 0===e?void 0:e.connect())})))();return void 0!==t?t?void this._onReconnected():(e=Math.min(Manager.MAX_RECONNECT_DELAY,e+3e3),console.debug("Scheduling another reconnect attempt in (ms): "+e),void(this._reconnectTimer=window.setTimeout((()=>this.reconnect(e)),e))):void 0}))}isKeycloakReachable(e=2e3){return __awaiter(this,void 0,void 0,(function*(){const t=new AbortController,i=setTimeout((()=>t.abort()),e);try{const e=this._keycloak.endpoints.token();return 200===(yield fetch(e,{method:"OPTIONS",signal:t.signal})).status}catch(e){return!1}finally{clearTimeout(i)}}))}}Manager.MAX_RECONNECT_DELAY=45e3;export const manager=new Manager;export default manager;
1
+ var __awaiter=this&&this.__awaiter||function(e,t,i,o){return new(i||(i=Promise))((function(n,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function a(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))};import"url-search-params-polyfill";import{Console}from"./console";import rest from"@openremote/rest";import{EventProviderStatus,WebSocketEventProvider}from"./event";import i18next from"i18next";import i18nextBackend from"i18next-http-backend";import moment from"moment";import{AssetModelUtil}from"@openremote/model";import*as Util from"./util";import{createMdiIconSet,createSvgIconSet,IconSets,OrIconSet}from"@openremote/or-icon";import Keycloak from"keycloak-js";export{Util};export*from"./asset-mixin";export*from"./console";export*from"./event";export*from"./defaults";export const DEFAULT_ICONSET="mdi";export const OPENREMOTE_CLIENT_ID="openremote";export const RESTRICTED_USER_REALM_ROLE="restricted_user";export var ORError;!function(e){e.MANAGER_FAILED_TO_LOAD="MANAGER_FAILED_TO_LOAD",e.AUTH_FAILED="AUTH_FAILED",e.AUTH_TYPE_UNSUPPORTED="AUTH_TYPE_UNSUPPORTED",e.CONSOLE_ERROR="CONSOLE_INIT_ERROR",e.EVENTS_CONNECTION_ERROR="EVENTS_CONNECTION_ERROR",e.TRANSLATION_ERROR="TRANSLATION_ERROR"}(ORError||(ORError={}));export var OREvent;!function(e){e.ERROR="ERROR",e.READY="READY",e.ONLINE="ONLINE",e.OFFLINE="OFFLINE",e.CONNECTING="CONNECTING",e.CONSOLE_INIT="CONSOLE_INIT",e.CONSOLE_READY="CONSOLE_READY",e.TRANSLATE_INIT="TRANSLATE_INIT",e.TRANSLATE_LANGUAGE_CHANGED="TRANSLATE_LANGUAGE_CHANGED",e.DISPLAY_REALM_CHANGED="DISPLAY_REALM_CHANGED"}(OREvent||(OREvent={}));export const DEFAULT_LANGUAGES={en:"english",cn:"chinese",nl:"dutch",fr:"french",de:"german",it:"italian",pt:"portuguese",ro:"romanian",es:"spanish",uk:"ukrainian"};export function normaliseConfig(e){const t=e?Object.assign({},e):{};return t.managerUrl&&""!==t.managerUrl?t.managerUrl=t.managerUrl.replace(/\/+$/,""):t.managerUrl=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")+window.location.pathname.replace(/\/[^/]+\/?$/,""),t.keycloakUrl&&""!==t.keycloakUrl||(t.keycloakUrl=t.managerUrl+"/auth"),t.realm&&""!==t.realm||(t.realm="master"),t.auth||(t.auth="KEYCLOAK"),void 0===t.consoleAutoEnable&&(t.consoleAutoEnable=!0),void 0===t.applyConfigToAdmin&&(t.applyConfigToAdmin=!0),t.eventProviderType||(t.eventProviderType="WEBSOCKET"),(!t.pollingIntervalMillis||t.pollingIntervalMillis<5e3)&&(t.pollingIntervalMillis=1e4),void 0===t.loadIcons&&(t.loadIcons=!0),void 0===t.loadTranslations&&(t.loadTranslations=["or"]),void 0===t.translationsLoadPath&&(t.translationsLoadPath="locales/{{lng}}/{{ns}}.json"),void 0===t.loadDescriptors&&(t.loadDescriptors=!0),void 0===t.clientId&&(t.clientId="openremote"),t}export class Manager{constructor(){this._authenticated=!1,this._ready=!1,this._name="",this._username="",this._keycloakUpdateTokenInterval=void 0,this._managerVersion="",this._authServerUrl="",this._listeners=[],this._disconnected=!1}get username(){return this._username}get error(){return this._error}get authenticated(){return this._authenticated}get ready(){return this._ready}get config(){return this._config}get roles(){const e=new Map;return this._keycloak?this._keycloak.resourceAccess&&this._config.clientId&&this._keycloak.resourceAccess&&Object.entries(this._keycloak.resourceAccess).forEach((([t,i])=>{const o=i.roles;e.set(t,o)})):this._basicIdentity&&this._basicIdentity.roles&&e.set(this._config.clientId,this._basicIdentity.roles),e}get managerVersion(){return this._managerVersion}get isManagerAvailable(){return this._managerVersion&&""!==this._managerVersion}get managerUrl(){return this._config.managerUrl}get keycloakUrl(){return this._config.keycloakUrl}get isError(){return!!this._error}get connectionStatus(){return this._events&&this._events.status}get console(){return this._console}get consoleAppConfig(){return this._consoleAppConfig}get events(){return this._events}get rest(){return rest}get language(){return i18next.language}set language(e){console.debug(`Changing language to ${e}.`),e&&(i18next.changeLanguage(e),this.console.storeData("LANGUAGE",e),this.updateKeycloakUserLanguage(e).catch((e=>console.error(e))))}get displayRealm(){return this._displayRealm||this._config.realm}set displayRealm(e){this.isSuperUser()&&this._displayRealm!==e&&(this._displayRealm=e,this._emitEvent(OREvent.DISPLAY_REALM_CHANGED))}get clientId(){return this._config.clientId||"openremote"}getEventProvider(){return this.events}get mapType(){return this._config.mapType||"VECTOR"}isManagerSameOrigin(){if(!this.ready)return!1;const e=new URL(this._config.managerUrl),t=window.location;return e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}addListener(e){this._listeners.indexOf(e)<0&&this._listeners.push(e)}removeListener(e){const t=this._listeners.indexOf(e);t>=0&&this._listeners.splice(t,1)}init(e){return __awaiter(this,void 0,void 0,(function*(){this._config&&console.debug("Already initialised"),this._config=normaliseConfig(e);let t=yield this.loadManagerInfo();const i=new Console(this._config.realm,this._config.consoleAutoEnable,(()=>{this._emitEvent(OREvent.CONSOLE_READY)}));if(this._console=i,"BASIC"===this._config.auth)t=(yield this.doTranslateInit())&&t,t=yield this.doAuthInit();else if("KEYCLOAK"===this._config.auth){if(!this._config.keycloakUrl&&this._authServerUrl){const e=new URL(this._config.managerUrl);let t;this._authServerUrl.startsWith("//")&&(this._authServerUrl=e.protocol+this._authServerUrl);try{t=new URL(this._authServerUrl)}catch(i){t=new URL(e),t.pathname=this._authServerUrl}t.protocol||(t.protocol=e.protocol),t.hostname||(t.hostname=e.hostname),t.port||(t.port=e.port),this._config.keycloakUrl=t.toString()}this._config.keycloakUrl||(this._config.keycloakUrl=this._config.managerUrl+"/auth"),this._config.keycloakUrl=this._config.keycloakUrl.replace(/\/+$/,""),t=yield this.doAuthInit(),t||this._config.skipFallbackToBasicAuth||(console.debug("Falling back to basic auth"),this._config.auth="BASIC",t=yield this.doAuthInit())}return!!t&&(t&&(t=this.doRestApiInit()),(yield this.doConsoleInit())&&this._clearWebHistory(),t=(yield this.doTranslateInit())&&t,t&&(t=yield this.doDescriptorsInit(),t=yield this.getConsoleAppConfig()),this.doIconInit(),t?(this._readyCallback&&(yield this._readyCallback()),this._ready=!0,this._emitEvent(OREvent.READY)):(this._config=void 0,console.warn("Failed to initialise the manager")),this.displayRealm=e.realm||"master",t)}))}loadManagerInfo(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield new Promise(((e,t)=>{const i=new XMLHttpRequest;i.addEventListener("load",(()=>{e(JSON.parse(i.responseText))})),i.addEventListener("error",(()=>{t(new Error("Failed to contact the manager"))})),i.open("GET",this._config.managerUrl+"/api/master/info"),i.send()}));return this._managerVersion=e&&e.version?e.version:"",this._authServerUrl=e&&e.authServerUrl?e.authServerUrl:"",!0}catch(e){return console.error("Failed to contact the manager",e),this._setError(ORError.MANAGER_FAILED_TO_LOAD),!1}}))}doTranslateInit(){return __awaiter(this,void 0,void 0,(function*(){if(i18next.isInitialized)return!0;i18next.on("initialized",(e=>{this._emitEvent(OREvent.TRANSLATE_INIT)})),i18next.on("languageChanged",(e=>{moment.locale(e),this._emitEvent(OREvent.TRANSLATE_LANGUAGE_CHANGED)}));const e={lng:(yield this.getConsolePreferredLanguage())||(yield this.getUserPreferredLanguage())||this.config.defaultLanguage||"en",fallbackLng:"en",defaultNS:"app",fallbackNS:"or",ns:this.config.loadTranslations,interpolation:{format:(e,t,i)=>"uppercase"===t?e.toUpperCase():e instanceof Date?moment(e).format(t):e},backend:{loadPath:(e,t)=>1===t.length&&"or"===t[0]?this.config.managerUrl+"/shared/locales/{{lng}}/{{ns}}.json":this.config.translationsLoadPath?this.config.translationsLoadPath:"locales/{{lng}}/{{ns}}.json"}};this.config.configureTranslationsOptions&&this.config.configureTranslationsOptions(e);try{yield i18next.use(i18nextBackend).init(e)}catch(e){return console.error(e),this._setError(ORError.TRANSLATION_ERROR),!1}return!0}))}doDescriptorsInit(){return __awaiter(this,void 0,void 0,(function*(){if(!this.config.loadDescriptors)return!0;try{const e=yield rest.api.AssetModelResource.getAssetInfos(),t=yield rest.api.AssetModelResource.getMetaItemDescriptors(),i=yield rest.api.AssetModelResource.getValueDescriptors();AssetModelUtil._assetTypeInfos=e.data,AssetModelUtil._metaItemDescriptors=Object.values(t.data),AssetModelUtil._valueDescriptors=Object.values(i.data)}catch(e){return console.error(e),!1}return!0}))}doAuthInit(){return __awaiter(this,void 0,void 0,(function*(){let e=!0;switch(this._config.auth){case"BASIC":e=yield this.initialiseBasicAuth();break;case"KEYCLOAK":e=yield this.loadAndInitialiseKeycloak();break;case"NONE":return!0;default:return this._setError(ORError.AUTH_TYPE_UNSUPPORTED),!1}return!!e&&(rest.addRequestInterceptor((e=>{if(!e.headers.Authorization){const t=this.getAuthorizationHeader();t&&(e.headers.Authorization=t)}return e})),e)}))}doRestApiInit(){return rest.setTimeout(2e4),rest.initialise(this.getApiBaseUrl()),!0}doEventsSubscriptionInit(){return __awaiter(this,void 0,void 0,(function*(){let e=!1;return"WEBSOCKET"===this._config.eventProviderType&&(this._events=new WebSocketEventProvider(this._config.managerUrl),this._events.subscribeStatusChange((e=>this._onEventProviderStatusChanged(e))),e=yield this._events.connect()),e||this._setError(ORError.EVENTS_CONNECTION_ERROR),e}))}_connectEvents(){var e;(null===(e=this.events)||void 0===e?void 0:e.status)===EventProviderStatus.DISCONNECTED?this.events.connect().catch((e=>{console.error("Failed to connect EventProvider."),console.error(e)})):console.warn("Tried to connect EventProvider, but it wasn't disconnected!")}_onEventProviderStatusChanged(e){switch(e){case EventProviderStatus.DISCONNECTED:this._onDisconnect();break;case EventProviderStatus.CONNECTED:break;case EventProviderStatus.CONNECTING:this._emitEvent(OREvent.CONNECTING)}}doConsoleInit(){return __awaiter(this,void 0,void 0,(function*(){try{return yield this.console.initialise(),this._emitEvent(OREvent.CONSOLE_INIT),!0}catch(e){return this._setError(ORError.CONSOLE_ERROR),!1}}))}doIconInit(){this._config.loadIcons&&(IconSets.addIconSet("mdi",createMdiIconSet(manager.config.managerUrl)),IconSets.addIconSet("or",createSvgIconSet(OrIconSet.size,OrIconSet.icons)))}getConsoleAppConfig(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield fetch(manager.config.managerUrl+"/consoleappconfig/"+manager.displayRealm+".json");return this._consoleAppConfig=yield e.json(),!0}catch(e){return!0}}))}getConsolePreferredLanguage(e=this.console){return __awaiter(this,void 0,void 0,(function*(){return e.retrieveData("LANGUAGE")}))}getUserPreferredLanguage(e=this._keycloak){return __awaiter(this,void 0,void 0,(function*(){if(e){const t=(null==e?void 0:e.profile)||(yield null==e?void 0:e.loadUserProfile());if(null==t?void 0:t.attributes){const e=new Map(Object.entries(t.attributes));if(e.has("locale")){const t=e.get("locale");if("string"==typeof t[0])return t[0]}console.warn("Could not get user language from keycloak: no user attributes were found.")}else console.warn("Could not get user language from keycloak: no valid keycloak user profile was found.")}}))}updateKeycloakUserLanguage(e,t=this._keycloak,i=this.rest){return __awaiter(this,void 0,void 0,(function*(){t&&(i?yield i.api.UserResource.updateCurrentUserLocale(e,{headers:{"Content-Type":"application/json"}}):console.warn("Tried updating user language in keycloak, but the REST API is not initialized yet."))}))}logout(e){this._authenticated&&(this._authenticated=!0,this._keycloak?(this.isMobile()&&this.console.storeData("REFRESH_TOKEN",null),this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._keycloak.logout(e&&""!==e?{redirectUri:e}:void 0)):this._basicIdentity&&(this._basicIdentity=void 0,e?window.location.href=e:window.location.reload()))}login(e){switch(this._config.auth){case"BASIC":e&&e.credentials&&(this._config.credentials=Object.assign({},e.credentials)),this.doBasicLogin();break;case"KEYCLOAK":if(this._keycloak){const t={};e&&e.redirectUrl&&""!==e.redirectUrl&&(t.redirectUri=e.redirectUrl),(null==e?void 0:e.action)&&""!==e.action&&(t.action=e.action),this.isMobile()&&(t.scope="offline_access"),this._keycloak.login(t)}}}initialiseBasicAuth(){return __awaiter(this,void 0,void 0,(function*(){return this.config.basicLoginProvider?(this.config.autoLogin&&(this._readyCallback=()=>this.doBasicLogin()),!0):(console.debug("No basicLoginProvider defined on config so cannot display login UI"),!1)}))}doBasicLogin(){var e,t,i,o;return __awaiter(this,void 0,void 0,(function*(){if(!this.config.basicLoginProvider)return;let n={username:(null===(e=this.config.credentials)||void 0===e?void 0:e.username)?null===(t=this.config.credentials)||void 0===t?void 0:t.username:"",password:(null===(i=this.config.credentials)||void 0===i?void 0:i.password)?null===(o=this.config.credentials)||void 0===o?void 0:o.password:"",cancel:!1},r=!1;for(this._basicIdentity={roles:void 0,token:void 0,user:void 0};!r;){if(n=yield this.config.basicLoginProvider(n.username,n.password),n.cancel){console.debug("Basic authentication cancelled by user");break}if(!n.username||!n.password)continue;this._basicIdentity.token=btoa(n.username+":"+n.password);let e=!1;try{const t=yield rest.api.UserResource.getCurrent();200===t.status&&(e=!0,this._basicIdentity.user=t.data),e||401!==t.status&&403!==t.status||console.debug("Basic authentication invalid credentials, trying again")}catch(e){console.error("Basic auth failed: ",e)}if(!e){console.debug("Unknown response so aborting"),this._basicIdentity=void 0;break}{console.debug("Basic authentication successful"),r=!0;const e=yield rest.api.UserResource.getCurrentUserClientRoles(this.clientId);this._basicIdentity.roles=e.data}}r&&this._onAuthenticated()}))}isSuperUser(){return!(!this.getRealm()||"master"!==this.getRealm()||!this.hasRealmRole("admin"))}isRestrictedUser(){return!!this.hasRealmRole("restricted_user")}getApiBaseUrl(){let e=this._config.managerUrl;return e+="/api/"+this._config.realm+"/",e}getAppName(){const e=location.pathname.split("/");return e.length>=1?e[1]:""}hasRealmRole(e){return this.isKeycloak()&&this._keycloak.hasRealmRole(e)}hasRole(e,t=this._config.clientId){const i=this.roles;return i&&i.has(t)&&i.get(t).indexOf(e)>=0}getAuthorizationHeader(){return this.getKeycloakToken()?"Bearer "+this.getKeycloakToken():this.getBasicToken()?"Basic "+this.getBasicToken():void 0}getKeycloakToken(){if(this.isKeycloak())return this._keycloak.token}getBasicToken(){return this._basicIdentity?this._basicIdentity.token:void 0}getRealm(){if(this._config)return this._config.realm}isMobile(){return this.console&&this.console.isMobile}isKeycloak(){return!!this._keycloak}_onAuthenticated(){this._authenticated=!0,this._events||this.doEventsSubscriptionInit()}loadAndInitialiseKeycloak(){var e,t,i,o;return __awaiter(this,void 0,void 0,(function*(){try{this._keycloak=new Keycloak({clientId:this._config.clientId,realm:this._config.realm,url:this._config.keycloakUrl});const n=yield this._getNativeOfflineRefreshToken();let r=yield this._keycloak.init({checkLoginIframe:!1,onLoad:"check-sso"});if(!r&&n)try{console.error("SETTING OFFLINE TOKEN"),this._keycloak.refreshToken=n,r=yield this._updateKeycloakAccessToken()}catch(e){console.error("Failed to authenticate using offline token")}if(r)this._name=null===(e=this._keycloak.tokenParsed)||void 0===e?void 0:e.name,this._username=null===(t=this._keycloak.tokenParsed)||void 0===t?void 0:t.preferred_username,this._createTokenUpdateInterval(),this.isMobile()&&"Offline"===(null===(o=null===(i=this._keycloak)||void 0===i?void 0:i.refreshTokenParsed)||void 0===o?void 0:o.typ)&&(console.debug("Storing offline refresh token"),this.console.storeData("REFRESH_TOKEN",this._keycloak.refreshToken)),this._onAuthenticated();else if(this.config.autoLogin)return this.login(),!1;return!0}catch(e){return this._authenticated=!1,this._setError(ORError.AUTH_FAILED),console.error("Failed to initialise Keycloak: "+e),!1}}))}_createTokenUpdateInterval(){this._keycloakUpdateTokenInterval||(this._keycloakUpdateTokenInterval=window.setInterval((()=>__awaiter(this,void 0,void 0,(function*(){yield this._updateKeycloakAccessToken().catch((()=>{console.debug("Keycloak failed to refresh the access token"),this._onDisconnect()}))}))),1e4))}_updateKeycloakAccessToken(){return __awaiter(this,void 0,void 0,(function*(){const e=yield this._keycloak.updateToken(20);return console.debug("Access token update success, refreshed from server: "+e),e&&this._onAuthenticated(),e}))}_getNativeOfflineRefreshToken(){return __awaiter(this,void 0,void 0,(function*(){if(this.isMobile())return yield this.console.retrieveData("REFRESH_TOKEN")}))}_emitEvent(e){window.setTimeout((()=>{const t=this._listeners;for(const i of t)i(e)}),0)}_setError(e){this._error=e,this._emitEvent(OREvent.ERROR),console.warn("Error set: "+e)}_clearWebHistory(){var e;null===(e=this.console)||void 0===e||e._doSendGenericMessage("CLEAR_WEB_HISTORY",void 0)}_onDisconnect(){return __awaiter(this,void 0,void 0,(function*(){this._disconnected||(console.debug("Disconnected"),this._disconnected=!0,this._keycloakUpdateTokenInterval&&(window.clearTimeout(this._keycloakUpdateTokenInterval),this._keycloakUpdateTokenInterval=void 0),this._emitEvent(OREvent.OFFLINE),this.reconnect())}))}_onReconnected(){console.debug("Reconnected"),this._disconnected=!1,this._createTokenUpdateInterval(),this._emitEvent(OREvent.ONLINE)}reconnect(e=3e3){return __awaiter(this,void 0,void 0,(function*(){if(!this._disconnected)return;this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=void 0);const t=yield(()=>__awaiter(this,void 0,void 0,(function*(){var e;if(console.debug("Attempting reconnect"),!(yield this.isKeycloakReachable()))return console.debug("Keycloak is unreachable"),!1;console.debug("Keycloak is reachable"),console.debug("Checking keycloak access token");try{yield this._updateKeycloakAccessToken()}catch(e){const t=yield this._getNativeOfflineRefreshToken();this._keycloak.refreshToken=t;try{yield this._updateKeycloakAccessToken()}catch(e){return console.debug("Cannot update access token so sending to login"),void this.login()}return console.debug("Keycloak access token is valid"),!0}const t=this.events&&this.events.status===EventProviderStatus.CONNECTING;return console.debug("If event provider offline then attempting reconnect: offline="+t),!t||(yield null===(e=this.events)||void 0===e?void 0:e.connect())})))();return void 0!==t?t?void this._onReconnected():(e=Math.min(Manager.MAX_RECONNECT_DELAY,e+3e3),console.debug("Scheduling another reconnect attempt in (ms): "+e),void(this._reconnectTimer=window.setTimeout((()=>this.reconnect(e)),e))):void 0}))}isKeycloakReachable(e=2e3){return __awaiter(this,void 0,void 0,(function*(){const t=new AbortController,i=setTimeout((()=>t.abort()),e);try{const e=this._keycloak.endpoints.token();return 200===(yield fetch(e,{method:"OPTIONS",signal:t.signal})).status}catch(e){return!1}finally{clearTimeout(i)}}))}}Manager.MAX_RECONNECT_DELAY=45e3;export const manager=new Manager;export default manager;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,OAAO,EAAsC,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,SAAS,CAAC;AACzG,OAAO,OAAsB,MAAM,SAAS,CAAC;AAC7C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACH,cAAc,EASjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC5F,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,aAAa;AACb,OAAO,EAAC,IAAI,EAAC,CAAC;AACd,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,MAAM,eAAe,GAAW,KAAK,CAAC;AAO7C,MAAM,CAAN,IAAY,OAOX;AAPD,WAAY,OAAO;IACf,4DAAiD,CAAA;IACjD,sCAA2B,CAAA;IAC3B,0DAA+C,CAAA;IAC/C,+CAAoC,CAAA;IACpC,8DAAmD,CAAA;IACnD,kDAAuC,CAAA;AAC3C,CAAC,EAPW,OAAO,KAAP,OAAO,QAOlB;AAED,MAAM,CAAN,IAAY,OAWX;AAXD,WAAY,OAAO;IACf,0BAAe,CAAA;IACf,0BAAe,CAAA;IACf,4BAAiB,CAAA;IACjB,8BAAmB,CAAA;IACnB,oCAAyB,CAAA;IACzB,wCAA6B,CAAA;IAC7B,0CAA+B,CAAA;IAC/B,4CAAiC,CAAA;IACjC,oEAAyD,CAAA;IACzD,0DAA+C,CAAA;AACnD,CAAC,EAXW,OAAO,KAAP,OAAO,QAWlB;AAkBD,MAAM,CAAC,MAAM,iBAAiB,GAAc;IACxC,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;CAClB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAAqB;IACjD,MAAM,gBAAgB,GAAkB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhF,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,gBAAgB,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;QACrE,sDAAsD;QACtD,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;cAC7I,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,8CAA8C;QAC9C,gBAAgB,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACvE,gBAAgB,CAAC,WAAW,GAAI,gBAAgB,CAAC,UAAU,GAAG,OAAO,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;QAC3D,sBAAsB;QACtB,gBAAgB,CAAC,KAAK,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACzB,gBAAgB,CAAC,IAAI,iCAAgB,CAAC;IAC1C,CAAC;IAED,IAAI,gBAAgB,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACnD,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED,IAAI,gBAAgB,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACpD,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;QACtC,gBAAgB,CAAC,iBAAiB,gDAA8B,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,IAAI,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,EAAE,CAAC;QAC3F,gBAAgB,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACnD,CAAC;IAED,IAAI,gBAAgB,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3C,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,gBAAgB,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAClD,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,gBAAgB,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACtD,gBAAgB,CAAC,oBAAoB,GAAG,6BAA6B,CAAC;IAC1E,CAAC;IAED,IAAI,gBAAgB,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACjD,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC1C,gBAAgB,CAAC,QAAQ,GAAG,YAAY,CAAC;IAC7C,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AASD,MAAM,OAAO,OAAO;IAApB;QAqHY,mBAAc,GAAY,KAAK,CAAC;QAChC,WAAM,GAAY,KAAK,CAAC;QAExB,UAAK,GAAW,EAAE,CAAC;QACnB,cAAS,GAAW,EAAE,CAAC;QAOvB,iCAA4B,GAAY,SAAS,CAAC;QAClD,oBAAe,GAAW,EAAE,CAAC;QAC9B,mBAAc,GAAW,EAAE,CAAC;QAC3B,eAAU,GAAoB,EAAE,CAAC;QAIjC,kBAAa,GAAY,KAAK,CAAC;IAk1B3C,CAAC;IAv9BG,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACL,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAE5C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAU,CAAC,cAAc,EAAE,CAAC;oBAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAU,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE;wBAC7E,MAAM,KAAK,GAAI,WAAmB,CAAC,KAAiB,CAAC;wBACrD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAA;gBACN,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,IAAI,OAAO;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,CAAC,IAAY;QACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC;IACrD,CAAC;IAED,IAAI,YAAY,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,iCAAkB,CAAC;IAClD,CAAC;IA2BM,mBAAmB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,OAAO,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;eAC1C,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;eAC1C,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;IAC9C,CAAC;IAEM,WAAW,CAAC,QAAuB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,QAAuB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEY,IAAI,CAAC,MAAqB;;YACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,0DAA0D;YAC1D,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAM,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAkB,EAAE,GAAG,EAAE;gBACrF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,6BAAe,EAAE,CAAC;gBACnC,sEAAsE;gBACtE,OAAO,GAAG,CAAA,MAAM,IAAI,CAAC,eAAe,EAAE,KAAI,OAAO,CAAC;gBAClD,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,mCAAkB,EAAE,CAAC;gBAE7C,yFAAyF;gBACzF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,CAAC;oBACrD,IAAI,aAAkB,CAAC;oBAEvB,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;oBACpE,CAAC;oBAED,IAAI,CAAC;wBACD,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACjD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,0BAA0B;wBAC1B,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;wBACpC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;oBACjD,CAAC;oBAED,uBAAuB;oBACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBAC1B,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;oBACjD,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;wBAC1B,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;oBACjD,CAAC;oBACD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;wBACtB,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;oBACzC,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACxD,CAAC;gBAED,8DAA8D;gBAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;gBACjE,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAExE,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElC,uEAAuE;gBACvE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;oBACpD,wBAAwB;oBACxB,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,2BAAa,CAAC;oBAC/B,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,CAAC;YAED,uDAAuD;YACvD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,IAAG,cAAc,EAAE,CAAC;gBAChB,oGAAoG;gBACpG,0EAA0E;gBAC1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;YAED,OAAO,GAAG,CAAA,MAAM,IAAI,CAAC,eAAe,EAAE,KAAI,OAAO,CAAC;YAElD,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzC,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,qEAAqE;YACrE,iBAAiB;YACjB,uDAAuD;YACvD,IAAI;YACJ,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChC,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACH,IAAI,CAAC,OAAe,GAAG,SAAS,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;YAE7C,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEe,eAAe;;YAC3B,oDAAoD;YACpD,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACpD,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;oBAClC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;wBAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;wBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;oBACvD,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kBAAkB,CAAC,CAAC;oBAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE3E,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,8BAA8B;gBAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;KAAA;IAEe,eAAe;;YAC3B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,gDAAgD;YAChD,MAAM,WAAW,GAAgB;gBAC7B,GAAG,EAAE,CAAA,MAAM,IAAI,CAAC,2BAA2B,EAAE,MAAI,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI;gBAC7H,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,IAAI;gBAChB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBAChC,aAAa,EAAE;oBACX,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;wBAC3B,IAAI,MAAM,KAAK,WAAW;4BAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;wBACvD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;4BACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACxC,CAAC;wBACD,OAAO,KAAK,CAAC;oBACjB,CAAC;iBACJ;gBACD,OAAO,EAAE;oBACL,QAAQ,EAAE,CAAC,KAAe,EAAE,UAAoB,EAAE,EAAE;wBAChD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BACpD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,qCAAqC,CAAC;wBAC1E,CAAC;wBAED,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;4BACnC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;wBAC5C,CAAC;wBAED,OAAO,6BAA6B,CAAC;oBACzC,CAAC;iBACJ;aACJ,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,WAAW,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEe,iBAAiB;;YAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;gBAC7E,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;gBAC9F,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;gBAExF,cAAc,CAAC,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC;gBACzD,cAAc,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBACrF,cAAc,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEe,UAAU;;YACtB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxB;oBACI,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3C,MAAM;gBACV;oBACI,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBACjD,MAAM;gBACV;oBACI,4BAA4B;oBAC5B,OAAO,IAAI,CAAC;gBAChB;oBACI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,OAAO,KAAK,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,qBAAqB,CACtB,CAAC,MAA0B,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAO,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC;oBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAEjD,IAAI,UAAU,EAAE,CAAC;wBACb,MAAO,CAAC,OAAQ,CAAC,aAAa,GAAG,UAAU,CAAC;oBAChD,CAAC;gBACL,CAAC;gBAED,OAAO,MAAM,CAAC;YAClB,CAAC,CACJ,CAAC;YACF,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAES,aAAa;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEe,wBAAwB;;YACpC,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,QAAQ,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACrC;oBACI,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,CAAC;oBACpE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChH,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACzC,MAAM;gBACV;oBACI,MAAM;YACd,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAED,4CAA4C;IAClC,cAAc;;QACpB,IAAG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,MAAK,mBAAmB,CAAC,YAAY,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAES,6BAA6B,CAAC,MAA2B;QAC/D,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,mBAAmB,CAAC,YAAY;gBACjC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM;YACV,KAAK,mBAAmB,CAAC,SAAS;gBAC9B,MAAM;YACV,KAAK,mBAAmB,CAAC,UAAU;gBAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM;QACd,CAAC;IACL,CAAC;IAEe,aAAa;;YACzB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;KAAA;IAES,UAAU;QAChB,qDAAqD;QACrD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,UAAU,CACf,KAAK,EACL,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,CAC/C,CAAC;YACF,QAAQ,CAAC,UAAU,CACf,IAAI,EACJ,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CACpD,CAAC;QACN,CAAC;IACL,CAAC;IAEe,mBAAmB;;YAC/B,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,oBAAoB,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;gBAChH,IAAI,CAAC,iBAAiB,IAAG,MAAM,QAAQ,CAAC,IAAI,EAAsB,CAAA,CAAC;gBACnE,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;KAAA;IAED;;OAEG;IACU,2BAA2B,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO;;YAC7D,OAAO,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;KAAA;IAED;;OAEG;IACU,wBAAwB,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS;;YAE3D,IAAG,QAAQ,EAAE,CAAC;gBACV,MAAM,OAAO,GAAyC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,MAAI,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,EAAE,CAAA,CAAA,CAAC;gBAC7G,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE,CAAC;oBACrB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC/D,IAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAU,CAAC;wBAC/C,IAAG,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnB,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;gBACzG,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAEe,0BAA0B,CAAC,IAAY,EAAE,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI;;YAChG,IAAG,CAAC,QAAQ,EAAE,CAAC;gBACX,OAAO;YACX,CAAC;YACD,IAAG,CAAC,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;gBACnG,OAAO;YACX,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnH,CAAC;KAAA;IAEM,MAAM,CAAC,WAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACpC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACvD,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtG,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAsB;QAC/B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB;gBACI,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM;YACV;gBACI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,MAAM,eAAe,GAAQ,EAAE,CAAC;oBAChC,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;wBAC/D,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;oBACtD,CAAC;oBACD,IAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;wBAC1C,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBAC5C,CAAC;oBACD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;wBAClB,eAAe,CAAC,KAAK,GAAG,gBAAgB,CAAC;oBAC7C,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM;YACV;gBACI,MAAM;QACd,CAAC;IACL,CAAC;IAEe,mBAAmB;;YAE/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACpF,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,+CAA+C;gBAC/C,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;oBACvB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/B,CAAC,CAAC;YACN,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEe,YAAY;;;YAExB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAClC,OAAO;YACX,CAAC;YAED,IAAI,MAAM,GAAqB;gBAC3B,QAAQ,EAAE,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,QAAQ,EAAC,CAAC,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACpF,QAAQ,EAAE,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,QAAQ,EAAC,CAAC,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACpF,MAAM,EAAE,KAAK;aAChB,CAAC;YACF,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,IAAI,CAAC,cAAc,GAAG;gBAClB,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,SAAS;aAClB,CAAC;YAEF,OAAO,CAAC,aAAa,EAAE,CAAC;gBACpB,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEhF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBACxD,MAAM;gBACV,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACvC,SAAS;gBACb,CAAC;gBAED,0DAA0D;gBAC1D,IAAI,CAAC,cAAe,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;gBAEpB,IAAI,CAAC;oBACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC9D,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC9B,OAAO,GAAG,IAAI,CAAC;wBACf,IAAI,CAAC,cAAe,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;oBAClD,CAAC;oBAED,IAAI,CAAC,OAAO,EAAE,CAAC;wBACX,uGAAuG;wBACvG,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;4BAC7D,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;wBAC5E,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACjD,aAAa,GAAG,IAAI,CAAC;oBAErB,iBAAiB;oBACjB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;oBACxE,IAAI,CAAC,cAAe,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBAC9C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;oBAChC,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;;KACJ;IAEM,WAAW;QACd,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,CAAC;IAEM,gBAAgB;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;IAEM,aAAa;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC;QACvC,OAAO,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;QAC9C,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,UAAU;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAEM,YAAY,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,SAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAEM,OAAO,CAAC,IAAY,EAAE,SAAiB,IAAI,CAAC,OAAO,CAAC,QAAS;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAEM,sBAAsB;QACzB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC1B,OAAO,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACvB,OAAO,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC;IACL,CAAC;IAEM,gBAAgB;QACnB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,SAAU,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAEM,QAAQ;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,QAAQ;QACd,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjD,CAAC;IAEM,UAAU;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;IAEe,yBAAyB;;;YACrC,IAAI,CAAC;gBACD,sBAAsB;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC;oBAC1B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAS;oBAChC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAM;oBAC1B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;iBAChC,CAAC,CAAC;gBAEH,uDAAuD;gBACvD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAEhE,uGAAuG;gBACvG,4GAA4G;gBAC5G,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,SAAU,CAAC,IAAI,CAAC;oBAC3C,gBAAgB,EAAE,KAAK,EAAE,kEAAkE;oBAC3F,MAAM,EAAE,WAAW;iBACtB,CAAC,CAAC;gBAEH,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;oBACjC,IAAI,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBACvC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;wBAC3C,aAAa,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAC5D,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;gBAED,IAAI,aAAa,EAAE,CAAC;oBAChB,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,WAAW,0CAAE,IAAI,CAAC;oBAC9C,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,WAAW,0CAAE,kBAAkB,CAAC;oBAEhE,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAElC,iDAAiD;oBACjD,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,kBAAkB,0CAAE,GAAG,MAAK,SAAS,EAAE,CAAC;wBAC3E,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;wBAC/C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;oBAC1E,CAAC;oBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,KAAK,CAAC,CAAC;gBACzD,OAAO,KAAK,CAAC;YACjB,CAAC;;KACJ;IAES,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACrC,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,WAAW,CAAC,GAAS,EAAE;gBAC9D,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC/C,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC,CAAA,EAAE,KAAK,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAEe,0BAA0B;;YACtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,sDAAsD,GAAG,cAAc,CAAC,CAAC;YACvF,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO,cAAc,CAAC;QAC1B,CAAC;KAAA;IAEe,6BAA6B;;YACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;KAAA;IAES,UAAU,CAAC,KAAc;QAC/B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC/B,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAES,SAAS,CAAC,KAAc;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,mHAAmH;IACzG,gBAAgB;;QACtB,MAAA,IAAI,CAAC,OAAO,0CAAE,qBAAqB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACa,aAAa;;YACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO;YACX,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,6BAA6B;YAC7B,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACpC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACvD,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;KAAA;IAES,cAAc;QACpB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,kCAAkC;QAClC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACU,SAAS,CAAC,uBAA+B,IAAI;;YAEtD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,OAAO;YACX,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACrC,CAAC;YAED,MAAM,YAAY,GAAG,GAAS,EAAE;;gBAC5B,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtC,IAAI,eAAe,GAAG,CAAC,CAAA,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA,CAAC;gBAExD,IAAI,eAAe,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBACzC,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAEvC,yCAAyC;gBACzC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAChD,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC5C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,+CAA+C;oBAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBAChE,IAAI,CAAC,SAAU,CAAC,YAAY,GAAG,YAAY,CAAC;oBAE5C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAC5C,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;wBAChE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,OAAO;oBACX,CAAC;oBACD,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAChD,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,eAAe;gBACf,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAmB,CAAC,UAAU,CAAC;gBAC3F,OAAO,CAAC,KAAK,CAAC,+DAA+D,GAAG,aAAa,CAAC,CAAC;gBAC/F,wCAAwC;gBACxC,OAAO,CAAC,aAAa,KAAI,MAAM,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,CAAA,CAAC;YAC1D,CAAC,CAAA,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;YAEvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,gDAAgD;gBAChD,OAAO;YACX,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,2BAA2B;gBAC3B,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC;gBAC1F,OAAO,CAAC,KAAK,CAAC,gDAAgD,GAAG,oBAAoB,CAAC,CAAC;gBACvF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAC3G,OAAO;YACX,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;KAAA;IAED,mHAAmH;IACnH,6EAA6E;IAC7D,mBAAmB,CAAC,gBAAwB,IAAI;;YAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC;YACpE,IAAI,CAAC;gBACD,iGAAiG;gBACjG,qFAAqF;gBACrF,6FAA6F;gBAC7F,yCAAyC;gBACzC,aAAa;gBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAC,CAAC,CAAC;gBACrF,OAAO,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC;YACjC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,KAAK,CAAC;YACjB,CAAC;oBAAS,CAAC;gBACP,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;KAAA;;AAt2BgB,2BAAmB,GAAG,KAAK,AAAR,CAAS;AAy2BjD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,8BAA8B;AACpE,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/util.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Asset, AssetDescriptor, Attribute, AttributeDescriptor, AttributeEvent, GeofencePredicate, JsonRulesetDefinition, NameHolder, NameValueHolder, PushNotificationMessage, ValueDescriptor, ValueDescriptorHolder, ValueFormat, ValueConstraint, MetaItemDescriptor, Role } from "@openremote/model";
1
+ import { Asset, AssetDescriptor, Attribute, AttributeDescriptor, AttributeEvent, GeofencePredicate, JsonRulesetDefinition, NameHolder, NameValueHolder, PushNotificationMessage, ValueDescriptor, ValueDescriptorHolder, ValueFormat, ValueConstraint, MetaItemDescriptor } from "@openremote/model";
2
2
  export declare class Deferred<T> {
3
3
  protected _resolve: (value: T | PromiseLike<T>) => void;
4
4
  protected _reject: (reason?: any) => void;
@@ -97,4 +97,3 @@ export declare function dispatchCancellableEvent<T>(target: EventTarget, event:
97
97
  export declare function disableScroll(): void;
98
98
  export declare function enableScroll(): void;
99
99
  export declare function blobToBase64(blob: Blob): Promise<unknown>;
100
- export declare function realmRoleFilter(role: Role): boolean;
package/lib/util.js CHANGED
@@ -1 +1 @@
1
- import i18next from"i18next";import Qs from"qs";import{AssetModelUtil}from"@openremote/model";import moment from"moment";import{transform}from"lodash";export class Deferred{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t})),Object.freeze(this)}}export function getBrowserLanguage(){return navigator.language.split("-")[0]||"en"}export function getQueryParameters(e){return Qs.parse(e,{ignoreQueryPrefix:!0})}export function getQueryParameter(e){let t;if(location.search&&""!==location.search&&(t=getQueryParameters(location.search)),location.hash){const e=location.hash.indexOf("?");e>-1&&(t=getQueryParameters(location.hash.substring(e+1)))}return t?t[e]:void 0}export function getGeoNotificationsFromRulesSet(e){const t=[];return e.rules.forEach((e=>{if(e.when&&e.then&&e.then.length>0){const n=new Map;addGeofencePredicatesFromRuleCondition(e.when,0,n),n.size>0&&e.then.forEach((e=>addPushNotificationsFromRuleAction(e,n)));for(const e of n.values())e.forEach((e=>{e.notification&&t.push(e)}))}})),t}function addGeofencePredicatesFromRuleCondition(e,t,n){if(!e)return;const r=[];e.groups&&e.groups.forEach((e=>{e.items&&e.items.forEach((e=>{r.push(e)}))})),e.items&&e.items.forEach((e=>{r.push(e)})),r&&r.forEach((e=>{if(e.assets&&e.assets.attributes){const r=[];if(addGeoNotificationsFromAttributePredicateCondition(e.assets.attributes,r),r.length>0){const o=e.tag||t.toString();n.set(o,r)}}}))}function addGeoNotificationsFromAttributePredicateCondition(e,t){e&&(e.items.forEach((e=>{!e.value||"radial"!==e.value.predicateType&&"rect"!==e.value.predicateType||t.push({predicate:e.value})})),e.groups&&e.groups.forEach((e=>addGeoNotificationsFromAttributePredicateCondition(e,t))))}function addPushNotificationsFromRuleAction(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){const n=e.target;if(n&&n.conditionAssets){const r=t.get(n.conditionAssets);r&&r.forEach((t=>{t.notification=e.notification.message}))}else for(const n of t.values())n.forEach((t=>{t.notification=e.notification.message}))}}const TIME_DURATION_REGEXP=/([+-])?((\d+)[Dd])?\s*((\d+)[Hh])?\s*((\d+)[Mm]$)?\s*((\d+)[Ss])?\s*((\d+)([Mm][Ss]$))?\s*((\d+)[Ww])?\s*((\d+)[Mm][Nn])?\s*((\d+)[Yy])?/;export function isTimeDuration(e){return!!e&&(e=e.trim()).length>0&&(TIME_DURATION_REGEXP.test(e)||isTimeDurationPositiveInfinity(e)||isTimeDurationNegativeInfinity(e))}export function isTimeDurationPositiveInfinity(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}export function isTimeDurationNegativeInfinity(e){return"-*"===(null!=e?e.trim():void 0)}export function isObject(e){return!!e&&"object"==typeof e}export function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}export function objectsEqual(e,t,n=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function)return e===t;if(e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length)return!1;if(e instanceof Date)return!1;if(!(e instanceof Object))return!1;if(!(t instanceof Object))return!1;if(n){const n=Object.keys(e);return Object.keys(t).every((e=>-1!==n.indexOf(e)))&&n.every((n=>objectsEqual(e[n],t[n])))}return!1}export function difference(e,t){const n=(e,t)=>transform(e,(function(e,r,o){objectsEqual(r,null==t?void 0:t[o])||(e[o]=isObject(r)&&isObject(null==t?void 0:t[o])?n(r,null==t?void 0:t[o]):r)}));return n(e,t)}export function arrayRemove(e,t){if(0===e.length)return;const n=e.indexOf(t);n>=0&&e.splice(n,1)}export function sentenceCaseToCamelCase(e){return null==e?"":e.split(" ").map(((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1))).join("")}export function camelCaseToSentenceCase(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map(((e,n,r)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){const t=!r[n-1]||"_"===r[n-1],o=n+1<r.length&&r[n+1]&&"_"!==r[n+1],i=n+3>r.length||!r[n+1]&&!r[n+3];t&&!o||(e=" "+e),(o||!t&&!i)&&(e=e.toLowerCase())}return e})).join("").trim()}export function stringMatch(e,t){if(t===e)return!0;const n=e.endsWith("*"),r=!n&&e.startsWith("*"),o=!n&&!r&&e.startsWith("^")&&e.endsWith("$");if(n&&t.startsWith(e.substr(0,e.length-1)))return!0;if(r&&t.endsWith(e.substr(1)))return!0;if(o)try{return new RegExp(e).test(t)}catch(e){console.error("Failed to compile needle as a RegExp: "+e)}return!1}export function capitaliseFirstLetter(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}export function enumContains(e,t){return e&&Object.values(e).includes(t)}export function getEnumKeyAsString(e,t){return Object.keys(e).find((n=>e[n]===t))}export function getWeekNumber(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));const t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}const monthNames=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];export function formatCronString(e,t,n,r,o,i,a){let s="";if(i?Array.isArray(i)?s+=i.toString().replace(" ",""):s+=i.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){const e=[];t.forEach((t=>{e.push(monthNames[t].toString())})),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",s+=a?a.toString():"?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}export function dateToCronString(e){return formatCronString(e.getFullYear(),monthNames[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}export function cronStringToISOString(e,t){const n=e.split(" ");if(!(Number.isNaN(Number(n[0]))||Number.isNaN(Number(n[1]))||Number.isNaN(Number(n[2]))||Number.isNaN(Number(n[3]))&&"*"!=n[3])){const e=(Number.isNaN(Number(n[6]))?(new Date).getFullYear():n[6]).toString();let r="";r="*"!=n[4]?monthNames.indexOf(n[4]).toString():(new Date).getMonth().toString(),r=1==r.length?"0"+r:r;const o=1==n[3].length&&"*"!=n[3]?"0"+n[3]:n[3].replace("*","01"),i=1==n[2].length&&"*"!=n[2]?"0"+n[2]:n[2].replace("*","00"),a=1==n[1].length&&"*"!=n[1]?"0"+n[1]:n[1].replace("*","00"),s=1==n[0].length&&"*"!=n[0]?"0"+n[0]:n[0].replace("*","00");if(e.length>0&&r.length>0)return t?moment.utc({year:Number(e),month:Number(r),date:Number(o),hour:Number(i),minute:Number(a),second:Number(s)}).toISOString():moment({year:Number(e),month:Number(r),date:Number(o),hour:Number(i),minute:Number(a),second:Number(s)}).toISOString()}}export function getMetaValue(e,t,n){const r="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(r)?t.meta[r]:n&&n.meta?n.meta[r]:void 0}export function hasMetaItem(e,t,n){const r="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(r))||!!(n&&n.meta&&n.meta.hasOwnProperty(r))}export function getAssetTypeLabel(e){return"string"==typeof e&&(e=AssetModelUtil.getAssetDescriptor(e)),e?i18next.t("label.asset."+e.name,{defaultValue:camelCaseToSentenceCase(e.name)}):""}export function getValueDescriptorLabel(e){if(!e)return i18next.t("label.value.unknown",{defaultValue:"Unknown"});const t="string"==typeof e?e:e.name;return i18next.t("label.value."+t,{defaultValue:camelCaseToSentenceCase(t||"")})}export function getAllowedValueLabel(e,t){if(e)return i18next.t("label.allowedValue."+e,{defaultValue:t||camelCaseToSentenceCase(e||""),nsSeparator:!1})}export function getMetaItemNameValueHolder(e,t){const n="string"==typeof e?AssetModelUtil.getMetaItemDescriptor(e):e;return n?{name:n.name,type:n.type,value:t}:{name:typeof e,type:AssetModelUtil.resolveValueTypeFromValue(t),value:t}}export function getAttributeLabel(e,t,n,r,o){return getValueHolderLabel(e,t,n,r,!0,o)}export function getMetaLabel(e,t,n,r,o){return getValueHolderLabel(e||getMetaItemNameValueHolder(t,null),t,n,r,!1,o)}function getValueHolderLabel(e,t,n,r,o,i){let a=doStandardTranslationLookup("label",e,t,n,o),s="";if(a||(a=getMetaValue("label",e,t&&t.meta?t:void 0)),r&&(s=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,n,o))),!a){const n=e?e.name:t?"string"==typeof t?t:t.name:void 0;a=i||(n?camelCaseToSentenceCase(n):void 0)}return a?a+(s?" ("+s+")":""):s}export function getAttributeValueAsString(e,t,n,r,o){return getValueHolderValueAsString(e,t,n,r,!0,o)}export function getMetaValueAsString(e,t,n,r,o){return getValueHolderValueAsString(e||getMetaItemNameValueHolder(t,null),t,n,r,!1,o)}function getValueHolderValueAsString(e,t,n,r,o,i){let a=getValueAsString(e?e.value:void 0,(()=>getValueFormatConstraintOrUnits("format",e,t,n,o)),void 0,i);const s=getAttributeUnits(e,t,n);return r&&s&&s.length&&(a=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,n,o),a)),a}export function getValueAsString(e,t,n,r){let o="";if(null==e)o=r||"";else if("string"==typeof e)o=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){const r=t&&t();if(r&&0!==Object.keys(r).length)switch("number"==typeof e?r.asBoolean?e=!!e:r.asDate&&(e=new Date(e)):"boolean"==typeof e&&r.asNumber&&(e=e?1:0),typeof e){case"number":o=new Intl.NumberFormat(n||i18next.language,r).format(e);break;case"boolean":r.asOnOff&&(o=e?i18next.t("on"):i18next.t("off")),r.asOpenClosed&&(o=e?i18next.t("open"):i18next.t("closed")),r.asPressedReleased&&(o=e?i18next.t("pressed"):i18next.t("released"));break;case"object":if(r.momentJsFormat)o=moment(e).format(r.momentJsFormat);else if(r.iso8601)o=e.toISOString();else if(r.week){const t=getWeekNumber(e);o="2-digit"===r.week?String(t).padStart(2,"0"):Number(t).toString(10)}else o=new Intl.DateTimeFormat(n||i18next.language,r).format(e)}else o=Object(e).toString()}return o}export function resolveUnits(e,t){if(!e)return"";t||(t="");const n=e.map(((e,n)=>{if(3!==e.length||e.toUpperCase()!==e)return i18next.t(["units."+e,"or:units."+e]);{const r=new Intl.NumberFormat(i18next.language,{currency:e,style:"currency"}).formatToParts();if(0!==n||"currency"!==r[0].type)return"currency"===r[0].type?r[0].value:r[r.length-1].value;if(!t)return r[0].value;t=r[0].value+t}})).join("");return t.length>0?t+" "+n:n}export function getAttributeValueConstraints(e,t,n){return getValueFormatConstraintOrUnits("constraints",e,t,n,!0)}export function getMetaValueConstraints(e,t,n){return getValueFormatConstraintOrUnits("constraints",e||getMetaItemNameValueHolder(t,null),t,n,!1)}export function getAttributeUnits(e,t,n){return getValueFormatConstraintOrUnits("units",e,t,n,!0)}export function getMetaUnits(e,t,n){return getValueFormatConstraintOrUnits("units",e||getMetaItemNameValueHolder(t,null),t,n,!1)}export function getAttributeValueFormat(e,t,n){return getValueFormatConstraintOrUnits("format",e,t,n,!0)}export function getMetaValueFormat(e,t,n){return getValueFormatConstraintOrUnits("format",e||getMetaItemNameValueHolder(t,null),t,n,!1)}export function mergeObjects(e,t,n){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);const r=Object.assign({},e),o=[];return Object.entries(t).forEach((([e,t])=>{mergeObjectKey(r,o,e,t,n)})),r}function mergeObjectKey(e,t,n,r,o){let i=e;t.forEach((e=>{i.hasOwnProperty(e)||(i[e]={}),i=i[e]})),i&&(i.hasOwnProperty(n)?null==r?delete i[n]:Array.isArray(i[n])?i[n]=o?[...i[n],...r]:[...r]:i[n]="object"==typeof r?mergeObjects(Object.assign({},i[n]),r,o):r:null==r?delete i[n]:Array.isArray(r)?i[n]=[...r]:i[n]="object"==typeof r?Object.assign({},r):r)}function getValueFormatConstraintOrUnits(e,t,n,r,o){let i;const a=[],s=doStandardTranslationLookup(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,r,o);if(s&&(i=JSON.parse(s),i)){if("format"!==e)return i;a.push(i)}if(t&&t.meta&&(i=getMetaValue(e,t,n),i)){if("format"!==e)return i;a.push(i)}if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(i=n[e],"format"!==e)return i;a.push(i)}if(n&&n.type){if(i=AssetModelUtil.getValueDescriptor(n.type)[e],"format"!==e)return i;a.push(i)}if("format"!==e||0===a.length)return i;let u={};return a.reverse().forEach((e=>{u=Object.assign(Object.assign({},u),e)})),u}function doStandardTranslationLookup(e,t,n,r,o,i){let a;if(t?a="string"==typeof t?t:t.name:n&&(a="string"==typeof n?n:n.name),!a)return;const s=[],u=e+"."+(o?"attribute":"meta")+".";return r&&s.push(u+r+"."+a),n&&"string"!=typeof n&&(s.push(u+n.type+"."+a),s.push(u+n.type)),s.push(u+a),s.length>0?i18next.t(s,{defaultValue:i||""}):void 0}export function updateAsset(e,t){const n=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[n];else{const r=e.attributes[n];r&&(r.value=t.value,r.timestamp=t.timestamp)}return Object.assign({},e)}export function loadJs(e){return new Promise(((t,n)=>{const r=document.createElement("script");r.type="text/javascript",r.src=e,r.addEventListener("load",(e=>t(e)),!1),r.addEventListener("error",(e=>n(e)),!1),document.body.appendChild(r)}))}export function sortByNumber(e){return(t,n)=>{const r=e(t),o=e(n);return r||o?r&&!o?1:!r&&o?-1:r-o:0}}export function sortByString(e){return(t,n)=>{const r=e(t),o=e(n);return r||o?r&&!o?1:!r&&o?-1:r.localeCompare(o):0}}export function dispatchCancellableEvent(e,t){const n=new Deferred;return e.dispatchEvent(t),window.setTimeout((()=>{n.resolve(t.detail)})),n.promise}const keys={37:1,38:1,39:1,40:1};function preventDefault(e){e.preventDefault()}function preventDefaultForScrollKeys(e){if(keys[e.keyCode])return preventDefault(e),!1}let supportsPassive=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{supportsPassive=!0}}))}catch(e){}const wheelOpt=!!supportsPassive&&{passive:!1},wheelEvent="onwheel"in document.createElement("div")?"wheel":"mousewheel";export function disableScroll(){window.addEventListener("DOMMouseScroll",preventDefault,!1),window.addEventListener(wheelEvent,preventDefault,wheelOpt),window.addEventListener("touchmove",preventDefault,wheelOpt),window.addEventListener("keydown",preventDefaultForScrollKeys,!1)}export function enableScroll(){window.removeEventListener("DOMMouseScroll",preventDefault,!1),window.removeEventListener(wheelEvent,preventDefault,wheelOpt),window.removeEventListener("touchmove",preventDefault,wheelOpt),window.removeEventListener("keydown",preventDefaultForScrollKeys,!1)}export function blobToBase64(e){return new Promise(((t,n)=>{const r=new FileReader;r.readAsDataURL(e),r.onload=()=>{t(r.result)},r.onerror=e=>{n(e)}}))}export function realmRoleFilter(e){return"admin"===e.name||!e.composite&&!["uma_authorization","offline_access","create-realm"].includes(e.name)&&!e.name.startsWith("default-roles")}
1
+ import i18next from"i18next";import Qs from"qs";import{AssetModelUtil}from"@openremote/model";import moment from"moment";import{transform}from"lodash";export class Deferred{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t})),Object.freeze(this)}}export function getBrowserLanguage(){return navigator.language.split("-")[0]||"en"}export function getQueryParameters(e){return Qs.parse(e,{ignoreQueryPrefix:!0})}export function getQueryParameter(e){let t;if(location.search&&""!==location.search&&(t=getQueryParameters(location.search)),location.hash){const e=location.hash.indexOf("?");e>-1&&(t=getQueryParameters(location.hash.substring(e+1)))}return t?t[e]:void 0}export function getGeoNotificationsFromRulesSet(e){const t=[];return e.rules.forEach((e=>{if(e.when&&e.then&&e.then.length>0){const n=new Map;addGeofencePredicatesFromRuleCondition(e.when,0,n),n.size>0&&e.then.forEach((e=>addPushNotificationsFromRuleAction(e,n)));for(const e of n.values())e.forEach((e=>{e.notification&&t.push(e)}))}})),t}function addGeofencePredicatesFromRuleCondition(e,t,n){if(!e)return;const r=[];e.groups&&e.groups.forEach((e=>{e.items&&e.items.forEach((e=>{r.push(e)}))})),e.items&&e.items.forEach((e=>{r.push(e)})),r&&r.forEach((e=>{if(e.assets&&e.assets.attributes){const r=[];if(addGeoNotificationsFromAttributePredicateCondition(e.assets.attributes,r),r.length>0){const o=e.tag||t.toString();n.set(o,r)}}}))}function addGeoNotificationsFromAttributePredicateCondition(e,t){e&&(e.items.forEach((e=>{!e.value||"radial"!==e.value.predicateType&&"rect"!==e.value.predicateType||t.push({predicate:e.value})})),e.groups&&e.groups.forEach((e=>addGeoNotificationsFromAttributePredicateCondition(e,t))))}function addPushNotificationsFromRuleAction(e,t){if(e&&"notification"===e.action&&e.notification&&e.notification.message&&"push"===e.notification.message.type){const n=e.target;if(n&&n.conditionAssets){const r=t.get(n.conditionAssets);r&&r.forEach((t=>{t.notification=e.notification.message}))}else for(const n of t.values())n.forEach((t=>{t.notification=e.notification.message}))}}const TIME_DURATION_REGEXP=/([+-])?((\d+)[Dd])?\s*((\d+)[Hh])?\s*((\d+)[Mm]$)?\s*((\d+)[Ss])?\s*((\d+)([Mm][Ss]$))?\s*((\d+)[Ww])?\s*((\d+)[Mm][Nn])?\s*((\d+)[Yy])?/;export function isTimeDuration(e){return!!e&&(e=e.trim()).length>0&&(TIME_DURATION_REGEXP.test(e)||isTimeDurationPositiveInfinity(e)||isTimeDurationNegativeInfinity(e))}export function isTimeDurationPositiveInfinity(e){return"*"===(e=null!=e?e.trim():void 0)||"+*"===e}export function isTimeDurationNegativeInfinity(e){return"-*"===(null!=e?e.trim():void 0)}export function isObject(e){return!!e&&"object"==typeof e}export function isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)}export function objectsEqual(e,t,n=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function)return e===t;if(e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length)return!1;if(e instanceof Date)return!1;if(!(e instanceof Object))return!1;if(!(t instanceof Object))return!1;if(n){const n=Object.keys(e);return Object.keys(t).every((e=>-1!==n.indexOf(e)))&&n.every((n=>objectsEqual(e[n],t[n])))}return!1}export function difference(e,t){const n=(e,t)=>transform(e,(function(e,r,o){objectsEqual(r,null==t?void 0:t[o])||(e[o]=isObject(r)&&isObject(null==t?void 0:t[o])?n(r,null==t?void 0:t[o]):r)}));return n(e,t)}export function arrayRemove(e,t){if(0===e.length)return;const n=e.indexOf(t);n>=0&&e.splice(n,1)}export function sentenceCaseToCamelCase(e){return null==e?"":e.split(" ").map(((e,t)=>0===t?e[0].toLowerCase()+e.substring(1):e[0].toUpperCase()+e.substring(1))).join("")}export function camelCaseToSentenceCase(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map(((e,n,r)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){const t=!r[n-1]||"_"===r[n-1],o=n+1<r.length&&r[n+1]&&"_"!==r[n+1],i=n+3>r.length||!r[n+1]&&!r[n+3];t&&!o||(e=" "+e),(o||!t&&!i)&&(e=e.toLowerCase())}return e})).join("").trim()}export function stringMatch(e,t){if(t===e)return!0;const n=e.endsWith("*"),r=!n&&e.startsWith("*"),o=!n&&!r&&e.startsWith("^")&&e.endsWith("$");if(n&&t.startsWith(e.substr(0,e.length-1)))return!0;if(r&&t.endsWith(e.substr(1)))return!0;if(o)try{return new RegExp(e).test(t)}catch(e){console.error("Failed to compile needle as a RegExp: "+e)}return!1}export function capitaliseFirstLetter(e){if(e)return 1===e.length?e.toUpperCase():e.charAt(0).toUpperCase()+e.slice(1)}export function enumContains(e,t){return e&&Object.values(e).includes(t)}export function getEnumKeyAsString(e,t){return Object.keys(e).find((n=>e[n]===t))}export function getWeekNumber(e){(e=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))).setUTCDate(e.getUTCDate()+4-(e.getUTCDay()||7));const t=new Date(Date.UTC(e.getUTCFullYear(),0,1));return Math.ceil(((e.getTime()-t.getTime())/864e5+1)/7)}const monthNames=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];export function formatCronString(e,t,n,r,o,i,a){let s="";if(i?Array.isArray(i)?s+=i.toString().replace(" ",""):s+=i.toString():s+="0",s+=" ",o?Array.isArray(o)?s+=o.toString().replace(" ",""):s+=o.toString():s+="0",s+=" ",r?Array.isArray(r)?s+=r.toString().replace(" ",""):s+=r.toString():s+="0",s+=" ",n?Array.isArray(n)?s+=n.toString().replace(" ",""):s+=n.toString():s+="*",s+=" ",t)if(Array.isArray(t))if("number"==typeof t[0]){const e=[];t.forEach((t=>{e.push(monthNames[t].toString())})),s+=e.toString().replace(" ","")}else s+=t.toString().replace(" ","");else s+=t.toString();else s+="*";return s+=" ",s+=a?a.toString():"?",s+=" ",e?Array.isArray(e)?s+=e.toString().replace(" ",""):s+=e:s+="*",s}export function dateToCronString(e){return formatCronString(e.getFullYear(),monthNames[e.getMonth()],[e.getDate()],[e.getHours()],[e.getMinutes()])}export function cronStringToISOString(e,t){const n=e.split(" ");if(!(Number.isNaN(Number(n[0]))||Number.isNaN(Number(n[1]))||Number.isNaN(Number(n[2]))||Number.isNaN(Number(n[3]))&&"*"!=n[3])){const e=(Number.isNaN(Number(n[6]))?(new Date).getFullYear():n[6]).toString();let r="";r="*"!=n[4]?monthNames.indexOf(n[4]).toString():(new Date).getMonth().toString(),r=1==r.length?"0"+r:r;const o=1==n[3].length&&"*"!=n[3]?"0"+n[3]:n[3].replace("*","01"),i=1==n[2].length&&"*"!=n[2]?"0"+n[2]:n[2].replace("*","00"),a=1==n[1].length&&"*"!=n[1]?"0"+n[1]:n[1].replace("*","00"),s=1==n[0].length&&"*"!=n[0]?"0"+n[0]:n[0].replace("*","00");if(e.length>0&&r.length>0)return t?moment.utc({year:Number(e),month:Number(r),date:Number(o),hour:Number(i),minute:Number(a),second:Number(s)}).toISOString():moment({year:Number(e),month:Number(r),date:Number(o),hour:Number(i),minute:Number(a),second:Number(s)}).toISOString()}}export function getMetaValue(e,t,n){const r="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(r)?t.meta[r]:n&&n.meta?n.meta[r]:void 0}export function hasMetaItem(e,t,n){const r="string"==typeof e?e:e.name;return!!(t&&t.meta&&t.meta.hasOwnProperty(r))||!!(n&&n.meta&&n.meta.hasOwnProperty(r))}export function getAssetTypeLabel(e){return"string"==typeof e&&(e=AssetModelUtil.getAssetDescriptor(e)),e?i18next.t("label.asset."+e.name,{defaultValue:camelCaseToSentenceCase(e.name)}):""}export function getValueDescriptorLabel(e){if(!e)return i18next.t("label.value.unknown",{defaultValue:"Unknown"});const t="string"==typeof e?e:e.name;return i18next.t("label.value."+t,{defaultValue:camelCaseToSentenceCase(t||"")})}export function getAllowedValueLabel(e,t){if(e)return i18next.t("label.allowedValue."+e,{defaultValue:t||camelCaseToSentenceCase(e||""),nsSeparator:!1})}export function getMetaItemNameValueHolder(e,t){const n="string"==typeof e?AssetModelUtil.getMetaItemDescriptor(e):e;return n?{name:n.name,type:n.type,value:t}:{name:typeof e,type:AssetModelUtil.resolveValueTypeFromValue(t),value:t}}export function getAttributeLabel(e,t,n,r,o){return getValueHolderLabel(e,t,n,r,!0,o)}export function getMetaLabel(e,t,n,r,o){return getValueHolderLabel(e||getMetaItemNameValueHolder(t,null),t,n,r,!1,o)}function getValueHolderLabel(e,t,n,r,o,i){let a=doStandardTranslationLookup("label",e,t,n,o),s="";if(a||(a=getMetaValue("label",e,t&&t.meta?t:void 0)),r&&(s=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,n,o))),!a){const n=e?e.name:t?"string"==typeof t?t:t.name:void 0;a=i||(n?camelCaseToSentenceCase(n):void 0)}return a?a+(s?" ("+s+")":""):s}export function getAttributeValueAsString(e,t,n,r,o){return getValueHolderValueAsString(e,t,n,r,!0,o)}export function getMetaValueAsString(e,t,n,r,o){return getValueHolderValueAsString(e||getMetaItemNameValueHolder(t,null),t,n,r,!1,o)}function getValueHolderValueAsString(e,t,n,r,o,i){let a=getValueAsString(e?e.value:void 0,(()=>getValueFormatConstraintOrUnits("format",e,t,n,o)),void 0,i);const s=getAttributeUnits(e,t,n);return r&&s&&s.length&&(a=resolveUnits(getValueFormatConstraintOrUnits("units",e,t,n,o),a)),a}export function getValueAsString(e,t,n,r){let o="";if(null==e)o=r||"";else if("string"==typeof e)o=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){const r=t&&t();if(r&&0!==Object.keys(r).length)switch("number"==typeof e?r.asBoolean?e=!!e:r.asDate&&(e=new Date(e)):"boolean"==typeof e&&r.asNumber&&(e=e?1:0),typeof e){case"number":o=new Intl.NumberFormat(n||i18next.language,r).format(e);break;case"boolean":r.asOnOff&&(o=e?i18next.t("on"):i18next.t("off")),r.asOpenClosed&&(o=e?i18next.t("open"):i18next.t("closed")),r.asPressedReleased&&(o=e?i18next.t("pressed"):i18next.t("released"));break;case"object":if(r.momentJsFormat)o=moment(e).format(r.momentJsFormat);else if(r.iso8601)o=e.toISOString();else if(r.week){const t=getWeekNumber(e);o="2-digit"===r.week?String(t).padStart(2,"0"):Number(t).toString(10)}else o=new Intl.DateTimeFormat(n||i18next.language,r).format(e)}else o=Object(e).toString()}return o}export function resolveUnits(e,t){if(!e)return"";t||(t="");const n=e.map(((e,n)=>{if(3!==e.length||e.toUpperCase()!==e)return i18next.t(["units."+e,"or:units."+e]);{const r=new Intl.NumberFormat(i18next.language,{currency:e,style:"currency"}).formatToParts();if(0!==n||"currency"!==r[0].type)return"currency"===r[0].type?r[0].value:r[r.length-1].value;if(!t)return r[0].value;t=r[0].value+t}})).join("");return t.length>0?t+" "+n:n}export function getAttributeValueConstraints(e,t,n){return getValueFormatConstraintOrUnits("constraints",e,t,n,!0)}export function getMetaValueConstraints(e,t,n){return getValueFormatConstraintOrUnits("constraints",e||getMetaItemNameValueHolder(t,null),t,n,!1)}export function getAttributeUnits(e,t,n){return getValueFormatConstraintOrUnits("units",e,t,n,!0)}export function getMetaUnits(e,t,n){return getValueFormatConstraintOrUnits("units",e||getMetaItemNameValueHolder(t,null),t,n,!1)}export function getAttributeValueFormat(e,t,n){return getValueFormatConstraintOrUnits("format",e,t,n,!0)}export function getMetaValueFormat(e,t,n){return getValueFormatConstraintOrUnits("format",e||getMetaItemNameValueHolder(t,null),t,n,!1)}export function mergeObjects(e,t,n){if(e&&!t)return Object.assign({},e);if(t&&!e)return Object.assign({},t);const r=Object.assign({},e),o=[];return Object.entries(t).forEach((([e,t])=>{mergeObjectKey(r,o,e,t,n)})),r}function mergeObjectKey(e,t,n,r,o){let i=e;t.forEach((e=>{i.hasOwnProperty(e)||(i[e]={}),i=i[e]})),i&&(i.hasOwnProperty(n)?null==r?delete i[n]:Array.isArray(i[n])?i[n]=o?[...i[n],...r]:[...r]:i[n]="object"==typeof r?mergeObjects(Object.assign({},i[n]),r,o):r:null==r?delete i[n]:Array.isArray(r)?i[n]=[...r]:i[n]="object"==typeof r?Object.assign({},r):r)}function getValueFormatConstraintOrUnits(e,t,n,r,o){let i;const a=[],s=doStandardTranslationLookup(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,r,o);if(s&&(i=JSON.parse(s),i)){if("format"!==e)return i;a.push(i)}if(t&&t.meta&&(i=getMetaValue(e,t,n),i)){if("format"!==e)return i;a.push(i)}if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(i=n[e],"format"!==e)return i;a.push(i)}if(n&&n.type){if(i=AssetModelUtil.getValueDescriptor(n.type)[e],"format"!==e)return i;a.push(i)}if("format"!==e||0===a.length)return i;let u={};return a.reverse().forEach((e=>{u=Object.assign(Object.assign({},u),e)})),u}function doStandardTranslationLookup(e,t,n,r,o,i){let a;if(t?a="string"==typeof t?t:t.name:n&&(a="string"==typeof n?n:n.name),!a)return;const s=[],u=e+"."+(o?"attribute":"meta")+".";return r&&s.push(u+r+"."+a),n&&"string"!=typeof n&&(s.push(u+n.type+"."+a),s.push(u+n.type)),s.push(u+a),s.length>0?i18next.t(s,{defaultValue:i||""}):void 0}export function updateAsset(e,t){const n=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[n];else{const r=e.attributes[n];r&&(r.value=t.value,r.timestamp=t.timestamp)}return Object.assign({},e)}export function loadJs(e){return new Promise(((t,n)=>{const r=document.createElement("script");r.type="text/javascript",r.src=e,r.addEventListener("load",(e=>t(e)),!1),r.addEventListener("error",(e=>n(e)),!1),document.body.appendChild(r)}))}export function sortByNumber(e){return(t,n)=>{const r=e(t),o=e(n);return r||o?r&&!o?1:!r&&o?-1:r-o:0}}export function sortByString(e){return(t,n)=>{const r=e(t),o=e(n);return r||o?r&&!o?1:!r&&o?-1:r.localeCompare(o):0}}export function dispatchCancellableEvent(e,t){const n=new Deferred;return e.dispatchEvent(t),window.setTimeout((()=>{n.resolve(t.detail)})),n.promise}const keys={37:1,38:1,39:1,40:1};function preventDefault(e){e.preventDefault()}function preventDefaultForScrollKeys(e){if(keys[e.keyCode])return preventDefault(e),!1}let supportsPassive=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{supportsPassive=!0}}))}catch(e){}const wheelOpt=!!supportsPassive&&{passive:!1},wheelEvent="onwheel"in document.createElement("div")?"wheel":"mousewheel";export function disableScroll(){window.addEventListener("DOMMouseScroll",preventDefault,!1),window.addEventListener(wheelEvent,preventDefault,wheelOpt),window.addEventListener("touchmove",preventDefault,wheelOpt),window.addEventListener("keydown",preventDefaultForScrollKeys,!1)}export function enableScroll(){window.removeEventListener("DOMMouseScroll",preventDefault,!1),window.removeEventListener(wheelEvent,preventDefault,wheelOpt),window.removeEventListener("touchmove",preventDefault,wheelOpt),window.removeEventListener("keydown",preventDefaultForScrollKeys,!1)}export function blobToBase64(e){return new Promise(((t,n)=>{const r=new FileReader;r.readAsDataURL(e),r.onload=()=>{t(r.result)},r.onerror=e=>{n(e)}}))}
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openremote/core",
3
- "version": "1.4.0-snapshot.20250409133306",
3
+ "version": "1.4.0-snapshot.20250410145009",
4
4
  "description": "OpenRemote 3.x Core",
5
5
  "main": "dist/umd/index.bundle.js",
6
6
  "module": "lib/index.js",
@@ -20,8 +20,8 @@
20
20
  "author": "OpenRemote",
21
21
  "license": "AGPL-3.0-or-later",
22
22
  "dependencies": {
23
- "@openremote/or-icon": "1.4.0-snapshot.20250409133306",
24
- "@openremote/rest": "1.4.0-snapshot.20250409133306",
23
+ "@openremote/or-icon": "1.4.0-snapshot.20250410145009",
24
+ "@openremote/rest": "1.4.0-snapshot.20250410145009",
25
25
  "i18next": "^21.5.3",
26
26
  "i18next-http-backend": "^1.3.1",
27
27
  "keycloak-js": "^25.0.1",
@@ -31,7 +31,7 @@
31
31
  "url-search-params-polyfill": "^8.1.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@openremote/util": "1.4.0-snapshot.20250409133306",
34
+ "@openremote/util": "1.4.0-snapshot.20250410145009",
35
35
  "@types/qs": "^6.9.7",
36
36
  "xmldom": "^0.6.0",
37
37
  "xpath": "^0.0.32"