@openfin/workspace-platform 5.3.0 → 5.3.1

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.
@@ -0,0 +1,62 @@
1
+ /// <reference types="openfin-adapter/fin" />
2
+ import type { ThemePaletteSet } from '@openfin/ui-library';
3
+ export interface ComputedThemes extends Array<ComputedTheme> {
4
+ }
5
+ export interface ComputedTheme {
6
+ label: string;
7
+ logoUrl?: string;
8
+ theme: ThemePaletteSet;
9
+ }
10
+ export interface CustomThemes extends Array<CustomThemeOptions> {
11
+ }
12
+ export interface CustomThemeOptions {
13
+ label: string;
14
+ logoUrl?: string;
15
+ palette: CustomPaletteSet;
16
+ }
17
+ export interface DefaultPaletteSet {
18
+ brandPrimary: string;
19
+ brandSecondary: string;
20
+ backgroundPrimary: string;
21
+ }
22
+ export interface CustomPaletteSet extends DefaultPaletteSet {
23
+ functional1?: string;
24
+ functional2?: string;
25
+ functional3?: string;
26
+ functional4?: string;
27
+ functional5?: string;
28
+ functional6?: string;
29
+ functional7?: string;
30
+ functional8?: string;
31
+ functional9?: string;
32
+ functional10?: string;
33
+ statusSuccess?: string;
34
+ statusWarning?: string;
35
+ statusCritical?: string;
36
+ statusActive?: string;
37
+ inputBackground?: string;
38
+ inputColor?: string;
39
+ inputPlaceholder?: string;
40
+ inputDisabled?: string;
41
+ inputFocused?: string;
42
+ textDefault?: string;
43
+ textHelp?: string;
44
+ textInactive?: string;
45
+ background1?: string;
46
+ background2?: string;
47
+ background3?: string;
48
+ background4?: string;
49
+ background5?: string;
50
+ background6?: string;
51
+ }
52
+ /**
53
+ * computeThemes()
54
+ * Accepts the array of registered CustomThemes objects
55
+ * Creates a light and dark palette from a tempalte overriding with custom options
56
+ * Uses createTheme to build theme object
57
+ * Creates a ThemePaletteSet
58
+ * @param customPalettes
59
+ * @returns theme object ready to be applied to the UI
60
+ */
61
+ export declare const computeThemes: (customPalettes: CustomThemes) => ComputedThemes;
62
+ export declare const getComputedPlatformTheme: (platformIdentity: OpenFin.Identity) => Promise<ComputedTheme>;
@@ -0,0 +1,57 @@
1
+ import { CustomPaletteSet } from '../../../common/src/api/theming';
2
+ /**
3
+ * Get hue from a CSS color
4
+ *
5
+ * The getHue function is used manage extracting hue from 3 types of css
6
+ * string input types. An object including hue, hsl, hsla, lightness and
7
+ * saturation are returned.
8
+ *
9
+ * Each function was copied css tricks and modified to fit this platform.
10
+ * Links above each function for technical details.
11
+ *
12
+ * Allowed formats:
13
+ * RGB with or with out the alpha rgb(x,x,x) or rgba(x,x,x,x)
14
+ * HEX 3 or 6 characters, plus hashtag #333 or #333333
15
+ * HSL with or with out the alhpa hsl(x,x%,x%) or hsla(x,x%,x%,x)
16
+ *
17
+ * The hue value is used later to build an array of background colors in the
18
+ * theme that are various shades of the hue returned from this function.
19
+ *
20
+ * An invalid format should error telling the integrator how to fix the error.
21
+ * - Error for missing required options
22
+ * - Error for invalid css strings that are unable to be processed
23
+ *
24
+ * @param colorInput string - Supported formats rgb/RGB/rgba/RGBA, #000/#000000, hsl/HSL/hsla/HSLA
25
+ * @returns hue as string
26
+ */
27
+ export declare const getHue: (colorInput: string) => string;
28
+ export declare const makeBackgroundLayers: (hue: string) => {
29
+ light: {
30
+ background1: string;
31
+ background2: string;
32
+ background3: string;
33
+ background4: string;
34
+ background5: string;
35
+ background6: string;
36
+ };
37
+ dark: {
38
+ background1: string;
39
+ background2: string;
40
+ background3: string;
41
+ background4: string;
42
+ background5: string;
43
+ background6: string;
44
+ };
45
+ };
46
+ /**
47
+ * makePalette() - generic - doesn't care about scheme
48
+ *
49
+ * Accepts a default palette object, and a custom palette object.
50
+ * The default object gets overrides from customPalette and returns a new palette object.
51
+ * @param defaultPalette
52
+ * @param customPalette
53
+ * @returns { light: newPalette, dark: newPalette }
54
+ *
55
+ * TODO: DefaultPaletteSet isn't working, need to redo.
56
+ */
57
+ export declare const makePalette: (defaultPalette: any, customPalette: CustomPaletteSet) => CustomPaletteSet;
@@ -143,4 +143,5 @@ export declare const isWindowRunning: (identity: WindowIdentity) => Promise<bool
143
143
  export declare const isStorefrontWindowRunning: () => Promise<boolean>;
144
144
  export declare const isHomeWindowRunning: () => Promise<boolean>;
145
145
  export declare const showAndFocusStorefront: () => Promise<void>;
