@pie-lib/editable-html-tip-tap 1.0.0 → 1.0.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/extensions/component.js +10 -2
- package/lib/index.js +430 -146
- package/lib/plugins/index.js +3 -3
- package/package.json +2 -2
- package/src/extensions/component.jsx +11 -3
- package/src/index.jsx +384 -404
- package/src/plugins/index.jsx +1 -1
package/lib/plugins/index.js
CHANGED
|
@@ -301,8 +301,8 @@ var buildPlugins = function buildPlugins(activePlugins, customPlugins, opts) {
|
|
|
301
301
|
log('[buildPlugins] opts: ', opts);
|
|
302
302
|
activePlugins = activePlugins || DEFAULT_PLUGINS;
|
|
303
303
|
|
|
304
|
-
var addIf = function addIf(key
|
|
305
|
-
return activePlugins.includes(key) &&
|
|
304
|
+
var addIf = function addIf(key) {
|
|
305
|
+
return activePlugins.includes(key) && key;
|
|
306
306
|
};
|
|
307
307
|
|
|
308
308
|
var imagePlugin = opts.image && opts.image.onDelete && (0, _image["default"])(opts.image);
|
|
@@ -410,4 +410,4 @@ var buildPlugins = function buildPlugins(activePlugins, customPlugins, opts) {
|
|
|
410
410
|
};
|
|
411
411
|
|
|
412
412
|
exports.buildPlugins = buildPlugins;
|
|
413
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJTdXBlcnNjcmlwdEljb24iLCJTdWJzY3JpcHRJY29uIiwiSGVhZGluZ0ljb24iLCJ3aWR0aCIsImhlaWdodCIsIlNUWUxFU19NQVAiLCJoMyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImJsb2NrcXVvdGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsIm1hcmdpbiIsInBhZGRpbmciLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwibmFtZSIsInRvb2xiYXIiLCJpc01hcmsiLCJvblRvZ2dsZSIsImNoYW5nZSIsInNlbGVjdGlvbiIsInZhbHVlIiwiaW5jbHVkZXMiLCJ0ZXh0cyIsImRvY3VtZW50IiwiZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSIsIm9ubHlPbmVUZXh0IiwibGVuZ3RoIiwiaGFzTWFyayIsInNhbWVNYXJrIiwiZm9yRWFjaCIsInQiLCJtYXJrcyIsImdldE1hcmtzQXNBcnJheSIsIm1hcmtJc1RoZXJlIiwiZmluZCIsIm0iLCJzaG91bGRDb250aW51ZSIsInN0YXJ0S2V5IiwiZW5kS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJ0ZXh0Tm9kZSIsImdldE5vZGUiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsInRleHQiLCJhY3RpdmVNYXJrcyIsImVudHJ5IiwicmVtb3ZlTWFyayIsIm5ld01hcmsiLCJNYXJrIiwiY3JlYXRlIiwiYWRkTWFyayIsInRvZ2dsZU1hcmsiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwibm9kZSIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiIsIksiLCJhZGRpdGlvbmFsU3R5bGVzIiwiYXR0cmlidXRlcyIsInN0eWxlIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJldmVudCIsIm1ldGFLZXkiLCJwcmV2ZW50RGVmYXVsdCIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsIkVYVEVOU0lPTlNfTElTVCIsIkdyaWRPbiIsIkJvbGQiLCJJdGFsaWMiLCJTdHJpa2V0aHJvdWdoIiwiVW5kZXJsaW5lIiwiSW1hZ2UiLCJCdWxsZXRlZExpc3RJY29uIiwiTnVtYmVyZWRMaXN0SWNvbiIsIkZvcm1hdFF1b3RlIiwiSUNPTl9NQVAiLCJ1bmRvIiwiVW5kbyIsInJlZG8iLCJSZWRvIiwiVW5kb1JlZG8iLCJJY29uVG9Vc2UiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJFbnRlckhhbmRsaW5nUGx1Z2luIiwiSG90a2V5cyIsImlzU3BsaXRCbG9jayIsIklTX0lPUyIsImlzSW5Wb2lkIiwiY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCIsInNwbGl0QmxvY2siLCJyYW5nZSIsIm5ld0Jsb2NrIiwiZ2V0Q2xvc2VzdEJsb2NrIiwic2V0Tm9kZUJ5S2V5IiwidW5kZWZpbmVkIiwiYnVpbGRQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImN1c3RvbVBsdWdpbnMiLCJvcHRzIiwiYWRkSWYiLCJwIiwiaW1hZ2VQbHVnaW4iLCJpbWFnZSIsIm9uRGVsZXRlIiwibWF0aFBsdWdpbiIsIm1hdGgiLCJyZXNwQXJlYVBsdWdpbiIsInJlc3BvbnNlQXJlYSIsImNzc1BsdWdpbiIsImV4dHJhQ1NTUnVsZXMiLCJsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzIiwibWFwIiwiY29uZmlnIiwia2V5UGFkQ2hhcmFjdGVyUmVmIiwic2V0S2V5cGFkSW50ZXJhY3Rpb24iLCJ0YWJsZVBsdWdpbnMiLCJwdXNoIiwiYnVpbHRDdXN0b21QbHVnaW5zIiwiY3VzdG9tUGx1Z2luIiwiaWNvblR5cGUiLCJpY29uQWx0IiwiaXNWYWxpZEV2ZW50TmFtZSIsImV2ZW50TmFtZSIsInJlZ2V4IiwidGVzdCIsImNvbnNvbGUiLCJlcnJvciIsInRhYmxlIiwibWVkaWEiLCJwbHVnaW4iLCJ0ZXh0QWxpZ24iLCJz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c0JBQVdELElBQUksQ0FBQ21DLElBQWhCLENBQVQsQ0FwQ0EsRUFxQ0xsRCxtQkFBbUIsRUFyQ2QsRUFzQ0wsNEJBdENLLEdBQVA7QUF3Q0QsQ0FsR00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSG90a2V5cyBmcm9tICdzbGF0ZS1ob3RrZXlzJztcbmltcG9ydCB7IElTX0lPUyB9IGZyb20gJ3NsYXRlLWRldi1lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBNYXJrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEJvbGQgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEJvbGQnO1xuaW1wb3J0IEZvcm1hdFF1b3RlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRRdW90ZSc7XG4vL2ltcG9ydCBDb2RlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Db2RlJztcbmltcG9ydCBCdWxsZXRlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0QnVsbGV0ZWQnO1xuaW1wb3J0IE51bWJlcmVkTGlzdEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdExpc3ROdW1iZXJlZCc7XG5pbXBvcnQgR3JpZE9uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9HcmlkT24nO1xuaW1wb3J0IEltYWdlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9JbWFnZSc7XG5pbXBvcnQgUmVkbyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvUmVkbyc7XG5pbXBvcnQgVW5kbyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvVW5kbyc7XG5pbXBvcnQgSW1hZ2VQbHVnaW4gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgTWVkaWFQbHVnaW4gZnJvbSAnLi9tZWRpYSc7XG5pbXBvcnQgQ2hhcmFjdGVyc1BsdWdpbiBmcm9tICcuL2NoYXJhY3RlcnMnO1xuaW1wb3J0IEl0YWxpYyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0SXRhbGljJztcbmltcG9ydCBNYXRoUGx1Z2luIGZyb20gJy4vbWF0aCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFN0cmlrZXRocm91Z2ggZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdFN0cmlrZXRocm91Z2gnO1xuaW1wb3J0IFRvb2xiYXJQbHVnaW4gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCBVbmRlcmxpbmUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdFVuZGVybGluZWQnO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IFNvZnRCcmVha1BsdWdpbiBmcm9tICdzbGF0ZS1zb2Z0LWJyZWFrJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgTGlzdCBmcm9tICcuL2xpc3QnO1xuaW1wb3J0IFRhYmxlUGx1Z2luIGZyb20gJy4vdGFibGUnO1xuaW1wb3J0IFJlc3BBcmVhUGx1Z2luIGZyb20gJy4vcmVzcEFyZWEnO1xuaW1wb3J0IEh0bWxQbHVnaW4gZnJvbSAnLi9odG1sJztcbmltcG9ydCBDU1NQbHVnaW4gZnJvbSAnLi9jc3MnO1xuaW1wb3J0IEN1c3RvbVBsdWdpbiBmcm9tICcuL2N1c3RvbVBsdWdpbic7XG5pbXBvcnQgUmVuZGVyaW5nUGx1Z2luIGZyb20gJy4vcmVuZGVyaW5nJztcbmltcG9ydCBUZXh0QWxpZ24gZnJvbSAnLi90ZXh0QWxpZ24nO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zJyk7XG5cbmV4cG9ydCBjb25zdCBTdXBlcnNjcmlwdEljb24gPSAoKSA9PiAoXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIm5vbmVcIj5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yMiw3aC0ydjFoM3YxaC00VjdjMC0wLjU1LDAuNDUtMSwxLTFoMlY1aC0zVjRoM2MwLjU1LDAsMSwwLjQ1LDEsMXYxQzIzLDYuNTUsMjIuNTUsNywyMiw3eiBNNS44OCwyMGgyLjY2bDMuNC01LjQyaDAuMTIgbDMuNCw1LjQyaDIuNjZsLTQuNjUtNy4yN0wxNy44MSw2aC0yLjY4bC0zLjA3LDQuOTloLTAuMTJMOC44NSw2SDYuMTlsNC4zMiw2LjczTDUuODgsMjB6XCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGNvbnN0IFN1YnNjcmlwdEljb24gPSAoKSA9PiAoXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIm5vbmVcIj5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yMiwxOGgtMnYxaDN2MWgtNHYtMmMwLTAuNTUsMC40NS0xLDEtMWgydi0xaC0zdi0xaDNjMC41NSwwLDEsMC40NSwxLDF2MUMyMywxNy41NSwyMi41NSwxOCwyMiwxOHogTTUuODgsMThoMi42NiBsMy40LTUuNDJoMC4xMmwzLjQsNS40MmgyLjY2bC00LjY1LTcuMjdMMTcuODEsNGgtMi42OGwtMy4wNyw0Ljk5aC0wLjEyTDguODUsNEg2LjE5bDQuMzIsNi43M0w1Ljg4LDE4elwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nSWNvbiA9ICgpID0+IChcbiAgPHN2Z1xuICAgIHdpZHRoPVwiMzBcIlxuICAgIGhlaWdodD1cIjI4XCJcbiAgICB2aWV3Qm94PVwiMCAwIDMwIDI4XCJcbiAgICBmaWxsPVwibm9uZVwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgc3R5bGU9e3sgd2lkdGg6ICcyMHB4JywgaGVpZ2h0OiAnMThweCcgfX1cbiAgPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTI3IDRWMjRIMjlDMjkuNSAyNCAzMCAyNC41IDMwIDI1VjI3QzMwIDI3LjU2MjUgMjkuNSAyOCAyOSAyOEgxOUMxOC40Mzc1IDI4IDE4IDI3LjU2MjUgMTggMjdWMjVDMTggMjQuNSAxOC40Mzc1IDI0IDE5IDI0SDIxVjE2SDlWMjRIMTFDMTEuNSAyNCAxMiAyNC41IDEyIDI1VjI3QzEyIDI3LjU2MjUgMTEuNSAyOCAxMSAyOEgxQzAuNDM3NSAyOCAwIDI3LjU2MjUgMCAyN1YyNUMwIDI0LjUgMC40Mzc1IDI0IDEgMjRIM1Y0SDFDMC40Mzc1IDQgMCAzLjU2MjUgMCAzVjFDMCAwLjUgMC40Mzc1IDAgMSAwSDExQzExLjUgMCAxMiAwLjUgMTIgMVYzQzEyIDMuNTYyNSAxMS41IDQgMTEgNEg5VjEySDIxVjRIMTlDMTguNDM3NSA0IDE4IDMuNTYyNSAxOCAzVjFDMTggMC41IDE4LjQzNzUgMCAxOSAwSDI5QzI5LjUgMCAzMCAwLjUgMzAgMVYzQzMwIDMuNTYyNSAyOS41IDQgMjkgNEgyN1pcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuY29uc3QgU1RZTEVTX01BUCA9IHtcbiAgaDM6IHtcbiAgICBmb250U2l6ZTogJ2luaGVyaXQnLFxuICAgIGZvbnRXZWlnaHQ6ICdpbmhlcml0JyxcbiAgfSxcbiAgYmxvY2txdW90ZToge1xuICAgIGJhY2tncm91bmQ6ICcjZjlmOWY5JyxcbiAgICBib3JkZXJMZWZ0OiAnNXB4IHNvbGlkICNjY2MnLFxuICAgIG1hcmdpbjogJzEuNWVtIDEwcHgnLFxuICAgIHBhZGRpbmc6ICcuNWVtIDEwcHgnLFxuICB9LFxufTtcblxuZnVuY3Rpb24gTWFya0hvdGtleShvcHRpb25zKSB7XG4gIGNvbnN0IHsgdHlwZSwga2V5LCBpY29uLCB0YWcgfSA9IG9wdGlvbnM7XG5cbiAgLy8gUmV0dXJuIG91ciBcInBsdWdpblwiIG9iamVjdCwgY29udGFpbmluZyB0aGUgYG9uS2V5RG93bmAgaGFuZGxlci5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiB0eXBlLFxuICAgIHRvb2xiYXI6IHtcbiAgICAgIGlzTWFyazogdHJ1ZSxcbiAgICAgIHR5cGUsXG4gICAgICBpY29uLFxuICAgICAgb25Ub2dnbGU6IChjaGFuZ2UpID0+IHtcbiAgICAgICAgbG9nKCdbb25Ub2dnbGVNYXJrXSB0eXBlOiAnLCB0eXBlKTtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGNoYW5nZS52YWx1ZTtcblxuICAgICAgICBpZiAoWydibG9ja3F1b3RlJywgJ2gzJ10uaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgICBjb25zdCB0ZXh0cyA9IGNoYW5nZS52YWx1ZS5kb2N1bWVudC5nZXRUZXh0c0F0UmFuZ2VBc0FycmF5KHNlbGVjdGlvbik7XG4gICAgICAgICAgY29uc3Qgb25seU9uZVRleHQgPSB0ZXh0cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgbGV0IGhhc01hcmsgPSBmYWxzZTtcbiAgICAgICAgICBsZXQgc2FtZU1hcmsgPSB0cnVlO1xuXG4gICAgICAgICAgdGV4dHMuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWFya3MgPSB0LmdldE1hcmtzQXNBcnJheSgpO1xuICAgICAgICAgICAgY29uc3QgbWFya0lzVGhlcmUgPSBtYXJrcy5maW5kKChtKSA9PiBtLnR5cGUgPT09IHR5cGUpO1xuXG4gICAgICAgICAgICBpZiAoIW1hcmtJc1RoZXJlKSB7XG4gICAgICAgICAgICAgIC8vIG5vdCBhbGwgdGV4dHMgaGF2ZSB0aGlzIG1hcmtcbiAgICAgICAgICAgICAgc2FtZU1hcmsgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIGF0IGxlYXN0IG9uZSBtYXJrXG4gICAgICAgICAgICAgIGhhc01hcmsgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgY29uc3Qgc2hvdWxkQ29udGludWUgPSBvbmx5T25lVGV4dCB8fCBzYW1lTWFyayB8fCAhaGFzTWFyaztcblxuICAgICAgICAgIGlmICghc2hvdWxkQ29udGludWUpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGFuZ2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlbGVjdGlvbi5zdGFydEtleSA9PT0gc2VsZWN0aW9uLmVuZEtleSAmJiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID09PSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRleHROb2RlID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldE5vZGUoc2VsZWN0aW9uLnN0YXJ0S2V5KTtcblxuICAgICAgICAgICAgLy8gc2VsZWN0IHRoZSB3aG9sZSBsaW5lIGlmIHRoZXJlIGlzIG5vIHNlbGVjdGlvblxuICAgICAgICAgICAgY2hhbmdlLm1vdmVGb2N1c1RvKHRleHROb2RlLmtleSwgMCkubW92ZUFuY2hvclRvKHRleHROb2RlLmtleSwgdGV4dE5vZGUudGV4dC5sZW5ndGgpO1xuXG4gICAgICAgICAgICAvLyByZW1vdmUgdG9nZ2xlXG4gICAgICAgICAgICBjb25zdCBoYXNNYXJrID0gY2hhbmdlLnZhbHVlLmFjdGl2ZU1hcmtzLmZpbmQoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBlbnRyeS50eXBlID09PSB0eXBlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChoYXNNYXJrKSB7XG4gICAgICAgICAgICAgIGNoYW5nZS5yZW1vdmVNYXJrKGhhc01hcmspO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3TWFyayA9IE1hcmsuY3JlYXRlKHR5cGUpO1xuXG4gICAgICAgICAgICAgIGNoYW5nZS5hZGRNYXJrKG5ld01hcmspO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBtb3ZlIGZvY3VzIHRvIGVuZCBvZiB0ZXh0XG4gICAgICAgICAgICByZXR1cm4gY2hhbmdlXG4gICAgICAgICAgICAgIC5tb3ZlRm9jdXNUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKVxuICAgICAgICAgICAgICAubW92ZUFuY2hvclRvKHRleHROb2RlLmtleSwgdGV4dE5vZGUudGV4dC5sZW5ndGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGFuZ2UudG9nZ2xlTWFyayh0eXBlKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZW5kZXJNYXJrKHByb3BzKSB7XG4gICAgICBpZiAocHJvcHMubWFyay50eXBlID09PSB0eXBlKSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gcHJvcHMubm9kZSB8fCB7fTtcbiAgICAgICAgY29uc3QganNvbkRhdGEgPSBkYXRhPy50b0pTT04oKSB8fCB7fTtcbiAgICAgICAgY29uc3QgSyA9IHRhZyB8fCB0eXBlO1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsU3R5bGVzID0gU1RZTEVTX01BUFtLXTtcblxuICAgICAgICBpZiAoYWRkaXRpb25hbFN0eWxlcykge1xuICAgICAgICAgIGlmICghanNvbkRhdGEuYXR0cmlidXRlcykge1xuICAgICAgICAgICAganNvbkRhdGEuYXR0cmlidXRlcyA9IHt9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGpzb25EYXRhLmF0dHJpYnV0ZXMuc3R5bGUgPSB7XG4gICAgICAgICAgICAuLi5qc29uRGF0YS5hdHRyaWJ1dGVzLnN0eWxlLFxuICAgICAgICAgICAgLi4uYWRkaXRpb25hbFN0eWxlcyxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxLIHsuLi5qc29uRGF0YS5hdHRyaWJ1dGVzfT57cHJvcHMuY2hpbGRyZW59PC9LPjtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uS2V5RG93bihldmVudCwgY2hhbmdlKSB7XG4gICAgICAvLyBDaGVjayB0aGF0IHRoZSBrZXkgcHJlc3NlZCBtYXRjaGVzIG91ciBga2V5YCBvcHRpb24uXG4gICAgICBpZiAoIWV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQua2V5ICE9IGtleSkgcmV0dXJuO1xuXG4gICAgICAvLyBQcmV2ZW50IHRoZSBkZWZhdWx0IGNoYXJhY3RlcnMgZnJvbSBiZWluZyBpbnNlcnRlZC5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIC8vIFRvZ2dsZSB0aGUgbWFyayBgdHlwZWAuXG4gICAgICBjaGFuZ2UudG9nZ2xlTWFyayh0eXBlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBBTExfUExVR0lOUyA9IFtcbiAgJ2JvbGQnLFxuICAvLyAnY29kZScsXG4gICdodG1sJyxcbiAgJ2V4dHJhQ1NTUnVsZXMnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2V0aHJvdWdoJyxcbiAgJ2J1bGxldGVkLWxpc3QnLFxuICAnbnVtYmVyZWQtbGlzdCcsXG4gICdpbWFnZScsXG4gICdtYXRoJyxcbiAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ2Jsb2NrcXVvdGUnLFxuICAnaDMnLFxuICAndGFibGUnLFxuICAndmlkZW8nLFxuICAnYXVkaW8nLFxuICAncmVzcG9uc2VBcmVhJyxcbiAgJ3JlZG8nLFxuICAndW5kbycsXG4gICdzdXBlcnNjcmlwdCcsXG4gICdzdWJzY3JpcHQnLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExVR0lOUyA9IEFMTF9QTFVHSU5TLmZpbHRlcigocGx1ZykgPT4gIVsncmVzcG9uc2VBcmVhJywgJ2gzJywgJ2Jsb2NrcXVvdGUnXS5pbmNsdWRlcyhwbHVnKSk7XG5cbmV4cG9ydCBjb25zdCBFWFRFTlNJT05TX0xJU1QgPSBbXG4gIEdyaWRPbixcbiAgQm9sZCxcbiAgSXRhbGljLFxuICBTdHJpa2V0aHJvdWdoLFxuICBVbmRlcmxpbmUsXG4gIFN1cGVyc2NyaXB0SWNvbixcbiAgU3Vic2NyaXB0SWNvbixcbiAgSW1hZ2UsXG4gIEhlYWRpbmdJY29uLFxuICBCdWxsZXRlZExpc3RJY29uLFxuICBOdW1iZXJlZExpc3RJY29uLFxuICBGb3JtYXRRdW90ZSxcbl07XG5cbmNvbnN0IElDT05fTUFQID0ge1xuICB1bmRvOiBVbmRvLFxuICByZWRvOiBSZWRvLFxufTtcbmZ1bmN0aW9uIFVuZG9SZWRvKHR5cGUpIHtcbiAgY29uc3QgSWNvblRvVXNlID0gSUNPTl9NQVBbdHlwZV07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiB0eXBlLFxuICAgIHRvb2xiYXI6IHtcbiAgICAgIHR5cGUsXG4gICAgICBpY29uOiA8SWNvblRvVXNlIC8+LFxuICAgICAgYXJpYUxhYmVsOiB0eXBlID09PSAndW5kbycgPyAnVW5kbyAocmV2ZXJ0IHRoZSBsYXN0IGFjdGlvbiknIDogJ1JlZG8gKHJlYXBwbHkgdGhlIGxhc3QgdW5kb25lIGFjdGlvbiknLFxuICAgICAgb25DbGljazogKHZhbHVlLCBvbkNoYW5nZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFuZ2UgPSB2YWx1ZS5jaGFuZ2UoKTtcblxuICAgICAgICBvbkNoYW5nZShjaGFuZ2VbdHlwZV0oKSk7XG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIEVudGVySGFuZGxpbmdQbHVnaW4oKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2VudGVySGFuZGxpbmcnLFxuICAgIG9uS2V5RG93bjogKGV2ZW50LCBjaGFuZ2UpID0+IHtcbiAgICAgIGlmIChIb3RrZXlzLmlzU3BsaXRCbG9jayhldmVudCkgJiYgIUlTX0lPUykge1xuICAgICAgICBpZiAoY2hhbmdlLnZhbHVlLmlzSW5Wb2lkKSB7XG4gICAgICAgICAgcmV0dXJuIGNoYW5nZS5jb2xsYXBzZVRvU3RhcnRPZk5leHRUZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGFuZ2Uuc3BsaXRCbG9jaygpO1xuXG4gICAgICAgIGNvbnN0IHJhbmdlID0gY2hhbmdlLnZhbHVlLnNlbGVjdGlvbjtcbiAgICAgICAgY29uc3QgbmV3QmxvY2sgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0Q2xvc2VzdEJsb2NrKHJhbmdlLnN0YXJ0S2V5KTtcblxuICAgICAgICBpZiAobmV3QmxvY2sudHlwZSAhPT0gJ3BhcmFncmFwaCcpIHtcbiAgICAgICAgICBjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KG5ld0Jsb2NrLmtleSwge1xuICAgICAgICAgICAgdHlwZTogJ3BhcmFncmFwaCcsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hhbmdlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFBsdWdpbnMgPSAoYWN0aXZlUGx1Z2lucywgY3VzdG9tUGx1Z2lucywgb3B0cykgPT4ge1xuICBsb2coJ1tidWlsZFBsdWdpbnNdIG9wdHM6ICcsIG9wdHMpO1xuXG4gIGFjdGl2ZVBsdWdpbnMgPSBhY3RpdmVQbHVnaW5zIHx8IERFRkFVTFRfUExVR0lOUztcblxuICBjb25zdCBhZGRJZiA9IChrZXksIHApID0+IGFjdGl2ZVBsdWdpbnMuaW5jbHVkZXMoa2V5KSAmJiBwO1xuXG4gIGNvbnN0IGltYWdlUGx1Z2luID0gb3B0cy5pbWFnZSAmJiBvcHRzLmltYWdlLm9uRGVsZXRlICYmIEltYWdlUGx1Z2luKG9wdHMuaW1hZ2UpO1xuICBjb25zdCBtYXRoUGx1Z2luID0gb3B0cy5tYXRoICYmIE1hdGhQbHVnaW4ob3B0cy5tYXRoKTtcbiAgY29uc3QgcmVzcEFyZWFQbHVnaW4gPVxuICAgIG9wdHMucmVzcG9uc2VBcmVhICYmIG9wdHMucmVzcG9uc2VBcmVhLnR5cGUgJiYgUmVzcEFyZWFQbHVnaW4ob3B0cy5yZXNwb25zZUFyZWEsIGNvbXBhY3QoW21hdGhQbHVnaW5dKSk7XG4gIGNvbnN0IGNzc1BsdWdpbiA9ICFpc0VtcHR5KG9wdHMuZXh0cmFDU1NSdWxlcykgJiYgQ1NTUGx1Z2luKG9wdHMuZXh0cmFDU1NSdWxlcyk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyA9IChvcHRzPy5sYW5ndWFnZUNoYXJhY3RlcnMgfHwgW10pLm1hcCgoY29uZmlnKSA9PlxuICAgIENoYXJhY3RlcnNQbHVnaW4oe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiBvcHRzLmtleVBhZENoYXJhY3RlclJlZixcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiBvcHRzLnNldEtleXBhZEludGVyYWN0aW9uLFxuICAgIH0pLFxuICApO1xuXG4gIGNvbnN0IHRhYmxlUGx1Z2lucyA9IFtpbWFnZVBsdWdpbiwgbWF0aFBsdWdpbiwgcmVzcEFyZWFQbHVnaW4sIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnNdO1xuXG4gIGlmIChvcHRzLnJlc3BvbnNlQXJlYSAmJiBvcHRzLnJlc3BvbnNlQXJlYS50eXBlID09PSAnbWF0aC10ZW1wbGF0ZWQnKSB7XG4gICAgdGFibGVQbHVnaW5zLnB1c2gocmVzcEFyZWFQbHVnaW4pO1xuICB9XG5cbiAgbGV0IGJ1aWx0Q3VzdG9tUGx1Z2lucyA9IFtdO1xuXG4gIGN1c3RvbVBsdWdpbnM/LmZvckVhY2goKGN1c3RvbVBsdWdpbikgPT4ge1xuICAgIGNvbnN0IHsgZXZlbnQsIGljb24sIGljb25UeXBlLCBpY29uQWx0IH0gPSBjdXN0b21QbHVnaW4gfHwge307XG5cbiAgICBmdW5jdGlvbiBpc1ZhbGlkRXZlbnROYW1lKGV2ZW50TmFtZSkge1xuICAgICAgLy8gQ2hlY2sgaWYgZXZlbnROYW1lIGlzIGEgbm9uLWVtcHR5IHN0cmluZ1xuICAgICAgaWYgKHR5cGVvZiBldmVudE5hbWUgIT09ICdzdHJpbmcnIHx8IGV2ZW50TmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggdmFsaWQgZXZlbnQgbmFtZXMgKG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHVuZGVyc2NvcmUpXG4gICAgICBjb25zdCByZWdleCA9IC9eW2EtekEtWjAtOV9dKyQvO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZXZlbnROYW1lIG1hdGNoZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZXZlbnROYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRFdmVudE5hbWUoZXZlbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBUaGUgZXZlbnQgbmFtZTogJHtldmVudH0gaXMgbm90IGEgdmFsaWQgZXZlbnQgbmFtZSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWljb24gJiYgIWljb25UeXBlICYmICFpY29uQWx0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3VyIGN1c3RvbSBidXR0b24gcmVxdWlyZXMgaWNvbiwgaWNvblR5cGUgYW5kIGljb25BbHQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBidWlsdEN1c3RvbVBsdWdpbnMucHVzaChDdXN0b21QbHVnaW4oJ2N1c3RvbS1wbHVnaW4nLCBjdXN0b21QbHVnaW4pKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbXBhY3QoW1xuICAgIGFkZElmKCd0YWJsZScsIFRhYmxlUGx1Z2luKG9wdHMudGFibGUsIGNvbXBhY3QodGFibGVQbHVnaW5zKSkpLFxuICAgIGFkZElmKCdib2xkJywgTWFya0hvdGtleSh7IGtleTogJ2InLCB0eXBlOiAnYm9sZCcsIGljb246IDxCb2xkIC8+LCB0YWc6ICdzdHJvbmcnIH0pKSxcbiAgICAvLyBhZGRJZignY29kZScsIE1hcmtIb3RrZXkoeyBrZXk6ICdgJywgdHlwZTogJ2NvZGUnLCBpY29uOiA8Q29kZSAvPiB9KSksXG4gICAgYWRkSWYoJ2l0YWxpYycsIE1hcmtIb3RrZXkoeyBrZXk6ICdpJywgdHlwZTogJ2l0YWxpYycsIGljb246IDxJdGFsaWMgLz4sIHRhZzogJ2VtJyB9KSksXG4gICAgYWRkSWYoXG4gICAgICAnc3RyaWtldGhyb3VnaCcsXG4gICAgICBNYXJrSG90a2V5KHtcbiAgICAgICAga2V5OiAnficsXG4gICAgICAgIHR5cGU6ICdzdHJpa2V0aHJvdWdoJyxcbiAgICAgICAgaWNvbjogPFN0cmlrZXRocm91Z2ggLz4sXG4gICAgICAgIHRhZzogJ2RlbCcsXG4gICAgICB9KSxcbiAgICApLFxuICAgIGFkZElmKCd1bmRlcmxpbmUnLCBNYXJrSG90a2V5KHsga2V5OiAndScsIHR5cGU6ICd1bmRlcmxpbmUnLCBpY29uOiA8VW5kZXJsaW5lIC8+LCB0YWc6ICd1JyB9KSksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnLCBNYXJrSG90a2V5KHsgdHlwZTogJ3N1cCcsIGljb246IDxTdXBlcnNjcmlwdEljb24gLz4sIHRhZzogJ3N1cCcgfSkpLFxuICAgIC8vIGljb24gc2hvdWxkIGJlIG1vZGlmaWVzIGFjY29yZGluZ2x5XG4gICAgYWRkSWYoJ3N1YnNjcmlwdCcsIE1hcmtIb3RrZXkoeyB0eXBlOiAnc3ViJywgaWNvbjogPFN1YnNjcmlwdEljb24gLz4sIHRhZzogJ3N1YicgfSkpLFxuICAgIGFkZElmKCdpbWFnZScsIGltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nLCBNZWRpYVBsdWdpbigndmlkZW8nLCBvcHRzLm1lZGlhKSksXG4gICAgYWRkSWYoJ2F1ZGlvJywgTWVkaWFQbHVnaW4oJ2F1ZGlvJywgb3B0cy5tZWRpYSkpLFxuICAgIGFkZElmKCdtYXRoJywgbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJywgVGV4dEFsaWduKG9wdHMudGV4dEFsaWduKSksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnLCBNYXJrSG90a2V5KHsga2V5OiAncScsIHR5cGU6ICdibG9ja3F1b3RlJywgaWNvbjogPEZvcm1hdFF1b3RlIC8+LCB0YWc6ICdibG9ja3F1b3RlJyB9KSksXG4gICAgYWRkSWYoJ2gzJywgTWFya0hvdGtleSh7IGtleTogJ2gzJywgdHlwZTogJ2gzJywgaWNvbjogPEhlYWRpbmdJY29uIC8+LCB0YWc6ICdoMycgfSkpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JywgTGlzdCh7IGtleTogJ2wnLCB0eXBlOiAndWxfbGlzdCcsIGljb246IDxCdWxsZXRlZExpc3RJY29uIC8+IH0pKSxcbiAgICBhZGRJZignbnVtYmVyZWQtbGlzdCcsIExpc3QoeyBrZXk6ICduJywgdHlwZTogJ29sX2xpc3QnLCBpY29uOiA8TnVtYmVyZWRMaXN0SWNvbiAvPiB9KSksXG4gICAgYWRkSWYoJ3VuZG8nLCBVbmRvUmVkbygndW5kbycpKSxcbiAgICBhZGRJZigncmVkbycsIFVuZG9SZWRvKCdyZWRvJykpLFxuICAgIFRvb2xiYXJQbHVnaW4ob3B0cy50b29sYmFyKSxcbiAgICBTb2Z0QnJlYWtQbHVnaW4oeyBzaGlmdDogdHJ1ZSB9KSxcbiAgICAuLi5idWlsdEN1c3RvbVBsdWdpbnMsXG4gICAgYWRkSWYoJ3Jlc3BvbnNlQXJlYScsIHJlc3BBcmVhUGx1Z2luKSxcbiAgICBjc3NQbHVnaW4sXG4gICAgYWRkSWYoJ2h0bWwnLCBIdG1sUGx1Z2luKG9wdHMuaHRtbCkpLFxuICAgIEVudGVySGFuZGxpbmdQbHVnaW4oKSxcbiAgICBSZW5kZXJpbmdQbHVnaW4oKSxcbiAgXSk7XG59O1xuIl19
|
|
413
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL2luZGV4LmpzeCJdLCJuYW1lcyI6WyJsb2ciLCJTdXBlcnNjcmlwdEljb24iLCJTdWJzY3JpcHRJY29uIiwiSGVhZGluZ0ljb24iLCJ3aWR0aCIsImhlaWdodCIsIlNUWUxFU19NQVAiLCJoMyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImJsb2NrcXVvdGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsIm1hcmdpbiIsInBhZGRpbmciLCJNYXJrSG90a2V5Iiwib3B0aW9ucyIsInR5cGUiLCJrZXkiLCJpY29uIiwidGFnIiwibmFtZSIsInRvb2xiYXIiLCJpc01hcmsiLCJvblRvZ2dsZSIsImNoYW5nZSIsInNlbGVjdGlvbiIsInZhbHVlIiwiaW5jbHVkZXMiLCJ0ZXh0cyIsImRvY3VtZW50IiwiZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSIsIm9ubHlPbmVUZXh0IiwibGVuZ3RoIiwiaGFzTWFyayIsInNhbWVNYXJrIiwiZm9yRWFjaCIsInQiLCJtYXJrcyIsImdldE1hcmtzQXNBcnJheSIsIm1hcmtJc1RoZXJlIiwiZmluZCIsIm0iLCJzaG91bGRDb250aW51ZSIsInN0YXJ0S2V5IiwiZW5kS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJ0ZXh0Tm9kZSIsImdldE5vZGUiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsInRleHQiLCJhY3RpdmVNYXJrcyIsImVudHJ5IiwicmVtb3ZlTWFyayIsIm5ld01hcmsiLCJNYXJrIiwiY3JlYXRlIiwiYWRkTWFyayIsInRvZ2dsZU1hcmsiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwibm9kZSIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiIsIksiLCJhZGRpdGlvbmFsU3R5bGVzIiwiYXR0cmlidXRlcyIsInN0eWxlIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJldmVudCIsIm1ldGFLZXkiLCJwcmV2ZW50RGVmYXVsdCIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsIkVYVEVOU0lPTlNfTElTVCIsIkdyaWRPbiIsIkJvbGQiLCJJdGFsaWMiLCJTdHJpa2V0aHJvdWdoIiwiVW5kZXJsaW5lIiwiSW1hZ2UiLCJCdWxsZXRlZExpc3RJY29uIiwiTnVtYmVyZWRMaXN0SWNvbiIsIkZvcm1hdFF1b3RlIiwiSUNPTl9NQVAiLCJ1bmRvIiwiVW5kbyIsInJlZG8iLCJSZWRvIiwiVW5kb1JlZG8iLCJJY29uVG9Vc2UiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJFbnRlckhhbmRsaW5nUGx1Z2luIiwiSG90a2V5cyIsImlzU3BsaXRCbG9jayIsIklTX0lPUyIsImlzSW5Wb2lkIiwiY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCIsInNwbGl0QmxvY2siLCJyYW5nZSIsIm5ld0Jsb2NrIiwiZ2V0Q2xvc2VzdEJsb2NrIiwic2V0Tm9kZUJ5S2V5IiwidW5kZWZpbmVkIiwiYnVpbGRQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImN1c3RvbVBsdWdpbnMiLCJvcHRzIiwiYWRkSWYiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwiY3NzUGx1Z2luIiwiZXh0cmFDU1NSdWxlcyIsImxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnMiLCJsYW5ndWFnZUNoYXJhY3RlcnMiLCJtYXAiLCJjb25maWciLCJrZXlQYWRDaGFyYWN0ZXJSZWYiLCJzZXRLZXlwYWRJbnRlcmFjdGlvbiIsInRhYmxlUGx1Z2lucyIsInB1c2giLCJidWlsdEN1c3RvbVBsdWdpbnMiLCJjdXN0b21QbHVnaW4iLCJpY29uVHlwZSIsImljb25BbHQiLCJpc1ZhbGlkRXZlbnROYW1lIiwiZXZlbnROYW1lIiwicmVnZXgiLCJ0ZXN0IiwiY29uc29sZSIsImVycm9yIiwidGFibGUiLCJtZWRpYSIsInBsdWdpbiIsInRleHRBbGlnbiIsInNoaWZ0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QyxJQUFoQixDQUFULENBcENBLEVBcUNMakQsbUJBQW1CLEVBckNkLEVBc0NMLDRCQXRDSyxHQUFQO0FBd0NELENBbEdNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEhvdGtleXMgZnJvbSAnc2xhdGUtaG90a2V5cyc7XG5pbXBvcnQgeyBJU19JT1MgfSBmcm9tICdzbGF0ZS1kZXYtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgTWFyayB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbmltcG9ydCBGb3JtYXRRdW90ZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0UXVvdGUnO1xuLy9pbXBvcnQgQ29kZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ29kZSc7XG5pbXBvcnQgQnVsbGV0ZWRMaXN0SWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0TGlzdEJ1bGxldGVkJztcbmltcG9ydCBOdW1iZXJlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0TnVtYmVyZWQnO1xuaW1wb3J0IEdyaWRPbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvR3JpZE9uJztcbmltcG9ydCBJbWFnZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvSW1hZ2UnO1xuaW1wb3J0IFJlZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1JlZG8nO1xuaW1wb3J0IFVuZG8gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1VuZG8nO1xuaW1wb3J0IEltYWdlUGx1Z2luIGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IE1lZGlhUGx1Z2luIGZyb20gJy4vbWVkaWEnO1xuaW1wb3J0IENoYXJhY3RlcnNQbHVnaW4gZnJvbSAnLi9jaGFyYWN0ZXJzJztcbmltcG9ydCBJdGFsaWMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEl0YWxpYyc7XG5pbXBvcnQgTWF0aFBsdWdpbiBmcm9tICcuL21hdGgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdHJpa2V0aHJvdWdoIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRTdHJpa2V0aHJvdWdoJztcbmltcG9ydCBUb29sYmFyUGx1Z2luIGZyb20gJy4vdG9vbGJhcic7XG5pbXBvcnQgVW5kZXJsaW5lIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRVbmRlcmxpbmVkJztcbmltcG9ydCBjb21wYWN0IGZyb20gJ2xvZGFzaC9jb21wYWN0JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBTb2Z0QnJlYWtQbHVnaW4gZnJvbSAnc2xhdGUtc29mdC1icmVhayc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpc3QgZnJvbSAnLi9saXN0JztcbmltcG9ydCBUYWJsZVBsdWdpbiBmcm9tICcuL3RhYmxlJztcbmltcG9ydCBSZXNwQXJlYVBsdWdpbiBmcm9tICcuL3Jlc3BBcmVhJztcbmltcG9ydCBIdG1sUGx1Z2luIGZyb20gJy4vaHRtbCc7XG5pbXBvcnQgQ1NTUGx1Z2luIGZyb20gJy4vY3NzJztcbmltcG9ydCBDdXN0b21QbHVnaW4gZnJvbSAnLi9jdXN0b21QbHVnaW4nO1xuaW1wb3J0IFJlbmRlcmluZ1BsdWdpbiBmcm9tICcuL3JlbmRlcmluZyc7XG5pbXBvcnQgVGV4dEFsaWduIGZyb20gJy4vdGV4dEFsaWduJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuXG5leHBvcnQgY29uc3QgU3VwZXJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsN2gtMnYxaDN2MWgtNFY3YzAtMC41NSwwLjQ1LTEsMS0xaDJWNWgtM1Y0aDNjMC41NSwwLDEsMC40NSwxLDF2MUMyMyw2LjU1LDIyLjU1LDcsMjIsN3ogTTUuODgsMjBoMi42NmwzLjQtNS40MmgwLjEyIGwzLjQsNS40MmgyLjY2bC00LjY1LTcuMjdMMTcuODEsNmgtMi42OGwtMy4wNyw0Ljk5aC0wLjEyTDguODUsNkg2LjE5bDQuMzIsNi43M0w1Ljg4LDIwelwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBjb25zdCBTdWJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsMThoLTJ2MWgzdjFoLTR2LTJjMC0wLjU1LDAuNDUtMSwxLTFoMnYtMWgtM3YtMWgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsMTcuNTUsMjIuNTUsMTgsMjIsMTh6IE01Ljg4LDE4aDIuNjYgbDMuNC01LjQyaDAuMTJsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDRoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDRINi4xOWw0LjMyLDYuNzNMNS44OCwxOHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgSGVhZGluZ0ljb24gPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB3aWR0aD1cIjMwXCJcbiAgICBoZWlnaHQ9XCIyOFwiXG4gICAgdmlld0JveD1cIjAgMCAzMCAyOFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHN0eWxlPXt7IHdpZHRoOiAnMjBweCcsIGhlaWdodDogJzE4cHgnIH19XG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yNyA0VjI0SDI5QzI5LjUgMjQgMzAgMjQuNSAzMCAyNVYyN0MzMCAyNy41NjI1IDI5LjUgMjggMjkgMjhIMTlDMTguNDM3NSAyOCAxOCAyNy41NjI1IDE4IDI3VjI1QzE4IDI0LjUgMTguNDM3NSAyNCAxOSAyNEgyMVYxNkg5VjI0SDExQzExLjUgMjQgMTIgMjQuNSAxMiAyNVYyN0MxMiAyNy41NjI1IDExLjUgMjggMTEgMjhIMUMwLjQzNzUgMjggMCAyNy41NjI1IDAgMjdWMjVDMCAyNC41IDAuNDM3NSAyNCAxIDI0SDNWNEgxQzAuNDM3NSA0IDAgMy41NjI1IDAgM1YxQzAgMC41IDAuNDM3NSAwIDEgMEgxMUMxMS41IDAgMTIgMC41IDEyIDFWM0MxMiAzLjU2MjUgMTEuNSA0IDExIDRIOVYxMkgyMVY0SDE5QzE4LjQzNzUgNCAxOCAzLjU2MjUgMTggM1YxQzE4IDAuNSAxOC40Mzc1IDAgMTkgMEgyOUMyOS41IDAgMzAgMC41IDMwIDFWM0MzMCAzLjU2MjUgMjkuNSA0IDI5IDRIMjdaXCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcbmNvbnN0IFNUWUxFU19NQVAgPSB7XG4gIGgzOiB7XG4gICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICBmb250V2VpZ2h0OiAnaW5oZXJpdCcsXG4gIH0sXG4gIGJsb2NrcXVvdGU6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2Y5ZjlmOScsXG4gICAgYm9yZGVyTGVmdDogJzVweCBzb2xpZCAjY2NjJyxcbiAgICBtYXJnaW46ICcxLjVlbSAxMHB4JyxcbiAgICBwYWRkaW5nOiAnLjVlbSAxMHB4JyxcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIE1hcmtIb3RrZXkob3B0aW9ucykge1xuICBjb25zdCB7IHR5cGUsIGtleSwgaWNvbiwgdGFnIH0gPSBvcHRpb25zO1xuXG4gIC8vIFJldHVybiBvdXIgXCJwbHVnaW5cIiBvYmplY3QsIGNvbnRhaW5pbmcgdGhlIGBvbktleURvd25gIGhhbmRsZXIuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICBpc01hcms6IHRydWUsXG4gICAgICB0eXBlLFxuICAgICAgaWNvbixcbiAgICAgIG9uVG9nZ2xlOiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGxvZygnW29uVG9nZ2xlTWFya10gdHlwZTogJywgdHlwZSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBjaGFuZ2UudmFsdWU7XG5cbiAgICAgICAgaWYgKFsnYmxvY2txdW90ZScsICdoMyddLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgICAgY29uc3QgdGV4dHMgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0VGV4dHNBdFJhbmdlQXNBcnJheShzZWxlY3Rpb24pO1xuICAgICAgICAgIGNvbnN0IG9ubHlPbmVUZXh0ID0gdGV4dHMubGVuZ3RoID09PSAxO1xuICAgICAgICAgIGxldCBoYXNNYXJrID0gZmFsc2U7XG4gICAgICAgICAgbGV0IHNhbWVNYXJrID0gdHJ1ZTtcblxuICAgICAgICAgIHRleHRzLmZvckVhY2goKHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtzID0gdC5nZXRNYXJrc0FzQXJyYXkoKTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmtJc1RoZXJlID0gbWFya3MuZmluZCgobSkgPT4gbS50eXBlID09PSB0eXBlKTtcblxuICAgICAgICAgICAgaWYgKCFtYXJrSXNUaGVyZSkge1xuICAgICAgICAgICAgICAvLyBub3QgYWxsIHRleHRzIGhhdmUgdGhpcyBtYXJrXG4gICAgICAgICAgICAgIHNhbWVNYXJrID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgbWFya1xuICAgICAgICAgICAgICBoYXNNYXJrID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHNob3VsZENvbnRpbnVlID0gb25seU9uZVRleHQgfHwgc2FtZU1hcmsgfHwgIWhhc01hcms7XG5cbiAgICAgICAgICBpZiAoIXNob3VsZENvbnRpbnVlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hhbmdlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWxlY3Rpb24uc3RhcnRLZXkgPT09IHNlbGVjdGlvbi5lbmRLZXkgJiYgc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IGNoYW5nZS52YWx1ZS5kb2N1bWVudC5nZXROb2RlKHNlbGVjdGlvbi5zdGFydEtleSk7XG5cbiAgICAgICAgICAgIC8vIHNlbGVjdCB0aGUgd2hvbGUgbGluZSBpZiB0aGVyZSBpcyBubyBzZWxlY3Rpb25cbiAgICAgICAgICAgIGNoYW5nZS5tb3ZlRm9jdXNUbyh0ZXh0Tm9kZS5rZXksIDApLm1vdmVBbmNob3JUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKTtcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRvZ2dsZVxuICAgICAgICAgICAgY29uc3QgaGFzTWFyayA9IGNoYW5nZS52YWx1ZS5hY3RpdmVNYXJrcy5maW5kKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gZW50cnkudHlwZSA9PT0gdHlwZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoaGFzTWFyaykge1xuICAgICAgICAgICAgICBjaGFuZ2UucmVtb3ZlTWFyayhoYXNNYXJrKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh0eXBlKTtcblxuICAgICAgICAgICAgICBjaGFuZ2UuYWRkTWFyayhuZXdNYXJrKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbW92ZSBmb2N1cyB0byBlbmQgb2YgdGV4dFxuICAgICAgICAgICAgcmV0dXJuIGNoYW5nZVxuICAgICAgICAgICAgICAubW92ZUZvY3VzVG8odGV4dE5vZGUua2V5LCB0ZXh0Tm9kZS50ZXh0Lmxlbmd0aClcbiAgICAgICAgICAgICAgLm1vdmVBbmNob3JUbyh0ZXh0Tm9kZS5rZXksIHRleHROb2RlLnRleHQubGVuZ3RoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hhbmdlLnRvZ2dsZU1hcmsodHlwZSk7XG4gICAgICB9LFxuICAgIH0sXG4gICAgcmVuZGVyTWFyayhwcm9wcykge1xuICAgICAgaWYgKHByb3BzLm1hcmsudHlwZSA9PT0gdHlwZSkge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHByb3BzLm5vZGUgfHwge307XG4gICAgICAgIGNvbnN0IGpzb25EYXRhID0gZGF0YT8udG9KU09OKCkgfHwge307XG4gICAgICAgIGNvbnN0IEsgPSB0YWcgfHwgdHlwZTtcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbFN0eWxlcyA9IFNUWUxFU19NQVBbS107XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxTdHlsZXMpIHtcbiAgICAgICAgICBpZiAoIWpzb25EYXRhLmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIGpzb25EYXRhLmF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBqc29uRGF0YS5hdHRyaWJ1dGVzLnN0eWxlID0ge1xuICAgICAgICAgICAgLi4uanNvbkRhdGEuYXR0cmlidXRlcy5zdHlsZSxcbiAgICAgICAgICAgIC4uLmFkZGl0aW9uYWxTdHlsZXMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8SyB7Li4uanNvbkRhdGEuYXR0cmlidXRlc30+e3Byb3BzLmNoaWxkcmVufTwvSz47XG4gICAgICB9XG4gICAgfSxcbiAgICBvbktleURvd24oZXZlbnQsIGNoYW5nZSkge1xuICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUga2V5IHByZXNzZWQgbWF0Y2hlcyBvdXIgYGtleWAgb3B0aW9uLlxuICAgICAgaWYgKCFldmVudC5tZXRhS2V5IHx8IGV2ZW50LmtleSAhPSBrZXkpIHJldHVybjtcblxuICAgICAgLy8gUHJldmVudCB0aGUgZGVmYXVsdCBjaGFyYWN0ZXJzIGZyb20gYmVpbmcgaW5zZXJ0ZWQuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAvLyBUb2dnbGUgdGhlIG1hcmsgYHR5cGVgLlxuICAgICAgY2hhbmdlLnRvZ2dsZU1hcmsodHlwZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQUxMX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgLy8gJ2NvZGUnLFxuICAnaHRtbCcsXG4gICdleHRyYUNTU1J1bGVzJyxcbiAgJ2l0YWxpYycsXG4gICd1bmRlcmxpbmUnLFxuICAnc3RyaWtldGhyb3VnaCcsXG4gICdidWxsZXRlZC1saXN0JyxcbiAgJ251bWJlcmVkLWxpc3QnLFxuICAnaW1hZ2UnLFxuICAnbWF0aCcsXG4gICdsYW5ndWFnZUNoYXJhY3RlcnMnLFxuICAndGV4dC1hbGlnbicsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2gzJyxcbiAgJ3RhYmxlJyxcbiAgJ3ZpZGVvJyxcbiAgJ2F1ZGlvJyxcbiAgJ3Jlc3BvbnNlQXJlYScsXG4gICdyZWRvJyxcbiAgJ3VuZG8nLFxuICAnc3VwZXJzY3JpcHQnLFxuICAnc3Vic2NyaXB0Jyxcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMVUdJTlMgPSBBTExfUExVR0lOUy5maWx0ZXIoKHBsdWcpID0+ICFbJ3Jlc3BvbnNlQXJlYScsICdoMycsICdibG9ja3F1b3RlJ10uaW5jbHVkZXMocGx1ZykpO1xuXG5leHBvcnQgY29uc3QgRVhURU5TSU9OU19MSVNUID0gW1xuICBHcmlkT24sXG4gIEJvbGQsXG4gIEl0YWxpYyxcbiAgU3RyaWtldGhyb3VnaCxcbiAgVW5kZXJsaW5lLFxuICBTdXBlcnNjcmlwdEljb24sXG4gIFN1YnNjcmlwdEljb24sXG4gIEltYWdlLFxuICBIZWFkaW5nSWNvbixcbiAgQnVsbGV0ZWRMaXN0SWNvbixcbiAgTnVtYmVyZWRMaXN0SWNvbixcbiAgRm9ybWF0UXVvdGUsXG5dO1xuXG5jb25zdCBJQ09OX01BUCA9IHtcbiAgdW5kbzogVW5kbyxcbiAgcmVkbzogUmVkbyxcbn07XG5mdW5jdGlvbiBVbmRvUmVkbyh0eXBlKSB7XG4gIGNvbnN0IEljb25Ub1VzZSA9IElDT05fTUFQW3R5cGVdO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyOiB7XG4gICAgICB0eXBlLFxuICAgICAgaWNvbjogPEljb25Ub1VzZSAvPixcbiAgICAgIGFyaWFMYWJlbDogdHlwZSA9PT0gJ3VuZG8nID8gJ1VuZG8gKHJldmVydCB0aGUgbGFzdCBhY3Rpb24pJyA6ICdSZWRvIChyZWFwcGx5IHRoZSBsYXN0IHVuZG9uZSBhY3Rpb24pJyxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCk7XG5cbiAgICAgICAgb25DaGFuZ2UoY2hhbmdlW3R5cGVdKCkpO1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBFbnRlckhhbmRsaW5nUGx1Z2luKCkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdlbnRlckhhbmRsaW5nJyxcbiAgICBvbktleURvd246IChldmVudCwgY2hhbmdlKSA9PiB7XG4gICAgICBpZiAoSG90a2V5cy5pc1NwbGl0QmxvY2soZXZlbnQpICYmICFJU19JT1MpIHtcbiAgICAgICAgaWYgKGNoYW5nZS52YWx1ZS5pc0luVm9pZCkge1xuICAgICAgICAgIHJldHVybiBjaGFuZ2UuY29sbGFwc2VUb1N0YXJ0T2ZOZXh0VGV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hhbmdlLnNwbGl0QmxvY2soKTtcblxuICAgICAgICBjb25zdCByYW5nZSA9IGNoYW5nZS52YWx1ZS5zZWxlY3Rpb247XG4gICAgICAgIGNvbnN0IG5ld0Jsb2NrID0gY2hhbmdlLnZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RCbG9jayhyYW5nZS5zdGFydEtleSk7XG5cbiAgICAgICAgaWYgKG5ld0Jsb2NrLnR5cGUgIT09ICdwYXJhZ3JhcGgnKSB7XG4gICAgICAgICAgY2hhbmdlLnNldE5vZGVCeUtleShuZXdCbG9jay5rZXksIHtcbiAgICAgICAgICAgIHR5cGU6ICdwYXJhZ3JhcGgnLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgYnVpbGRQbHVnaW5zID0gKGFjdGl2ZVBsdWdpbnMsIGN1c3RvbVBsdWdpbnMsIG9wdHMpID0+IHtcbiAgbG9nKCdbYnVpbGRQbHVnaW5zXSBvcHRzOiAnLCBvcHRzKTtcblxuICBhY3RpdmVQbHVnaW5zID0gYWN0aXZlUGx1Z2lucyB8fCBERUZBVUxUX1BMVUdJTlM7XG5cbiAgY29uc3QgYWRkSWYgPSAoa2V5KSA9PiBhY3RpdmVQbHVnaW5zLmluY2x1ZGVzKGtleSkgJiYga2V5O1xuXG4gIGNvbnN0IGltYWdlUGx1Z2luID0gb3B0cy5pbWFnZSAmJiBvcHRzLmltYWdlLm9uRGVsZXRlICYmIEltYWdlUGx1Z2luKG9wdHMuaW1hZ2UpO1xuICBjb25zdCBtYXRoUGx1Z2luID0gb3B0cy5tYXRoICYmIE1hdGhQbHVnaW4ob3B0cy5tYXRoKTtcbiAgY29uc3QgcmVzcEFyZWFQbHVnaW4gPVxuICAgIG9wdHMucmVzcG9uc2VBcmVhICYmIG9wdHMucmVzcG9uc2VBcmVhLnR5cGUgJiYgUmVzcEFyZWFQbHVnaW4ob3B0cy5yZXNwb25zZUFyZWEsIGNvbXBhY3QoW21hdGhQbHVnaW5dKSk7XG4gIGNvbnN0IGNzc1BsdWdpbiA9ICFpc0VtcHR5KG9wdHMuZXh0cmFDU1NSdWxlcykgJiYgQ1NTUGx1Z2luKG9wdHMuZXh0cmFDU1NSdWxlcyk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucyA9IChvcHRzPy5sYW5ndWFnZUNoYXJhY3RlcnMgfHwgW10pLm1hcCgoY29uZmlnKSA9PlxuICAgIENoYXJhY3RlcnNQbHVnaW4oe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiBvcHRzLmtleVBhZENoYXJhY3RlclJlZixcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiBvcHRzLnNldEtleXBhZEludGVyYWN0aW9uLFxuICAgIH0pLFxuICApO1xuXG4gIGNvbnN0IHRhYmxlUGx1Z2lucyA9IFtpbWFnZVBsdWdpbiwgbWF0aFBsdWdpbiwgcmVzcEFyZWFQbHVnaW4sIC4uLmxhbmd1YWdlQ2hhcmFjdGVyc1BsdWdpbnNdO1xuXG4gIGlmIChvcHRzLnJlc3BvbnNlQXJlYSAmJiBvcHRzLnJlc3BvbnNlQXJlYS50eXBlID09PSAnbWF0aC10ZW1wbGF0ZWQnKSB7XG4gICAgdGFibGVQbHVnaW5zLnB1c2gocmVzcEFyZWFQbHVnaW4pO1xuICB9XG5cbiAgbGV0IGJ1aWx0Q3VzdG9tUGx1Z2lucyA9IFtdO1xuXG4gIGN1c3RvbVBsdWdpbnM/LmZvckVhY2goKGN1c3RvbVBsdWdpbikgPT4ge1xuICAgIGNvbnN0IHsgZXZlbnQsIGljb24sIGljb25UeXBlLCBpY29uQWx0IH0gPSBjdXN0b21QbHVnaW4gfHwge307XG5cbiAgICBmdW5jdGlvbiBpc1ZhbGlkRXZlbnROYW1lKGV2ZW50TmFtZSkge1xuICAgICAgLy8gQ2hlY2sgaWYgZXZlbnROYW1lIGlzIGEgbm9uLWVtcHR5IHN0cmluZ1xuICAgICAgaWYgKHR5cGVvZiBldmVudE5hbWUgIT09ICdzdHJpbmcnIHx8IGV2ZW50TmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggdmFsaWQgZXZlbnQgbmFtZXMgKG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIHVuZGVyc2NvcmUpXG4gICAgICBjb25zdCByZWdleCA9IC9eW2EtekEtWjAtOV9dKyQvO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZXZlbnROYW1lIG1hdGNoZXMgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZXZlbnROYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVmFsaWRFdmVudE5hbWUoZXZlbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBUaGUgZXZlbnQgbmFtZTogJHtldmVudH0gaXMgbm90IGEgdmFsaWQgZXZlbnQgbmFtZSFgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWljb24gJiYgIWljb25UeXBlICYmICFpY29uQWx0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdZb3VyIGN1c3RvbSBidXR0b24gcmVxdWlyZXMgaWNvbiwgaWNvblR5cGUgYW5kIGljb25BbHQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBidWlsdEN1c3RvbVBsdWdpbnMucHVzaChDdXN0b21QbHVnaW4oJ2N1c3RvbS1wbHVnaW4nLCBjdXN0b21QbHVnaW4pKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbXBhY3QoW1xuICAgIGFkZElmKCd0YWJsZScsIFRhYmxlUGx1Z2luKG9wdHMudGFibGUsIGNvbXBhY3QodGFibGVQbHVnaW5zKSkpLFxuICAgIGFkZElmKCdib2xkJywgTWFya0hvdGtleSh7IGtleTogJ2InLCB0eXBlOiAnYm9sZCcsIGljb246IDxCb2xkIC8+LCB0YWc6ICdzdHJvbmcnIH0pKSxcbiAgICAvLyBhZGRJZignY29kZScsIE1hcmtIb3RrZXkoeyBrZXk6ICdgJywgdHlwZTogJ2NvZGUnLCBpY29uOiA8Q29kZSAvPiB9KSksXG4gICAgYWRkSWYoJ2l0YWxpYycsIE1hcmtIb3RrZXkoeyBrZXk6ICdpJywgdHlwZTogJ2l0YWxpYycsIGljb246IDxJdGFsaWMgLz4sIHRhZzogJ2VtJyB9KSksXG4gICAgYWRkSWYoXG4gICAgICAnc3RyaWtldGhyb3VnaCcsXG4gICAgICBNYXJrSG90a2V5KHtcbiAgICAgICAga2V5OiAnficsXG4gICAgICAgIHR5cGU6ICdzdHJpa2V0aHJvdWdoJyxcbiAgICAgICAgaWNvbjogPFN0cmlrZXRocm91Z2ggLz4sXG4gICAgICAgIHRhZzogJ2RlbCcsXG4gICAgICB9KSxcbiAgICApLFxuICAgIGFkZElmKCd1bmRlcmxpbmUnLCBNYXJrSG90a2V5KHsga2V5OiAndScsIHR5cGU6ICd1bmRlcmxpbmUnLCBpY29uOiA8VW5kZXJsaW5lIC8+LCB0YWc6ICd1JyB9KSksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnLCBNYXJrSG90a2V5KHsgdHlwZTogJ3N1cCcsIGljb246IDxTdXBlcnNjcmlwdEljb24gLz4sIHRhZzogJ3N1cCcgfSkpLFxuICAgIC8vIGljb24gc2hvdWxkIGJlIG1vZGlmaWVzIGFjY29yZGluZ2x5XG4gICAgYWRkSWYoJ3N1YnNjcmlwdCcsIE1hcmtIb3RrZXkoeyB0eXBlOiAnc3ViJywgaWNvbjogPFN1YnNjcmlwdEljb24gLz4sIHRhZzogJ3N1YicgfSkpLFxuICAgIGFkZElmKCdpbWFnZScsIGltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nLCBNZWRpYVBsdWdpbigndmlkZW8nLCBvcHRzLm1lZGlhKSksXG4gICAgYWRkSWYoJ2F1ZGlvJywgTWVkaWFQbHVnaW4oJ2F1ZGlvJywgb3B0cy5tZWRpYSkpLFxuICAgIGFkZElmKCdtYXRoJywgbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJywgVGV4dEFsaWduKG9wdHMudGV4dEFsaWduKSksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnLCBNYXJrSG90a2V5KHsga2V5OiAncScsIHR5cGU6ICdibG9ja3F1b3RlJywgaWNvbjogPEZvcm1hdFF1b3RlIC8+LCB0YWc6ICdibG9ja3F1b3RlJyB9KSksXG4gICAgYWRkSWYoJ2gzJywgTWFya0hvdGtleSh7IGtleTogJ2gzJywgdHlwZTogJ2gzJywgaWNvbjogPEhlYWRpbmdJY29uIC8+LCB0YWc6ICdoMycgfSkpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JywgTGlzdCh7IGtleTogJ2wnLCB0eXBlOiAndWxfbGlzdCcsIGljb246IDxCdWxsZXRlZExpc3RJY29uIC8+IH0pKSxcbiAgICBhZGRJZignbnVtYmVyZWQtbGlzdCcsIExpc3QoeyBrZXk6ICduJywgdHlwZTogJ29sX2xpc3QnLCBpY29uOiA8TnVtYmVyZWRMaXN0SWNvbiAvPiB9KSksXG4gICAgYWRkSWYoJ3VuZG8nLCBVbmRvUmVkbygndW5kbycpKSxcbiAgICBhZGRJZigncmVkbycsIFVuZG9SZWRvKCdyZWRvJykpLFxuICAgIFRvb2xiYXJQbHVnaW4ob3B0cy50b29sYmFyKSxcbiAgICBTb2Z0QnJlYWtQbHVnaW4oeyBzaGlmdDogdHJ1ZSB9KSxcbiAgICAuLi5idWlsdEN1c3RvbVBsdWdpbnMsXG4gICAgYWRkSWYoJ3Jlc3BvbnNlQXJlYScsIHJlc3BBcmVhUGx1Z2luKSxcbiAgICBjc3NQbHVnaW4sXG4gICAgYWRkSWYoJ2h0bWwnLCBIdG1sUGx1Z2luKG9wdHMuaHRtbCkpLFxuICAgIEVudGVySGFuZGxpbmdQbHVnaW4oKSxcbiAgICBSZW5kZXJpbmdQbHVnaW4oKSxcbiAgXSk7XG59O1xuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/editable-html-tip-tap",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"@pie-lib/drag": "^2.22.1",
|
|
14
14
|
"@pie-lib/math-input": "^6.31.1",
|
|
15
15
|
"@pie-lib/math-rendering": "^3.22.1",
|
|
16
|
-
"@pie-lib/math-toolbar": "
|
|
16
|
+
"@pie-lib/math-toolbar": "1.31.2-beta.1",
|
|
17
17
|
"@pie-lib/render-ui": "^4.35.1",
|
|
18
18
|
"@tiptap/core": "3.0.9",
|
|
19
19
|
"@tiptap/extension-color": "3.0.9",
|
|
@@ -8,7 +8,7 @@ import { withStyles } from '@material-ui/core/styles';
|
|
|
8
8
|
import { NodeViewWrapper } from '@tiptap/react';
|
|
9
9
|
import InsertImageHandler from '../plugins/image/insert-image-handler';
|
|
10
10
|
import ImageToolbar from '../plugins/image/image-toolbar';
|
|
11
|
-
import CustomToolbarWrapper from
|
|
11
|
+
import CustomToolbarWrapper from './custom-toolbar-wrapper';
|
|
12
12
|
|
|
13
13
|
const log = debug('@pie-lib:editable-html:plugins:image:component');
|
|
14
14
|
|
|
@@ -196,10 +196,18 @@ function ImageComponent(props) {
|
|
|
196
196
|
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
197
197
|
boxShadow:
|
|
198
198
|
'0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',
|
|
199
|
-
width: '100%'
|
|
199
|
+
width: '100%',
|
|
200
200
|
}}
|
|
201
201
|
>
|
|
202
|
-
<CustomToolbarWrapper
|
|
202
|
+
<CustomToolbarWrapper
|
|
203
|
+
showDone
|
|
204
|
+
{...options}
|
|
205
|
+
onDone={() => {
|
|
206
|
+
setShowToolbar(false);
|
|
207
|
+
props.imageHandling?.onDone();
|
|
208
|
+
props.editor.commands.focus('end');
|
|
209
|
+
}}
|
|
210
|
+
>
|
|
203
211
|
<ImageToolbar
|
|
204
212
|
disableImageAlignmentButtons={options.disableImageAlignmentButtons}
|
|
205
213
|
alt={node.attrs.alt}
|