@jupyterlab/mainmenu-extension 4.2.0-alpha.1 → 4.2.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -46,8 +46,5 @@ export declare namespace CommandIDs {
46
46
  const getKernel = "helpmenu:get-kernel";
47
47
  const openFirst = "mainmenu:open-first";
48
48
  }
49
- /**
50
- * A service providing an interface to the main menu.
51
- */
52
- declare const plugin: JupyterFrontEndPlugin<IMainMenu>;
53
- export default plugin;
49
+ declare const _default: (JupyterFrontEndPlugin<void> | JupyterFrontEndPlugin<IMainMenu>)[];
50
+ export default _default;
package/lib/index.js CHANGED
@@ -15,6 +15,7 @@ import { fastForwardIcon, refreshIcon, runIcon, stopIcon } from '@jupyterlab/ui-
15
15
  import { find } from '@lumino/algorithm';
16
16
  import { JSONExt } from '@lumino/coreutils';
17
17
  import { Widget } from '@lumino/widgets';
18
+ import { recentsMenuPlugin } from './recents';
18
19
  const PLUGIN_ID = '@jupyterlab/mainmenu-extension:plugin';
19
20
  /**
20
21
  * A namespace for command IDs of semantic extension points.
@@ -448,7 +449,7 @@ function createHelpMenu(app, menu, trans) {
448
449
  isVisible: false
449
450
  }, trans));
450
451
  }
451
- export default plugin;
452
+ export default [plugin, recentsMenuPlugin];
452
453
  /**
453
454
  * A namespace for Private data.
454
455
  */
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,OAAO,EAGR,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAKL,SAAS,EAIT,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAqB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,eAAe,EAEf,WAAW,EACX,OAAO,EACP,QAAQ,EACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAQ,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAE1D;;GAEG;AACH,MAAM,KAAW,UAAU,CA2E1B;AA3ED,WAAiB,UAAU;IACZ,mBAAQ,GAAG,eAAe,CAAC;IAE3B,eAAI,GAAG,eAAe,CAAC;IAEvB,eAAI,GAAG,eAAe,CAAC;IAEvB,uBAAY,GAAG,wBAAwB,CAAC;IAExC,mBAAQ,GAAG,oBAAoB,CAAC;IAEhC,eAAI,GAAG,eAAe,CAAC;IAEvB,mBAAQ,GAAG,qBAAqB,CAAC;IAEjC,mBAAQ,GAAG,eAAe,CAAC;IAE3B,0BAAe,GAAG,4BAA4B,CAAC;IAE/C,wBAAa,GAAG,yBAAyB,CAAC;IAE1C,mBAAQ,GAAG,mBAAmB,CAAC;IAE/B,iBAAM,GAAG,iBAAiB,CAAC;IAE3B,qBAAU,GAAG,iBAAiB,CAAC;IAE/B,0BAAe,GAAG,sBAAsB,CAAC;IAEzC,4BAAiB,GAAG,gCAAgC,CAAC;IAErD,wBAAa,GAAG,oBAAoB,CAAC;IAErC,gCAAqB,GAAG,8BAA8B,CAAC;IAEvD,uBAAY,GAAG,mBAAmB,CAAC;IAEnC,yBAAc,GAAG,qBAAqB,CAAC;IAEvC,6BAAkB,GAAG,wBAAwB,CAAC;IAE9C,mBAAQ,GAAG,eAAe,CAAC;IAE3B,mBAAQ,GAAG,oBAAoB,CAAC;IAEhC,wBAAa,GAAG,yBAAyB,CAAC;IAE1C,wBAAa,GAAG,yBAAyB,CAAC;IAE1C,kBAAO,GAAG,cAAc,CAAC;IAEzB,cAAG,GAAG,aAAa,CAAC;IAEpB,iBAAM,GAAG,iBAAiB,CAAC;IAE3B,2BAAgB,GAAG,6BAA6B,CAAC;IAEjD,mBAAQ,GAAG,mBAAmB,CAAC;IAE/B,mBAAQ,GAAG,mBAAmB,CAAC;IAE/B,mBAAQ,GAAG,eAAe,CAAC;IAE3B,uBAAY,GAAG,yBAAyB,CAAC;IAEzC,oCAAyB,GACpC,uCAAuC,CAAC;IAE7B,uBAAY,GAAG,mBAAmB,CAAC;IAEnC,mBAAQ,GAAG,eAAe,CAAC;IAE3B,oBAAS,GAAG,qBAAqB,CAAC;IAElC,oBAAS,GAAG,qBAAqB,CAAC;AACjD,CAAC,EA3EgB,UAAU,KAAV,UAAU,QA2E1B;AAED;;GAEG;AACH,MAAM,MAAM,GAAqC;IAC/C,EAAE,EAAE,SAAS;IACb,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAChC,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,gBAAgB,CAAC;IACxD,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,KAAK,EACb,GAAoB,EACpB,MAAe,EACf,UAAuB,EACvB,OAA+B,EAC/B,QAA0B,EAC1B,QAAiC,EACb,EAAE;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACzB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAEnC,2BAA2B;QAC3B,IAAI,QAAQ,EAAE;YACZ,MAAM,OAAO,CAAC,gBAAgB,CAC5B,QAAQ,EACR,CAAC,KAAiB,EAAE,EAAE;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC,EACD,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAC1D,UAAU,CACX,CAAC;YAEF,wBAAwB;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QAED,4EAA4E;QAC5E,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,UAAU,KAAK,MAAM,CAAC;QAEhD,gCAAgC;QAChC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9C,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE1C,mDAAmD;QACnD,IAAI,QAAQ,EAAE;YACZ,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;SACrD;QAED,sDAAsD;QACtD,MAAM,YAAY,GAAG,CAAC,IAAU,EAAE,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEF,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE;YACzC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;SAC7C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE;YACtC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;YAChC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;SAC1C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,EAAE;YAC3C,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC;YACrC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;SAC/C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE;YACxC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACX,gEAAgE;YAChE,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,UAAU,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,UAAU,CAAC,MAAM;gBAC1B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;aAChC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,UAAU,CAAC,kBAAkB;gBACtC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC;aACxC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,UAAU,CAAC,yBAAyB;gBAC7C,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;aAChC,CAAC,CAAC;SACJ;QAED,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,cAAc,CACrB,GAAoB,EACpB,IAAe,EACf,KAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,gDAAgD;IAChD,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,IAAI,EACf,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;KACxB,EACD,KAAK,CACN,CACF,CAAC;IACF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,IAAI,EACf,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;KACxB,EACD,KAAK,CACN,CACF,CAAC;IAEF,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,YAAY,EACvB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC1B;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;KACzB,EACD,KAAK,CACN,CACF,CAAC;IACF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,QAAQ,EACnB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;KAC7B,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,QAAQ,EACnB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,UAAU,EACf;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC;KAC/B,EACD,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,GAAoB,EACpB,IAAe,EACf,MAAe,EACf,KAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,mEAAmE;IACnE,8DAA8D;IAC9D,sDAAsD;IACtD,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE;QAC9C,GAAG,qBAAqB,CACtB,GAAG,EACH,IAAI,CAAC,gBAAgB,EACrB;YACE,OAAO,EAAE,mBAAmB;YAC5B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC;YACtC,SAAS,EAAE,IAAI;SAChB,EACD,KAAK,CACN;QACD,SAAS,EAAE,GAAG,EAAE,CACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ;KACxE,CAAC,CAAC;IAEH,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,aAAa,EACxB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,eAAe,EACpB;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC;KAC5C,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC;QACzC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;QAC/B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;QAC/B,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,UAAU,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC;gBACxC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,kDAAkD,CAAC;gBAClE,OAAO,EAAE;oBACP,MAAM,CAAC,YAAY,EAAE;oBACrB,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;iBACpD;aACF,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;gBACrB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;oBAE5D,4EAA4E;oBAC5E,8EAA8E;oBAC9E,IAAI;wBACF,MAAM,OAAO,CAAC,GAAG,CAAC;4BAChB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE;4BACzC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE;yBAC3C,CAAC,CAAC;qBACJ;oBAAC,OAAO,CAAC,EAAE;wBACV,aAAa;wBACb,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,EAAE,CAAC,CAAC;qBAChE;oBAED,OAAO,gBAAgB,CAAC,WAAW,CACjC,MAAM,EACN,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,OAAO,CACR;yBACE,IAAI,CAAC,MAAM,CAAC,EAAE;wBACb,IAAI,MAAM,CAAC,EAAE,EAAE;4BACb,gEAAgE;4BAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;4BACvC,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CACvB,oEAAoE,CACrE,CAAC;4BACF,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;4BACvC,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CACvB,wDAAwD,CACzD,CAAC;4BAEF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;4BACrB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;4BACrB,KAAK,UAAU,CAAC;gCACd,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;gCACjC,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCAChC,OAAO,EAAE,EAAE;6BACZ,CAAC,CAAC;4BACH,MAAM,CAAC,KAAK,EAAE,CAAC;yBAChB;6BAAM;4BACL,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;yBAClD;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC,IAAI,CAAC,EAAE;wBACZ,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;iBACN;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE;QACrC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC;QAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;QAC/B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;QAC/B,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,GAAoB,EACpB,IAAiB,EACjB,KAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE;QAC9C,GAAG,qBAAqB,CACtB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,eAAe,EAChC;YACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC;SAC1C,EACD,KAAK,CACN;QACD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;KACpD,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,iBAAiB,EAC5B,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAClC;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC;KACvC,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE;QAC5C,GAAG,qBAAqB,CACtB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B;YACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC;YAClC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC;SACxC,EACD,KAAK,CACN;QACD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;KACvD,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,qBAAqB,EAChC,qBAAqB,CACnB,GAAG,EACH,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC9D;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC;KAC7C,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,YAAY,EACvB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7B;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;KAClC,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,cAAc,EACzB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC;KACtC,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE;QACjD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;QACzC,SAAS,EAAE,GAAG,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,UAAU,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;gBACjC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC;gBACxC,OAAO,EAAE;oBACP,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;iBACxD;aACF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACf,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;oBACxB,OAAO,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;iBAClD;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,GAAoB,EACpB,IAAe,EACf,KAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,aAAa,EACxB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,EACpC;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC;KACrC,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,aAAa,EACxB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,aAAa,CAAC,mBAAmB,EACtC;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC;KAClC,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,QAAQ,EACnB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,aAAa,CAAC,cAAc,EACjC;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC;KAC9B,EACD,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,GAAoB,EACpB,IAAc,EACd,KAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;QAClC,GAAG,qBAAqB,CACtB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB;YACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC;YAC/B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC;SAClC,EACD,KAAK,CACN;QACD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;KACnD,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,CACjB,UAAU,CAAC,MAAM,EACjB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;KAC7B,EACD,KAAK,CACN,CACF,CAAC;IAEF,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,EAAE;QAC/C,GAAG,qBAAqB,CACtB,GAAG,EACH,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACnD;YACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC;YAC7C,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC;SAChD,EACD,KAAK,CACN;QACD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,GAAoB,EACpB,IAAe,EACf,QAA0B,EAC1B,KAAwB;IAExB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,8CAA8C;IAC9C,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,6DAA6D;IAC7D,IAAI,UAAuB,CAAC;IAE5B,sCAAsC;IACtC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,EAAE;QAC3C,KAAK,EAAE,IAAI,CAAC,EAAE;YACZ,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;gBACzB,OAAO,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC;aACnD;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QACD,SAAS,EAAE,IAAI,CAAC,EAAE;YAChB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAE,IAAI,CAAC,IAAI,CAAY,IAAI,EAAE,CAAC;KACtE,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,wCAAwC;IACxC,iCAAiC;IACjC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,EAAE;QACxD,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAAC;QAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;KAC7E,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,0CAA0C;YAC1C,2CAA2C;YAC3C,eAAe;YACf,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,+BAA+B;gBAC/B,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;oBACxC,UAAU,CAAC,OAAO,EAAE,CAAC;iBACtB;gBACD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEpB,IAAI,2BAA2B,GAAG,KAAK,CAAC;gBACxC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC9C,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE;wBAC5B,2BAA2B,GAAG,IAAI,CAAC;qBACpC;oBACD,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,UAAU,CAAC,YAAY;wBAChC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;qBACxB,CAAC,CAAC;iBACJ;gBACD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACxC,UAAU,GAAG,2BAA2B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,CAAC,CAAC;YACF,YAAY,EAAE,CAAC;YACf,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,YAAY,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,qEAAqE;YACrE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC7B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO;iBACR;gBACD,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,GAAoB,EACpB,IAAe,EACf,KAAwB;IAExB,GAAG,CAAC,QAAQ,CAAC,UAAU,CACrB,UAAU,CAAC,SAAS,EACpB,qBAAqB,CACnB,GAAG,EACH,IAAI,CAAC,SAAS,EACd;QACE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC;QAC7B,SAAS,EAAE,KAAK;KACjB,EACD,KAAK,CACN,CACF,CAAC;AACJ,CAAC;AAED,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE3C;;GAEG;AACH,IAAU,OAAO,CAyKhB;AAzKD,WAAU,OAAO;IACf,KAAK,UAAU,kBAAkB,CAAC,KAAwB;QACxD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,EAAE,CACZ,wFAAwF,CACzF;YACD,OAAO,EAAE;gBACP,MAAM,CAAC,YAAY,EAAE;gBACrB,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC/C;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YACxB,QAAQ,CAAC,MAAM,EAAE,CAAC;SACnB;IACH,CAAC;IAEM,KAAK,UAAU,gBAAgB,CACpC,QAA0B,EAC1B,OAA6B,EAC7B,WAA4D,EAC5D,UAAuB;;QAEvB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAoC,IAAI,CAAC;QACtD,IAAI,MAAM,GAAiD,EAAE,CAAC;QAE9D;;WAEG;QACH,SAAS,QAAQ,CAAC,MAAgC;;YAChD,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACjD,GAAG,CAAC,MAAM,CAAC,EAAE;;gBACZ,MAAM,KAAK,GACT,MAAA,MAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAC;gBACpE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,MAAA,MAAA,MAAM,CAAC,mBAAmB,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;iBACjD,WAAW,CACV,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAC5D,MAAM,CAAC,UAAW,CAAC,KAAK,CAAC,OAAgB,CAC1C,CAAC;YAEJ,uEAAuE;YACvE,gFAAgF;YAChF,iCAAiC;YACjC,MAAM,CAAC,UAAW,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,cAAc,CAC/D,cAAc,EACd,MAAM,CAAC,UAAW,CAAC,KAAK,CAAC,OAAgB,EACzC,IAAI,CACL;gBACC,oBAAoB;iBACnB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,QAAQ,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,QAAQ,CAAC,CAAA,EAAA,CAAC,CAAC;QACjE,CAAC;QAED,2EAA2E;QAC3E,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,OAAO,EAAE,MAAM,CAAC,EAAE;;gBAChB,qDAAqD;gBACrD,IAAI,CAAC,SAAS,EAAE;oBACd,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5C,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACrB;gBAED,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,SAAS,CAAC,UAAU,0CAAE,KAAK,0CAAE,OAAO,mCAAI,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG;oBACX,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI;oBACnB,KAAK,EAAE,MAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,mCAAI,EAAE;iBACpC,CAAC;gBACF,MAAM,SAAS,GAAG;oBAChB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS;oBACxB,KAAK,EAAE,eAAe,CAAC,cAAc,CACnC,QAAoC,EACpC,IAAI,CAAC,KAAiC,CACvC;iBACF,CAAC;gBAEF,MAAM,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAElC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,KAAK,EAAE,MAAM,CAAC,EAAE;gBACd,qDAAqD;gBACrD,IAAI,CAAC,SAAS,EAAE;oBACd,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5C,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACrB;gBAED,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,mEAAmE;QACnE,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,YAAY,GAChB,MAAA,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAY,CAAC,mCAAI,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,KAAK,EAAQ,CAAC;QAChC,uCAAuC;QACvC,WAAW,CAAC,WAAW,CACrB,YAAY;aACT,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC9B,GAAG,CAAC,IAAI,CAAC,EAAE;;YACV,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,eAAe,CAAC,mBAAmB,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC,CAAC,EACJ,WAAW,CACZ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;;YAC5B,6EAA6E;YAC7E,yBAAyB;YACzB,MAAM,QAAQ,GAAG,MAAC,QAAQ,CAAC,SAAS,CAAC,KAAa,mCAAI,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;gBAC9C,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;;YACtD,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,kCAAkC;gBAClC,MAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;gBACtC,MAAM,QAAQ,GACZ,MAAA,MAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,0CAAE,IAAI,mCAAI,EAAE,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;wBAClB,qFAAqF;wBACrF,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;qBACjC;yBAAM;wBACL,2EAA2E;wBAC3E,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC5C,iCAAiC;wBACjC,MAAM,KAAK,GAAG,eAAe,CAAC,cAAc,CAC1C,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,CACN;6BACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;6BAC9B,GAAG,CAAC,IAAI,CAAC,EAAE;;4BACV,OAAO;gCACL,GAAG,IAAI;gCACP,KAAK,EAAE,eAAe,CAAC,mBAAmB,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;6BAC7D,CAAC;wBACJ,CAAC,CAAC,CAAC;wBAEL,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BAChE,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC,CAAC,CAAC;qBACJ;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAtJqB,wBAAgB,mBAsJrC,CAAA;AACH,CAAC,EAzKS,OAAO,KAAP,OAAO,QAyKhB"}
@@ -0,0 +1,5 @@
1
+ import { JupyterFrontEndPlugin } from '@jupyterlab/application';
2
+ /**
3
+ * Add recent files and directories to sub-menu.
4
+ */
5
+ export declare const recentsMenuPlugin: JupyterFrontEndPlugin<void>;
package/lib/recents.js ADDED
@@ -0,0 +1,200 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { PathExt } from '@jupyterlab/coreutils';
6
+ import { showErrorMessage } from '@jupyterlab/apputils';
7
+ import { IRecentsManager } from '@jupyterlab/docmanager';
8
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
9
+ import { IFileBrowserCommands } from '@jupyterlab/filebrowser';
10
+ import { IMainMenu } from '@jupyterlab/mainmenu';
11
+ import { Menu } from '@lumino/widgets';
12
+ import { PromiseDelegate } from '@lumino/coreutils';
13
+ const PLUGIN_ID = '@jupyterlab/mainmenu-extension:recents';
14
+ /**
15
+ * A namespace for command IDs.
16
+ */
17
+ var CommandIDs;
18
+ (function (CommandIDs) {
19
+ /**
20
+ * Open a recent document or directory
21
+ */
22
+ CommandIDs.openRecent = 'recentmenu:open-recent';
23
+ /**
24
+ * Reopen recently closed tab
25
+ */
26
+ CommandIDs.reopenLast = 'recentmenu:reopen-last';
27
+ /**
28
+ * Clear recent documents and directories (implemented in docmanager)
29
+ */
30
+ CommandIDs.clearRecents = 'docmanager:clear-recents';
31
+ })(CommandIDs || (CommandIDs = {}));
32
+ /**
33
+ * Recents submenu
34
+ *
35
+ * It will trigger validation onBeforeAttach.
36
+ */
37
+ class RecentsMenu extends Menu {
38
+ constructor(options) {
39
+ super(options);
40
+ this._manager = options.manager;
41
+ this._showDirectories = options.showDirectories;
42
+ this._manager.changed.connect(this.updateItems, this);
43
+ }
44
+ async _validateRecentlyOpened() {
45
+ return void Promise.all(this._manager.recentlyOpened.map(recent => this._manager.validate(recent)));
46
+ }
47
+ onBeforeAttach(msg) {
48
+ const timeout = new PromiseDelegate();
49
+ setTimeout(() => {
50
+ timeout.reject('Recents validation timed out.');
51
+ }, 550);
52
+ Promise.race([timeout.promise, this._validateRecentlyOpened()])
53
+ .then(() => {
54
+ this.update();
55
+ })
56
+ .catch(() => {
57
+ // no-op
58
+ });
59
+ super.onBeforeAttach(msg);
60
+ }
61
+ updateItems() {
62
+ // We cannot edit the item list on the fly because it will close
63
+ // the menu - so we use `isEnabled` in the command and trigger a
64
+ // UI update to emulate that; while `isVisible` would work too,
65
+ // that could cause the user to mis-clicks when items move around
66
+ // because another item was hidden.
67
+ this.clearItems();
68
+ this.addItem({
69
+ command: CommandIDs.reopenLast
70
+ });
71
+ this.addItem({ type: 'separator' });
72
+ let addSeparator = true;
73
+ let anyDirectory = false;
74
+ this._manager.recentlyOpened
75
+ .sort((a, b) => {
76
+ if (a.contentType === b.contentType) {
77
+ return 0;
78
+ }
79
+ else {
80
+ return a.contentType !== 'directory' ? 1 : -1;
81
+ }
82
+ })
83
+ .forEach((recent) => {
84
+ const isDirectory = recent.contentType === 'directory';
85
+ if (isDirectory) {
86
+ if (!this._showDirectories) {
87
+ return;
88
+ }
89
+ anyDirectory = true;
90
+ }
91
+ else if (addSeparator && anyDirectory) {
92
+ addSeparator = false;
93
+ this.addItem({ type: 'separator' });
94
+ }
95
+ this.addItem({
96
+ command: CommandIDs.openRecent,
97
+ args: { recent }
98
+ });
99
+ });
100
+ this.addItem({ type: 'separator' });
101
+ this.addItem({
102
+ command: CommandIDs.clearRecents
103
+ });
104
+ }
105
+ }
106
+ /**
107
+ * Add recent files and directories to sub-menu.
108
+ */
109
+ export const recentsMenuPlugin = {
110
+ id: PLUGIN_ID,
111
+ description: 'Adds sub-menu for opening recent documents to the File section of the main menu.',
112
+ autoStart: true,
113
+ requires: [IRecentsManager, IMainMenu],
114
+ optional: [IFileBrowserCommands, ITranslator],
115
+ activate: (app, recentsManager, mainMenu, fileBrowserCommands, translator) => {
116
+ const { commands } = app;
117
+ const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
118
+ // Do not show directories if the file browser is not present
119
+ const showDirectories = fileBrowserCommands !== null;
120
+ const validate = async (recent) => {
121
+ // If path is not found, validating will remove it
122
+ const isValid = await recentsManager.validate(recent);
123
+ if (!isValid) {
124
+ await showErrorMessage(trans.__('Could Not Open Recent'), trans.__('%1 is no longer valid and will be removed from the list', recent.path));
125
+ }
126
+ return isValid;
127
+ };
128
+ // Commands
129
+ commands.addCommand(CommandIDs.openRecent, {
130
+ execute: async (args) => {
131
+ const recent = args.recent;
132
+ const path = recent.path === '' ? '/' : recent.path;
133
+ const isValid = await validate(recent);
134
+ if (!isValid) {
135
+ return;
136
+ }
137
+ if (fileBrowserCommands && recent.contentType === 'directory') {
138
+ // Note: prefer file browser (if available) to allow opening directories
139
+ await commands.execute(fileBrowserCommands.openPath, { path });
140
+ }
141
+ else {
142
+ await commands.execute('docmanager:open', {
143
+ path,
144
+ factory: recent.factory
145
+ });
146
+ }
147
+ },
148
+ label: args => {
149
+ const recent = args.recent;
150
+ if (recent) {
151
+ return PathExt.joinWithLeadingSlash(recent.root, recent.path);
152
+ }
153
+ else {
154
+ return trans.__('Open a Recent Document (given by `recent` argument)');
155
+ }
156
+ },
157
+ isEnabled: args => recentsManager.recentlyOpened.includes(args.recent)
158
+ });
159
+ app.commands.addCommand(CommandIDs.reopenLast, {
160
+ execute: async () => {
161
+ const recent = recentsManager.recentlyClosed[0];
162
+ if (!recent) {
163
+ return;
164
+ }
165
+ const isValid = await validate(recent);
166
+ if (!isValid) {
167
+ return;
168
+ }
169
+ await commands.execute('docmanager:open', {
170
+ path: recent.path,
171
+ factory: recent.factory
172
+ });
173
+ recentsManager.removeRecent(recent, 'closed');
174
+ },
175
+ label: () => {
176
+ const recent = recentsManager.recentlyClosed[0];
177
+ return recent
178
+ ? trans.__('Reopen %1', recent.path)
179
+ : trans.__('Reopen Closed Document');
180
+ },
181
+ isEnabled: () => {
182
+ return recentsManager.recentlyClosed.length !== 0;
183
+ },
184
+ caption: trans.__('Reopen recently closed file or notebook.')
185
+ });
186
+ // Menu
187
+ const submenu = new RecentsMenu({
188
+ commands,
189
+ manager: recentsManager,
190
+ showDirectories
191
+ });
192
+ submenu.title.label = trans.__('Open Recent');
193
+ mainMenu.fileMenu.addItem({
194
+ type: 'submenu',
195
+ submenu,
196
+ rank: 1
197
+ });
198
+ }
199
+ };
200
+ //# sourceMappingURL=recents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recents.js","sourceRoot":"","sources":["../src/recents.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/mainmenu-extension",
3
- "version": "4.2.0-alpha.1",
3
+ "version": "4.2.0-alpha.2",
4
4
  "description": "JupyterLab - Main Menu Extension",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -38,17 +38,20 @@