146
+ export declare const centerWindowIfOffScreen: (windowIdentity?: WindowIdentity) => Promise<void>;
146
147
  export {};
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{var e={485:function(e){var t;t=function(){var e=JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial"}'),t=JSON.parse('{"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"}}');function n(n,a){if("string"!=typeof n)throw new Error("slugify: string argument expected");var o=t[(a="string"==typeof a?{replacement:a}:a||{}).locale]||{},i=void 0===a.replacement?"-":a.replacement,r=n.normalize().split("").reduce((function(t,n){return t+(o[n]||e[n]||(n===i?" ":n)).replace(a.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")}),"");return a.strict&&(r=r.replace(/[^A-Za-z0-9\s]/g,"")),r=r.trim().replace(/\s+/g,i),a.lower&&(r=r.toLowerCase()),r}return n.extend=function(t){Object.assign(e,t)},n},e.exports=t(),e.exports.default=t()}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var i=t[a]={exports:{}};return e[a].call(i.exports,i,i.exports,n),i.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{"use strict";n.r(a),n.d(a,{AppManifestType:()=>wn,getCurrentSync:()=>Hn,init:()=>Nn,wrapSync:()=>Vn});var e={};n.r(e),n.d(e,{subscribe:()=>Ft});var t,o,i={};n.r(i),n.d(i,{create:()=>dn}),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(o||(o={}));const r="undefined"!=typeof window&&"undefined"!=typeof fin,s=("undefined"==typeof process||null===(t=process.env)||void 0===t||t.JEST_WORKER_ID,"undefined"!=typeof window),c=s&&"undefined"!=typeof indexedDB,d=s?window.origin:o.Local,u=r&&fin.me.uuid,l=r&&fin.me.name,p=r&&fin.me.entityType,g="undefined"!=typeof ENV?ENV:o.Local,f=(o.Local,o.Dev,o.Staging,o.Prod,e=>e.startsWith("http://")||e.startsWith("https://")?e:d+e),w=("undefined"!=typeof WORKSPACE_APPS_URL&&f(WORKSPACE_APPS_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_FOOTER_URL&&f(WORKSPACE_STOREFRONT_FOOTER_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_LANDING_PAGE_URL&&f(WORKSPACE_STOREFRONT_LANDING_PAGE_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_NAVIGATION_URL&&f(WORKSPACE_STOREFRONT_NAVIGATION_URL),"undefined"!=typeof WORKSPACE_SHARE_URL&&f(WORKSPACE_SHARE_URL),f("https://cdn.openfin.co/workspace/staging"),f("https://cdn.openfin.co/workspace/staging"));var h,y;(y=h||(h={})).LaunchApp="launchApp",y.SavePage="savePage",y.GetSavedPage="getSavedPage",y.CreateSavedPage="createSavedPage",y.UpdateSavedPage="updateSavedPage",y.DeleteSavedPage="deleteSavedPage",y.GetSavedPages="getSavedPages",y.CreateSavedPageInternal="createSavedPageInternal",y.UpdateSavedPageInternal="updateSavedPageInternal",y.DeleteSavedPageInternal="deleteSavedPageInternal",y.SharePage="sharePage",y.LaunchPage="launchPage",y.UpdatePageForWindow="updatePageForWindow",y.AttachPagesToWindow="attachPagesToWindow",y.DetachPagesFromWindow="detachPagesFromWindow",y.ReorderPagesForWindow="reorderPagesForWindow",y.SetActivePageForWindow="setActivePageForWindow",y.GetOpenPages="getOpenPages",y.GetActivePageIdForWindow="getActivePageIdForWindow",y.GetPagesForWindow="getPagesForWindow",y.GetPageForWindow="getPageForWindow",y.GetSavedPageMetadata="getSavedPageMetadata",y.GetUniquePageTitle="getUniquePageTitle",y.GetLastFocusedBrowserWindow="getLastFocusedBrowserWindow";const v=async e=>{const t=fin.Platform.wrapSync(e),n=await t.getClient(),a="Target is not a Workspace Platform. Target must call WorkspacePlatform.init";try{if(!0===await n.dispatch("isWorkspacePlatform"))return n;throw new Error(a)}catch(e){throw new Error(a)}},m=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await v(e)).dispatch(h.GetPagesForWindow,e),getPage:async t=>(await v(e)).dispatch(h.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const n=await v(e);(null==t?void 0:t.title)||(t.title=await n.dispatch(h.GetUniquePageTitle,void 0));const a=(await n.dispatch(h.GetOpenPages,void 0)).find((e=>e.pageId===t.pageId||e.title===t.title));if(a)throw a.pageId===t.pageId?new Error(`page with id ${t.pageId} is already attached to a browser window ${a.parentIdentity.name}`):new Error(`page with title ${t.title} is already attached to a browser window ${a.parentIdentity.name}`);const o={identity:e,pages:[t]};return n.dispatch(h.AttachPagesToWindow,o)},removePage:async t=>(await v(e)).dispatch(h.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await v(e)).dispatch(h.SetActivePageForWindow,{identity:e,pageId:t}),updatePage:async t=>{const n=await v(e);return t.identity=e,n.dispatch(h.UpdatePageForWindow,t)},reorderPages:async t=>{const n=await v(e);return t.identity=e,n.dispatch(h.ReorderPagesForWindow,t)}}),P=e=>{const t=fin.Platform.wrapSync(e),n=async()=>(await t.getClient()).dispatch(h.GetOpenPages,void 0);return{wrapSync:e=>m(e),createWindow:async e=>{const n=await t.createWindow(e);return m(n.identity)},getOpenPages:n,getAllWindows:async()=>(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>m(e.identity))),launchPage:async e=>{const a=await t.getClient();await a.dispatch(h.LaunchPage,{page:e,attachToExistingWindow:!0});const o=(await n()).find((t=>t.pageId===e.pageId));return m(o.parentIdentity)},getUniquePageTitle:async t=>(await v(e)).dispatch(h.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await v(e)).dispatch(h.GetLastFocusedBrowserWindow,void 0)}},S=e=>({createPage:async t=>(await v(e)).dispatch(h.CreateSavedPageInternal,t),deletePage:async t=>(await v(e)).dispatch(h.DeleteSavedPageInternal,t),updatePage:async t=>(await v(e)).dispatch(h.UpdateSavedPageInternal,t),getPage:async t=>(await v(e)).dispatch(h.GetSavedPage,t),getPages:async t=>(await v(e)).dispatch(h.GetSavedPages,t),savePage:async t=>(await v(e)).dispatch(h.SavePage,t)});var I,b,W;!function(e){e.Workspace="openfin-browser"}(I||(I={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(b||(b={})),function(e){e.FinProtocol="fin-protocol"}(W||(W={}));const R={uuid:u,name:u},O=(I.Workspace,I.Workspace,e=>{if(!r)throw new Error("getApplication cannot be used in a non OpenFin env. Avoid using this during pre-rendering.");return fin.Application.wrapSync(e)});var A,E,C;function F(e){if(!r)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(A||(A={})),(C=E||(E={})).Shown="shown",C.BoundsChanged="bounds-changed",C.LayoutReady="layout-ready",C.EndUserBoundsChanging="end-user-bounds-changing",C.Blurred="blurred",C.CloseRequested="close-requested",C.Focused="focused",C.ShowRequested="show-requested",C.ViewCrashed="view-crashed",C.ViewAttached="view-attached",C.ViewDetached="view-detached",C.ViewPageTitleUpdated="view-page-title-updated",C.ViewDestroyed="view-destroyed";const k={name:l,uuid:u};function T(){return F(k)}A.Home,I.Workspace,A.Dock,I.Workspace,A.Storefront,I.Workspace,I.Workspace,I.Workspace;const L=e=>e.startsWith(A.BrowserWindow);async function U(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>L(e.identity.name)))}var $,D;(D=$||($={})).LastLaunchedWorkspaceId="activeWorkspaceId",D.LastFocusedBrowserWindow="lastFocusedBrowserWindow",D.MachineName="machineName",D.NewTabPageLayout="NewTabPageLayout",D.NewTabPageSort="NewTabPageSort";const B=$,M={trace:!0,debug:"undefined"!=typeof LOG_DEBUG&&LOG_DEBUG,info:!1,warn:!0,error:!0,fatal:!0};function G(e,t){const n=void 0===t?M:{...M,...t},a=e?`${e} : `:"";return{trace:n.trace?(e,...t)=>{console.trace(`%c${a}${e}`,"color:#7795f7",...t)}:(e,...t)=>{},debug:n.debug?(e,...t)=>{console.info(`%c${a}${e}`,"color:#86db94",...t)}:(e,...t)=>{},info:n.info?(e,...t)=>{console.debug(`%c${a}${e}`,"color:#ffffff",...t)}:(e,...t)=>{},warn:n.warn?(e,...t)=>{console.warn(`%c${a}${e}`,"color:#edad68",...t)}:(e,...t)=>{},error:n.error?(e,t,...n)=>{console.error(`%c${a}${e}`,"color:#f55d67",...n,t)}:(e,t,...n)=>{},fatal:n.fatal?(e,t,...n)=>{console.error(`%c${a}${e}`,"color:#f70723",...n,t)}:(e,t,...n)=>{}}}const _=G("api.platform-window-focus");async function x(){if("undefined"!=typeof localStorage)try{const e=localStorage.getItem(B.LastFocusedBrowserWindow),t=JSON.parse(e);if(await(e=>F(e).getOptions().then((()=>!0)).catch((()=>!1)))(t))return t}catch(e){_.error("failed to get last focused browser window: ",e)}}function N(e=fin.me.identity){L(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(B.LastFocusedBrowserWindow,t)}catch(e){_.error("failed to save last focused browser window: ",e)}}(e)}var V;G("utils.layout"),function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(V||(V={}));const H=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const n=H(e.content);t.push(...n)})),t};new Map;const q=G("utils.channels"),j=s&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function z(e){let t;return()=>{if(!r)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(q.debug(`connecting to channel provider ${e}`),t=(async()=>{await j;const n=await fin.InterApplicationBus.Channel.connect(e);return n.onDisconnection((async()=>{q.warn(`disconnected from channel provider ${e}`),t=void 0})),n})().then((t=>(q.debug(`connected to channel provider ${e}`),t))).catch((t=>{q.error(`failed to connect to channel provider ${e}`,t)}))),t}}var Y,K;!function(e){e.GetPages="get-pages",e.GetActivePageForWindow="get-active-page-for-window",e.AttachPagesToWindow="attach-pages-to-window",e.DetachPagesFromWindow="detach-pages-from-window",e.SetActivePageForWindow="set-active-page-for-window",e.RenamePage="rename-page",e.ReorderPagesForWindow="reorder-pages-for-window",e.UpdatePageForWindow="update-page-for-window",e.UpdatePagesWindowOptions="update-pages-window-options",e.IsDetachingPages="is-detaching-pages",e.IsActivePageChanging="is-active-page-changing"}(Y||(Y={})),function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(K||(K={}));const J=new Map,Z=e=>{const t=(e=>`__running_pages__-${e.uuid}-${e.name}`)(e);return J.has(t)||J.set(t,z(t)),J.get(t)()},X=(new Map,async e=>{const t=await Z(e);return await t.dispatch(Y.GetPages)}),Q=async e=>(await Z(e.identity)).dispatch(Y.UpdatePageForWindow,e),ee=async()=>{const e=await U();return(await Promise.all(e.map((async({identity:e})=>X(e))))).reduce(((e,t)=>e.concat(t)),[])},te=async()=>(await v(k)).dispatch(h.GetSavedPages,void 0),ne=async e=>(await v(k)).dispatch(h.GetSavedPage,e),ae=async(e,t)=>{const n=await(async e=>(await ee()).find((t=>t.pageId===e)))(e);return!n||n.title===t.title&&e===t.pageId||await Q({identity:n.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),n},oe=async({page:e})=>{await ae(e.pageId,e),await(async e=>(await v(k)).dispatch(h.CreateSavedPage,e))({page:e})},ie=async e=>{await ne(e)&&await(async e=>(await v(k)).dispatch(h.DeleteSavedPage,e))(e)},re=async({pageId:e,page:t})=>(await ae(e,t),await(async e=>(await v(k)).dispatch(h.UpdateSavedPage,e))({pageId:e,page:t})),se=async e=>await ne(e.pageId)?re({pageId:e.pageId,page:e}):oe({page:e}),ce=async e=>{await(async e=>(await Z(e.identity)).dispatch(Y.AttachPagesToWindow,e))(e)},de=async e=>{await Q(e)},ue=async e=>{await(async e=>(await Z(e.identity)).dispatch(Y.DetachPagesFromWindow,e))(e)},le=async e=>{await(async e=>(await Z(e.identity)).dispatch(Y.SetActivePageForWindow,e))(e)},pe=e=>X(e),ge=async({identity:e,pageId:t})=>(await pe(e)).find((e=>e.pageId===t)),fe=async e=>{await(async e=>(await Z(e.identity)).dispatch(Y.ReorderPagesForWindow,e))(e)},we=(e,t)=>!t.find((t=>t===e)),he=(e,t)=>`${e} (${t})`;async function ye(e="Untitled Page"){const[t,n]=await Promise.all([te(),ee()]),a=[...t,...n].map((({title:e})=>e));if(!a.find((t=>t===e)))return e;let o=1;const i=e.replace(/ \(.+\)$/,"");for(;!we(he(i,o),a);)o+=1;return he(i,o)}const ve=G("api.cleanup"),me=new Map,Pe=e=>`${e.uuid}-${e.name}`,Se=((e,t=0)=>{let n,a,o=!1;const i=async a=>{const r=await e(...a);if(o){await new Promise((e=>setTimeout(e,t)));const e=n;return n=void 0,o=!1,i(e)}return r};return(...e)=>(a?(o=!0,n=e):a=i(e).then((e=>(a=void 0,e))),a)})((async function(){ve.debug("scheduling views to cleanup");const e=await ee(),t=new Set;e.forEach((e=>{H(e.layout.content).forEach((e=>{if(e.name){const n=Pe(e);t.add(n),ve.debug(`preserving view with id ${n}`)}}))}));const n=T();(await n.getCurrentViews()).forEach((({identity:e})=>{const n=Pe(e);if(t.has(n)||me.has(n))return;const a=setTimeout((()=>{ve.debug(`destroying view with id ${n}`),fin.View.wrapSync(e).destroy(),me.delete(n)}),5e3);ve.debug(`scheduled cleanup of view with id ${n}`),me.set(n,a)})),me.forEach(((e,n)=>{t.has(n)&&(clearTimeout(e),me.delete(n),ve.debug(`cancelled scheduled cleanup of view with id ${n}`))}))}),2500),Ie=({name:e})=>{L(e)&&Se()};function be(){return localStorage.getItem(B.MachineName)}let We,Re;async function Oe(){return We||(We=await fin.System.getMachineId()),We}async function Ae(e){var t;const n=e||await fin.Platform.getCurrentSync().getSnapshot();if(null===(t=n.snapshotDetails)||void 0===t?void 0:t.machineId)return n;const a=be();return{...n,snapshotDetails:{...e.snapshotDetails,machineId:await Oe(),machineName:a}}}function Ee(e){return new Promise(((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}function Ce(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const a=Ee(n);return(e,n)=>a.then((a=>n(a.transaction(t,e).objectStore(t))))}function Fe(){return Re||(Re=Ce("keyval-store","keyval")),Re}n(485);const ke=c&&Ce("openfin-home-pages","pages");async function Te(e){const t=await function(e,t=Fe()){return t("readonly",(t=>Ee(t.get(e))))}(e,ke);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function Le(e){const t=await function(e=Fe()){const t=[];return function(e,t){return e("readonly",(e=>(e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},Ee(e.transaction))))}(e,(e=>t.push(e.key))).then((()=>t))}(ke),n=await Promise.all(t.map((e=>Te(e.toString()))));return e?n.filter((t=>((e,t="")=>e.toLowerCase().includes(t.toLowerCase()))(t.title,e))):n}async function Ue({page:e}){await function(e,t,n=Fe()){return n("readwrite",(n=>(n.put(t,e),Ee(n.transaction))))}(e.pageId,e,ke)}async function $e(e){await function(e,t=Fe()){return t("readwrite",(t=>(t.delete(e),Ee(t.transaction))))}(e,ke)}async function De({pageId:e,page:t}){return void 0!==await Te(e)&&(await Ue({page:t}),e!==t.pageId&&await $e(e),!0)}var Be;!function(e){e[e.Initial=0]="Initial",e[e.Open=1]="Open",e[e.Close=2]="Close"}(Be||(Be={}));const Me="0",Ge="5",_e="6",xe=()=>{};function Ne(e,t){return e?`${e}-${t}`:t}function Ve(e){return`__search-${e}-topic__`}const He=new Map;function qe(e,t){He.has(e)||He.set(e,new Set),He.get(e).add(t)}function je(e,t){const n=He.get(e);n&&n.delete(t)}const ze=new Map;function Ye(e,t){ze.has(e)||ze.set(e,new Set),ze.get(e).add(t)}function Ke(e,t){const n=ze.get(e);n&&n.delete(t)}const Je=new Map;function Ze(e,t){Je.has(e)||Je.set(e,new Map),Je.get(e).set(t.id,t);const n=He.get(e);n&&n.forEach((e=>e()))}function Xe(e,t){const n=Je.get(e);if(!n)return;n.delete(t);const a=ze.get(e);a&&a.forEach((e=>e()))}function Qe(e){return Je.get(e)?[...Je.get(e).values()]:[]}function et(e){const t=Je.get(e);t&&t.clear()}function tt(e,t){const n=Je.get(e);return n?n.get(t):null}function nt(e,t,n){return{...e,action:n||e.actions[0],dispatcherIdentity:t}}function at(e,t,n="ascending"){const a=e||[];if(!(null==t?void 0:t.length))return a;const o=[],i=new Map;t.forEach((e=>{if(e.key)return i.set(e.key,e);o.push(e)}));let r=a.map((e=>{const{key:t}=e;if(t&&i.has(t)){const e=i.get(t);return i.delete(t),e}return e}));return r.push(...i.values(),...o),r="ascending"===n?r.sort(((e,t)=>(null!==e.score&&void 0!==e.score?e.score:1/0)-(null!==t.score&&void 0!==t.score?t.score:1/0))):r.sort(((e,t)=>(null!==t.score&&void 0!==t.score?t.score:1/0)-(null!==e.score&&void 0!==e.score?e.score:1/0))),r}function ot(e){const t={};let n=[],a=[],o=Be.Initial;t.getStatus=()=>o,t.getResultBuffer=()=>n,t.setResultBuffer=e=>{n=e,(null==n?void 0:n.length)&&t.onChange()},t.getRevokedBuffer=()=>a,t.setRevokedBuffer=e=>{a=e,(null==a?void 0:a.length)&&t.onChange()},t.onChange=xe;const i={};return t.res=i,i.close=()=>{o!==Be.Close&&(o=Be.Close,t.onChange())},i.open=()=>{o!==Be.Open&&(o=Be.Open,t.onChange())},i.respond=n=>{const a=at(t.getResultBuffer(),n,e);t.setResultBuffer(a)},i.revoke=(...e)=>{const n=new Set(e),a=t.getResultBuffer().filter((({key:e})=>{const t=n.has(e);return t&&n.delete(e),!t}));t.setResultBuffer(a),n.size&&(t.getRevokedBuffer().forEach((e=>n.add(e))),t.setRevokedBuffer([...n]))},t}function it(e,t,n){const a=new Set;let o=!1;return{close:()=>{o=!0;for(const e of a)e()},req:{id:t,topic:e,...n,context:(null==n?void 0:n.context)||{},onClose:e=>{a.add(e),o&&e()},removeListener:e=>{a.delete(e)}}}}function rt(){return{name:fin.me.name,uuid:fin.me.uuid}}function st(){let e;try{const t=fin.Platform.getCurrentSync();if(!(null==t?void 0:t.identity))return;e=t.identity.uuid}catch(e){}return e}const ct="deregistered or does not exist",dt=new Error(`provider ${ct}`),ut=new Error("provider with name already exists"),lt=new Error("bad payload"),pt=new Error("subscription rejected"),gt=new Error(`channel ${ct}`),ft=new Map;function wt(e){const t=ht(e);if(t)return t;throw gt}function ht(e){const t=ft.get(e);if(t)return t}function yt(e,t){ft.set(e,t)}function vt(e){console.error("OpenFin Search API: ",e)}const mt=new Map;function Pt(e){mt.has(e)||mt.set(e,new Map);const t=mt.get(e);return{getRequestsForIdentity:e=>{const n=function(e){return`${e.uuid}:${e.name}`}(e);return t.has(n)||t.set(n,new Map),t.get(n)}}}async function St(e,t){return(await wt(e)).dispatch(Me,t)}function It({namespacedTopic:e,topic:t}){const n=tt.bind(null,e),a=Pt(e),o=St.bind(null,e);return async(e,i)=>{if(!e||!e.id||!e.providerId){const e=lt;return vt(e),{error:e.message}}const{id:r,providerId:s}=e,c=n(s);if(!c){const e=dt;return vt(e),{error:e.message}}const d=a.getRequestsForIdentity(i);let u=d.get(e.id);u||(u=it(t,r,e),d.set(e.id,u));const l=ot(),p=()=>{const e=l.getResultBuffer();l.setResultBuffer([]);const t=l.getRevokedBuffer();l.setRevokedBuffer([]);const n=l.getStatus();o({id:r,providerId:s,results:e,revoked:t,status:n})};let g=!0,f=!1;l.onChange=()=>{if(g)return g=!1,void p();f||(f=!0,setTimeout((()=>{f=!1,p()}),100))};try{const{results:e,context:t}=await c.onUserInput(u.req,l.res),n=l.getStatus();return{id:r,providerId:s,status:n,results:e,context:t}}catch(e){return vt(e),{id:r,providerId:s,error:e.message}}}}async function bt(e,t,n){const a=n||await wt(e),o=rt(),i={identity:o,...t,onUserInput:void 0,onResultDispatch:void 0};await a.dispatch("2",i),Ze(e,{identity:o,...t})}async function Wt(e,t){const n=await wt(e);return await n.dispatch("3",t),Xe(e,t)}async function Rt(e,t,n,a){const o=nt(n,rt(),a),i=tt(e,t);if(i){const{onResultDispatch:e}=i;if(!e)return;return e(o)}const r={providerId:t,result:o};return(await wt(e)).dispatch(Ge,r)}async function Ot(e,t){const n={...t,context:(null==t?void 0:t.context)||{}},a={},o=async function*(e,t,{setState:n}){const a=await wt(e);for(;;){const e=await a.dispatch("1",t),o=e.error;if(o)throw new Error(o);const i=e;if(t.id=i.id,n(i.state),i.done)return i.value;yield i.value}}(e,n,{setState:e=>{a.state=e}});let i=await o.next();return a.id=n.id,a.close=()=>{!async function(e,t){(await wt(e)).dispatch(_e,{id:t})}(e,a.id)},a.next=()=>{if(i){const e=i;return i=void 0,e}return o.next()},a}async function At(e){return(await wt(e)).dispatch("4",null)}async function Et(e){const t=await wt(e);var n;n=e,ft.delete(n),et(e),await t.disconnect()}async function Ct(e){const{namespacedTopic:t}=e,n=Ve(t),a=await async function(e){for(let t=0;t<50;t++)try{return await fin.InterApplicationBus.Channel.connect(e,{wait:!1})}catch(e){if(49===t)throw e;await new Promise((e=>setTimeout(e,1e3)))}}(n);return a.register(Me,It(e)),a.register(_e,function(e){const t=Pt(e);return(e,n)=>{const a=t.getRequestsForIdentity(n),o=a.get(e.id);o&&(o.close(),a.delete(e.id))}}(t)),a.register(Ge,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void vt(lt);const a=tt(e,t.providerId);if(!a)return void vt(dt);const{onResultDispatch:o}=a;return o?(t.result.dispatcherIdentity=n,o(t.result)):void 0}}(t)),a.onDisconnection(function(e){const{namespacedTopic:t}=e,n=Pt(t);return async a=>{if(!ht(t))return;const o=n.getRequestsForIdentity(a);for(const{req:e,close:t}of o.values())t(),o.delete(e.id);yt(t,(async e=>{const{namespacedTopic:t}=e,n=await Ct(e);for(const e of Qe(t))await bt(t,e,n);return n})(e))}}(e)),a}async function Ft(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=("string"==typeof e?null:null==e?void 0:e.uuid)||st(),a=Ne(n,t),o={topic:t,namespace:n,namespacedTopic:a};let i=ht(a);return i||(i=Ct(o),yt(a,i),await i),{getAllProviders:At.bind(null,a),register:bt.bind(null,a),search:Ot.bind(null,a),deregister:Wt.bind(null,a),dispatch:Rt.bind(null,a),disconnect:Et.bind(null,a)}}const kt=new Map;function Tt(e){const t=Lt(e);if(t)return t;throw gt}function Lt(e){const t=kt.get(e);if(t)return t}const Ut=new Map;function $t(e,t){Ut.has(e)||Ut.set(e,new Set),Ut.get(e).add(t)}function Dt(e,t){const n=Ut.get(e);n&&n.delete(t)}var Bt,Mt;function Gt(e){return[...Qe(e)].map((e=>({...e,onUserInput:void 0,onResultDispatch:void 0})))}function _t(e,t){if(tt(e,t.id))throw new Error("provider with name already exists");Ze(e,{identity:rt(),...t})}function xt(e,t){Xe(e,t)}async function Nt(e,t,n,a){const o=tt(e,t);if(!o)throw dt;const{onResultDispatch:i}=o;if(i)return i(nt(n,rt(),a))}!function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(Bt||(Bt={})),function(e){e.Active="active",e.Default="default"}(Mt||(Mt={}));let Vt=0;function Ht({namespacedTopic:e,topic:t},n){Vt+=1;const a=it(t,Vt.toString(),n);let o;return o=async function*(e,t,n){const a=function(e,t){const n=[],a=[],o=[],i=[];for(const r of e){const e=ot(r.scoreOrder),s={results:[],provider:{id:r.id,identity:r.identity,title:r.title,scoreOrder:r.scoreOrder,icon:r.icon}};n.push(s),a.push(e);const c=(async()=>{try{const{results:n,context:a}=await r.onUserInput(t,e.res);s.results=at(s.results,n),s.context={...s.context,...a}}catch(e){s.error=e}c.done=!0})();i.push(c),o.push(o.length)}return{providerResponses:n,listenerResponses:a,openListenerResponses:o,initialResponsePromises:i}}(t.targets?t.targets.map((t=>tt(e,t))).filter((e=>!!e)):[...Qe(e).filter((e=>!e.hidden))],t),{providerResponses:o,listenerResponses:i}=a;let{openListenerResponses:r,initialResponsePromises:s}=a,c=Bt.Fetching;const d=e=>{c=e,n.setState(c)};let u,l=!1;t.onClose((()=>{l=!0,u&&u()}));do{let e=!1;if(s.length){const t=[];for(const n of s)n.done?e=!0:t.push(n);s=t,s.length||(d(Bt.Fetched),e=!0)}let t,n=!1;const a=()=>{n=!0,t&&t()},p=[];for(const t of r){const n=i[t],r=o[t],s=n.getStatus();(s===Be.Open||c===Bt.Fetching&&s===Be.Initial)&&(p.push(t),n.onChange=a);const d=n.getResultBuffer();d.length&&(n.setResultBuffer([]),r.results=at(r.results,d),e=!0);const u=n.getRevokedBuffer();if(u.length){n.setRevokedBuffer([]);const t=new Set(u);r.results=r.results.filter((({key:e})=>!t.has(e))),e=!0}}if(r=p,e&&(yield o),l)break;n||(r.length||s.length)&&await Promise.race([...s,new Promise((e=>{t=e})),new Promise((e=>{u=e}))])}while(r.length||s.length);return d(Bt.Complete),o}(e,a.req,{setState:e=>{o.state=e}}),o.id=Vt.toString(),o.close=a.close,o.state=Bt.Fetching,o}const qt=new Map;function jt(e,t){return`${e}:${t}`}function zt(e,t,n){return Tt(e).dispatch(t,_e,{id:n})}async function Yt(e,t,{id:n,query:a,context:o,targets:i}){const r=Tt(e),s={id:n,query:a,context:o,targets:i,providerId:t.id},c=await r.dispatch(t.identity,Me,s),d=c.error;if(d)throw new Error(d);return c}const Kt=new Map;function Jt(e,t,n){return`${e}:${t.name}:${t.uuid}:${n}`}const Zt=new Map;function Xt(e,t,n){return`${e}:${t}:${n}`}function Qt(e,t){const n=Jt.bind(null,e,t.identity),a=zt.bind(null,e,t.identity),o=Yt.bind(null,e,t);return async(i,r)=>{const s=n(i.id);if(!Kt.has(s)){const e=()=>{a(i.id),Kt.delete(s)};Kt.set(s,e),i.onClose(e)}const c=Xt(e,t.id,i.id),d=()=>{Zt.delete(c),r.close()};i.onClose(d),Zt.set(c,(e=>{var t,n;(null===(t=e.results)||void 0===t?void 0:t.length)&&r.respond(e.results),(null===(n=e.revoked)||void 0===n?void 0:n.length)&&r.revoke(...e.revoked),e.status===Be.Open&&r.open(),e.status===Be.Close&&d()}));const u=await o(i);return u.status===Be.Open&&r.open(),u.status!==Be.Close&&u.status!==Be.Initial||d(),u}}function en(e,t){return async n=>{const a=Tt(e),o={providerId:t.id,result:n};return a.dispatch(t.identity,Ge,o)}}const tn=new Map;function nn(e,t){return`${e}-${t.name}-${t.uuid}`}const an=new Map;function on(e,t){an.has(e)||an.set(e,new Set),an.get(e).add(t)}function rn(e,t){const n=an.get(e);n&&n.delete(t)}async function sn(e){const{namespacedTopic:t}=e,n=Ve(e.namespacedTopic),a=await(o=n,fin.InterApplicationBus.Channel.create(o));var o;return a.onConnection(function({namespacedTopic:e}){return async t=>{const n=Ut.get(e);if(n)for(const e of n)if(!await e(t))throw pt}}(e)),a.onDisconnection(function(e){return async t=>{!function(e,t){const n=nn(e,t),a=tn.get(n);if(a){for(const t of a)Xe(e,t);tn.delete(n)}}(e,t);const n=an.get(e);n&&n.forEach((e=>e(t)))}}(t)),a.register(_e,function(e){return t=>function(e,t){const n=jt(e,t),a=qt.get(n);a&&a.generator.close()}(e,t.id)}(t)),a.register(Me,function(e){return t=>{const n=Xt(e,t.providerId,t.id),a=Zt.get(n);a&&a(t)}}(t)),a.register("2",function(e){return(t,n)=>{if(!t||!t.id)return vt(new Error(JSON.stringify(t))),void vt(lt);if(tt(e,t.id))throw ut;t.identity=n,function(e,t){const n=nn(e,t.identity);tn.has(n)||tn.set(n,[]),tn.get(n).push(t.id),Ze(e,{...t,onUserInput:Qt(e,t),onResultDispatch:en(e,t)})}(e,t)}}(t)),a.register("3",function(e){return t=>{t?function(e,t){const n=tt(e,t);if(!n)return;const a=nn(e,n.identity),o=tn.get(a);if(o){const n=o.findIndex((e=>e===t));-1!==n&&(o.splice(n,1),Xe(e,t))}}(e,t):vt(lt)}}(t)),a.register("4",function(e){return async()=>Gt(e)}(t)),a.register("1",function(e){return async(t,...n)=>{if(!t)return vt(lt),{error:lt.message};let a;if(t.id)a=jt(e.namespacedTopic,t.id);else{const n=Ht(e,t);a=jt(e.namespacedTopic,n.id),t.id=n.id,qt.set(a,{generator:n})}const o=qt.get(a);clearTimeout(o.timeout);const i=await o.generator.next();return o.timeout=function(e){return window.setTimeout((()=>{qt.delete(e)}),1e4)}(a),{...i,id:t.id,state:o.generator.state}}}(e)),a.register(Ge,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void vt(lt);const a=tt(e,t.providerId);if(!a)throw dt;const{onResultDispatch:o}=a;return o?(t.result.dispatcherIdentity=n,o(t.result)):void 0}}(t)),a}async function cn(e){const t=Tt(e);var n;n=e,kt.delete(n),await t.destroy(),et(e)}async function dn(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=st(),a=Ne(n,t),o={topic:t,namespace:n,namespacedTopic:a};let i=Lt(a);i||(i=await sn(o),function(e,t){kt.set(e,t)}(a,i));const r=Dt.bind(null,a),s=rn.bind(null,a),c=je.bind(null,a),d=Ke.bind(null,a);return{getAllProviders:Gt.bind(null,a),search:Ht.bind(null,o),register:_t.bind(null,a),deregister:xt.bind(null,a),onSubscription:$t.bind(null,a),onDisconnect:on.bind(null,a),onRegister:qe.bind(null,a),onDeregister:Ye.bind(null,a),dispatch:Nt.bind(null,o),disconnect:cn.bind(null,a),removeListener:e=>{r(e),s(e),c(e),d(e)}}}const{create:un}=i,{subscribe:ln}=e,pn={create:un,subscribe:ln,defaultTopic:"all"},gn=()=>{const e=window;e.search=pn,e.fin&&(e.fin.Search=pn)},fn=e=>{const t=()=>{gn(),window.removeEventListener(e,t)};return t};if("undefined"!=typeof window){gn();const e="load",t=fn(e);window.addEventListener(e,t);const n="DOMContentLoaded",a=fn(n);window.addEventListener(n,a)}var wn,hn,yn,vn,mn,Pn;async function Sn({app:e,target:t}){const n=fin.Platform.getCurrentSync();switch(e.manifestType){case wn.Snapshot:return n.applySnapshot(e.manifest);case wn.View:return async function(e,t){const n=fin.Platform.getCurrentSync();if("view"===t.entityType){const n=fin.View.wrapSync(t),a=await n.getParentLayout();return await a.replaceView(t,{manifestUrl:e.manifest,url:void 0,target:void 0}),n.destroy()}return n.createView({name:void 0,url:void 0,manifestUrl:e.manifest,target:void 0})}(e,t);case wn.External:return fin.System.launchExternalProcess({path:e.manifest,uuid:e.appId});default:return fin.Application.startFromManifest(e.manifest)}}!function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(wn||(wn={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(hn||(hn={})),function(e){e.Suggestion="suggestion"}(yn||(yn={})),function(e){e.Contact="Contact",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(vn||(vn={})),function(e){e.MultiSelect="MultiSelect"}(mn||(mn={}));var In=new Uint8Array(16);function bn(){if(!Pn&&!(Pn="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Pn(In)}const Wn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Rn=function(e){return"string"==typeof e&&Wn.test(e)};for(var On=[],An=0;An<256;++An)On.push((An+256).toString(16).substr(1));const En=function(e,t,n){var a=(e=e||{}).random||(e.rng||bn)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=a[o];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(On[e[t+0]]+On[e[t+1]]+On[e[t+2]]+On[e[t+3]]+"-"+On[e[t+4]]+On[e[t+5]]+"-"+On[e[t+6]]+On[e[t+7]]+"-"+On[e[t+8]]+On[e[t+9]]+"-"+On[e[t+10]]+On[e[t+11]]+On[e[t+12]]+On[e[t+13]]+On[e[t+14]]+On[e[t+15]]).toLowerCase();if(!Rn(n))throw TypeError("Stringified UUID is invalid");return n}(a)};var Cn;!function(e){e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.GetStorefrontProviders="get-storefront-providers",e.HideStorefront="hide-storefront",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowStorefront="show-storefront",e.CreateStorefrontWindow="create-storefront-window",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces"}(Cn||(Cn={})),z("__of_workspace_protocol__");var Fn,kn;!function(e){e.HomeIndex="/home/",e.HomeSearch="/home/search/",e.HomePagesRename="/home/pages/rename/",e.Dock="/home/dock/",e.BrowserPagesLanding="/browser/pages/landing/",e.HomeIndicator="/home/indicator/",e.Browser="/browser/",e.BrowserPopupMenu="/browser/popup-menu/",e.Provider="/provider/",e.BrowserPopupMenuSharePage="/browser/popup-menu/share-page/",e.BrowserPopupMenuSavePage="/browser/popup-menu/save-page/",e.BrowserPopupMenuLayouts="/browser/popup-menu/layouts/layouts/",e.BrowserPopupMenuColorLinking="/browser/popup-menu/color-linking/color-linking/",e.BrowserIndicator="/browser/indicator/",e.ResponseModal="/browser/popup-menu/response-modal/",e.Docs="/provider/docs/",e.Storefront="/storefront/",e.DeprecatedAlert="/provider/deprecated-alert/"}(Fn||(Fn={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(kn||(kn={}));const Tn=w+{...kn,...Fn}.Browser;function Ln(e){e.detachOnClose=!0}const Un=e=>{var t,n;const a=e.name===A.Home,o=null===(t=e.name)||void 0===t?void 0:t.startsWith(A.HomeInternal),i=null===(n=e.name)||void 0===n?void 0:n.startsWith(A.BrowserMenu);return!a&&!o&&!i},$n=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...n})=>({...n,workspacePlatform:{pages:t||e||null}}))(e),Dn={contextMenuSettings:{reload:!1},url:Tn,contextMenu:!0,waitForPageLoad:!0,cornerRounding:{height:8,width:8},closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${w}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},Bn={dimensions:{borderWidth:3,headerHeight:30}},Mn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};const Gn=e=>async t=>{class n extends t{constructor(){super(...arguments),this.isWorkspacePlatform=()=>!0,this.getSavedPage=Te,this.getSavedPages=Le,this.createSavedPage=Ue,this.deleteSavedPage=$e,this.updateSavedPage=De,this.attachPagesToWindow=ce,this.addPage=ce,this.detachPagesFromWindow=ue,this.getOpenPages=ee,this.getPagesForWindow=pe,this.getPageForWindow=ge,this.setActivePageForWindow=le,this.launchApp=Sn,this.savePage=se,this.createSavedPageInternal=oe,this.updateSavedPageInternal=re,this.deleteSavedPageInternal=ie,this.reorderPagesForWindow=fe,this.getUniquePageTitle=ye,this.updatePageForWindow=de,this.getLastFocusedBrowserWindow=x}async getSnapshot(){const e=await async function(e){const t=await U();return await Promise.all(t.map((({identity:e})=>(async e=>(await Z(e)).dispatch(Y.UpdatePagesWindowOptions))(e)))),e?e():Ae()}((async()=>Ae(await super.getSnapshot(void 0,fin.me.identity))));return{...e,windows:e.windows.filter(Un)}}async applySnapshot({snapshot:e,options:t}){(null==t?void 0:t.closeExistingWindows)&&await async function(){const e=await U();await Promise.all(e.map((e=>e.close(!0).catch((()=>{})))))}();let n=e;return"string"==typeof n&&(n=await super.fetchManifest({manifestUrl:n},fin.me.identity)),async function(e,t){var n;const a=await ee(),o=(null===(n=e.snapshotDetails)||void 0===n?void 0:n.monitorInfo)||await fin.System.getMonitorInfo(),i=(e.windows||[]).filter((({layout:e})=>!!e)),r=new Map;a.forEach((e=>r.set(e.pageId,e)));const s=[],c=i.map((async e=>{var t;const n=$n(e),a=[],o=(e=>{let t=!1;const n=(e||[]).map((e=>{const n={pageId:(a=e).pageId||a.id,title:a.title||a.name,isReadOnly:a.isReadOnly,layout:a.layout,isActive:a.isActive};var a;return t&&n.isActive&&(n.isActive=!1),n.isActive&&(t=!0),n}));return!t&&n.length&&(n[0].isActive=!0),n})(null===(t=null==n?void 0:n.workspacePlatform)||void 0===t?void 0:t.pages);if(!(null==o?void 0:o.length)){const e=await ye();a.push(await(async(e,t)=>{const n=await(async e=>({...e,layoutDetails:{machineId:await Oe(),machineName:be()}}))(t);return{pageId:En(),title:e,layout:n,isReadOnly:!1,hasUnsavedChanges:!0}})(e,n.layout))}let i;o.forEach((e=>{const t=r.get(e.pageId);t?i=t:a.push(e)})),i&&await Promise.all([le({identity:i.parentIdentity,pageId:i.pageId}),Mn(i.parentIdentity)]),a.length&&s.push({...n,workspacePlatform:{...n.workspacePlatform,pages:a}})}));if(await Promise.all(c),!s.length)return;const d=fin.Platform.getCurrentSync();return(t||d.applySnapshot.bind(d))({...e,snapshotDetails:{...e.snapshotDetails,monitorInfo:o},windows:s})}(n,(e=>super.applySnapshot({snapshot:e,options:{...t,closeExistingWindows:!1}})))}async createWindow(e,t){let n=$n(e);return n=(e=>{var t;const n=null===(t=null==e?void 0:e.workspacePlatform)||void 0===t?void 0:t.pages;if(n){const t=n.find((e=>e.isActive));t?e.layout=t.layout:(n[0].isActive=!0,e.layout=n[0].layout)}if(e.layout){Object.assign(e,Dn),e.layout=Object.assign(e.layout,Bn),(e.icon||e.taskbarIcon)&&(e.taskbarIconGroup=e.taskbarIconGroup||fin.me.identity.uuid);const t=e.workspacePlatform.newTabUrl;t&&(e.layout.settings||(e.layout.settings={}),e.layout.settings.newTabButton={url:t})}return e})(n),n=await(async e=>{const t=await fin.System.getMonitorInfo(),n=t.primaryMonitor.availableRect.bottom-t.primaryMonitor.availableRect.top,a=t.primaryMonitor.availableRect.right-t.primaryMonitor.availableRect.left;return e.defaultHeight=e.defaultHeight||"800",e.defaultWidth=e.defaultWidth||"800",n<e.defaultHeight&&(e.defaultHeight=n),a<e.defaultWidth&&(e.defaultWidth=a),e})(n),super.createWindow(n,t)}async createView(e,t){return Ln(e.opts),super.createView(e,t)}async replaceView(e,t){return Ln(e.opts.newView),super.replaceView(e,t)}async replaceLayout(e,t){var n;return null===(n=e.opts.layout)||void 0===n||delete n.dimensions,super.replaceLayout(e,t)}async closeView(e,t){const n=fin.View.wrapSync(e.view);await super.closeView(e,t),await n.destroy().catch((e=>e))}}return"function"==typeof(null==e?void 0:e.overrideCallback)?e.overrideCallback(n):new n};async function _n(){(function(){const e=O(R);e.addListener(b.WindowOptionsChanged,Se),e.addListener(b.WindowClosed,Ie),e.addListener(b.WindowCreated,Ie)})(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",N)}(),g!==o.Local&&T().addListener(E.ShowRequested,(()=>async function(e){const t=F(e);await t.blur(),await t.hide()}(k)))}let xn;const Nn=async e=>{const t="23.96.67.7".split(".").map((e=>parseInt(e)));if(await(async e=>new Promise((async t=>{const n=(await fin.System.getVersion()).split(".").map((e=>parseInt(e)));t(e.every(((t,a)=>!(a<3)||n[a]===e[a])))})))(t))return function(e){if(!r)throw new Error("Cannot be used outside an OpenFin env.");return xn||(fin.Platform.getCurrentSync().once("platform-api-ready",(()=>_n())),xn=fin.Platform.init({overrideCallback:Gn(e),interopOverride:null==e?void 0:e.interopOverride})),xn}(null==e?void 0:e.browser);throw new Error(`Runtime version is not supported. ${t[0]}.${t[1]}.${t[2]}.* is required`)},Vn=e=>(e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async t=>{if("string"!=typeof t&&!(null==t?void 0:t.windows))throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t)},getSnapshot:()=>fin.Platform.wrapSync(e).getSnapshot().then((e=>e)),launchApp:async t=>(t.target||(t.target={uuid:u,name:l,entityType:p||"unknown"}),(await v(e)).dispatch(h.LaunchApp,t)),Browser:P(e),Storage:S(e)})})(e),Hn=()=>Vn(fin.me.identity)})(),module.exports=a})();
1
+ (()=>{var e={282:(e,t,n)=>{e=n.nmd(e);var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Function]",s="[object Object]",c=/^\[object .+?Constructor\]$/,u=/^(?:0|[1-9]\d*)$/,d={};d["[object Float32Array]"]=d["[object Float64Array]"]=d["[object Int8Array]"]=d["[object Int16Array]"]=d["[object Int32Array]"]=d["[object Uint8Array]"]=d["[object Uint8ClampedArray]"]=d["[object Uint16Array]"]=d["[object Uint32Array]"]=!0,d[a]=d["[object Array]"]=d["[object ArrayBuffer]"]=d["[object Boolean]"]=d["[object DataView]"]=d["[object Date]"]=d["[object Error]"]=d[i]=d["[object Map]"]=d["[object Number]"]=d[s]=d["[object RegExp]"]=d["[object Set]"]=d["[object String]"]=d["[object WeakMap]"]=!1;var l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,f=l||p||Function("return this")(),g=t&&!t.nodeType&&t,h=g&&e&&!e.nodeType&&e,w=h&&h.exports===g,y=w&&l.process,v=function(){try{return h&&h.require&&h.require("util").types||y&&y.binding&&y.binding("util")}catch(e){}}(),m=v&&v.isTypedArray;function P(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var S,b,_,I=Array.prototype,A=Function.prototype,O=Object.prototype,W=f["__core-js_shared__"],R=A.toString,E=O.hasOwnProperty,C=(S=/[^.]+$/.exec(W&&W.keys&&W.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"",T=O.toString,k=R.call(Object),F=RegExp("^"+R.call(E).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),L=w?f.Buffer:void 0,U=f.Symbol,j=f.Uint8Array,$=(L&&L.allocUnsafe,b=Object.getPrototypeOf,_=Object,function(e){return b(_(e))}),B=Object.create,D=O.propertyIsEnumerable,M=I.splice,x=U?U.toStringTag:void 0,G=function(){try{var e=se(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),N=L?L.isBuffer:void 0,z=Math.max,V=Date.now,q=se(f,"Map"),H=se(Object,"create"),Y=function(){function e(){}return function(t){if(!me(t))return{};if(B)return B(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function K(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function J(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Z(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function X(e){var t=this.__data__=new J(e);this.size=t.size}function Q(e,t,n){(void 0!==n&&!pe(e[t],n)||void 0===n&&!(t in e))&&ne(e,t,n)}function ee(e,t,n){var r=e[t];E.call(e,t)&&pe(r,n)&&(void 0!==n||t in e)||ne(e,t,n)}function te(e,t){for(var n=e.length;n--;)if(pe(e[n][0],t))return n;return-1}function ne(e,t,n){"__proto__"==t&&G?G(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}K.prototype.clear=function(){this.__data__=H?H(null):{},this.size=0},K.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},K.prototype.get=function(e){var t=this.__data__;if(H){var n=t[e];return n===r?void 0:n}return E.call(t,e)?t[e]:void 0},K.prototype.has=function(e){var t=this.__data__;return H?void 0!==t[e]:E.call(t,e)},K.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=H&&void 0===t?r:t,this},J.prototype.clear=function(){this.__data__=[],this.size=0},J.prototype.delete=function(e){var t=this.__data__,n=te(t,e);return!(n<0||(n==t.length-1?t.pop():M.call(t,n,1),--this.size,0))},J.prototype.get=function(e){var t=this.__data__,n=te(t,e);return n<0?void 0:t[n][1]},J.prototype.has=function(e){return te(this.__data__,e)>-1},J.prototype.set=function(e,t){var n=this.__data__,r=te(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Z.prototype.clear=function(){this.size=0,this.__data__={hash:new K,map:new(q||J),string:new K}},Z.prototype.delete=function(e){var t=ie(this,e).delete(e);return this.size-=t?1:0,t},Z.prototype.get=function(e){return ie(this,e).get(e)},Z.prototype.has=function(e){return ie(this,e).has(e)},Z.prototype.set=function(e,t){var n=ie(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},X.prototype.clear=function(){this.__data__=new J,this.size=0},X.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},X.prototype.get=function(e){return this.__data__.get(e)},X.prototype.has=function(e){return this.__data__.has(e)},X.prototype.set=function(e,t){var n=this.__data__;if(n instanceof J){var r=n.__data__;if(!q||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Z(r)}return n.set(e,t),this.size=n.size,this};function re(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":x&&x in Object(e)?function(e){var t=E.call(e,x),n=e[x];try{e[x]=void 0;var r=!0}catch(e){}var o=T.call(e);return r&&(t?e[x]=n:delete e[x]),o}(e):function(e){return T.call(e)}(e)}function oe(e){return Pe(e)&&re(e)==a}function ae(e,t,n,r,o){e!==t&&function(e,t,n){for(var r=-1,o=Object(e),a=n(e),i=a.length;i--;){var s=a[++r];if(!1===t(o[s],s,o))break}}(t,(function(a,i){if(o||(o=new X),me(a))!function(e,t,n,r,o,a,i){var c=de(e,n),u=de(t,n),d=i.get(u);if(d)Q(e,n,d);else{var l,p,f,g,h,w=a?a(c,u,n+"",e,t,i):void 0,y=void 0===w;if(y){var v=ge(u),m=!v&&we(u),P=!v&&!m&&Se(u);w=u,v||m||P?ge(c)?w=c:Pe(h=c)&&he(h)?w=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(c):m?(y=!1,w=function(e,t){return e.slice()}(u)):P?(y=!1,g=new(f=(l=u).buffer).constructor(f.byteLength),new j(g).set(new j(f)),p=g,w=new l.constructor(p,l.byteOffset,l.length)):w=[]:function(e){if(!Pe(e)||re(e)!=s)return!1;var t=$(e);if(null===t)return!0;var n=E.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&R.call(n)==k}(u)||fe(u)?(w=c,fe(c)?w=function(e){return function(e,t,n,r){var o=!n;n||(n={});for(var a=-1,i=t.length;++a<i;){var s=t[a],c=void 0;void 0===c&&(c=e[s]),o?ne(n,s,c):ee(n,s,c)}return n}(e,be(e))}(c):me(c)&&!ye(c)||(w=function(e){return"function"!=typeof e.constructor||ue(e)?{}:Y($(e))}(u))):y=!1}y&&(i.set(u,w),o(w,u,r,a,i),i.delete(u)),Q(e,n,w)}}(e,t,i,n,ae,r,o);else{var c=r?r(de(e,i),a,i+"",e,t,o):void 0;void 0===c&&(c=a),Q(e,i,c)}}),be)}function ie(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function se(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!me(e)||function(e){return!!C&&C in e}(e))&&(ye(e)?F:c).test(function(e){if(null!=e){try{return R.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}(n)?n:void 0}function ce(e,t){var n=typeof e;return!!(t=null==t?o:t)&&("number"==n||"symbol"!=n&&u.test(e))&&e>-1&&e%1==0&&e<t}function ue(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||O)}function de(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var le=function(e){var t=0,n=0;return function(){var r=V(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(G?function(e,t){return G(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:Ae);function pe(e,t){return e===t||e!=e&&t!=t}var fe=oe(function(){return arguments}())?oe:function(e){return Pe(e)&&E.call(e,"callee")&&!D.call(e,"callee")},ge=Array.isArray;function he(e){return null!=e&&ve(e.length)&&!ye(e)}var we=N||function(){return!1};function ye(e){if(!me(e))return!1;var t=re(e);return t==i||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function ve(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function me(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Pe(e){return null!=e&&"object"==typeof e}var Se=m?function(e){return function(t){return e(t)}}(m):function(e){return Pe(e)&&ve(e.length)&&!!d[re(e)]};function be(e){return he(e)?function(e,t){var n=ge(e),r=!n&&fe(e),o=!n&&!r&&we(e),a=!n&&!r&&!o&&Se(e),i=n||r||o||a,s=i?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],c=s.length;for(var u in e)!t&&!E.call(e,u)||i&&("length"==u||o&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ce(u,c))||s.push(u);return s}(e,!0):function(e){if(!me(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=ue(e),n=[];for(var r in e)("constructor"!=r||!t&&E.call(e,r))&&n.push(r);return n}(e)}var _e,Ie=(_e=function(e,t,n,r){ae(e,t,n,r)},function(e,t){return le(function(e,t,n){return t=z(void 0===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,a=z(r.length-t,0),i=Array(a);++o<a;)i[o]=r[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=r[o];return s[t]=n(i),P(e,this,s)}}(e,t,Ae),e+"")}((function(e,t){var n=-1,r=t.length,o=r>1?t[r-1]:void 0,a=r>2?t[2]:void 0;for(o=_e.length>3&&"function"==typeof o?(r--,o):void 0,a&&function(e,t,n){if(!me(n))return!1;var r=typeof t;return!!("number"==r?he(n)&&ce(t,n.length):"string"==r&&t in n)&&pe(n[t],e)}(t[0],t[1],a)&&(o=r<3?void 0:o,r=1),e=Object(e);++n<r;){var i=t[n];i&&_e(e,i,n,o)}return e})));function Ae(e){return e}e.exports=Ie},485:function(e){var t;t=function(){var e=JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial"}'),t=JSON.parse('{"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"}}');function n(n,r){if("string"!=typeof n)throw new Error("slugify: string argument expected");var o=t[(r="string"==typeof r?{replacement:r}:r||{}).locale]||{},a=void 0===r.replacement?"-":r.replacement,i=n.normalize().split("").reduce((function(t,n){return t+(o[n]||e[n]||(n===a?" ":n)).replace(r.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")}),"");return r.strict&&(i=i.replace(/[^A-Za-z0-9\s]/g,"")),i=i.trim().replace(/\s+/g,a),r.lower&&(i=i.toLowerCase()),i}return n.extend=function(t){Object.assign(e,t)},n},e.exports=t(),e.exports.default=t()}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};(()=>{"use strict";n.r(r),n.d(r,{AppManifestType:()=>vn,getCurrentSync:()=>Zn,init:()=>Kn,wrapSync:()=>Jn});var e={};n.r(e),n.d(e,{subscribe:()=>Ft});var t,o,a={};n.r(a),n.d(a,{create:()=>pn}),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(o||(o={}));const i="undefined"!=typeof window&&"undefined"!=typeof fin,s=("undefined"==typeof process||null===(t=process.env)||void 0===t||t.JEST_WORKER_ID,"undefined"!=typeof window),c=s&&"undefined"!=typeof indexedDB,u=s?window.origin:o.Local,d=i&&fin.me.uuid,l=i&&fin.me.name,p=i&&fin.me.entityType,f="undefined"!=typeof ENV?ENV:o.Local,g=(o.Local,o.Dev,o.Staging,o.Prod,e=>e.startsWith("http://")||e.startsWith("https://")?e:u+e),h=("undefined"!=typeof WORKSPACE_APPS_URL&&g(WORKSPACE_APPS_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_FOOTER_URL&&g(WORKSPACE_STOREFRONT_FOOTER_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_LANDING_PAGE_URL&&g(WORKSPACE_STOREFRONT_LANDING_PAGE_URL),"undefined"!=typeof WORKSPACE_STOREFRONT_NAVIGATION_URL&&g(WORKSPACE_STOREFRONT_NAVIGATION_URL),"undefined"!=typeof WORKSPACE_SHARE_URL&&g(WORKSPACE_SHARE_URL),g("https://cdn.openfin.co/workspace/5.3.1"),g("https://cdn.openfin.co/workspace/5.3.1"));var w,y;(y=w||(w={})).LaunchApp="launchApp",y.SavePage="savePage",y.GetSavedPage="getSavedPage",y.CreateSavedPage="createSavedPage",y.UpdateSavedPage="updateSavedPage",y.DeleteSavedPage="deleteSavedPage",y.GetSavedPages="getSavedPages",y.CreateSavedPageInternal="createSavedPageInternal",y.UpdateSavedPageInternal="updateSavedPageInternal",y.DeleteSavedPageInternal="deleteSavedPageInternal",y.SharePage="sharePage",y.LaunchPage="launchPage",y.UpdatePageForWindow="updatePageForWindow",y.AttachPagesToWindow="attachPagesToWindow",y.DetachPagesFromWindow="detachPagesFromWindow",y.ReorderPagesForWindow="reorderPagesForWindow",y.SetActivePage="setActivePage",y.GetAllAttachedPages="getAllAttachedPages",y.GetActivePageIdForWindow="getActivePageIdForWindow",y.GetPagesForWindow="getPagesForWindow",y.GetPageForWindow="getPageForWindow",y.GetSavedPageMetadata="getSavedPageMetadata",y.GetUniquePageTitle="getUniquePageTitle",y.GetLastFocusedBrowserWindow="getLastFocusedBrowserWindow",y.GetThemes="getThemes";const v=async e=>{const t=fin.Platform.wrapSync(e),n=await t.getClient(),r="Target is not a Workspace Platform. Target must call WorkspacePlatform.init";try{if(!0===await n.dispatch("isWorkspacePlatform"))return n;throw new Error(r)}catch(e){throw new Error(r)}},m=e=>({identity:e,openfinWindow:fin.Window.wrapSync(e),getPages:async()=>(await v(e)).dispatch(w.GetPagesForWindow,e),getPage:async t=>(await v(e)).dispatch(w.GetPageForWindow,{identity:e,pageId:t}),addPage:async t=>{const n=await v(e);(null==t?void 0:t.title)||(t.title=await n.dispatch(w.GetUniquePageTitle,void 0));const r=(await n.dispatch(w.GetAllAttachedPages,void 0)).find((e=>e.pageId===t.pageId||e.title===t.title));if(r)throw r.pageId===t.pageId?new Error(`page with id ${t.pageId} is already attached to a browser window ${r.parentIdentity.name}`):new Error(`page with title ${t.title} is already attached to a browser window ${r.parentIdentity.name}`);const o={identity:e,pages:[t]};return n.dispatch(w.AttachPagesToWindow,o)},removePage:async t=>(await v(e)).dispatch(w.DetachPagesFromWindow,{identity:e,pageIds:[t]}),setActivePage:async t=>(await v(e)).dispatch(w.SetActivePage,{identity:e,pageId:t}),updatePage:async t=>{const n=await v(e);return t.identity=e,n.dispatch(w.UpdatePageForWindow,t)},reorderPages:async t=>{const n=await v(e);return t.identity=e,n.dispatch(w.ReorderPagesForWindow,t)}}),P=e=>{const t=fin.Platform.wrapSync(e),n=async()=>(await t.getClient()).dispatch(w.GetAllAttachedPages,void 0);return{wrapSync:e=>m(e),createWindow:async e=>{const n=await t.createWindow(e);return m(n.identity)},getAllAttachedPages:n,getAllWindows:async()=>(await fin.Application.wrapSync(e).getChildWindows()).filter((e=>e.identity.name.includes("internal-generated-window-"))).map((e=>m(e.identity))),launchPage:async e=>{const r=await t.getClient();await r.dispatch(w.LaunchPage,{page:e,attachToExistingWindow:!0});const o=(await n()).find((t=>t.pageId===e.pageId));return m(o.parentIdentity)},getUniquePageTitle:async t=>(await v(e)).dispatch(w.GetUniquePageTitle,t),getLastFocusedWindow:async()=>(await v(e)).dispatch(w.GetLastFocusedBrowserWindow,void 0)}},S=e=>({createPage:async t=>(await v(e)).dispatch(w.CreateSavedPageInternal,t),deletePage:async t=>(await v(e)).dispatch(w.DeleteSavedPageInternal,t),updatePage:async t=>(await v(e)).dispatch(w.UpdateSavedPageInternal,t),getPage:async t=>(await v(e)).dispatch(w.GetSavedPage,t),getPages:async t=>(await v(e)).dispatch(w.GetSavedPages,t),savePage:async t=>(await v(e)).dispatch(w.SavePage,t)}),b=e=>({getThemes:async()=>(await v(e)).dispatch(w.GetThemes,void 0)});let _=[];const I=()=>_;var A,O,W;!function(e){e.Workspace="openfin-browser"}(A||(A={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(O||(O={})),function(e){e.FinProtocol="fin-protocol"}(W||(W={}));const R={uuid:d,name:d},E=(A.Workspace,A.Workspace,e=>{if(!i)throw new Error("getApplication cannot be used in a non OpenFin env. Avoid using this during pre-rendering.");return fin.Application.wrapSync(e)});var C,T,k;function F(e){if(!i)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(C||(C={})),(k=T||(T={})).Shown="shown",k.BoundsChanged="bounds-changed",k.LayoutReady="layout-ready",k.EndUserBoundsChanging="end-user-bounds-changing",k.Blurred="blurred",k.CloseRequested="close-requested",k.Focused="focused",k.ShowRequested="show-requested",k.ViewCrashed="view-crashed",k.ViewAttached="view-attached",k.ViewDetached="view-detached",k.ViewPageTitleUpdated="view-page-title-updated",k.ViewDestroyed="view-destroyed";const L={name:l,uuid:d};function U(){return F(L)}C.Home,A.Workspace,C.Dock,A.Workspace,C.Storefront,A.Workspace,A.Workspace,A.Workspace;const j=e=>e.startsWith(C.BrowserWindow);async function $(){return(await fin.Application.getCurrentSync().getChildWindows()).filter((e=>j(e.identity.name)))}var B,D;(D=B||(B={})).LastLaunchedWorkspaceId="activeWorkspaceId",D.LastFocusedBrowserWindow="lastFocusedBrowserWindow",D.MachineName="machineName",D.NewTabPageLayout="NewTabPageLayout",D.NewTabPageSort="NewTabPageSort";const M=B,x={trace:!0,debug:"undefined"!=typeof LOG_DEBUG&&LOG_DEBUG,info:!1,warn:!0,error:!0,fatal:!0};function G(e,t){const n=void 0===t?x:{...x,...t},r=e?`${e} : `:"";return{trace:n.trace?(e,...t)=>{console.trace(`%c${r}${e}`,"color:#7795f7",...t)}:(e,...t)=>{},debug:n.debug?(e,...t)=>{console.info(`%c${r}${e}`,"color:#86db94",...t)}:(e,...t)=>{},info:n.info?(e,...t)=>{console.debug(`%c${r}${e}`,"color:#ffffff",...t)}:(e,...t)=>{},warn:n.warn?(e,...t)=>{console.warn(`%c${r}${e}`,"color:#edad68",...t)}:(e,...t)=>{},error:n.error?(e,t,...n)=>{console.error(`%c${r}${e}`,"color:#f55d67",...n,t)}:(e,t,...n)=>{},fatal:n.fatal?(e,t,...n)=>{console.error(`%c${r}${e}`,"color:#f70723",...n,t)}:(e,t,...n)=>{}}}const N=G("api.platform-window-focus");async function z(){if("undefined"!=typeof localStorage)try{const e=localStorage.getItem(M.LastFocusedBrowserWindow),t=JSON.parse(e);if(await(e=>F(e).getOptions().then((()=>!0)).catch((()=>!1)))(t))return t}catch(e){N.error("failed to get last focused browser window: ",e)}}function V(e=fin.me.identity){j(e.name)&&function(e){if("undefined"!=typeof localStorage)try{const t=JSON.stringify(e);localStorage.setItem(M.LastFocusedBrowserWindow,t)}catch(e){N.error("failed to save last focused browser window: ",e)}}(e)}var q;G("utils.layout"),function(e){e.TabCreated="tab-created",e.ContainerCreated="container-created",e.ContainerResized="container-resized"}(q||(q={}));const H=e=>{const t=[];return(e&&Array.isArray(e)?e:[]).forEach((e=>{if("component"===e.type)return t.push(e.componentState);const n=H(e.content);t.push(...n)})),t};new Map;const Y=G("utils.channels"),K=s&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));function J(e){let t;return()=>{if(!i)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(Y.debug(`connecting to channel provider ${e}`),t=(async()=>{await K;const n=await fin.InterApplicationBus.Channel.connect(e);return n.onDisconnection((async()=>{Y.warn(`disconnected from channel provider ${e}`),t=void 0})),n})().then((t=>(Y.debug(`connected to channel provider ${e}`),t))).catch((t=>{Y.error(`failed to connect to channel provider ${e}`,t)}))),t}}var Z,X;!function(e){e.GetPages="get-pages",e.GetActivePageForWindow="get-active-page-for-window",e.AttachPagesToWindow="attach-pages-to-window",e.DetachPagesFromWindow="detach-pages-from-window",e.SetActivePageForWindow="set-active-page-for-window",e.RenamePage="rename-page",e.ReorderPagesForWindow="reorder-pages-for-window",e.UpdatePageForWindow="update-page-for-window",e.UpdatePagesWindowOptions="update-pages-window-options",e.IsDetachingPages="is-detaching-pages",e.IsActivePageChanging="is-active-page-changing"}(Z||(Z={})),function(e){e.AttachedPagesToWindow="attached-pages-to-window",e.DetachedPagesFromWindow="detached-pages-from-window"}(X||(X={}));const Q=new Map,ee=e=>{const t=(e=>`__running_pages__-${e.uuid}-${e.name}`)(e);return Q.has(t)||Q.set(t,J(t)),Q.get(t)()},te=(new Map,async e=>{const t=await ee(e);return await t.dispatch(Z.GetPages)}),ne=async e=>(await ee(e.identity)).dispatch(Z.UpdatePageForWindow,e),re=async()=>{const e=await $();return(await Promise.all(e.map((async({identity:e})=>te(e))))).reduce(((e,t)=>e.concat(t)),[])},oe=async()=>(await v(L)).dispatch(w.GetSavedPages,void 0),ae=async e=>(await v(L)).dispatch(w.GetSavedPage,e),ie=async(e,t)=>{const n=await(async e=>(await re()).find((t=>t.pageId===e)))(e);return!n||n.title===t.title&&e===t.pageId||await ne({identity:n.parentIdentity,pageId:e,page:{pageId:t.pageId,title:t.title}}),n},se=async({page:e})=>{await ie(e.pageId,e),await(async e=>(await v(L)).dispatch(w.CreateSavedPage,e))({page:e})},ce=async e=>{await ae(e)&&await(async e=>(await v(L)).dispatch(w.DeleteSavedPage,e))(e)},ue=async({pageId:e,page:t})=>(await ie(e,t),await(async e=>(await v(L)).dispatch(w.UpdateSavedPage,e))({pageId:e,page:t})),de=async e=>await ae(e.pageId)?ue({pageId:e.pageId,page:e}):se({page:e}),le=async e=>{await(async e=>(await ee(e.identity)).dispatch(Z.AttachPagesToWindow,e))(e)},pe=async e=>{await ne(e)},fe=async e=>{await(async e=>(await ee(e.identity)).dispatch(Z.DetachPagesFromWindow,e))(e)},ge=async e=>{await(async e=>(await ee(e.identity)).dispatch(Z.SetActivePageForWindow,e))(e)},he=e=>te(e),we=async({identity:e,pageId:t})=>(await he(e)).find((e=>e.pageId===t)),ye=async e=>{await(async e=>(await ee(e.identity)).dispatch(Z.ReorderPagesForWindow,e))(e)},ve=(e,t)=>!t.find((t=>t===e)),me=(e,t)=>`${e} (${t})`;async function Pe(e="Untitled Page"){const[t,n]=await Promise.all([oe(),re()]),r=[...t,...n].map((({title:e})=>e));if(!r.find((t=>t===e)))return e;let o=1;const a=e.replace(/ \(.+\)$/,"");for(;!ve(me(a,o),r);)o+=1;return me(a,o)}const Se=G("api.cleanup"),be=new Map,_e=e=>`${e.uuid}-${e.name}`,Ie=((e,t=0)=>{let n,r,o=!1;const a=async r=>{const i=await e(...r);if(o){await new Promise((e=>setTimeout(e,t)));const e=n;return n=void 0,o=!1,a(e)}return i};return(...e)=>(r?(o=!0,n=e):r=a(e).then((e=>(r=void 0,e))),r)})((async function(){Se.debug("scheduling views to cleanup");const e=await re(),t=new Set;e.forEach((e=>{H(e.layout.content).forEach((e=>{if(e.name){const n=_e(e);t.add(n),Se.debug(`preserving view with id ${n}`)}}))}));const n=U();(await n.getCurrentViews()).forEach((({identity:e})=>{const n=_e(e);if(t.has(n)||be.has(n))return;const r=setTimeout((()=>{Se.debug(`destroying view with id ${n}`),fin.View.wrapSync(e).destroy(),be.delete(n)}),5e3);Se.debug(`scheduled cleanup of view with id ${n}`),be.set(n,r)})),be.forEach(((e,n)=>{t.has(n)&&(clearTimeout(e),be.delete(n),Se.debug(`cancelled scheduled cleanup of view with id ${n}`))}))}),2500),Ae=({name:e})=>{j(e)&&Ie()};function Oe(){return localStorage.getItem(M.MachineName)}let We,Re;async function Ee(){return We||(We=await fin.System.getMachineId()),We}async function Ce(e){var t;const n=e||await fin.Platform.getCurrentSync().getSnapshot();if(null===(t=n.snapshotDetails)||void 0===t?void 0:t.machineId)return n;const r=Oe();return{...n,snapshotDetails:{...e.snapshotDetails,machineId:await Ee(),machineName:r}}}function Te(e){return new Promise(((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}function ke(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const r=Te(n);return(e,n)=>r.then((r=>n(r.transaction(t,e).objectStore(t))))}function Fe(){return Re||(Re=ke("keyval-store","keyval")),Re}n(485);const Le=c&&ke("openfin-home-pages","pages");async function Ue(e){const t=await function(e,t=Fe()){return t("readonly",(t=>Te(t.get(e))))}(e,Le);return t?(t.pageId=e.toString(),t.title=t.title||t.pageId,t):null}async function je(e){const t=await function(e=Fe()){const t=[];return function(e,t){return e("readonly",(e=>(e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},Te(e.transaction))))}(e,(e=>t.push(e.key))).then((()=>t))}(Le),n=await Promise.all(t.map((e=>Ue(e.toString()))));return e?n.filter((t=>((e,t="")=>e.toLowerCase().includes(t.toLowerCase()))(t.title,e))):n}async function $e({page:e}){await function(e,t,n=Fe()){return n("readwrite",(n=>(n.put(t,e),Te(n.transaction))))}(e.pageId,e,Le)}async function Be(e){await function(e,t=Fe()){return t("readwrite",(t=>(t.delete(e),Te(t.transaction))))}(e,Le)}async function De({pageId:e,page:t}){if(void 0===await Ue(e))throw new Error("page not found");await $e({page:t}),e!==t.pageId&&await Be(e)}var Me;!function(e){e[e.Initial=0]="Initial",e[e.Open=1]="Open",e[e.Close=2]="Close"}(Me||(Me={}));const xe="0",Ge="5",Ne="6",ze=()=>{};function Ve(e,t){return e?`${e}-${t}`:t}function qe(e){return`__search-${e}-topic__`}const He=new Map;function Ye(e,t){He.has(e)||He.set(e,new Set),He.get(e).add(t)}function Ke(e,t){const n=He.get(e);n&&n.delete(t)}const Je=new Map;function Ze(e,t){Je.has(e)||Je.set(e,new Set),Je.get(e).add(t)}function Xe(e,t){const n=Je.get(e);n&&n.delete(t)}const Qe=new Map;function et(e,t){Qe.has(e)||Qe.set(e,new Map),Qe.get(e).set(t.id,t);const n=He.get(e);n&&n.forEach((e=>e()))}function tt(e,t){const n=Qe.get(e);if(!n)return;n.delete(t);const r=Je.get(e);r&&r.forEach((e=>e()))}function nt(e){return Qe.get(e)?[...Qe.get(e).values()]:[]}function rt(e){const t=Qe.get(e);t&&t.clear()}function ot(e,t){const n=Qe.get(e);return n?n.get(t):null}function at(e,t,n){return{...e,action:n||e.actions[0],dispatcherIdentity:t}}function it(e,t,n="ascending"){const r=e||[];if(!(null==t?void 0:t.length))return r;const o=[],a=new Map;t.forEach((e=>{if(e.key)return a.set(e.key,e);o.push(e)}));let i=r.map((e=>{const{key:t}=e;if(t&&a.has(t)){const e=a.get(t);return a.delete(t),e}return e}));return i.push(...a.values(),...o),i="ascending"===n?i.sort(((e,t)=>(null!==e.score&&void 0!==e.score?e.score:1/0)-(null!==t.score&&void 0!==t.score?t.score:1/0))):i.sort(((e,t)=>(null!==t.score&&void 0!==t.score?t.score:1/0)-(null!==e.score&&void 0!==e.score?e.score:1/0))),i}function st(e){const t={};let n=[],r=[],o=Me.Initial;t.getStatus=()=>o,t.getResultBuffer=()=>n,t.setResultBuffer=e=>{n=e,(null==n?void 0:n.length)&&t.onChange()},t.getRevokedBuffer=()=>r,t.setRevokedBuffer=e=>{r=e,(null==r?void 0:r.length)&&t.onChange()},t.onChange=ze;const a={};return t.res=a,a.close=()=>{o!==Me.Close&&(o=Me.Close,t.onChange())},a.open=()=>{o!==Me.Open&&(o=Me.Open,t.onChange())},a.respond=n=>{const r=it(t.getResultBuffer(),n,e);t.setResultBuffer(r)},a.revoke=(...e)=>{const n=new Set(e),r=t.getResultBuffer().filter((({key:e})=>{const t=n.has(e);return t&&n.delete(e),!t}));t.setResultBuffer(r),n.size&&(t.getRevokedBuffer().forEach((e=>n.add(e))),t.setRevokedBuffer([...n]))},t}function ct(e,t,n){const r=new Set;let o=!1;return{close:()=>{o=!0;for(const e of r)e()},req:{id:t,topic:e,...n,context:(null==n?void 0:n.context)||{},onClose:e=>{r.add(e),o&&e()},removeListener:e=>{r.delete(e)}}}}function ut(){return{name:fin.me.name,uuid:fin.me.uuid}}function dt(){let e;try{const t=fin.Platform.getCurrentSync();if(!(null==t?void 0:t.identity))return;e=t.identity.uuid}catch(e){}return e}const lt="deregistered or does not exist",pt=new Error(`provider ${lt}`),ft=new Error("provider with name already exists"),gt=new Error("bad payload"),ht=new Error("subscription rejected"),wt=new Error(`channel ${lt}`),yt=new Map;function vt(e){const t=mt(e);if(t)return t;throw wt}function mt(e){const t=yt.get(e);if(t)return t}function Pt(e,t){yt.set(e,t)}function St(e){console.error("OpenFin Search API: ",e)}const bt=new Map;function _t(e){bt.has(e)||bt.set(e,new Map);const t=bt.get(e);return{getRequestsForIdentity:e=>{const n=function(e){return`${e.uuid}:${e.name}`}(e);return t.has(n)||t.set(n,new Map),t.get(n)}}}async function It(e,t){return(await vt(e)).dispatch(xe,t)}function At({namespacedTopic:e,topic:t}){const n=ot.bind(null,e),r=_t(e),o=It.bind(null,e);return async(e,a)=>{if(!e||!e.id||!e.providerId){const e=gt;return St(e),{error:e.message}}const{id:i,providerId:s}=e,c=n(s);if(!c){const e=pt;return St(e),{error:e.message}}const u=r.getRequestsForIdentity(a);let d=u.get(e.id);d||(d=ct(t,i,e),u.set(e.id,d));const l=st(),p=()=>{const e=l.getResultBuffer();l.setResultBuffer([]);const t=l.getRevokedBuffer();l.setRevokedBuffer([]);const n=l.getStatus();o({id:i,providerId:s,results:e,revoked:t,status:n})};let f=!0,g=!1;l.onChange=()=>{if(f)return f=!1,void p();g||(g=!0,setTimeout((()=>{g=!1,p()}),100))};try{const{results:e,context:t}=await c.onUserInput(d.req,l.res),n=l.getStatus();return{id:i,providerId:s,status:n,results:e,context:t}}catch(e){return St(e),{id:i,providerId:s,error:e.message}}}}async function Ot(e,t,n){const r=n||await vt(e),o=ut(),a={identity:o,...t,onUserInput:void 0,onResultDispatch:void 0};await r.dispatch("2",a),et(e,{identity:o,...t})}async function Wt(e,t){const n=await vt(e);return await n.dispatch("3",t),tt(e,t)}async function Rt(e,t,n,r){const o=at(n,ut(),r),a=ot(e,t);if(a){const{onResultDispatch:e}=a;if(!e)return;return e(o)}const i={providerId:t,result:o};return(await vt(e)).dispatch(Ge,i)}async function Et(e,t){const n={...t,context:(null==t?void 0:t.context)||{}},r={},o=async function*(e,t,{setState:n}){const r=await vt(e);for(;;){const e=await r.dispatch("1",t),o=e.error;if(o)throw new Error(o);const a=e;if(t.id=a.id,n(a.state),a.done)return a.value;yield a.value}}(e,n,{setState:e=>{r.state=e}});let a=await o.next();return r.id=n.id,r.close=()=>{!async function(e,t){(await vt(e)).dispatch(Ne,{id:t})}(e,r.id)},r.next=()=>{if(a){const e=a;return a=void 0,e}return o.next()},r}async function Ct(e){return(await vt(e)).dispatch("4",null)}async function Tt(e){const t=await vt(e);var n;n=e,yt.delete(n),rt(e),await t.disconnect()}async function kt(e){const{namespacedTopic:t}=e,n=qe(t),r=await async function(e){for(let t=0;t<50;t++)try{return await fin.InterApplicationBus.Channel.connect(e,{wait:!1})}catch(e){if(49===t)throw e;await new Promise((e=>setTimeout(e,1e3)))}}(n);return r.register(xe,At(e)),r.register(Ne,function(e){const t=_t(e);return(e,n)=>{const r=t.getRequestsForIdentity(n),o=r.get(e.id);o&&(o.close(),r.delete(e.id))}}(t)),r.register(Ge,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void St(gt);const r=ot(e,t.providerId);if(!r)return void St(pt);const{onResultDispatch:o}=r;return o?(t.result.dispatcherIdentity=n,o(t.result)):void 0}}(t)),r.onDisconnection(function(e){const{namespacedTopic:t}=e,n=_t(t);return async r=>{if(!mt(t))return;const o=n.getRequestsForIdentity(r);for(const{req:e,close:t}of o.values())t(),o.delete(e.id);Pt(t,(async e=>{const{namespacedTopic:t}=e,n=await kt(e);for(const e of nt(t))await Ot(t,e,n);return n})(e))}}(e)),r}async function Ft(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=("string"==typeof e?null:null==e?void 0:e.uuid)||dt(),r=Ve(n,t),o={topic:t,namespace:n,namespacedTopic:r};let a=mt(r);return a||(a=kt(o),Pt(r,a),await a),{getAllProviders:Ct.bind(null,r),register:Ot.bind(null,r),search:Et.bind(null,r),deregister:Wt.bind(null,r),dispatch:Rt.bind(null,r),disconnect:Tt.bind(null,r)}}const Lt=new Map;function Ut(e){const t=jt(e);if(t)return t;throw wt}function jt(e){const t=Lt.get(e);if(t)return t}const $t=new Map;function Bt(e,t){$t.has(e)||$t.set(e,new Set),$t.get(e).add(t)}function Dt(e,t){const n=$t.get(e);n&&n.delete(t)}var Mt,xt;function Gt(e){return[...nt(e)].map((e=>({...e,onUserInput:void 0,onResultDispatch:void 0})))}function Nt(e,t){if(ot(e,t.id))throw new Error("provider with name already exists");et(e,{identity:ut(),...t})}function zt(e,t){tt(e,t)}async function Vt(e,t,n,r){const o=ot(e,t);if(!o)throw pt;const{onResultDispatch:a}=o;if(a)return a(at(n,ut(),r))}!function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(Mt||(Mt={})),function(e){e.Active="active",e.Default="default"}(xt||(xt={}));let qt=0;function Ht({namespacedTopic:e,topic:t},n){qt+=1;const r=ct(t,qt.toString(),n);let o;return o=async function*(e,t,n){const r=function(e,t){const n=[],r=[],o=[],a=[];for(const i of e){const e=st(i.scoreOrder),s={results:[],provider:{id:i.id,identity:i.identity,title:i.title,scoreOrder:i.scoreOrder,icon:i.icon}};n.push(s),r.push(e);const c=(async()=>{try{const{results:n,context:r}=await i.onUserInput(t,e.res);s.results=it(s.results,n),s.context={...s.context,...r}}catch(e){s.error=e}c.done=!0})();a.push(c),o.push(o.length)}return{providerResponses:n,listenerResponses:r,openListenerResponses:o,initialResponsePromises:a}}(t.targets?t.targets.map((t=>ot(e,t))).filter((e=>!!e)):[...nt(e).filter((e=>!e.hidden))],t),{providerResponses:o,listenerResponses:a}=r;let{openListenerResponses:i,initialResponsePromises:s}=r,c=Mt.Fetching;const u=e=>{c=e,n.setState(c)};let d,l=!1;t.onClose((()=>{l=!0,d&&d()}));do{let e=!1;if(s.length){const t=[];for(const n of s)n.done?e=!0:t.push(n);s=t,s.length||(u(Mt.Fetched),e=!0)}let t,n=!1;const r=()=>{n=!0,t&&t()},p=[];for(const t of i){const n=a[t],i=o[t],s=n.getStatus();(s===Me.Open||c===Mt.Fetching&&s===Me.Initial)&&(p.push(t),n.onChange=r);const u=n.getResultBuffer();u.length&&(n.setResultBuffer([]),i.results=it(i.results,u),e=!0);const d=n.getRevokedBuffer();if(d.length){n.setRevokedBuffer([]);const t=new Set(d);i.results=i.results.filter((({key:e})=>!t.has(e))),e=!0}}if(i=p,e&&(yield o),l)break;n||(i.length||s.length)&&await Promise.race([...s,new Promise((e=>{t=e})),new Promise((e=>{d=e}))])}while(i.length||s.length);return u(Mt.Complete),o}(e,r.req,{setState:e=>{o.state=e}}),o.id=qt.toString(),o.close=r.close,o.state=Mt.Fetching,o}const Yt=new Map;function Kt(e,t){return`${e}:${t}`}function Jt(e,t,n){return Ut(e).dispatch(t,Ne,{id:n})}async function Zt(e,t,{id:n,query:r,context:o,targets:a}){const i=Ut(e),s={id:n,query:r,context:o,targets:a,providerId:t.id},c=await i.dispatch(t.identity,xe,s),u=c.error;if(u)throw new Error(u);return c}const Xt=new Map;function Qt(e,t,n){return`${e}:${t.name}:${t.uuid}:${n}`}const en=new Map;function tn(e,t,n){return`${e}:${t}:${n}`}function nn(e,t){const n=Qt.bind(null,e,t.identity),r=Jt.bind(null,e,t.identity),o=Zt.bind(null,e,t);return async(a,i)=>{const s=n(a.id);if(!Xt.has(s)){const e=()=>{r(a.id),Xt.delete(s)};Xt.set(s,e),a.onClose(e)}const c=tn(e,t.id,a.id),u=()=>{en.delete(c),i.close()};a.onClose(u),en.set(c,(e=>{var t,n;(null===(t=e.results)||void 0===t?void 0:t.length)&&i.respond(e.results),(null===(n=e.revoked)||void 0===n?void 0:n.length)&&i.revoke(...e.revoked),e.status===Me.Open&&i.open(),e.status===Me.Close&&u()}));const d=await o(a);return d.status===Me.Open&&i.open(),d.status!==Me.Close&&d.status!==Me.Initial||u(),d}}function rn(e,t){return async n=>{const r=Ut(e),o={providerId:t.id,result:n};return r.dispatch(t.identity,Ge,o)}}const on=new Map;function an(e,t){return`${e}-${t.name}-${t.uuid}`}const sn=new Map;function cn(e,t){sn.has(e)||sn.set(e,new Set),sn.get(e).add(t)}function un(e,t){const n=sn.get(e);n&&n.delete(t)}async function dn(e){const{namespacedTopic:t}=e,n=qe(e.namespacedTopic),r=await(o=n,fin.InterApplicationBus.Channel.create(o));var o;return r.onConnection(function({namespacedTopic:e}){return async t=>{const n=$t.get(e);if(n)for(const e of n)if(!await e(t))throw ht}}(e)),r.onDisconnection(function(e){return async t=>{!function(e,t){const n=an(e,t),r=on.get(n);if(r){for(const t of r)tt(e,t);on.delete(n)}}(e,t);const n=sn.get(e);n&&n.forEach((e=>e(t)))}}(t)),r.register(Ne,function(e){return t=>function(e,t){const n=Kt(e,t),r=Yt.get(n);r&&r.generator.close()}(e,t.id)}(t)),r.register(xe,function(e){return t=>{const n=tn(e,t.providerId,t.id),r=en.get(n);r&&r(t)}}(t)),r.register("2",function(e){return(t,n)=>{if(!t||!t.id)return St(new Error(JSON.stringify(t))),void St(gt);if(ot(e,t.id))throw ft;t.identity=n,function(e,t){const n=an(e,t.identity);on.has(n)||on.set(n,[]),on.get(n).push(t.id),et(e,{...t,onUserInput:nn(e,t),onResultDispatch:rn(e,t)})}(e,t)}}(t)),r.register("3",function(e){return t=>{t?function(e,t){const n=ot(e,t);if(!n)return;const r=an(e,n.identity),o=on.get(r);if(o){const n=o.findIndex((e=>e===t));-1!==n&&(o.splice(n,1),tt(e,t))}}(e,t):St(gt)}}(t)),r.register("4",function(e){return async()=>Gt(e)}(t)),r.register("1",function(e){return async(t,...n)=>{if(!t)return St(gt),{error:gt.message};let r;if(t.id)r=Kt(e.namespacedTopic,t.id);else{const n=Ht(e,t);r=Kt(e.namespacedTopic,n.id),t.id=n.id,Yt.set(r,{generator:n})}const o=Yt.get(r);clearTimeout(o.timeout);const a=await o.generator.next();return o.timeout=function(e){return window.setTimeout((()=>{Yt.delete(e)}),1e4)}(r),{...a,id:t.id,state:o.generator.state}}}(e)),r.register(Ge,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return void St(gt);const r=ot(e,t.providerId);if(!r)throw pt;const{onResultDispatch:o}=r;return o?(t.result.dispatcherIdentity=n,o(t.result)):void 0}}(t)),r}async function ln(e){const t=Ut(e);var n;n=e,Lt.delete(n),await t.destroy(),rt(e)}async function pn(e){const t=("string"==typeof e?e:null==e?void 0:e.topic)||"all",n=dt(),r=Ve(n,t),o={topic:t,namespace:n,namespacedTopic:r};let a=jt(r);a||(a=await dn(o),function(e,t){Lt.set(e,t)}(r,a));const i=Dt.bind(null,r),s=un.bind(null,r),c=Ke.bind(null,r),u=Xe.bind(null,r);return{getAllProviders:Gt.bind(null,r),search:Ht.bind(null,o),register:Nt.bind(null,r),deregister:zt.bind(null,r),onSubscription:Bt.bind(null,r),onDisconnect:cn.bind(null,r),onRegister:Ye.bind(null,r),onDeregister:Ze.bind(null,r),dispatch:Vt.bind(null,o),disconnect:ln.bind(null,r),removeListener:e=>{i(e),s(e),c(e),u(e)}}}const{create:fn}=a,{subscribe:gn}=e,hn={create:fn,subscribe:gn,defaultTopic:"all"},wn=()=>{const e=window;e.search=hn,e.fin&&(e.fin.Search=hn)},yn=e=>{const t=()=>{wn(),window.removeEventListener(e,t)};return t};if("undefined"!=typeof window){wn();const e="load",t=yn(e);window.addEventListener(e,t);const n="DOMContentLoaded",r=yn(n);window.addEventListener(n,r)}var vn,mn,Pn,Sn,bn,_n;async function In({app:e,target:t}){const n=fin.Platform.getCurrentSync();switch(e.manifestType){case vn.Snapshot:return n.applySnapshot(e.manifest);case vn.View:return async function(e,t){const n=fin.Platform.getCurrentSync();if("view"===t.entityType){const n=fin.View.wrapSync(t),r=await n.getParentLayout();return await r.replaceView(t,{manifestUrl:e.manifest,url:void 0,target:void 0}),n.destroy()}return n.createView({name:void 0,url:void 0,manifestUrl:e.manifest,target:void 0})}(e,t);case vn.External:return fin.System.launchExternalProcess({path:e.manifest,uuid:e.appId});default:return fin.Application.startFromManifest(e.manifest)}}!function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(vn||(vn={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(mn||(mn={})),function(e){e.Suggestion="suggestion"}(Pn||(Pn={})),function(e){e.Contact="Contact",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(Sn||(Sn={})),function(e){e.MultiSelect="MultiSelect"}(bn||(bn={}));var An=new Uint8Array(16);function On(){if(!_n&&!(_n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return _n(An)}const Wn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Rn=function(e){return"string"==typeof e&&Wn.test(e)};for(var En=[],Cn=0;Cn<256;++Cn)En.push((Cn+256).toString(16).substr(1));const Tn=function(e,t,n){var r=(e=e||{}).random||(e.rng||On)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(En[e[t+0]]+En[e[t+1]]+En[e[t+2]]+En[e[t+3]]+"-"+En[e[t+4]]+En[e[t+5]]+"-"+En[e[t+6]]+En[e[t+7]]+"-"+En[e[t+8]]+En[e[t+9]]+"-"+En[e[t+10]]+En[e[t+11]]+En[e[t+12]]+En[e[t+13]]+En[e[t+14]]+En[e[t+15]]).toLowerCase();if(!Rn(n))throw TypeError("Stringified UUID is invalid");return n}(r)};var kn;!function(e){e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.GetStorefrontProviders="get-storefront-providers",e.HideStorefront="hide-storefront",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowStorefront="show-storefront",e.CreateStorefrontWindow="create-storefront-window",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme"}(kn||(kn={})),J("__of_workspace_protocol__");var Fn,Ln,Un=n(282),jn=n.n(Un);!function(e){e.HomeIndex="/home/",e.HomeSearch="/home/search/",e.HomePagesRename="/home/pages/rename/",e.Dock="/home/dock/",e.BrowserPagesLanding="/browser/pages/landing/",e.HomeIndicator="/home/indicator/",e.Browser="/browser/",e.BrowserPopupMenu="/browser/popup-menu/",e.Provider="/provider/",e.BrowserPopupMenuSharePage="/browser/popup-menu/share-page/",e.BrowserPopupMenuSavePage="/browser/popup-menu/save-page/",e.BrowserPopupMenuLayouts="/browser/popup-menu/layouts/layouts/",e.BrowserPopupMenuColorLinking="/browser/popup-menu/color-linking/color-linking/",e.BrowserIndicator="/browser/indicator/",e.ResponseModal="/browser/popup-menu/response-modal/",e.Docs="/provider/docs/",e.Storefront="/storefront/",e.DeprecatedAlert="/provider/deprecated-alert/"}(Fn||(Fn={})),function(e){e.IconOpenFinLogo="/icons/openfinlogo.svg",e.IconFilter="/icons/filter.svg"}(Ln||(Ln={}));const $n=h+{...Ln,...Fn}.Browser,Bn=(e,t)=>{if(Array.isArray(t))return t};function Dn(e,t){const n=jn()({},t,e,Bn);return n.detachOnClose=!0,n}async function Mn(e,t,n){const r=e.manifestUrl?await t({manifestUrl:e.manifestUrl},n):void 0;if((null==r?void 0:r.interop)&&e.interop){const t={...e,...r,interop:e.interop};return delete t.manifestUrl,t}return e}const xn=e=>{var t,n;const r=e.name===C.Home,o=null===(t=e.name)||void 0===t?void 0:t.startsWith(C.HomeInternal),a=null===(n=e.name)||void 0===n?void 0:n.startsWith(C.BrowserMenu);return!r&&!o&&!a},Gn=e=>"workspacePlatform"in e?e:(({workstacks:e,pages:t,...n})=>({...n,workspacePlatform:{pages:t||e||null}}))(e),Nn={contextMenuSettings:{reload:!1},url:$n,contextMenu:!0,waitForPageLoad:!0,cornerRounding:{height:8,width:8},closeOnLastViewRemoved:!1,experimental:{showFavicons:!0,defaultFaviconUrl:`${h}/icons/defaultFavicon.svg`},permissions:{System:{openUrlWithBrowser:{enabled:!0,protocols:["mailto"]}}}},zn={dimensions:{borderWidth:3,headerHeight:30}},Vn=e=>{const t=fin.Window.wrapSync(e);return Promise.all([t.bringToFront(),t.restore(),t.focus()])};const qn=e=>async t=>{class n extends t{constructor(){super(...arguments),this.isWorkspacePlatform=()=>!0,this.getSavedPage=Ue,this.getSavedPages=je,this.createSavedPage=$e,this.deleteSavedPage=Be,this.updateSavedPage=De,this.attachPagesToWindow=le,this.addPage=le,this.detachPagesFromWindow=fe,this.getAllAttachedPages=re,this.getPagesForWindow=he,this.getPageForWindow=we,this.setActivePage=ge,this.launchApp=In,this.savePage=de,this.createSavedPageInternal=se,this.updateSavedPageInternal=ue,this.deleteSavedPageInternal=ce,this.reorderPagesForWindow=ye,this.getUniquePageTitle=Pe,this.updatePageForWindow=pe,this.getLastFocusedBrowserWindow=z,this.getThemes=I}async getSnapshot(){const e=await async function(e){const t=await $();return await Promise.all(t.map((({identity:e})=>(async e=>(await ee(e)).dispatch(Z.UpdatePagesWindowOptions))(e)))),e?e():Ce()}((async()=>Ce(await super.getSnapshot(void 0,fin.me.identity))));return{...e,windows:e.windows.filter(xn)}}async applySnapshot({snapshot:e,options:t}){(null==t?void 0:t.closeExistingWindows)&&await async function(){const e=await $();await Promise.all(e.map((e=>e.close(!0).catch((()=>{})))))}();let n=e;return"string"==typeof n&&(n=await super.fetchManifest({manifestUrl:n},fin.me.identity)),async function(e,t){var n;const r=await re(),o=(null===(n=e.snapshotDetails)||void 0===n?void 0:n.monitorInfo)||await fin.System.getMonitorInfo(),a=(e.windows||[]).filter((({layout:e})=>!!e)),i=new Map;r.forEach((e=>i.set(e.pageId,e)));const s=[],c=a.map((async e=>{var t;const n=Gn(e),r=[],o=(e=>{let t=!1;const n=(e||[]).map((e=>{const n={pageId:(r=e).pageId||r.id,title:r.title||r.name,isReadOnly:r.isReadOnly,layout:r.layout,isActive:r.isActive};var r;return t&&n.isActive&&(n.isActive=!1),n.isActive&&(t=!0),n}));return!t&&n.length&&(n[0].isActive=!0),n})(null===(t=null==n?void 0:n.workspacePlatform)||void 0===t?void 0:t.pages);if(!(null==o?void 0:o.length)){const e=await Pe();r.push(await(async(e,t)=>{const n=await(async e=>({...e,layoutDetails:{machineId:await Ee(),machineName:Oe()}}))(t);return{pageId:Tn(),title:e,layout:n,isReadOnly:!1,hasUnsavedChanges:!0}})(e,n.layout))}let a;o.forEach((e=>{const t=i.get(e.pageId);t?a=t:r.push(e)})),a&&await Promise.all([ge({identity:a.parentIdentity,pageId:a.pageId}),Vn(a.parentIdentity)]),r.length&&s.push({...n,workspacePlatform:{...n.workspacePlatform,pages:r}})}));if(await Promise.all(c),!s.length)return;const u=fin.Platform.getCurrentSync();return(t||u.applySnapshot.bind(u))({...e,snapshotDetails:{...e.snapshotDetails,monitorInfo:o},windows:s})}(n,(e=>super.applySnapshot({snapshot:e,options:{...t,closeExistingWindows:!1}})))}async createWindow(t,n){let r=Gn(t);return r=((e,t)=>{var n;let r=e;const o=null===(n=null==r?void 0:r.workspacePlatform)||void 0===n?void 0:n.pages;if(o){const e=o.find((e=>e.isActive));e?r.layout=e.layout:(o[0].isActive=!0,r.layout=o[0].layout)}if(r.layout){r=jn()({},t,r,Nn,Bn),r.layout=jn()(r.layout,zn,Bn),(r.icon||r.taskbarIcon)&&(r.taskbarIconGroup=r.taskbarIconGroup||fin.me.identity.uuid);const e=r.workspacePlatform.newTabUrl;e&&(r.layout.settings||(r.layout.settings={}),r.layout.settings.newTabButton={url:e})}return r})(r,e.defaultWindowOptions),r=await(async e=>{const t=await fin.System.getMonitorInfo(),n=t.primaryMonitor.availableRect.bottom-t.primaryMonitor.availableRect.top,r=t.primaryMonitor.availableRect.right-t.primaryMonitor.availableRect.left;return e.defaultHeight=e.defaultHeight||"800",e.defaultWidth=e.defaultWidth||"800",n<e.defaultHeight&&(e.defaultHeight=n),r<e.defaultWidth&&(e.defaultWidth=r),e})(r),super.createWindow(r,n)}async createView(t,n){return t.opts=Dn(t.opts,e.defaultViewOptions),t.opts=await Mn(t.opts,this.fetchManifest,n),super.createView(t,n)}async replaceView(t,n){return t.opts.newView=await Dn(t.opts.newView,e.defaultViewOptions),t.opts.newView=await Mn(t.opts.newView,this.fetchManifest,n),super.replaceView(t,n)}async replaceLayout(e,t){var n;return null===(n=e.opts.layout)||void 0===n||delete n.dimensions,super.replaceLayout(e,t)}async closeView(e,t){const n=fin.View.wrapSync(e.view);await super.closeView(e,t),await n.destroy().catch((e=>e))}}return"function"==typeof(null==e?void 0:e.overrideCallback)?e.overrideCallback(n):new n};async function Hn(){(function(){const e=E(R);e.addListener(O.WindowOptionsChanged,Ie),e.addListener(O.WindowClosed,Ae),e.addListener(O.WindowCreated,Ae)})(),async function(){const e=fin.Application.getCurrentSync();await e.addListener("window-focused",V)}(),f!==o.Local&&U().addListener(T.ShowRequested,(()=>async function(e){const t=F(e);await t.blur(),await t.hide()}(L)))}let Yn;const Kn=async e=>{const t="23.96.67.7".split(".").map((e=>parseInt(e))),n=await(async e=>new Promise((async t=>{const n=(await fin.System.getVersion()).split(".").map((e=>parseInt(e)));t(e.every(((t,r)=>!(r<3)||n[r]===e[r])))})))(t),r=null==e?void 0:e.theme;var o;if(r&&((o=r).forEach((e=>{const t=e.palette.backgroundPrimary;if(!t.includes("#")&&!t.includes("rgb")&&!t.includes("hsl"))throw new Error("Background primary color is not the right format.")})),_=o),n)return function(e){if(!i)throw new Error("Cannot be used outside an OpenFin env.");return Yn||(fin.Platform.getCurrentSync().once("platform-api-ready",(()=>Hn())),Yn=fin.Platform.init({overrideCallback:qn(e),interopOverride:null==e?void 0:e.interopOverride})),Yn}(null==e?void 0:e.browser);throw new Error(`Runtime version is not supported. ${t[0]}.${t[1]}.${t[2]}.* is required`)},Jn=e=>(e=>{const t=fin.Platform.wrapSync(e);return Object.assign(t,{applySnapshot:async t=>{if("string"!=typeof t&&!(null==t?void 0:t.windows))throw new Error("Not a valid browser snapshot");return fin.Platform.wrapSync(e).applySnapshot(t)},getSnapshot:()=>fin.Platform.wrapSync(e).getSnapshot().then((e=>e)),launchApp:async t=>(t.target||(t.target={uuid:d,name:l,entityType:p||"unknown"}),(await v(e)).dispatch(w.LaunchApp,t)),Theme:b(e),Browser:P(e),Storage:S(e)})})(e),Zn=()=>Jn(fin.me.identity)})(),module.exports=r})();
2
2
  //# sourceMappingURL=index.js.map