Spaces:
Sleeping
Sleeping
| {"remainingRequest":"/home/camus/work/lotus/node_modules/babel-loader/lib/index.js!/home/camus/work/lotus/node_modules/cache-loader/dist/cjs.js??ref--1-0!/home/camus/work/lotus/node_modules/vue-loader/lib/index.js??vue-loader-options!/home/camus/work/lotus/app/components/sheet-live.vue?vue&type=script&lang=js","dependencies":[{"path":"/home/camus/work/lotus/app/components/sheet-live.vue","mtime":1732184473651},{"path":"/home/camus/work/lotus/node_modules/cache-loader/dist/cjs.js","mtime":1719800821084},{"path":"/home/camus/work/lotus/node_modules/babel-loader/lib/index.js","mtime":1727163989637},{"path":"/home/camus/work/lotus/node_modules/cache-loader/dist/cjs.js","mtime":1719800821084},{"path":"/home/camus/work/lotus/node_modules/vue-loader/lib/index.js","mtime":1719800840033}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IFZ1ZSBmcm9tICJ2dWUiOwppbXBvcnQgeyBNaWRpUGxheWVyIH0gZnJvbSAiQGstbC1sYW1iZGEvbXVzaWMtd2lkZ2V0cyI7CmltcG9ydCBTaGVldFNjaGVkdWxlciBmcm9tICIuLi8uLi9pbmMvbGlseU5vdGF0aW9uL3NjaGVkdWxlci50cyI7CmltcG9ydCB7IGFuaW1hdGlvbkRlbGF5IH0gZnJvbSAiLi4vZGVsYXkuanMiOwppbXBvcnQgeyBTaW5nbGVMb2NrIH0gZnJvbSAiLi4vLi4vaW5jL211dGV4LnRzIjsKaW1wb3J0IFNjaGVkdWxlUG9vbCBmcm9tICIuLi8uLi9pbmMvc2NoZWR1bGVQb29sLnRzIjsKaW1wb3J0IFNoZWV0VG9rZW4gZnJvbSAiLi9zaGVldC10b2tlbi52dWUiOwpjbGFzcyBQbGFjZWhvbGRlclRva2VuTGlzdCB7CiAgYWRkKCkge30KICByZW1vdmUoKSB7fQp9CjsKY2xhc3MgTXVsdGlDbGFzc0xpc3QgewogIGNvbnN0cnVjdG9yKGVsZW1zKSB7CiAgICB0aGlzLmVsZW1zID0gZWxlbXM7CiAgfQoKICAvKmhhcyAobmFtZSkgewogIAlyZXR1cm4gdGhpcy5lbGVtc1swXS5oYXMobmFtZSk7CiAgfSovCgogIGFkZChuYW1lKSB7CiAgICB0aGlzLmVsZW1zLmZvckVhY2goZWxlbSA9PiBlbGVtLmNsYXNzTGlzdC5hZGQobmFtZSkpOwogIH0KICByZW1vdmUobmFtZSkgewogICAgdGhpcy5lbGVtcy5mb3JFYWNoKGVsZW0gPT4gZWxlbS5jbGFzc0xpc3QucmVtb3ZlKG5hbWUpKTsKICB9CiAgZ2V0IHZhbHVlKCkgewogICAgcmV0dXJuIHRoaXMuZWxlbXNbMF0gJiYgdGhpcy5lbGVtc1swXS52YWx1ZTsKICB9CiAgc2V0IHZhbHVlKHZhbHVlKSB7CiAgICB0aGlzLmVsZW1zLmZvckVhY2goZWxlbSA9PiBlbGVtLnZhbHVlID0gdmFsdWUpOwogIH0KfQo7CmNvbnN0IGVsZW1DbGFzc0J5SWQgPSAoaWQsIHBhcmVudCA9IGRvY3VtZW50KSA9PiB7CiAgY29uc3QgZWxlbXMgPSBwYXJlbnQucXVlcnlTZWxlY3RvckFsbChgLnRva2VuICpbZGF0YS1ocmVmPScke2lkfSddYCk7CiAgaWYgKGVsZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBQbGFjZWhvbGRlclRva2VuTGlzdCgpOwogIGlmIChlbGVtcy5sZW5ndGggPT09IDEpIHJldHVybiBlbGVtc1swXS5jbGFzc0xpc3Q7CiAgcmV0dXJuIG5ldyBNdWx0aUNsYXNzTGlzdChlbGVtcyk7Cn07CmNvbnN0IERFRkFVTFRfV0FURVJNQVJLID0gcHJvY2Vzcy5lbnYuVlVFX0FQUF9ERUZBVUxUX1dBVEVSTUFSSzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJzaGVldC1saXZlIiwKICBjb21wb25lbnRzOiB7CiAgICBTaGVldFRva2VuCiAgfSwKICBwcm9wczogewogICAgZG9jOiBPYmplY3QsCiAgICBtaWRpTm90YXRpb246IE9iamVjdCwKICAgIHBpdGNoQ29udGV4dEdyb3VwOiBBcnJheSwKICAgIHNob3dNYXJrOiBCb29sZWFuLAogICAgc2hvd0N1cnNvcjogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgbm90ZUhpZ2hsaWdodDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgYmFraW5nTW9kZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIGJhY2tncm91bmRJbWFnZXM6IEFycmF5LAogICAgZW5hYmxlUG9pbnRlcjogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIHNob3dQYWdlc1Byb2dyZXNzaXZlbHk6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0sCiAgICBwYXJ0aWFsVmlzaWJsZTogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiB0cnVlCiAgICB9LAogICAgc2NoZWR1bGVyOiBPYmplY3QsCiAgICB3YXRlcm1hcms6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiBERUZBVUxUX1dBVEVSTUFSSwogICAgfSwKICAgIGVuYWJsZWRGb250OiBCb29sZWFuLAogICAgaGlnaGxpZ2h0U3ltYm9sOiBTdHJpbmcKICB9LAogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBtaWRpUGxheWVyOiBudWxsLAogICAgICAvL3NjaGVkdWxlcjogbnVsbCwKICAgICAgc3RhdHVzTWFwOiBuZXcgTWFwKCksCiAgICAgIHNob3duUGFnZXM6IFtdLAogICAgICB3YXRlcm1hcmtTaXplOiB7CiAgICAgICAgd2lkdGg6IDI1NiwKICAgICAgICBoZWlnaHQ6IDI1NgogICAgICB9CiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHByb2dyZXNzVGlja3MoKSB7CiAgICAgIHJldHVybiB0aGlzLm1pZGlQbGF5ZXIgJiYgdGhpcy5taWRpUGxheWVyLnByb2dyZXNzVGlja3M7CiAgICB9LAogICAgY3Vyc29yUG9zaXRpb24oKSB7CiAgICAgIGlmICghdGhpcy5taWRpUGxheWVyIHx8ICF0aGlzLnNjaGVkdWxlcikgcmV0dXJuIG51bGw7CiAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxlci5sb29rdXBQb3NpdGlvbih0aGlzLnByb2dyZXNzVGlja3MpOwogICAgfSwKICAgIGN1cnNvclBhZ2VJbmRleCgpIHsKICAgICAgaWYgKCF0aGlzLmN1cnNvclBvc2l0aW9uIHx8ICF0aGlzLmRvYykgcmV0dXJuIG51bGw7CiAgICAgIGNvbnN0IHN5c3RlbSA9IHRoaXMuZG9jLnN5c3RlbXNbdGhpcy5jdXJzb3JQb3NpdGlvbi5zeXN0ZW1dOwogICAgICBjb25zb2xlLmFzc2VydChzeXN0ZW0sICJpbnZhbGlkIGN1cnNvciBzeXN0ZW0gaW5kZXg6IiwgdGhpcy5jdXJzb3JQb3NpdGlvbik7CiAgICAgIGlmICghc3lzdGVtKSByZXR1cm4gbnVsbDsKICAgICAgcmV0dXJuIHN5c3RlbS5wYWdlSW5kZXg7CiAgICB9LAogICAgY3Vyc29yU3lzdGVtSW5kZXgoKSB7CiAgICAgIGlmICghdGhpcy5jdXJzb3JQb3NpdGlvbiB8fCAhdGhpcy5kb2MpIHJldHVybiBudWxsOwogICAgICByZXR1cm4gdGhpcy5jdXJzb3JQb3NpdGlvbi5zeXN0ZW07CiAgICB9LAogICAgLy8gREVQUkVDQVRFRAogICAgY3Vyc29yUm93SW5kZXgoKSB7CiAgICAgIHJldHVybiB0aGlzLmN1cnNvclN5c3RlbUluZGV4OwogICAgfSwKICAgIHN2Z1NjYWxlKCkgewogICAgICBjb25zdCBwYWdlID0gdGhpcy5kb2MgJiYgdGhpcy5kb2MucGFnZXNbMF07CiAgICAgIGlmIChwYWdlKSByZXR1cm4gdGhpcy5kb2MucGFnZVNpemUud2lkdGggLyBwYWdlLnZpZXdCb3gud2lkdGg7CiAgICAgIHJldHVybiAxOwogICAgfSwKICAgIGlzUGxheWluZygpIHsKICAgICAgcmV0dXJuIHRoaXMubWlkaVBsYXllciAmJiB0aGlzLm1pZGlQbGF5ZXIuaXNQbGF5aW5nOwogICAgfQogIH0sCiAgY3JlYXRlZCgpIHsKICAgIHRoaXMucGFnZUxvYWRpbmdMb2NrID0gbmV3IFNpbmdsZUxvY2soKTsKICAgIHRoaXMuc2NoZWR1bGVQb29sID0gbmV3IFNjaGVkdWxlUG9vbChwZXJmb3JtYW5jZSk7CiAgICB0aGlzLnByZXBhcmVQbGF5ZXIoKTsKICAgIHRoaXMuc2hvd1BhZ2VzKCk7CiAgICBpZiAodGhpcy53YXRlcm1hcmspIHsKICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7CiAgICAgIGltZy5zcmMgPSB0aGlzLndhdGVybWFyazsKICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHsKICAgICAgICB0aGlzLndhdGVybWFya1NpemUud2lkdGggPSBpbWcubmF0dXJhbFdpZHRoOwogICAgICAgIHRoaXMud2F0ZXJtYXJrU2l6ZS5oZWlnaHQgPSBpbWcubmF0dXJhbEhlaWdodDsKICAgICAgfTsKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIG9uUGxheWVyTWlkaShkYXRhLCB0aW1lc3RhbXApIHsKICAgICAgdGhpcy4kZW1pdCgibWlkaSIsIGRhdGEsIHRpbWVzdGFtcCk7CiAgICAgIGlmICh0aGlzLm5vdGVIaWdobGlnaHQpIHsKICAgICAgICBpZiAoZGF0YS5pZHMpIHsKICAgICAgICAgIGxldCB0YXNrID0gbnVsbDsKICAgICAgICAgIGNvbnN0IGlkcyA9IGRhdGEuaWRzOwogICAgICAgICAgc3dpdGNoIChkYXRhLnN1YnR5cGUpIHsKICAgICAgICAgICAgY2FzZSAibm90ZU9uIjoKICAgICAgICAgICAgICB0YXNrID0gKCkgPT4gaWRzLmZvckVhY2goaWQgPT4gewogICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gdGhpcy5zdGF0dXNNYXAuZ2V0KGlkKTsKICAgICAgICAgICAgICAgIHN0YXR1cyAmJiBzdGF0dXMuYWRkKCJvbiIpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJub3RlT2ZmIjoKICAgICAgICAgICAgICB0YXNrID0gKCkgPT4gaWRzLmZvckVhY2goaWQgPT4gewogICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gdGhpcy5zdGF0dXNNYXAuZ2V0KGlkKTsKICAgICAgICAgICAgICAgIHN0YXR1cyAmJiBzdGF0dXMucmVtb3ZlKCJvbiIpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHRhc2spIHRoaXMuc2NoZWR1bGVQb29sLmFwcGVuZFRhc2sodGltZXN0YW1wLCB0YXNrKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBzZXROb3RlU3RhdHVzKG5vdGVJbmRleCwgY2xhc3NOYW1lLCBvbikgewogICAgICBpZiAodGhpcy5taWRpTm90YXRpb24pIHsKICAgICAgICBjb25zdCBub3RlID0gdGhpcy5taWRpTm90YXRpb24ubm90ZXNbbm90ZUluZGV4XTsKICAgICAgICBpZiAobm90ZSkgewogICAgICAgICAgaWYgKG5vdGUuaWRzKSB7CiAgICAgICAgICAgIG5vdGUuaWRzLmZvckVhY2goaWQgPT4gewogICAgICAgICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLnN0YXR1c01hcC5nZXQoaWQpOwogICAgICAgICAgICAgIGlmIChsaXN0KSB7CiAgICAgICAgICAgICAgICBpZiAob24pIGxpc3QuYWRkKGNsYXNzTmFtZSk7ZWxzZSBsaXN0LnJlbW92ZShjbGFzc05hbWUpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGNvbnNvbGUud2FybigiaW52YWxpZCBub3RlIGluZGV4OiIsIG5vdGVJbmRleCwgdGhpcy5taWRpTm90YXRpb24ubm90ZXMubGVuZ3RoKTsKICAgICAgfQogICAgfSwKICAgIGNsZWFyTm90ZVN0YXR1cygpIHsKICAgICAgZm9yIChjb25zdCBzdGF0dXMgb2YgdGhpcy5zdGF0dXNNYXAudmFsdWVzKCkpIHN0YXR1cy52YWx1ZSA9ICIiOwogICAgfSwKICAgIHVwZGF0ZVRva2VuU3RhdHVzKCkgewogICAgICBpZiAodGhpcy5taWRpTm90YXRpb24gJiYgdGhpcy5ub3RlSGlnaGxpZ2h0KSB7CiAgICAgICAgZm9yIChjb25zdCBub3RlIG9mIHRoaXMubWlkaU5vdGF0aW9uLm5vdGVzKSB7CiAgICAgICAgICBjb25zdCBvbiA9IHRoaXMubWlkaVBsYXllci5pc1BsYXlpbmcgJiYgdGhpcy5taWRpUGxheWVyLnByb2dyZXNzVGltZSA+PSBub3RlLnN0YXJ0ICYmIHRoaXMubWlkaVBsYXllci5wcm9ncmVzc1RpbWUgPCBub3RlLnN0YXJ0ICsgbm90ZS5kdXJhdGlvbjsKICAgICAgICAgIGlmIChub3RlLmlkcykgewogICAgICAgICAgICBub3RlLmlkcy5mb3JFYWNoKGlkID0+IHsKICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSB0aGlzLnN0YXR1c01hcC5nZXQoaWQpOwogICAgICAgICAgICAgIGlmIChzdGF0dXMpIHsKICAgICAgICAgICAgICAgIGlmIChvbikgc3RhdHVzLmFkZCgib24iKTtlbHNlIHN0YXR1cy5yZW1vdmUoIm9uIik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBhc3luYyBwcmVwYXJlUGxheWVyKCkgewogICAgICAvL2NvbnNvbGUubG9nKCJ0MToiLCBwZXJmb3JtYW5jZS5ub3coKSk7CiAgICAgIC8vdGhpcy5zY2hlZHVsZXIgPSBudWxsOwogICAgICB0aGlzLnN0YXR1c01hcC5jbGVhcigpOwogICAgICBpZiAodGhpcy5taWRpUGxheWVyKSB7CiAgICAgICAgdGhpcy5taWRpUGxheWVyLmRpc3Bvc2UoKTsKICAgICAgICB0aGlzLm1pZGlQbGF5ZXIgPSBudWxsOwogICAgICB9CiAgICAgIGlmICh0aGlzLm1pZGlOb3RhdGlvbikgewogICAgICAgIHRoaXMudXBkYXRlTWlkaVBsYXllcigpOwoKICAgICAgICAvLyB3YWl0IERPTSB1cGRhdGUKICAgICAgICBhd2FpdCB0aGlzLiRuZXh0VGljaygpOwogICAgICAgIGF3YWl0IHRoaXMucGFnZUxvYWRpbmdMb2NrLndhaXQoKTsKICAgICAgICB0aGlzLnVwZGF0ZVN0YXR1c01hcCgpOwogICAgICAgIGlmICghdGhpcy5zY2hlZHVsZXIpIHsKICAgICAgICAgIGNvbnN0IHRva2VuTWFwID0gdGhpcy5kb2MgJiYgdGhpcy5kb2MuZ2V0VG9rZW5NYXAoKTsKICAgICAgICAgIGlmICh0b2tlbk1hcCkgewogICAgICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2VuTWFwLnZhbHVlcygpKSBWdWUuc2V0KHRva2VuLCAib24iLCB0b2tlbi5vbiB8fCBmYWxzZSk7CiAgICAgICAgICAgIGNvbnN0IHNjaGVkdWxlciA9IFNoZWV0U2NoZWR1bGVyLmNyZWF0ZUZyb21Ob3RhdGlvbih0aGlzLm1pZGlOb3RhdGlvbiwgdG9rZW5NYXApOwogICAgICAgICAgICB0aGlzLiRlbWl0KCJ1cGRhdGU6c2NoZWR1bGVyIiwgc2NoZWR1bGVyKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICB1cGRhdGVNaWRpUGxheWVyKCkgewogICAgICBpZiAodGhpcy5taWRpUGxheWVyKSB0aGlzLm1pZGlQbGF5ZXIuZGlzcG9zZSgpOwogICAgICB0aGlzLm1pZGlQbGF5ZXIgPSBuZXcgTWlkaVBsYXllcih0aGlzLm1pZGlOb3RhdGlvbiwgewogICAgICAgIGNhY2hlU3BhbjogNDAwLAogICAgICAgIG9uTWlkaTogKGRhdGEsIHRpbWVzdGFtcCkgPT4gdGhpcy5vblBsYXllck1pZGkoZGF0YSwgdGltZXN0YW1wKSwKICAgICAgICBvblR1cm5DdXJzb3I6ICgpID0+IHRoaXMudXBkYXRlVG9rZW5TdGF0dXMoKQogICAgICB9KTsKICAgIH0sCiAgICB1cGRhdGVTdGF0dXNNYXAoKSB7CiAgICAgIGlmICh0aGlzLm1pZGlOb3RhdGlvbikgewogICAgICAgIHRoaXMubWlkaU5vdGF0aW9uLm5vdGVzLmZvckVhY2gobm90ZSA9PiBub3RlLmlkcyAmJiBub3RlLmlkcy5mb3JFYWNoKGlkID0+IHsKICAgICAgICAgIGlmICghdGhpcy5zdGF0dXNNYXAuZ2V0KGlkKSkgdGhpcy5zdGF0dXNNYXAuc2V0KGlkLCBlbGVtQ2xhc3NCeUlkKGlkLCB0aGlzLiRlbCkpOwogICAgICAgIH0pKTsKICAgICAgfQogICAgfSwKICAgIHVwZGF0ZVN0YXR1c01hcEluUGFnZShwYWdlKSB7CiAgICAgIGNvbnN0IHRva2VucyA9IHBhZ2UucXVlcnlTZWxlY3RvckFsbCgiLnRva2VuICpbZGF0YS1ocmVmXSIpOwogICAgICB0b2tlbnMuZm9yRWFjaCh0b2tlbiA9PiB7CiAgICAgICAgY29uc3QgaWQgPSB0b2tlbi5kYXRhc2V0LmhyZWY7CiAgICAgICAgLy90aGlzLnN0YXR1c01hcC5zZXQoaWQsIHRva2VuLmNsYXNzTGlzdCk7CiAgICAgICAgdGhpcy5zdGF0dXNNYXAuc2V0KGlkLCBlbGVtQ2xhc3NCeUlkKGlkLCBwYWdlKSk7CiAgICAgIH0pOwogICAgfSwKICAgIGFkZE1hcmtpbmdCeVRpY2sodGljaywgcGl0Y2gsIHN0YWZmSW5kZXgsIHsKICAgICAgaWQsCiAgICAgIGNscywKICAgICAgdGV4dCA9ICJcdWUwYTkiLAogICAgICB4b2Zmc2V0ID0gMAogICAgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5waXRjaENvbnRleHRHcm91cCkgewogICAgICAgIGNvbnNvbGUud2FybigiW2FkZE1hcmtpbmdCeVRpY2tdCXBpdGNoQ29udGV4dEdyb3VwIGlzIHJlcXVpcmVkLiIpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBjb25zdCBjb250ZXh0VGFibGUgPSB0aGlzLnBpdGNoQ29udGV4dEdyb3VwW3N0YWZmSW5kZXhdOwogICAgICBpZiAoIWNvbnRleHRUYWJsZSkgewogICAgICAgIGNvbnNvbGUud2FybigiW2FkZE1hcmtpbmdCeVRpY2tdCWludmFsaWQgc3RhZmZJbmRleDoiLCBzdGFmZkluZGV4LCB0aGlzLnBpdGNoQ29udGV4dEdyb3VwLmxlbmd0aCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5zY2hlZHVsZXIubG9va3VwUG9zaXRpb24odGljayk7CiAgICAgIGlmICghcG9zaXRpb24pIHsKICAgICAgICBjb25zb2xlLndhcm4oIlthZGRNYXJraW5nQnlUaWNrXQlpbnZhbGlkIHRpY2s6IiwgdGljayk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IGNvbnRleHQgPSBjb250ZXh0VGFibGUubG9va3VwKHRpY2spOwogICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICBjb25zb2xlLndhcm4oIm5vIGNvbnRleHQgYXQgdGljazoiLCB0aWNrLCBjb250ZXh0VGFibGUpOwogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICAgIGNvbnN0IHsKICAgICAgICB5LAogICAgICAgIGFsdGVyCiAgICAgIH0gPSBjb250ZXh0LnBpdGNoVG9ZKHBpdGNoKTsKICAgICAgcmV0dXJuIHRoaXMuZG9jLmFkZE1hcmtpbmcocG9zaXRpb24uc3lzdGVtLCBzdGFmZkluZGV4LCB7CiAgICAgICAgeDogcG9zaXRpb24ueCArIHhvZmZzZXQsCiAgICAgICAgeSwKICAgICAgICB0ZXh0LAogICAgICAgIGFsdGVyLAogICAgICAgIGlkLAogICAgICAgIGNscwogICAgICB9KTsKICAgIH0sCiAgICBhZGRNYXJraW5nQnlOb3RlKG5vdGVJbmRleCwgcGl0Y2gsIHsKICAgICAgaWQgPSBudWxsLAogICAgICBjbHMsCiAgICAgIHRleHQgPSAiXHVlMGE5IgogICAgfSA9IHt9KSB7CiAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMubWlkaU5vdGF0aW9uLCAiW2FkZE1hcmtpbmdCeU5vdGVdCW1pZGlOb3RhdGlvbiBpcyBudWxsLiIpOwogICAgICBjb25zdCBub3RlID0gdGhpcy5taWRpTm90YXRpb24ubm90ZXNbbm90ZUluZGV4XTsKICAgICAgaWYgKCFub3RlKSB7CiAgICAgICAgY29uc29sZS53YXJuKCJbYWRkTWFya2luZ0J5Tm90ZV0JaW52YWxpZCBub3RlSW5kZXg6Iiwgbm90ZUluZGV4LCB0aGlzLm1pZGlOb3RhdGlvbi5ub3Rlcy5sZW5ndGgpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICBpZiAoIWlkKSB7CiAgICAgICAgaWYgKCFub3RlLmlkcykgcmV0dXJuIG51bGw7CiAgICAgICAgaWQgPSBub3RlLmlkc1swXTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5hZGRNYXJraW5nQnlUaWNrKG5vdGUuc3RhcnRUaWNrLCBwaXRjaCwgbm90ZS5zdGFmZlRyYWNrLCB7CiAgICAgICAgaWQsCiAgICAgICAgY2xzLAogICAgICAgIHRleHQsCiAgICAgICAgeG9mZnNldDogMS4yCiAgICAgIH0pOwogICAgfSwKICAgIHJlbW92ZU1hcmtpbmcoaWQpIHsKICAgICAgdGhpcy5kb2MucmVtb3ZlTWFya2luZyhpZCk7CiAgICB9LAogICAgY2xlYXJNYXJraW5ncygpIHsKICAgICAgdGhpcy5kb2MuY2xlYXJNYXJraW5ncygpOwogICAgfSwKICAgIGFzeW5jIHNob3dQYWdlcygpIHsKICAgICAgdGhpcy5zaG93blBhZ2VzID0gW107CiAgICAgIGlmICghdGhpcy5kb2MpIHJldHVybjsKICAgICAgaWYgKHRoaXMuc2hvd1BhZ2VzUHJvZ3Jlc3NpdmVseSkgewogICAgICAgIGF3YWl0IHRoaXMucGFnZUxvYWRpbmdMb2NrLndhaXQoKTsKICAgICAgICB0aGlzLnBhZ2VMb2FkaW5nTG9jay5sb2NrKCk7CiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRvYy5wYWdlcy5sZW5ndGg7ICsraSkgewogICAgICAgICAgdGhpcy5zaG93blBhZ2VzLnB1c2godGhpcy5kb2MucGFnZXNbaV0pOwogICAgICAgICAgYXdhaXQgdGhpcy4kbmV4dFRpY2soKTsKICAgICAgICAgIGF3YWl0IGFuaW1hdGlvbkRlbGF5KCk7CiAgICAgICAgfQogICAgICAgIHRoaXMucGFnZUxvYWRpbmdMb2NrLnJlbGVhc2UoKTsKICAgICAgfSBlbHNlIHRoaXMuc2hvd25QYWdlcyA9IHRoaXMuZG9jLnBhZ2VzOwogICAgfSwKICAgIG9uRG9jQ2hhbmdlZCgpIHsKICAgICAgdGhpcy5jbGVhck5vdGVTdGF0dXMoKTsKICAgICAgdGhpcy5jbGVhck1hcmtpbmdzKCk7CiAgICAgIHRoaXMuc2hvd1BhZ2VzKCk7CiAgICB9LAogICAgZXZlbnRUb1N5c3RlbVBvc2l0aW9uKHN5c3RlbSwgZXZlbnQpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICB4OiBldmVudC5vZmZzZXRYIC8gdGhpcy5zdmdTY2FsZSAtIHN5c3RlbS54LAogICAgICAgIHk6IGV2ZW50Lm9mZnNldFkgLyB0aGlzLnN2Z1NjYWxlIC0gc3lzdGVtLnkKICAgICAgfTsKICAgIH0sCiAgICBldmVudFRvUG9pbnRlcihzeXN0ZW0sIGV2ZW50KSB7CiAgICAgIGNvbnN0IHBvcyA9IHRoaXMuZXZlbnRUb1N5c3RlbVBvc2l0aW9uKHN5c3RlbSwgZXZlbnQpOwogICAgICBjb25zdCBzeXN0ZW1JbmRleCA9IHN5c3RlbS5pbmRleDsKICAgICAgY29uc3QgbWVhc3VyZUluZGV4ID0gdGhpcy5kb2MubG9va3VwTWVhc3VyZUluZGV4KHN5c3RlbUluZGV4LCBwb3MueCk7CiAgICAgIGNvbnN0IHRpY2sgPSB0aGlzLnNjaGVkdWxlciAmJiB0aGlzLnNjaGVkdWxlci5sb29rdXBUaWNrKHsKICAgICAgICBzeXN0ZW06IHN5c3RlbUluZGV4LAogICAgICAgIHg6IHBvcy54CiAgICAgIH0pOwogICAgICByZXR1cm4gewogICAgICAgIHN5c3RlbUluZGV4LAogICAgICAgIG1lYXN1cmVJbmRleCwKICAgICAgICB0aWNrLAogICAgICAgIC4uLnBvcwogICAgICB9OwogICAgfSwKICAgIG9uTW91c2Vtb3ZlUGFkKHN5c3RlbSwgZXZlbnQpIHsKICAgICAgdGhpcy4kZW1pdCgicG9pbnRlclVwZGF0ZSIsIHRoaXMuZXZlbnRUb1BvaW50ZXIoc3lzdGVtLCBldmVudCkpOwogICAgfSwKICAgIG9uTW91c2VsZWF2ZVBhZCgpIHsKICAgICAgdGhpcy4kZW1pdCgicG9pbnRlclVwZGF0ZSIsIG51bGwpOwogICAgfSwKICAgIG9uQ2xpY2tQYWQoc3lzdGVtLCBldmVudCkgewogICAgICB0aGlzLiRlbWl0KCJwb2ludGVyQ2xpY2siLCB0aGlzLmV2ZW50VG9Qb2ludGVyKHN5c3RlbSwgZXZlbnQpLCBldmVudCk7CiAgICB9LAogICAgdXBkYXRlUGFnZVZpc2liaWxpdHkoKSB7CiAgICAgIC8vY29uc29sZS5sb2coInBhZ2VzOiIsIHRoaXMuJHJlZnMucGFnZXMpOwogICAgICAvL2NvbnN0IGRpcnR5UGFnZXMgPSBbXTsKICAgICAgaWYgKCF0aGlzLiRyZWZzLnBhZ2VzKSB7CiAgICAgICAgY29uc29sZS5sb2coIlt1cGRhdGVQYWdlVmlzaWJpbGl0eV0gJHJlZnMucGFnZXMgaXMgbnVsbDoiLCB0aGlzLiRyZWZzLnBhZ2VzKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy4kcmVmcy5wYWdlcy5mb3JFYWNoKChwYWdlRWxlbSwgaSkgPT4gewogICAgICAgIGNvbnN0IHJlY3QgPSBwYWdlRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICBjb25zdCBwYWdlID0gdGhpcy5zaG93blBhZ2VzW2ldOwogICAgICAgIGNvbnN0IGhpZGRlbiA9IHJlY3QudG9wID4gd2luZG93LmlubmVySGVpZ2h0IHx8IHJlY3QuYm90dG9tIDwgMCB8fCByZWN0LmxlZnQgPiB3aW5kb3cuaW5uZXJXaWR0aCB8fCByZWN0LnJpZ2h0IDwgMDsKICAgICAgICBpZiAoISFwYWdlLmhpZGRlbiAhPT0gaGlkZGVuKSBWdWUuc2V0KHBhZ2UsICJoaWRkZW4iLCBoaWRkZW4pOwogICAgICAgIC8vaWYgKCFoaWRkZW4pCiAgICAgICAgLy8JZGlydHlQYWdlcy5wdXNoKHBhZ2VFbGVtKTsKCiAgICAgICAgLy9jb25zb2xlLmxvZygicGFnZToiLCBpLCByZWN0LCB3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0LCBwYWdlLmhpZGRlbik7CiAgICAgIH0pOwoKICAgICAgLy90aGlzLiRuZXh0VGljaygoKSA9PiBkaXJ0eVBhZ2VzLmZvckVhY2gocGFnZSA9PiB0aGlzLnVwZGF0ZVN0YXR1c01hcEluUGFnZShwYWdlKSkpOwogICAgfSwKICAgIG9uUGFnZUNoYW5nZWQoZXZlbnQpIHsKICAgICAgLy9jb25zb2xlLmxvZygib25QYWdlQ2hhbmdlZDoiLCBldmVudCk7CiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09PSAiZyIpIHRoaXMudXBkYXRlU3RhdHVzTWFwSW5QYWdlKGV2ZW50LnRhcmdldCk7CiAgICB9CiAgfSwKICB3YXRjaDogewogICAgbWlkaU5vdGF0aW9uOiAicHJlcGFyZVBsYXllciIsCiAgICBtaWRpUGxheWVyKHZhbHVlKSB7CiAgICAgIHRoaXMuJGVtaXQoInVwZGF0ZTptaWRpUGxheWVyIiwgdmFsdWUpOwogICAgfSwKICAgIGFzeW5jIGJha2luZ01vZGUoKSB7CiAgICAgIGF3YWl0IHRoaXMuJG5leHRUaWNrKCk7CiAgICAgIGF3YWl0IHRoaXMucGFnZUxvYWRpbmdMb2NrLndhaXQoKTsKICAgICAgdGhpcy51cGRhdGVTdGF0dXNNYXAoKTsKICAgICAgdGhpcy51cGRhdGVUb2tlblN0YXR1cygpOwogICAgfSwKICAgIGRvYzogIm9uRG9jQ2hhbmdlZCIsCiAgICBjdXJzb3JQYWdlSW5kZXgodmFsdWUpIHsKICAgICAgdGhpcy4kZW1pdCgiY3Vyc29yUGFnZVNoaWZ0IiwgdmFsdWUpOwogICAgfSwKICAgIGN1cnNvclN5c3RlbUluZGV4KHZhbHVlKSB7CiAgICAgIHRoaXMuJGVtaXQoImN1cnNvclN5c3RlbVNoaWZ0IiwgdmFsdWUpOwogICAgfSwKICAgIGlzUGxheWluZyh2YWx1ZSkgewogICAgICBpZiAoIXZhbHVlKSB0aGlzLnNjaGVkdWxlUG9vbC5jbGVhcigpOwogICAgfQogIH0KfTs="},{"version":3,"names":["Vue","MidiPlayer","SheetScheduler","animationDelay","SingleLock","SchedulePool","SheetToken","PlaceholderTokenList","add","remove","MultiClassList","constructor","elems","name","forEach","elem","classList","value","elemClassById","id","parent","document","querySelectorAll","length","DEFAULT_WATERMARK","process","env","VUE_APP_DEFAULT_WATERMARK","components","props","doc","Object","midiNotation","pitchContextGroup","Array","showMark","Boolean","showCursor","type","default","noteHighlight","bakingMode","backgroundImages","enablePointer","showPagesProgressively","partialVisible","scheduler","watermark","String","enabledFont","highlightSymbol","data","midiPlayer","statusMap","Map","shownPages","watermarkSize","width","height","computed","progressTicks","cursorPosition","lookupPosition","cursorPageIndex","system","systems","console","assert","pageIndex","cursorSystemIndex","cursorRowIndex","svgScale","page","pages","pageSize","viewBox","isPlaying","created","pageLoadingLock","schedulePool","performance","preparePlayer","showPages","img","Image","src","onload","naturalWidth","naturalHeight","methods","onPlayerMidi","timestamp","$emit","ids","task","subtype","status","get","appendTask","setNoteStatus","noteIndex","className","on","note","notes","list","warn","clearNoteStatus","values","updateTokenStatus","progressTime","start","duration","clear","dispose","updateMidiPlayer","$nextTick","wait","updateStatusMap","tokenMap","getTokenMap","token","set","createFromNotation","cacheSpan","onMidi","onTurnCursor","$el","updateStatusMapInPage","tokens","dataset","href","addMarkingByTick","tick","pitch","staffIndex","cls","text","xoffset","contextTable","position","context","lookup","y","alter","pitchToY","addMarking","x","addMarkingByNote","startTick","staffTrack","removeMarking","clearMarkings","lock","i","push","release","onDocChanged","eventToSystemPosition","event","offsetX","offsetY","eventToPointer","pos","systemIndex","index","measureIndex","lookupMeasureIndex","lookupTick","onMousemovePad","onMouseleavePad","onClickPad","updatePageVisibility","$refs","log","pageElem","rect","getBoundingClientRect","hidden","top","window","innerHeight","bottom","left","innerWidth","right","onPageChanged","target","nodeName","watch"],"sources":["app/components/sheet-live.vue"],"sourcesContent":["<template>\n\t<div class=\"sheet live\">\n\t\t<svg v-for=\"(page, i) of shownPages\" :key=\"i\" ref=\"pages\"\n\t\t\tclass=\"page\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t:width=\"page.width\"\n\t\t\t:height=\"page.height\"\n\t\t\t:viewBox=\"`${page.viewBox.x} ${page.viewBox.y} ${page.viewBox.width} ${page.viewBox.height}`\"\n\t\t\t:style=\"{['background-image']: backgroundImages && backgroundImages[i] && `url(${backgroundImages[i]})`}\"\n\t\t\t@DOMNodeInserted=\"onPageChanged\"\n\t\t>\n\t\t\t<g v-if=\"!partialVisible || !page.hidden\">\n\t\t\t\t<g v-if=\"showMark\" class=\"mark\">\n\t\t\t\t\t<g class=\"system\" v-for=\"(system, ii) of page.systems\" :key=\"ii\"\n\t\t\t\t\t\t:transform=\"`translate(${system.x}, ${system.y})`\"\n\t\t\t\t\t\t@mousemove=\"enablePointer && onMousemovePad(system, $event)\"\n\t\t\t\t\t\t@mouseleave=\"enablePointer && onMouseleavePad(system, $event)\"\n\t\t\t\t\t\t@click=\"onClickPad(system, $event)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<rect :x=\"0\" :y=\"system.top\" :width=\"system.width\" :height=\"system.bottom - system.top\" />\n\t\t\t\t\t\t<slot name=\"system\" :system=\"system\" :page=\"page\"></slot>\n\t\t\t\t\t</g>\n\t\t\t\t\t<slot name=\"page\" :page=\"page\"></slot>\n\t\t\t\t</g>\n\t\t\t\t<g v-if=\"!bakingMode\">\n\t\t\t\t\t<g v-if=\"watermark\" class=\"wm\">\n\t\t\t\t\t\t<image :href=\"watermark\"\n\t\t\t\t\t\t\t:x=\"(doc.pageSize.width - watermarkSize.width) / 2 / svgScale\"\n\t\t\t\t\t\t\t:y=\"(doc.pageSize.height - watermarkSize.height) / 2 / svgScale\"\n\t\t\t\t\t\t\t:width=\"watermarkSize.width / 2 / svgScale\"\n\t\t\t\t\t\t\t:height=\"watermarkSize.height / 2 / svgScale\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</g>\n\t\t\t\t\t<g class=\"page-tokens\">\n\t\t\t\t\t\t<SheetToken v-for=\"(token, ii) of page.tokens\" :key=\"ii\" :token=\"token\" />\n\t\t\t\t\t</g>\n\t\t\t\t\t<g class=\"system\" v-for=\"(system, ii) of page.systems\" :key=\"ii\"\n\t\t\t\t\t\t:transform=\"`translate(${system.x}, ${system.y})`\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<rect class=\"cursor\" v-if=\"showCursor && cursorPosition && cursorPosition.system === system.index\"\n\t\t\t\t\t\t\t:x=\"cursorPosition.x\" :y=\"system.top - 0.5\" width=\"1\" :height=\"system.bottom - system.top + 1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t<SheetToken v-for=\"(token, i5) of system.tokens\" :key=\"i5\" :token=\"token\" />\n\t\t\t\t\t\t</g>\n\t\t\t\t\t\t<g class=\"staff\" v-for=\"(staff, iii) of system.staves\" :key=\"iii\"\n\t\t\t\t\t\t\t:transform=\"`translate(${staff.x}, ${staff.y})`\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t\t<SheetToken v-for=\"(token, i5) of staff.tokens\" :key=\"i5\" :token=\"token\" />\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t<g class=\"measure\" v-for=\"(measure, i4) of staff.measures\" :key=\"i4\">\n\t\t\t\t\t\t\t\t<SheetToken v-for=\"(token, i5) of measure.tokens\" :key=\"i5\"\n\t\t\t\t\t\t\t\t\t:token=\"token\"\n\t\t\t\t\t\t\t\t\t:classes=\"{\n\t\t\t\t\t\t\t\t\t\tmatched: statusMap.has(token.href),\n\t\t\t\t\t\t\t\t\t\tmismatched: token.is('NOTEHEAD') && !statusMap.has(token.href),\n\t\t\t\t\t\t\t\t\t\ttied: token.tied,\n\t\t\t\t\t\t\t\t\t\tattached: Number.isFinite(token.stemX),\n\t\t\t\t\t\t\t\t\t\thighlight: highlightSymbol && token.is(highlightSymbol),\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t:showTitle=\"showMark\"\n\t\t\t\t\t\t\t\t\t:scale=\"enabledFont ? token.scale2 : null\"\n\t\t\t\t\t\t\t\t\t@click=\"$emit('click-token', token, $event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t<g v-if=\"showMark\" class=\"mark\">\n\t\t\t\t\t\t\t\t<slot name=\"staff\" :staff=\"staff\" :system=\"system\" :page=\"page\"></slot>\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t<g class=\"markings\">\n\t\t\t\t\t\t\t\t<g v-for=\"marking of staff.markings\" :key=\"marking.index\"\n\t\t\t\t\t\t\t\t\t:transform=\"`translate(${marking.x}, ${marking.y + staff.yRoundOffset})`\"\n\t\t\t\t\t\t\t\t\t:class=\"marking.cls\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<text>{{marking.text}}</text>\n\t\t\t\t\t\t\t\t\t<text class=\"alter\" v-if=\"marking.alterText\" x=\"-0.2\" y=\"0\">{{marking.alterText}}</text>\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t</g>\n\t\t\t\t<g v-if=\"bakingMode\" class=\"bake\">\n\t\t\t\t\t<g class=\"system\" v-for=\"(system, ii) of page.systems\" :key=\"ii\"\n\t\t\t\t\t\t:transform=\"`translate(${system.x}, ${system.y})`\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<rect class=\"cursor\" v-if=\"showCursor && cursorPosition && cursorPosition.system === system.index\"\n\t\t\t\t\t\t\t:x=\"cursorPosition.x\" :y=\"system.top - 0.5\" width=\"1\" :height=\"system.bottom - system.top + 1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<g class=\"staff\" v-for=\"(staff, iii) of system.staves\" :key=\"iii\"\n\t\t\t\t\t\t\t:transform=\"`translate(${staff.x}, ${staff.y})`\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<g class=\"measure\" v-for=\"(measure, i4) of staff.measures\" :key=\"i4\">\n\t\t\t\t\t\t\t\t<g v-for=\"(token, i5) of measure.matchedTokens\" :key=\"i5\"\n\t\t\t\t\t\t\t\t\t:transform=\"`translate(${token.x}, ${token.y})` + (token.scale && token.scale !== 1 ? ` scale(${token.scale})` : '')\"\n\t\t\t\t\t\t\t\t\tclass=\"token matched\"\n\t\t\t\t\t\t\t\t\t:class=\"{tied: token.tied}\"\n\t\t\t\t\t\t\t\t\t:data-track=\"token.track\"\n\t\t\t\t\t\t\t\t\t:data-index=\"token.index\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<text :data-href=\"token.href\">{{token.fontUnicode}}</text>\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t<g class=\"markings\">\n\t\t\t\t\t\t\t\t<g v-for=\"marking of staff.markings\" :key=\"marking.index\"\n\t\t\t\t\t\t\t\t\t:transform=\"`translate(${marking.x}, ${marking.y + staff.yRoundOffset})`\"\n\t\t\t\t\t\t\t\t\t:class=\"marking.cls\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<text>{{marking.text}}</text>\n\t\t\t\t\t\t\t\t\t<text class=\"alter\" v-if=\"marking.alterText\" x=\"-0.2\" y=\"0\">{{marking.alterText}}</text>\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t</div>\n</template>\n\n<script>\n\timport Vue from \"vue\";\n\timport {MidiPlayer} from \"@k-l-lambda/music-widgets\";\n\n\timport SheetScheduler from \"../../inc/lilyNotation/scheduler.ts\";\n\timport {animationDelay} from \"../delay.js\";\n\timport {SingleLock} from \"../../inc/mutex.ts\";\n\timport SchedulePool from \"../../inc/schedulePool.ts\";\n\n\timport SheetToken from \"./sheet-token.vue\";\n\n\n\n\tclass PlaceholderTokenList {\n\t\tadd () {}\n\t\tremove () {}\n\t};\n\n\n\tclass MultiClassList {\n\t\tconstructor (elems) {\n\t\t\tthis.elems = elems;\n\t\t}\n\n\t\t/*has (name) {\n\t\t\treturn this.elems[0].has(name);\n\t\t}*/\n\n\t\tadd (name) {\n\t\t\tthis.elems.forEach(elem => elem.classList.add(name));\n\t\t}\n\n\t\tremove (name) {\n\t\t\tthis.elems.forEach(elem => elem.classList.remove(name));\n\t\t}\n\n\t\tget value () {\n\t\t\treturn this.elems[0] && this.elems[0].value;\n\t\t}\n\n\t\tset value (value) {\n\t\t\tthis.elems.forEach(elem => elem.value = value);\n\t\t}\n\t};\n\n\n\tconst elemClassById = (id, parent = document) => {\n\t\tconst elems = parent.querySelectorAll(`.token *[data-href='${id}']`);\n\t\tif (elems.length === 0)\n\t\t\treturn new PlaceholderTokenList();\n\n\t\tif (elems.length === 1)\n\t\t\treturn elems[0].classList;\n\n\t\treturn new MultiClassList(elems);\n\t};\n\n\n\tconst DEFAULT_WATERMARK = process.env.VUE_APP_DEFAULT_WATERMARK;\n\n\n\n\texport default {\n\t\tname: \"sheet-live\",\n\n\n\t\tcomponents: {\n\t\t\tSheetToken,\n\t\t},\n\n\n\t\tprops: {\n\t\t\tdoc: Object,\n\t\t\tmidiNotation: Object,\n\t\t\tpitchContextGroup: Array,\n\t\t\tshowMark: Boolean,\n\t\t\tshowCursor: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\tnoteHighlight: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\tbakingMode: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tbackgroundImages: Array,\n\t\t\tenablePointer: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tshowPagesProgressively: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tpartialVisible: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\tscheduler: Object,\n\t\t\twatermark: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: DEFAULT_WATERMARK,\n\t\t\t},\n\t\t\tenabledFont: Boolean,\n\t\t\thighlightSymbol: String,\n\t\t},\n\n\n\t\tdata () {\n\t\t\treturn {\n\t\t\t\tmidiPlayer: null,\n\t\t\t\t//scheduler: null,\n\t\t\t\tstatusMap: new Map(),\n\t\t\t\tshownPages: [],\n\t\t\t\twatermarkSize: {\n\t\t\t\t\twidth: 256,\n\t\t\t\t\theight: 256,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\n\t\tcomputed: {\n\t\t\tprogressTicks () {\n\t\t\t\treturn this.midiPlayer && this.midiPlayer.progressTicks;\n\t\t\t},\n\n\n\t\t\tcursorPosition () {\n\t\t\t\tif (!this.midiPlayer || !this.scheduler)\n\t\t\t\t\treturn null;\n\n\t\t\t\treturn this.scheduler.lookupPosition(this.progressTicks);\n\t\t\t},\n\n\n\t\t\tcursorPageIndex () {\n\t\t\t\tif (!this.cursorPosition || !this.doc)\n\t\t\t\t\treturn null;\n\n\t\t\t\tconst system = this.doc.systems[this.cursorPosition.system];\n\t\t\t\tconsole.assert(system, \"invalid cursor system index:\", this.cursorPosition);\n\n\t\t\t\tif (!system)\n\t\t\t\t\treturn null;\n\n\t\t\t\treturn system.pageIndex;\n\t\t\t},\n\n\n\t\t\tcursorSystemIndex () {\n\t\t\t\tif (!this.cursorPosition || !this.doc)\n\t\t\t\t\treturn null;\n\n\t\t\t\treturn this.cursorPosition.system;\n\t\t\t},\n\n\n\t\t\t// DEPRECATED\n\t\t\tcursorRowIndex () {\n\t\t\t\treturn this.cursorSystemIndex;\n\t\t\t},\n\n\n\t\t\tsvgScale () {\n\t\t\t\tconst page = this.doc && this.doc.pages[0];\n\t\t\t\tif (page)\n\t\t\t\t\treturn this.doc.pageSize.width / page.viewBox.width;\n\n\t\t\t\treturn 1;\n\t\t\t},\n\n\n\t\t\tisPlaying () {\n\t\t\t\treturn this.midiPlayer && this.midiPlayer.isPlaying;\n\t\t\t},\n\t\t},\n\n\n\t\tcreated () {\n\t\t\tthis.pageLoadingLock = new SingleLock();\n\t\t\tthis.schedulePool = new SchedulePool(performance);\n\n\t\t\tthis.preparePlayer();\n\n\t\t\tthis.showPages();\n\n\t\t\tif (this.watermark) {\n\t\t\t\tconst img = new Image();\n\t\t\t\timg.src = this.watermark;\n\t\t\t\timg.onload = () => {\n\t\t\t\t\tthis.watermarkSize.width = img.naturalWidth;\n\t\t\t\t\tthis.watermarkSize.height = img.naturalHeight;\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\n\n\t\tmethods: {\n\t\t\tonPlayerMidi (data, timestamp) {\n\t\t\t\tthis.$emit(\"midi\", data, timestamp);\n\n\t\t\t\tif (this.noteHighlight) {\n\t\t\t\t\tif (data.ids) {\n\t\t\t\t\t\tlet task = null;\n\t\t\t\t\t\tconst ids = data.ids;\n\n\t\t\t\t\t\tswitch (data.subtype) {\n\t\t\t\t\t\tcase \"noteOn\":\n\t\t\t\t\t\t\ttask = () => ids.forEach(id => {\n\t\t\t\t\t\t\t\tconst status = this.statusMap.get(id);\n\t\t\t\t\t\t\t\tstatus && status.add(\"on\");\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"noteOff\":\n\t\t\t\t\t\t\ttask = () => ids.forEach(id => {\n\t\t\t\t\t\t\t\tconst status = this.statusMap.get(id);\n\t\t\t\t\t\t\t\tstatus && status.remove(\"on\");\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (task)\n\t\t\t\t\t\t\tthis.schedulePool.appendTask(timestamp, task);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tsetNoteStatus (noteIndex, className, on) {\n\t\t\t\tif (this.midiNotation) {\n\t\t\t\t\tconst note = this.midiNotation.notes[noteIndex];\n\t\t\t\t\tif (note) {\n\t\t\t\t\t\tif (note.ids) {\n\t\t\t\t\t\t\tnote.ids.forEach(id => {\n\t\t\t\t\t\t\t\tconst list = this.statusMap.get(id);\n\t\t\t\t\t\t\t\tif (list) {\n\t\t\t\t\t\t\t\t\tif (on)\n\t\t\t\t\t\t\t\t\t\tlist.add(className);\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\tlist.remove(className);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tconsole.warn(\"invalid note index:\", noteIndex, this.midiNotation.notes.length);\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tclearNoteStatus () {\n\t\t\t\tfor (const status of this.statusMap.values())\n\t\t\t\t\tstatus.value = \"\";\n\t\t\t},\n\n\n\t\t\tupdateTokenStatus () {\n\t\t\t\tif (this.midiNotation && this.noteHighlight) {\n\t\t\t\t\tfor (const note of this.midiNotation.notes) {\n\t\t\t\t\t\tconst on = this.midiPlayer.isPlaying && this.midiPlayer.progressTime >= note.start && this.midiPlayer.progressTime < note.start + note.duration;\n\t\t\t\t\t\tif (note.ids) {\n\t\t\t\t\t\t\tnote.ids.forEach(id => {\n\t\t\t\t\t\t\t\tconst status = this.statusMap.get(id);\n\t\t\t\t\t\t\t\tif (status) {\n\t\t\t\t\t\t\t\t\tif (on)\n\t\t\t\t\t\t\t\t\t\tstatus.add(\"on\");\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\tstatus.remove(\"on\");\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tasync preparePlayer () {\n\t\t\t\t//console.log(\"t1:\", performance.now());\n\t\t\t\t//this.scheduler = null;\n\t\t\t\tthis.statusMap.clear();\n\n\t\t\t\tif (this.midiPlayer) {\n\t\t\t\t\tthis.midiPlayer.dispose();\n\t\t\t\t\tthis.midiPlayer = null;\n\t\t\t\t}\n\n\t\t\t\tif (this.midiNotation) {\n\t\t\t\t\tthis.updateMidiPlayer();\n\n\t\t\t\t\t// wait DOM update\n\t\t\t\t\tawait this.$nextTick();\n\t\t\t\t\tawait this.pageLoadingLock.wait();\n\n\t\t\t\t\tthis.updateStatusMap();\n\n\t\t\t\t\tif (!this.scheduler) {\n\t\t\t\t\t\tconst tokenMap = this.doc && this.doc.getTokenMap();\n\t\t\t\t\t\tif (tokenMap) {\n\t\t\t\t\t\t\tfor (const token of tokenMap.values())\n\t\t\t\t\t\t\t\tVue.set(token, \"on\", token.on || false);\n\n\t\t\t\t\t\t\tconst scheduler = SheetScheduler.createFromNotation(this.midiNotation, tokenMap);\n\t\t\t\t\t\t\tthis.$emit(\"update:scheduler\", scheduler);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tupdateMidiPlayer () {\n\t\t\t\tif (this.midiPlayer)\n\t\t\t\t\tthis.midiPlayer.dispose();\n\n\t\t\t\tthis.midiPlayer = new MidiPlayer(this.midiNotation, {\n\t\t\t\t\tcacheSpan: 400,\n\t\t\t\t\tonMidi: (data, timestamp) => this.onPlayerMidi(data, timestamp),\n\t\t\t\t\tonTurnCursor: () => this.updateTokenStatus(),\n\t\t\t\t});\n\t\t\t},\n\n\n\t\t\tupdateStatusMap () {\n\t\t\t\tif (this.midiNotation) {\n\t\t\t\t\tthis.midiNotation.notes.forEach(note => note.ids && note.ids.forEach(id => {\n\t\t\t\t\t\tif (!this.statusMap.get(id))\n\t\t\t\t\t\t\tthis.statusMap.set(id, elemClassById(id, this.$el));\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tupdateStatusMapInPage (page) {\n\t\t\t\tconst tokens = page.querySelectorAll(\".token *[data-href]\");\n\t\t\t\ttokens.forEach(token => {\n\t\t\t\t\tconst id = token.dataset.href;\n\t\t\t\t\t//this.statusMap.set(id, token.classList);\n\t\t\t\t\tthis.statusMap.set(id, elemClassById(id, page));\n\t\t\t\t});\n\t\t\t},\n\n\n\t\t\taddMarkingByTick (tick, pitch, staffIndex, {id, cls, text = \"\\ue0a9\", xoffset = 0} = {}) {\n\t\t\t\tif (!this.pitchContextGroup) {\n\t\t\t\t\tconsole.warn(\"[addMarkingByTick]\tpitchContextGroup is required.\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst contextTable = this.pitchContextGroup[staffIndex];\n\t\t\t\tif (!contextTable) {\n\t\t\t\t\tconsole.warn(\"[addMarkingByTick]\tinvalid staffIndex:\", staffIndex, this.pitchContextGroup.length);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst position = this.scheduler.lookupPosition(tick);\n\t\t\t\tif (!position) {\n\t\t\t\t\tconsole.warn(\"[addMarkingByTick]\tinvalid tick:\", tick);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst context = contextTable.lookup(tick);\n\t\t\t\tif (!context) {\n\t\t\t\t\tconsole.warn(\"no context at tick:\", tick, contextTable);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst {y, alter} = context.pitchToY(pitch);\n\n\t\t\t\treturn this.doc.addMarking(position.system, staffIndex, {x: position.x + xoffset, y, text, alter, id, cls});\n\t\t\t},\n\n\n\t\t\taddMarkingByNote (noteIndex, pitch, {id = null, cls, text = \"\\ue0a9\"} = {}) {\n\t\t\t\tconsole.assert(this.midiNotation, \"[addMarkingByNote]\tmidiNotation is null.\");\n\n\t\t\t\tconst note = this.midiNotation.notes[noteIndex];\n\t\t\t\tif (!note) {\n\t\t\t\t\tconsole.warn(\"[addMarkingByNote]\tinvalid noteIndex:\", noteIndex, this.midiNotation.notes.length);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!id) {\n\t\t\t\t\tif (!note.ids)\n\t\t\t\t\t\treturn null;\n\n\t\t\t\t\tid = note.ids[0];\n\t\t\t\t}\n\n\t\t\t\treturn this.addMarkingByTick(note.startTick, pitch, note.staffTrack, {id, cls, text, xoffset: 1.2});\n\t\t\t},\n\n\n\t\t\tremoveMarking (id) {\n\t\t\t\tthis.doc.removeMarking(id);\n\t\t\t},\n\n\n\t\t\tclearMarkings () {\n\t\t\t\tthis.doc.clearMarkings();\n\t\t\t},\n\n\n\t\t\tasync showPages () {\n\t\t\t\tthis.shownPages = [];\n\n\t\t\t\tif (!this.doc)\n\t\t\t\t\treturn;\n\n\t\t\t\tif (this.showPagesProgressively) {\n\t\t\t\t\tawait this.pageLoadingLock.wait();\n\t\t\t\t\tthis.pageLoadingLock.lock();\n\n\t\t\t\t\tfor (let i = 0; i < this.doc.pages.length; ++i) {\n\t\t\t\t\t\tthis.shownPages.push(this.doc.pages[i]);\n\n\t\t\t\t\t\tawait this.$nextTick();\n\t\t\t\t\t\tawait animationDelay();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.pageLoadingLock.release();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tthis.shownPages = this.doc.pages;\n\t\t\t},\n\n\n\t\t\tonDocChanged () {\n\t\t\t\tthis.clearNoteStatus();\n\t\t\t\tthis.clearMarkings();\n\n\t\t\t\tthis.showPages();\n\t\t\t},\n\n\n\t\t\teventToSystemPosition (system, event) {\n\t\t\t\treturn {\n\t\t\t\t\tx: event.offsetX / this.svgScale - system.x,\n\t\t\t\t\ty: event.offsetY / this.svgScale - system.y,\n\t\t\t\t};\n\t\t\t},\n\n\n\t\t\teventToPointer (system, event) {\n\t\t\t\tconst pos = this.eventToSystemPosition(system, event);\n\t\t\t\tconst systemIndex = system.index;\n\t\t\t\tconst measureIndex = this.doc.lookupMeasureIndex(systemIndex, pos.x);\n\t\t\t\tconst tick = this.scheduler && this.scheduler.lookupTick({system: systemIndex, x: pos.x});\n\n\t\t\t\treturn {\n\t\t\t\t\tsystemIndex, measureIndex, tick, ...pos,\n\t\t\t\t};\n\t\t\t},\n\n\n\t\t\tonMousemovePad (system, event) {\n\t\t\t\tthis.$emit(\"pointerUpdate\", this.eventToPointer(system, event));\n\t\t\t},\n\n\n\t\t\tonMouseleavePad () {\n\t\t\t\tthis.$emit(\"pointerUpdate\", null);\n\t\t\t},\n\n\n\t\t\tonClickPad (system, event) {\n\t\t\t\tthis.$emit(\"pointerClick\", this.eventToPointer(system, event), event);\n\t\t\t},\n\n\n\t\t\tupdatePageVisibility () {\n\t\t\t\t//console.log(\"pages:\", this.$refs.pages);\n\t\t\t\t//const dirtyPages = [];\n\t\t\t\tif (!this.$refs.pages) {\n\t\t\t\t\tconsole.log(\"[updatePageVisibility] $refs.pages is null:\", this.$refs.pages);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.$refs.pages.forEach((pageElem, i) => {\n\t\t\t\t\tconst rect = pageElem.getBoundingClientRect();\n\n\t\t\t\t\tconst page = this.shownPages[i];\n\t\t\t\t\tconst hidden = rect.top > window.innerHeight || rect.bottom < 0 || rect.left > window.innerWidth || rect.right < 0;\n\t\t\t\t\tif (!!page.hidden !== hidden)\n\t\t\t\t\t\tVue.set(page, \"hidden\", hidden);\n\t\t\t\t\t\t//if (!hidden)\n\t\t\t\t\t\t//\tdirtyPages.push(pageElem);\n\t\t\t\t\t\n\t\t\t\t\t//console.log(\"page:\", i, rect, window.innerWidth, window.innerHeight, page.hidden);\n\t\t\t\t});\n\n\t\t\t\t//this.$nextTick(() => dirtyPages.forEach(page => this.updateStatusMapInPage(page)));\n\t\t\t},\n\n\n\t\t\tonPageChanged (event) {\n\t\t\t\t//console.log(\"onPageChanged:\", event);\n\t\t\t\tif (event.target && event.target.nodeName === \"g\")\n\t\t\t\t\tthis.updateStatusMapInPage(event.target);\n\t\t\t},\n\t\t},\n\n\n\t\twatch: {\n\t\t\tmidiNotation: \"preparePlayer\",\n\n\n\t\t\tmidiPlayer (value) {\n\t\t\t\tthis.$emit(\"update:midiPlayer\", value);\n\t\t\t},\n\n\n\t\t\tasync bakingMode () {\n\t\t\t\tawait this.$nextTick();\n\t\t\t\tawait this.pageLoadingLock.wait();\n\n\t\t\t\tthis.updateStatusMap();\n\t\t\t\tthis.updateTokenStatus();\n\t\t\t},\n\n\n\t\t\tdoc: \"onDocChanged\",\n\n\n\t\t\tcursorPageIndex (value) {\n\t\t\t\tthis.$emit(\"cursorPageShift\", value);\n\t\t\t},\n\n\n\t\t\tcursorSystemIndex (value) {\n\t\t\t\tthis.$emit(\"cursorSystemShift\", value);\n\t\t\t},\n\n\n\t\t\tisPlaying (value) {\n\t\t\t\tif (!value)\n\t\t\t\t\tthis.schedulePool.clear();\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\" scoped>\n\t@import \"../styles/sheetConstants.css\";\n\n\n\t.sheet\n\t{\n\t\t.mark\n\t\t{\n\t\t\t//visibility: hidden;\n\t\t\topacity: 0;\n\n\t\t\t.locator\n\t\t\t{\n\t\t\t\ttext\n\t\t\t\t{\n\t\t\t\t\tfont-size: 2px;\n\t\t\t\t\ttext-anchor: start;\n\t\t\t\t\tpointer-events: none;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trect\n\t\t\t{\n\t\t\t\tfill: transparent;\n\t\t\t}\n\t\t}\n\n\t\t.wm\n\t\t{\n\t\t\tpointer-events: none;\n\t\t}\n\n\t\t.cursor\n\t\t{\n\t\t\tpointer-events: none;\n\t\t}\n\n\t\t.bake\n\t\t{\n\t\t\tfont-family: var(--music-font-family);\n\n\t\t\t.token\n\t\t\t{\n\t\t\t\ttext\n\t\t\t\t{\n\t\t\t\t\tuser-select: none;\n\t\t\t\t\tpointer-events: none;\n\t\t\t\t\tfont-size: var(--music-font-size);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.markings\n\t\t{\n\t\t\ttext\n\t\t\t{\n\t\t\t\tfont-family: var(--music-font-family);\n\t\t\t\tuser-select: none;\n\t\t\t\tfont-size: var(--music-font-size);\n\t\t\t}\n\n\t\t\t.alter\n\t\t\t{\n\t\t\t\ttext-anchor: end;\n\t\t\t}\n\t\t}\n\t}\n</style>\n\n<style>\n\t@import \"../styles/music-font.css\";\n</style>\n<style lang=\"scss\">\n\t@import \"../styles/sheetConstants.css\";\n\n\n\t.sheet\n\t{\n\t\t.bake\n\t\t{\n\t\t\t.token\n\t\t\t{\n\t\t\t\ttext\n\t\t\t\t{\n\t\t\t\t\tfill: var(--lotus-token-default-color);\n\n\t\t\t\t\t&.on\n\t\t\t\t\t{\n\t\t\t\t\t\tfill: var(--lotus-token-on-color);\n\t\t\t\t\t\tstroke-width: 0.1;\n\t\t\t\t\t\tstroke: var(--lotus-token-on-color);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n"],"mappings":"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","ignoreList":[]}]} |