38
38
  "watch": "tsc -b --watch"
39
39
  },
40
40
  "dependencies": {
41
- "@jupyterlab/application": "^4.2.0-alpha.1",
42
- "@jupyterlab/apputils": "^4.3.0-alpha.1",
43
- "@jupyterlab/coreutils": "^6.2.0-alpha.1",
44
- "@jupyterlab/mainmenu": "^4.2.0-alpha.1",
45
- "@jupyterlab/services": "^7.2.0-alpha.1",
46
- "@jupyterlab/settingregistry": "^4.2.0-alpha.1",
47
- "@jupyterlab/translation": "^4.2.0-alpha.1",
48
- "@jupyterlab/ui-components": "^4.2.0-alpha.1",
41
+ "@jupyterlab/application": "^4.2.0-alpha.2",
42
+ "@jupyterlab/apputils": "^4.3.0-alpha.2",
43
+ "@jupyterlab/coreutils": "^6.2.0-alpha.2",
44
+ "@jupyterlab/docmanager": "^4.2.0-alpha.2",
45
+ "@jupyterlab/filebrowser": "^4.2.0-alpha.2",
46
+ "@jupyterlab/mainmenu": "^4.2.0-alpha.2",
47
+ "@jupyterlab/services": "^7.2.0-alpha.2",
48
+ "@jupyterlab/settingregistry": "^4.2.0-alpha.2",
49
+ "@jupyterlab/translation": "^4.2.0-alpha.2",
50
+ "@jupyterlab/ui-components": "^4.2.0-alpha.2",
49
51
  "@lumino/algorithm": "^2.0.1",
50
52
  "@lumino/coreutils": "^2.1.2",
51
53
  "@lumino/disposable": "^2.1.2",
54
+ "@lumino/messaging": "^2.0.1",
52
55
  "@lumino/widgets": "^2.3.1"
53
56
  },
54
57
  "devDependencies": {
@@ -306,6 +306,11 @@
306
306
  "command": "tabsmenu:activate-previously-used-tab",
307
307
  "keys": ["Accel Shift '"],
308
308
  "selector": "body"
309
+ },
310
+ {
311
+ "command": "recentmenu:reopen-last",
312
+ "keys": ["Accel Shift T"],
313
+ "selector": "body"
309
314
  }
310
315
  ],
311
316
  "jupyter.lab.transform": true,
package/src/index.ts CHANGED
@@ -44,6 +44,7 @@ import { find } from '@lumino/algorithm';
44
44
  import { JSONExt } from '@lumino/coreutils';
45
45
  import { IDisposable } from '@lumino/disposable';
46
46
  import { Menu, Widget } from '@lumino/widgets';
47
+ import { recentsMenuPlugin } from './recents';
47
48
 
48
49
  const PLUGIN_ID = '@jupyterlab/mainmenu-extension:plugin';
49
50
 
@@ -759,7 +760,7 @@ function createHelpMenu(
759
760
  );
760
761
  }
761
762
 
762
- export default plugin;
763
+ export default [plugin, recentsMenuPlugin];
763
764
 
764
765
  /**
765
766
  * A namespace for Private data.
package/src/recents.ts ADDED
@@ -0,0 +1,238 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+
6
+ import {
7
+ JupyterFrontEnd,
8
+ JupyterFrontEndPlugin
9
+ } from '@jupyterlab/application';
10
+ import { PathExt } from '@jupyterlab/coreutils';
11
+ import { showErrorMessage } from '@jupyterlab/apputils';
12
+ import { IRecentsManager, RecentDocument } from '@jupyterlab/docmanager';
13
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
14
+ import { IFileBrowserCommands } from '@jupyterlab/filebrowser';
15
+ import { IMainMenu } from '@jupyterlab/mainmenu';
16
+ import { Menu } from '@lumino/widgets';
17
+ import { PromiseDelegate } from '@lumino/coreutils';
18
+ import { Message } from '@lumino/messaging';
19
+
20
+ const PLUGIN_ID = '@jupyterlab/mainmenu-extension:recents';
21
+
22
+ /**
23
+ * A namespace for command IDs.
24
+ */
25
+ namespace CommandIDs {
26
+ /**
27
+ * Open a recent document or directory
28
+ */
29
+ export const openRecent = 'recentmenu:open-recent';
30
+ /**
31
+ * Reopen recently closed tab
32
+ */
33
+ export const reopenLast = 'recentmenu:reopen-last';
34
+ /**
35
+ * Clear recent documents and directories (implemented in docmanager)
36
+ */
37
+ export const clearRecents = 'docmanager:clear-recents';
38
+ }
39
+
40
+ /**
41
+ * Recents submenu
42
+ *
43
+ * It will trigger validation onBeforeAttach.
44
+ */
45
+ class RecentsMenu extends Menu {
46
+ constructor(
47
+ options: Menu.IOptions & {
48
+ manager: IRecentsManager;
49
+ showDirectories: boolean;
50
+ }
51
+ ) {
52
+ super(options);
53
+ this._manager = options.manager;
54
+ this._showDirectories = options.showDirectories;
55
+ this._manager.changed.connect(this.updateItems, this);
56
+ }
57
+
58
+ private async _validateRecentlyOpened(): Promise<void> {
59
+ return void Promise.all(
60
+ this._manager.recentlyOpened.map(recent => this._manager.validate(recent))
61
+ );
62
+ }
63
+
64
+ protected onBeforeAttach(msg: Message): void {
65
+ const timeout = new PromiseDelegate<void>();
66
+ setTimeout(() => {
67
+ timeout.reject('Recents validation timed out.');
68
+ }, 550);
69
+ Promise.race([timeout.promise, this._validateRecentlyOpened()])
70
+ .then(() => {
71
+ this.update();
72
+ })
73
+ .catch(() => {
74
+ // no-op
75
+ });
76
+ super.onBeforeAttach(msg);
77
+ }
78
+
79
+ protected updateItems(): void {
80
+ // We cannot edit the item list on the fly because it will close
81
+ // the menu - so we use `isEnabled` in the command and trigger a
82
+ // UI update to emulate that; while `isVisible` would work too,
83
+ // that could cause the user to mis-clicks when items move around
84
+ // because another item was hidden.
85
+ this.clearItems();
86
+ this.addItem({
87
+ command: CommandIDs.reopenLast
88
+ });
89
+ this.addItem({ type: 'separator' });
90
+ let addSeparator = true;
91
+ let anyDirectory = false;
92
+ this._manager.recentlyOpened
93
+ .sort((a: RecentDocument, b: RecentDocument) => {
94
+ if (a.contentType === b.contentType) {
95
+ return 0;
96
+ } else {
97
+ return a.contentType !== 'directory' ? 1 : -1;
98
+ }
99
+ })
100
+ .forEach((recent: RecentDocument) => {
101
+ const isDirectory = recent.contentType === 'directory';
102
+ if (isDirectory) {
103
+ if (!this._showDirectories) {
104
+ return;
105
+ }
106
+ anyDirectory = true;
107
+ } else if (addSeparator && anyDirectory) {
108
+ addSeparator = false;
109
+ this.addItem({ type: 'separator' });
110
+ }
111
+ this.addItem({
112
+ command: CommandIDs.openRecent,
113
+ args: { recent }
114
+ });
115
+ });
116
+ this.addItem({ type: 'separator' });
117
+ this.addItem({
118
+ command: CommandIDs.clearRecents
119
+ });
120
+ }
121
+
122
+ private _manager: IRecentsManager;
123
+ private _showDirectories: boolean;
124
+ }
125
+
126
+ /**
127
+ * Add recent files and directories to sub-menu.
128
+ */
129
+ export const recentsMenuPlugin: JupyterFrontEndPlugin<void> = {
130
+ id: PLUGIN_ID,
131
+ description:
132
+ 'Adds sub-menu for opening recent documents to the File section of the main menu.',
133
+ autoStart: true,
134
+ requires: [IRecentsManager, IMainMenu],
135
+ optional: [IFileBrowserCommands, ITranslator],
136
+ activate: (
137
+ app: JupyterFrontEnd,
138
+ recentsManager: IRecentsManager,
139
+ mainMenu: IMainMenu,
140
+ fileBrowserCommands: IFileBrowserCommands | null,
141
+ translator: ITranslator | null
142
+ ): void => {
143
+ const { commands } = app;
144
+ const trans = (translator ?? nullTranslator).load('jupyterlab');
145
+
146
+ // Do not show directories if the file browser is not present
147
+ const showDirectories = fileBrowserCommands !== null;
148
+
149
+ const validate = async (recent: RecentDocument): Promise<boolean> => {
150
+ // If path is not found, validating will remove it
151
+ const isValid = await recentsManager.validate(recent);
152
+ if (!isValid) {
153
+ await showErrorMessage(
154
+ trans.__('Could Not Open Recent'),
155
+ trans.__(
156
+ '%1 is no longer valid and will be removed from the list',
157
+ recent.path
158
+ )
159
+ );
160
+ }
161
+ return isValid;
162
+ };
163
+
164
+ // Commands
165
+ commands.addCommand(CommandIDs.openRecent, {
166
+ execute: async args => {
167
+ const recent = args.recent as RecentDocument;
168
+ const path = recent.path === '' ? '/' : recent.path;
169
+ const isValid = await validate(recent);
170
+ if (!isValid) {
171
+ return;
172
+ }
173
+ if (fileBrowserCommands && recent.contentType === 'directory') {
174
+ // Note: prefer file browser (if available) to allow opening directories
175
+ await commands.execute(fileBrowserCommands.openPath, { path });
176
+ } else {
177
+ await commands.execute('docmanager:open', {
178
+ path,
179
+ factory: recent.factory
180
+ });
181
+ }
182
+ },
183
+ label: args => {
184
+ const recent = args.recent as RecentDocument | undefined;
185
+ if (recent) {
186
+ return PathExt.joinWithLeadingSlash(recent.root, recent.path);
187
+ } else {
188
+ return trans.__(
189
+ 'Open a Recent Document (given by `recent` argument)'
190
+ );
191
+ }
192
+ },
193
+ isEnabled: args =>
194
+ recentsManager.recentlyOpened.includes(args.recent as RecentDocument)
195
+ });
196
+
197
+ app.commands.addCommand(CommandIDs.reopenLast, {
198
+ execute: async () => {
199
+ const recent = recentsManager.recentlyClosed[0];
200
+ if (!recent) {
201
+ return;
202
+ }
203
+ const isValid = await validate(recent);
204
+ if (!isValid) {
205
+ return;
206
+ }
207
+ await commands.execute('docmanager:open', {
208
+ path: recent.path,
209
+ factory: recent.factory
210
+ });
211
+ recentsManager.removeRecent(recent, 'closed');
212
+ },
213
+ label: () => {
214
+ const recent = recentsManager.recentlyClosed[0];
215
+ return recent
216
+ ? trans.__('Reopen %1', recent.path)
217
+ : trans.__('Reopen Closed Document');
218
+ },
219
+ isEnabled: () => {
220
+ return recentsManager.recentlyClosed.length !== 0;
221
+ },
222
+ caption: trans.__('Reopen recently closed file or notebook.')
223
+ });
224
+
225
+ // Menu
226
+ const submenu = new RecentsMenu({
227
+ commands,
228
+ manager: recentsManager,
229
+ showDirectories
230
+ });
231
+ submenu.title.label = trans.__('Open Recent');
232
+ mainMenu.fileMenu.addItem({
233
+ type: 'submenu' as Menu.ItemType,
234
+ submenu,
235
+ rank: 1
236
+ });
237
+ }
238
+ };
package/style/index.css CHANGED
@@ -8,4 +8,6 @@
8
8
  @import url('~@jupyterlab/ui-components/style/index.css');
9
9
  @import url('~@jupyterlab/apputils/style/index.css');
10
10
  @import url('~@jupyterlab/application/style/index.css');
11
+ @import url('~@jupyterlab/docmanager/style/index.css');
12
+ @import url('~@jupyterlab/filebrowser/style/index.css');
11
13
  @import url('~@jupyterlab/mainmenu/style/index.css');
package/style/index.js CHANGED
@@ -8,4 +8,6 @@ import '@lumino/widgets/style/index.js';
8
8
  import '@jupyterlab/ui-components/style/index.js';
9
9
  import '@jupyterlab/apputils/style/index.js';
10
10
  import '@jupyterlab/application/style/index.js';
11
+ import '@jupyterlab/docmanager/style/index.js';
12
+ import '@jupyterlab/filebrowser/style/index.js';
11
13
  import '@jupyterlab/mainmenu/style/index.js';