diff --git a/.eslintrc.yml b/.eslintrc.yml index cd7f82f5..da42b673 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -52,7 +52,7 @@ rules: no-useless-catch: - "off" no-empty: - - "off" + - "error" no-fallthrough: - "error" no-constant-condition: @@ -61,7 +61,7 @@ rules: no-irregular-whitespace: - "error" no-useless-escape: - - "off" + - "error" no-case-declarations: - "off" prefer-const: @@ -84,3 +84,20 @@ rules: - "always" yoda: - "error" + no-duplicate-imports: + - "error" + - "includeExports": true + camelcase: + - "off" + eqeqeq: + - "error" + no-trailing-spaces: + - "error" + space-before-function-paren: + - "off" + no-use-before-define: + - "off" + no-multiple-empty-lines: + - "error" + padded-blocks: + - "off" diff --git a/dist/IIrcClient.js b/dist/IIrcClient.js index acd978f3..7195b6e1 100644 --- a/dist/IIrcClient.js +++ b/dist/IIrcClient.js @@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.logPrivateMessage = exports.logIrcEvent = void 0; const StatParser_1 = require("./parsers/StatParser"); const log4js_1 = __importDefault(require("log4js")); -const ircLogger = log4js_1.default.getLogger("irc"); -const pmLogger = log4js_1.default.getLogger("PMLogger"); +const ircLogger = log4js_1.default.getLogger('irc'); +const pmLogger = log4js_1.default.getLogger('PMLogger'); function logIrcEvent(client) { client.on('error', function (message) { ircLogger.error(`ERROR:\n${JSON.stringify(message)}\n${JSON.stringify(message.stack)}\n${message}\n${message.stack}`); }); client.on('registered', function (message) { const args = message.args; - ircLogger.debug('@reg %s', args?.join(", ")); + ircLogger.debug('@reg %s', args?.join(', ')); }); client.on('message', function (from, to, message) { ircLogger.debug('@msg %s => %s: %s', from, to, message); @@ -40,14 +40,14 @@ function logIrcEvent(client) { client.on('action', function (from, to, text, message) { ircLogger.debug('@action %s => %s: %s', from, to, text); }); - client.on("selfMessage", (target, toSend) => { + client.on('selfMessage', (target, toSend) => { ircLogger.debug('@sent bot => %s: %s', target, toSend); }); } exports.logIrcEvent = logIrcEvent; function logPrivateMessage(client) { - client.on("message", (from, to, message) => { - if (to == client.nick) { + client.on('message', (from, to, message) => { + if (to === client.nick) { if ((0, StatParser_1.IsStatResponse)(message)) { pmLogger.trace(`pm ${from} -> ${message}`); } diff --git a/dist/IIrcClient.js.map b/dist/IIrcClient.js.map index 980f9117..facc431c 100644 --- a/dist/IIrcClient.js.map +++ b/dist/IIrcClient.js.map @@ -1 +1 @@ -{"version":3,"file":"IIrcClient.js","sourceRoot":"","sources":["../src/IIrcClient.ts"],"names":[],"mappings":";;;;;;AACA,qDAAsD;AAEtD,oDAA4B;AAC5B,MAAM,SAAS,GAAG,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1C,MAAM,QAAQ,GAAG,gBAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAgB9C,SAAgB,WAAW,CAAC,MAAkB;IAC5C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,OAAO;QAClC,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,OAAO;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAA4B,CAAC;QAClD,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,EAAE,EAAE,OAAO;QAC9C,SAAS,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,OAAO;QACrC,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,OAAO,EAAE,GAAG;QACtC,SAAS,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,OAAO,EAAE,GAAG,EAAE,MAAM;QAC9C,SAAS,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM;QAClD,SAAS,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,kBAAkB,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,EAAE,EAAE,OAAO;QAC7C,SAAS,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO;QACnD,SAAS,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAc,EAAE,MAAM,EAAE,EAAE;QAClD,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAnCD,kCAmCC;AAED,SAAgB,iBAAiB,CAAC,MAAkB;IAClD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACzC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;YACrB,IAAI,IAAA,2BAAc,EAAC,OAAO,CAAC,EAAE;gBAC3B,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC;aAC5C;iBAAM;gBACL,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC;aAC3C;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,8CAUC"} \ No newline at end of file +{"version":3,"file":"IIrcClient.js","sourceRoot":"","sources":["../src/IIrcClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Lobby.js b/dist/Lobby.js index df14ba58..d34df338 100644 --- a/dist/Lobby.js +++ b/dist/Lobby.js @@ -25,7 +25,7 @@ var LobbyStatus; })(LobbyStatus = exports.LobbyStatus || (exports.LobbyStatus = {})); class Lobby { constructor(ircClient, option = {}) { - this.mapTitle = ""; + this.mapTitle = ''; this.mapId = 0; this.host = null; this.hostPending = null; @@ -61,18 +61,18 @@ class Lobby { this.ParsedSettings = new TypedEvent_1.TypedEvent(); this.LeftChannel = new TypedEvent_1.TypedEvent(); this.events = {}; - if (ircClient.conn == null) { - throw new Error("clientが未接続です"); + if (!ircClient.conn) { + throw new Error('clientが未接続です'); } - this.option = (0, TypedConfig_1.getConfig)("Lobby", option); + this.option = (0, TypedConfig_1.getConfig)('Lobby', option); this.status = LobbyStatus.Standby; this.settingParser = new MpSettingsParser_1.MpSettingsParser(); this.statParser = new StatParser_1.StatParser(); this.ircClient = ircClient; - this.logger = log4js_1.default.getLogger("lobby"); - this.logger.addContext("channel", "lobby"); - this.chatlogger = log4js_1.default.getLogger("chat"); - this.chatlogger.addContext("channel", "lobby"); + this.logger = log4js_1.default.getLogger('lobby'); + this.logger.addContext('channel', 'lobby'); + this.chatlogger = log4js_1.default.getLogger('chat'); + this.chatlogger.addContext('channel', 'lobby'); this.historyRepository = new HistoryRepository_1.HistoryRepository(0); this.transferHostTimeout = new DeferredAction_1.DeferredAction(() => this.onTimeoutedTransferHost()); this.registerEvents(); @@ -80,12 +80,12 @@ class Lobby { registerEvents() { this.events = { message: (from, to, message) => { - if (to == this.channel) { + if (to === this.channel) { this.handleMessage(from, to, message); } }, action: (from, to, message) => { - if (to == this.channel) { + if (to === this.channel) { this.handleAction(from, to, message); } }, @@ -93,8 +93,8 @@ class Lobby { this.RaiseNetError(err); }, registered: async () => { - if (this.status == LobbyStatus.Entered && this.channel) { - this.logger.warn("network reconnection detected!"); + if (this.status === LobbyStatus.Entered && this.channel) { + this.logger.warn('network reconnection detected!'); await this.LoadMpSettingsAsync(); } }, @@ -105,39 +105,39 @@ class Lobby { this.logger.info('%s was kicked from %s by %s: %s', who, channel, by, reason); }, part: (channel, nick) => { - if (channel == this.channel) { + if (channel === this.channel) { this.stopInfoMessageAnnouncement(); this.CancelAllDeferredMessages(); this.historyRepository.lobbyClosed = true; - this.logger.info("part"); + this.logger.info('part'); this.status = LobbyStatus.Left; this.destroy(); } }, selfMessage: (target, toSend) => { - if (target == this.channel) { - const r = toSend.replace(/\[http\S+\s([^\]]+)\]/g, "[http... $1]"); - this.chatlogger.info("bot:%s", r); + if (target === this.channel) { + const r = toSend.replace(/\[http\S+\s([^\]]+)\]/g, '[http... $1]'); + this.chatlogger.info('bot:%s', r); } } }; - for (let key in this.events) { + for (const key in this.events) { this.ircClient.on(key, this.events[key]); } this.events.join = (channel, who) => { - this.logger.trace("raised join event"); - if (who == this.ircClient.nick && this.status != LobbyStatus.Entered) { + this.logger.trace('raised join event'); + if (who === this.ircClient.nick && this.status !== LobbyStatus.Entered) { this.RaiseJoinedLobby(channel); } }; - this.ircClient.once("join", this.events.join); + this.ircClient.once('join', this.events.join); } destroy() { this.LeftChannel.emit(); this.removeEvents(); } removeEvents() { - for (let key in this.events) { + for (const key in this.events) { this.ircClient.off(key, this.events[key]); } } @@ -146,8 +146,8 @@ class Lobby { */ get playersFinished() { let i = 0; - for (let p of this.players) { - if (p.mpstatus == Player_1.MpStatuses.Finished) + for (const p of this.players) { + if (p.mpstatus === Player_1.MpStatuses.Finished) i++; } return i; @@ -157,8 +157,8 @@ class Lobby { */ get playersInGame() { let i = 0; - for (let p of this.players) { - if (p.mpstatus == Player_1.MpStatuses.Finished || p.mpstatus == Player_1.MpStatuses.Playing) + for (const p of this.players) { + if (p.mpstatus === Player_1.MpStatuses.Finished || p.mpstatus === Player_1.MpStatuses.Playing) i++; } return i; @@ -168,7 +168,7 @@ class Lobby { */ CountPlayersStatus() { const r = { inGame: 0, playing: 0, finished: 0, inlobby: 0, total: this.players.size }; - for (let p of this.players) { + for (const p of this.players) { switch (p.mpstatus) { case Player_1.MpStatuses.InLobby: r.inlobby++; @@ -222,7 +222,7 @@ class Lobby { // username のプレイヤーがゲームに参加しているか調べる Includes(username) { const ename = (0, Player_1.escapeUserName)(username); - let p = this.playersMap.get(ename); + const p = this.playersMap.get(ename); if (p === undefined) return false; return this.players.has(p); @@ -232,22 +232,22 @@ class Lobby { return new Promise((resolve, reject) => { const d1 = this.HostChanged.on((a) => { dispose(); - if (a.player == user) { + if (a.player === user) { resolve(); } else { - reject("Another player became host."); + reject('Another player became host.'); } }); const d2 = this.PlayerLeft.on((a) => { - if (a.player == user) { + if (a.player === user) { dispose(); - reject("Pending host left the lobby."); + reject('Pending host left the lobby.'); } }); const t1 = setTimeout(() => { dispose(); - reject("!mp host command timed out."); + reject('!mp host command timed out.'); }, this.option.transferhost_timeout_ms); const dispose = () => { d1.dispose(); @@ -260,15 +260,15 @@ class Lobby { this.transferHostTimeout.cancel(); this.hostPending = user; this.transferHostTimeout.start(this.option.transferhost_timeout_ms); - if (user.id != 0) { - this.SendMessage("!mp host #" + user.id); + if (user.id !== 0) { + this.SendMessage('!mp host #' + user.id); } else { - this.SendMessage("!mp host " + user.name); + this.SendMessage('!mp host ' + user.name); } } onTimeoutedTransferHost() { - this.logger.warn("!mp host timeout"); + this.logger.warn('!mp host timeout'); if (this.hostPending) { if (this.players.has(this.hostPending)) { this.LoadMpSettingsAsync(); @@ -278,22 +278,22 @@ class Lobby { } AbortMatch() { if (this.isMatching) { - this.SendMessage("!mp abort"); + this.SendMessage('!mp abort'); } } SendMessage(message) { - if (this.channel != undefined) { + if (this.channel) { this.ircClient.say(this.channel, message); - this.ircClient.emit("sentMessage", this.channel, message); + this.ircClient.emit('sentMessage', this.channel, message); this.SentMessage.emit({ message }); //this.chatlogger.trace("%s:%s", "bot", message); } } SendPrivateMessage(message, target) { this.ircClient.say(target, message); - this.ircClient.emit("sentPrivateMessage", target, message); + this.ircClient.emit('sentPrivateMessage', target, message); this.SentMessage.emit({ message }); - this.chatlogger.info("%s:%s", "botbot->" + target, message); + this.chatlogger.info('%s:%s', 'botbot->' + target, message); } SendMessageWithCoolTime(message, tag, cooltimeMs) { const now = Date.now(); @@ -303,7 +303,7 @@ class Lobby { } } this.coolTimes[tag] = now; - if (typeof message == "function") { + if (typeof message === 'function') { message = message(); } this.SendMessage(message); @@ -317,7 +317,7 @@ class Lobby { } } this.coolTimes[tag] = now; - if (typeof message == "function") { + if (typeof message === 'function') { message = message(); } this.SendPrivateMessage(message, target); @@ -332,7 +332,7 @@ class Lobby { }); } DeferMessage(message, tag, delayMs, resetTimer = false) { - if (message == "") { + if (message === '') { this.CancelDeferredMessage(tag); return; } @@ -349,27 +349,27 @@ class Lobby { } } CancelAllDeferredMessages() { - for (let tag in this.deferredMessages) { + for (const tag in this.deferredMessages) { this.deferredMessages[tag].cancel(); } } async RequestStatAsync(player, byPm, timeout = this.option.stat_timeout_ms) { return new Promise((resolve, reject) => { const tm = setTimeout(() => { - reject("stat timeout"); + reject('stat timeout'); }, timeout); const d = this.ParsedStat.on(({ result }) => { - if ((0, Player_1.escapeUserName)(result.name) == player.escaped_name) { + if ((0, Player_1.escapeUserName)(result.name) === player.escaped_name) { clearTimeout(tm); d.dispose(); resolve(result); } }); - this.ircClient.say(byPm || this.channel == null ? "BanchoBot" : this.channel, "!stat " + player.escaped_name); + this.ircClient.say(byPm || !this.channel ? 'BanchoBot' : this.channel, '!stat ' + player.escaped_name); }); } async SendMultilineMessageWithInterval(lines, intervalMs, tag, cooltimeMs) { - if (lines.length == 0) + if (lines.length === 0) return; const totalTime = lines.length * intervalMs + cooltimeMs; if (this.SendMessageWithCoolTime(lines[0], tag, totalTime)) { @@ -380,30 +380,30 @@ class Lobby { } // #region message handling handleMessage(from, to, message) { - if (from == "BanchoBot") { + if (from === 'BanchoBot') { this.handleBanchoResponse(message); } else { const p = this.GetPlayer(from); - if (p != null) { + if (p) { if (CommandParser_1.parser.IsChatCommand(message)) { this.RaiseReceivedChatCommand(p, message); } this.PlayerChated.emit({ player: p, message }); if ((0, StatParser_1.IsStatResponse)(message)) { - this.chatlogger.trace("%s:%s", p.name, message); + this.chatlogger.trace('%s:%s', p.name, message); } else { - this.chatlogger.info("%s:%s", p.name, message); + this.chatlogger.info('%s:%s', p.name, message); } } } } handleAction(from, to, message) { - this.chatlogger.info("*%s:%s", from, message); + this.chatlogger.info('*%s:%s', from, message); } handlePrivateMessage(from, message) { - if (from == "BanchoBot") { + if (from === 'BanchoBot') { if ((0, StatParser_1.IsStatResponse)(message)) { if (this.statParser.feedLine(message)) { this.RaiseParsedStat(true); @@ -414,7 +414,7 @@ class Lobby { const user = this.GetPlayer(from); if (!user) return; - if ((message == "!info" || message == "!help") && this.players.has(user)) { + if ((message === '!info' || message === '!help') && this.players.has(user)) { this.sendInfoMessagePM(user); } } @@ -457,11 +457,11 @@ class Lobby { break; case CommandParser_1.BanchoResponseType.AddedReferee: this.GetOrMakePlayer(c.params[0]).setRole(Player_1.Roles.Referee); - this.logger.trace("AddedReferee : %s", c.params[0]); + this.logger.trace('AddedReferee : %s', c.params[0]); break; case CommandParser_1.BanchoResponseType.RemovedReferee: this.GetOrMakePlayer(c.params[0]).removeRole(Player_1.Roles.Referee); - this.logger.trace("RemovedReferee : %s", c.params[0]); + this.logger.trace('RemovedReferee : %s', c.params[0]); break; case CommandParser_1.BanchoResponseType.ListRefs: this.listRefStart = Date.now(); @@ -471,15 +471,15 @@ class Lobby { break; case CommandParser_1.BanchoResponseType.TeamChanged: this.GetOrMakePlayer(c.params[0]).team = c.params[1]; - this.logger.trace("team changed : %s, %s", c.params[0], Player_1.Teams[c.params[1]]); + this.logger.trace('team changed : %s, %s', c.params[0], Player_1.Teams[c.params[1]]); break; case CommandParser_1.BanchoResponseType.BeatmapChanged: case CommandParser_1.BanchoResponseType.MpBeatmapChanged: - if (this.mapId != c.params[0]) { + if (this.mapId !== c.params[0]) { this.mapId = c.params[0]; this.mapTitle = c.params[1]; - const changer = this.host ? `(by ${c.type == CommandParser_1.BanchoResponseType.BeatmapChanged ? this.host.name : "bot"})` : ""; - this.logger.info("beatmap changed%s : %s %s", changer, "https://osu.ppy.sh/b/" + this.mapId, this.mapTitle); + const changer = this.host ? `(by ${c.type === CommandParser_1.BanchoResponseType.BeatmapChanged ? this.host.name : 'bot'})` : ''; + this.logger.info('beatmap changed%s : %s %s', changer, 'https://osu.ppy.sh/b/' + this.mapId, this.mapTitle); } break; case CommandParser_1.BanchoResponseType.Settings: @@ -493,9 +493,9 @@ class Lobby { } break; case CommandParser_1.BanchoResponseType.ClearedHost: - this.logger.info("cleared host"); + this.logger.info('cleared host'); this.isClearedHost = true; - if (this.host != null) { + if (this.host) { this.host.removeRole(Player_1.Roles.Host); } this.host = null; @@ -504,35 +504,35 @@ class Lobby { case CommandParser_1.BanchoResponseType.Unhandled: if (this.checkListRef(message)) break; - this.logger.debug("unhandled bancho response : %s", message); + this.logger.debug('unhandled bancho response : %s', message); break; } this.ReceivedBanchoResponse.emit({ message, response: c }); } checkListRef(message) { - if (this.listRefStart != 0) { + if (this.listRefStart !== 0) { if (Date.now() < this.listRefStart + this.option.listref_duration_ms) { const p = this.GetOrMakePlayer(message); p.setRole(Player_1.Roles.Referee); - this.logger.trace("AddedReferee : %s", p.escaped_name); + this.logger.trace('AddedReferee : %s', p.escaped_name); return true; } else { this.listRefStart = 0; - this.logger.trace("check list ref ended"); + this.logger.trace('check list ref ended'); } } return false; } RaiseReceivedChatCommand(player, message) { - this.logger.trace("custom command %s:%s", player.name, message); - if (player.isReferee && message.startsWith("!mp")) + this.logger.trace('custom command %s:%s', player.name, message); + if (player.isReferee && message.startsWith('!mp')) return; const { command, param } = CommandParser_1.parser.ParseChatCommand(message); - if (command == "!info" || command == "!help") { + if (command === '!info' || command === '!help') { this.showInfoMessage(); } - if (command == "!version" || command == "!v") { + if (command === '!version' || command === '!v') { this.showVersionMessage(); } this.ReceivedChatCommand.emit({ player, command, param }); @@ -562,7 +562,7 @@ class Lobby { const player = this.GetOrMakePlayer(username); const from = player.slot; player.slot = slot; - this.logger.trace("slot moved : %s, %d", username, slot); + this.logger.trace('slot moved : %s, %d', username, slot); this.PlayerMoved.emit({ player, from, to: slot }); } RaiseHostChanged(username) { @@ -575,7 +575,7 @@ class Lobby { } } RaiseMatchStarted() { - this.logger.info("match started"); + this.logger.info('match started'); this.isMatching = true; this.players.forEach(p => p.mpstatus = Player_1.MpStatuses.Playing); this.MatchStarted.emit({ mapId: this.mapId, mapTitle: this.mapTitle }); @@ -586,12 +586,12 @@ class Lobby { const sc = this.CountPlayersStatus(); this.PlayerFinished.emit({ player, score, isPassed, playersFinished: sc.finished, playersInGame: sc.inGame }); if (!this.players.has(player)) { - this.logger.warn("未参加のプレイヤーがゲームを終えた: %s", username); + this.logger.warn('未参加のプレイヤーがゲームを終えた: %s', username); this.LoadMpSettingsAsync(); } } RaiseMatchFinished() { - let count = this.players.size; + const count = this.players.size; this.logger.info(`match finished (${count} players)`); this.isMatching = false; this.players.forEach(p => p.mpstatus = Player_1.MpStatuses.InLobby); @@ -599,49 +599,49 @@ class Lobby { } RaiseAbortedMatch() { const sc = this.CountPlayersStatus(); - this.logger.info("match aborted %d / %d", sc.finished, sc.inGame); + this.logger.info('match aborted %d / %d', sc.finished, sc.inGame); this.isMatching = false; this.players.forEach(p => p.mpstatus = Player_1.MpStatuses.InLobby); this.AbortedMatch.emit({ playersFinished: sc.finished, playersInGame: sc.inGame }); } RaiseNetError(err) { - this.logger.error("error occured : " + err.message); + this.logger.error('error occured : ' + err.message); this.logger.error(err.stack); this.NetError.emit(err); } RaiseJoinedLobby(channel) { this.players.clear(); this.channel = channel; - this.lobbyId = channel.replace("#mp_", ""); + this.lobbyId = channel.replace('#mp_', ''); this.historyRepository.setLobbyId(this.lobbyId); this.status = LobbyStatus.Entered; - this.logger.addContext("channel", this.lobbyId); - this.chatlogger.addContext("channel", this.lobbyId); - for (let p of this.plugins) { - p.logger.addContext("channel", this.lobbyId); + this.logger.addContext('channel', this.lobbyId); + this.chatlogger.addContext('channel', this.lobbyId); + for (const p of this.plugins) { + p.logger.addContext('channel', this.lobbyId); } this.assignCreatorRole(); this.JoinedLobby.emit({ channel: this.channel, creator: this.GetOrMakePlayer(this.ircClient.nick) }); this.startInfoMessageAnnouncement(); } RaiseParsedSettings() { - if (!this.settingParser.isParsing && this.settingParser.result != null) { - this.logger.info("parsed mp settings"); + if (!this.settingParser.isParsing && this.settingParser.result) { + this.logger.info('parsed mp settings'); const result = this.settingParser.result; const r = this.margeMpSettingsResult(result); - if (r.hostChanged || r.playersIn.length != 0 || r.playersOut.length != 0) { - this.logger.info("applied mp settings"); + if (r.hostChanged || r.playersIn.length !== 0 || r.playersOut.length !== 0) { + this.logger.info('applied mp settings'); this.FixedSettings.emit({ result, ...r }); } this.ParsedSettings.emit({ result, ...r }); } } RaiseParsedStat(isPm) { - if (!this.statParser.isParsing && this.statParser.result != null) { + if (!this.statParser.isParsing && this.statParser.result) { const p = this.GetPlayer(this.statParser.result.name); - if (p != null) { + if (p) { p.laststat = this.statParser.result; - this.logger.info("parsed stat %s -> %s", p.name, StatParser_1.StatStatuses[p.laststat.status]); + this.logger.info('parsed stat %s -> %s', p.name, StatParser_1.StatStatuses[p.laststat.status]); this.ParsedStat.emit({ result: this.statParser.result, player: p, isPm }); } } @@ -650,35 +650,35 @@ class Lobby { * pluginに読み込み作業が完了したことを通知する */ RaisePluginsLoaded() { - for (let p of this.plugins) { + for (const p of this.plugins) { p.OnLoaded(); } } OnUserNotFound() { - if (this.hostPending != null) { + if (this.hostPending) { const p = this.hostPending; - this.logger.warn("occured OnUserNotFound : " + p.name); + this.logger.warn('occured OnUserNotFound : ' + p.name); this.hostPending = null; } } // #endregion // #region lobby management MakeLobbyAsync(title) { - if (title === "") { - throw new Error("title is empty"); + if (title === '') { + throw new Error('title is empty'); } - if (this.status != LobbyStatus.Standby) { - throw new Error("A lobby has already been made."); + if (this.status !== LobbyStatus.Standby) { + throw new Error('A lobby has already been made.'); } this.status = LobbyStatus.Making; - this.logger.trace("start makeLobby"); + this.logger.trace('start makeLobby'); return new Promise(resolve => { - if (this.ircClient.hostMask != "") { + if (this.ircClient.hostMask !== '') { this.makeLobbyAsyncCore(title).then(v => resolve(v)); } else { - this.logger.trace("waiting registered"); - this.ircClient.once("registered", () => { + this.logger.trace('waiting registered'); + this.ircClient.once('registered', () => { this.makeLobbyAsyncCore(title).then(v => resolve(v)); }); } @@ -688,42 +688,42 @@ class Lobby { return new Promise((resolve, reject) => { this.JoinedLobby.once(a => { this.lobbyName = title; - this.logger.trace("completed makeLobby"); + this.logger.trace('completed makeLobby'); if (this.lobbyId) { resolve(this.lobbyId); } else { - reject("missing lobby id"); + reject('missing lobby id'); } }); - const trg = "BanchoBot"; - const msg = "!mp make " + title; + const trg = 'BanchoBot'; + const msg = '!mp make ' + title; this.ircClient.say(trg, msg); - this.ircClient.emit("sentMessage", trg, msg); + this.ircClient.emit('sentMessage', trg, msg); }); } EnterLobbyAsync(channel) { - this.logger.trace("start EnterLobby"); + this.logger.trace('start EnterLobby'); return new Promise((resolve, reject) => { - let ch = CommandParser_1.parser.EnsureMpChannelId(channel); - if (ch == "") { - this.logger.error("invalid channel: %s", channel); - reject("invalid channel"); + const ch = CommandParser_1.parser.EnsureMpChannelId(channel); + if (ch === '') { + this.logger.error('invalid channel: %s', channel); + reject('invalid channel'); return; } - let joinhandler = () => { + const joinhandler = () => { this.ircClient.off('error', errhandler); - this.lobbyName = "__"; - this.logger.trace("completed EnterLobby"); + this.lobbyName = '__'; + this.logger.trace('completed EnterLobby'); if (this.lobbyId) { resolve(this.lobbyId); } else { this.destroy(); - reject("missing lobby id"); + reject('missing lobby id'); } }; - let errhandler = (message) => { + const errhandler = (message) => { this.ircClient.off('join', joinhandler); this.destroy(); reject(`${message.args[2]}`); @@ -734,17 +734,17 @@ class Lobby { }); } CloseLobbyAsync() { - this.logger.trace("start CloseLobby"); - if (this.status != LobbyStatus.Entered) { - this.logger.error("無効な呼び出し:CloseLobbyAsync"); - throw new Error("閉じるロビーがありません。"); + this.logger.trace('start CloseLobby'); + if (this.status !== LobbyStatus.Entered) { + this.logger.error('invalid call :CloseLobbyAsync'); + throw new Error('No lobby to close.'); } return new Promise((resolve, reject) => { - this.ircClient.once("part", (channel, nick) => { + this.ircClient.once('part', (channel, nick) => { resolve(); }); - if (this.channel != undefined) { - this.SendMessage("!mp close"); + if (this.channel !== undefined) { + this.SendMessage('!mp close'); this.status = LobbyStatus.Leaving; } else { @@ -753,17 +753,17 @@ class Lobby { }); } QuitLobbyAsync() { - this.logger.trace("start QuitLobby"); - if (this.status != LobbyStatus.Entered) { - this.logger.error("無効な呼び出し:QuitLobbyAsync"); - throw new Error("閉じるロビーがありません。"); + this.logger.trace('start QuitLobby'); + if (this.status !== LobbyStatus.Entered) { + this.logger.error('invalid call :QuitLobbyAsync'); + throw new Error('No lobby to close.'); } return new Promise((resolve, reject) => { - this.ircClient.once("part", (channel, nick) => { + this.ircClient.once('part', (channel, nick) => { resolve(); }); - if (this.channel != undefined) { - this.ircClient.part(this.channel, "part", () => { }); + if (this.channel) { + this.ircClient.part(this.channel, 'part', () => { }); this.status = LobbyStatus.Leaving; } else { @@ -772,22 +772,22 @@ class Lobby { }); } LoadMpSettingsAsync() { - if (this.status != LobbyStatus.Entered) { - return Promise.reject("invalid lobby status @LoadMpSettingsAsync"); + if (this.status !== LobbyStatus.Entered) { + return Promise.reject('invalid lobby status @LoadMpSettingsAsync'); } - if (this.SendMessageWithCoolTime("!mp settings", "mpsettings", 15000)) { - this.logger.trace("start loadLobbySettings"); + if (this.SendMessageWithCoolTime('!mp settings', 'mpsettings', 15000)) { + this.logger.trace('start loadLobbySettings'); const p = new Promise(resolve => { this.FixedSettings.once(() => { - this.SendMessage("!mp listrefs"); - this.logger.trace("completed loadLobbySettings"); + this.SendMessage('!mp listrefs'); + this.logger.trace('completed loadLobbySettings'); resolve(); }); }); return p; } else { - this.logger.trace("load mp settings skiped by cool time"); + this.logger.trace('load mp settings skiped by cool time'); return Promise.resolve(); } } @@ -801,16 +801,16 @@ class Lobby { if (asHost) { this.setAsHost(player); } - if (16 < this.players.size) { - this.logger.warn("joined 17th players: %s", player.name); - this.UnexpectedAction.emit(new Error("unexpected join")); + if (this.players.size > 16) { + this.logger.warn('joined 17th players: %s', player.name); + this.UnexpectedAction.emit(new Error('unexpected join')); return false; } return true; } else { - this.logger.warn("参加済みのプレイヤーが再度参加した: %s", player.name); - this.UnexpectedAction.emit(new Error("unexpected join")); + this.logger.warn('参加済みのプレイヤーが再度参加した: %s', player.name); + this.UnexpectedAction.emit(new Error('unexpected join')); return false; } } @@ -820,35 +820,35 @@ class Lobby { player.mpstatus = Player_1.MpStatuses.None; if (this.players.has(player)) { this.players.delete(player); - if (this.host == player) { + if (this.host === player) { this.host = null; } - if (this.hostPending == player) { - this.logger.warn("pending中にユーザーが離脱した pending host: %s", player.name); + if (this.hostPending === player) { + this.logger.warn('pending中にユーザーが離脱した pending host: %s', player.name); this.hostPending = null; } return true; } else { - this.logger.warn("未参加のプレイヤーが退出した: %s", player.name); - this.UnexpectedAction.emit(new Error("unexpected left")); + this.logger.warn('未参加のプレイヤーが退出した: %s', player.name); + this.UnexpectedAction.emit(new Error('unexpected left')); return false; } } setAsHost(player) { if (!this.players.has(player)) { this.transferHostTimeout.cancel(); - this.logger.warn("未参加のプレイヤーがホストになった: %s", player.name); + this.logger.warn('未参加のプレイヤーがホストになった: %s', player.name); return false; } - if (this.hostPending == player) { + if (this.hostPending === player) { this.transferHostTimeout.cancel(); this.hostPending = null; } - else if (this.hostPending != null) { - this.logger.warn("pending中に別のユーザーがホストになった pending: %s, host: %s", this.hostPending.name, player.name); - } // pending == null は有効 - if (this.host != null) { + else if (this.hostPending !== null) { + this.logger.warn('pending中に別のユーザーがホストになった pending: %s, host: %s', this.hostPending.name, player.name); + } // pending === null は有効 + if (this.host) { this.host.removeRole(Player_1.Roles.Host); } this.host = player; @@ -867,7 +867,7 @@ class Lobby { const playersIn = []; const playersOut = []; let hostChanged = false; - for (let p of this.players) { + for (const p of this.players) { if (!mpPlayers.includes(p)) { const slot = p.slot; this.removePlayer(p); @@ -875,8 +875,8 @@ class Lobby { this.PlayerLeft.emit({ player: p, fromMpSettings: true, slot }); } } - for (let r of result.players) { - let p = this.GetOrMakePlayer(r.name); + for (const r of result.players) { + const p = this.GetOrMakePlayer(r.name); if (!this.players.has(p)) { this.addPlayer(p, r.slot, r.team); playersIn.push(p); @@ -886,7 +886,7 @@ class Lobby { p.slot = r.slot; p.team = r.team; } - if (r.isHost && p != this.host) { + if (r.isHost && p !== this.host) { this.setAsHost(p); hostChanged = true; } @@ -899,72 +899,72 @@ class Lobby { let s = `=== lobby status === lobby id : ${this.lobbyId}, name : ${this.lobbyName}, status : ${LobbyStatus[this.status]} players : ${this.players.size}, inGame : ${pc.inGame} (playing : ${pc.playing}) - refs : ${Array.from(this.playersMap.values()).filter(v => v.isReferee).map(v => v.name).join(",")} + refs : ${Array.from(this.playersMap.values()).filter(v => v.isReferee).map(v => v.name).join(',')} timer : ${this.isStartTimerActive}, clearedhost : ${this.isClearedHost} - host : ${this.host ? this.host.name : "null"}, pending : ${this.hostPending ? this.hostPending.name : "null"}`; - for (let p of this.plugins) { + host : ${this.host ? this.host.name : 'null'}, pending : ${this.hostPending ? this.hostPending.name : 'null'}`; + for (const p of this.plugins) { const ps = p.GetPluginStatus(); - if (ps != "") { - s += "\n" + ps; + if (ps !== '') { + s += '\n' + ps; } } return s; } showInfoMessage() { - this.SendMessageWithCoolTime(this.getInfoMessage(), "infomessage", this.option.info_message_cooltime_ms); + this.SendMessageWithCoolTime(this.getInfoMessage(), 'infomessage', this.option.info_message_cooltime_ms); } showVersionMessage() { const version = this.tryGetVersion(); - this.SendMessageWithCoolTime(`osu! Auto Host Rotation Bot v. ${version}`, "versionmessage", this.option.info_message_cooltime_ms); + this.SendMessageWithCoolTime(`osu! Auto Host Rotation Bot v. ${version}`, 'versionmessage', this.option.info_message_cooltime_ms); } sendInfoMessagePM(player) { - this.SendPrivateMessageWithCoolTime(this.getInfoMessage(), player.escaped_name, "infomessage", this.option.info_message_cooltime_ms); + this.SendPrivateMessageWithCoolTime(this.getInfoMessage(), player.escaped_name, 'infomessage', this.option.info_message_cooltime_ms); } getInfoMessage() { const version = this.tryGetVersion(); - return this.option.info_message.replace("${version}", version); + return this.option.info_message.replace('${version}', version); } tryGetVersion() { if (process.env.npm_package_version) return process.env.npm_package_version; try { - return require("../package.json").version ?? "0.0.0"; + return require('../package.json').version ?? '0.0.0'; } catch { - return "0.0.0"; + return '0.0.0'; } } // ircでログインしたユーザーに権限を与える assignCreatorRole() { if (!this.ircClient.nick) { - this.ircClient.once("registered", () => { + this.ircClient.once('registered', () => { this.assignCreatorRole(); }); } else { - var c = this.GetOrMakePlayer(this.ircClient.nick); + const c = this.GetOrMakePlayer(this.ircClient.nick); c.setRole(Player_1.Roles.Authorized); c.setRole(Player_1.Roles.Referee); c.setRole(Player_1.Roles.Creator); - this.logger.info("assigned %s creators role", this.ircClient.nick); + this.logger.info('assigned %s creators role', this.ircClient.nick); } } startInfoMessageAnnouncement() { // ensure time is stop this.stopInfoMessageAnnouncement(); if (this.option.info_message_announcement_interval_ms > 3 * 60 * 1000) { - this.logger.trace("started InfoMessageAnnouncement. interval = " + this.option.info_message_announcement_interval_ms); + this.logger.trace('started InfoMessageAnnouncement. interval = ' + this.option.info_message_announcement_interval_ms); this.infoMessageAnnouncementTimeId = setInterval(() => { this.showInfoMessage(); - if (this.status != LobbyStatus.Entered) { + if (this.status !== LobbyStatus.Entered) { this.stopInfoMessageAnnouncement(); } }, this.option.info_message_announcement_interval_ms); } } stopInfoMessageAnnouncement() { - if (this.infoMessageAnnouncementTimeId != null) { - this.logger.trace("stopped InfoMessageAnnouncement."); + if (this.infoMessageAnnouncementTimeId !== null) { + this.logger.trace('stopped InfoMessageAnnouncement.'); clearInterval(this.infoMessageAnnouncementTimeId); this.infoMessageAnnouncementTimeId = null; } diff --git a/dist/Lobby.js.map b/dist/Lobby.js.map index 313f67e4..f589468b 100644 --- a/dist/Lobby.js.map +++ b/dist/Lobby.js.map @@ -1 +1 @@ -{"version":3,"file":"Lobby.js","sourceRoot":"","sources":["../src/Lobby.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA4E;AAC5E,2DAAqF;AACrF,qDAA4F;AAE5F,kDAA+C;AAC/C,0DAAuD;AACvD,iEAAgF;AAEhF,kEAA+D;AAC/D,oDAA4B;AAE5B,+CAA0C;AAE1C,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,iDAAM,CAAA;IACN,6CAAI,CAAA;IACJ,qDAAQ,CAAA;IACR,mDAAO,CAAA;IACP,mDAAO,CAAA;IACP,6CAAI,CAAA;AACN,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB;AAYD,MAAa,KAAK;IAqDhB,YAAY,SAAqB,EAAE,SAA+B,EAAE;QA7CpE,aAAQ,GAAW,EAAE,CAAC;QACtB,UAAK,GAAW,CAAC,CAAC;QAClB,SAAI,GAAkB,IAAI,CAAC;QAC3B,gBAAW,GAAkB,IAAI,CAAC;QAClC,YAAO,GAAgB,IAAI,GAAG,EAAU,CAAC;QACzC,eAAU,GAAwB,IAAI,GAAG,EAAkB,CAAC;QAC5D,eAAU,GAAY,KAAK,CAAC;QAC5B,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAW,CAAC,CAAC;QACzB,YAAO,GAAkB,EAAE,CAAC;QAC5B,cAAS,GAA8B,EAAE,CAAC;QAC1C,qBAAgB,GAA8C,EAAE,CAAA;QAMhE,kCAA6B,GAA0B,IAAI,CAAC;QAI5D,SAAS;QACT,gBAAW,GAAG,IAAI,uBAAU,EAAwC,CAAC;QACrE,iBAAY,GAAG,IAAI,uBAAU,EAA2E,CAAC;QACzG,eAAU,GAAG,IAAI,uBAAU,EAA6D,CAAC;QACzF,gBAAW,GAAG,IAAI,uBAAU,EAAgD,CAAC;QAC7E,gBAAW,GAAG,IAAI,uBAAU,EAAsB,CAAC;QACnD,iBAAY,GAAG,IAAI,uBAAU,EAAuC,CAAC;QACrE,mBAAc,GAAG,IAAI,uBAAU,EAAwG,CAAC;QACxI,kBAAa,GAAG,IAAI,uBAAU,EAAQ,CAAC;QACvC,iBAAY,GAAG,IAAI,uBAAU,EAAsD,CAAC;QACpF,qBAAgB,GAAG,IAAI,uBAAU,EAAS,CAAC;QAC3C,aAAQ,GAAG,IAAI,uBAAU,EAAS,CAAC;QACnC,iBAAY,GAAG,IAAI,uBAAU,EAAuC,CAAC;QACrE,wBAAmB,GAAG,IAAI,uBAAU,EAAsD,CAAC;QAC3F,kBAAa,GAAG,IAAI,uBAAU,EAA6D,CAAC;QAC5F,gBAAW,GAAG,IAAI,uBAAU,EAAuB,CAAC;QACpD,2BAAsB,GAAG,IAAI,uBAAU,EAAiD,CAAC;QACzF,eAAU,GAAG,IAAI,uBAAU,EAAyD,CAAC;QACrF,kBAAa,GAAG,IAAI,uBAAU,EAAiG,CAAC;QAChI,mBAAc,GAAG,IAAI,uBAAU,EAAiG,CAAC;QACjI,gBAAW,GAAG,IAAI,uBAAU,EAAQ,CAAC;QACrC,WAAM,GAAiC,EAAE,CAAC;QAGxC,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAS,EAAC,OAAO,EAAE,MAAM,CAAgB,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,mCAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,+BAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,CAAC,IAAS,EAAE,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC5C,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;oBACtB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;iBACvC;YACH,CAAC;YACD,MAAM,EAAE,CAAC,IAAS,EAAE,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC3C,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;iBACtC;YACH,CAAC;YACD,QAAQ,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;oBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBACnD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAClC;YACH,CAAC;YACD,EAAE,EAAE,CAAC,IAAS,EAAE,OAAY,EAAE,EAAE;gBAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,EAAE,CAAC,OAAY,EAAE,GAAQ,EAAE,EAAO,EAAE,MAAW,EAAE,EAAE;gBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,EAAE,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;gBACtC,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE;oBAC3B,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBACjC,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;oBAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACzB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;oBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;YACH,CAAC;YACD,WAAW,EAAE,CAAC,MAAc,EAAE,MAAW,EAAE,EAAE;gBAC3C,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;oBAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;oBACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBACnC;YACH,CAAC;SACF,CAAC;QAEF,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;gBACpE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aAChC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAQ,CAAC,CAAC;SAClD;IACH,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,CAAC,QAAQ,IAAI,mBAAU,CAAC,QAAQ;gBAAE,CAAC,EAAE,CAAC;SAC5C;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,CAAC,QAAQ,IAAI,mBAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,mBAAU,CAAC,OAAO;gBAAE,CAAC,EAAE,CAAC;SAChF;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACvF,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,QAAQ,CAAC,CAAC,QAAQ,EAAE;gBAClB,KAAK,mBAAU,CAAC,OAAO;oBACrB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACZ,MAAM;gBACR,KAAK,mBAAU,CAAC,OAAO;oBACrB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACZ,MAAM;gBACR,KAAK,mBAAU,CAAC,QAAQ;oBACtB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACb,MAAM;aACT;SACF;QACD,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,QAAgB;QAC9B,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC;SAC7C;aAAM;YACL,MAAM,EAAE,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACnD,EAAE,CAAC,OAAO,CAAC,cAAK,CAAC,UAAU,CAAC,CAAC;aAC9B;YACD,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAgB;QACxB,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC;SAC7C;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,iCAAiC;IACjC,QAAQ,CAAC,QAAgB;QACvB,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAErC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAqB,EAAE,EAAE;gBACvD,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE;oBACpB,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,MAAM,CAAC,6BAA6B,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAqB,EAAE,EAAE;gBACtD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE;oBACpB,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,8BAA8B,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAExC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAExC,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,EAAE,CAAC,OAAO,EAAE,CAAC;gBACb,EAAE,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAA;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACnC,iDAAiD;SAClD;IACH,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,MAAc;QAChD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,uBAAuB,CAAC,OAAgC,EAAE,GAAW,EAAE,UAAkB;QACvF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE;gBAC1C,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1B,IAAI,OAAO,OAAO,IAAI,UAAU,EAAE;YAChC,OAAO,GAAG,OAAO,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAA8B,CAAC,OAAgC,EAAE,MAAc,EAAE,GAAW,EAAE,UAAkB;QAC9G,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE;gBAC1C,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1B,IAAI,OAAO,OAAO,IAAI,UAAU,EAAE;YAChC,OAAO,GAAG,OAAO,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,OAAe,EAAE,KAAa;QACtD,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC1B,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,OAAe,EAAE,aAAsB,KAAK;QACrF,IAAI,OAAO,IAAI,EAAE,EAAE;YACjB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO;SACR;QACD,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,+BAAc,CAAC,GAAG,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,GAAW;QAC/B,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;SACrC;IACH,CAAC;IAED,yBAAyB;QACvB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;SACrC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,IAAa,EAAE,UAAkB,IAAI,CAAC,MAAM,CAAC,eAAe;QACjG,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,MAAM,CAAC,cAAc,CAAC,CAAC;YACzB,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC1C,IAAI,IAAA,uBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE;oBACtD,YAAY,CAAC,EAAE,CAAC,CAAC;oBACjB,CAAC,CAAC,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,MAAM,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,KAAe,EAAE,UAAkB,EAAE,GAAW,EAAE,UAAkB;QACzG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;QACzD,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,2BAA2B;IAEnB,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,OAAe;QAC7D,IAAI,IAAI,IAAI,WAAW,EAAE;YACvB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACpC;aAAM;YACL,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,IAAI,EAAE;gBACb,IAAI,sBAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;oBACjC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC3C;gBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/C,IAAI,IAAA,2BAAc,EAAC,OAAO,CAAC,EAAE;oBAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBACjD;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;iBAChD;aACF;SACF;IACH,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,EAAU,EAAE,OAAe;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAEO,oBAAoB,CAAC,IAAY,EAAE,OAAe;QACxD,IAAI,IAAI,IAAI,WAAW,EAAE;YACvB,IAAI,IAAA,2BAAc,EAAC,OAAO,CAAC,EAAE;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;iBAC5B;aACF;SACF;aAAM;YACL,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC9B;SACF;IACH,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,CAAC,GAAG,sBAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,CAAC,CAAC,IAAI,EAAE;YACd,KAAK,kCAAkB,CAAC,WAAW;gBACjC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,kCAAkB,CAAC,YAAY;gBAClC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM;YACR,KAAK,kCAAkB,CAAC,aAAa;gBACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,MAAM;YACR,KAAK,kCAAkB,CAAC,YAAY;gBAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;YACR,KAAK,kCAAkB,CAAC,eAAe;gBACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,MAAM;YACR,KAAK,kCAAkB,CAAC,iBAAiB;gBACvC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,MAAM;YACR,KAAK,kCAAkB,CAAC,cAAc;gBACpC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,kCAAkB,CAAC,YAAY;gBAClC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,kCAAkB,CAAC,UAAU;gBAChC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,kCAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,kCAAkB,CAAC,gBAAgB;gBACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;YACR,KAAK,kCAAkB,CAAC,YAAY;gBAClC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,OAAO,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,kCAAkB,CAAC,cAAc;gBACpC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,cAAK,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,kCAAkB,CAAC,QAAQ;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,MAAM;YACR,KAAK,kCAAkB,CAAC,eAAe;gBACrC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,kCAAkB,CAAC,WAAW;gBACjC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,MAAM;YACR,KAAK,kCAAkB,CAAC,cAAc,CAAC;YACvC,KAAK,kCAAkB,CAAC,gBAAgB;gBACtC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,kCAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC7G;gBACD,MAAM;YACR,KAAK,kCAAkB,CAAC,QAAQ;gBAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;gBACD,MAAM;YACR,KAAK,kCAAkB,CAAC,KAAK;gBAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACrC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;iBAC7B;gBACD,MAAM;YACR,KAAK,kCAAkB,CAAC,WAAW;gBACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAK,CAAC,IAAI,CAAC,CAAC;iBAClC;gBACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,kCAAkB,CAAC,SAAS;gBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;oBAAE,MAAM;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM;SACT;QACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBACpE,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;aAC3C;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wBAAwB,CAAC,MAAc,EAAE,OAAe;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO;QAC1D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,sBAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;QACD,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,IAAI,IAAI,EAAE;YAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa;IAEb,yBAAyB;IAEzB,iBAAiB,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAW,EAAE,SAAkB,KAAK;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;SACvE;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,gBAAgB,CAAC,QAAgB,EAAE,IAAY;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mBAAU,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,mBAAmB,CAAC,QAAgB,EAAE,KAAa,EAAE,QAAiB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,QAAQ,GAAG,mBAAU,CAAC,QAAQ,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9G,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mBAAU,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,mBAAU,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,aAAa,CAAC,GAAU;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpG,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,EAAE;YACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,eAAe,CAAC,IAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAChE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,IAAI,EAAE;gBACb,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,IAAI,EAAE,yBAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3E;SACF;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,CAAC,CAAC,QAAQ,EAAE,CAAC;SACd;IACH,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IAED,aAAa;IAEb,2BAA2B;IAE3B,cAAc,CAAC,KAAa;QAC1B,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,OAAO,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE;gBACjC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;oBACrC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACvB;qBAAM;oBACL,MAAM,CAAC,kBAAkB,CAAC,CAAC;iBAC5B;YAEH,CAAC,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,WAAW,CAAC;YACxB,MAAM,GAAG,GAAG,WAAW,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,EAAE,GAAG,sBAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC1B,OAAO;aACR;YACD,IAAI,WAAW,GAAG,GAAG,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACvB;qBAAM;oBACL,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM,CAAC,kBAAkB,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC;YACF,IAAI,UAAU,GAAG,CAAC,OAAY,EAAE,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAA;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;gBAC5D,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;gBAC7B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;aACnC;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE;gBAC5D,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;aACnC;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YACtC,OAAO,OAAO,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;SACpE;QACD,IAAI,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;YACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC3B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBACjD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;SACV;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;IACH,CAAC;IAEO,SAAS,CAAC,MAAc,EAAE,IAAY,EAAE,IAAW,EAAE,SAAkB,KAAK;QAClF,MAAM,CAAC,OAAO,CAAC,cAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,QAAQ,GAAG,mBAAU,CAAC,OAAO,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACxB;YACD,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACzD,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,MAAM,CAAC,UAAU,CAAC,cAAK,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,cAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,QAAQ,GAAG,mBAAU,CAAC,IAAI,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;YACD,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEO,SAAS,CAAC,MAAc;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SACvG,CAAC,sBAAsB;QAExB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAK,CAAC,IAAI,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,cAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,MAAwB;QACpD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;QAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACjE;SACF;QAED,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;aACzF;iBAAM;gBACL,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAChB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;aACjB;YACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClB,WAAW,GAAG,IAAI,CAAC;aACpB;SACF;QAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,aAAa;IAEb,cAAc;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG;eACG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,SAAS,eAAe,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;cAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC,MAAM,eAAe,EAAE,CAAC,OAAO;WACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACvF,IAAI,CAAC,kBAAkB,mBAAmB,IAAI,CAAC,aAAa;WAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,eAAe,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CACzG;QAEH,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;YAC/B,IAAI,EAAE,IAAI,EAAE,EAAE;gBACZ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;aAChB;SACF;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC3G,CAAC;IAEO,kBAAkB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,uBAAuB,CAAC,kCAAkC,OAAO,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACpI,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;IACtI,CAAC;IAEO,cAAc;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC5E,IAAI;YACF,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;SACtD;QAAC,MAAM;YACN,OAAO,OAAO,CAAC;SAChB;IACH,CAAC;IAED,wBAAwB;IAChB,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;gBACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,CAAC,OAAO,CAAC,cAAK,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACpE;IACH,CAAC;IAEO,4BAA4B;QAClC,sBAAsB;QACtB,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,qCAAqC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;YACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,GAAG,IAAI,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;YACtH,IAAI,CAAC,6BAA6B,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;oBACtC,IAAI,CAAC,2BAA2B,EAAE,CAAC;iBACpC;YACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;SACvD;IACH,CAAC;IAEO,2BAA2B;QACjC,IAAI,IAAI,CAAC,6BAA6B,IAAI,IAAI,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,aAAa,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAClD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;SAC3C;IACH,CAAC;CACF;AA9/BD,sBA8/BC"} \ No newline at end of file +{"version":3,"file":"Lobby.js","sourceRoot":"","sources":["../src/Lobby.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Modes.js b/dist/Modes.js index d915cbfa..ceac2f8e 100644 --- a/dist/Modes.js +++ b/dist/Modes.js @@ -8,16 +8,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Mod = exports.Team = exports.PlayMode = exports.TeamMode = exports.ScoreMode = void 0; class Mode { constructor(value, name, aliases = []) { - this.type = ""; + this.type = ''; this.value = value; this.name = name; this.aliases = new Set(aliases.concat(value, name).map(v => Mode.normalize(v))); } /** - * value,name,aliases と一致するか比較する - * @param normalizedValue 検査対象文字列、 前提:標準化済みの文字列を使用すること - * @returns - */ + * value,name,aliases と一致するか比較する + * @param normalizedValue 検査対象文字列、 前提:標準化済みの文字列を使用すること + * @returns + */ _match(normalizedValue) { return this.aliases.has(normalizedValue); } @@ -25,13 +25,13 @@ class Mode { return this.aliases.has(Mode.normalize(value)); } /** - * 比較しやすい表現に変換する - * スペースとハイフンを取り除き、小文字にする - * @param v - * @returns - */ + * 比較しやすい表現に変換する + * スペースとハイフンを取り除き、小文字にする + * @param v + * @returns + */ static normalize(v) { - return v.replace(/[ -]/g, "").toLowerCase(); + return v.replace(/[ -]/g, '').toLowerCase(); } static _from(value, values, defaultMode, throwsIfFailed, tag) { const nv = Mode.normalize(value); @@ -54,83 +54,84 @@ class Mode { class ScoreMode extends Mode { constructor(value, name, aliases = []) { super(value.toString(), name, aliases); - this.type = "ScoreMode"; + this.type = 'ScoreMode'; ScoreMode.Values.push(this); } static from(value, throwsIfFailed = false) { - return Mode._from(value, ScoreMode.Values, ScoreMode.Score, throwsIfFailed, "ScoreMode"); + return Mode._from(value, ScoreMode.Values, ScoreMode.Score, throwsIfFailed, 'ScoreMode'); } } exports.ScoreMode = ScoreMode; ScoreMode.Values = []; -ScoreMode.Score = new ScoreMode(0, "Score"); -ScoreMode.Accuracy = new ScoreMode(1, "Accuracy"); -ScoreMode.Combo = new ScoreMode(2, "Combo"); -ScoreMode.ScoreV2 = new ScoreMode(3, "ScoreV2"); +ScoreMode.Score = new ScoreMode(0, 'Score'); +ScoreMode.Accuracy = new ScoreMode(1, 'Accuracy'); +ScoreMode.Combo = new ScoreMode(2, 'Combo'); +ScoreMode.ScoreV2 = new ScoreMode(3, 'ScoreV2'); class TeamMode extends Mode { constructor(value, name, aliases = []) { super(value.toString(), name, aliases); - this.type = "TeamMode"; + this.type = 'TeamMode'; TeamMode.Values.push(this); } static from(value, throwsIfFailed = false) { - return Mode._from(value, TeamMode.Values, TeamMode.HeadToHead, throwsIfFailed, "TeamMode"); + return Mode._from(value, TeamMode.Values, TeamMode.HeadToHead, throwsIfFailed, 'TeamMode'); } isTeamMatch() { - return this == TeamMode.TeamVs || this == TeamMode.TagTeamVs; + return this === TeamMode.TeamVs || this === TeamMode.TagTeamVs; } } exports.TeamMode = TeamMode; TeamMode.Values = []; -TeamMode.HeadToHead = new TeamMode(0, "HeadToHead"); // historyのhead-to-headはnormalizeで対応済み -TeamMode.TagCoop = new TeamMode(1, "TagCoop"); -TeamMode.TeamVs = new TeamMode(2, "TeamVs"); -TeamMode.TagTeamVs = new TeamMode(3, "TagTeamVs"); +TeamMode.HeadToHead = new TeamMode(0, 'HeadToHead'); // historyのhead-to-headはnormalizeで対応済み +TeamMode.TagCoop = new TeamMode(1, 'TagCoop'); +TeamMode.TeamVs = new TeamMode(2, 'TeamVs'); +TeamMode.TagTeamVs = new TeamMode(3, 'TagTeamVs'); class PlayMode extends Mode { constructor(value, name, officialName, aliases = []) { super(value.toString(), name, aliases); - this.type = "PlayMode"; - this.id = typeof value == "number" ? value : parseInt(value); + this.type = 'PlayMode'; + this.id = typeof value === 'number' ? value : parseInt(value); this.officialName = officialName; PlayMode.Values.push(this); } static from(value, throwsIfFailed = false) { - return Mode._from(value, PlayMode.Values, PlayMode.Osu, throwsIfFailed, "PlayMode"); + return Mode._from(value, PlayMode.Values, PlayMode.Osu, throwsIfFailed, 'PlayMode'); } } exports.PlayMode = PlayMode; PlayMode.Values = []; -PlayMode.Osu = new PlayMode(0, "Osu", "osu!"); -PlayMode.Taiko = new PlayMode(1, "Taiko", "osu!taiko"); -PlayMode.CatchTheBeat = new PlayMode(2, "CatchTheBeat", "osu!catch", ["fruits", "catch", "fruit"]); -PlayMode.OsuMania = new PlayMode(3, "OsuMania", "osu!mania", ["mania"]); +PlayMode.Osu = new PlayMode(0, 'Osu', 'osu!'); +PlayMode.Taiko = new PlayMode(1, 'Taiko', 'osu!taiko'); +PlayMode.CatchTheBeat = new PlayMode(2, 'CatchTheBeat', 'osu!catch', ['fruits', 'catch', 'fruit']); +PlayMode.OsuMania = new PlayMode(3, 'OsuMania', 'osu!mania', ['mania']); class Team extends Mode { constructor(value, name, aliases = []) { super(value.toString(), name, aliases); - this.type = "Team"; + this.type = 'Team'; Team.Values.push(this); } static from(value, throwsIfFailed = false) { - return Mode._from(value, Team.Values, Team.Red, throwsIfFailed, "Team"); + return Mode._from(value, Team.Values, Team.Red, throwsIfFailed, 'Team'); } } exports.Team = Team; Team.Values = []; -Team.None = new Team("none", "None"); -Team.Red = new Team("red", "Red"); -Team.Blue = new Team("blue", "Blue"); +Team.None = new Team('none', 'None'); +Team.Red = new Team('red', 'Red'); +Team.Blue = new Team('blue', 'Blue'); class Mod extends Mode { constructor(value, name, isGlobalMod, aliases = []) { super(value.toString(), name, aliases); - this.type = "Mod"; + this.type = 'Mod'; Mod.Values.push(this); this.isGlobalMod = isGlobalMod; } static from(value, throwsIfFailed = false) { - return Mode._from(value, Mod.Values, Mod.None, throwsIfFailed, "Mod"); + return Mode._from(value, Mod.Values, Mod.None, throwsIfFailed, 'Mod'); } static parseMods(str) { - const arrMods = str.match(/[a-zA-Z0-9\-]+/g)?.map(v => Mod.from(v)); + // アルファベット, 数字, ハイフン(co-op用)のまとまりに分解する + const arrMods = str.match(/[a-zA-Z0-9-]+/g)?.map(v => Mod.from(v)); if (arrMods) { const setMods = new Set(arrMods); return Mod.removeInvalidCombinations(setMods); @@ -176,33 +177,33 @@ class Mod extends Mode { } exports.Mod = Mod; Mod.Values = []; -Mod.None = new Mod("none", "None", true); -Mod.Freemod = new Mod("Freemod", "Freemod", true); -Mod.NoFail = new Mod("nf", "NoFail", false); -Mod.Easy = new Mod("ez", "Easy", false); -Mod.Hidden = new Mod("hd", "Hidden", false); -Mod.HardRock = new Mod("hr", "HardRock", false); -Mod.SuddenDeath = new Mod("sd", "SuddenDeath", false); -Mod.DoubleTime = new Mod("dt", "DoubleTime", true, ["double"]); -Mod.Nightcore = new Mod("nc", "Nightcore", true); -Mod.Relax = new Mod("relax", "Relax", false, ["RX"]); -Mod.HalfTime = new Mod("ht", "HalfTime", true); -Mod.Flashlight = new Mod("fl", "Flashlight", false); -Mod.SpunOut = new Mod("so", "SpunOut", false); -Mod.Relax2 = new Mod("ap", "Relax2", false, ["auto pilot"]); -Mod.FadeIn = new Mod("fi", "FadeIn", false); -Mod.Random = new Mod("rd", "Random", true); -Mod.KeyCoop = new Mod("co-op", "KeyCoop", false); -Mod.Mirror = new Mod("mr", "Mirror", false); -Mod.Key1 = new Mod("1k", "Key1", false); -Mod.Key2 = new Mod("2k", "Key2", false); -Mod.Key3 = new Mod("3k", "Key3", false); -Mod.Key4 = new Mod("4k", "Key4", false); -Mod.Key5 = new Mod("5k", "Key5", false); -Mod.Key6 = new Mod("6k", "Key6", false); -Mod.Key7 = new Mod("7k", "Key7", false); -Mod.Key8 = new Mod("8k", "Key8", false); -Mod.Key9 = new Mod("9k", "Key9", false); +Mod.None = new Mod('none', 'None', true); +Mod.Freemod = new Mod('Freemod', 'Freemod', true); +Mod.NoFail = new Mod('nf', 'NoFail', false); +Mod.Easy = new Mod('ez', 'Easy', false); +Mod.Hidden = new Mod('hd', 'Hidden', false); +Mod.HardRock = new Mod('hr', 'HardRock', false); +Mod.SuddenDeath = new Mod('sd', 'SuddenDeath', false); +Mod.DoubleTime = new Mod('dt', 'DoubleTime', true, ['double']); +Mod.Nightcore = new Mod('nc', 'Nightcore', true); +Mod.Relax = new Mod('relax', 'Relax', false, ['RX']); +Mod.HalfTime = new Mod('ht', 'HalfTime', true); +Mod.Flashlight = new Mod('fl', 'Flashlight', false); +Mod.SpunOut = new Mod('so', 'SpunOut', false); +Mod.Relax2 = new Mod('ap', 'Relax2', false, ['auto pilot']); +Mod.FadeIn = new Mod('fi', 'FadeIn', false); +Mod.Random = new Mod('rd', 'Random', true); +Mod.KeyCoop = new Mod('co-op', 'KeyCoop', false); +Mod.Mirror = new Mod('mr', 'Mirror', false); +Mod.Key1 = new Mod('1k', 'Key1', false); +Mod.Key2 = new Mod('2k', 'Key2', false); +Mod.Key3 = new Mod('3k', 'Key3', false); +Mod.Key4 = new Mod('4k', 'Key4', false); +Mod.Key5 = new Mod('5k', 'Key5', false); +Mod.Key6 = new Mod('6k', 'Key6', false); +Mod.Key7 = new Mod('7k', 'Key7', false); +Mod.Key8 = new Mod('8k', 'Key8', false); +Mod.Key9 = new Mod('9k', 'Key9', false); /* memo !mp settings mod と !mp mods のMOD表記 none なにもない場合は項目自体なし diff --git a/dist/Modes.js.map b/dist/Modes.js.map index 8998534a..b92cd54f 100644 --- a/dist/Modes.js.map +++ b/dist/Modes.js.map @@ -1 +1 @@ -{"version":3,"file":"Modes.js","sourceRoot":"","sources":["../src/Modes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Modes.js","sourceRoot":"","sources":["../src/Modes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Player.js b/dist/Player.js index caf84974..dbe5af93 100644 --- a/dist/Player.js +++ b/dist/Player.js @@ -14,7 +14,7 @@ class Player { this.escaped_name = escapeUserName(name); } is(r) { - return (this.role & r) != 0; + return (this.role & r) !== 0; } get isPlayer() { return this.is(Roles.Player); @@ -77,7 +77,7 @@ exports.escapeUserName = escapeUserName; * @param username */ function disguiseUserName(username) { - return username[0] + "\u{200B}" + username.substring(1); + return username[0] + '\u{200B}' + username.substring(1); } exports.disguiseUserName = disguiseUserName; /** @@ -85,7 +85,7 @@ exports.disguiseUserName = disguiseUserName; * @param disguisedName */ function revealUserName(disguisedName) { - return disguisedName.replace(/\u200B/g, ""); + return disguisedName.replace(/\u200B/g, ''); } exports.revealUserName = revealUserName; //# sourceMappingURL=Player.js.map \ No newline at end of file diff --git a/dist/Player.js.map b/dist/Player.js.map index 889d8d03..dec4df14 100644 --- a/dist/Player.js.map +++ b/dist/Player.js.map @@ -1 +1 @@ -{"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAWjB,YAAY,IAAY;QAVxB,OAAE,GAAW,CAAC,CAAC;QAGf,SAAI,GAAU,KAAK,CAAC,MAAM,CAAC;QAC3B,SAAI,GAAU,KAAK,CAAC,IAAI,CAAC,CAAC,yCAAyC;QACnE,SAAI,GAAW,CAAC,CAAC;QACjB,aAAQ,GAAe,UAAU,CAAC,IAAI,CAAC;QACvC,aAAQ,GAAsB,IAAI,CAAC;QACnC,YAAO,GAAuB,IAAI,CAAC;QAGjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,EAAE,CAAC,CAAQ;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,CAAQ;QACd,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,UAAU,CAAC,CAAQ;QACjB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,QAAQ;QACN,OAAO,aAAa,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC;IACzE,CAAC;CACF;AA1CD,wBA0CC;AAED,IAAY,KAOX;AAPD,WAAY,KAAK;IACf,iCAAQ,CAAA;IACR,qCAAU,CAAA;IACV,iCAAQ,CAAA;IACR,6CAAc,CAAA;IACd,uCAAW,CAAA;IACX,wCAAY,CAAA;AACd,CAAC,EAPW,KAAK,GAAL,aAAK,KAAL,aAAK,QAOhB;AAED,IAAY,KAIX;AAJD,WAAY,KAAK;IACf,iCAAI,CAAA;IACJ,iCAAI,CAAA;IACJ,+BAAG,CAAA;AACL,CAAC,EAJW,KAAK,GAAL,aAAK,KAAL,aAAK,QAIhB;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,mDAAQ,CAAA;AACV,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAFD,wCAEC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,4CAEC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,aAAqB;IAClD,OAAO,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAFD,wCAEC"} \ No newline at end of file +{"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":";;;AAGA,MAAa,MAAM;IAWjB,YAAY,IAAY;QAVxB,OAAE,GAAW,CAAC,CAAC;QAGf,SAAI,GAAU,KAAK,CAAC,MAAM,CAAC;QAC3B,SAAI,GAAU,KAAK,CAAC,IAAI,CAAC,CAAC,yCAAyC;QACnE,SAAI,GAAW,CAAC,CAAC;QACjB,aAAQ,GAAe,UAAU,CAAC,IAAI,CAAC;QACvC,aAAQ,GAAsB,IAAI,CAAC;QACnC,YAAO,GAAuB,IAAI,CAAC;QAGjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,EAAE,CAAC,CAAQ;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,CAAQ;QACd,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,UAAU,CAAC,CAAQ;QACjB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,QAAQ;QACN,OAAO,aAAa,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC;IACzE,CAAC;CACF;AA1CD,wBA0CC;AAED,IAAY,KAOX;AAPD,WAAY,KAAK;IACf,iCAAQ,CAAA;IACR,qCAAU,CAAA;IACV,iCAAQ,CAAA;IACR,6CAAc,CAAA;IACd,uCAAW,CAAA;IACX,wCAAY,CAAA;AACd,CAAC,EAPW,KAAK,GAAL,aAAK,KAAL,aAAK,QAOhB;AAED,IAAY,KAIX;AAJD,WAAY,KAAK;IACf,iCAAI,CAAA;IACJ,iCAAI,CAAA;IACJ,+BAAG,CAAA;AACL,CAAC,EAJW,KAAK,GAAL,aAAK,KAAL,aAAK,QAIhB;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,mDAAQ,CAAA;AACV,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAFD,wCAEC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,4CAEC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,aAAqB;IAClD,OAAO,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAFD,wCAEC"} \ No newline at end of file diff --git a/dist/TypedConfig.js b/dist/TypedConfig.js index 6a9743b7..532a96a5 100644 --- a/dist/TypedConfig.js +++ b/dist/TypedConfig.js @@ -6,25 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.loadEnvConfig = exports.loadEnvConfigWithTypeHint = exports.generateDefaultOptionTypeHint = exports.getConfig = exports.getIrcConfig = exports.CONFIG_OPTION = void 0; const config_1 = __importDefault(require("config")); const log4js_1 = __importDefault(require("log4js")); -const configLogger = log4js_1.default.getLogger("config"); +const configLogger = log4js_1.default.getLogger('config'); exports.CONFIG_OPTION = { USE_ENV: false, PRINT_LOADED_ENV_CONFIG: true, }; function getIrcConfig() { - const d = config_1.default.get("irc"); - const e = loadEnvConfig("irc", d, [ - { key: "server", nullable: false, type: "string" }, - { key: "nick", nullable: false, type: "string" }, - { key: "port", nullable: false, type: "number" }, - { key: "password", nullable: false, type: "string" } + const d = config_1.default.get('irc'); + const e = loadEnvConfig('irc', d, [ + { key: 'server', nullable: false, type: 'string' }, + { key: 'nick', nullable: false, type: 'string' }, + { key: 'port', nullable: false, type: 'number' }, + { key: 'password', nullable: false, type: 'string' } ]); const c = { ...d, ...e }; c.opt = { ...c.opt }; - if (typeof e.port === "number") { + if (typeof e.port === 'number') { c.opt.port = e.port; } - if (typeof e.password === "string") { + if (typeof e.password === 'string') { c.opt.password = e.password; } return c; @@ -51,13 +51,13 @@ function getConfig(tag, option, hints) { } exports.getConfig = getConfig; function generateDefaultOptionTypeHint(option) { - let r = []; + const r = []; for (const key in option) { if (option[key] === null || option[key] === undefined) { - r.push({ key, nullable: true, type: "number" }); + r.push({ key, nullable: true, type: 'number' }); } else if (Array.isArray(option[key])) { - r.push({ key, nullable: false, type: "array" }); + r.push({ key, nullable: false, type: 'array' }); } else { r.push({ key, nullable: false, type: typeof option[key] }); @@ -70,29 +70,29 @@ function genEnvKey(category, key) { return `ahr_${category}_${key}`; } function loadEnvConfigWithTypeHint(category, hints, env) { - let r = {}; + const r = {}; for (const hint of hints) { const envKey = genEnvKey(category, hint.key); - let envVar = env[envKey]; - if (hint.nullable && (envVar === "null")) { + const envVar = env[envKey]; + if (hint.nullable && (envVar === 'null')) { r[hint.key] = null; } else if (envVar !== undefined) { switch (hint.type) { - case "boolean": - let bool = envVar.toLowerCase(); - if (bool === "true") { + case 'boolean': + const bool = envVar.toLowerCase(); + if (bool === 'true') { r[hint.key] = true; } - else if (bool === "false") { + else if (bool === 'false') { r[hint.key] = false; } else { throw new Error(`env:${envKey} type mismatched. ${hint.key} must be true/false but "${envVar}"`); } break; - case "number": - let num = parseFloat(envVar); + case 'number': + const num = parseFloat(envVar); if (!Number.isNaN(num)) { r[hint.key] = num; } @@ -100,11 +100,11 @@ function loadEnvConfigWithTypeHint(category, hints, env) { throw new Error(`env:${envKey} type mismatched. ${hint.key} must be number but "${envVar}"`); } break; - case "string": + case 'string': r[hint.key] = envVar; break; - case "array": - let arr = JSON.parse(envVar); + case 'array': + const arr = JSON.parse(envVar); if (isStringArray(arr)) { r[hint.key] = arr; } @@ -128,7 +128,7 @@ exports.loadEnvConfigWithTypeHint = loadEnvConfigWithTypeHint; function isStringArray(arr) { if (!Array.isArray(arr)) return false; - return arr.every(v => typeof v === "string"); + return arr.every(v => typeof v === 'string'); } function loadEnvConfig(category, template, hints) { if (hints === undefined) { diff --git a/dist/TypedConfig.js.map b/dist/TypedConfig.js.map index f3ffef9d..03835593 100644 --- a/dist/TypedConfig.js.map +++ b/dist/TypedConfig.js.map @@ -1 +1 @@ -{"version":3,"file":"TypedConfig.js","sourceRoot":"","sources":["../src/TypedConfig.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TypedConfig.js","sourceRoot":"","sources":["../src/TypedConfig.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cli/LogServer.js b/dist/cli/LogServer.js index f494cde0..7bad8b4a 100644 --- a/dist/cli/LogServer.js +++ b/dist/cli/LogServer.js @@ -5,6 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const LogServer_1 = require("../web/LogServer"); const config_1 = __importDefault(require("config")); -const options = config_1.default.get("LogServer"); +const options = config_1.default.get('LogServer'); (0, LogServer_1.startLogServer)(options.port); //# sourceMappingURL=LogServer.js.map \ No newline at end of file diff --git a/dist/cli/OahrBase.js b/dist/cli/OahrBase.js index 1b655648..c1bd56ad 100644 --- a/dist/cli/OahrBase.js +++ b/dist/cli/OahrBase.js @@ -23,8 +23,8 @@ const AfkKicker_1 = require("../plugins/AfkKicker"); const MiscLoader_1 = require("../plugins/MiscLoader"); const CommandParser_1 = require("../parsers/CommandParser"); const CacheCleaner_1 = require("../plugins/CacheCleaner"); -const logger = log4js_1.default.getLogger("cli"); -const OahrCliDefaultOption = config_1.default.get("OahrCli"); +const logger = log4js_1.default.getLogger('cli'); +const OahrCliDefaultOption = config_1.default.get('OahrCli'); class OahrBase { constructor(client) { this.option = OahrCliDefaultOption; @@ -48,7 +48,7 @@ class OahrBase { this.lobby.RaisePluginsLoaded(); } get isRegistered() { - return this.client.hostMask != ""; + return this.client.hostMask !== ''; } displayInfo() { logger.info(this.lobby.GetLobbyStatus()); @@ -56,9 +56,9 @@ class OahrBase { ensureRegisteredAsync() { return new Promise((resolve, reject) => { if (!this.isRegistered) { - logger.trace("waiting for registration from bancho"); - this.client.once("registered", () => { - logger.trace("registerd"); + logger.trace('waiting for registration from bancho'); + this.client.once('registered', () => { + logger.trace('registerd'); resolve(); }); } @@ -68,14 +68,15 @@ class OahrBase { }); } async makeLobbyAsync(name) { - name = name.replace(/[^ -/:-@\[-~0-9a-zA-Z]/g, ""); + // Remove all but ascii graphic characters + name = name.replace(/[^ -~]/g, ''); if (!this.isRegistered) await this.ensureRegisteredAsync(); - logger.info("Making lobby, name : " + name); + logger.info('Making lobby, name : ' + name); await this.lobby.MakeLobbyAsync(name); - this.lobby.SendMessage("!mp password " + this.option.password); - for (let p of this.option.invite_users) { - this.lobby.SendMessage("!mp invite " + p); + this.lobby.SendMessage('!mp password ' + this.option.password); + for (const p of this.option.invite_users) { + this.lobby.SendMessage('!mp invite ' + p); } logger.info(`Made lobby : ${this.lobby.channel}`); } @@ -83,7 +84,7 @@ class OahrBase { if (!this.isRegistered) await this.ensureRegisteredAsync(); const channel = CommandParser_1.parser.EnsureMpChannelId(id); - logger.info("Entering lobby, channel : %s", channel); + logger.info('Entering lobby, channel : %s', channel); await this.lobby.EnterLobbyAsync(channel); await this.lobby.LoadMpSettingsAsync(); logger.info(`Entered lobby : ${this.lobby.channel}`); diff --git a/dist/cli/OahrBase.js.map b/dist/cli/OahrBase.js.map index 7fcee0fe..fbf610ef 100644 --- a/dist/cli/OahrBase.js.map +++ b/dist/cli/OahrBase.js.map @@ -1 +1 @@ -{"version":3,"file":"OahrBase.js","sourceRoot":"","sources":["../../src/cli/OahrBase.ts"],"names":[],"mappings":";;;;;;AAAA,oCAAiC;AAEjC,oDAA4B;AAC5B,oDAA4B;AAC5B,kEAA+D;AAC/D,0DAAuD;AACvD,wDAAqD;AACrD,gEAA6D;AAC7D,0DAAuD;AACvD,wDAAqD;AACrD,wDAAqD;AACrD,wDAAqD;AACrD,8DAA2D;AAC3D,4DAAyD;AACzD,sDAAmD;AACnD,wDAAqD;AACrD,oDAAiD;AACjD,sDAAmD;AACnD,4DAAkD;AAClD,0DAAuD;AAEvD,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAOvC,MAAM,oBAAoB,GAAG,gBAAM,CAAC,GAAG,CAAgB,SAAS,CAAC,CAAC;AAElE,MAAa,QAAQ;IAoBnB,YAAY,MAAkB;QAF9B,WAAM,GAAkB,oBAAoB,CAAC;QAG3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,WAAW;QACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;oBAClC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC1B,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;SAC3C;QACD,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,sBAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAEvC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AApFD,4BAoFC"} \ No newline at end of file +{"version":3,"file":"OahrBase.js","sourceRoot":"","sources":["../../src/cli/OahrBase.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cli/OahrCli.js b/dist/cli/OahrCli.js index f2729cca..20ac5f1f 100644 --- a/dist/cli/OahrCli.js +++ b/dist/cli/OahrCli.js @@ -28,7 +28,7 @@ const readline = __importStar(require("readline")); const log4js_1 = __importDefault(require("log4js")); const CommandParser_1 = require("../parsers/CommandParser"); const OahrBase_1 = require("./OahrBase"); -const logger = log4js_1.default.getLogger("cli"); +const logger = log4js_1.default.getLogger('cli'); const mainMenuCommandsMessage = ` MainMenu Commands [make ] Make a lobby. ex: 'make 5* auto host rotation' @@ -53,15 +53,15 @@ class OahrCli extends OahrBase_1.OahrBase { super(client); this.scenes = { mainMenu: { - name: "", - prompt: "> ", + name: '', + prompt: '> ', action: async (line) => { - let l = CommandParser_1.parser.SplitCliCommand(line); + const l = CommandParser_1.parser.SplitCliCommand(line); switch (l.command) { - case "m": - case "make": - if (l.arg == "") { - logger.info("make command needs lobby name. ex:make testlobby"); + case 'm': + case 'make': + if (l.arg === '') { + logger.info('make command needs lobby name. ex:make testlobby'); return; } try { @@ -69,89 +69,89 @@ class OahrCli extends OahrBase_1.OahrBase { this.transitionToLobbyMenu(); } catch (e) { - logger.info("faiiled to make lobby : %s", e); + logger.info('faiiled to make lobby : %s', e); this.scene = this.scenes.exited; } break; - case "e": - case "enter": + case 'e': + case 'enter': try { - if (l.arg == "") { - logger.info("enter command needs lobby id. ex:enter 123456"); + if (l.arg === '') { + logger.info('enter command needs lobby id. ex:enter 123456'); return; } await this.enterLobbyAsync(l.arg); this.transitionToLobbyMenu(); } catch (e) { - logger.info("invalid channel : %s", e); + logger.info('invalid channel : %s', e); this.scene = this.scenes.exited; } break; - case "q": - case "quit": - case "exit": + case 'q': + case 'quit': + case 'exit': this.scene = this.scenes.exited; break; - case "h": - case "help": - case "command": - case "commands": - case "/?": - case "-?": - case "?": + case 'h': + case 'help': + case 'command': + case 'commands': + case '/?': + case '-?': + case '?': console.log(mainMenuCommandsMessage); break; - case "": + case '': break; default: - logger.info("invalid command : %s", line); + logger.info('invalid command : %s', line); break; } }, completer: (line) => { - const completions = ["make", "enter", "quit", "exit", "help"]; + const completions = ['make', 'enter', 'quit', 'exit', 'help']; const hits = completions.filter(v => v.startsWith(line)); - return [hits.length ? hits : ["make", "enter", "quit", "help"], line]; + return [hits.length ? hits : ['make', 'enter', 'quit', 'help'], line]; } }, lobbyMenu: { - name: "lobbyMenu", - prompt: "> ", + name: 'lobbyMenu', + prompt: '> ', action: async (line) => { - let l = CommandParser_1.parser.SplitCliCommand(line); - if (this.lobby.status == Lobby_1.LobbyStatus.Left || this.client.conn == null) { + const l = CommandParser_1.parser.SplitCliCommand(line); + if (this.lobby.status === Lobby_1.LobbyStatus.Left || !this.client.conn) { this.scene = this.scenes.exited; return; } switch (l.command) { - case "s": - case "say": - if ((l.arg.startsWith("!") && !l.arg.startsWith("!mp ")) || l.arg.startsWith("*")) { + case 's': + case 'say': + if ((l.arg.startsWith('!') && !l.arg.startsWith('!mp ')) || l.arg.startsWith('*')) { this.lobby.RaiseReceivedChatCommand(this.lobby.GetOrMakePlayer(this.client.nick), l.arg); } else { this.lobby.SendMessage(l.arg); } break; - case "i": - case "info": + case 'i': + case 'info': this.displayInfo(); break; - case "reorder": + case 'reorder': this.selector.Reorder(l.arg); break; - case "regulation": + case 'regulation': if (!l.arg) { console.log(this.checker.getRegulationDescription()); } else { - this.checker.processOwnerCommand("*regulation", l.arg); // TODO check + this.checker.processOwnerCommand('*regulation', l.arg); // TODO check } break; - case "c": - case "close": - if (l.arg == "now") { + case 'c': + case 'close': + if (l.arg === 'now') { // close now await this.lobby.CloseLobbyAsync(); this.scene = this.scenes.exited; @@ -165,53 +165,53 @@ class OahrCli extends OahrBase_1.OahrBase { this.terminator.CloseLobby(); } break; - case "q": - case "quit": - logger.info("quit"); + case 'q': + case 'quit': + logger.info('quit'); this.scene = this.scenes.exited; break; - case "h": - case "help": - case "command": - case "commands": - case "/?": - case "-?": - case "?": + case 'h': + case 'help': + case 'command': + case 'commands': + case '/?': + case '-?': + case '?': console.log(lobbyMenuCommandsMessage); break; - case "check_order": + case 'check_order': this.lobby.historyRepository.calcCurrentOrderAsName().then(r => { - logger.info("history order = " + r.join(", ")); - logger.info("current order = " + this.selector.hostQueue.map(p => p.name).join(", ")); + logger.info('history order = ' + r.join(', ')); + logger.info('current order = ' + this.selector.hostQueue.map(p => p.name).join(', ')); }); break; - case "": + case '': break; default: - if (l.command.startsWith("!mp")) { - this.lobby.SendMessage("!mp " + l.arg); + if (l.command.startsWith('!mp')) { + this.lobby.SendMessage('!mp ' + l.arg); } - else if (l.command.startsWith("!") || l.command.startsWith("*")) { - this.lobby.RaiseReceivedChatCommand(this.lobby.GetOrMakePlayer(this.client.nick), l.command + " " + l.arg); + else if (l.command.startsWith('!') || l.command.startsWith('*')) { + this.lobby.RaiseReceivedChatCommand(this.lobby.GetOrMakePlayer(this.client.nick), l.command + ' ' + l.arg); } else { - console.log("invalid command : %s", line); + console.log('invalid command : %s', line); } break; } }, completer: (line) => { - const completions = ["say", "info", "reorder", "regulation", "close", "quit", "help"]; + const completions = ['say', 'info', 'reorder', 'regulation', 'close', 'quit', 'help']; const hits = completions.filter(v => v.startsWith(line)); return [hits.length ? hits : completions, line]; } }, exited: { - name: "exited", - prompt: "ended", + name: 'exited', + prompt: 'ended', action: async (line) => { }, completer: (line) => { - return [["exit"], line]; + return [['exit'], line]; } } }; @@ -224,7 +224,7 @@ class OahrCli extends OahrBase_1.OahrBase { return this.scene === this.scenes.exited; } start(rl) { - if (rl == null) { + if (!rl) { rl = readline.createInterface({ input: process.stdin, output: process.stdout, @@ -233,40 +233,40 @@ class OahrCli extends OahrBase_1.OahrBase { } }); } - let r = rl; - logger.trace("waiting for registration from bancho"); - console.log("Connecting to Osu Bancho ..."); - this.client.once("registered", () => { - console.log("Connected :D"); - console.log("\n=== Welcome to osu-ahr ==="); + const r = rl; + logger.trace('waiting for registration from bancho'); + console.log('Connecting to Osu Bancho ...'); + this.client.once('registered', () => { + console.log('Connected :D'); + console.log('\n=== Welcome to osu-ahr ==='); console.log(mainMenuCommandsMessage); r.setPrompt(this.prompt); r.prompt(); }); - r.on("line", line => { - logger.trace("scene:%s, line:%s", this.scene.name, line); + r.on('line', line => { + logger.trace('scene:%s, line:%s', this.scene.name, line); this.scene.action(line).then(() => { if (!this.exited) { r.setPrompt(this.prompt); r.prompt(); } else { - logger.trace("closing interface"); + logger.trace('closing interface'); r.close(); } }); }); - r.on("close", () => { - if (this.client != null) { - logger.info("readline closed"); - if (this.client.conn != null && !this.client.conn.requestedDisconnect) { - this.client.disconnect("goodby", () => { - logger.info("ircClient disconnected"); + r.on('close', () => { + if (this.client) { + logger.info('readline closed'); + if (this.client.conn && !this.client.conn.requestedDisconnect) { + this.client.disconnect('goodby', () => { + logger.info('ircClient disconnected'); process.exit(0); }); } else { - logger.info("exit"); + logger.info('exit'); process.exit(0); } } @@ -274,7 +274,7 @@ class OahrCli extends OahrBase_1.OahrBase { } transitionToLobbyMenu() { this.scene = this.scenes.lobbyMenu; - this.scene.prompt = (this.lobby.channel || "") + " > "; + this.scene.prompt = (this.lobby.channel || '') + ' > '; console.log(lobbyMenuCommandsMessage); } } diff --git a/dist/cli/OahrCli.js.map b/dist/cli/OahrCli.js.map index 529e2141..9e005a4d 100644 --- a/dist/cli/OahrCli.js.map +++ b/dist/cli/OahrCli.js.map @@ -1 +1 @@ -{"version":3,"file":"OahrCli.js","sourceRoot":"","sources":["../../src/cli/OahrCli.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OahrCli.js","sourceRoot":"","sources":["../../src/cli/OahrCli.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/cli/OahrHeadless.js b/dist/cli/OahrHeadless.js index a23ee7eb..0ac61ad0 100644 --- a/dist/cli/OahrHeadless.js +++ b/dist/cli/OahrHeadless.js @@ -6,22 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.OahrHeadless = void 0; const log4js_1 = __importDefault(require("log4js")); const OahrBase_1 = require("./OahrBase"); -const logger = log4js_1.default.getLogger("cli"); +const logger = log4js_1.default.getLogger('cli'); class OahrHeadless extends OahrBase_1.OahrBase { constructor(client) { super(client); - client.once("part", () => { - logger.info("detected part event. closing..."); + client.once('part', () => { + logger.info('detected part event. closing...'); process.exit(0); }); } start(command, arg) { try { switch (command) { - case "m": + case 'm': this.makeLobbyAsync(arg); break; - case "e": + case 'e': this.enterLobbyAsync(arg); break; default: diff --git a/dist/cli/index.js b/dist/cli/index.js index 00346d1e..7a3c0316 100644 --- a/dist/cli/index.js +++ b/dist/cli/index.js @@ -28,38 +28,37 @@ const irc = __importStar(require("../libs/irc")); const IIrcClient_1 = require("../IIrcClient"); const TypedConfig_1 = require("../TypedConfig"); const log4js_1 = __importDefault(require("log4js")); -const IIrcClient_2 = require("../IIrcClient"); const ChatLimiter_1 = require("../libs/ChatLimiter"); -const logger = log4js_1.default.getLogger("cli"); -console.log("starting up..."); +const logger = log4js_1.default.getLogger('cli'); +console.log('starting up...'); const config_path = (process.env.NODE_ENV === 'production') - ? "./config/log_cli_prod.json" - : "./config/log_cli_dev.json"; + ? './config/log_cli_prod.json' + : './config/log_cli_dev.json'; log4js_1.default.configure(config_path); try { TypedConfig_1.CONFIG_OPTION.USE_ENV = true; const c = (0, TypedConfig_1.getIrcConfig)(); - if (c.nick == "your account id" || c.opt.password == "you can get password from 'https://osu.ppy.sh/p/irc'") { - logger.error("you must enter your account name and irc password in the config file. "); - logger.error("you can get the password from 'https://osu.ppy.sh/p/irc' "); - logger.error("Copy config/default.json to config/local.json, and enter your id and irc password."); + if (c.nick === 'your account id' || c.opt.password === 'you can get password from \'https://osu.ppy.sh/p/irc\'') { + logger.error('you must enter your account name and irc password in the config file. '); + logger.error('you can get the password from \'https://osu.ppy.sh/p/irc\' '); + logger.error('Copy config/default.json to config/local.json, and enter your id and irc password.'); process.exit(1); } - let client = new irc.Client(c.server, c.nick, c.opt); - client.on("error", err => { - if (err.command == "err_passwdmismatch") { + const client = new irc.Client(c.server, c.nick, c.opt); + client.on('error', err => { + if (err.command === 'err_passwdmismatch') { logger.error('%s: %s', err.command, err.args.join(' ')); - logger.error("check your account id and password."); + logger.error('check your account id and password.'); process.exit(1); } }); (0, ChatLimiter_1.applySpeedLimit)(client, 10, 5000); (0, IIrcClient_1.logIrcEvent)(client); - (0, IIrcClient_2.logPrivateMessage)(client); + (0, IIrcClient_1.logPrivateMessage)(client); if (process.argv.length > 2) { const command = process.argv[2]; const oahr = new OahrHeadless_1.OahrHeadless(client); - const arg = process.argv.slice(3).join(" "); + const arg = process.argv.slice(3).join(' '); oahr.start(command, arg); } else { diff --git a/dist/cli/index.js.map b/dist/cli/index.js.map index a17e3ae2..92ac83a2 100644 --- a/dist/cli/index.js.map +++ b/dist/cli/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,iDAA8C;AAC9C,iDAAmC;AACnC,8CAA4C;AAC5C,gDAA6D;AAC7D,oDAA4B;AAC5B,8CAAkD;AAClD,qDAAsD;AACtD,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE9B,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IACzD,CAAC,CAAC,4BAA4B;IAC9B,CAAC,CAAC,2BAA2B,CAAC;AAEhC,gBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE9B,IAAI;IACF,2BAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAA,0BAAY,GAAE,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,IAAI,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,sDAAsD,EAAE;QAC3G,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACvB,IAAI,GAAG,CAAC,OAAO,IAAI,oBAAoB,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,6BAAe,EAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAElC,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC;IACpB,IAAA,8BAAiB,EAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KAC1B;SAAM;QACL,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAClB;CACF;AAAC,OAAO,CAAM,EAAE;IACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,iDAA8C;AAC9C,iDAAmC;AACnC,8CAA+D;AAC/D,gDAA6D;AAC7D,oDAA4B;AAC5B,qDAAsD;AACtD,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE9B,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IACzD,CAAC,CAAC,4BAA4B;IAC9B,CAAC,CAAC,2BAA2B,CAAC;AAEhC,gBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE9B,IAAI;IACF,2BAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAA,0BAAY,GAAE,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,wDAAwD,EAAE;QAC/G,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACvB,IAAI,GAAG,CAAC,OAAO,KAAK,oBAAoB,EAAE;YACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IAEH,IAAA,6BAAe,EAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAElC,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAC;IACpB,IAAA,8BAAiB,EAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KAC1B;SAAM;QACL,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAClB;CACF;AAAC,OAAO,CAAM,EAAE;IACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"} \ No newline at end of file diff --git a/dist/discord/BotCommand.js b/dist/discord/BotCommand.js index 2784977a..f951f229 100644 --- a/dist/discord/BotCommand.js +++ b/dist/discord/BotCommand.js @@ -4,110 +4,110 @@ exports.BotCommands = void 0; // coded by https://autocode.com/tools/discord/command-builder/ exports.BotCommands = [ { - name: "make", - description: "Make a tournament lobby", + name: 'make', + description: 'Make a tournament lobby', defaultPermission: false, options: [ { type: 3, - name: "lobby_name", - description: "Initial lobby Name e.g. \"4.00-5.99 auto host rotation\"", + name: 'lobby_name', + description: 'Initial lobby Name e.g. "4.00-5.99 auto host rotation"', required: true } ] }, { - name: "enter", - description: "Enter the lobby.", + name: 'enter', + description: 'Enter the lobby.', defaultPermission: false, options: [ { type: 4, - name: "lobby_id", - description: " Tournament lobby ID", + name: 'lobby_id', + description: ' Tournament lobby ID', required: false } ] }, { - name: "info", - description: "Shows the status of the lobby.", + name: 'info', + description: 'Shows the status of the lobby.', defaultPermission: false, options: [ { type: 4, - name: "lobby_id", - description: " Tournament lobby ID", + name: 'lobby_id', + description: ' Tournament lobby ID', required: false } ] }, { - name: "say", - description: "send a message", + name: 'say', + description: 'send a message', defaultPermission: false, options: [ { type: 3, - name: "message", - description: "message", + name: 'message', + description: 'message', required: true }, { type: 4, - name: "lobby_id", - description: " Tournament lobby ID", + name: 'lobby_id', + description: ' Tournament lobby ID', required: false } ] }, { - name: "config", - description: "configure ahrbot", + name: 'config', + description: 'configure ahrbot', defaultPermission: false, options: [ { type: 3, - name: "section", - description: "specify config section", + name: 'section', + description: 'specify config section', required: true }, { type: 3, - name: "name", - description: "option name", + name: 'name', + description: 'option name', required: true }, { type: 3, - name: "value", - description: "new value", + name: 'value', + description: 'new value', required: true } ] }, { - name: "close", - description: "Close the lobby", + name: 'close', + description: 'Close the lobby', defaultPermission: false, options: [ { type: 4, - name: "lobby_id", - description: " Tournament lobby ID", + name: 'lobby_id', + description: ' Tournament lobby ID', required: false } ] }, { - name: "quit", - description: "Quit managing the lobby", + name: 'quit', + description: 'Quit managing the lobby', defaultPermission: false, options: [ { type: 4, - name: "lobby_id", - description: "Tournament lobby ID", + name: 'lobby_id', + description: 'Tournament lobby ID', required: false } ] diff --git a/dist/discord/BotCommand.js.map b/dist/discord/BotCommand.js.map index ef3db4e4..9fd32715 100644 --- a/dist/discord/BotCommand.js.map +++ b/dist/discord/BotCommand.js.map @@ -1 +1 @@ -{"version":3,"file":"BotCommand.js","sourceRoot":"","sources":["../../src/discord/BotCommand.ts"],"names":[],"mappings":";;;AAEA,+DAA+D;AAClD,QAAA,WAAW,GAA6B;IACnD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yBAAyB;QACtC,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,0DAA0D;gBACvE,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kBAAkB;QAC/B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gCAAgC;QAC7C,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,gBAAgB;QAC7B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;QAC/B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,aAAa;gBAC1B,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iBAAiB;QAC9B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yBAAyB;QACtC,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACF,CAAC"} \ No newline at end of file +{"version":3,"file":"BotCommand.js","sourceRoot":"","sources":["../../src/discord/BotCommand.ts"],"names":[],"mappings":";;;AAEA,+DAA+D;AAClD,QAAA,WAAW,GAA6B;IACnD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yBAAyB;QACtC,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,wDAAwD;gBACrE,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kBAAkB;QAC/B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gCAAgC;QAC7C,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,gBAAgB;QAC7B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;QAC/B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,aAAa;gBAC1B,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,WAAW;gBACxB,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iBAAiB;QAC9B,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yBAAyB;QACtC,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;CACF,CAAC"} \ No newline at end of file diff --git a/dist/discord/DiscordAppender.js b/dist/discord/DiscordAppender.js index 5311d276..277d9319 100644 --- a/dist/discord/DiscordAppender.js +++ b/dist/discord/DiscordAppender.js @@ -8,16 +8,16 @@ const discord_js_1 = require("discord.js"); const log4js_1 = __importDefault(require("log4js")); let discordClient; let ahrs; -const logger = log4js_1.default.getLogger("discord"); +const logger = log4js_1.default.getLogger('discord'); function setContext(client, ahrs_) { discordClient = client; ahrs = ahrs_; } exports.setContext = setContext; const COLOR_MAP = { - 'white': "WHITE", 'grey': "GREY", 'black': "DARK_BUT_NOT_BLACK", - 'blue': "BLUE", 'cyan': "AQUA", 'green': "GREEN", - 'magenta': "LUMINOUS_VIVID_PINK", 'red': "RED", 'yellow': "YELLOW" + 'white': 'WHITE', 'grey': 'GREY', 'black': 'DARK_BUT_NOT_BLACK', + 'blue': 'BLUE', 'cyan': 'AQUA', 'green': 'GREEN', + 'magenta': 'LUMINOUS_VIVID_PINK', 'red': 'RED', 'yellow': 'YELLOW' }; function configure(config, layouts) { let layout = layouts.colouredLayout; @@ -26,19 +26,19 @@ function configure(config, layouts) { } //create a new appender instance /* loggingEvent sample - categoryName:'default' - context:{channel: 'mp_123'} - data:(1) ['aaa'] - level:Level {level: 20000, levelStr: 'INFO', colour: 'green'} - pid:18048 - startTime:Sat Aug 28 2021 22:30:41 GMT+0900 */ + categoryName:'default' + context:{channel: 'mp_123'} + data:(1) ['aaa'] + level:Level {level: 20000, levelStr: 'INFO', colour: 'green'} + pid:18048 + startTime:Sat Aug 28 2021 22:30:41 GMT+0900 */ return async (loggingEvent) => { if (discordClient) { try { - let ch = getDiscordChannel(loggingEvent.context); + const ch = getDiscordChannel(loggingEvent.context); if (ch) { - let msg = layout(loggingEvent, config.timezoneOffset); - let content = createContent(loggingEvent, msg); + const msg = layout(loggingEvent, config.timezoneOffset); + const content = createContent(loggingEvent, msg); await ch.send(content); } } @@ -55,8 +55,8 @@ function configure(config, layouts) { exports.configure = configure; function getDiscordChannel(context) { if (discordClient && context && context.transfer && context.guildId && context.channelId) { - let guild = discordClient.guilds.cache.get(context.guildId); - let ch = guild?.channels.cache.get(context.channelId); + const guild = discordClient.guilds.cache.get(context.guildId); + const ch = guild?.channels.cache.get(context.channelId); if (ch && ch.isText()) { return ch; } @@ -64,25 +64,25 @@ function getDiscordChannel(context) { return undefined; } function createContent(ev, msg) { - let color = COLOR_MAP[ev.level.colour] ?? "DEFAULT"; + const color = COLOR_MAP[ev.level.colour] ?? 'DEFAULT'; switch (ev.categoryName) { - case "chat": - if (ev.data.length == 3) { + case 'chat': + if (ev.data.length === 3) { return `> **${ev.data[1]}**: ${ev.data[2]}`; } else { - return "> " + msg; + return '> ' + msg; } - case "inout": - let min = msg.match(/\+\x1b\[32m (.+?) \x1B\[0m/); - let mout = msg.match(/\-\x1b\[31m (.+?) \x1B\[0m/); + case 'inout': + const min = msg.match(/\+\x1b\[32m (.+?) \x1B\[0m/); + const mout = msg.match(/-\x1b\[31m (.+?) \x1B\[0m/); if (min || mout) { - let msg = ""; + let msg = ''; if (min) { - msg += "**in** " + min[1] + " "; + msg += '**in** ' + min[1] + ' '; } if (mout) { - msg += "**out** " + mout[1]; + msg += '**out** ' + mout[1]; } return { embeds: [new discord_js_1.MessageEmbed().setColor(color).setDescription(msg)] }; } @@ -91,6 +91,6 @@ function createContent(ev, msg) { if (log4js_1.default.levels.WARN.level <= ev.level.level) { return { embeds: [new discord_js_1.MessageEmbed().setColor(color).setDescription(msg)] }; } - return "`" + ev.categoryName + "` " + msg; + return '`' + ev.categoryName + '` ' + msg; } //# sourceMappingURL=DiscordAppender.js.map \ No newline at end of file diff --git a/dist/discord/DiscordAppender.js.map b/dist/discord/DiscordAppender.js.map index 7d14479a..639965b8 100644 --- a/dist/discord/DiscordAppender.js.map +++ b/dist/discord/DiscordAppender.js.map @@ -1 +1 @@ -{"version":3,"file":"DiscordAppender.js","sourceRoot":"","sources":["../../src/discord/DiscordAppender.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DiscordAppender.js","sourceRoot":"","sources":["../../src/discord/DiscordAppender.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqG;AACrG,oDAA4B;AAG5B,IAAI,aAAiC,CAAC;AACtC,IAAI,IAAsC,CAAC;AAC3C,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAE3C,SAAgB,UAAU,CAAC,MAAc,EAAE,KAAuC;IAChF,aAAa,GAAG,MAAM,CAAC;IACvB,IAAI,GAAG,KAAK,CAAC;AACf,CAAC;AAHD,gCAGC;AAED,MAAM,SAAS,GAAuC;IACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB;IAC/D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAChD,SAAS,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;CACnE,CAAC;AAEF,SAAgB,SAAS,CAAC,MAAW,EAAE,OAAY;IACjD,IAAI,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;KAC5D;IAED,gCAAgC;IAChC;;;;;;yDAMqD;IACrD,OAAO,KAAK,EAAE,YAAiC,EAAE,EAAE;QACjD,IAAI,aAAa,EAAE;YACjB,IAAI;gBACF,MAAM,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,EAAE,EAAE;oBACN,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBACjD,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,eAAe,EAAE,CAAC;iBACvB;aACF;SACF;IACH,CAAC,CAAC;AACJ,CAAC;AAhCD,8BAgCC;AAED,SAAS,iBAAiB,CAAC,OAAY;IACrC,IAAI,aAAa,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;QACxF,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,EAAuB,EAAE,GAAW;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACtD,QAAQ,EAAE,CAAC,YAAY,EAAE;QACvB,KAAK,MAAM;YACT,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;iBAAM;gBACL,OAAO,IAAI,GAAG,GAAG,CAAC;aACnB;QACH,KAAK,OAAO;YACV,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpD,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,EAAE;oBACP,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iBACjC;gBACD,IAAI,IAAI,EAAE;oBACR,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7B;gBACD,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,yBAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;aAC7E;YACD,MAAM;KACT;IACD,IAAI,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,yBAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;KAC7E;IACD,OAAO,GAAG,GAAG,EAAE,CAAC,YAAY,GAAG,IAAI,GAAG,GAAG,CAAC;AAC5C,CAAC"} \ No newline at end of file diff --git a/dist/discord/DiscordBot.js b/dist/discord/DiscordBot.js index 437f1eb4..50b2c115 100644 --- a/dist/discord/DiscordBot.js +++ b/dist/discord/DiscordBot.js @@ -3,7 +3,6 @@ * check list * admin roleが正しく登録される * admin role以外のユーザーはスラッシュコマンド、ボタンコマンドを利用できない - * */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -17,39 +16,39 @@ const OahrDiscord_1 = require("./OahrDiscord"); const DiscordAppender_1 = require("./DiscordAppender"); const BotCommand_1 = require("./BotCommand"); const CommandParser_1 = require("../parsers/CommandParser"); -const logger = log4js_1.default.getLogger("discord"); +const logger = log4js_1.default.getLogger('discord'); const ADMIN_ROLE = { - name: "ahr-admin", - color: "ORANGE", - reason: "ahr-bot administrator" + name: 'ahr-admin', + color: 'ORANGE', + reason: 'ahr-bot administrator' }; class DiscordBot { constructor(client, discordClient) { this.ircClient = client; this.discordClient = discordClient; - this.cfg = config_1.default.get("Discord"); + this.cfg = config_1.default.get('Discord'); this.ahrs = {}; this.sharedObjects = {}; } async start() { this.discordClient.once('ready', async (cl) => { - for (let g of cl.guilds.cache.values()) { + for (const g of cl.guilds.cache.values()) { await this.registerCommandsAndRoles(g); } (0, DiscordAppender_1.setContext)(cl, this.ahrs); - logger.info("discord bot is ready."); + logger.info('discord bot is ready.'); logger.info(`invite link => ${this.generateInviteLink()}`); }); - this.discordClient.on("guildCreate", async (guild) => { - console.log("guildCreate " + guild.name); + this.discordClient.on('guildCreate', async (guild) => { + console.log('guildCreate ' + guild.name); await this.registerCommandsAndRoles(guild); }); - this.discordClient.on("interactionCreate", async (interaction) => { + this.discordClient.on('interactionCreate', async (interaction) => { if (!interaction.inGuild()) return; if (!this.checkMemberHasAhrAdminRole(interaction.member)) { if (interaction.isButton()) { - await interaction.reply({ content: "looking for a menu for you", ephemeral: true }); + await interaction.reply({ content: 'looking for a menu for you', ephemeral: true }); } return; } @@ -67,15 +66,15 @@ class DiscordBot { await this.discordClient.login(this.cfg.token); } catch (e) { - if (e?.code == "TOKEN_INVALID" && e.message) { + if (e?.code === 'TOKEN_INVALID' && e.message) { logger.error(e.message); - if (this.cfg.token == "") { - logger.error(`your token is Empty`); + if (this.cfg.token === '') { + logger.error('your token is Empty'); } else { logger.error(`your token is invalid. "${this.cfg.token}"`); } - logger.error("Check the setup guide -> https://github.com/Meowhal/osu-ahr#discord-integration"); + logger.error('Check the setup guide -> https://github.com/Meowhal/osu-ahr#discord-integration'); } else { logger.error(e); @@ -84,11 +83,11 @@ class DiscordBot { } } checkMemberHasAhrAdminRole(member) { - return member.roles.cache.find(f => f.name == ADMIN_ROLE.name) !== undefined; + return member.roles.cache.find(f => f.name === ADMIN_ROLE.name) !== undefined; } async registerCommandsAndRoles(guild) { - let results = await guild.commands.set(BotCommand_1.BotCommands); - let roleId = await this.registerRole(guild); + const results = await guild.commands.set(BotCommand_1.BotCommands); + const roleId = await this.registerRole(guild); const permissions = [ { id: roleId, @@ -101,7 +100,7 @@ class DiscordBot { }); } async registerRole(guild) { - let role = guild.roles.cache.find(r => r.name == ADMIN_ROLE.name); + let role = guild.roles.cache.find(r => r.name === ADMIN_ROLE.name); if (!role) { role = await guild.roles.create(ADMIN_ROLE); } @@ -109,24 +108,24 @@ class DiscordBot { } async handleCommandInteraction(interaction) { switch (interaction.commandName) { - case "make": + case 'make': await this.make(interaction); break; - case "enter": + case 'enter': await this.enter(interaction); break; - case "info": + case 'info': await this.info(interaction); break; - case "say": + case 'say': await this.say(interaction); break; - case "config": + case 'config': break; - case "close": + case 'close': await this.close(interaction); break; - case "quit": + case 'quit': await this.quit(interaction); break; } @@ -134,49 +133,49 @@ class DiscordBot { async make(interaction) { await interaction.deferReply(); if (!interaction.guild) { - logger.error("interaction.guild must not be null"); - await interaction.editReply("😫 interaction.guild must not be null"); + logger.error('interaction.guild must not be null'); + await interaction.editReply('😫 interaction.guild must not be null'); return; } - let name = interaction.options.getString("lobby_name", true); + const name = interaction.options.getString('lobby_name', true); let ahr; try { ahr = new OahrDiscord_1.OahrDiscord(this.ircClient, this.sharedObjects); await ahr.makeLobbyAsync(name); } catch (e) { - logger.error("couldn't make a tournament lobby. " + e); - await interaction.editReply("😫 couldn't make a tournament lobby. " + e.message); + logger.error('couldn\'t make a tournament lobby. ' + e); + await interaction.editReply('😫 couldn\'t make a tournament lobby. ' + e.message); ahr?.lobby.destroy(); return; } try { - let lobbyNumber = ahr.lobby.lobbyId ?? "new_lobby"; + const lobbyNumber = ahr.lobby.lobbyId ?? 'new_lobby'; this.registeAhr(ahr, interaction); await this.updateMatchSummary(ahr); await interaction.editReply(`😀 Created the lobby [Lobby History](https://osu.ppy.sh/mp/${lobbyNumber})`); } catch (e) { - logger.error("couldn't make a discord channel. " + e); - await interaction.editReply("couldn't make a discord channel. " + e.message); + logger.error('couldn\'t make a discord channel. ' + e); + await interaction.editReply('couldn\'t make a discord channel. ' + e.message); } } async enter(interaction) { await interaction.deferReply(); - let lobbyNumber = this.resolveLobbyId(interaction, true); - let lobbyId = "#mp_" + lobbyNumber; + const lobbyNumber = this.resolveLobbyId(interaction, true); + const lobbyId = '#mp_' + lobbyNumber; if (!lobbyNumber) { - await interaction.editReply("error lobby_id required."); + await interaction.editReply('error lobby_id required.'); return; } if (!interaction.guild) { - logger.error("interaction.guild must not be null"); - await interaction.editReply("😫 interaction.guild must not be null"); + logger.error('interaction.guild must not be null'); + await interaction.editReply('😫 interaction.guild must not be null'); return; } if (this.ahrs[lobbyId]) { - this.ahrs[lobbyId].lobby.logger.warn(`bot has already entered the lobby`); - await interaction.editReply("bot has already entered the lobby."); + this.ahrs[lobbyId].lobby.logger.warn('bot has already entered the lobby'); + await interaction.editReply('bot has already entered the lobby.'); return; } let ahr; @@ -185,8 +184,8 @@ class DiscordBot { await ahr.enterLobbyAsync(lobbyId); } catch (e) { - logger.error("couldn't enter the tournament lobby. " + e); - await interaction.editReply("😫 couldn't enter the tournament lobby. " + e); + logger.error('couldn\'t enter the tournament lobby. ' + e); + await interaction.editReply('😫 couldn\'t enter the tournament lobby. ' + e); ahr?.lobby.destroy(); return; } @@ -194,131 +193,130 @@ class DiscordBot { this.registeAhr(ahr, interaction); // ロビー用チャンネルからenterコマンドを引数無しで呼び出している場合はそのチャンネルでログ転送を開始する const ch = interaction.guild?.channels.cache.get(interaction.channelId); - if (ch && lobbyId == ("#" + ch.name)) { + if (ch && lobbyId === ('#' + ch.name)) { ahr.startTransferLog(ch.id); } await this.updateMatchSummary(ahr); await interaction.editReply(`😀 Entered the lobby [Lobby History](https://osu.ppy.sh/mp/${lobbyNumber})`); } catch (e) { - logger.error("couldn't make a discord channel. " + e); - await interaction.editReply("😫 couldn't make a discord channel. " + e); + logger.error('couldn\'t make a discord channel. ' + e); + await interaction.editReply('😫 couldn\'t make a discord channel. ' + e); } } async info(interaction) { await interaction.deferReply(); - let lobbyId = this.resolveLobbyId(interaction); + const lobbyId = this.resolveLobbyId(interaction); if (!lobbyId) { - await interaction.editReply("error lobby_id required."); + await interaction.editReply('error lobby_id required.'); return; } if (!interaction.guild) { - logger.error("interaction.guild must not be null"); - await interaction.editReply("😫 interaction.guild must not be null"); + logger.error('interaction.guild must not be null'); + await interaction.editReply('😫 interaction.guild must not be null'); return; } - let ahr = this.ahrs[lobbyId]; + const ahr = this.ahrs[lobbyId]; if (!ahr) { - await interaction.editReply("Invalid lobby specified"); + await interaction.editReply('Invalid lobby specified'); return; } try { await interaction.editReply({ embeds: [ahr.createDetailInfoEmbed()] }); } catch (e) { - logger.error("@discordbot.info " + e); - await interaction.editReply("😫 error! " + e.message); + logger.error('@discordbot.info ' + e); + await interaction.editReply('😫 error! ' + e.message); } } async say(interaction) { await interaction.deferReply(); - let lobbyId = this.resolveLobbyId(interaction); + const lobbyId = this.resolveLobbyId(interaction); if (!lobbyId) { - await interaction.editReply("error lobby_id required."); + await interaction.editReply('error lobby_id required.'); return; } - let ahr = this.ahrs[lobbyId]; + const ahr = this.ahrs[lobbyId]; if (!ahr) { - await interaction.editReply("Invalid lobby specified"); + await interaction.editReply('Invalid lobby specified'); return; } - let msg = interaction.options.getString("message", true); - if ((msg.startsWith("!") && !msg.startsWith("!mp ")) || msg.startsWith("*")) { + const msg = interaction.options.getString('message', true); + if ((msg.startsWith('!') && !msg.startsWith('!mp ')) || msg.startsWith('*')) { ahr.lobby.RaiseReceivedChatCommand(ahr.lobby.GetOrMakePlayer(ahr.client.nick), msg); - await interaction.editReply("executed: " + msg); + await interaction.editReply('executed: ' + msg); } else { ahr.lobby.SendMessage(msg); - await interaction.editReply("sent: " + msg); + await interaction.editReply('sent: ' + msg); } } async close(interaction) { await interaction.deferReply(); - let lobbyId = this.resolveLobbyId(interaction); + const lobbyId = this.resolveLobbyId(interaction); if (!lobbyId) { - await interaction.editReply("error lobby_id required."); + await interaction.editReply('error lobby_id required.'); return; } - let ahr = this.ahrs[lobbyId]; + const ahr = this.ahrs[lobbyId]; if (!ahr) { - await interaction.editReply("Invalid lobby specified"); + await interaction.editReply('Invalid lobby specified'); return; } try { await ahr.lobby.CloseLobbyAsync(); - await interaction.editReply("Closed the lobby"); + await interaction.editReply('Closed the lobby'); } catch (e) { - logger.error("@discordbot.close " + e); - await interaction.editReply("😫 error! " + e); + logger.error('@discordbot.close ' + e); + await interaction.editReply('😫 error! ' + e); } } async quit(interaction) { await interaction.deferReply(); - let lobbyId = this.resolveLobbyId(interaction); + const lobbyId = this.resolveLobbyId(interaction); if (!lobbyId) { - await interaction.editReply("error lobby_id required."); + await interaction.editReply('error lobby_id required.'); return; } - let ahr = this.ahrs[lobbyId]; + const ahr = this.ahrs[lobbyId]; if (!ahr) { - await interaction.editReply("Invalid lobby specified"); + await interaction.editReply('Invalid lobby specified'); return; } try { await ahr.lobby.QuitLobbyAsync(); - await interaction.editReply("Stopped managing the lobby"); + await interaction.editReply('Stopped managing the lobby'); } catch (e) { - logger.error("@discordbot.quit " + e); - await interaction.editReply("😫 error! " + e); + logger.error('@discordbot.quit ' + e); + await interaction.editReply('😫 error! ' + e); } } async handleButtonInteraction(interaction, command, lobbyNumber) { if (!interaction.guild) return; - const lobbyId = "#mp_" + lobbyNumber; - let ahr = this.ahrs[lobbyId]; + const lobbyId = '#mp_' + lobbyNumber; + const ahr = this.ahrs[lobbyId]; if (!ahr) { await interaction.reply({ content: `${lobbyId} - the lobby has already been unmanaged.`, ephemeral: true }); } - ; try { switch (command) { - case "menu": + case 'menu': const menu = ahr.createControllButtons(); await interaction.reply({ content: `${lobbyId} - menu`, components: [menu], ephemeral: true }); return; - case "close": + case 'close': await ahr.lobby.CloseLobbyAsync(); await interaction.reply({ content: `${lobbyId} - closed`, ephemeral: true }); break; - case "startLog": + case 'startLog': await this.getOrCreateMatchChannel(interaction.guild, lobbyNumber); await interaction.reply({ content: `${lobbyId} - start transfer`, ephemeral: true }); this.startTransferLog(ahr, interaction.guild); break; - case "stopLog": + case 'stopLog': ahr.stopTransferLog(); await interaction.reply({ content: `${lobbyId} - stop transfer`, ephemeral: true }); break; @@ -326,17 +324,17 @@ class DiscordBot { await this.updateMatchSummary(ahr); } catch (e) { - logger.error("@handleButtonInteraction " + e); + logger.error('@handleButtonInteraction ' + e); } } async getOrCreateMatchChannel(guild, lobbyNumber) { - const lobbyId = "mp_" + lobbyNumber; - const dc = guild.channels.cache.find(c => c.name == lobbyId); + const lobbyId = 'mp_' + lobbyNumber; + const dc = guild.channels.cache.find(c => c.name === lobbyId); if (dc) return dc; - const role = guild.roles.cache.find(r => r.name == ADMIN_ROLE.name); + const role = guild.roles.cache.find(r => r.name === ADMIN_ROLE.name); return await guild.channels.create(lobbyId, { - type: "GUILD_TEXT", + type: 'GUILD_TEXT', topic: `created by ${this.discordClient.user?.username}. [history](https://osu.ppy.sh/community/matches/${lobbyNumber})`, permissionOverwrites: [ { @@ -344,23 +342,23 @@ class DiscordBot { deny: [discord_js_1.Permissions.FLAGS.VIEW_CHANNEL, discord_js_1.Permissions.FLAGS.SEND_MESSAGES] }, { - id: role ?? "", + id: role ?? '', allow: [discord_js_1.Permissions.FLAGS.VIEW_CHANNEL, discord_js_1.Permissions.FLAGS.SEND_MESSAGES] }, { - id: this.discordClient.user?.id ?? "", + id: this.discordClient.user?.id ?? '', allow: [discord_js_1.Permissions.FLAGS.VIEW_CHANNEL, discord_js_1.Permissions.FLAGS.SEND_MESSAGES] } ] }); } async getOrCreateMatchesChannel(guild) { - const dc = guild.channels.cache.find(c => c.name.toLowerCase() == "matches"); + const dc = guild.channels.cache.find(c => c.name.toLowerCase() === 'matches'); if (dc) return dc; - const role = guild.roles.cache.find(r => r.name == ADMIN_ROLE.name); - return await guild.channels.create("matches", { - type: "GUILD_TEXT", + const role = guild.roles.cache.find(r => r.name === ADMIN_ROLE.name); + return await guild.channels.create('matches', { + type: 'GUILD_TEXT', topic: `created by ${this.discordClient.user?.username}.`, permissionOverwrites: [ { @@ -368,11 +366,11 @@ class DiscordBot { deny: [discord_js_1.Permissions.FLAGS.VIEW_CHANNEL, discord_js_1.Permissions.FLAGS.SEND_MESSAGES] }, { - id: role ?? "", + id: role ?? '', allow: [discord_js_1.Permissions.FLAGS.VIEW_CHANNEL] }, { - id: this.discordClient.user?.id ?? "", + id: this.discordClient.user?.id ?? '', allow: [discord_js_1.Permissions.FLAGS.VIEW_CHANNEL, discord_js_1.Permissions.FLAGS.SEND_MESSAGES] } ] @@ -380,9 +378,9 @@ class DiscordBot { } registeAhr(ahr, interaction) { if (!ahr.lobby.channel) { - throw new Error("lobbyId not defined"); + throw new Error('lobbyId not defined'); } - let lid = ahr.lobby.channel; + const lid = ahr.lobby.channel; const updateHandler = (a) => { switch (a.response.type) { case CommandParser_1.BanchoResponseType.BeatmapChanged: @@ -406,7 +404,7 @@ class DiscordBot { this.ahrs[lid] = ahr; } async startTransferLog(ahr, guild) { - const dc = await this.getOrCreateMatchChannel(guild, ahr.lobby.lobbyId ?? ""); + const dc = await this.getOrCreateMatchChannel(guild, ahr.lobby.lobbyId ?? ''); ahr.startTransferLog(dc.id); this.ahrs[ahr.discordChannelId] = ahr; } @@ -421,7 +419,7 @@ class DiscordBot { resolveLobbyId(interaction, asNumber = false) { if (!interaction.inGuild()) return; - let op = interaction.options.getInteger("lobby_id", false); + const op = interaction.options.getInteger('lobby_id', false); if (op) { if (asNumber) { return op.toString(); @@ -430,7 +428,7 @@ class DiscordBot { return `#mp_${op}`; } } - let ahr = this.ahrs[interaction.channelId]; + const ahr = this.ahrs[interaction.channelId]; if (ahr && ahr.lobby.channel) { if (asNumber) { return ahr.lobby.lobbyId; @@ -439,14 +437,14 @@ class DiscordBot { return ahr.lobby.channel; } } - let gc = interaction.guild?.channels.cache.get(interaction.channelId); - let m = gc?.name.match(/mp_(\d+)/); + const gc = interaction.guild?.channels.cache.get(interaction.channelId); + const m = gc?.name.match(/mp_(\d+)/); if (m) { if (asNumber) { return m[1]; } else { - return "#" + m[0]; + return '#' + m[0]; } } return undefined; @@ -462,15 +460,15 @@ class DiscordBot { }); } createLinkButton(lobbyNumber) { - return new discord_js_1.MessageActionRow().addComponents(new discord_js_1.MessageButton().setStyle("LINK").setLabel("Lobby Histroy").setURL(`https://osu.ppy.sh/community/matches/${lobbyNumber}`), new discord_js_1.MessageButton().setStyle("LINK").setLabel("Channel").setURL(``)); + return new discord_js_1.MessageActionRow().addComponents(new discord_js_1.MessageButton().setStyle('LINK').setLabel('Lobby Histroy').setURL(`https://osu.ppy.sh/community/matches/${lobbyNumber}`), new discord_js_1.MessageButton().setStyle('LINK').setLabel('Channel').setURL('')); } async updateMatchSummary(ahr) { if (!ahr.updateSummaryMessage) return; try { - const guild = this.discordClient.guilds.cache.find(f => f.id == ahr.guildId); - if (guild == undefined) - throw new Error("guild not found"); + const guild = this.discordClient.guilds.cache.find(f => f.id === ahr.guildId); + if (guild === undefined) + throw new Error('guild not found'); const channel = await this.getOrCreateMatchesChannel(guild); const embed = ahr.createSummaryInfoEmbed(); const btns = ahr.createMenuButton(); @@ -485,7 +483,7 @@ class DiscordBot { } catch (e) { if (e instanceof discord_js_1.DiscordAPIError) { - if (e.message == "Missing Permissions") { + if (e.message === 'Missing Permissions') { logger.error(`Missing Permissions. Invite this bot again. invite link => ${this.generateInviteLink()}`); return; } @@ -496,13 +494,13 @@ class DiscordBot { } async findMatchSummaryMessage(channel, ahr) { let message; - if (ahr.matchSummaryMessageId != "") { + if (ahr.matchSummaryMessageId !== '') { message = await channel.messages.fetch(ahr.matchSummaryMessageId); } if (message) return message; const msgs = await channel.messages.fetch({ limit: 10 }); - const recent = msgs.find(f => (f.embeds && f.embeds.length > 0 && f.embeds[0].title == `#mp_${ahr.lobby.lobbyId ?? ""}`)); + const recent = msgs.find(f => (f.embeds && f.embeds.length > 0 && f.embeds[0].title === `#mp_${ahr.lobby.lobbyId ?? ''}`)); if (recent) return recent; } diff --git a/dist/discord/DiscordBot.js.map b/dist/discord/DiscordBot.js.map index a5836a9c..9262d2bc 100644 --- a/dist/discord/DiscordBot.js.map +++ b/dist/discord/DiscordBot.js.map @@ -1 +1 @@ -{"version":3,"file":"DiscordBot.js","sourceRoot":"","sources":["../../src/discord/DiscordBot.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEF,oDAA4B;AAC5B,2CAAkT;AAClT,oDAA4B;AAK5B,+CAA4C;AAC5C,uDAA+C;AAC/C,6CAA2C;AAC3C,4DAA8E;AAE/E,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAE3C,MAAM,UAAU,GAAsB;IACpC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,uBAAuB;CAChC,CAAC;AAUF,MAAa,UAAU;IAOrB,YAAY,MAAkB,EAAE,aAAqB;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,gBAAM,CAAC,GAAG,CAAmB,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;YAC1C,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE;gBACtC,MAAM,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;aACxC;YACD,IAAA,4BAAU,EAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACjD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE;YAC7D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,MAAqB,CAAC,EAAE;gBACvE,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE;oBAC1B,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,4BAA4B,EAAE,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;iBACjF;gBACD,OAAO;aACR;YACD,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE;gBAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;aAClD;YACD,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE;gBAC1B,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACzD,IAAI,CAAC,EAAE;oBACL,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7D;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChD;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,EAAE,IAAI,IAAI,eAAe,IAAI,CAAC,CAAC,OAAO,EAAE;gBAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE;oBACxB,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;iBACrC;qBAAM;oBACL,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;iBAC5D;gBACD,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;aAEjG;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACjB;YACD,OAAO,CAAC,IAAI,EAAE,CAAC;SAChB;IAEH,CAAC;IAED,0BAA0B,CAAC,MAAmB;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAY;QACzC,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAW,CAAC,CAAC;QACpD,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAuC;YACtD;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,IAAI;aACjB;SACF,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAY;QAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,WAAoC;QACjE,QAAQ,WAAW,CAAC,WAAW,EAAE;YAC/B,KAAK,MAAM;gBACT,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,MAAM;SACT;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAoC;QAC7C,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,MAAM,WAAW,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;YACrE,OAAO;SACR;QAED,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC;QAER,IAAI;YACF,GAAG,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAChC;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,WAAW,CAAC,SAAS,CAAC,uCAAuC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACjF,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;SACR;QAED,IAAI;YACF,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,SAAS,CAAC,8DAA8D,WAAW,GAAG,CAAC,CAAC;SAC3G;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,WAAW,CAAC,SAAS,CAAC,mCAAmC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;SAC9E;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAoC;QAC9C,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACxD,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,MAAM,WAAW,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;YACrE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAC1E,MAAM,WAAW,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;YAClE,OAAO;SACR;QAED,IAAI,GAAG,CAAC;QAER,IAAI;YACF,GAAG,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,WAAW,CAAC,SAAS,CAAC,0CAA0C,GAAG,CAAC,CAAC,CAAC;YAC5E,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO;SACR;QAED,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAClC,wDAAwD;YACxD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACxE,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;gBACpC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC7B;YACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,WAAW,CAAC,SAAS,CAAC,8DAA8D,WAAW,GAAG,CAAC,CAAC;SAC3G;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,WAAW,CAAC,SAAS,CAAC,uCAAuC,GAAG,CAAC,CAAC,CAAC;SAC1E;IACH,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,WAAoC;QAC7C,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACxD,OAAO;SACR;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,MAAM,WAAW,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;YACrE,OAAO;SACR;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YACvD,OAAO;SACR;QAED,IAAI;YACF,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;SACxE;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;SACvD;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAoC;QAC5C,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACxD,OAAO;SACR;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YACvD,OAAO;SACR;QACD,IAAI,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC3E,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;SACjD;aAAM;YACL,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;SAC7C;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,WAAoC;QAC9C,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACxD,OAAO;SACR;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YACvD,OAAO;SACR;QAED,IAAI;YACF,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAClC,MAAM,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;SACjD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAoC;QAC7C,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACxD,OAAO;SACR;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;YACvD,OAAO;SACR;QAED,IAAI;YACF,MAAM,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,WAAW,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;SAC3D;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,WAAyC,EAAE,OAAe,EAAE,WAAmB;QAC3G,IAAI,CAAC,WAAW,CAAC,KAAK;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;QACrC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,GAAG,OAAO,0CAA0C,EAAE,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;SACzG;QAAA,CAAC;QAEF,IAAI;YACF,QAAQ,OAAO,EAAE;gBACf,KAAK,MAAM;oBACT,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;oBACzC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,GAAG,OAAO,SAAS,EAAE,UAAU,EAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;oBAC1F,OAAO;gBACT,KAAK,OAAO;oBACV,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;oBAClC,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,GAAG,OAAO,WAAW,EAAE,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;oBACzE,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACnE,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,GAAG,OAAO,mBAAmB,EAAE,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;oBACjF,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC9C,MAAM;gBACR,KAAK,SAAS;oBACZ,GAAG,CAAC,eAAe,EAAE,CAAC;oBACtB,MAAM,WAAW,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,GAAG,OAAO,kBAAkB,EAAE,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;oBAChF,MAAM;aACT;YACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAY,EAAE,WAAmB;QAC7D,MAAM,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;QACpC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;QAC7D,IAAI,EAAE;YAAE,OAAO,EAAiB,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;YAC1C,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,cAAc,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,oDAAoD,WAAW,GAAG;YACxH,oBAAoB,EAAE;gBACpB;oBACE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,CAAC,wBAAW,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAW,CAAC,KAAK,CAAC,aAAa,CAAC;iBACxE;gBACD;oBACE,EAAE,EAAE,IAAI,IAAI,EAAE;oBACd,KAAK,EAAE,CAAC,wBAAW,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAW,CAAC,KAAK,CAAC,aAAa,CAAC;iBACzE;gBACD;oBACE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;oBACrC,KAAK,EAAE,CAAC,wBAAW,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAW,CAAC,KAAK,CAAC,aAAa,CAAC;iBACzE;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAY;QAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,CAAC;QAC7E,IAAI,EAAE;YAAE,OAAO,EAAiB,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;YAC5C,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,cAAc,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG;YACzD,oBAAoB,EAAE;gBACpB;oBACE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,CAAC,wBAAW,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAW,CAAC,KAAK,CAAC,aAAa,CAAC;iBACxE;gBACD;oBACE,EAAE,EAAE,IAAI,IAAI,EAAE;oBACd,KAAK,EAAE,CAAC,wBAAW,CAAC,KAAK,CAAC,YAAY,CAAC;iBACxC;gBACD;oBACE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;oBACrC,KAAK,EAAE,CAAC,wBAAW,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAW,CAAC,KAAK,CAAC,aAAa,CAAC;iBACzE;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAgB,EAAE,WAAoC;QAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QACD,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,MAAM,aAAa,GAAG,CAAC,CAAiD,EAAE,EAAE;YAC1E,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACvB,KAAK,kCAAkB,CAAC,cAAc,CAAC;gBACvC,KAAK,kCAAkB,CAAC,YAAY,CAAC;gBACrC,KAAK,kCAAkB,CAAC,aAAa,CAAC;gBACtC,KAAK,kCAAkB,CAAC,YAAY,CAAC;gBACrC,KAAK,kCAAkB,CAAC,WAAW;oBACjC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAC7B,MAAM;aACT;QACH,CAAC,CAAA;QACD,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAEvB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAgB,EAAE,KAAY;QACnD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC9E,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,WAA+B,EAAE,WAAoB,KAAK;QACvE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAAE,OAAO;QAEnC,IAAI,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,EAAE,EAAE;YACN,IAAI,QAAQ,EAAE;gBACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;aACtB;iBAAM;gBACL,OAAO,OAAO,EAAE,EAAE,CAAC;aACpB;SACF;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;YAC5B,IAAI,QAAQ,EAAE;gBACZ,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;aAC1B;iBAAM;gBACL,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;aAC1B;SACF;QAED,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEtE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE;YACL,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACb;iBAAM;gBACL,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACnB;SAEF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;YACvC,MAAM,EAAE,CAAC,KAAK,EAAE,uBAAuB,CAAC;YACxC,WAAW,EAAE;gBACX,wBAAW,CAAC,KAAK,CAAC,eAAe;gBACjC,wBAAW,CAAC,KAAK,CAAC,YAAY;gBAC9B,wBAAW,CAAC,KAAK,CAAC,eAAe;aAClC;SACF,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAClC,OAAO,IAAI,6BAAgB,EAAE,CAAC,aAAa,CACzC,IAAI,0BAAa,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,wCAAwC,WAAW,EAAE,CAAC,EAC5H,IAAI,0BAAa,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CACpE,CAAA;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAgB;QACvC,IAAI,CAAC,GAAG,CAAC,oBAAoB;YAAE,OAAO;QACtC,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7E,IAAI,KAAK,IAAI,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACpC,IAAI,OAAO,GAAwB,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACvE;YACD,GAAG,CAAC,qBAAqB,GAAG,OAAO,CAAC,EAAE,CAAC;SACxC;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,YAAY,4BAAe,EAAE;gBAChC,IAAI,CAAC,CAAC,OAAO,IAAI,qBAAqB,EAAE;oBACtC,MAAM,CAAC,KAAK,CAAC,8DAA8D,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;oBACxG,OAAO;iBACR;aACF;YACD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,oBAAoB,GAAG,KAAK,CAAC;SAClC;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAoB,EAAE,GAAgB;QAClE,IAAI,OAA4B,CAAC;QACjC,IAAI,GAAG,CAAC,qBAAqB,IAAI,EAAE,EAAE;YACnC,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;SACnE;QACD,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1H,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAgB;QACvC,IAAI,CAAC,GAAG,CAAC,oBAAoB;YAAE,OAAO;QACtC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAwB,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACtF,GAAG,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,OAAO,EAAE;gBACX,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;aACxB;SACF;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CACF;AAhhBD,gCAghBC"} \ No newline at end of file +{"version":3,"file":"DiscordBot.js","sourceRoot":"","sources":["../../src/discord/DiscordBot.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/discord/OahrDiscord.js b/dist/discord/OahrDiscord.js index 8d818f53..62778b35 100644 --- a/dist/discord/OahrDiscord.js +++ b/dist/discord/OahrDiscord.js @@ -8,46 +8,46 @@ const Lobby_1 = require("../Lobby"); const log4js_1 = __importDefault(require("log4js")); const OahrBase_1 = require("../cli/OahrBase"); const discord_js_1 = require("discord.js"); -const logger = log4js_1.default.getLogger("discord"); +const logger = log4js_1.default.getLogger('discord'); const LOBBY_STAT = { match: { - text: "match", + text: 'match', color: 0x33ff33 }, idle: { - text: "idle", + text: 'idle', color: 0x00ccff }, closed: { - text: "closed", + text: 'closed', color: 0x800000 } }; class OahrDiscord extends OahrBase_1.OahrBase { constructor(client, sh) { super(client); - this.guildId = ""; - this.discordChannelId = ""; + this.guildId = ''; + this.discordChannelId = ''; this.transferLog = false; this.updateSummaryMessage = true; - this.matchSummaryMessageId = ""; + this.matchSummaryMessageId = ''; } setGuildId(guildId) { this.guildId = guildId; for (const l of this.getLoggers()) { - l.addContext("guildId", guildId); + l.addContext('guildId', guildId); } } startTransferLog(discordChannelId) { for (const l of this.getLoggers()) { - l.addContext("channelId", discordChannelId); - l.addContext("transfer", true); + l.addContext('channelId', discordChannelId); + l.addContext('transfer', true); } this.transferLog = true; } stopTransferLog() { for (const l of this.getLoggers()) { - l.addContext("transfer", false); + l.addContext('transfer', false); } this.transferLog = false; } @@ -56,73 +56,73 @@ class OahrDiscord extends OahrBase_1.OahrBase { } createDetailInfoEmbed() { const lobby = this.lobby; - const lid = lobby.lobbyId ?? ""; - const name = lobby.lobbyName ?? ""; - const host = lobby.host?.name ?? "none"; - const embed = new discord_js_1.MessageEmbed().setColor("BLURPLE").setTitle("Lobby Information - " + name).setURL(`https://osu.ppy.sh/community/matches/${lid}`); - embed.addField("lobby", `id:${lid}, status:${Lobby_1.LobbyStatus[lobby.status]}, host:${host}, players:${lobby.players.size}, name:${name}`); - const refs = Array.from(lobby.playersMap.values()).filter(v => v.isReferee).map(v => v.name).join(","); + const lid = lobby.lobbyId ?? ''; + const name = lobby.lobbyName ?? ''; + const host = lobby.host?.name ?? 'none'; + const embed = new discord_js_1.MessageEmbed().setColor('BLURPLE').setTitle('Lobby Information - ' + name).setURL(`https://osu.ppy.sh/community/matches/${lid}`); + embed.addField('lobby', `id:${lid}, status:${Lobby_1.LobbyStatus[lobby.status]}, host:${host}, players:${lobby.players.size}, name:${name}`); + const refs = Array.from(lobby.playersMap.values()).filter(v => v.isReferee).map(v => v.name).join(','); if (refs) { - embed.addField("referee", refs, false); + embed.addField('referee', refs, false); } const ho = this.getPlayerOrders(); - if (ho != "") { - embed.addField("host order", ho, false); + if (ho !== '') { + embed.addField('host order', ho, false); } embed.addField(`map - ${lobby.mapTitle}`, `https://osu.ppy.sh/b/${lobby.mapId}`, false); - embed.addField("selector", `changer:${this.selector.mapChanger?.name ?? "none"}, rflag:${this.selector.needsRotate ? "true" : "false"}`, false); + embed.addField('selector', `changer:${this.selector.mapChanger?.name ?? 'none'}, rflag:${this.selector.needsRotate ? 'true' : 'false'}`, false); const denylist = this.selector.getDeniedPlayerNames(); - if (denylist.length != 0) { - embed.addField("denylist", `${denylist.join(", ")}`); + if (denylist.length !== 0) { + embed.addField('denylist', `${denylist.join(', ')}`); } - embed.addField("history", `${this.history.repository.hasError ? "stopped" : "active"}, latest:${this.history.repository?.latestEventId.toString() ?? "0"}, loaded:${this.history.repository?.events.length.toString() ?? "0"}`, false); - embed.addField("regulation", this.checker.getRegulationDescription(), false); + embed.addField('history', `${this.history.repository.hasError ? 'stopped' : 'active'}, latest:${this.history.repository?.latestEventId.toString() ?? '0'}, loaded:${this.history.repository?.events.length.toString() ?? '0'}`, false); + embed.addField('regulation', this.checker.getRegulationDescription(), false); const keeps = this.keeper.getDescription(); - if (keeps != "") { - embed.addField("keeps", keeps, false); + if (keeps !== '') { + embed.addField('keeps', keeps, false); } return embed; } createSummaryInfoEmbed() { const lobby = this.lobby; - const stat = lobby.status == Lobby_1.LobbyStatus.Left ? LOBBY_STAT.closed : lobby.isMatching ? LOBBY_STAT.match : LOBBY_STAT.idle; - const lid = lobby.lobbyId ?? ""; - const name = lobby.lobbyName ?? ""; - const host = lobby.host?.name ?? "none"; + const stat = lobby.status === Lobby_1.LobbyStatus.Left ? LOBBY_STAT.closed : lobby.isMatching ? LOBBY_STAT.match : LOBBY_STAT.idle; + const lid = lobby.lobbyId ?? ''; + const name = lobby.lobbyName ?? ''; + const host = lobby.host?.name ?? 'none'; const embed = new discord_js_1.MessageEmbed().setColor(stat.color).setTitle(`#mp_${lid}`).setURL(`https://osu.ppy.sh/community/matches/${lid}`); - embed.addField("title", name, true); - embed.addField("status", stat.text, true); - embed.addField("host", host, true); - embed.addField("regulation", this.checker.getRegulationDescription(), true); + embed.addField('title', name, true); + embed.addField('status', stat.text, true); + embed.addField('host', host, true); + embed.addField('regulation', this.checker.getRegulationDescription(), true); embed.addField(`map - ${lobby.mapTitle}`, `https://osu.ppy.sh/b/${lobby.mapId}`, false); const ho = this.getPlayerOrders(); - if (ho != "") { - embed.addField("host order", ho, false); + if (ho !== '') { + embed.addField('host order', ho, false); } const keeps = this.keeper.getDescription(); - if (keeps != "") { - embed.addField("keeps", keeps, false); + if (keeps !== '') { + embed.addField('keeps', keeps, false); } embed.setTimestamp(); return embed; } createMenuButton() { const cid = this.lobby.channel; // #mp_xxxx - if (cid == undefined) - throw new Error("invalid ahr lobby state. channel is undefined"); - return new discord_js_1.MessageActionRow().addComponents(new discord_js_1.MessageButton().setLabel("Menu").setStyle(1 /* PRIMARY */).setCustomId("menu," + cid)); + if (!cid) + throw new Error('invalid ahr lobby state. channel is undefined'); + return new discord_js_1.MessageActionRow().addComponents(new discord_js_1.MessageButton().setLabel('Menu').setStyle(1 /* PRIMARY */).setCustomId('menu,' + cid)); } createControllButtons() { const cid = this.lobby.channel; // #mp_xxxx - if (cid == undefined) - throw new Error("invalid ahr lobby state. channel is undefined"); + if (!cid) + throw new Error('invalid ahr lobby state. channel is undefined'); const btn1 = new discord_js_1.MessageButton(); - const btn2 = new discord_js_1.MessageButton().setLabel("close").setStyle(4 /* DANGER */).setCustomId("close," + cid); // close,#mp_xxxx + const btn2 = new discord_js_1.MessageButton().setLabel('close').setStyle(4 /* DANGER */).setCustomId('close,' + cid); // close,#mp_xxxx if (this.transferLog) { - btn1.setLabel("Stop transfer").setStyle(2 /* SECONDARY */).setCustomId("stopLog," + cid); // stopLog,#mp_xxxx + btn1.setLabel('Stop transfer').setStyle(2 /* SECONDARY */).setCustomId('stopLog,' + cid); // stopLog,#mp_xxxx } else { - btn1.setLabel("Start transfer").setStyle(1 /* PRIMARY */).setCustomId("startLog," + cid); // stopLog,#mp_xxxx + btn1.setLabel('Start transfer').setStyle(1 /* PRIMARY */).setCustomId('startLog,' + cid); // stopLog,#mp_xxxx } const row = new discord_js_1.MessageActionRow().addComponents(btn1, btn2); return row; @@ -145,7 +145,7 @@ class OahrDiscord extends OahrBase_1.OahrBase { } } const fields = [...map.values()].sort((a, b) => a.order - b.order).map((info) => `${info.name}(${info.playcount})`); - return fields.join(", "); + return fields.join(', '); } } exports.OahrDiscord = OahrDiscord; diff --git a/dist/discord/OahrDiscord.js.map b/dist/discord/OahrDiscord.js.map index 38e2d1b3..b9401e84 100644 --- a/dist/discord/OahrDiscord.js.map +++ b/dist/discord/OahrDiscord.js.map @@ -1 +1 @@ -{"version":3,"file":"OahrDiscord.js","sourceRoot":"","sources":["../../src/discord/OahrDiscord.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OahrDiscord.js","sourceRoot":"","sources":["../../src/discord/OahrDiscord.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/discord/index.js b/dist/discord/index.js index ff54818c..f2b16419 100644 --- a/dist/discord/index.js +++ b/dist/discord/index.js @@ -28,33 +28,32 @@ const DiscordBot_1 = require("./DiscordBot"); const IIrcClient_1 = require("../IIrcClient"); const irc = __importStar(require("../libs/irc")); const TypedConfig_1 = require("../TypedConfig"); -const IIrcClient_2 = require("../IIrcClient"); const ChatLimiter_1 = require("../libs/ChatLimiter"); -const logger = log4js_1.default.getLogger("cli"); -console.log("starting up..."); -const config_path = "./config/log_discord.json"; +const logger = log4js_1.default.getLogger('cli'); +console.log('starting up...'); +const config_path = './config/log_discord.json'; log4js_1.default.configure(config_path); try { TypedConfig_1.CONFIG_OPTION.USE_ENV = true; const c = (0, TypedConfig_1.getIrcConfig)(); - if (c.nick == "your account id" || c.opt.password == "you can get password from 'https://osu.ppy.sh/p/irc'") { - logger.error("you must enter your account name and irc password in the config file. "); - logger.error("you can get the password from 'https://osu.ppy.sh/p/irc' "); - logger.error("Copy config/default.json to config/local.json, and enter your id and irc password."); + if (c.nick === 'your account id' || c.opt.password === 'you can get password from \'https://osu.ppy.sh/p/irc\'') { + logger.error('you must enter your account name and irc password in the config file. '); + logger.error('you can get the password from \'https://osu.ppy.sh/p/irc\' '); + logger.error('Copy config/default.json to config/local.json, and enter your id and irc password.'); process.exit(1); } - let ircClient = new irc.Client(c.server, c.nick, c.opt); - ircClient.on("error", err => { - if (err.command == "err_passwdmismatch") { + const ircClient = new irc.Client(c.server, c.nick, c.opt); + ircClient.on('error', err => { + if (err.command === 'err_passwdmismatch') { logger.error('%s: %s', err.command, err.args.join(' ')); - logger.error("check your account id and password."); + logger.error('check your account id and password.'); process.exit(1); } }); (0, ChatLimiter_1.applySpeedLimit)(ircClient, 10, 5000); (0, IIrcClient_1.logIrcEvent)(ircClient); - (0, IIrcClient_2.logPrivateMessage)(ircClient); - let discordClient = new discord_js_1.Client({ intents: [discord_js_1.Intents.FLAGS.GUILDS, discord_js_1.Intents.FLAGS.GUILD_INTEGRATIONS] }); + (0, IIrcClient_1.logPrivateMessage)(ircClient); + const discordClient = new discord_js_1.Client({ intents: [discord_js_1.Intents.FLAGS.GUILDS, discord_js_1.Intents.FLAGS.GUILD_INTEGRATIONS] }); const bot = new DiscordBot_1.DiscordBot(ircClient, discordClient); bot.start(); } diff --git a/dist/discord/index.js.map b/dist/discord/index.js.map index cd72f824..b370dfa5 100644 --- a/dist/discord/index.js.map +++ b/dist/discord/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discord/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6C;AAC7C,oDAA4B;AAC5B,6CAA0C;AAC1C,8CAA4C;AAC5C,iDAAmC;AACnC,gDAA6D;AAC7D,8CAAkD;AAClD,qDAAsD;AAEtD,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE9B,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEhD,gBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE9B,IAAI;IACA,2BAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAA,0BAAY,GAAE,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,IAAI,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,sDAAsD,EAAE;QACzG,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,IAAI,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACxB,IAAI,GAAG,CAAC,OAAO,IAAI,oBAAoB,EAAE;YACrC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACL,CAAC,CAAC,CAAC;IACH,IAAA,6BAAe,EAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC;IACvB,IAAA,8BAAiB,EAAC,SAAS,CAAC,CAAC;IAE7B,IAAI,aAAa,GAAG,IAAI,mBAAM,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAO,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAEtG,MAAM,GAAG,GAAG,IAAI,uBAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrD,GAAG,CAAC,KAAK,EAAE,CAAC;CACf;AAAC,OAAO,CAAM,EAAE;IACb,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACnB"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discord/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6C;AAC7C,oDAA4B;AAC5B,6CAA0C;AAC1C,8CAA+D;AAC/D,iDAAmC;AACnC,gDAA6D;AAC7D,qDAAsD;AAEtD,MAAM,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE9B,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEhD,gBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE9B,IAAI;IACF,2BAAa,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,IAAA,0BAAY,GAAE,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,wDAAwD,EAAE;QAC/G,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QAC1B,IAAI,GAAG,CAAC,OAAO,KAAK,oBAAoB,EAAE;YACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IACH,IAAA,6BAAe,EAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC;IACvB,IAAA,8BAAiB,EAAC,SAAS,CAAC,CAAC;IAE7B,MAAM,aAAa,GAAG,IAAI,mBAAM,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAO,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAExG,MAAM,GAAG,GAAG,IAAI,uBAAU,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrD,GAAG,CAAC,KAAK,EAAE,CAAC;CACb;AAAC,OAAO,CAAM,EAAE;IACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"} \ No newline at end of file diff --git a/dist/dummies/DummyHistoryFetcher.js b/dist/dummies/DummyHistoryFetcher.js index dcf775f1..3013e71b 100644 --- a/dist/dummies/DummyHistoryFetcher.js +++ b/dist/dummies/DummyHistoryFetcher.js @@ -8,27 +8,27 @@ class DummyHistoryFecher { this.match = { end_time: null, id: 0, - name: "dummy match", + name: 'dummy match', start_time: (new Date(this.timestamp)).toUTCString() }; this.events = []; this.users = []; - this.addEvent("match-created", creatorId); - this.addEvent("host-changed", creatorId); + this.addEvent('match-created', creatorId); + this.addEvent('host-changed', creatorId); } fetchHistory(limit, before, after, matchId = 0) { - let events = []; + const events = []; limit = Math.max(1, Math.min(this.limit, limit)); if (after) { after = Math.max(after, -1); - let end = Math.min(after + limit + 1, this.events.length); + const end = Math.min(after + limit + 1, this.events.length); for (let i = after + 1; i < end; i++) { events.push(this.events[i]); } } else { before = Math.min(before ?? this.events.length, this.events.length); - let start = Math.max(0, before - limit); + const start = Math.max(0, before - limit); for (let i = start; i < before; i++) { events.push(this.events[i]); } @@ -55,7 +55,7 @@ class DummyHistoryFecher { } addGameEvent(member, title) { this.timestamp += 1000; - if (member.length == 0) + if (member.length === 0) return; const scores = this.createDummyScores(member); const game = this.createDummyGame(1, true); @@ -64,7 +64,7 @@ class DummyHistoryFecher { this.events.push({ id: this.events.length, detail: { - type: "other", + type: 'other', text: title }, timestamp: (new Date(this.timestamp)).toUTCString(), @@ -73,7 +73,7 @@ class DummyHistoryFecher { }); member.forEach(m => { if (!this.existsUser(m)) { - throw new Error("unknown member joined game"); + throw new Error('unknown member joined game'); } }); } @@ -83,13 +83,13 @@ class DummyHistoryFecher { beatmap: {}, end_time: ended ? n : null, id: id, - mode: "osu", + mode: 'osu', mode_int: 0, mods: [], scores: [], - scoring_type: "score", + scoring_type: 'score', start_time: n, - team_type: "head-to-head" + team_type: 'head-to-head' }; } createDummyScores(nums) { @@ -102,7 +102,7 @@ class DummyHistoryFecher { created_at: null, match: { slot: v, - team: "none", + team: 'none', pass: 1 }, max_combo: 100, @@ -121,11 +121,11 @@ class DummyHistoryFecher { })); } createDummyUserIfNotExist(userId) { - if (userId != null && !this.existsUser(userId)) { + if (userId && !this.existsUser(userId)) { this.users.push({ avatar_url: null, - country_code: "AA", - default_group: "default", + country_code: 'AA', + default_group: 'default', id: userId, is_active: true, is_bot: false, @@ -134,16 +134,16 @@ class DummyHistoryFecher { last_visit: this.match.start_time, pm_friends_only: false, profile_colour: null, - username: "user" + userId, + username: 'user' + userId, country: { - code: "AA", - name: "AA" + code: 'AA', + name: 'AA' } }); } } existsUser(userId) { - return this.users.find(v => v.id == userId) != undefined; + return this.users.find(v => v.id === userId) !== undefined; } } exports.DummyHistoryFecher = DummyHistoryFecher; diff --git a/dist/dummies/DummyHistoryFetcher.js.map b/dist/dummies/DummyHistoryFetcher.js.map index 07d0a26e..265a46ef 100644 --- a/dist/dummies/DummyHistoryFetcher.js.map +++ b/dist/dummies/DummyHistoryFetcher.js.map @@ -1 +1 @@ -{"version":3,"file":"DummyHistoryFetcher.js","sourceRoot":"","sources":["../../src/dummies/DummyHistoryFetcher.ts"],"names":[],"mappings":";;;AAGA,MAAa,kBAAkB;IAO7B,YAAY,SAAiB;QAH7B,UAAK,GAAW,GAAG,CAAC;QACpB,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAG7B,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,IAAI;YACd,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE;SACrD,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,MAAqB,EAAE,KAAoB,EAAE,UAAkB,CAAC;QAC1F,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE;YACT,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7B;SACF;aAAM;YACL,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7B;SACF;QAED,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAe,EAAE,OAAe;QACvC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACtB,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI;aACX;YACD,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE;YACnD,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,MAAgB,EAAE,KAAc;QAC3C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACtB,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;aACZ;YACD,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE;YACnD,OAAO,EAAE,IAAI;YACb,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,KAAc;QACxC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1B,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,cAAc;SAC1B,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,IAAc;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3B,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,CAAC;aACR;YACD,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,CAAC;YACV,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,OAAO;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,CAAC;gBACX,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;aACd;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED,yBAAyB,CAAC,MAAqB;QAC7C,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,SAAS;gBACxB,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;gBACjC,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,MAAM,GAAG,MAAM;gBACzB,OAAO,EAAE;oBACP,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC;IAC3D,CAAC;CACF;AA9JD,gDA8JC"} \ No newline at end of file +{"version":3,"file":"DummyHistoryFetcher.js","sourceRoot":"","sources":["../../src/dummies/DummyHistoryFetcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/dummies/DummyIrcClient.js b/dist/dummies/DummyIrcClient.js index 172b6c37..41b60065 100644 --- a/dist/dummies/DummyIrcClient.js +++ b/dist/dummies/DummyIrcClient.js @@ -1,24 +1,19 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); exports.DummyIrcClient = void 0; const CommandParser_1 = require("../parsers/CommandParser"); const StatParser_1 = require("../parsers/StatParser"); const Player_1 = require("../Player"); -const log4js_1 = __importDefault(require("log4js")); const events_1 = require("events"); -const logger = log4js_1.default.getLogger("irc"); // テスト用の実際に通信を行わないダミーIRCクライアント class DummyIrcClient extends events_1.EventEmitter { constructor(server, nick, opts) { super(); - this.hostMask = ""; + this.hostMask = ''; this.latency = 0; this.mapidSeed = 1000; this.nick = nick; - this.channel = ""; + this.channel = ''; this.connected = false; this.players = new Set(); this.stats = new Map(); @@ -26,53 +21,54 @@ class DummyIrcClient extends events_1.EventEmitter { this.isMatching = false; this.referees = [this.nick]; this.msg = { - command: "dummy command", - rawCommand: "dummy command", + command: 'dummy command', + rawCommand: 'dummy command', commandType: 0, args: [] }; - if (opts == null || !opts.autoConnect) { + // autoConnect default:true + if (opts?.autoConnect !== false) { this.connect(); } } // サーバーとの接続イベントを発行する raiseRegistered() { this.connected = true; - this.hostMask = "osu!Bancho."; + this.hostMask = 'osu!Bancho.'; this.emit('registered', this.msg); } // チャンネル参加イベントを発行する raiseJoin(channel, who) { - if (who == this.nick) { + if (who === this.nick) { this.channel = channel; } - this.emit("join", channel, who, this.msg); - this.emit("join" + channel, who, this.msg); + this.emit('join', channel, who, this.msg); + this.emit('join' + channel, who, this.msg); } // チャンネル退出イベントを発行する raisePart(channel, who) { - if (who == this.nick) { - this.channel = ""; + if (who === this.nick) { + this.channel = ''; } - this.emit("part", channel, who, this.msg); - this.emit("part" + channel, who, this.msg); + this.emit('part', channel, who, this.msg); + this.emit('part' + channel, who, this.msg); } // メッセージイベントを発行する emulateMessage(from, to, message) { - const lines = message.split("\n"); + const lines = message.split('\n'); if (lines.length > 1) { lines.forEach(v => this.emulateMessage(from, to, v)); return; } this.onMessage(from, to, message); - if (from == this.nick) + if (from === this.nick) return; this.emit('message', from, to, message, this.msg); - if (to == this.channel) { + if (to === this.channel) { this.emit('message#', from, to, message, this.msg); this.emit('message' + to, from, message, this.msg); } - if (to == this.nick) { + if (to === this.nick) { this.emit('pm', from, message, this.msg); } } @@ -83,7 +79,7 @@ class DummyIrcClient extends events_1.EventEmitter { this.emulateMessage(from, to, message); resolve(); }; - if (this.latency != 0) { + if (this.latency !== 0) { setTimeout(body, this.latency); } else { @@ -92,128 +88,128 @@ class DummyIrcClient extends events_1.EventEmitter { }); } emulateBanchoResponse(message) { - this.emulateMessage("BanchoBot", this.channel, message); + this.emulateMessage('BanchoBot', this.channel, message); } emulateChatAsync(from, message) { return this.emulateMessageAsync(from, this.channel, message); } // ロビーにプレイヤーが参加した際の動作をエミュレートする async emulateAddPlayerAsync(name) { - let ename = (0, Player_1.escapeUserName)(name); + const ename = (0, Player_1.escapeUserName)(name); if (!this.players.has(ename)) { this.players.add(ename); } - await this.emulateMessageAsync("BanchoBot", this.channel, `${name} joined in slot ${this.players.size}.`); + await this.emulateMessageAsync('BanchoBot', this.channel, `${name} joined in slot ${this.players.size}.`); } // ロビーからプレイヤーが退出した際の動作をエミュレートする async emulateRemovePlayerAsync(name) { - let ename = (0, Player_1.escapeUserName)(name); + const ename = (0, Player_1.escapeUserName)(name); if (this.players.has(ename)) { this.players.delete(ename); } - await this.emulateMessageAsync("BanchoBot", this.channel, `${name} left the game.`); + await this.emulateMessageAsync('BanchoBot', this.channel, `${name} left the game.`); } // async呼び出し用のディレイ関数 delay(ms) { - if (ms == 0) + if (ms === 0) return Promise.resolve(); return new Promise(resolve => setTimeout(resolve, ms)); } // ホストがマップを変更する動作をエミュレートする async emulateChangeMapAsync(delay = 0, mapid = 0) { - if (mapid == 0) { + if (mapid === 0) { mapid = this.mapidSeed++; } - await this.emulateMessageAsync("BanchoBot", this.channel, "Host is changing map..."); + await this.emulateMessageAsync('BanchoBot', this.channel, 'Host is changing map...'); await this.delay(delay); - await this.emulateMessageAsync("BanchoBot", this.channel, `Beatmap changed to: mapname [version] (https://osu.ppy.sh/b/${mapid})`); + await this.emulateMessageAsync('BanchoBot', this.channel, `Beatmap changed to: mapname [version] (https://osu.ppy.sh/b/${mapid})`); } // 全員が準備完了になった動作をエミュレートする async emulateReadyAsync() { - await this.emulateMessageAsync("BanchoBot", this.channel, "All players are ready"); + await this.emulateMessageAsync('BanchoBot', this.channel, 'All players are ready'); } // 試合をエミュレートする async emulateMatchAsync(delay = 0, scores) { this.isMatching = true; - await this.emulateMessageAsync("BanchoBot", this.channel, "The match has started!"); + await this.emulateMessageAsync('BanchoBot', this.channel, 'The match has started!'); if (delay) { await this.delay(delay); } const tasks = []; if (scores) { - for (let u of scores) { + for (const u of scores) { if (!this.isMatching) return; - tasks.push(this.emulateMessageAsync("BanchoBot", this.channel, `${u.name} finished playing (Score: ${u.score}, ${u.passed ? "PASSED" : "FAILED"}).`)); + tasks.push(this.emulateMessageAsync('BanchoBot', this.channel, `${u.name} finished playing (Score: ${u.score}, ${u.passed ? 'PASSED' : 'FAILED'}).`)); } } else { - for (let u of this.players) { + for (const u of this.players) { if (!this.isMatching) return; - tasks.push(this.emulateMessageAsync("BanchoBot", this.channel, `${u} finished playing (Score: 100000, PASSED).`)); + tasks.push(this.emulateMessageAsync('BanchoBot', this.channel, `${u} finished playing (Score: 100000, PASSED).`)); } } await Promise.all(tasks); if (!this.isMatching) return; this.isMatching = false; - await this.emulateMessageAsync("BanchoBot", this.channel, "The match has finished!"); + await this.emulateMessageAsync('BanchoBot', this.channel, 'The match has finished!'); } // 試合中断をエミュレートする async emulateMatchAndAbortAsync(delay = 0, finishers = 0) { this.isMatching = true; - await this.emulateMessageAsync("BanchoBot", this.channel, "The match has started!"); + await this.emulateMessageAsync('BanchoBot', this.channel, 'The match has started!'); if (delay) { await this.delay(delay); } const tasks = []; if (Array.isArray(finishers)) { - for (let p of finishers) { + for (const p of finishers) { tasks.push(this.emulatePlayerFinishAsync(p)); } } else { const players = Array.from(this.players); for (let i = 0; i < finishers && i < players.length; i++) { - let p = players[i]; + const p = players[i]; tasks.push(this.emulatePlayerFinishAsync(p)); } } await Promise.all(tasks); if (!this.isMatching) { - await this.emulateMessageAsync("BanchoBot", this.channel, "The match is not in progress"); + await this.emulateMessageAsync('BanchoBot', this.channel, 'The match is not in progress'); return; } this.isMatching = false; - await this.emulateMessageAsync("BanchoBot", this.channel, "Aborted the match"); + await this.emulateMessageAsync('BanchoBot', this.channel, 'Aborted the match'); } async emulatePlayerFinishAsync(username) { - await this.emulateMessageAsync("BanchoBot", this.channel, `${username} finished playing (Score: 100000, PASSED).`); + await this.emulateMessageAsync('BanchoBot', this.channel, `${username} finished playing (Score: 100000, PASSED).`); } async emulateMpSettings(testcase) { this.players.clear(); - for (let p of testcase.result.players) { + for (const p of testcase.result.players) { this.players.add((0, Player_1.escapeUserName)(p.name)); } - for (let t of testcase.texts) { + for (const t of testcase.texts) { this.emulateBanchoResponse(t); } } async emulateChangeHost(name) { - await this.emulateMessageAsync("BanchoBot", this.channel, `${name} became the host.`); + await this.emulateMessageAsync('BanchoBot', this.channel, `${name} became the host.`); } // IRCClientのjoin join(channel, callback) { if (callback) { - this.once("join", callback); + this.once('join', callback); } - setImmediate(() => this.raiseJoin(channel, "")); + setImmediate(() => this.raiseJoin(channel, '')); } // IRCClientのpart part(channel, message, callback) { if (callback) { - this.once("part", callback); + this.once('part', callback); } setImmediate(() => { this.raisePart(channel, this.nick); @@ -225,114 +221,114 @@ class DummyIrcClient extends events_1.EventEmitter { } onMessage(from, to, message) { if (this.referees.includes(from)) { - let mp = CommandParser_1.parser.ParseMPCommand(message); - if (mp != null) { + const mp = CommandParser_1.parser.ParseMPCommand(message); + if (mp) { this.processMpCommand(to, message, mp); } } - if (message.startsWith("!stat")) { + if (message.startsWith('!stat')) { const m = message.match(/^!stats? (.+)/); if (m) { - this.sendStat(m[1], to == "BanchoBot"); + this.sendStat(m[1], to === 'BanchoBot'); } } } processMpCommand(target, message, mp) { - const m = (msg) => this.emulateMessageAsync("BanchoBot", this.channel, msg); - if (target == "BanchoBot" && mp.command == "make") { + const m = (msg) => this.emulateMessageAsync('BanchoBot', this.channel, msg); + if (target === 'BanchoBot' && mp.command === 'make') { const title = mp.arg; - if (title === "") { - this.emulateMessage("BanchoBot", this.nick, "No name provided"); + if (title === '') { + this.emulateMessage('BanchoBot', this.nick, 'No name provided'); return; } setImmediate(() => { - let id = "12345"; - this.raiseJoin("#mp_" + id, this.nick); - this.emulateMessage("BanchoBot", this.nick, `Created the tournament match https://osu.ppy.sh/mp/${id} ${title}`); + const id = '12345'; + this.raiseJoin('#mp_' + id, this.nick); + this.emulateMessage('BanchoBot', this.nick, `Created the tournament match https://osu.ppy.sh/mp/${id} ${title}`); }); } - else if (target == this.channel) { + else if (target === this.channel) { switch (mp.command) { - case "host": + case 'host': if (this.players.has((0, Player_1.escapeUserName)(mp.arg))) { m(`${mp.arg} became the host.`); } else { - m("User not found"); + m('User not found'); } break; - case "password": - if (mp.arg == "") { - m("Removed the match password"); + case 'password': + if (mp.arg === '') { + m('Removed the match password'); } else { - m("Changed the match password"); + m('Changed the match password'); } break; - case "invite": + case 'invite': m(`Invited ${mp.arg} to the room`); break; - case "close": + case 'close': setImmediate(() => { - this.emulateMessage("BanchoBot", this.channel, "Closed the match"); + this.emulateMessage('BanchoBot', this.channel, 'Closed the match'); this.raisePart(this.channel, this.nick); }); break; - case "abort": + case 'abort': if (this.isMatching) { this.isMatching = false; - m("Aborted the match"); + m('Aborted the match'); } else { - m("The match is not in progress"); + m('The match is not in progress'); } break; - case "settings": + case 'settings': m('Room name: lobby name, History: https://osu.ppy.sh/mp/123'); - m("Beatmap: https://osu.ppy.sh/b/1562893 Feryquitous feat. Aitsuki Nakuru - Kairikou [Miura's Extra]"); - m("Team mode: HeadToHead, Win condition: Score"); - m("Active mods: Freemod"); + m('Beatmap: https://osu.ppy.sh/b/1562893 Feryquitous feat. Aitsuki Nakuru - Kairikou [Miura\'s Extra]'); + m('Team mode: HeadToHead, Win condition: Score'); + m('Active mods: Freemod'); m(`Players: ${this.players.size}`); let i = 1; - for (let p of this.players) { + for (const p of this.players) { m(`Slot ${i} Not Ready https://osu.ppy.sh/u/123 ${p} `); i++; } break; - case "start": - if (mp.arg == "") { - m("The match has started!"); - m("Started the match"); + case 'start': + if (mp.arg === '') { + m('The match has started!'); + m('Started the match'); } else { // カウントダウンや分表示は面倒なので省略 - m("Match starts in " + mp.arg + " seconds"); - m("Queued the match to start in " + mp.arg + " seconds"); + m('Match starts in ' + mp.arg + ' seconds'); + m('Queued the match to start in ' + mp.arg + ' seconds'); } break; - case "aborttimer": - m("Countdown aborted"); + case 'aborttimer': + m('Countdown aborted'); break; - case "map": + case 'map': if (mp.arg.match(/\d+/)) { m(`Changed beatmap to https://osu.ppy.sh/b/${mp.arg} map name`); } else { - m("Invalid map ID provided"); + m('Invalid map ID provided'); } break; - case "clearhost": - m("Cleared match host"); + case 'clearhost': + m('Cleared match host'); break; - case "kick": - let ename = (0, Player_1.escapeUserName)(mp.arg); + case 'kick': + const ename = (0, Player_1.escapeUserName)(mp.arg); if (this.players.has(ename)) { this.players.delete(ename); m(`${ename} left the game.`); m(`Kicked ${ename} from the match.`); } else { - m("User not found"); + m('User not found'); } break; default: @@ -348,13 +344,13 @@ class DummyIrcClient extends events_1.EventEmitter { const ename = (0, Player_1.escapeUserName)(arg); let stat = this.stats.get(ename); const to = toPm ? this.nick : this.channel; - if (stat == undefined) { - let status = this.players.has(ename) ? StatParser_1.StatStatuses.Multiplayer : StatParser_1.StatStatuses.None; + if (stat === undefined) { + const status = this.players.has(ename) ? StatParser_1.StatStatuses.Multiplayer : StatParser_1.StatStatuses.None; stat = new StatParser_1.StatResult(arg, 0, status); this.stats.set(ename, stat); } - stat.toString().split("\n").forEach(t => { - this.emulateMessage("BanchoBot", to, t); + stat.toString().split('\n').forEach(t => { + this.emulateMessage('BanchoBot', to, t); }); } connect(retryCount, callback) { diff --git a/dist/dummies/DummyIrcClient.js.map b/dist/dummies/DummyIrcClient.js.map index 0dffdaa7..6d762003 100644 --- a/dist/dummies/DummyIrcClient.js.map +++ b/dist/dummies/DummyIrcClient.js.map @@ -1 +1 @@ -{"version":3,"file":"DummyIrcClient.js","sourceRoot":"","sources":["../../src/dummies/DummyIrcClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DummyIrcClient.js","sourceRoot":"","sources":["../../src/dummies/DummyIrcClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/dummies/DummyLobbyPlugin.js b/dist/dummies/DummyLobbyPlugin.js index 7826bdfa..b88d2f29 100644 --- a/dist/dummies/DummyLobbyPlugin.js +++ b/dist/dummies/DummyLobbyPlugin.js @@ -4,7 +4,7 @@ exports.DummyLobbyPlugin = void 0; const LobbyPlugin_1 = require("../plugins/LobbyPlugin"); class DummyLobbyPlugin extends LobbyPlugin_1.LobbyPlugin { constructor(lobby) { - super(lobby, "dummy"); + super(lobby, 'dummy'); } GetPluginStatus() { return `-- Dummy Lobby Plugin -- diff --git a/dist/dummies/FakeBeatmapFetcher.js b/dist/dummies/FakeBeatmapFetcher.js index a4effdd6..14e8b8ec 100644 --- a/dist/dummies/FakeBeatmapFetcher.js +++ b/dist/dummies/FakeBeatmapFetcher.js @@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.FakeBeatmapFetcher = void 0; const Modes_1 = require("../Modes"); const BeatmapRepository_1 = require("../webapi/BeatmapRepository"); -const MODES = ["osu", "taiko", "fruits", "mania"]; +const MODES = ['osu', 'taiko', 'fruits', 'mania']; class FakeBeatmapFetcher { constructor() { this.beatmapTemplate = { beatmapset_id: 100, difficulty_rating: 5.00, id: 100, - mode: "osu", - status: "ranked", + mode: 'osu', + status: 'ranked', total_length: 300, - version: "Insane", + version: 'Insane', accuracy: 5, ar: 9, bpm: 175, @@ -26,12 +26,12 @@ class FakeBeatmapFetcher { drain: 5, hit_length: 216, is_scoreable: true, - last_updated: "2021-06-30T00:00:00+00:00", + last_updated: '2021-06-30T00:00:00+00:00', mode_int: 0, passcount: 100, playcount: 100, ranked: 1, - url: "https:\/\/osu.ppy.sh\/beatmaps\/100", + url: 'https://osu.ppy.sh/beatmaps/100', failtimes: { fail: [0, 0], exit: [0, 0] @@ -39,71 +39,71 @@ class FakeBeatmapFetcher { max_combo: 1100, }; this.beatmapsetTemplate = { - "artist": "art", - "artist_unicode": "art", - "covers": { - "cover": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/cover.jpg?1000", - "cover@2x": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/cover@2x.jpg?1000", - "card": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/card.jpg?1000", - "card@2x": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/card@2x.jpg?1000", - "list": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/list.jpg?1000", - "list@2x": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/list@2x.jpg?1000", - "slimcover": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/slimcover.jpg?1000", - "slimcover@2x": "https:\/\/assets.ppy.sh\/beatmaps\/1000\/covers\/slimcover@2x.jpg?1000" + 'artist': 'art', + 'artist_unicode': 'art', + 'covers': { + 'cover': 'https://assets.ppy.sh/beatmaps/1000/covers/cover.jpg?1000', + 'cover@2x': 'https://assets.ppy.sh/beatmaps/1000/covers/cover@2x.jpg?1000', + 'card': 'https://assets.ppy.sh/beatmaps/1000/covers/card.jpg?1000', + 'card@2x': 'https://assets.ppy.sh/beatmaps/1000/covers/card@2x.jpg?1000', + 'list': 'https://assets.ppy.sh/beatmaps/1000/covers/list.jpg?1000', + 'list@2x': 'https://assets.ppy.sh/beatmaps/1000/covers/list@2x.jpg?1000', + 'slimcover': 'https://assets.ppy.sh/beatmaps/1000/covers/slimcover.jpg?1000', + 'slimcover@2x': 'https://assets.ppy.sh/beatmaps/1000/covers/slimcover@2x.jpg?1000' }, - "creator": "theramdans", - "favourite_count": 100, - "hype": null, - "id": 100, - "nsfw": false, - "play_count": 100, - "preview_url": "\/\/b.ppy.sh\/preview\/100.mp3", - "source": "", - "status": "ranked", - "title": "title", - "title_unicode": "title", - "track_id": 100, - "user_id": 100, - "video": false, - "availability": { - "download_disabled": false, - "more_information": null + 'creator': 'theramdans', + 'favourite_count': 100, + 'hype': null, + 'id': 100, + 'nsfw': false, + 'play_count': 100, + 'preview_url': '//b.ppy.sh/preview/100.mp3', + 'source': '', + 'status': 'ranked', + 'title': 'title', + 'title_unicode': 'title', + 'track_id': 100, + 'user_id': 100, + 'video': false, + 'availability': { + 'download_disabled': false, + 'more_information': null }, - "bpm": 175, - "can_be_hyped": false, - "discussion_enabled": true, - "discussion_locked": false, - "is_scoreable": true, - "last_updated": "2021-06-30T17:39:11+00:00", - "legacy_thread_url": "https:\/\/osu.ppy.sh\/community\/forums\/topics\/100", - "nominations_summary": { - "current": 2, - "required": 2 + 'bpm': 175, + 'can_be_hyped': false, + 'discussion_enabled': true, + 'discussion_locked': false, + 'is_scoreable': true, + 'last_updated': '2021-06-30T17:39:11+00:00', + 'legacy_thread_url': 'https://osu.ppy.sh/community/forums/topics/100', + 'nominations_summary': { + 'current': 2, + 'required': 2 }, - "ranked": 1, - "ranked_date": "2021-07-08T19:43:54+00:00", - "storyboard": true, - "submitted_date": "2020-12-14T10:48:15+00:00", - "tags": "", - "has_favourited": false, - "beatmaps": [], - "converts": [], - "description": { - "description": "" + 'ranked': 1, + 'ranked_date': '2021-07-08T19:43:54+00:00', + 'storyboard': true, + 'submitted_date': '2020-12-14T10:48:15+00:00', + 'tags': '', + 'has_favourited': false, + 'beatmaps': [], + 'converts': [], + 'description': { + 'description': '' }, - "genre": { - "id": 5, - "name": "Pop" + 'genre': { + 'id': 5, + 'name': 'Pop' }, - "language": { - "id": 3, - "name": "Japanese" + 'language': { + 'id': 3, + 'name': 'Japanese' }, - "ratings": [], - "recent_favourites": [] + 'ratings': [], + 'recent_favourites': [] }; this.id = 100; - this.beatmapset = this.setBeatmapProperties(this.id, "test", Modes_1.PlayMode.Osu, 100, 4); + this.beatmapset = this.setBeatmapProperties(this.id, 'test', Modes_1.PlayMode.Osu, 100, 4); } setBeatmapProperties(id, title, mode, total_length, difficulty_rating) { const set = { ...this.beatmapsetTemplate }; @@ -112,7 +112,7 @@ class FakeBeatmapFetcher { const map = { ...this.beatmapTemplate, id: id, - url: "https:\/\/osu.ppy.sh\/beatmaps\/" + id, + url: 'https://osu.ppy.sh/beatmaps/' + id, mode: MODES[mode.id], mode_int: mode.id, convert: false, @@ -121,7 +121,7 @@ class FakeBeatmapFetcher { }; set.beatmaps = [map]; set.converts = []; - if (mode == Modes_1.PlayMode.Osu) { + if (mode === Modes_1.PlayMode.Osu) { set.converts.push({ ...map, mode: MODES[1], mode_int: 1, convert: true }); set.converts.push({ ...map, mode: MODES[2], mode_int: 2, convert: true }); set.converts.push({ ...map, mode: MODES[3], mode_int: 3, convert: true }); @@ -131,7 +131,7 @@ class FakeBeatmapFetcher { return set; } async getBeatmapset(id) { - if (this.id != id) { + if (this.id !== id) { throw new BeatmapRepository_1.FetchBeatmapError(BeatmapRepository_1.FetchBeatmapErrorReason.NotFound); } if (id < 0) { diff --git a/dist/dummies/FakeBeatmapFetcher.js.map b/dist/dummies/FakeBeatmapFetcher.js.map index 8e774814..2486a525 100644 --- a/dist/dummies/FakeBeatmapFetcher.js.map +++ b/dist/dummies/FakeBeatmapFetcher.js.map @@ -1 +1 @@ -{"version":3,"file":"FakeBeatmapFetcher.js","sourceRoot":"","sources":["../../src/dummies/FakeBeatmapFetcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"FakeBeatmapFetcher.js","sourceRoot":"","sources":["../../src/dummies/FakeBeatmapFetcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/libs/ChatLimiter.js b/dist/libs/ChatLimiter.js index 0a0ce5ef..092fcae4 100644 --- a/dist/libs/ChatLimiter.js +++ b/dist/libs/ChatLimiter.js @@ -11,7 +11,7 @@ function applySpeedLimit(ircClient, tokens = 10, periodMs = 5000) { message.split(/\r?\n/).filter(l => l.length > 0).forEach(l => queueMessage(target, l)); }; const queueMessage = (target, message) => { - if (timeId != undefined) { + if (timeId) { queue.push({ target, message }); return; } @@ -24,7 +24,7 @@ function applySpeedLimit(ircClient, tokens = 10, periodMs = 5000) { lastChatAt = Date.now(); }; const waitAndSay = () => { - if (queue.length == 0) + if (queue.length === 0) return; let wt = lastChatAt + waitTime - Date.now(); if (wt < 0) diff --git a/dist/libs/ChatLimiter.js.map b/dist/libs/ChatLimiter.js.map index 0f156055..fc2d7913 100644 --- a/dist/libs/ChatLimiter.js.map +++ b/dist/libs/ChatLimiter.js.map @@ -1 +1 @@ -{"version":3,"file":"ChatLimiter.js","sourceRoot":"","sources":["../../src/libs/ChatLimiter.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,SAAqB,EAAE,SAAiB,EAAE,EAAE,WAAmB,IAAI;IAC/F,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,IAAI,UAAU,GAAW,CAAC,CAAC;IAC3B,IAAI,MAAkC,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;QACrD,IAAI,MAAM,IAAI,SAAS,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,OAAO;SACV;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,QAAQ,EAAE;YACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,UAAU,EAAE,CAAC;YACb,OAAO;SACV;QAED,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAC9B,IAAI,EAAE,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,EAAE,GAAG,CAAC;YAAE,EAAE,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YACrB,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,EAAE;gBACN,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,UAAU,EAAE,CAAC;aAChB;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC;IAE3B,OAAO;QACH,OAAO,EAAE,GAAG,EAAE;YACV,IAAI,MAAM,EAAE;gBACR,YAAY,CAAC,MAAM,CAAC,CAAC;aACxB;YACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;KACJ,CAAC;AACN,CAAC;AApDD,0CAoDC"} \ No newline at end of file +{"version":3,"file":"ChatLimiter.js","sourceRoot":"","sources":["../../src/libs/ChatLimiter.ts"],"names":[],"mappings":";;;AAEA,SAAgB,eAAe,CAAC,SAAqB,EAAE,SAAiB,EAAE,EAAE,WAAmB,IAAI;IACjG,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,IAAI,UAAU,GAAW,CAAC,CAAC;IAC3B,IAAI,MAAkC,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;QACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;QACvD,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,QAAQ,EAAE;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAChC,UAAU,EAAE,CAAC;YACb,OAAO;SACR;QAED,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,EAAE,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,EAAE,GAAG,CAAC;YAAE,EAAE,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YACvB,MAAM,GAAG,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,EAAE;gBACR,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACxB,UAAU,EAAE,CAAC;aACd;QACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC;IAE3B,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,MAAM,EAAE;gBACV,YAAY,CAAC,MAAM,CAAC,CAAC;aACtB;YACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AApDD,0CAoDC"} \ No newline at end of file diff --git a/dist/libs/DeferredAction.js b/dist/libs/DeferredAction.js index 933e15b7..dd793110 100644 --- a/dist/libs/DeferredAction.js +++ b/dist/libs/DeferredAction.js @@ -16,12 +16,12 @@ class DeferredAction { * @param resetTimer 現在の遅延時間をリセットするか */ start(delay, param = undefined, resetTimer = false) { - if (this.timeId != null && resetTimer) { + if (this.timeId !== null && resetTimer) { clearTimeout(this.timeId); this.timeId = null; } this.param = param; - if (this.timeId == null) { + if (this.timeId === null) { this.timeId = setTimeout(() => { this.timeId = null; this.action(this.param); @@ -32,7 +32,7 @@ class DeferredAction { } /** 遅延実行をキャンセルする。*/ cancel() { - if (this.timeId != null) { + if (this.timeId !== null) { clearTimeout(this.timeId); this.timeId = null; this.param = undefined; @@ -40,7 +40,7 @@ class DeferredAction { } /** 遅延実行が完了しているか */ get done() { - return this.timeId == null; + return this.timeId === null; } } exports.DeferredAction = DeferredAction; diff --git a/dist/libs/DeferredAction.js.map b/dist/libs/DeferredAction.js.map index efbd3787..b6423d40 100644 --- a/dist/libs/DeferredAction.js.map +++ b/dist/libs/DeferredAction.js.map @@ -1 +1 @@ -{"version":3,"file":"DeferredAction.js","sourceRoot":"","sources":["../../src/libs/DeferredAction.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,cAAc;IAMzB,YAAY,MAAsB;QAD1B,WAAM,GAA0B,IAAI,CAAC;QAE3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAa,EAAE,QAAuB,SAAS,EAAE,aAAsB,KAAK;QAChF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,UAAU,EAAE;YACrC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACzB,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SACxB;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IAC7B,CAAC;CACF;AA7CD,wCA6CC"} \ No newline at end of file +{"version":3,"file":"DeferredAction.js","sourceRoot":"","sources":["../../src/libs/DeferredAction.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,cAAc;IAMzB,YAAY,MAAsB;QAD1B,WAAM,GAA0B,IAAI,CAAC;QAE3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAa,EAAE,QAAuB,SAAS,EAAE,aAAsB,KAAK;QAChF,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,UAAU,EAAE;YACtC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACzB,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SACxB;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;CACF;AA7CD,wCA6CC"} \ No newline at end of file diff --git a/dist/libs/OptionValidator.js b/dist/libs/OptionValidator.js index 7d5dd17e..ae21485d 100644 --- a/dist/libs/OptionValidator.js +++ b/dist/libs/OptionValidator.js @@ -4,7 +4,7 @@ exports.validateOption = void 0; exports.validateOption = { number: function (name, value, min, max) { let v = value; - if (typeof v != "number") { + if (typeof v !== 'number') { v = parseFloat(v); } if (isNaN(v)) { @@ -20,12 +20,12 @@ exports.validateOption = { }, bool: function (name, value) { let v = value; - if (typeof v == "string") { + if (typeof v === 'string') { v = v.toLocaleLowerCase().trim(); - if (v == "false") { + if (v === 'false') { v = false; } - else if (v == "true") { + else if (v === 'true') { v = true; } else { diff --git a/dist/libs/OptionValidator.js.map b/dist/libs/OptionValidator.js.map index cfdecdd1..cbf95b59 100644 --- a/dist/libs/OptionValidator.js.map +++ b/dist/libs/OptionValidator.js.map @@ -1 +1 @@ -{"version":3,"file":"OptionValidator.js","sourceRoot":"","sources":["../../src/libs/OptionValidator.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC1B,MAAM,EAAE,UAAU,IAAY,EAAE,KAAU,EAAE,GAAY,EAAE,GAAY;QAClE,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YACtB,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SACrB;QACD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,KAAK,kBAAkB,CAAC,CAAC;SAC/E;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,GAAG,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,qBAAqB,GAAG,EAAE,CAAC,CAAC;SAC9E;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,oBAAoB,GAAG,EAAE,CAAC,CAAC;SAC7E;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,EAAE,UAAU,IAAY,EAAE,KAAU;QACpC,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YACtB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,OAAO,EAAE;gBACd,CAAC,GAAG,KAAK,CAAC;aACb;iBAAM,IAAI,CAAC,IAAI,MAAM,EAAE;gBACpB,CAAC,GAAG,IAAI,CAAC;aACZ;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,KAAK,oBAAoB,CAAC,CAAC;aAC1D;SACJ;QAED,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;CACJ,CAAA"} \ No newline at end of file +{"version":3,"file":"OptionValidator.js","sourceRoot":"","sources":["../../src/libs/OptionValidator.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,UAAU,IAAY,EAAE,KAAU,EAAE,GAAY,EAAE,GAAY;QACpE,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACzB,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,KAAK,kBAAkB,CAAC,CAAC;SAC7E;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,GAAG,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,qBAAqB,GAAG,EAAE,CAAC,CAAC;SAC5E;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,oBAAoB,GAAG,EAAE,CAAC,CAAC;SAC3E;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,EAAE,UAAU,IAAY,EAAE,KAAU;QACtC,IAAI,CAAC,GAAG,KAAK,CAAC;QACd,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YACzB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,OAAO,EAAE;gBACjB,CAAC,GAAG,KAAK,CAAC;aACX;iBAAM,IAAI,CAAC,KAAK,MAAM,EAAE;gBACvB,CAAC,GAAG,IAAI,CAAC;aACV;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,KAAK,oBAAoB,CAAC,CAAC;aACxD;SACF;QAED,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/dist/libs/TypedEvent.js b/dist/libs/TypedEvent.js index af688fee..0d567733 100644 --- a/dist/libs/TypedEvent.js +++ b/dist/libs/TypedEvent.js @@ -25,7 +25,7 @@ class TypedEvent { }); } off(listener) { - var callbackIndex = this.listeners.indexOf(listener); + const callbackIndex = this.listeners.indexOf(listener); if (callbackIndex > -1) this.listeners.splice(callbackIndex, 1); } diff --git a/dist/libs/TypedEvent.js.map b/dist/libs/TypedEvent.js.map index f5b33361..c390efe3 100644 --- a/dist/libs/TypedEvent.js.map +++ b/dist/libs/TypedEvent.js.map @@ -1 +1 @@ -{"version":3,"file":"TypedEvent.js","sourceRoot":"","sources":["../../src/libs/TypedEvent.ts"],"names":[],"mappings":";AAAA,0EAA0E;;;AAU1E,oGAAoG;AACpG,MAAa,UAAU;IAAvB;QACU,cAAS,GAAkB,EAAE,CAAC;QAC9B,mBAAc,GAAkB,EAAE,CAAC;IAwC7C,CAAC;IAtCC,EAAE,CAAC,QAAqB;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAqB;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,QAAqB;QACvB,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,aAAa,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,KAAQ;QACX,mCAAmC;QACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,6BAA6B;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,IAAI,CAAC,EAAiB;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;AA1CD,gCA0CC"} \ No newline at end of file +{"version":3,"file":"TypedEvent.js","sourceRoot":"","sources":["../../src/libs/TypedEvent.ts"],"names":[],"mappings":";AAAA,0EAA0E;;;AAU1E,oGAAoG;AACpG,MAAa,UAAU;IAAvB;QACU,cAAS,GAAkB,EAAE,CAAC;QAC9B,mBAAc,GAAkB,EAAE,CAAC;IAwC7C,CAAC;IAtCC,EAAE,CAAC,QAAqB;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAqB;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,QAAqB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,aAAa,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,KAAQ;QACX,mCAAmC;QACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtD,6BAA6B;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,IAAI,CAAC,EAAiB;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;AA1CD,gCA0CC"} \ No newline at end of file diff --git a/dist/parsers/CommandParser.js b/dist/parsers/CommandParser.js index e5b46dbc..617e9b47 100644 --- a/dist/parsers/CommandParser.js +++ b/dist/parsers/CommandParser.js @@ -5,13 +5,13 @@ const Player_1 = require("../Player"); var parser; (function (parser) { function ParseBanchoResponse(message) { - // 1文字目を整数比較してifの評価回数を減らす + // 1文字目を整数比較してifの評価回数を減らす switch (message.charCodeAt(0)) { case 65: // A - if (message == "Aborted the match") { + if (message === 'Aborted the match') { return makeBanchoResponse(BanchoResponseType.AbortedMatch); } - if (message == "All players are ready") { + if (message === 'All players are ready') { return makeBanchoResponse(BanchoResponseType.AllPlayerReady); } const m_add_ref = message.match(/Added (.+) to the match referees/); @@ -20,22 +20,22 @@ var parser; } break; case 66: // B - const m_map = message.match(/Beatmap changed to\: (.+) \(https:\/\/osu.ppy.sh\/b\/(\d+)\)$/); + const m_map = message.match(/Beatmap changed to: (.+) \(https:\/\/osu.ppy.sh\/b\/(\d+)\)$/); if (m_map) { - return makeBanchoResponse(BanchoResponseType.BeatmapChanged, m_map[2], m_map[1]); + return makeBanchoResponse(BanchoResponseType.BeatmapChanged, parseInt(m_map[2]), m_map[1]); } break; case 67: // C - if (message == "Changed the match password") { + if (message === 'Changed the match password') { return makeBanchoResponse(BanchoResponseType.PasswordChanged); } - if (message == "Cleared match host") { + if (message === 'Cleared match host') { return makeBanchoResponse(BanchoResponseType.ClearedHost); } - if (message == "Closed the match") { + if (message === 'Closed the match') { return makeBanchoResponse(BanchoResponseType.ClosedMatch); } - if (message == "Countdown aborted") { + if (message === 'Countdown aborted') { return makeBanchoResponse(BanchoResponseType.AbortedStartTimer); } const m_size = message.match(/Changed match to size (\d+)/); @@ -44,7 +44,7 @@ var parser; } const m_mpmap = message.match(/Changed beatmap to https:\/\/osu.ppy.sh\/b\/(\d+) (.+)/); if (m_mpmap) { - return makeBanchoResponse(BanchoResponseType.MpBeatmapChanged, m_mpmap[1], m_mpmap[2]); + return makeBanchoResponse(BanchoResponseType.MpBeatmapChanged, parseInt(m_mpmap[1]), m_mpmap[2]); } const m_mphost = message.match(/Changed match host to (.+)/); if (m_mphost) { @@ -56,23 +56,23 @@ var parser; } break; case 71: // G - if (message == "Good luck, have fun!") { + if (message === 'Good luck, have fun!') { return makeBanchoResponse(BanchoResponseType.FinishStartTimer); } break; case 72: // H - if (message == "Host is changing map...") { + if (message === 'Host is changing map...') { return makeBanchoResponse(BanchoResponseType.BeatmapChanging); } break; case 73: // I - if (message == "Invalid map ID provided") { + if (message === 'Invalid map ID provided') { return makeBanchoResponse(BanchoResponseType.MpInvalidMapId); } - if (message == "Invalid or no settings provided") { + if (message === 'Invalid or no settings provided') { return makeBanchoResponse(BanchoResponseType.MpInvalidSettings); } - if (message == "Invalid or no size provided") { + if (message === 'Invalid or no size provided') { return makeBanchoResponse(BanchoResponseType.MpInvalidSize); } const m_invite = message.match(/Invited (.*) to the room/); @@ -87,15 +87,15 @@ var parser; } break; case 76: // L - if (message == "Locked the match") { + if (message === 'Locked the match') { return makeBanchoResponse(BanchoResponseType.LockedMatch); } break; case 77: // M - if (message == "Match referees:") { + if (message === 'Match referees:') { return makeBanchoResponse(BanchoResponseType.ListRefs); } - if (message.startsWith("Match starts in ")) { + if (message.startsWith('Match starts in ')) { const m_sec = message.match(/(\d+) seconds?/); const m_min = message.match(/(\d+) minutes?/); let secs = 0; @@ -109,12 +109,12 @@ var parser; } break; case 78: // N - if (message == "No user specified") { + if (message === 'No user specified') { return makeBanchoResponse(BanchoResponseType.NoUserSpecified); } break; case 81: // Q - if (message.startsWith("Queued the match to start in ")) { + if (message.startsWith('Queued the match to start in ')) { const m_sec = message.match(/(\d+) seconds?/); const m_min = message.match(/(\d+) minutes?/); let secs = 0; @@ -128,7 +128,7 @@ var parser; } break; case 82: // R - if (message == "Removed the match password") { + if (message === 'Removed the match password') { return makeBanchoResponse(BanchoResponseType.PasswordRemoved); } const m_rm_ref = message.match(/Removed (.+) from the match referees/); @@ -137,36 +137,36 @@ var parser; } break; case 83: // S - if (message == "Started the match") { + if (message === 'Started the match') { return makeBanchoResponse(BanchoResponseType.MpMatchStarted); } break; case 84: //T - if (message == "The match has started!") { + if (message === 'The match has started!') { return makeBanchoResponse(BanchoResponseType.MatchStarted); } - if (message == "The match has already been started") { + if (message === 'The match has already been started') { return makeBanchoResponse(BanchoResponseType.MpMatchAlreadyStarted); } - if (message == "The match has finished!") { + if (message === 'The match has finished!') { return makeBanchoResponse(BanchoResponseType.MatchFinished); } - if (message == "The match is not in progress") { + if (message === 'The match is not in progress') { return makeBanchoResponse(BanchoResponseType.AbortMatchFailed); } break; case 85: // U - if (message == "User not found") { + if (message === 'User not found') { return makeBanchoResponse(BanchoResponseType.UserNotFound); } - if (message == "Unlocked the match") { + if (message === 'Unlocked the match') { return makeBanchoResponse(BanchoResponseType.UnlockedMatch); } break; } const m_joined = message.match(/^(.+) joined in slot (\d+)( for team (blue|red))?\./); if (m_joined) { - const team = m_joined[4] == undefined ? Player_1.Teams.None : m_joined[4] == "blue" ? Player_1.Teams.Blue : Player_1.Teams.Red; + const team = m_joined[4] === undefined ? Player_1.Teams.None : m_joined[4] === 'blue' ? Player_1.Teams.Blue : Player_1.Teams.Red; return makeBanchoResponse(BanchoResponseType.PlayerJoined, m_joined[1], parseInt(m_joined[2]), team); } const m_left = message.match(/^(.+) left the game\./); @@ -183,7 +183,7 @@ var parser; } const m_finish = message.match(/^(.+) finished playing \(Score: (\d+), (PASSED|FAILED)\)\./); if (m_finish) { - return makeBanchoResponse(BanchoResponseType.PlayerFinished, m_finish[1], parseInt(m_finish[2]), m_finish[3] == "PASSED"); + return makeBanchoResponse(BanchoResponseType.PlayerFinished, m_finish[1], parseInt(m_finish[2]), m_finish[3] === 'PASSED'); } const m_roll = message.match(/^(.+) rolls (\d+) point\(s\)/); if (m_roll) { @@ -191,7 +191,7 @@ var parser; } const m_team_change = message.match(/^(.+) changed to (Blue|Red)/); if (m_team_change) { - return makeBanchoResponse(BanchoResponseType.TeamChanged, m_team_change[1], (m_team_change[2] == "Blue" ? Player_1.Teams.Blue : Player_1.Teams.Red)); + return makeBanchoResponse(BanchoResponseType.TeamChanged, m_team_change[1], (m_team_change[2] === 'Blue' ? Player_1.Teams.Blue : Player_1.Teams.Red)); } const m_stat = message.match(/^(Stats for \(|Score:\s+\d|Plays:\s+\d|Accuracy:\s+\d)/); if (m_stat) { @@ -204,7 +204,7 @@ var parser; } parser.ParseBanchoResponse = ParseBanchoResponse; function ParseMpMakeResponse(nick, message) { - if (nick != "BanchoBot") + if (nick !== 'BanchoBot') return null; const reg = /Created the tournament match https:\/\/osu.ppy.sh\/mp\/(\d+) (.+)/; const res = message.match(reg); @@ -223,9 +223,9 @@ var parser; } parser.ParseMPCommand = ParseMPCommand; function SplitCliCommand(line) { - const l = line.match(/^\s*([\!\*]?\w+)\s+(.*)/); - if (l == null) { - return { command: line, arg: "" }; + const l = line.match(/^\s*([!*]?\w+)\s+(.*)/); + if (l === null) { + return { command: line, arg: '' }; } else { return { @@ -236,17 +236,17 @@ var parser; } parser.SplitCliCommand = SplitCliCommand; function EnsureMpChannelId(id) { - if (id == null || id == "") - return ""; + if (!id || id === '') + return ''; if (id.match(/^#mp_\d+$/)) return id; if (id.match(/^\d+$/)) - return "#mp_" + id; - let m = id.match(/^https:\/\/osu\.ppy\.sh\/mp\/(\d+)$/); + return '#mp_' + id; + const m = id.match(/^https:\/\/osu\.ppy\.sh\/mp\/(\d+)$/); if (m) - return "#mp_" + m[1]; + return '#mp_' + m[1]; else - return ""; + return ''; } parser.EnsureMpChannelId = EnsureMpChannelId; /** @@ -257,20 +257,20 @@ var parser; */ function IsChatCommand(message) { message = message.trimRight().toLowerCase(); - if (message[0] != "!" && message[0] != "*") + if (message[0] !== '!' && message[0] !== '*') return false; - if (message == "!mp") + if (message === '!mp') return false; - return message.match(/^[\!\*](?!roll|stats?|where|faq|report|request)\w+/) != null; + return message.match(/^[!*](?!roll|stats?|where|faq|report|request)\w+/) !== null; } parser.IsChatCommand = IsChatCommand; function ParseChatCommand(message) { message = message.trimRight(); - let m = message.match(/^\!mp\s+(\w+)\s*(.*?)$/); + let m = message.match(/^!mp\s+(\w+)\s*(.*?)$/); if (m) { - return { command: "!" + m[1].toLowerCase(), param: m[2] }; + return { command: '!' + m[1].toLowerCase(), param: m[2] }; } - m = message.match(/^([\!\*]\w+)\s*(.*?)$/); + m = message.match(/^([!*]\w+)\s*(.*?)$/); if (m) { return { command: m[1].toLowerCase(), param: m[2] }; } diff --git a/dist/parsers/CommandParser.js.map b/dist/parsers/CommandParser.js.map index b3608374..98fddd9a 100644 --- a/dist/parsers/CommandParser.js.map +++ b/dist/parsers/CommandParser.js.map @@ -1 +1 @@ -{"version":3,"file":"CommandParser.js","sourceRoot":"","sources":["../../src/parsers/CommandParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"CommandParser.js","sourceRoot":"","sources":["../../src/parsers/CommandParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/parsers/MpSettingsParser.js b/dist/parsers/MpSettingsParser.js index 2c6f7a53..a6d34602 100644 --- a/dist/parsers/MpSettingsParser.js +++ b/dist/parsers/MpSettingsParser.js @@ -8,7 +8,7 @@ class MpSettingsParser { this.isParsing = false; } get isParsed() { - return !this.isParsing && this.result != null; + return !this.isParsing && this.result !== null; } feedLine(line) { let m = line.match(/Room name: (.+), History: (.+?(\d+))/); @@ -17,19 +17,19 @@ class MpSettingsParser { name: m[1], id: parseInt(m[3]), history: m[2], - beatmapUrl: "", + beatmapUrl: '', beatmapId: 0, - beatmapTitle: "", - teamMode: "", - winCondition: "", - activeMods: "", + beatmapTitle: '', + teamMode: '', + winCondition: '', + activeMods: '', numPlayers: 0, players: [], }; this.isParsing = true; return true; } - if (this.result == null) + if (this.result === null) return false; m = line.match(/Beatmap: (\S+?(\d+)) (.+)/); if (m) { @@ -52,25 +52,25 @@ class MpSettingsParser { m = line.match(/Players: (\d+)/); if (m) { this.result.numPlayers = parseInt(m[1]); - this.isParsing = this.result.numPlayers != 0; + this.isParsing = this.result.numPlayers !== 0; return true; } m = line.match(/^Slot (\d+)\s+(.+) https:\/\/osu\.ppy\.sh\/u\/(\d+) (.{15})\s*(\[(.+)\])?$/); if (m) { - let team = m[6] == undefined || !m[6].includes("Team") ? Player_1.Teams.None - : m[6].includes("Blue") ? Player_1.Teams.Blue : Player_1.Teams.Red; + const team = m[6] === undefined || !m[6].includes('Team') ? Player_1.Teams.None + : m[6].includes('Blue') ? Player_1.Teams.Blue : Player_1.Teams.Red; const p = { slot: parseInt(m[1]), ready: m[2].trim(), id: parseInt(m[3]), - profile: "https://osu.ppy.sh/u/" + m[3], + profile: 'https://osu.ppy.sh/u/' + m[3], name: m[4].trim(), - isHost: m[6] == undefined ? false : m[6].includes("Host"), + isHost: m[6] === undefined ? false : m[6].includes('Host'), team: team, - options: m[6] == undefined ? "" : m[6].trim() + options: m[6] === undefined ? '' : m[6].trim() }; this.result.players.push(p); - this.isParsing = this.result.players.length != this.result.numPlayers; + this.isParsing = this.result.players.length !== this.result.numPlayers; return true; } return false; diff --git a/dist/parsers/MpSettingsParser.js.map b/dist/parsers/MpSettingsParser.js.map index 6dbe4fac..d01e229e 100644 --- a/dist/parsers/MpSettingsParser.js.map +++ b/dist/parsers/MpSettingsParser.js.map @@ -1 +1 @@ -{"version":3,"file":"MpSettingsParser.js","sourceRoot":"","sources":["../../src/parsers/MpSettingsParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"MpSettingsParser.js","sourceRoot":"","sources":["../../src/parsers/MpSettingsParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/parsers/StatParser.js b/dist/parsers/StatParser.js index 784c5b09..e2885334 100644 --- a/dist/parsers/StatParser.js +++ b/dist/parsers/StatParser.js @@ -14,7 +14,7 @@ class StatResult { this.date = date; } toString() { - return `Stats for (${this.name})[https://osu.ppy.sh/u/${this.id}]${this.status == StatStatuses.None ? "" : " is " + StatStatuses[this.status]}: + return `Stats for (${this.name})[https://osu.ppy.sh/u/${this.id}]${this.status === StatStatuses.None ? '' : ' is ' + StatStatuses[this.status]}: Score: ${this.score} (#${this.rank}) Plays: ${this.plays} (lv${this.level}) Accuracy: ${this.accuracy}%`; @@ -42,7 +42,7 @@ class StatParser { this.isParsing = false; } get isParsed() { - return !this.isParsing && this.result != null; + return !this.isParsing && this.result !== null; } feedLine(message) { const line1 = message.match(/Stats for \((.+)\)\[https:\/\/osu\.ppy\.sh\/u\/(\d+)\]( is (.+))?:/); @@ -51,7 +51,7 @@ class StatParser { const statStr = line1[4]; for (let i = 0; i in StatStatuses; i++) { const st = i; - if (statStr == StatStatuses[st]) { + if (statStr === StatStatuses[st]) { this.result.status = st; break; } @@ -59,11 +59,11 @@ class StatParser { this.isParsing = true; return true; } - if (this.result == null) + if (this.result === null) return false; const line2 = message.match(/Score:\s+([\d,]+)\s+\(#(\d+)\)/); if (line2) { - this.result.score = parseInt(line2[1].replace(/,/g, "")); + this.result.score = parseInt(line2[1].replace(/,/g, '')); this.result.rank = parseInt(line2[2]); return true; } diff --git a/dist/parsers/StatParser.js.map b/dist/parsers/StatParser.js.map index f9ec1a42..55982c54 100644 --- a/dist/parsers/StatParser.js.map +++ b/dist/parsers/StatParser.js.map @@ -1 +1 @@ -{"version":3,"file":"StatParser.js","sourceRoot":"","sources":["../../src/parsers/StatParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"StatParser.js","sourceRoot":"","sources":["../../src/parsers/StatParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/AfkKicker.js b/dist/plugins/AfkKicker.js index 9934a1f9..fa0f7d49 100644 --- a/dist/plugins/AfkKicker.js +++ b/dist/plugins/AfkKicker.js @@ -28,31 +28,31 @@ const POINT_CHAT = -1; class PlayerState { constructor() { /** - * 最後の試合のスコア - * 試合開始時に全員0にセットされ、playerfinishedの値がセットされる。 - * 全員終了時に0のプレイヤーはafkCount + 1される - * マップ未所持のプレイヤーもカウントされる - */ + * 最後の試合のスコア + * 試合開始時に全員0にセットされ、playerfinishedの値がセットされる。 + * 全員終了時に0のプレイヤーはafkCount + 1される + * マップ未所持のプレイヤーもカウントされる + */ this.score = -1; /** - * 試合開始時にロビーにいたかどうか - * マップ不所持判定に使用する - */ + * 試合開始時にロビーにいたかどうか + * マップ不所持判定に使用する + */ this.isPlaying = false; /** - * 最後にAFK判定された時間 !statを連続使用された際に上昇数を制限するため - */ + * 最後にAFK判定された時間 !statを連続使用された際に上昇数を制限するため + */ this.timeLastChange = 0; /** - * AFK判定点 - */ + * AFK判定点 + */ this.afkPoint = 0; this.timeLastChange = Date.now(); } } class AfkKicker extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "AfkKicker", "afk"); + super(lobby, 'AfkKicker', 'afk'); this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.playerStats = new Map(); this.registerEvents(); @@ -79,14 +79,14 @@ class AfkKicker extends LobbyPlugin_1.LobbyPlugin { this.lobby.MatchFinished.on(() => { for (const [player, stat] of this.playerStats.entries()) { if (stat.isPlaying) { - if (stat.score == -1) { - this.changeAfkPoint(player, stat, POINT_NO_MAP, "NO_MAP"); + if (stat.score === -1) { + this.changeAfkPoint(player, stat, POINT_NO_MAP, 'NO_MAP'); } - else if (stat.score == 0) { - this.changeAfkPoint(player, stat, POINT_NO_SCORE, "NO_SCORE"); + else if (stat.score === 0) { + this.changeAfkPoint(player, stat, POINT_NO_SCORE, 'NO_SCORE'); } else { - this.changeAfkPoint(player, stat, POINT_HAS_SCORE, "HAS_SCORE"); + this.changeAfkPoint(player, stat, POINT_HAS_SCORE, 'HAS_SCORE'); } } stat.isPlaying = false; @@ -96,13 +96,13 @@ class AfkKicker extends LobbyPlugin_1.LobbyPlugin { this.lobby.PlayerChated.on(({ player }) => { const stat = this.playerStats.get(player); if (stat) { - this.changeAfkPoint(player, stat, POINT_CHAT, "CHATED"); + this.changeAfkPoint(player, stat, POINT_CHAT, 'CHATED'); } }); this.lobby.ParsedStat.on(({ player, result }) => { const stat = this.playerStats.get(player); - if (stat && result.status == StatParser_1.StatStatuses.Afk) { - this.changeAfkPoint(player, stat, POINT_STAT_AFK, "AFK_STAT"); + if (stat && result.status === StatParser_1.StatStatuses.Afk) { + this.changeAfkPoint(player, stat, POINT_STAT_AFK, 'AFK_STAT'); } }); this.lobby.ReceivedChatCommand.on(({ player, command, param }) => this.onReceivedChatCommand(player, command, param)); @@ -119,61 +119,61 @@ class AfkKicker extends LobbyPlugin_1.LobbyPlugin { } stat.timeLastChange = now; stat.afkPoint += delta; - if (0 < delta) { - this.logger.info(`Detected ${player.escaped_name} is afk. Reason: ${reason}(${(delta > 0 ? "+" : "") + delta}), ${stat.afkPoint} / ${this.option.threshold}`); + if (delta > 0) { + this.logger.info(`Detected ${player.escaped_name} is afk. Reason: ${reason}(${(delta > 0 ? '+' : '') + delta}), ${stat.afkPoint} / ${this.option.threshold}`); } if (stat.afkPoint < 0) { stat.afkPoint = 0; } else if (this.option.threshold <= stat.afkPoint) { - this.lobby.SendMessage("!mp kick " + player.escaped_name); - this.lobby.SendMessage("bot: kicked afk player."); - this.logger.info("kicked " + player.escaped_name); + this.lobby.SendMessage('!mp kick ' + player.escaped_name); + this.lobby.SendMessage('bot: kicked afk player.'); + this.logger.info('kicked ' + player.escaped_name); } } onReceivedChatCommand(player, command, param) { if (!player.isAuthorized) return; switch (command) { - case "*afkkick_enable": + case '*afkkick_enable': this.option.enabled = true; - this.logger.info("afkkick enabled"); + this.logger.info('afkkick enabled'); break; - case "*afkkick_disable": + case '*afkkick_disable': this.option.enabled = false; - this.logger.info("afkkick disabled"); + this.logger.info('afkkick disabled'); break; - case "*afkkick_threshold": + case '*afkkick_threshold': let th = parseInt(param); if (Number.isNaN(th)) { - this.logger.warn("invalid *afkkick_threshold param : %s", param); + this.logger.warn('invalid *afkkick_threshold param : %s', param); return; } th = Math.max(th, 1); this.option.threshold = th; - this.logger.info("afkkicker.threshold was set to %s", th); + this.logger.info('afkkicker.threshold was set to %s', th); break; - case "*afkkick_cooltime": + case '*afkkick_cooltime': let ct = parseInt(param); if (Number.isNaN(ct)) { - this.logger.warn("invalid *afkkick_cooltime param : %s", param); + this.logger.warn('invalid *afkkick_cooltime param : %s', param); return; } ct = Math.max(ct, 10000); this.option.cooltime_ms = ct; - this.logger.info("afkkicker.cool_time_ms was set to %s", ct); + this.logger.info('afkkicker.cool_time_ms was set to %s', ct); break; } } GetPluginStatus() { let points = [...this.playerStats.entries()] .filter(([player, stat]) => stat.afkPoint > 0) - .map(([player, stat]) => `${player.escaped_name}: ${stat.afkPoint}`).join(","); + .map(([player, stat]) => `${player.escaped_name}: ${stat.afkPoint}`).join(','); if (points) { - points = "\n points: " + points; + points = '\n points: ' + points; } return `-- AFK Kicker -- - status: ${this.option.enabled ? "enabled" : "disabled"}, threshold: ${this.option.threshold}, cooltime: ${this.option.cooltime_ms} (ms)${points}`; + status: ${this.option.enabled ? 'enabled' : 'disabled'}, threshold: ${this.option.threshold}, cooltime: ${this.option.cooltime_ms} (ms)${points}`; } } exports.AfkKicker = AfkKicker; diff --git a/dist/plugins/AfkKicker.js.map b/dist/plugins/AfkKicker.js.map index 3a41a954..ff3173f0 100644 --- a/dist/plugins/AfkKicker.js.map +++ b/dist/plugins/AfkKicker.js.map @@ -1 +1 @@ -{"version":3,"file":"AfkKicker.js","sourceRoot":"","sources":["../../src/plugins/AfkKicker.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AfkKicker.js","sourceRoot":"","sources":["../../src/plugins/AfkKicker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/AutoHostSelector.js b/dist/plugins/AutoHostSelector.js index 265713e2..f7e5c19a 100644 --- a/dist/plugins/AutoHostSelector.js +++ b/dist/plugins/AutoHostSelector.js @@ -19,7 +19,7 @@ class DenyList { this.players = new Set(); this.playerAdded = new TypedEvent_1.TypedEvent(); this.playerRemoved = new TypedEvent_1.TypedEvent(); - this.logger = log4js_1.default.getLogger("DenyList"); + this.logger = log4js_1.default.getLogger('DenyList'); } addPlayer(player) { if (this.players.has(player.escaped_name)) { @@ -51,7 +51,7 @@ class DenyList { exports.DENY_LIST = new DenyList(); class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "AutoHostSelector", "selector"); + super(lobby, 'AutoHostSelector', 'selector'); this.hostQueue = []; this.needsRotate = true; this.mapChanger = null; @@ -104,12 +104,12 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { if (isMpSettingResult) return; this.hostQueue.push(player); - this.logger.trace("added %s", player.name); - if (this.hostQueue.length == 1) { - this.logger.trace("appoint first player to host"); + this.logger.trace('added %s', player.name); + if (this.hostQueue.length === 1) { + this.logger.trace('appoint first player to host'); this.changeHost(); } - this.raiseOrderChanged("added"); + this.raiseOrderChanged('added'); } /** * キューから削除 @@ -124,10 +124,10 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { return; if (isMpSettingResult) return; - if (this.hostQueue.length == 0) + if (this.hostQueue.length === 0) return; - if (this.lobby.host == null && this.lobby.hostPending == null && !this.lobby.isClearedHost) { // ホストがいない、かつ承認待ちのホストがいない、!mp clearhostが実行されていない - this.logger.info("host has left"); + if (!this.lobby.host && !this.lobby.hostPending && !this.lobby.isClearedHost) { // ホストがいない、かつ承認待ちのホストがいない、!mp clearhostが実行されていない + this.logger.info('host has left'); this.changeHost(); } } @@ -141,29 +141,29 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { onHostChanged(newhost) { if (this.lobby.isMatching) return; // 試合中は何もしない - if (this.hostQueue[0] == newhost) { - this.logger.trace("a new host has been appointed:%s", newhost.name); + if (this.hostQueue[0] === newhost) { + this.logger.trace('a new host has been appointed:%s', newhost.name); } else { // ホストがキューの先頭以外に変更された場合 - if (this.lobby.hostPending == null) { - this.logger.trace("the host may have manually changed by the previous host"); + if (!this.lobby.hostPending) { + this.logger.trace('the host may have manually changed by the previous host'); this.rotateQueue(); } this.changeHost(); } - if (this.mapChanger != null && this.mapChanger != newhost) { // 前任のホストがマップを変更している + if (this.mapChanger && this.mapChanger !== newhost) { // 前任のホストがマップを変更している this.needsRotate = false; - this.logger.info("host is appointed after map change"); + this.logger.info('host is appointed after map change'); } } /** * マップ変更者の記録と!abort後にマップ変更しようとしたホストのスキップ */ onBeatmapChanging() { - if (this.hostQueue[0] != this.lobby.host) { + if (this.hostQueue[0] !== this.lobby.host) { // アボートで中断後にマップ変更しようとした場合は次のホストに変更 - this.logger.info("host changed map after abort the match"); + this.logger.info('host changed map after abort the match'); this.changeHost(); this.needsRotate = false; } @@ -177,11 +177,11 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { * 試合が始まったらキューを回す */ onMatchStarted() { - if (this.lobby.hostPending == null && this.needsRotate) { + if (!this.lobby.hostPending && this.needsRotate) { this.rotateQueue(); } else { - this.logger.info("rotation skipped."); + this.logger.info('rotation skipped.'); } } /** @@ -196,19 +196,19 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { } } onMatchAborted(playersFinished, playersInGame) { - if (playersFinished != 0) { // 誰か一人でも試合終了している場合は通常の終了処理 - this.logger.trace("The match was aborted after several players were Finished. call normal match finish process"); + if (playersFinished !== 0) { // 誰か一人でも試合終了している場合は通常の終了処理 + this.logger.trace('The match was aborted after several players were Finished. call normal match finish process'); this.onMatchFinished(); } else { - if (this.lobby.host != null) { + if (this.lobby.host) { // 誰も終了していない場合は試合再開許可モードへ this.needsRotate = false; - this.logger.trace("The match was aborted before any Player Finished."); + this.logger.trace('The match was aborted before any Player Finished.'); } else { // ホストがいない状態で試合が中断されたら - this.logger.trace("The match was aborted after the host left."); + this.logger.trace('The match was aborted after the host left.'); this.changeHost(); } } @@ -223,17 +223,17 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { * @param hostChanged */ onFixedSettings(result, playersIn, playersOut, hostChanged) { - if (this.lobby.host == null) { + if (!this.lobby.host) { this.hostQueue = []; } - if (this.hostQueue.length == 0 || this.lobby.host == null || !this.hostQueue.includes(this.lobby.host)) { + if (this.hostQueue.length === 0 || !this.lobby.host || !this.hostQueue.includes(this.lobby.host)) { // キューが空、ホストがいない、ホストが新しく入った人の場合はスロットベースで再構築する this.OrderBySlotBase(result); } else { this.ModifyOderByMpSettingsResult(result, playersIn, playersOut, hostChanged); } - if (this.lobby.host != null) { + if (this.lobby.host) { if (exports.DENY_LIST.includes(this.lobby.host)) { this.changeHost(); } @@ -244,39 +244,39 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { else { // hostがいない場合は先頭へ this.changeHost(); - this.raiseOrderChanged("orderd"); + this.raiseOrderChanged('orderd'); } // this.lobby.SendMessage("The host queue was rearranged. You can check the current order with !queue command."); } onChatCommand(player, command, param) { - if (command.startsWith("!q")) { + if (command.startsWith('!q')) { this.ShowHostQueue(); } else if (player.isAuthorized) { - if (command == "*reorder" || command == "*order") { - if (param != "") { + if (command === '*reorder' || command === '*order') { + if (param !== '') { this.Reorder(param); return; } } - if (command == "*denylist") { - let matAdd = param.match(/^add\s+(.+)/); + if (command === '*denylist') { + const matAdd = param.match(/^add\s+(.+)/); if (matAdd) { - let p = this.lobby.GetOrMakePlayer(matAdd[1]); + const p = this.lobby.GetOrMakePlayer(matAdd[1]); exports.DENY_LIST.addPlayer(p); // 後続処理はイベント経由でonDenylistAddedで実行 } - let matRemove = param.match(/^remove\s+(.+)/); + const matRemove = param.match(/^remove\s+(.+)/); if (matRemove) { - let p = this.lobby.GetOrMakePlayer(matRemove[1]); + const p = this.lobby.GetOrMakePlayer(matRemove[1]); exports.DENY_LIST.removePlayer(p); // 後続処理はイベント経由でonDenylistRemovedで実行 } } } } onDenylistAdded(name) { - let player = this.lobby.GetOrMakePlayer(name); + const player = this.lobby.GetOrMakePlayer(name); if (this.hostQueue.includes(player)) { - this.hostQueue = this.hostQueue.filter(p => p != player); + this.hostQueue = this.hostQueue.filter(p => p !== player); this.logger.info(`removed ${player.name} from hostqueue`); if (player.isHost) { this.changeHost(); @@ -284,7 +284,7 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { } } onDenylistRemoved(name) { - let player = this.lobby.GetOrMakePlayer(name); + const player = this.lobby.GetOrMakePlayer(name); if (this.lobby.players.has(player) && !this.hostQueue.includes(player)) { this.onPlayerJoined(player, player.slot, false); this.logger.info(`added ${player.name} to hostqueue`); @@ -292,24 +292,24 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { } // 別のプラグインからskipの要請があった場合に実行する onPluginMessage(type, args, src) { - if (type == "skip") { + if (type === 'skip') { this.Skip(); } - else if (type == "skipto") { - this.logger.trace("received plugin message skipto"); - if (args.length != 1) { - this.logger.error("skipto invalid arguments length"); + else if (type === 'skipto') { + this.logger.trace('received plugin message skipto'); + if (args.length !== 1) { + this.logger.error('skipto invalid arguments length'); return; } const to = this.lobby.GetOrMakePlayer(args[0]); if (!this.hostQueue.includes(to)) { - this.logger.error("skipto target dosent exist"); + this.logger.error('skipto target dosent exist'); return; } this.SkipTo(to); } - else if (type == "reorder") { - this.logger.trace("received plugin message reorder"); + else if (type === 'reorder') { + this.logger.trace('received plugin message reorder'); this.Reorder(args[0]); } } @@ -318,18 +318,18 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { * @param result */ OrderBySlotBase(result) { - this.logger.info("reordered slot base order."); + this.logger.info('reordered slot base order.'); this.hostQueue = result.players.map(r => this.lobby.GetOrMakePlayer(r.name)).filter(p => !exports.DENY_LIST.includes(p)); } ModifyOderByMpSettingsResult(result, playersIn, playersOut, hostChanged) { // 少人数が出入りしただけとみなし、現在のキューを維持する - let newQueue = this.hostQueue.concat(playersIn).filter(p => !playersOut.includes(p) && !exports.DENY_LIST.includes(p)); + const newQueue = this.hostQueue.concat(playersIn).filter(p => !playersOut.includes(p) && !exports.DENY_LIST.includes(p)); if (this.validateNewQueue(newQueue)) { - this.logger.info("modified host queue."); + this.logger.info('modified host queue.'); this.hostQueue = newQueue; } else { - this.logger.warn("failed to modified the host queue."); + this.logger.warn('failed to modified the host queue.'); this.OrderBySlotBase(result); } } @@ -339,19 +339,19 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { */ ShowHostQueue() { this.lobby.SendMessageWithCoolTime(() => { - let m = this.hostQueue.map(c => (0, Player_1.disguiseUserName)(c.name)).join(", "); + let m = this.hostQueue.map(c => (0, Player_1.disguiseUserName)(c.name)).join(', '); this.logger.trace(m); if (this.option.host_order_chars_limit < m.length) { - m = m.substring(0, this.option.host_order_chars_limit) + "..."; + m = m.substring(0, this.option.host_order_chars_limit) + '...'; } - return "host order : " + m; - }, "!queue", this.option.host_order_cooltime_ms); + return 'host order : ' + m; + }, '!queue', this.option.host_order_cooltime_ms); } /** * 強制ローテーション */ Skip() { - this.logger.trace("received plugin message skip"); + this.logger.trace('received plugin message skip'); this.rotateQueue(); this.changeHost(); } @@ -362,29 +362,29 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { */ SkipTo(to) { let trg; - if (typeof to == "string") { + if (typeof to === 'string') { trg = this.lobby.GetOrMakePlayer(to); } else { trg = to; } // キューにいないプレイヤーの場合は何もしない - if (!this.hostQueue.find(p => p == trg)) { + if (!this.hostQueue.find(p => p === trg)) { this.logger.error(`couldn't skip to who isn't in queue. ${trg.name}`); return; } let c = 0; - while (this.hostQueue[0] != trg) { + while (this.hostQueue[0] !== trg) { this.rotateQueue(false); if (c++ > 16) { - this.logger.error("infinity loop detected"); + this.logger.error('infinity loop detected'); return; } } if (this.logger.isTraceEnabled()) { - this.logger.trace("skipto: %s", this.hostQueue.map(p => p.name).join(", ")); + this.logger.trace('skipto: %s', this.hostQueue.map(p => p.name).join(', ')); } - this.raiseOrderChanged("rotated"); + this.raiseOrderChanged('rotated'); this.changeHost(); } /** @@ -392,10 +392,10 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { * @param order */ Reorder(order) { - if (typeof (order) == "string") { - const players = order.split(",").map(t => this.lobby.GetPlayer((0, Player_1.revealUserName)(t.trim()))).filter(p => p != null); - if (players.length == 0) { - this.logger.info("Faild reorder, invalid order string : %s", order); + if (typeof (order) === 'string') { + const players = order.split(',').map(t => this.lobby.GetPlayer((0, Player_1.revealUserName)(t.trim()))).filter(p => p !== null); + if (players.length === 0) { + this.logger.info('Faild reorder, invalid order string : %s', order); } else { this.Reorder(players); @@ -403,30 +403,30 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { } else { const nq = order.filter(p => this.lobby.players.has(p) && !exports.DENY_LIST.includes(p)); - for (let p of this.hostQueue) { + for (const p of this.hostQueue) { if (!nq.includes(p)) { nq.push(p); } } if (this.validateNewQueue(nq)) { - this.logger.info("reordered host queue."); + this.logger.info('reordered host queue.'); this.hostQueue = nq; - this.raiseOrderChanged("orderd"); + this.raiseOrderChanged('orderd'); this.changeHost(); } else { - this.logger.info("failed to reorder."); + this.logger.info('failed to reorder.'); } } } validateNewQueue(que) { let isValid = true; - for (let p of que) { + for (const p of que) { isValid = isValid && this.lobby.players.has(p) && !exports.DENY_LIST.includes(p); } - this.logger.trace("validate queue."); - this.logger.trace(" old: %s", Array.from(this.lobby.players).map(p => p.name).join(", ")); - this.logger.trace(" new: %s", que.map(p => p.name).join(", ")); + this.logger.trace('validate queue.'); + this.logger.trace(' old: %s', Array.from(this.lobby.players).map(p => p.name).join(', ')); + this.logger.trace(' new: %s', que.map(p => p.name).join(', ')); return isValid; } /** @@ -437,18 +437,18 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { * キューの先頭を末尾に */ changeHost() { - if (this.hostQueue.length == 0) { - if (this.lobby.host != null) { - this.lobby.SendMessage("!mp clearhost"); + if (this.hostQueue.length === 0) { + if (this.lobby.host) { + this.lobby.SendMessage('!mp clearhost'); } return; } - if (this.hostQueue[0] != this.lobby.host) { + if (this.hostQueue[0] !== this.lobby.host) { this.lobby.TransferHost(this.hostQueue[0]); - this.logger.trace("sent !mp host %s", this.hostQueue[0].name); + this.logger.trace('sent !mp host %s', this.hostQueue[0].name); } else { - this.logger.trace("%s is already host", this.hostQueue[0].name); + this.logger.trace('%s is already host', this.hostQueue[0].name); } } /** @@ -458,9 +458,9 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { const current = this.hostQueue.shift(); this.hostQueue.push(current); if (this.logger.isTraceEnabled() && showLog) { - this.logger.trace("rotated host queue: %s", this.hostQueue.map(p => p.name).join(", ")); + this.logger.trace('rotated host queue: %s', this.hostQueue.map(p => p.name).join(', ')); } - this.raiseOrderChanged("rotated"); + this.raiseOrderChanged('rotated'); } /** * 指定されたプレイヤーキューから削除する @@ -468,10 +468,10 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { */ removeFromQueue(player) { const i = this.hostQueue.indexOf(player); - if (i != -1) { + if (i !== -1) { this.hostQueue.splice(i, 1); - this.logger.trace("removed %s", player.name); - this.raiseOrderChanged("removed"); + this.logger.trace('removed %s', player.name); + this.raiseOrderChanged('removed'); return true; } else { @@ -482,11 +482,11 @@ class AutoHostSelector extends LobbyPlugin_1.LobbyPlugin { return [...exports.DENY_LIST.players]; } GetPluginStatus() { - const m = this.hostQueue.map(p => p.name).join(", "); - const b = this.getDeniedPlayerNames().join(","); + const m = this.hostQueue.map(p => p.name).join(', '); + const b = this.getDeniedPlayerNames().join(','); return `-- AutoHostSelector -- queue : ${m} - mapChanger : ${this.mapChanger == null ? "null" : this.mapChanger.name}, needsRotate : ${this.needsRotate} + mapChanger : ${!this.mapChanger ? 'null' : this.mapChanger.name}, needsRotate : ${this.needsRotate} denyList : ${b}`; } raiseOrderChanged(type) { diff --git a/dist/plugins/AutoHostSelector.js.map b/dist/plugins/AutoHostSelector.js.map index dc651c7b..51c8a255 100644 --- a/dist/plugins/AutoHostSelector.js.map +++ b/dist/plugins/AutoHostSelector.js.map @@ -1 +1 @@ -{"version":3,"file":"AutoHostSelector.js","sourceRoot":"","sources":["../../src/plugins/AutoHostSelector.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AutoHostSelector.js","sourceRoot":"","sources":["../../src/plugins/AutoHostSelector.ts"],"names":[],"mappings":";;;;;;AACA,4DAA8D;AAE9D,sCAAqE;AACrE,mDAA4D;AAC5D,+CAA4C;AAC5C,oDAA4B;AAC5B,gDAA2C;AAW3C;;;MAGM;AACN,MAAM,QAAQ;IAAd;QACE,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5B,gBAAW,GAAG,IAAI,uBAAU,EAAoB,CAAC;QACjD,kBAAa,GAAG,IAAI,uBAAU,EAAoB,CAAC;QACnD,WAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IA2BxC,CAAC;IA1BC,SAAS,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,0BAA0B,CAAC,CAAC;YAC3D,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,eAAe,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;CACF;AAEY,QAAA,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;AAExC,MAAa,gBAAiB,SAAQ,yBAAW;IAQ/C,YAAY,KAAY,EAAE,SAA0C,EAAE;QACpE,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAP/C,cAAS,GAAa,EAAE,CAAC;QACzB,gBAAW,GAAY,IAAI,CAAC;QAC5B,eAAU,GAAkB,IAAI,CAAC;QACjC,iBAAY,GAAG,IAAI,uBAAU,EAA6B,CAAC;QAC3D,mBAAc,GAAiB,EAAE,CAAC;QAIhC,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAA2B,CAAC;QAE3E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;SACpG;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAChE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACvB,KAAK,kCAAkB,CAAC,eAAe;oBACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,MAAM;gBACR,KAAK,kCAAkB,CAAC,YAAY;oBAClC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,KAAK,kCAAkB,CAAC,aAAa;oBACnC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,MAAM;aACT;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,iBAA0B;QAC7E,IAAI,iBAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO;QACvC,IAAI,iBAAiB;YAAE,OAAO;QAE9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,MAAc,EAAE,iBAA0B;QAC7D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,uCAAuC;QACrE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO;QAClC,IAAI,iBAAiB;YAAE,OAAO;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,gDAAgD;YAC9H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,OAAe;QACnC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,CAAC,YAAY;QAE/C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SACrE;aAAM;YACL,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,EAAE,oBAAoB;YACxE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;SACxD;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACzC,kCAAkC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAAM;YACL,WAAW;YACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SACnC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACvC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,iCAAiC,EAAE;YACjD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAEO,cAAc,CAAC,eAAuB,EAAE,aAAqB;QACnE,IAAI,eAAe,KAAK,CAAC,EAAE,EAAE,2BAA2B;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6FAA6F,CAAC,CAAC;YACjH,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACnB,yBAAyB;gBACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;aACxE;iBAAM;gBACL,sBAAsB;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;SACF;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,eAAe,CAAC,MAAwB,EAAE,SAAmB,EAAE,UAAoB,EAAE,WAAoB;QAC/G,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAChG,6CAA6C;YAC7C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;SAC/E;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACnB,IAAI,iBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBACvC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC9B;SAEF;aAAM;YACL,iBAAiB;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SAClC;QACD,iHAAiH;IACnH,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,OAAe,EAAE,KAAa;QAClE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE;YAC9B,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,EAAE;gBAClD,IAAI,KAAK,KAAK,EAAE,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO;iBACR;aACF;YACD,IAAI,OAAO,KAAK,WAAW,EAAE;gBAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC1C,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,iBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;iBAC1D;gBAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAChD,IAAI,SAAS,EAAE;oBACb,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,iBAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;iBAC/D;aACF;SACF;IACH,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAC1D,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;SACF;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACtE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,eAAe,CAAC,CAAC;SACvD;IACH,CAAC;IAED,8BAA8B;IACtB,eAAe,CAAC,IAAY,EAAE,IAAc,EAAE,GAAuB;QAC3E,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,OAAO;aACR;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACjB;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACvB;IACH,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,MAAwB;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,4BAA4B,CAAC,MAAwB,EAAE,SAAmB,EAAE,UAAoB,EAAE,WAAoB;QACpH,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjH,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC9B;IACH,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAgB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE;gBACjD,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC;aAChE;YACD,OAAO,eAAe,GAAG,CAAC,CAAC;QAC7B,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAmB;QACxB,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YAC1B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;SACtC;aAAM;YACL,GAAG,GAAG,EAAE,CAAC;SACV;QAED,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO;SACR;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,OAAO;aACR;SACF;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E;QACD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAwB;QAC9B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAA,uBAAc,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAa,CAAC;YAC9H,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;aACrE;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aACvB;SACF;aAAM;YACL,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC9B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACnB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACZ;aACF;YACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aACxC;SACF;IACH,CAAC;IAEO,gBAAgB,CAAC,GAAa;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;YACnB,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC1E;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACK,UAAU;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACnB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aACzC;YACD,OAAO;SACR;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjE;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,UAAmB,IAAI;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAY,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,OAAO,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACzF;QACD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,MAAc;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,CAAC,GAAG,iBAAS,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,eAAe;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO;YACC,CAAC;iBACI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,mBAAmB,IAAI,CAAC,WAAW;eACrF,CAAC,EAAE,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,IAAqB;QAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AA5cD,4CA4cC"} \ No newline at end of file diff --git a/dist/plugins/AutoStartTimer.js b/dist/plugins/AutoStartTimer.js index c02f1c42..b18785f4 100644 --- a/dist/plugins/AutoStartTimer.js +++ b/dist/plugins/AutoStartTimer.js @@ -7,7 +7,7 @@ const TypedConfig_1 = require("../TypedConfig"); const WAITINGTIME_MIN = 15; class AutoStartTimer extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "AutoStartTimer", "autostart"); + super(lobby, 'AutoStartTimer', 'autostart'); this.useMapValidation = false; this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.lastMapId = 0; @@ -24,16 +24,16 @@ class AutoStartTimer extends LobbyPlugin_1.LobbyPlugin { if (!player.isAuthorized) return; switch (command) { - case "*autostart_enable": + case '*autostart_enable': this.option.enabled = true; break; - case "*autostart_disable": + case '*autostart_disable': this.option.enabled = false; break; - case "*autostart_time": + case '*autostart_time': let ct = parseInt(param); if (Number.isNaN(ct)) { - this.logger.warn("invalid *autostart_time param : %s", param); + this.logger.warn('invalid *autostart_time param : %s', param); return; } if (ct < WAITINGTIME_MIN) { @@ -41,10 +41,10 @@ class AutoStartTimer extends LobbyPlugin_1.LobbyPlugin { } this.option.waitingTime = ct; break; - case "*autostart_clearhost_enable": + case '*autostart_clearhost_enable': this.option.doClearHost = true; break; - case "*atuostart_clearhost_disable": + case '*atuostart_clearhost_disable': this.option.doClearHost = false; break; } @@ -54,16 +54,16 @@ class AutoStartTimer extends LobbyPlugin_1.LobbyPlugin { return; switch (response.type) { case CommandParser_1.BanchoResponseType.BeatmapChanged: - if (this.lobby.players.size == 1 || response.params[0] == this.lastMapId || this.useMapValidation) + if (this.lobby.players.size === 1 || response.params[0] === this.lastMapId || this.useMapValidation) break; this.startTimer(); break; case CommandParser_1.BanchoResponseType.BeatmapChanging: case CommandParser_1.BanchoResponseType.HostChanged: if (this.lobby.isStartTimerActive) { - this.lobby.SendMessage("!mp aborttimer"); + this.lobby.SendMessage('!mp aborttimer'); } - this.SendPluginMessage("mp_abort_start"); + this.SendPluginMessage('mp_abort_start'); break; case CommandParser_1.BanchoResponseType.MatchStarted: this.lastMapId = this.lobby.mapId; @@ -73,20 +73,20 @@ class AutoStartTimer extends LobbyPlugin_1.LobbyPlugin { startTimer() { if (!this.option.enabled || this.option.waitingTime < WAITINGTIME_MIN) return; - this.SendPluginMessage("mp_start", [this.option.waitingTime.toString(), "withhelp"]); + this.SendPluginMessage('mp_start', [this.option.waitingTime.toString(), 'withhelp']); if (this.option.doClearHost) { - this.lobby.SendMessage(`!mp clearhost`); + this.lobby.SendMessage('!mp clearhost'); } } onPluginMessage(type, args, src) { switch (type) { - case "enabledMapChecker": + case 'enabledMapChecker': this.useMapValidation = true; break; - case "disabledMapChecker": + case 'disabledMapChecker': this.useMapValidation = false; break; - case "validatedMap": + case 'validatedMap': this.startTimer(); break; } diff --git a/dist/plugins/AutoStartTimer.js.map b/dist/plugins/AutoStartTimer.js.map index 77f71ea6..29fce0b2 100644 --- a/dist/plugins/AutoStartTimer.js.map +++ b/dist/plugins/AutoStartTimer.js.map @@ -1 +1 @@ -{"version":3,"file":"AutoStartTimer.js","sourceRoot":"","sources":["../../src/plugins/AutoStartTimer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AutoStartTimer.js","sourceRoot":"","sources":["../../src/plugins/AutoStartTimer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/CacheCleaner.js b/dist/plugins/CacheCleaner.js index ab8b09d4..7bb8660d 100644 --- a/dist/plugins/CacheCleaner.js +++ b/dist/plugins/CacheCleaner.js @@ -7,7 +7,7 @@ const ProfileRepository_1 = require("../webapi/ProfileRepository"); const TypedConfig_1 = require("../TypedConfig"); class CacheCleaner extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "CacheCleaner", "cleaner"); + super(lobby, 'CacheCleaner', 'cleaner'); this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.cleanedAt = Date.now(); this.lastHeapSize = process.memoryUsage().heapUsed; @@ -28,16 +28,16 @@ class CacheCleaner extends LobbyPlugin_1.LobbyPlugin { if (!player.isAuthorized) return; switch (command.toLocaleLowerCase()) { - case "*clearcache_enable": + case '*clearcache_enable': this.option.enabled = true; - this.logger.info("CacheCleaner enabled"); + this.logger.info('CacheCleaner enabled'); break; - case "*clearcache_disable": + case '*clearcache_disable': this.option.enabled = false; - this.logger.info("CacheCleaner disabled"); + this.logger.info('CacheCleaner disabled'); break; - case "*clearcache": - case "*clear": + case '*clearcache': + case '*clear': this.clearCache(); break; } @@ -61,14 +61,14 @@ class CacheCleaner extends LobbyPlugin_1.LobbyPlugin { } formatByte(numByte) { if (isNaN(numByte)) - return "NaN"; + return 'NaN'; if (!isFinite(numByte)) - return numByte > 0 ? "∞" : "-∞"; - const notations = ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi", "Ri", "Qi"]; - const sign = 0 <= numByte ? "" : "-"; + return numByte > 0 ? '∞' : '-∞'; + const notations = ['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi', 'Ri', 'Qi']; + const sign = numByte >= 0 ? '' : '-'; numByte = Math.abs(numByte); let idx = 0; - while (1024 <= numByte) { + while (numByte >= 1024) { numByte /= 1024; idx++; } diff --git a/dist/plugins/CacheCleaner.js.map b/dist/plugins/CacheCleaner.js.map index 5372b1ed..7915f7ac 100644 --- a/dist/plugins/CacheCleaner.js.map +++ b/dist/plugins/CacheCleaner.js.map @@ -1 +1 @@ -{"version":3,"file":"CacheCleaner.js","sourceRoot":"","sources":["../../src/plugins/CacheCleaner.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"CacheCleaner.js","sourceRoot":"","sources":["../../src/plugins/CacheCleaner.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/HistoryLoader.js b/dist/plugins/HistoryLoader.js index a339d103..2676c8fa 100644 --- a/dist/plugins/HistoryLoader.js +++ b/dist/plugins/HistoryLoader.js @@ -8,7 +8,7 @@ const TypedConfig_1 = require("../TypedConfig"); */ class HistoryLoader extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "HistoryLoader", "history"); + super(lobby, 'HistoryLoader', 'history'); this.fetchInvervalId = null; this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.repository = lobby.historyRepository; @@ -23,8 +23,8 @@ class HistoryLoader extends LobbyPlugin_1.LobbyPlugin { async onFixedSettings(result, playersIn, playersOut, hostChanged) { if (!this.repository) return; - let order = (await this.repository.calcCurrentOrderAsName()).join(","); - this.SendPluginMessage("reorder", [order]); + const order = (await this.repository.calcCurrentOrderAsName()).join(','); + this.SendPluginMessage('reorder', [order]); } onJoinedLobby(channel) { if (this.lobby.lobbyId) { @@ -35,12 +35,12 @@ class HistoryLoader extends LobbyPlugin_1.LobbyPlugin { } } onMatchStarted() { - if (this.fetchInvervalId == null) { + if (this.fetchInvervalId === null) { this.repository.updateToLatest(); } } onGotUserProfile(user) { - let p = this.lobby.GetOrMakePlayer(user.username); + const p = this.lobby.GetOrMakePlayer(user.username); p.id = user.id; } onChangedLobbyName(newName, oldName) { @@ -50,7 +50,7 @@ class HistoryLoader extends LobbyPlugin_1.LobbyPlugin { startFetch() { this.stopFetch(); if (this.option.fetch_interval_ms >= 5000) { - this.logger.trace("start fetching"); + this.logger.trace('start fetching'); this.fetchInvervalId = setInterval(() => { if (!this.lobby.isMatching) { this.repository.updateToLatest(); @@ -60,7 +60,7 @@ class HistoryLoader extends LobbyPlugin_1.LobbyPlugin { } stopFetch() { if (this.fetchInvervalId) { - this.logger.trace("stop fetching"); + this.logger.trace('stop fetching'); clearInterval(this.fetchInvervalId); this.fetchInvervalId = null; } diff --git a/dist/plugins/HistoryLoader.js.map b/dist/plugins/HistoryLoader.js.map index 1658c9b5..6cf17e26 100644 --- a/dist/plugins/HistoryLoader.js.map +++ b/dist/plugins/HistoryLoader.js.map @@ -1 +1 @@ -{"version":3,"file":"HistoryLoader.js","sourceRoot":"","sources":["../../src/plugins/HistoryLoader.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAI5C,gDAA2C;AAM3C;;GAEG;AACH,MAAa,aAAc,SAAQ,yBAAW;IAK5C,YAAY,KAAY,EAAE,SAAuC,EAAE;QACjE,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAH3C,oBAAe,GAA0B,IAAI,CAAC;QAI5C,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAwB,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAwB,EAAE,SAAmB,EAAE,UAAoB,EAAE,WAAoB;QAC7G,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;SAClC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAU;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,OAAe;QACjD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,OAAO,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC1B,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;iBAClC;YACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;IACH,CAAC;IAED,eAAe;QACb,OAAO,kCAAkC,IAAI,CAAC,UAAU,EAAE,QAAQ,cAAc,IAAI,CAAC,UAAU,EAAE,aAAa,oBAAoB,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;IACpK,CAAC;CACF;AAzED,sCAyEC"} \ No newline at end of file +{"version":3,"file":"HistoryLoader.js","sourceRoot":"","sources":["../../src/plugins/HistoryLoader.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/HostSkipper.js b/dist/plugins/HostSkipper.js index 8c5b127f..9d80828c 100644 --- a/dist/plugins/HostSkipper.js +++ b/dist/plugins/HostSkipper.js @@ -14,7 +14,7 @@ const TypedConfig_1 = require("../TypedConfig"); */ class HostSkipper extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "HostSkipper", "skipper"); + super(lobby, 'HostSkipper', 'skipper'); this.timeHostChanged = 0; this.isMapChanged = false; this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); @@ -55,7 +55,7 @@ class HostSkipper extends LobbyPlugin_1.LobbyPlugin { onPlayerJoined(player) { this.voting.AddVoter(player); // 一人だけいるプレイヤーがAFKなら新しく入ってきた人をホストにする - if (this.lobby.players.size == 2 && this.lobby.host && this.lobby.host.laststat) { + if (this.lobby.players.size === 2 && this.lobby.host && this.lobby.host.laststat) { const ls = this.lobby.host.laststat; if (this.statIsAfk(ls.status) && Date.now() - ls.date < this.option.afk_check_interval_ms) { // 他のプラグインが join の処理を完了したあとに実行したい。 @@ -70,29 +70,29 @@ class HostSkipper extends LobbyPlugin_1.LobbyPlugin { // スキップ判定の母数が減るので再評価する this.checkSkipCount(); // 誰もいなくなったらタイマーを止める - if (this.lobby.players.size == 0) { + if (this.lobby.players.size === 0) { this.voting.Clear(); this.StopTimer(); } } onPlayerChated(player) { - if (this.lobby.host == player) { + if (this.lobby.host === player) { // reset current timer and restart this.StartTimer(false); } } onParsedStat(player, result, isPm) { - if (!isPm && this.lobby.host == player && this.statIsAfk(result.status) && !this.lobby.isMatching) { - this.logger.trace("passed afk check %s -> %s", result.name, StatParser_1.StatStatuses[result.status]); + if (!isPm && this.lobby.host === player && this.statIsAfk(result.status) && !this.lobby.isMatching) { + this.logger.trace('passed afk check %s -> %s', result.name, StatParser_1.StatStatuses[result.status]); if (this.option.afk_check_do_skip) { this.Skip(); } else { if (this.isMapChanged) { - this.lobby.SendMessage("bot : players can start the match by !start vote."); + this.lobby.SendMessage('bot : players can start the match by !start vote.'); } else { - this.lobby.SendMessage("bot : players can skip afk host by !skip vote."); + this.lobby.SendMessage('bot : players can skip afk host by !skip vote.'); } } } @@ -101,69 +101,69 @@ class HostSkipper extends LobbyPlugin_1.LobbyPlugin { onChatCommand(player, command, param) { if (this.lobby.isMatching) return; - if (command == "!skip") { - if (param != "" && this.lobby.host != null && (0, Player_1.escapeUserName)(param) != this.lobby.host.escaped_name) + if (command === '!skip') { + if (param !== '' && this.lobby.host && (0, Player_1.escapeUserName)(param) !== this.lobby.host.escaped_name) return; // 関係ないユーザーのスキップは無視 this.vote(player); } else if (player.isAuthorized) { - if (command == "*skip") { + if (command === '*skip') { this.Skip(); } - else if (command == "*skipto" && param != "") { + else if (command === '*skipto' && param !== '') { this.SkipTo(param); } } } vote(player) { if (this.voting.passed) { - this.logger.debug("vote from %s was ignored, already skipped", player.name); + this.logger.debug('vote from %s was ignored, already skipped', player.name); } else if (this.elapsedSinceHostChanged < this.option.vote_cooltime_ms) { - this.logger.debug("vote from %s was ignored, at cool time.", player.name); + this.logger.debug('vote from %s was ignored, at cool time.', player.name); if (player.isHost) { const secs = (this.option.vote_cooltime_ms - this.elapsedSinceHostChanged) / 1000; this.lobby.SendMessage(`skip command is in cooltime. you have to wait ${secs.toFixed(2)} sec(s).`); } } else if (player.isHost) { - this.logger.debug("host(%s) sent !skip command", player.name); + this.logger.debug('host(%s) sent !skip command', player.name); this.Skip(); } else { if (this.voting.Vote(player)) { - this.logger.trace("accept skip request from %s", player.name); + this.logger.trace('accept skip request from %s', player.name); this.checkSkipCount(true); } else { - this.logger.debug("vote from %s was ignored, double vote", player.name); + this.logger.debug('vote from %s was ignored, double vote', player.name); } } } // スキップ状況を確認して、必要数に達している場合は checkSkipCount(showMessage = false) { - if (this.voting.count != 0 && showMessage) { - this.lobby.DeferMessage(`bot : Host skip progress: ${this.voting.toString()}`, "checkSkipCount", this.option.vote_msg_defer_ms, false); + if (this.voting.count !== 0 && showMessage) { + this.lobby.DeferMessage(`bot : Host skip progress: ${this.voting.toString()}`, 'checkSkipCount', this.option.vote_msg_defer_ms, false); } if (this.voting.passed) { - this.lobby.DeferMessage(`bot : Passed skip vote: ${this.voting.toString()}`, "checkSkipCount", 100, true); + this.lobby.DeferMessage(`bot : Passed skip vote: ${this.voting.toString()}`, 'checkSkipCount', 100, true); this.Skip(); } } Skip() { - this.logger.info("do skip"); + this.logger.info('do skip'); this.StopTimer(); - this.SendPluginMessage("skip"); + this.SendPluginMessage('skip'); this.timeHostChanged = Date.now(); } SkipTo(username) { if (!this.lobby.Includes(username)) { - this.logger.info("invalid username @skipto : %s", username); + this.logger.info('invalid username @skipto : %s', username); return; } - this.logger.info("do skipTo : %s", username); + this.logger.info('do skipTo : %s', username); this.StopTimer(); - this.SendPluginMessage("skipto", [username]); + this.SendPluginMessage('skipto', [username]); } Reset() { this.voting.Clear(); @@ -171,43 +171,43 @@ class HostSkipper extends LobbyPlugin_1.LobbyPlugin { this.timeHostChanged = Date.now(); } StartTimer(isFirst) { - if (this.option.afk_check_interval_ms == 0 || this.lobby.host == null || this.lobby.status != Lobby_1.LobbyStatus.Entered || this.lobby.isMatching) + if (this.option.afk_check_interval_ms === 0 || !this.lobby.host || this.lobby.status !== Lobby_1.LobbyStatus.Entered || this.lobby.isMatching) return; this.StopTimer(); - this.logger.trace("start afk check timer"); + this.logger.trace('start afk check timer'); const target = this.lobby.host; this.afkTimer = setTimeout(async () => { - if (!this.lobby.isMatching && this.lobby.host == target) { + if (!this.lobby.isMatching && this.lobby.host === target) { try { const stat1 = await this.lobby.RequestStatAsync(target, true, this.option.afk_check_timeout_ms); - this.logger.trace("stat check phase 1 %s -> %s", stat1.name, StatParser_1.StatStatuses[stat1.status]); - if (this.afkTimer != undefined && this.lobby.host == target && this.statIsAfk(stat1.status)) { + this.logger.trace('stat check phase 1 %s -> %s', stat1.name, StatParser_1.StatStatuses[stat1.status]); + if (this.afkTimer !== undefined && this.lobby.host === target && this.statIsAfk(stat1.status)) { // double check and show stat for players await this.lobby.RequestStatAsync(target, false, this.option.afk_check_timeout_ms); } } catch { - this.logger.warn("stat check timeout!"); + this.logger.warn('stat check timeout!'); } // StopTimerが呼び出されていない、かつホストがターゲットと同じならタイマー再開 - if (this.afkTimer != undefined && this.lobby.host == target) { + if (this.afkTimer !== undefined && this.lobby.host === target) { this.StartTimer(false); } } }, isFirst ? this.option.afk_check_interval_first_ms : this.option.afk_check_interval_ms); } StopTimer() { - if (this.afkTimer != undefined) { - this.logger.trace("stop timer"); + if (this.afkTimer !== undefined) { + this.logger.trace('stop timer'); clearTimeout(this.afkTimer); this.afkTimer = undefined; } } statIsAfk(stat) { - return stat != StatParser_1.StatStatuses.Multiplayer && stat != StatParser_1.StatStatuses.Multiplaying; + return stat !== StatParser_1.StatStatuses.Multiplayer && stat !== StatParser_1.StatStatuses.Multiplaying; } GetPluginStatus() { - return `-- Host Skipper -- timer : ${this.afkTimer != undefined ? "active" : "###"}, skip_vote : ${this.voting.toString()}`; + return `-- Host Skipper -- timer : ${this.afkTimer !== undefined ? 'active' : '###'}, skip_vote : ${this.voting.toString()}`; } } exports.HostSkipper = HostSkipper; diff --git a/dist/plugins/HostSkipper.js.map b/dist/plugins/HostSkipper.js.map index fd46a8b6..669f736a 100644 --- a/dist/plugins/HostSkipper.js.map +++ b/dist/plugins/HostSkipper.js.map @@ -1 +1 @@ -{"version":3,"file":"HostSkipper.js","sourceRoot":"","sources":["../../src/plugins/HostSkipper.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"HostSkipper.js","sourceRoot":"","sources":["../../src/plugins/HostSkipper.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/InOutLogger.js b/dist/plugins/InOutLogger.js index 48487f31..150d7d7c 100644 --- a/dist/plugins/InOutLogger.js +++ b/dist/plugins/InOutLogger.js @@ -5,7 +5,7 @@ const LobbyPlugin_1 = require("./LobbyPlugin"); const CommandParser_1 = require("../parsers/CommandParser"); class InOutLogger extends LobbyPlugin_1.LobbyPlugin { constructor(lobby) { - super(lobby, "InOutLogger", "inout"); + super(lobby, 'InOutLogger', 'inout'); this.players = new Map(); this.withColorTag = true; this.lobby.ReceivedBanchoResponse.on(a => this.onReceivedBanchoResponse(a.message, a.response)); @@ -14,6 +14,9 @@ class InOutLogger extends LobbyPlugin_1.LobbyPlugin { switch (response.type) { case CommandParser_1.BanchoResponseType.MatchFinished: this.countUp(); + this.LogInOutPlayers(); + this.saveCurrentPlayers(); + break; case CommandParser_1.BanchoResponseType.MatchStarted: case CommandParser_1.BanchoResponseType.AbortedMatch: this.LogInOutPlayers(); @@ -29,20 +32,20 @@ class InOutLogger extends LobbyPlugin_1.LobbyPlugin { GetInOutLog(useColor) { const arr = this.GetInOutPlayers(); const msgOut = arr.out.map(p => { - let num = this.players.get(p) || 0; + const num = this.players.get(p) || 0; return `${p.name}(${num})`; - }).join(", "); - const msgIn = arr.in.map(p => p.name).join(", "); - let msg = ""; - const ctagIn = useColor ? "\x1b[32m" : ""; - const ctagOut = useColor ? "\x1b[31m" : ""; - const ctagEnd = useColor ? "\x1b[0m" : ""; - if (msgIn != "") { + }).join(', '); + const msgIn = arr.in.map(p => p.name).join(', '); + let msg = ''; + const ctagIn = useColor ? '\x1b[32m' : ''; + const ctagOut = useColor ? '\x1b[31m' : ''; + const ctagEnd = useColor ? '\x1b[0m' : ''; + if (msgIn !== '') { msg = `+${ctagIn} ${msgIn} ${ctagEnd}`; } - if (msgOut != "") { - if (msg != "") - msg += ", "; + if (msgOut !== '') { + if (msg !== '') + msg += ', '; msg += `-${ctagOut} ${msgOut} ${ctagEnd}`; } return msg; @@ -50,27 +53,27 @@ class InOutLogger extends LobbyPlugin_1.LobbyPlugin { LogInOutPlayers() { if (this.logger.isInfoEnabled()) { const msg = this.GetInOutLog(this.withColorTag); - if (msg != "") { + if (msg !== '') { this.logger.info(msg); } } } saveCurrentPlayers() { - for (let p of this.lobby.players) { - let num = this.players.get(p); + for (const p of this.lobby.players) { + const num = this.players.get(p); if (num === undefined) { this.players.set(p, 0); } } - for (let p of this.players.keys()) { + for (const p of this.players.keys()) { if (!this.lobby.players.has(p)) { this.players.delete(p); } } } countUp() { - for (let p of this.players.keys()) { - let num = this.players.get(p); + for (const p of this.players.keys()) { + const num = this.players.get(p); if (num !== undefined) { this.players.set(p, num + 1); } @@ -78,9 +81,9 @@ class InOutLogger extends LobbyPlugin_1.LobbyPlugin { } GetPluginStatus() { const m = Array.from(this.players.keys()).map(p => { - let num = this.players.get(p) || 0; + const num = this.players.get(p) || 0; return `${p.name}(${num})`; - }).join(", "); + }).join(', '); return `-- InOut -- players: ${m}`; } diff --git a/dist/plugins/InOutLogger.js.map b/dist/plugins/InOutLogger.js.map index 64d799a5..2b363eee 100644 --- a/dist/plugins/InOutLogger.js.map +++ b/dist/plugins/InOutLogger.js.map @@ -1 +1 @@ -{"version":3,"file":"InOutLogger.js","sourceRoot":"","sources":["../../src/plugins/InOutLogger.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"InOutLogger.js","sourceRoot":"","sources":["../../src/plugins/InOutLogger.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/LobbyKeeper.js b/dist/plugins/LobbyKeeper.js index fbb44b7b..01a5e38c 100644 --- a/dist/plugins/LobbyKeeper.js +++ b/dist/plugins/LobbyKeeper.js @@ -5,16 +5,16 @@ const LobbyPlugin_1 = require("./LobbyPlugin"); const Modes_1 = require("../Modes"); const TypedConfig_1 = require("../TypedConfig"); const OPTION_TYPE_HINTS = [ - { key: "mode", nullable: true, type: "string" }, - { key: "size", nullable: true, type: "number" }, - { key: "password", nullable: true, type: "string" }, - { key: "mods", nullable: true, type: "string" }, - { key: "hostkick_tolerance", nullable: false, type: "number" }, - { key: "title", nullable: true, type: "string" }, + { key: 'mode', nullable: true, type: 'string' }, + { key: 'size', nullable: true, type: 'number' }, + { key: 'password', nullable: true, type: 'string' }, + { key: 'mods', nullable: true, type: 'string' }, + { key: 'hostkick_tolerance', nullable: false, type: 'number' }, + { key: 'title', nullable: true, type: 'string' }, ]; class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "LobbyKeeper", "keeper"); + super(lobby, 'LobbyKeeper', 'keeper'); this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option, OPTION_TYPE_HINTS); this.kickedUsers = new Set(); this.mpKickedUsers = new Set(); @@ -40,21 +40,21 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { this.setModsOption(this.option.mods); } setModeOption(mode) { - if (mode == null || mode == "null" || mode == "") { + if (mode === null || mode === undefined || mode === 'null' || mode === '') { this.option.mode = null; return; } - if (typeof mode == "string") { + if (typeof mode === 'string') { const r = this.tryParseModeParams(mode); if (r) { this.option.mode = r; return; } else { - throw new Error("Invalid Option. LobbyKeeper.mode : " + mode); + throw new Error('Invalid Option. LobbyKeeper.mode : ' + mode); } } - if ("team" in mode && "score" in mode) { + if ('team' in mode && 'score' in mode) { if ((mode.team instanceof Modes_1.TeamMode) && (mode.score instanceof Modes_1.ScoreMode)) { this.option.mode = mode; } @@ -66,30 +66,30 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { } return; } - throw new Error("Invalid Option. LobbyKeeper.mode : " + mode); + throw new Error('Invalid Option. LobbyKeeper.mode : ' + mode); } setSizeOption(size) { - if (size == null || size == "null" || size == "") { + if (size === null || size === undefined || size === 'null' || size === '') { size = 0; } - if (typeof size == "string") { + if (typeof size === 'string') { size = parseInt(size); } - if (typeof size != "number") { - throw new Error("invalid size " + size); + if (typeof size !== 'number') { + throw new Error('invalid size ' + size); } - if (size < 0 || 16 < size || isNaN(size)) { - throw new Error("invalid size " + size); + if (size < 0 || size > 16 || isNaN(size)) { + throw new Error('invalid size ' + size); } this.option.size = size; this.slotKeeper.size = size; } setModsOption(mods) { - if (mods == null || mods == "null") { + if (mods === null || mods === undefined || mods === 'null') { this.option.mods = null; return; } - if (typeof mods == "string") { + if (typeof mods === 'string') { this.option.mods = Modes_1.Mod.parseMods(mods); return; } @@ -98,7 +98,7 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { this.option.mods = Modes_1.Mod.removeInvalidCombinations(mods); return; } - throw new Error("Invalid Option. LobbyKeeper.mods : " + mods); + throw new Error('Invalid Option. LobbyKeeper.mods : ' + mods); } tryParseModeParams(param) { const m1 = /^(.+),(.+)$/.exec(param); @@ -108,7 +108,7 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { const score = Modes_1.ScoreMode.from(m1[2], true); return { team, score }; } - catch { } + catch { /* continue to parse */ } } const m2 = /^(\S+)\s+(\S+)$/.exec(param); if (m2) { @@ -117,24 +117,25 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { const score = Modes_1.ScoreMode.from(m2[2], true); return { team, score }; } - catch { } + catch { /* continue to parse */ } } try { const team = Modes_1.TeamMode.from(param, true); return { team, score: this.option.mode?.score ?? Modes_1.ScoreMode.Score }; } - catch { } + catch { /* continue to parse */ } try { const score = Modes_1.ScoreMode.from(param, true); return { team: this.option.mode?.team ?? Modes_1.TeamMode.HeadToHead, score }; } - catch { } - throw new Error("Invalid Option. LobbyKeeper.mode : " + param); + catch { + throw new Error('Invalid Option. LobbyKeeper.mode : ' + param); + } } checkMode(teamMode, scoreMode) { - if (this.option.mode == null) + if (this.option.mode === null) return false; - if (this.option.mode.score != scoreMode || this.option.mode.team != teamMode) { + if (this.option.mode.score !== scoreMode || this.option.mode.team !== teamMode) { return true; } else { @@ -142,7 +143,7 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { } } checkMods(mods) { - if (this.option.mods == null) + if (this.option.mods === null) return false; const s = new Set(this.option.mods); for (const m of mods) { @@ -150,19 +151,19 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { return true; } } - return s.size != 0; + return s.size !== 0; } checkTitle(title) { - if (title == null && (this.lobby.historyRepository.hasError || this.option.title != this.lobby.lobbyName)) { + if (!title && (this.lobby.historyRepository.hasError || this.option.title !== this.lobby.lobbyName)) { return true; } - else if (title != this.option.title) { + else if (title !== this.option.title) { return true; } return false; } fixLobbyModeAndSize() { - if (this.option.mode != null) { + if (this.option.mode !== null) { if (this.option.size) { this.lobby.SendMessage(`!mp set ${this.option.mode.team.value} ${this.option.mode.score.value} ${this.option.size}`); } @@ -178,20 +179,20 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { this.slotKeeper.resetTimestamp(); } fixPassword() { - if (this.option.password != null) { + if (this.option.password !== null) { this.lobby.SendMessage(`!mp password ${this.option.password}`); } } fixTitle() { - if (this.option.title == null) + if (this.option.title === null) return; //Set title length to max 50 this.option.title = this.option.title.substring(0, 50); this.lobby.SendMessage(`!mp name ${this.option.title}`); } fixMods() { - if (this.option.mods != null) { - this.lobby.SendMessage(`!mp mods ${this.option.mods.map(m => m.value).join(" ")}`); + if (this.option.mods !== null) { + this.lobby.SendMessage(`!mp mods ${this.option.mods.map(m => m.value).join(' ')}`); } } onJoined() { @@ -216,7 +217,7 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { } } catch (e) { - this.logger.error("@LobbyKeeper#onParsedSettings " + e?.message); + this.logger.error('@LobbyKeeper#onParsedSettings ' + e?.message); } } onPlayerJoined(toSlot) { @@ -235,7 +236,7 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { } } onKickedPlayer(u) { - if (!this.option.hostkick_tolerance || this.lobby.host == null) + if (!this.option.hostkick_tolerance || !this.lobby.host) return; const p = this.lobby.GetPlayer(u.username); if (!p || this.mpKickedUsers.has(p)) @@ -255,9 +256,9 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { } onChatCommand(player, command, param) { if (player.isAuthorized) { - if (command.startsWith("*keep") || command.startsWith("*no")) { + if (command.startsWith('*keep') || command.startsWith('*no')) { const msg = this.processCommand(command, param); - if (msg != null) { + if (msg) { this.lobby.SendMessage(msg); this.logger.info(msg); } @@ -269,9 +270,9 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { if (this.slotKeeper.checkUnused()) { this.fixLobbyModeAndSize(); } - if (this.option.title != null || this.option.mode != null || this.option.mods != null) { + if (this.option.title !== null || this.option.mode !== null || this.option.mods !== null) { this.lobby.LoadMpSettingsAsync().catch((e) => { - this.logger.error("lobbyKeeper#onMatchFinished failed to LoadMpSettingsAsync"); + this.logger.error('lobbyKeeper#onMatchFinished failed to LoadMpSettingsAsync'); }); } } @@ -279,11 +280,11 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { this.logger.trace(`hev finished game -> mode:${game.mode}, mode_int:${game.mode_int}, score:${game.scoring_type}, team:${game.team_type}, mods:${game.mods}`); } processCommand(command, param) { - if (command == "*keep") { + if (command === '*keep') { const matchMode = /^mode(\s+(.+))?\s*$/.exec(param); if (matchMode) { - if (matchMode[2] == undefined) { - this.logger.warn("missing parameters. *keep mode [0-3] [0-3] e.g. *keep mode 0 0"); + if (matchMode[2] === undefined) { + this.logger.warn('missing parameters. *keep mode [0-3] [0-3] e.g. *keep mode 0 0'); return null; } try { @@ -293,18 +294,18 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { return `Keep lobby mode ${this.option.mode.team.name}, ${this.option.mode.score.name}`; } else { - return `Disabled keeping lobby mode`; + return 'Disabled keeping lobby mode'; } } catch (e) { - this.logger.warn(e?.message ?? "failed to parse mode params"); + this.logger.warn(e?.message ?? 'failed to parse mode params'); return null; } } const matchSize = /^size(\s+(\d+))?\s*$/.exec(param); if (matchSize) { - if (matchSize[2] == undefined) { - this.logger.warn("missing parameter. *keep size [1-16]"); + if (matchSize[2] === undefined) { + this.logger.warn('missing parameter. *keep size [1-16]'); return null; } try { @@ -314,76 +315,76 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { return `Keep lobby size ${this.option.size}`; } else { - return `Disabled keeping lobby size.`; + return 'Disabled keeping lobby size.'; } } catch (e) { - this.logger.warn(e?.message ?? "failed to parse size params"); + this.logger.warn(e?.message ?? 'failed to parse size params'); return null; } } const matchMods = /^mods?(\s+(.+))?\s*$/.exec(param); if (matchMods) { - if (matchMods[2] == undefined) { - this.logger.warn("missing parameters. *keep mods [mod] ([mod]) ([mod]) ..."); + if (matchMods[2] === undefined) { + this.logger.warn('missing parameters. *keep mods [mod] ([mod]) ([mod]) ...'); return null; } try { this.setModsOption(matchMods[2]); if (this.option.mods) { this.fixMods(); - return `Keep mods ${this.option.mods == null || this.option.mods.length == 0 ? "None" : this.option.mods.map(m => m.name).join(", ")}`; + return `Keep mods ${this.option.mods === null || this.option.mods.length === 0 ? 'None' : this.option.mods.map(m => m.name).join(', ')}`; } else { - return `Disabled keeping lobby mods.`; + return 'Disabled keeping lobby mods.'; } } catch (e) { - this.logger.warn(e?.message ?? "failed to parse mods"); + this.logger.warn(e?.message ?? 'failed to parse mods'); return null; } } const matchPassword = /^password(\s+(.+))?\s*$/.exec(param); if (matchPassword) { - this.option.password = matchPassword[2] !== undefined ? matchPassword[2] : ""; + this.option.password = matchPassword[2] !== undefined ? matchPassword[2] : ''; this.fixPassword(); - return `Keep lobby password ${this.option.password != "" ? this.option.password : "[empty]"}`; + return `Keep lobby password ${this.option.password !== '' ? this.option.password : '[empty]'}`; } const matchTitle = /^(title|name)(\s+(.+))?\s*$/.exec(param); if (matchTitle) { - this.option.title = matchTitle[3] !== undefined ? matchTitle[3] : ""; + this.option.title = matchTitle[3] !== undefined ? matchTitle[3] : ''; this.fixTitle(); - return `Keep lobby title ${this.option.title !== "" ? this.option.title : "[empty]"}`; + return `Keep lobby title ${this.option.title !== '' ? this.option.title : '[empty]'}`; } - this.logger.warn("missing parameters. *keep ...params"); + this.logger.warn('missing parameters. *keep ...params'); } - if (command == "*no") { - if (param == "keep mode" && this.option.mode != null) { + if (command === '*no') { + if (param === 'keep mode' && this.option.mode !== null) { this.setModeOption(null); - return "disabled keeping teammode and scoremode"; + return 'disabled keeping teammode and scoremode'; } - if (param == "keep size" && this.option.size != 0) { + if (param === 'keep size' && this.option.size !== 0) { this.setSizeOption(0); - return "disabled keeping lobby size"; + return 'disabled keeping lobby size'; } - if ((param == "keep mod" || param == "keep mods") && this.option.mods != null) { + if ((param === 'keep mod' || param === 'keep mods') && this.option.mods !== null) { this.setModsOption(null); - return "disabled keeping mods"; + return 'disabled keeping mods'; } - if (param == "keep password" && this.option.password != null) { - if (this.option.password != "") { - this.option.password = ""; + if (param === 'keep password' && this.option.password !== null) { + if (this.option.password !== '') { + this.option.password = ''; this.fixPassword(); } this.option.password = null; - return "disabled keeping lobby password"; + return 'disabled keeping lobby password'; } - if ((param == "keep title" || param == "keep name") && this.option.title != null) { + if ((param === 'keep title' || param === 'keep name') && this.option.title !== null) { this.option.title = null; - return "disabled keeping room title"; + return 'disabled keeping room title'; } - if (param.startsWith("keep")) { - this.logger.warn("missing parameters. *no keep "); + if (param.startsWith('keep')) { + this.logger.warn('missing parameters. *no keep '); } } return null; @@ -393,19 +394,19 @@ class LobbyKeeper extends LobbyPlugin_1.LobbyPlugin { if (this.option.mode) { keeps.push(`mode: ${this.option.mode.team.name}, ${this.option.mode.score.name}`); } - if (this.option.size != 0) { + if (this.option.size !== 0) { keeps.push(`size: ${this.option.size}`); } if (this.option.password) { - keeps.push(`password: ${this.option.password != "" ? this.option.password : "(empty)"}`); + keeps.push(`password: ${this.option.password !== '' ? this.option.password : '(empty)'}`); } if (this.option.mods) { - keeps.push(`mods: ${this.option.mods.map(m => m.value).join(" ")}`); + keeps.push(`mods: ${this.option.mods.map(m => m.value).join(' ')}`); } if (this.option.title) { keeps.push(`title: ${this.option.title}`); } - return keeps.join(", "); + return keeps.join(', '); } GetPluginStatus() { return `-- Lobby Keeper -- @@ -426,7 +427,7 @@ class SlotKeeper { checkJoin(slot) { let result = false; const idx = slot - 1; - if (this.size == 0) { + if (this.size === 0) { // do nothing } else if (this.size <= idx) { @@ -460,7 +461,7 @@ class SlotKeeper { this.slots[fromIdx].hasPlayer = false; this.slots[fromIdx].timestamp = Date.now(); const toIdx = toSlot - 1; - if (this.size != 0 && this.size <= toIdx) { + if (this.size !== 0 && this.size <= toIdx) { // Slots larger than the specified size are open result = true; this.logger?.trace(`Detected slot expansion. actual size:${toSlot}, specified size:${this.size}`); @@ -470,7 +471,7 @@ class SlotKeeper { return result; } checkUnused() { - if (this.size == 0) + if (this.size === 0) return false; const now = Date.now(); let estematedSize = -1; @@ -478,14 +479,14 @@ class SlotKeeper { for (let i = 0; i < this.size; i++) { if (!this.slots[i].hasPlayer) { const durationEmpty = now - this.slots[i].timestamp; - if (lockedSlot == -1 && this.timeToConsiderAsLockedSlotMS <= durationEmpty) { + if (lockedSlot === -1 && this.timeToConsiderAsLockedSlotMS <= durationEmpty) { lockedSlot = i + 1; continue; } } estematedSize = i + 1; } - if (lockedSlot != -1) { + if (lockedSlot !== -1) { this.logger?.trace(`Detected locked slot ${lockedSlot}`); return true; } @@ -508,7 +509,7 @@ class SlotKeeper { const idx = ps.slot - 1; this.slots[idx].hasPlayer = true; this.slots[idx].timestamp = Date.now(); - if (this.size != 0 && this.size < ps.slot) { + if (this.size !== 0 && this.size < ps.slot) { result = true; } } diff --git a/dist/plugins/LobbyKeeper.js.map b/dist/plugins/LobbyKeeper.js.map index 08f4d4fa..5732d140 100644 --- a/dist/plugins/LobbyKeeper.js.map +++ b/dist/plugins/LobbyKeeper.js.map @@ -1 +1 @@ -{"version":3,"file":"LobbyKeeper.js","sourceRoot":"","sources":["../../src/plugins/LobbyKeeper.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"LobbyKeeper.js","sourceRoot":"","sources":["../../src/plugins/LobbyKeeper.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/LobbyPlugin.js b/dist/plugins/LobbyPlugin.js index 02fdeb28..b2df45a4 100644 --- a/dist/plugins/LobbyPlugin.js +++ b/dist/plugins/LobbyPlugin.js @@ -10,12 +10,12 @@ const TypedConfig_1 = require("../TypedConfig"); * ロビーのイベントに反応して処理を行うプラグインのベースクラス。 */ class LobbyPlugin { - constructor(lobby, pluginName, loggerTag = "default") { + constructor(lobby, pluginName, loggerTag = 'default') { this.lobby = lobby; this.lobby.plugins.push(this); this.pluginName = pluginName; this.logger = log4js_1.default.getLogger(loggerTag); - this.logger.addContext("channel", "lobby"); + this.logger.addContext('channel', 'lobby'); } /** * 他のプラグインにメッセージを送信する。 @@ -30,14 +30,16 @@ class LobbyPlugin { * プラグインごとのステータスメッセージを取得する */ GetPluginStatus() { - return ""; + return ''; } /** * すべてのプラグインが読み込まれたあとに実行される */ OnLoaded() { + /* do nothing. */ } OnConfig(target, name, value) { + /* do nothing. */ } loadEnvSettings(option) { try { @@ -51,8 +53,8 @@ class LobbyPlugin { } exports.LobbyPlugin = LobbyPlugin; function regSwitch(val, cases) { - for (let c of cases) { - let ea = c.case.exec(val); + for (const c of cases) { + const ea = c.case.exec(val); if (ea) { c.action(ea); return; diff --git a/dist/plugins/LobbyPlugin.js.map b/dist/plugins/LobbyPlugin.js.map index 1ddc1f85..5083a0e5 100644 --- a/dist/plugins/LobbyPlugin.js.map +++ b/dist/plugins/LobbyPlugin.js.map @@ -1 +1 @@ -{"version":3,"file":"LobbyPlugin.js","sourceRoot":"","sources":["../../src/plugins/LobbyPlugin.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAC5B,gDAA+C;AAE/C;;GAEG;AACH,MAAa,WAAW;IAKtB,YAAY,KAAY,EAAE,UAAkB,EAAE,YAAoB,SAAS;QACzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAY,EAAE,OAAiB,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,QAAQ;IACR,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,KAAa;IACpD,CAAC;IAED,eAAe,CAAC,MAAW;QACzB,IAAI;YACF,IAAA,2BAAa,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACxC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CACF;AA/CD,kCA+CC;AAED,SAAgB,SAAS,CAAC,GAAW,EAAE,KAA+D;IACpG,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;QACnB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,EAAE;YACN,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACb,OAAO;SACR;KACF;AACH,CAAC;AARD,8BAQC"} \ No newline at end of file +{"version":3,"file":"LobbyPlugin.js","sourceRoot":"","sources":["../../src/plugins/LobbyPlugin.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAC5B,gDAA+C;AAE/C;;GAEG;AACH,MAAa,WAAW;IAKtB,YAAY,KAAY,EAAE,UAAkB,EAAE,YAAoB,SAAS;QACzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAY,EAAE,OAAiB,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,iBAAiB;IACnB,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,KAAa;QAClD,iBAAiB;IACnB,CAAC;IAED,eAAe,CAAC,MAAW;QACzB,IAAI;YACF,IAAA,2BAAa,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACxC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CACF;AAjDD,kCAiDC;AAED,SAAgB,SAAS,CAAC,GAAW,EAAE,KAA+D;IACpG,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,EAAE;YACN,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACb,OAAO;SACR;KACF;AACH,CAAC;AARD,8BAQC"} \ No newline at end of file diff --git a/dist/plugins/LobbyTerminator.js b/dist/plugins/LobbyTerminator.js index 2012ac15..59101ab2 100644 --- a/dist/plugins/LobbyTerminator.js +++ b/dist/plugins/LobbyTerminator.js @@ -5,7 +5,7 @@ const LobbyPlugin_1 = require("./LobbyPlugin"); const TypedConfig_1 = require("../TypedConfig"); class LobbyTerminator extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "LobbyTerminator", "terminator"); + super(lobby, 'LobbyTerminator', 'terminator'); this.multilimeMessageInterval = 1000; this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.registerEvents(); @@ -23,43 +23,43 @@ class LobbyTerminator extends LobbyPlugin_1.LobbyPlugin { if (this.terminateTimer) { clearTimeout(this.terminateTimer); this.terminateTimer = undefined; - this.logger.trace("terminate_timer canceled"); + this.logger.trace('terminate_timer canceled'); } } onPlayerLeft(p) { - if (this.lobby.players.size == 0) { + if (this.lobby.players.size === 0) { if (this.terminateTimer) { clearTimeout(this.terminateTimer); } - this.logger.trace("terminate_timer start"); + this.logger.trace('terminate_timer start'); this.terminateTimer = setTimeout(() => { - this.logger.info("terminated lobby"); + this.logger.info('terminated lobby'); this.lobby.CloseLobbyAsync(); }, this.option.terminate_time_ms); } } CloseLobby(time_ms = 0) { - if (time_ms == 0) { - if (this.lobby.players.size == 0) { - this.logger.info("terminated lobby"); + if (time_ms === 0) { + if (this.lobby.players.size === 0) { + this.logger.info('terminated lobby'); this.lobby.CloseLobbyAsync(); } else { this.lobby.SendMultilineMessageWithInterval([ - "!mp password closed", - "This lobby will be closed after everyone leaves.", - "Thank you for playing with the auto host rotation lobby." - ], this.multilimeMessageInterval, "close lobby announcement", 100000); + '!mp password closed', + 'This lobby will be closed after everyone leaves.', + 'Thank you for playing with the auto host rotation lobby.' + ], this.multilimeMessageInterval, 'close lobby announcement', 100000); this.option.terminate_time_ms = 1000; } } else { this.lobby.SendMultilineMessageWithInterval([ - "!mp password closed", + '!mp password closed', `This lobby will be closed in ${(time_ms / 1000).toFixed(0)}sec(s).`, - "Thank you for playing with the auto host rotation lobby." - ], this.multilimeMessageInterval, "close lobby announcement", 100000) - .then(() => this.sendMessageWithDelay("!mp close", time_ms)); + 'Thank you for playing with the auto host rotation lobby.' + ], this.multilimeMessageInterval, 'close lobby announcement', 100000) + .then(() => this.sendMessageWithDelay('!mp close', time_ms)); } } sendMessageWithDelay(message, delay) { diff --git a/dist/plugins/LobbyTerminator.js.map b/dist/plugins/LobbyTerminator.js.map index 709ce1ad..a685ad0f 100644 --- a/dist/plugins/LobbyTerminator.js.map +++ b/dist/plugins/LobbyTerminator.js.map @@ -1 +1 @@ -{"version":3,"file":"LobbyTerminator.js","sourceRoot":"","sources":["../../src/plugins/LobbyTerminator.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAG5C,gDAA2C;AAM3C,MAAa,eAAgB,SAAQ,yBAAW;IAK9C,YAAY,KAAY,EAAE,SAAyC,EAAE;QACnE,KAAK,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAHhD,6BAAwB,GAAW,IAAI,CAAC;QAItC,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAA0B,CAAC;QAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,IAAY;QACjD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;IACH,CAAC;IAEO,YAAY,CAAC,CAAS;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE;YAChC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACnC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC1C,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SACnC;IACH,CAAC;IAED,UAAU,CAAC,UAAkB,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,EAAE;YAChB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC;oBAC1C,qBAAqB;oBACrB,kDAAkD;oBAClD,0DAA0D;iBAC3D,EAAE,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACtC;SACF;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC;gBAC1C,qBAAqB;gBACrB,gCAAgC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACpE,0DAA0D;aAC3D,EAAE,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,CAAC;iBAClE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;SAChE;IACH,CAAC;IAEO,oBAAoB,CAAC,OAAe,EAAE,KAAa;QACzD,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACjC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAzED,0CAyEC"} \ No newline at end of file +{"version":3,"file":"LobbyTerminator.js","sourceRoot":"","sources":["../../src/plugins/LobbyTerminator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/MapChecker.js b/dist/plugins/MapChecker.js index e283a24c..f9b9d18f 100644 --- a/dist/plugins/MapChecker.js +++ b/dist/plugins/MapChecker.js @@ -9,7 +9,7 @@ const BeatmapRepository_1 = require("../webapi/BeatmapRepository"); const TypedConfig_1 = require("../TypedConfig"); class MapChecker extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "MapChecker", "mapChecker"); + super(lobby, 'MapChecker', 'mapChecker'); this.lastMapId = 0; this.checkingMapId = 0; this.numViolations = 0; @@ -44,7 +44,7 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { } onJoinedLobby() { if (this.option.enabled) { - this.SendPluginMessage("enabledMapChecker"); + this.SendPluginMessage('enabledMapChecker'); } } onMatchStarted() { @@ -60,8 +60,8 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { } } onReceivedChatCommand(command, param, player) { - if (command == "!r" || command == "!regulation") { - this.lobby.SendMessageWithCoolTime(this.getRegulationDescription(), "regulation", 10000); + if (command === '!r' || command === '!regulation') { + this.lobby.SendMessageWithCoolTime(this.getRegulationDescription(), 'regulation', 10000); return; } if (player.isAuthorized) { @@ -78,33 +78,33 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { } if (p.num_violations_allowed !== undefined) { this.option.num_violations_allowed = p.num_violations_allowed; - this.logger.info("num_violations_allowed was set to " + p.num_violations_allowed); + this.logger.info('num_violations_allowed was set to ' + p.num_violations_allowed); } let changed = false; if (p.star_min !== undefined) { this.option.star_min = p.star_min; - if (this.option.star_max <= this.option.star_min && 0 < this.option.star_max) { + if (this.option.star_max <= this.option.star_min && this.option.star_max > 0) { this.option.star_max = 0; } changed = true; } if (p.star_max !== undefined) { this.option.star_max = p.star_max; - if (this.option.star_max <= this.option.star_min && 0 < this.option.star_max) { + if (this.option.star_max <= this.option.star_min && this.option.star_max > 0) { this.option.star_min = 0; } changed = true; } if (p.length_min !== undefined) { this.option.length_min = p.length_min; - if (this.option.length_max <= this.option.length_min && 0 < this.option.length_max) { + if (this.option.length_max <= this.option.length_min && this.option.length_max > 0) { this.option.length_max = 0; } changed = true; } if (p.length_max !== undefined) { this.option.length_max = p.length_max; - if (this.option.length_max <= this.option.length_min && 0 < this.option.length_max) { + if (this.option.length_max <= this.option.length_min && this.option.length_max > 0) { this.option.length_min = 0; } changed = true; @@ -119,7 +119,7 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { changed = true; } if (changed) { - const m = "New regulation: " + this.validator.GetDescription(); + const m = 'New regulation: ' + this.validator.GetDescription(); this.lobby.SendMessage(m); this.logger.info(m); } @@ -133,21 +133,21 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { return this.validator.GetDescription(); } else { - return "Disabled (" + this.validator.GetDescription() + ")"; + return 'Disabled (' + this.validator.GetDescription() + ')'; } } SetEnabled(v) { - if (v == this.option.enabled) + if (v === this.option.enabled) return; if (v) { - this.SendPluginMessage("enabledMapChecker"); - this.lobby.SendMessage("mapChecker Enabled"); - this.logger.info("mapChecker Enabled"); + this.SendPluginMessage('enabledMapChecker'); + this.lobby.SendMessage('mapChecker Enabled'); + this.logger.info('mapChecker Enabled'); } else { - this.SendPluginMessage("disabledMapChecker"); - this.lobby.SendMessage("mapChecker Disabled"); - this.logger.info("mapChecker Disabled"); + this.SendPluginMessage('disabledMapChecker'); + this.lobby.SendMessage('mapChecker Disabled'); + this.logger.info('mapChecker Disabled'); } this.option.enabled = v; } @@ -156,16 +156,16 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { this.numViolations = 0; } async check(mapId, mapTitle) { - if (mapId == this.lastMapId) + if (mapId === this.lastMapId) return; try { const map = await BeatmapRepository_1.BeatmapRepository.getBeatmap(mapId, this.option.gamemode, this.option.allow_convert); - if (mapId != this.checkingMapId) { + if (mapId !== this.checkingMapId) { this.logger.info(`target map is already changed. checked:${mapId}, current:${this.checkingMapId}`); return; } const r = this.validator.RateBeatmap(map); - if (0 < r.rate) { + if (r.rate > 0) { this.rejectMap(r.message, true); } else { @@ -198,10 +198,10 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { } } skipHost() { - let msg = `The number of violations has reached ${this.option.num_violations_allowed}. Skipped ${this.lobby.host?.escaped_name}`; + const msg = `The number of violations has reached ${this.option.num_violations_allowed}. Skipped ${this.lobby.host?.escaped_name}`; this.logger.info(msg); this.lobby.SendMessage(msg); - this.SendPluginMessage("skip"); + this.SendPluginMessage('skip'); } rejectMap(reason, showRegulation) { this.numViolations += 1; @@ -209,18 +209,18 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { if (showRegulation) { this.lobby.SendMessage(`!mp map ${this.lastMapId} ${this.option.gamemode.value} | Current Regulation: ${this.validator.GetDescription()}`); this.lobby.SendMessage(reason); - this.lobby.SendMessage("*Attention! Difficulty will not be calculated correctly if a global mod is applied."); + this.lobby.SendMessage('*Attention! Difficulty will not be calculated correctly if a global mod is applied.'); } else { this.lobby.SendMessage(`!mp map ${this.lastMapId} ${this.option.gamemode.value} | ${reason}`); } this.checkingMapId = 0; - if (this.option.num_violations_allowed != 0 && this.option.num_violations_allowed <= this.numViolations) { + if (this.option.num_violations_allowed !== 0 && this.option.num_violations_allowed <= this.numViolations) { this.skipHost(); } } acceptMap(map) { - this.SendPluginMessage("validatedMap"); + this.SendPluginMessage('validatedMap'); this.lastMapId = this.lobby.mapId; if (map.beatmapset) { const desc = this.getMapDescription(map, map.beatmapset); @@ -245,9 +245,9 @@ class MapChecker extends LobbyPlugin_1.LobbyPlugin { } exports.MapChecker = MapChecker; function secToTimeNotation(sec) { - let m = Math.floor(sec / 60); - let s = Math.round(sec - m * 60); - return `${m}:${s.toString().padStart(2, "0")}`; + const m = Math.floor(sec / 60); + const s = Math.round(sec - m * 60); + return `${m}:${s.toString().padStart(2, '0')}`; } exports.secToTimeNotation = secToTimeNotation; class MapValidator { @@ -257,123 +257,123 @@ class MapValidator { } RateBeatmap(map) { let rate = 0; - let violationMsgs = []; + const violationMsgs = []; const mapmode = Modes_1.PlayMode.from(map.mode); - if (mapmode != this.option.gamemode && this.option.gamemode != null) { + if (mapmode !== this.option.gamemode && this.option.gamemode !== null) { violationMsgs.push(`gamemode is not ${this.option.gamemode.officialName}.`); rate += 1; } - if (0 < this.option.star_min && map.difficulty_rating < this.option.star_min) { + if (this.option.star_min > 0 && map.difficulty_rating < this.option.star_min) { rate += parseFloat((this.option.star_min - map.difficulty_rating).toFixed(2)); - violationMsgs.push("map star rating is lower than allowed star rating."); + violationMsgs.push('map star rating is lower than allowed star rating.'); } - if (0 < this.option.star_max && this.option.star_max < map.difficulty_rating) { + if (this.option.star_max > 0 && this.option.star_max < map.difficulty_rating) { rate += parseFloat((map.difficulty_rating - this.option.star_max).toFixed(2)); - violationMsgs.push("map star rating is higher than allowed star rating."); + violationMsgs.push('map star rating is higher than allowed star rating.'); } - if (0 < this.option.length_min && map.total_length < this.option.length_min) { + if (this.option.length_min > 0 && map.total_length < this.option.length_min) { rate += (this.option.length_min - map.total_length) / 60.0; - violationMsgs.push("map duration is shorter than allowed duration."); + violationMsgs.push('map duration is shorter than allowed duration.'); } - if (0 < this.option.length_max && this.option.length_max < map.total_length) { + if (this.option.length_max > 0 && this.option.length_max < map.total_length) { rate += (map.total_length - this.option.length_max) / 60.0; - violationMsgs.push("map duration is longer than allowed duration."); + violationMsgs.push('map duration is longer than allowed duration.'); } - if (0 < rate) { + if (rate > 0) { let message; const mapDesc = `[${map.url} ${map.beatmapset?.title}] (Star Rating: ${map.difficulty_rating} Duration: ${secToTimeNotation(map.total_length)})`; - if (violationMsgs.length == 1) { + if (violationMsgs.length === 1) { message = `${mapDesc} was rejected because ${violationMsgs[0]}`; } else { - message = `${mapDesc} was rejected because of following reason:\n${violationMsgs.map(m => "- " + m).join("\n")}`; + message = `${mapDesc} was rejected because of following reason:\n${violationMsgs.map(m => '- ' + m).join('\n')}`; } return { rate, message }; } else { - return { rate: 0, message: "" }; + return { rate: 0, message: '' }; } } GetDescription() { - let d_star = ""; - let d_length = ""; + let d_star = ''; + let d_length = ''; let d_gamemode = `mode: ${this.option.gamemode.officialName}`; - if (this.option.gamemode != Modes_1.PlayMode.Osu) { + if (this.option.gamemode !== Modes_1.PlayMode.Osu) { if (this.option.allow_convert) { - d_gamemode += " (converts allowed)"; + d_gamemode += ' (converts allowed)'; } else { - d_gamemode += " (converts disallowed)"; + d_gamemode += ' (converts disallowed)'; } } - if (0 < this.option.star_min && 0 < this.option.star_max) { + if (this.option.star_min > 0 && this.option.star_max > 0) { d_star = `${this.option.star_min.toFixed(2)} <= difficulty <= ${this.option.star_max.toFixed(2)}`; } - else if (0 < this.option.star_min) { + else if (this.option.star_min > 0) { d_star = `${this.option.star_min.toFixed(2)} <= difficulty`; } - else if (0 < this.option.star_max) { + else if (this.option.star_max > 0) { d_star = `difficulty <= ${this.option.star_max.toFixed(2)}`; } - if (0 < this.option.length_min && 0 < this.option.length_max) { + if (this.option.length_min > 0 && this.option.length_max > 0) { d_length = `${secToTimeNotation(this.option.length_min)} <= length <= ${secToTimeNotation(this.option.length_max)}`; } - else if (0 < this.option.length_min) { + else if (this.option.length_min > 0) { d_length = `${secToTimeNotation(this.option.length_min)} <= length`; } - else if (0 < this.option.length_max) { + else if (this.option.length_max > 0) { d_length = `length <= ${secToTimeNotation(this.option.length_max)}`; } - return [d_star, d_length, d_gamemode].filter(d => d != "").join(", "); + return [d_star, d_length, d_gamemode].filter(d => d !== '').join(', '); } } exports.MapValidator = MapValidator; function validateMapCheckerOption(option) { if (option.enabled !== undefined) { - option.enabled = OptionValidator_1.validateOption.bool("MapChecker.enabled", option.enabled); + option.enabled = OptionValidator_1.validateOption.bool('MapChecker.enabled', option.enabled); } if (option.star_min !== undefined) { - option.star_min = OptionValidator_1.validateOption.number("MapChecker.star_min", option.star_min, 0); + option.star_min = OptionValidator_1.validateOption.number('MapChecker.star_min', option.star_min, 0); } if (option.star_max !== undefined) { - option.star_max = OptionValidator_1.validateOption.number("MapChecker.star_max", option.star_max, 0); + option.star_max = OptionValidator_1.validateOption.number('MapChecker.star_max', option.star_max, 0); } if (option.length_min !== undefined) { - option.length_min = OptionValidator_1.validateOption.number("MapChecker.length_min", option.length_min, 0); + option.length_min = OptionValidator_1.validateOption.number('MapChecker.length_min', option.length_min, 0); } if (option.length_max !== undefined) { - option.length_max = OptionValidator_1.validateOption.number("MapChecker.length_max", option.length_max, 0); + option.length_max = OptionValidator_1.validateOption.number('MapChecker.length_max', option.length_max, 0); } - if (option.star_max !== undefined && option.star_min !== undefined && option.star_max <= option.star_min && 0 < option.star_max) { + if (option.star_max !== undefined && option.star_min !== undefined && option.star_max <= option.star_min && option.star_max > 0) { option.star_min = 0; } - if (option.length_max !== undefined && option.length_min !== undefined && option.length_max <= option.length_min && 0 < option.length_max) { + if (option.length_max !== undefined && option.length_min !== undefined && option.length_max <= option.length_min && option.length_max > 0) { option.length_min = 0; } if (option.gamemode !== undefined) { - if (typeof option.gamemode == "string") { + if (typeof option.gamemode === 'string') { try { option.gamemode = Modes_1.PlayMode.from(option.gamemode, true); } catch { - throw new Error("option MapChecker#gamemode must be [osu | fruits | taiko | mania]."); + throw new Error('option MapChecker#gamemode must be [osu | fruits | taiko | mania].'); } } if (!(option.gamemode instanceof Modes_1.PlayMode)) { - throw new Error("option MapChecker#gamemode must be [osu | fruits | taiko | mania]."); + throw new Error('option MapChecker#gamemode must be [osu | fruits | taiko | mania].'); } } if (option.num_violations_to_skip !== undefined) { option.num_violations_allowed = option.num_violations_to_skip; } if (option.num_violations_allowed !== undefined) { - option.num_violations_allowed = OptionValidator_1.validateOption.number("MapChecker.num_violations_allowed", option.num_violations_allowed, 0); + option.num_violations_allowed = OptionValidator_1.validateOption.number('MapChecker.num_violations_allowed', option.num_violations_allowed, 0); } if (option.allowConvert !== undefined) { option.allow_convert = option.allowConvert; } if (option.allow_convert !== undefined) { - option.allow_convert = OptionValidator_1.validateOption.bool("MapChecker.allow_convert", option.allow_convert); + option.allow_convert = OptionValidator_1.validateOption.bool('MapChecker.allow_convert', option.allow_convert); } return true; } @@ -384,31 +384,31 @@ function validateMapCheckerOption(option) { function parseMapcheckerOwnerCommand(command, param) { let option = undefined; command = command.toLocaleLowerCase(); - if (command == "*mapchecker_enable") { + if (command === '*mapchecker_enable') { return { enabled: true }; } - if (command == "*mapchecker_disable") { + if (command === '*mapchecker_disable') { option = { enabled: false }; } - if (command.startsWith("*regulation")) { - if (param.indexOf("=") != -1) { + if (command.startsWith('*regulation')) { + if (param.indexOf('=') !== -1) { option = parseRegulationSetter(param); } else { - const params = param.split(/\s+/).map(s => s.toLowerCase()).filter(s => s != ""); + const params = param.split(/\s+/).map(s => s.toLowerCase()).filter(s => s !== ''); option = parseRegulationCommand(params); } } - if (command == "*no" && param.startsWith("regulation")) { - const params = param.split(/\s+/).map(s => s.toLowerCase()).filter(s => s != ""); - if (params.length == 1) { + if (command === '*no' && param.startsWith('regulation')) { + const params = param.split(/\s+/).map(s => s.toLowerCase()).filter(s => s !== ''); + if (params.length === 1) { option = { enabled: false }; } else { option = parseNoRegulationCommand(params[1]); } } - if (option != undefined) { + if (option !== undefined) { validateMapCheckerOption(option); } return option; @@ -416,67 +416,67 @@ function parseMapcheckerOwnerCommand(command, param) { exports.parseMapcheckerOwnerCommand = parseMapcheckerOwnerCommand; function parseRegulationCommand(params) { switch (unifyParamName(params[0])) { - case "enabled": + case 'enabled': return { enabled: true }; - case "disabled": + case 'disabled': return { enabled: false }; - case "num_violations_allowed": + case 'num_violations_allowed': if (params.length < 2) - throw new Error("missing parameter. *regulation num_violations_allowed [number]"); + throw new Error('missing parameter. *regulation num_violations_allowed [number]'); return { num_violations_allowed: params[1] }; - case "star_min": + case 'star_min': if (params.length < 2) - throw new Error("missing parameter. *regulation star_min [number]"); + throw new Error('missing parameter. *regulation star_min [number]'); return { star_min: params[1] }; - case "star_max": + case 'star_max': if (params.length < 2) - throw new Error("missing parameter. *regulation star_max [number]"); + throw new Error('missing parameter. *regulation star_max [number]'); return { star_max: params[1] }; - case "length_min": + case 'length_min': if (params.length < 2) - throw new Error("missing parameter. *regulation length_min [number]"); + throw new Error('missing parameter. *regulation length_min [number]'); return { length_min: params[1] }; - case "length_max": + case 'length_max': if (params.length < 2) - throw new Error("missing parameter. *regulation length_max [number]"); + throw new Error('missing parameter. *regulation length_max [number]'); return { length_max: params[1] }; - case "gamemode": + case 'gamemode': if (params.length < 2) - throw new Error("missing parameter. *regulation gamemode [osu | fruits | taiko | mania]"); + throw new Error('missing parameter. *regulation gamemode [osu | fruits | taiko | mania]'); return { gamemode: params[1] }; - case "allow_convert": + case 'allow_convert': if (params.length < 2) { return { allow_convert: true }; } else { return { allow_convert: params[1] }; } - case "disallow_convert": + case 'disallow_convert': return { allow_convert: false }; } - throw new Error("missing parameter. *regulation [enable | disable | star_min | star_max | length_min | length_max | gamemode | num_violations_allowed] <...params>"); + throw new Error('missing parameter. *regulation [enable | disable | star_min | star_max | length_min | length_max | gamemode | num_violations_allowed] <...params>'); } function parseNoRegulationCommand(param) { switch (unifyParamName(param)) { - case "num_violations_allowed": + case 'num_violations_allowed': return { num_violations_allowed: 0 }; - case "star_min": + case 'star_min': return { star_min: 0 }; - case "star_max": + case 'star_max': return { star_max: 0 }; - case "length_min": + case 'length_min': return { length_min: 0 }; - case "length_max": + case 'length_max': return { length_max: 0 }; - case "gamemode": + case 'gamemode': return { gamemode: Modes_1.PlayMode.Osu, allow_convert: true }; - case "allow_convert": + case 'allow_convert': return { allow_convert: false }; } } function parseRegulationSetter(param) { - let result = {}; - for (const m of param.matchAll(/([0-9a-zA-Z_\-]+)\s*=\s*([^\s,]+)/g)) { + const result = {}; + for (const m of param.matchAll(/([0-9a-zA-Z_-]+)\s*=\s*([^\s,]+)/g)) { const name = unifyParamName(m[1]); const value = m[2]; result[name] = value; @@ -485,36 +485,36 @@ function parseRegulationSetter(param) { } function unifyParamName(name) { name = name.toLowerCase(); - if (name.includes("star") || name.includes("diff")) { - if (name.includes("low") || name.includes("min")) { - return "star_min"; + if (name.includes('star') || name.includes('diff')) { + if (name.includes('low') || name.includes('min')) { + return 'star_min'; } - else if (name.includes("up") || name.includes("max")) { - return "star_max"; + else if (name.includes('up') || name.includes('max')) { + return 'star_max'; } } - else if (name.includes("len")) { - if (name.includes("low") || name.includes("min")) { - return "length_min"; + else if (name.includes('len')) { + if (name.includes('low') || name.includes('min')) { + return 'length_min'; } - else if (name.includes("up") || name.includes("max")) { - return "length_max"; + else if (name.includes('up') || name.includes('max')) { + return 'length_max'; } } - else if (name.startsWith("enable")) { - return "enabled"; + else if (name.startsWith('enable')) { + return 'enabled'; } - else if (name.startsWith("disable")) { - return "disabled"; + else if (name.startsWith('disable')) { + return 'disabled'; } - else if (name == "num_violations_to_skip" || name.includes("violations")) { - return "num_violations_allowed"; + else if (name === 'num_violations_to_skip' || name.includes('violations')) { + return 'num_violations_allowed'; } - else if (name == "allowconvert") { - return "allow_convert"; + else if (name === 'allowconvert') { + return 'allow_convert'; } - else if (name == "disallowconvert") { - return "disallow_convert"; + else if (name === 'disallowconvert') { + return 'disallow_convert'; } return name; } diff --git a/dist/plugins/MapChecker.js.map b/dist/plugins/MapChecker.js.map index 5aae4c5b..a44b7fce 100644 --- a/dist/plugins/MapChecker.js.map +++ b/dist/plugins/MapChecker.js.map @@ -1 +1 @@ -{"version":3,"file":"MapChecker.js","sourceRoot":"","sources":["../../src/plugins/MapChecker.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"MapChecker.js","sourceRoot":"","sources":["../../src/plugins/MapChecker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/MapRecaster.js b/dist/plugins/MapRecaster.js index f8eac95c..abae4cba 100644 --- a/dist/plugins/MapRecaster.js +++ b/dist/plugins/MapRecaster.js @@ -3,31 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.MapRecaster = void 0; const LobbyPlugin_1 = require("./LobbyPlugin"); const CommandParser_1 = require("../parsers/CommandParser"); -const TypedConfig_1 = require("../TypedConfig"); /** * ホストが古いバージョンのマップを選択した際に、コマンドでマップを貼り直して最新版にする。 * !updateコマンドなどで発動。マップ選択後に1度だけ実行できる。 */ class MapRecaster extends LobbyPlugin_1.LobbyPlugin { - constructor(lobby, option = {}) { - super(lobby, "MapRecaster", "recaster"); + constructor(lobby) { + super(lobby, 'MapRecaster', 'recaster'); this.canRecast = true; - this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.registerEvents(); } registerEvents() { this.lobby.ReceivedChatCommand.on(a => this.onReceivedChatCommand(a.command, a.param, a.player)); this.lobby.ReceivedBanchoResponse.on(a => { - if (a.response.type == CommandParser_1.BanchoResponseType.BeatmapChanged) { + if (a.response.type === CommandParser_1.BanchoResponseType.BeatmapChanged) { this.canRecast = true; } }); } onReceivedChatCommand(command, param, player) { - if (command == "!update") { + if (command === '!update') { if (this.canRecast) { this.canRecast = false; - this.lobby.SendMessage("!mp map " + this.lobby.mapId); + this.lobby.SendMessage('!mp map ' + this.lobby.mapId); } } } diff --git a/dist/plugins/MapRecaster.js.map b/dist/plugins/MapRecaster.js.map index 1280c470..34ffa1bf 100644 --- a/dist/plugins/MapRecaster.js.map +++ b/dist/plugins/MapRecaster.js.map @@ -1 +1 @@ -{"version":3,"file":"MapRecaster.js","sourceRoot":"","sources":["../../src/plugins/MapRecaster.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAC5C,4DAA8D;AAC9D,gDAA2C;AAK3C;;;GAGG;AACH,MAAa,WAAY,SAAQ,yBAAW;IAG1C,YAAY,KAAY,EAAE,SAAqC,EAAE;QAC/D,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAF1C,cAAS,GAAY,IAAI,CAAC;QAGxB,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAsB,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,kCAAkB,CAAC,cAAc,EAAE;gBACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;QAC1E,IAAI,OAAO,IAAI,SAAS,EAAE;YACxB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACvD;SACF;IACH,CAAC;CACF;AA1BD,kCA0BC"} \ No newline at end of file +{"version":3,"file":"MapRecaster.js","sourceRoot":"","sources":["../../src/plugins/MapRecaster.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;AAC5C,4DAA8D;AAE9D;;;GAGG;AACH,MAAa,WAAY,SAAQ,yBAAW;IAE1C,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAF1C,cAAS,GAAY,IAAI,CAAC;QAGxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,kCAAkB,CAAC,cAAc,EAAE;gBACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;QAC1E,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACvD;SACF;IACH,CAAC;CACF;AAxBD,kCAwBC"} \ No newline at end of file diff --git a/dist/plugins/MatchAborter.js b/dist/plugins/MatchAborter.js index 21a14e2f..1e57feda 100644 --- a/dist/plugins/MatchAborter.js +++ b/dist/plugins/MatchAborter.js @@ -12,7 +12,7 @@ const TypedConfig_1 = require("../TypedConfig"); */ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "MatchAborter", "aborter"); + super(lobby, 'MatchAborter', 'aborter'); this.abortTimer = null; this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.voting = new VoteCounter_1.VoteCounter(this.option.vote_rate, this.option.vote_min); @@ -35,14 +35,14 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { this.checkVoteCount(); this.checkAutoAbort(); // 誰もいなくなったらタイマーを止める - if (this.lobby.players.size == 0) { + if (this.lobby.players.size === 0) { this.voting.Clear(); this.stopTimer(); } } onMatchStarted() { this.voting.RemoveAllVoters(); - for (let p of this.lobby.players) { + for (const p of this.lobby.players) { this.voting.AddVoter(p); } } @@ -55,9 +55,9 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { onChatCommand(player, command, param) { if (!this.lobby.isMatching) return; - if (command == "!abort") { - if (player == this.lobby.host) { - this.logger.trace("host(%s) sent !abort command", player.name); + if (command === '!abort') { + if (player === this.lobby.host) { + this.logger.trace('host(%s) sent !abort command', player.name); this.doAbort(); } else { @@ -65,7 +65,7 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { } } else if (player.isAuthorized) { - if (command == "*abort") { + if (command === '*abort') { this.doAbort(); } } @@ -74,20 +74,20 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { if (this.voting.passed) return; if (this.voting.Vote(player)) { - this.logger.trace("accept abort request from %s (%s)", player.name, this.voting.toString()); + this.logger.trace('accept abort request from %s (%s)', player.name, this.voting.toString()); this.checkVoteCount(true); } else { - this.logger.trace("vote from %s was ignored", player.name); + this.logger.trace('vote from %s was ignored', player.name); } } // 投票数を確認して必要数に達していたら試合中断 checkVoteCount(showMessage = false) { - if (this.voting.count != 0 && showMessage) { - this.lobby.DeferMessage(`bot : match abort progress: ${this.voting.toString()}`, "aborter vote", this.option.vote_msg_defer_ms, false); + if (this.voting.count !== 0 && showMessage) { + this.lobby.DeferMessage(`bot : match abort progress: ${this.voting.toString()}`, 'aborter vote', this.option.vote_msg_defer_ms, false); } if (this.voting.passed) { - this.lobby.DeferMessage(`bot : passed abort vote: ${this.voting.toString()}`, "aborter vote", 100, true); + this.lobby.DeferMessage(`bot : passed abort vote: ${this.voting.toString()}`, 'aborter vote', 100, true); this.doAbort(); } } @@ -96,7 +96,7 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { return Math.ceil(Math.max(this.lobby.playersInGame * this.option.vote_rate, this.option.vote_min)); } checkAutoAbort() { - if (this.abortTimer == null) { + if (this.abortTimer === null) { if (this.autoAbortRequired <= this.lobby.playersFinished) { // 半数以上終了したらタイマー起動 this.startTimer(); } @@ -106,35 +106,35 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { return Math.ceil(this.lobby.playersInGame * this.option.auto_abort_rate); } doAbort() { - this.logger.info("do abort"); + this.logger.info('do abort'); this.stopTimer(); this.lobby.AbortMatch(); } startTimer() { - if (this.option.auto_abort_delay_ms == 0) + if (this.option.auto_abort_delay_ms === 0) return; this.stopTimer(); - this.logger.trace("start timer"); + this.logger.trace('start timer'); this.abortTimer = setTimeout(() => { - if (this.abortTimer != null && this.lobby.isMatching) { - this.logger.trace("abort timer action"); + if (this.abortTimer !== null && this.lobby.isMatching) { + this.logger.trace('abort timer action'); this.doAutoAbortAsync(); } }, this.option.auto_abort_delay_ms); } async doAutoAbortAsync() { - const playersStillPlaying = Array.from(this.lobby.players).filter(v => v.mpstatus == Player_1.MpStatuses.Playing); - for (let p of playersStillPlaying) { - if (p.mpstatus == Player_1.MpStatuses.Playing) { + const playersStillPlaying = Array.from(this.lobby.players).filter(v => v.mpstatus === Player_1.MpStatuses.Playing); + for (const p of playersStillPlaying) { + if (p.mpstatus === Player_1.MpStatuses.Playing) { try { const stat = await this.lobby.RequestStatAsync(p, true); - if (stat.status == StatParser_1.StatStatuses.Multiplaying) { + if (stat.status === StatParser_1.StatStatuses.Multiplaying) { this.startTimer(); return; } } catch { - this.logger.warn("couldn't get players status. AutoAbortCheck was canceled."); + this.logger.warn('couldn\'t get players status. AutoAbortCheck was canceled.'); } } } @@ -144,18 +144,18 @@ class MatchAborter extends LobbyPlugin_1.LobbyPlugin { this.doAbort(); } else { - this.lobby.SendMessage("bot : if the game is stuck, abort the game with !abort vote."); + this.lobby.SendMessage('bot : if the game is stuck, abort the game with !abort vote.'); } } stopTimer() { - if (this.abortTimer != null) { - this.logger.trace("stop timer"); + if (this.abortTimer !== null) { + this.logger.trace('stop timer'); clearTimeout(this.abortTimer); this.abortTimer = null; } } GetPluginStatus() { - return `-- Match Aborter -- timer : ${this.abortTimer != null ? "active" : "###"}, vote : ${this.voting.toString()}`; + return `-- Match Aborter -- timer : ${this.abortTimer !== null ? 'active' : '###'}, vote : ${this.voting.toString()}`; } } exports.MatchAborter = MatchAborter; diff --git a/dist/plugins/MatchAborter.js.map b/dist/plugins/MatchAborter.js.map index 36cf80fa..70dc448c 100644 --- a/dist/plugins/MatchAborter.js.map +++ b/dist/plugins/MatchAborter.js.map @@ -1 +1 @@ -{"version":3,"file":"MatchAborter.js","sourceRoot":"","sources":["../../src/plugins/MatchAborter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"MatchAborter.js","sourceRoot":"","sources":["../../src/plugins/MatchAborter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/MatchStarter.js b/dist/plugins/MatchStarter.js index 7ca67bf4..afbfaa0f 100644 --- a/dist/plugins/MatchStarter.js +++ b/dist/plugins/MatchStarter.js @@ -7,7 +7,7 @@ const VoteCounter_1 = require("./VoteCounter"); const TypedConfig_1 = require("../TypedConfig"); class MatchStarter extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "MatchStarter", "starter"); + super(lobby, 'MatchStarter', 'starter'); this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.voting = new VoteCounter_1.VoteCounter(this.option.vote_rate, this.option.vote_min); this.registerEvents(); @@ -37,7 +37,7 @@ class MatchStarter extends LobbyPlugin_1.LobbyPlugin { if (this.lobby.isMatching) return; this.checkVoteCount(); - if (this.lobby.players.size == 0) { + if (this.lobby.players.size === 0) { this.stopTimer(); } } @@ -56,8 +56,8 @@ class MatchStarter extends LobbyPlugin_1.LobbyPlugin { if (this.lobby.isMatching) return; switch (command) { - case "!start": - if (param == "") { + case '!start': + if (param === '') { if (player.isHost) { this.start(); } @@ -69,33 +69,33 @@ class MatchStarter extends LobbyPlugin_1.LobbyPlugin { this.startTimer(parseInt(param)); } break; - case "!stop": - case "!abort": + case '!stop': + case '!abort': if (player.isHost || player.isAuthorized) { if (this.IsSelfStartTimerActive) { - this.lobby.SendMessage("Aborted the match start timer"); + this.lobby.SendMessage('Aborted the match start timer'); this.stopTimer(); } } break; - case "*start": + case '*start': if (player.isAuthorized) { this.start(); } } } onPluginMessage(type, args, src) { - if (type == "mp_start") { - if (args.length == 0) { + if (type === 'mp_start') { + if (args.length === 0) { this.start(); } else { const count = parseInt(args[0]); - const withhelp = args[1] !== undefined && args[1] === "withhelp"; + const withhelp = args[1] !== undefined && args[1] === 'withhelp'; this.startTimer(count, withhelp); } } - else if (type == "mp_abort_start") { + else if (type === 'mp_abort_start') { this.stopTimer(); } } @@ -103,74 +103,74 @@ class MatchStarter extends LobbyPlugin_1.LobbyPlugin { if (this.voting.passed) return; if (this.voting.Vote(player)) { - this.logger.trace("accepted start request from %s", player.name); + this.logger.trace('accepted start request from %s', player.name); this.checkVoteCount(true); } else { - this.logger.trace("vote was ignored"); + this.logger.trace('vote was ignored'); } } // 投票状況を確認して、必要数に達している場合は試合を開始する checkVoteCount(showMessage = false) { - if (this.voting.count != 0 && showMessage) { - this.lobby.DeferMessage(`bot : Match start progress: ${this.voting.toString()}`, "match start vote", this.option.vote_msg_defer_ms, false); + if (this.voting.count !== 0 && showMessage) { + this.lobby.DeferMessage(`bot : Match start progress: ${this.voting.toString()}`, 'match start vote', this.option.vote_msg_defer_ms, false); } if (this.voting.passed) { - this.lobby.DeferMessage(`bot : passed start vote: ${this.voting.toString()}`, "match start vote", 100, true); + this.lobby.DeferMessage(`bot : passed start vote: ${this.voting.toString()}`, 'match start vote', 100, true); this.start(); } } startTimer(count, withHint = false) { - if (count == 0) { + if (count === 0) { this.start(); } else { - this.lobby.SendMessage(`Queued the match to start in ${this.secsToCountdownText(count)}${withHint ? ". (Host can stop the timer with !stop command.)" : ""}`); - this.lobby.DeferMessage("!mp start", "mp_start", count * 1000, true); - if (15 < count) { - this.lobby.DeferMessage("Match starts in 10 seconds", "mp_start 10 sec", (count - 10) * 1000, true); + this.lobby.SendMessage(`Queued the match to start in ${this.secsToCountdownText(count)}${withHint ? '. (Host can stop the timer with !stop command.)' : ''}`); + this.lobby.DeferMessage('!mp start', 'mp_start', count * 1000, true); + if (count > 15) { + this.lobby.DeferMessage('Match starts in 10 seconds', 'mp_start 10 sec', (count - 10) * 1000, true); } } } secsToCountdownText(secs) { const min = Math.floor(secs / 60); const sec = Math.floor(secs % 60); - let strMin = ""; - let strAnd = ""; - let strSec = ""; + let strMin = ''; + let strAnd = ''; + let strSec = ''; if (min > 1) { - strMin = min.toString() + " minutes"; + strMin = min.toString() + ' minutes'; } - else if (min == 1) { - strMin = "1 minute"; + else if (min === 1) { + strMin = '1 minute'; } if (min > 0 && sec > 0) { - strAnd = " and "; + strAnd = ' and '; } if (sec > 1) { - strSec = sec.toString() + " seconds"; + strSec = sec.toString() + ' seconds'; } - else if (sec == 1) { - strSec = "1 second"; + else if (sec === 1) { + strSec = '1 second'; } return `${strMin}${strAnd}${strSec}`; } start() { this.stopTimer(); - this.lobby.SendMessageWithCoolTime("!mp start", "mp_start", 1000); + this.lobby.SendMessageWithCoolTime('!mp start', 'mp_start', 1000); this.voting.Clear(); } stopTimer() { - this.lobby.CancelDeferredMessage("mp_start"); - this.lobby.CancelDeferredMessage("mp_start 10 sec"); - this.lobby.CancelDeferredMessage("match start vote"); + this.lobby.CancelDeferredMessage('mp_start'); + this.lobby.CancelDeferredMessage('mp_start 10 sec'); + this.lobby.CancelDeferredMessage('match start vote'); if (this.lobby.isStartTimerActive) { - this.lobby.SendMessage("!mp aborttimer"); + this.lobby.SendMessage('!mp aborttimer'); } } get IsSelfStartTimerActive() { - if ("mp_start" in this.lobby.deferredMessages) { - return !this.lobby.deferredMessages["mp_start"].done; + if ('mp_start' in this.lobby.deferredMessages) { + return !this.lobby.deferredMessages['mp_start'].done; } return false; } diff --git a/dist/plugins/MatchStarter.js.map b/dist/plugins/MatchStarter.js.map index a723ab0a..897d5e78 100644 --- a/dist/plugins/MatchStarter.js.map +++ b/dist/plugins/MatchStarter.js.map @@ -1 +1 @@ -{"version":3,"file":"MatchStarter.js","sourceRoot":"","sources":["../../src/plugins/MatchStarter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"MatchStarter.js","sourceRoot":"","sources":["../../src/plugins/MatchStarter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/MiscLoader.js b/dist/plugins/MiscLoader.js index 3f5d9f29..cafe2b2e 100644 --- a/dist/plugins/MiscLoader.js +++ b/dist/plugins/MiscLoader.js @@ -6,39 +6,37 @@ const CommandParser_1 = require("../parsers/CommandParser"); const BeatmapRepository_1 = require("../webapi/BeatmapRepository"); const ProfileRepository_1 = require("../webapi/ProfileRepository"); const WebApiClient_1 = require("../webapi/WebApiClient"); -const TypedConfig_1 = require("../TypedConfig"); /** * Get beatmap mirror link from Beatconnect * Use !mirror to fetch the mirror link */ class MiscLoader extends LobbyPlugin_1.LobbyPlugin { - constructor(lobby, option = {}) { - super(lobby, "MiscLoader", "miscLoader"); + constructor(lobby) { + super(lobby, 'MiscLoader', 'miscLoader'); this.canResend = true; - this.beatconnectURL = "https://beatconnect.io/b/${beatmapset_id}"; - this.kitsuURL = "https://kitsu.moe/d/${beatmapset_id}"; + this.beatconnectURL = 'https://beatconnect.io/b/${beatmapset_id}'; + this.kitsuURL = 'https://kitsu.moe/d/${beatmapset_id}'; this.canSeeRank = false; if (WebApiClient_1.WebApiClient.available) { this.canSeeRank = true; } - this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.registerEvents(); } registerEvents() { this.lobby.ReceivedChatCommand.on(a => this.onReceivedChatCommand(a.command, a.param, a.player)); this.lobby.ReceivedBanchoResponse.on(a => { - if (a.response.type == CommandParser_1.BanchoResponseType.BeatmapChanged) { + if (a.response.type === CommandParser_1.BanchoResponseType.BeatmapChanged) { this.canResend = true; } }); } async onReceivedChatCommand(command, param, player) { - if (command == "!mirror") { + if (command === '!mirror') { if (this.canResend) { this.checkMirror(this.lobby.mapId); } } - if (command == "!rank") { + if (command === '!rank') { this.getProfile(player); } } @@ -47,31 +45,31 @@ class MiscLoader extends LobbyPlugin_1.LobbyPlugin { if (!this.canSeeRank) { return; } - let currentPlayer = this.lobby.GetPlayer(player.name); + const currentPlayer = this.lobby.GetPlayer(player.name); if (!currentPlayer) return; - if (currentPlayer.id == 0 || this.lobby.gameMode == undefined) { - this.lobby.SendMessageWithCoolTime("!stats " + currentPlayer.name, "!rank", 10000); + if (currentPlayer.id === 0 || this.lobby.gameMode === undefined) { + this.lobby.SendMessageWithCoolTime('!stats ' + currentPlayer.name, '!rank', 10000); return; } - let selectedMode = ""; + let selectedMode = ''; switch (this.lobby.gameMode.value) { - case "0": - selectedMode = "osu"; + case '0': + selectedMode = 'osu'; break; - case "1": - selectedMode = "taiko"; + case '1': + selectedMode = 'taiko'; break; - case "2": - selectedMode = "fruits"; + case '2': + selectedMode = 'fruits'; break; - case "3": - selectedMode = "mania"; + case '3': + selectedMode = 'mania'; break; } const profile = await WebApiClient_1.WebApiClient.getPlayer(currentPlayer.id, selectedMode); - const msg = profile.username + " your rank is #" + profile.statistics.global_rank; - this.lobby.SendMessageWithCoolTime(msg, "!rank", 5000); + const msg = profile.username + ' your rank is #' + profile.statistics.global_rank; + this.lobby.SendMessageWithCoolTime(msg, '!rank', 5000); } catch (e) { if (e instanceof ProfileRepository_1.FetchProfileError) { @@ -91,18 +89,18 @@ class MiscLoader extends LobbyPlugin_1.LobbyPlugin { } async checkMirror(mapId) { try { - let map = await BeatmapRepository_1.BeatmapRepository.getBeatmap(mapId, this.lobby.gameMode); + const map = await BeatmapRepository_1.BeatmapRepository.getBeatmap(mapId, this.lobby.gameMode); this.canResend = false; if (!map) { - this.lobby.SendMessage("Current beatmap doesn't have mirror..."); + this.lobby.SendMessage('Current beatmap doesn\'t have mirror...'); this.canResend = false; return; } this.canResend = true; - var beatconnectLink = this.beatconnectURL.replace(/\$\{beatmapset_id\}/g, map.beatmapset_id.toString()); - var kitsuLink = this.kitsuURL.replace(/\$\{beatmapset_id\}/g, map.beatmapset_id.toString()); - var beatmapView = map.beatmapset?.title.toString(); - this.lobby.SendMessageWithCoolTime(`Alternative download link for ${beatmapView} : [${beatconnectLink} BeatConnect.io] | [${kitsuLink} Kitsu.moe]`, "!mirror", 5000); + const beatconnectLink = this.beatconnectURL.replace(/\$\{beatmapset_id\}/g, map.beatmapset_id.toString()); + const kitsuLink = this.kitsuURL.replace(/\$\{beatmapset_id\}/g, map.beatmapset_id.toString()); + const beatmapView = map.beatmapset?.title.toString(); + this.lobby.SendMessageWithCoolTime(`Alternative download link for ${beatmapView} : [${beatconnectLink} BeatConnect.io] | [${kitsuLink} Kitsu.moe]`, '!mirror', 5000); } catch (e) { this.canResend = false; diff --git a/dist/plugins/MiscLoader.js.map b/dist/plugins/MiscLoader.js.map index 93ae815c..36243255 100644 --- a/dist/plugins/MiscLoader.js.map +++ b/dist/plugins/MiscLoader.js.map @@ -1 +1 @@ -{"version":3,"file":"MiscLoader.js","sourceRoot":"","sources":["../../src/plugins/MiscLoader.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"MiscLoader.js","sourceRoot":"","sources":["../../src/plugins/MiscLoader.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/ProfileFecher.js b/dist/plugins/ProfileFecher.js index 989ad644..4c8b709b 100644 --- a/dist/plugins/ProfileFecher.js +++ b/dist/plugins/ProfileFecher.js @@ -6,7 +6,7 @@ const WebApiClient_1 = require("../webapi/WebApiClient"); const TypedConfig_1 = require("../TypedConfig"); class ProfileFecher extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "profile", "profile"); + super(lobby, 'profile', 'profile'); this.hasError = false; this.option = (0, TypedConfig_1.getConfig)(this.pluginName, option); this.profileMap = new Map(); @@ -28,7 +28,7 @@ class ProfileFecher extends LobbyPlugin_1.LobbyPlugin { addTaskQueueIfNeeded(player) { if (player.id !== 0) return false; - let profile = this.profileMap.get(player.name); + const profile = this.profileMap.get(player.name); if (profile && !this.isExpiredProfile(profile)) { player.id = profile.id; player.profile = profile; @@ -40,19 +40,19 @@ class ProfileFecher extends LobbyPlugin_1.LobbyPlugin { this.pendingNames.add(player.name); this.task = this.task.then(async () => { try { - let profile = await this.getProfileFromWebApi(player); - if (profile != null) { + const profile = await this.getProfileFromWebApi(player); + if (profile !== null) { player.id = profile.id; player.profile = profile; - this.logger.info("fetch profile :" + player.name); + this.logger.info('fetch profile :' + player.name); } else { - this.logger.warn("user not found! " + player.name); + this.logger.warn('user not found! ' + player.name); } this.pendingNames.delete(player.name); } catch (e) { - this.logger.error("@addTaskQueueIfNeeded" + e); + this.logger.error('@addTaskQueueIfNeeded' + e); } }); return true; diff --git a/dist/plugins/ProfileFecher.js.map b/dist/plugins/ProfileFecher.js.map index 8595dfe2..055f5fd2 100644 --- a/dist/plugins/ProfileFecher.js.map +++ b/dist/plugins/ProfileFecher.js.map @@ -1 +1 @@ -{"version":3,"file":"ProfileFecher.js","sourceRoot":"","sources":["../../src/plugins/ProfileFecher.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ProfileFecher.js","sourceRoot":"","sources":["../../src/plugins/ProfileFecher.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugins/VoteCounter.js b/dist/plugins/VoteCounter.js index f4696916..2924d14c 100644 --- a/dist/plugins/VoteCounter.js +++ b/dist/plugins/VoteCounter.js @@ -27,7 +27,7 @@ class VoteCounter { this.checkPassed(); } Clear() { - for (let k of this.voters.keys()) { + for (const k of this.voters.keys()) { this.voters.set(k, false); } this._passed = false; diff --git a/dist/plugins/VoteCounter.js.map b/dist/plugins/VoteCounter.js.map index 2ab45b81..2042a563 100644 --- a/dist/plugins/VoteCounter.js.map +++ b/dist/plugins/VoteCounter.js.map @@ -1 +1 @@ -{"version":3,"file":"VoteCounter.js","sourceRoot":"","sources":["../../src/plugins/VoteCounter.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IAMtB,YAAY,YAAoB,EAAE,WAAmB;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,CAAC;IAEM,IAAI,CAAC,MAAc;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ,CAAC,MAAc;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAChC;IACH,CAAC;IAEM,WAAW,CAAC,MAAc;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEM,KAAK;QACV,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACvB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EACpC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;IACH,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;CACF;AArED,kCAqEC"} \ No newline at end of file +{"version":3,"file":"VoteCounter.js","sourceRoot":"","sources":["../../src/plugins/VoteCounter.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IAMtB,YAAY,YAAoB,EAAE,WAAmB;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,CAAC;IAEM,IAAI,CAAC,MAAc;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ,CAAC,MAAc;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAChC;IACH,CAAC;IAEM,WAAW,CAAC,MAAc;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEM,KAAK;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACvB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EACpC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;IACH,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;CACF;AArED,kCAqEC"} \ No newline at end of file diff --git a/dist/plugins/WordCounter.js b/dist/plugins/WordCounter.js index 89a5c245..6e554dde 100644 --- a/dist/plugins/WordCounter.js +++ b/dist/plugins/WordCounter.js @@ -11,7 +11,7 @@ const config_1 = __importDefault(require("config")); */ class WordCounter extends LobbyPlugin_1.LobbyPlugin { constructor(lobby, option = {}) { - super(lobby, "WordCounter", "wcounter"); + super(lobby, 'WordCounter', 'wcounter'); this.samples = []; this.lastLogTime = 0; const d = config_1.default.get(this.pluginName); @@ -42,11 +42,11 @@ class WordCounter extends LobbyPlugin_1.LobbyPlugin { } } update(message, now) { - if (this.periods.length == 0) + if (this.periods.length === 0) return false; const ns = { time: now, length: message.length }; let changedMax = false; - for (let p of this.periods) { + for (const p of this.periods) { p.chatsPerPeriod++; p.wordsPerPeriod += ns.length; while (p.index < this.samples.length && this.samples[p.index].time + p.durationMs < now) { @@ -66,25 +66,25 @@ class WordCounter extends LobbyPlugin_1.LobbyPlugin { this.samples.push(ns); const topIndex = this.periods.reduce((p, a) => a.index < p ? a.index : p, 1000000); // 時間切れのサンプルが溜まってきたら捨てる - if (this.samples.length / 2 < topIndex && 100 < this.samples.length) { + if (this.samples.length / 2 < topIndex && this.samples.length > 100) { this.logger.trace(`gc start len:${this.samples.length}, idx:${topIndex}`); this.samples = this.samples.slice(topIndex); - for (let p of this.periods) { + for (const p of this.periods) { p.index -= topIndex; } } return changedMax; } log(msg, important) { - let f = (important ? this.logger.info : this.logger.debug).bind(this.logger); - f("msg:%s", msg); - for (let p of this.periods) { + const f = (important ? this.logger.info : this.logger.debug).bind(this.logger); + f('msg:%s', msg); + for (const p of this.periods) { f(` ${p.symbol}(${(p.durationMs / 1000).toFixed(2)}sec) cp${p.symbol}:${p.chatsPerPeriod}(max:${p.chatsPerPeriodMax}), wp${p.symbol}:${p.wordsPerPeriod}(max:${p.wordsPerPeriodMax}) `); } } GetPluginStatus() { - let m = "-- Word Counter --"; - for (let p of this.periods) { + let m = '-- Word Counter --'; + for (const p of this.periods) { m += `\n ${p.symbol}(${(p.durationMs / 1000).toFixed(2)}sec) cp${p.symbol}:${p.chatsPerPeriod}(max:${p.chatsPerPeriodMax}), wp${p.symbol}:${p.wordsPerPeriod}(max:${p.wordsPerPeriodMax}) `; } diff --git a/dist/plugins/WordCounter.js.map b/dist/plugins/WordCounter.js.map index ffec8f22..b0acf771 100644 --- a/dist/plugins/WordCounter.js.map +++ b/dist/plugins/WordCounter.js.map @@ -1 +1 @@ -{"version":3,"file":"WordCounter.js","sourceRoot":"","sources":["../../src/plugins/WordCounter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"WordCounter.js","sourceRoot":"","sources":["../../src/plugins/WordCounter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tests/AfkKickerTest.js b/dist/tests/AfkKickerTest.js index 6ac98273..6c4c7361 100644 --- a/dist/tests/AfkKickerTest.js +++ b/dist/tests/AfkKickerTest.js @@ -7,7 +7,7 @@ const chai_1 = require("chai"); const StatParser_1 = require("../parsers/StatParser"); const AfkKicker_1 = require("../plugins/AfkKicker"); const TestUtils_1 = __importDefault(require("./TestUtils")); -describe("AfkKicker Tests", function () { +describe('AfkKicker Tests', function () { before(function () { TestUtils_1.default.configMochaAsSilent(); }); @@ -16,136 +16,136 @@ describe("AfkKicker Tests", function () { const kicker = new AfkKicker_1.AfkKicker(li.lobby, { cooltime_ms: 0, threshold: 6, enabled: true }); return { kicker, ...li }; } - it("stat afk test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('stat afk test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); ircClient.SetStat(new StatParser_1.StatResult(players[0].escaped_name, 100, StatParser_1.StatStatuses.Afk)); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); - lobby.SendMessage("!stat p1"); - lobby.SendMessage("!stat p2"); + lobby.SendMessage('!stat p1'); + lobby.SendMessage('!stat p2'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 3); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); }); - it("zero score test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('zero score test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); - await ircClient.emulateMatchAsync(0, [{ name: "p1", score: 0, passed: false }, { name: "p2", score: 100, passed: true }]); + await ircClient.emulateMatchAsync(0, [{ name: 'p1', score: 0, passed: false }, { name: 'p2', score: 100, passed: true }]); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 2); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); - await ircClient.emulateMatchAsync(0, [{ name: "p1", score: 100, passed: true }, { name: "p2", score: 100, passed: true }]); + await ircClient.emulateMatchAsync(0, [{ name: 'p1', score: 100, passed: true }, { name: 'p2', score: 100, passed: true }]); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); }); - it("no map test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('no map test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); - await ircClient.emulateMatchAsync(0, [{ name: "p2", score: 100, passed: true }]); + await ircClient.emulateMatchAsync(0, [{ name: 'p2', score: 100, passed: true }]); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 2); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); - await ircClient.emulateMatchAsync(0, [{ name: "p1", score: 100, passed: true }, { name: "p2", score: 100, passed: true }]); + await ircClient.emulateMatchAsync(0, [{ name: 'p1', score: 100, passed: true }, { name: 'p2', score: 100, passed: true }]); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); }); - it("chat test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('chat test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); ircClient.SetStat(new StatParser_1.StatResult(players[0].escaped_name, 100, StatParser_1.StatStatuses.Afk)); - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 3); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); - ircClient.emulateMessage("p1", ircClient.channel, "hello"); + ircClient.emulateMessage('p1', ircClient.channel, 'hello'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 2); - ircClient.emulateMessage("p1", ircClient.channel, "hello"); + ircClient.emulateMessage('p1', ircClient.channel, 'hello'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 1); - ircClient.emulateMessage("p1", ircClient.channel, "hello"); + ircClient.emulateMessage('p1', ircClient.channel, 'hello'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); - ircClient.emulateMessage("p1", ircClient.channel, "hello"); + ircClient.emulateMessage('p1', ircClient.channel, 'hello'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 0); - ircClient.emulateMessage("p2", ircClient.channel, "hello"); + ircClient.emulateMessage('p2', ircClient.channel, 'hello'); chai_1.assert.equal(kicker.playerStats.get(players[1])?.afkPoint, 0); }); - it("kick test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('kick test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); ircClient.SetStat(new StatParser_1.StatResult(players[0].escaped_name, 100, StatParser_1.StatStatuses.Afk)); - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 3); - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.notInclude(lobby.players, players[0]); chai_1.assert.include(lobby.players, players[1]); }); - it("cooltime test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('cooltime test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); kicker.option.threshold = 100; kicker.option.cooltime_ms = 0; ircClient.SetStat(new StatParser_1.StatResult(players[0].escaped_name, 100, StatParser_1.StatStatuses.Afk)); - lobby.SendMessage("!stat p1"); - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 6); kicker.option.cooltime_ms = 1000; - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 6); kicker.option.cooltime_ms = 0; - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 9); }); - it("enabled / disabled test", async () => { - let { kicker, lobby, ircClient } = await setupAsync(); - let players = (await TestUtils_1.default.AddPlayersAsync(["p1", "p2"], ircClient)) + it('enabled / disabled test', async () => { + const { kicker, lobby, ircClient } = await setupAsync(); + const players = (await TestUtils_1.default.AddPlayersAsync(['p1', 'p2'], ircClient)) .map(name => lobby.GetOrMakePlayer(name)); kicker.option.threshold = 100; kicker.option.cooltime_ms = 0; ircClient.SetStat(new StatParser_1.StatResult(players[0].escaped_name, 100, StatParser_1.StatStatuses.Afk)); - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 3); kicker.option.enabled = false; - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 3); kicker.option.enabled = true; - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 6); kicker.option.enabled = false; - lobby.SendMessage("!stat p1"); + lobby.SendMessage('!stat p1'); chai_1.assert.equal(kicker.playerStats.get(players[0])?.afkPoint, 6); }); - it("command tests", async () => { - let { kicker, lobby } = await setupAsync(); + it('command tests', async () => { + const { kicker, lobby } = await setupAsync(); kicker.option.enabled = false; kicker.option.cooltime_ms = 0; kicker.option.threshold = 0; - await TestUtils_1.default.sendMessageAsOwner(lobby, "*afkkick_enable"); + await TestUtils_1.default.sendMessageAsOwner(lobby, '*afkkick_enable'); chai_1.assert.isTrue(kicker.option.enabled); chai_1.assert.equal(kicker.option.cooltime_ms, 0); chai_1.assert.equal(kicker.option.threshold, 0); - await TestUtils_1.default.sendMessageAsOwner(lobby, "*afkkick_disable"); + await TestUtils_1.default.sendMessageAsOwner(lobby, '*afkkick_disable'); chai_1.assert.isFalse(kicker.option.enabled); chai_1.assert.equal(kicker.option.cooltime_ms, 0); chai_1.assert.equal(kicker.option.threshold, 0); - await TestUtils_1.default.sendMessageAsOwner(lobby, "*afkkick_threshold 100"); + await TestUtils_1.default.sendMessageAsOwner(lobby, '*afkkick_threshold 100'); chai_1.assert.isFalse(kicker.option.enabled); chai_1.assert.equal(kicker.option.cooltime_ms, 0); chai_1.assert.equal(kicker.option.threshold, 100); - await TestUtils_1.default.sendMessageAsOwner(lobby, "*afkkick_threshold 0"); + await TestUtils_1.default.sendMessageAsOwner(lobby, '*afkkick_threshold 0'); chai_1.assert.isFalse(kicker.option.enabled); chai_1.assert.equal(kicker.option.cooltime_ms, 0); chai_1.assert.equal(kicker.option.threshold, 1); // min v = 1 - await TestUtils_1.default.sendMessageAsOwner(lobby, "*afkkick_cooltime 100000000"); + await TestUtils_1.default.sendMessageAsOwner(lobby, '*afkkick_cooltime 100000000'); chai_1.assert.isFalse(kicker.option.enabled); chai_1.assert.equal(kicker.option.cooltime_ms, 100000000); chai_1.assert.equal(kicker.option.threshold, 1); - await TestUtils_1.default.sendMessageAsOwner(lobby, "*afkkick_cooltime 0"); + await TestUtils_1.default.sendMessageAsOwner(lobby, '*afkkick_cooltime 0'); chai_1.assert.isFalse(kicker.option.enabled); chai_1.assert.equal(kicker.option.cooltime_ms, 10000); chai_1.assert.equal(kicker.option.threshold, 1); diff --git a/dist/tests/AfkKickerTest.js.map b/dist/tests/AfkKickerTest.js.map index 42420125..75f43f93 100644 --- a/dist/tests/AfkKickerTest.js.map +++ b/dist/tests/AfkKickerTest.js.map @@ -1 +1 @@ -{"version":3,"file":"AfkKickerTest.js","sourceRoot":"","sources":["../../src/tests/AfkKickerTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AfkKickerTest.js","sourceRoot":"","sources":["../../src/tests/AfkKickerTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tests/AutoHostSelectorTest.js b/dist/tests/AutoHostSelectorTest.js index c3c93eaa..63247ec1 100644 --- a/dist/tests/AutoHostSelectorTest.js +++ b/dist/tests/AutoHostSelectorTest.js @@ -8,7 +8,7 @@ const Player_1 = require("../Player"); const AutoHostSelector_1 = require("../plugins/AutoHostSelector"); const MpSettingsCases_1 = require("./cases/MpSettingsCases"); const TestUtils_1 = __importDefault(require("./TestUtils")); -describe("AutoHostSelectorTest", function () { +describe('AutoHostSelectorTest', function () { before(function () { TestUtils_1.default.configMochaAsSilent(); }); @@ -22,27 +22,27 @@ describe("AutoHostSelectorTest", function () { function assertStateIs(state, s) { const l = s.lobby; switch (state) { - case "s0": // no players + case 's0': // no players chai_1.assert.equal(s.hostQueue.length, 0); break; - case "s1": // no host + case 's1': // no host chai_1.assert.isTrue(s.hostQueue.length > 0); chai_1.assert.isTrue(!l.isMatching); - chai_1.assert.isTrue(l.host == null); + chai_1.assert.isTrue(l.host === null); break; - case "hr": // has host and needs to rotate - chai_1.assert.isTrue(s.hostQueue.length > 0, "s.hostQueue.length > 0"); - chai_1.assert.isTrue(!l.isMatching), "!l.isMatching"; - chai_1.assert.isTrue(s.needsRotate, "s.needsRotate"); - chai_1.assert.isTrue(l.host != null, "l.host != null"); + case 'hr': // has host and needs to rotate + chai_1.assert.isTrue(s.hostQueue.length > 0, 's.hostQueue.length > 0'); + chai_1.assert.isTrue(!l.isMatching), '!l.isMatching'; + chai_1.assert.isTrue(s.needsRotate, 's.needsRotate'); + chai_1.assert.isTrue(l.host !== null, 'l.host !== null'); break; - case "hn": // has host and no needs to rotate + case 'hn': // has host and no needs to rotate chai_1.assert.isTrue(s.hostQueue.length > 0); chai_1.assert.isTrue(!l.isMatching); chai_1.assert.isFalse(s.needsRotate); - chai_1.assert.isTrue(l.host != null); + chai_1.assert.isTrue(l.host !== null); break; - case "m": // matching + case 'm': // matching chai_1.assert.isTrue(s.hostQueue.length > 0); chai_1.assert.isTrue(l.isMatching); break; @@ -50,579 +50,579 @@ describe("AutoHostSelectorTest", function () { chai_1.assert.fail(); } } - it("constructor test", async () => { + it('constructor test', async () => { const { selector } = await prepareSelector(); - assertStateIs("s0", selector); + assertStateIs('s0', selector); }); - it("dispose event test", (done) => { + it('dispose event test', (done) => { prepareSelector().then(({ selector, ircClient }) => { - ircClient.part(ircClient.channel, "", () => { + ircClient.part(ircClient.channel, '', () => { chai_1.assert.isEmpty(selector.eventDisposers); done(); }); }); }); - describe("state transition tests", function () { - it("s0 -> h test", async () => { + describe('state transition tests', function () { + it('s0 -> h test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - assertStateIs("s0", selector); - await ircClient.emulateAddPlayerAsync("player1"); - assertStateIs("hr", selector); + assertStateIs('s0', selector); + await ircClient.emulateAddPlayerAsync('player1'); + assertStateIs('hr', selector); }); - it("s0 -> s1 -> hr test", async () => { + it('s0 -> s1 -> hr test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); ircClient.latency = 1; let s1checked = false; lobby.PlayerJoined.once(({ player, slot }) => { - chai_1.assert.equal(player.name, "player1"); - assertStateIs("s1", selector); + chai_1.assert.equal(player.name, 'player1'); + assertStateIs('s1', selector); s1checked = true; }); - assertStateIs("s0", selector); - await ircClient.emulateAddPlayerAsync("player1"); + assertStateIs('s0', selector); + await ircClient.emulateAddPlayerAsync('player1'); TestUtils_1.default.assertEventFire(lobby.HostChanged, (a) => { - assertStateIs("hr", selector); + assertStateIs('hr', selector); chai_1.assert.isTrue(s1checked); return true; }); }); - it("s0 -> hr -> s0 test", async () => { + it('s0 -> hr -> s0 test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - assertStateIs("s0", selector); - await ircClient.emulateAddPlayerAsync("player1"); - assertStateIs("hr", selector); + assertStateIs('s0', selector); + await ircClient.emulateAddPlayerAsync('player1'); + assertStateIs('hr', selector); await TestUtils_1.default.delayAsync(10); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("s0", selector); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('s0', selector); }); - it("hr[1] -> hr[3] -> s0", async () => { + it('hr[1] -> hr[3] -> s0', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - assertStateIs("s0", selector); - const pids = ["player1", "player2", "player3"]; + assertStateIs('s0', selector); + const pids = ['player1', 'player2', 'player3']; await TestUtils_1.default.AddPlayersAsync(pids, ircClient); - TestUtils_1.default.assertHost("player1", lobby); - assertStateIs("hr", selector); - await ircClient.emulateRemovePlayerAsync("player2"); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); - await ircClient.emulateRemovePlayerAsync("player3"); - assertStateIs("s0", selector); - }); - it("hr -> m -> hr", async () => { + TestUtils_1.default.assertHost('player1', lobby); + assertStateIs('hr', selector); + await ircClient.emulateRemovePlayerAsync('player2'); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); + await ircClient.emulateRemovePlayerAsync('player3'); + assertStateIs('s0', selector); + }); + it('hr -> m -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); }); - it("hr -> m -> hr repeat", async () => { + it('hr -> m -> hr repeat', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); }); - it("hr -> hn -> m -> hr", async () => { + it('hr -> hn -> m -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); }); - it("hr -[leave]-> hn -[change map]-> hr -> m -> hr", async () => { + it('hr -[leave]-> hn -[change map]-> hr -> m -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player2", lobby); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); }); - it("hr -[transfer]-> hn -[change map]-> hr -> m -> hr", async () => { + it('hr -[transfer]-> hn -[change map]-> hr -> m -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - await ircClient.emulateChangeHost("player2"); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player2", lobby); + await ircClient.emulateChangeHost('player2'); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); }); - it("hr -> m -[abort]-> hn", async () => { + it('hr -> m -[abort]-> hn', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); await ircClient.emulateMatchAndAbortAsync(0, 0); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player1', lobby); }); // アボート後にホストがマップを変更するとhostが切り替わる - it("hr -> m -[abort]-> hn -[mapchange]-> hn -> hr", async () => { + it('hr -> m -[abort]-> hn -[mapchange]-> hn -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); await ircClient.emulateMatchAndAbortAsync(0, 0); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); }); - it("hr -> m -[abort]-> hn -[leave]-> hn -> hr", async () => { + it('hr -> m -[abort]-> hn -[leave]-> hn -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); await ircClient.emulateMatchAndAbortAsync(0, 0); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player1", lobby); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player1', lobby); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); }); - it("hr -> s0 -> hr", async () => { + it('hr -> s0 -> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("s0", selector); - await TestUtils_1.default.AddPlayersAsync(["player1"], ircClient); - TestUtils_1.default.assertHost("player1", lobby); - assertStateIs("hr", selector); - }); - it("hr -> s0 -> hn -[map change]-> hr", async () => { + assertStateIs('hr', selector); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('s0', selector); + await TestUtils_1.default.AddPlayersAsync(['player1'], ircClient); + TestUtils_1.default.assertHost('player1', lobby); + assertStateIs('hr', selector); + }); + it('hr -> s0 -> hn -[map change]-> hr', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - await ircClient.emulateRemovePlayerAsync("player1"); - assertStateIs("s0", selector); - await TestUtils_1.default.AddPlayersAsync(["player2", "player3"], ircClient); - TestUtils_1.default.assertHost("player2", lobby); - assertStateIs("hn", selector); + assertStateIs('hr', selector); + await ircClient.emulateRemovePlayerAsync('player1'); + assertStateIs('s0', selector); + await TestUtils_1.default.AddPlayersAsync(['player2', 'player3'], ircClient); + TestUtils_1.default.assertHost('player2', lobby); + assertStateIs('hn', selector); await ircClient.emulateMatchAsync(0); - TestUtils_1.default.assertHost("player2", lobby); - assertStateIs("hr", selector); + TestUtils_1.default.assertHost('player2', lobby); + assertStateIs('hr', selector); }); }); - describe("join and left tests", function () { + describe('join and left tests', function () { // 試合中にプレイヤーが入ってきた場合、現在のホストの後ろに配置される - it("newcomer who join during the match should be enqueued after the currnt host.", async () => { + it('newcomer who join during the match should be enqueued after the currnt host.', async () => { const { selector, lobby, ircClient } = await prepareSelector(false); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); const task = ircClient.emulateMatchAsync(4); await TestUtils_1.default.delayAsync(1); - ircClient.emulateAddPlayerAsync("player3"); // join during the match + ircClient.emulateAddPlayerAsync('player3'); // join during the match await task; - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); // not player3 + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); // not player3 }); - it("player left in the match", async () => { + it('player left in the match', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); let task = ircClient.emulateMatchAsync(4); await TestUtils_1.default.delayAsync(1); - await ircClient.emulateRemovePlayerAsync("player3"); + await ircClient.emulateRemovePlayerAsync('player3'); await task; - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); task = ircClient.emulateMatchAsync(4); await TestUtils_1.default.delayAsync(1); - await ircClient.emulateRemovePlayerAsync("player2"); + await ircClient.emulateRemovePlayerAsync('player2'); await task; - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - await ircClient.emulateAddPlayerAsync("player4"); - await ircClient.emulateAddPlayerAsync("player5"); - await ircClient.emulateAddPlayerAsync("player6"); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + await ircClient.emulateAddPlayerAsync('player4'); + await ircClient.emulateAddPlayerAsync('player5'); + await ircClient.emulateAddPlayerAsync('player6'); task = ircClient.emulateMatchAsync(4); await TestUtils_1.default.delayAsync(1); - await ircClient.emulateRemovePlayerAsync("player1"); + await ircClient.emulateRemovePlayerAsync('player1'); await task; - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player4", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player4', lobby); }); - it("transfer host manually test", async () => { + it('transfer host manually test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - await ircClient.emulateChangeHost("player2"); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + await ircClient.emulateChangeHost('player2'); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("player2", lobby); - await ircClient.emulateChangeHost("player1"); + TestUtils_1.default.assertHost('player2', lobby); + await ircClient.emulateChangeHost('player1'); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("player3", lobby); - await ircClient.emulateChangeHost("player3"); + TestUtils_1.default.assertHost('player3', lobby); + await ircClient.emulateChangeHost('player3'); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("player3", lobby); - await ircClient.emulateChangeHost("player2"); + TestUtils_1.default.assertHost('player3', lobby); + await ircClient.emulateChangeHost('player2'); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("player1", lobby); + TestUtils_1.default.assertHost('player1', lobby); }); - it("appoint next host when current host leave", async () => { + it('appoint next host when current host leave', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - await ircClient.emulateRemovePlayerAsync("player1"); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + await ircClient.emulateRemovePlayerAsync('player1'); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); }); - it("conflict transfer host manually and plugin rotation test1", async () => { + it('conflict transfer host manually and plugin rotation test1', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); const t1 = ircClient.emulateMatchAsync(1); ircClient.latency = 1; await t1; ircClient.latency = 0; - await ircClient.emulateChangeHost("player3"); + await ircClient.emulateChangeHost('player3'); await TestUtils_1.default.delayAsync(10); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); }); - it("conflict transfer host manually and plugin rotation test2", async () => { + it('conflict transfer host manually and plugin rotation test2', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); const t1 = ircClient.emulateMatchAsync(1); ircClient.latency = 1; await t1; ircClient.latency = 0; - await ircClient.emulateChangeHost("player2"); + await ircClient.emulateChangeHost('player2'); await TestUtils_1.default.delayAsync(10); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); }); - it("issue #37 host left and match started at the same time", async () => { + it('issue #37 host left and match started at the same time', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); ircClient.latency = 10; // it makes bot respond to !mp start command before !mp host command - await ircClient.emulateRemovePlayerAsync("player1"); + await ircClient.emulateRemovePlayerAsync('player1'); ircClient.latency = 0; const t1 = ircClient.emulateMatchAsync(20); await TestUtils_1.default.delayAsync(10); - TestUtils_1.default.assertHost("player2", lobby); - assertStateIs("m", selector); + TestUtils_1.default.assertHost('player2', lobby); + assertStateIs('m', selector); await t1; - TestUtils_1.default.assertHost("player2", lobby); - assertStateIs("hr", selector); + TestUtils_1.default.assertHost('player2', lobby); + assertStateIs('hr', selector); }); - it("issue #37 test rotation after the issue", async () => { + it('issue #37 test rotation after the issue', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); ircClient.latency = 10; - await ircClient.emulateRemovePlayerAsync("player1"); + await ircClient.emulateRemovePlayerAsync('player1'); ircClient.latency = 0; const t1 = ircClient.emulateMatchAsync(20); await TestUtils_1.default.delayAsync(10); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); await t1; - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); await ircClient.emulateMatchAsync(0); - TestUtils_1.default.assertHost("player3", lobby); + TestUtils_1.default.assertHost('player3', lobby); }); - it("issue #37 player2 dosen't change map test", async () => { + it('issue #37 player2 dosen\'t change map test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(0); ircClient.latency = 10; // it makes bot respond to !mp start command before !mp host command - await ircClient.emulateRemovePlayerAsync("player1"); + await ircClient.emulateRemovePlayerAsync('player1'); ircClient.latency = 0; const t1 = ircClient.emulateMatchAsync(20); await TestUtils_1.default.delayAsync(10); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); await t1; - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - TestUtils_1.default.assertHost("player3", lobby); + TestUtils_1.default.assertHost('player3', lobby); }); }); - describe("external operation tests", function () { - it("plugin message skip test", async () => { + describe('external operation tests', function () { + it('plugin message skip test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - selector.SendPluginMessage("skip"); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + selector.SendPluginMessage('skip'); await TestUtils_1.default.delayAsync(5); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); }); - it("plugin message skipto test", async () => { + it('plugin message skipto test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - selector.SendPluginMessage("skipto", ["player3"]); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + selector.SendPluginMessage('skipto', ['player3']); await TestUtils_1.default.delayAsync(5); - TestUtils_1.default.assertHost("player3", lobby); - chai_1.assert.equal(selector.hostQueue[0].name, "player3"); - chai_1.assert.equal(selector.hostQueue[1].name, "player1"); - chai_1.assert.equal(selector.hostQueue[2].name, "player2"); - selector.SendPluginMessage("skipto", ["player3"]); + TestUtils_1.default.assertHost('player3', lobby); + chai_1.assert.equal(selector.hostQueue[0].name, 'player3'); + chai_1.assert.equal(selector.hostQueue[1].name, 'player1'); + chai_1.assert.equal(selector.hostQueue[2].name, 'player2'); + selector.SendPluginMessage('skipto', ['player3']); await TestUtils_1.default.delayAsync(5); - TestUtils_1.default.assertHost("player3", lobby); - chai_1.assert.equal(selector.hostQueue[0].name, "player3"); - chai_1.assert.equal(selector.hostQueue[1].name, "player1"); - chai_1.assert.equal(selector.hostQueue[2].name, "player2"); + TestUtils_1.default.assertHost('player3', lobby); + chai_1.assert.equal(selector.hostQueue[0].name, 'player3'); + chai_1.assert.equal(selector.hostQueue[1].name, 'player1'); + chai_1.assert.equal(selector.hostQueue[2].name, 'player2'); }); }); - describe("skip tests", function () { - it("should change host when changed map -> changed host -> map change -> match start", async () => { + describe('skip tests', function () { + it('should change host when changed map -> changed host -> map change -> match start', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); - await ircClient.emulateRemovePlayerAsync("player2"); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player3", lobby); + await ircClient.emulateRemovePlayerAsync('player2'); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player3', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); }); - it("should not change host when changed map -> changed host -> started match", async () => { + it('should not change host when changed map -> changed host -> started match', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); await ircClient.emulateMatchAsync(0); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateChangeMapAsync(0); - await ircClient.emulateRemovePlayerAsync("player2"); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player3", lobby); + await ircClient.emulateRemovePlayerAsync('player2'); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player3', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); }); }); - describe("match abort tests", function () { - it("should not change host if match is aborted before any player finished", async () => { + describe('match abort tests', function () { + it('should not change host if match is aborted before any player finished', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAndAbortAsync(); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); }); - it("should change host when match is aborted after some players finished", async () => { + it('should change host when match is aborted after some players finished', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAndAbortAsync(0, 1); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player3", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player3', lobby); }); - it("should change host when match start -> abort -> map change", async () => { + it('should change host when match start -> abort -> map change', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateMatchAndAbortAsync(); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player1", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player1', lobby); await ircClient.emulateChangeMapAsync(); - assertStateIs("hn", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hn', selector); + TestUtils_1.default.assertHost('player2', lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player2", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player2', lobby); }); - it("should change host and be remainable when map change -> match start -> host left -> match abort", async () => { + it('should change host and be remainable when map change -> match start -> host left -> match abort', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); await ircClient.emulateMatchAsync(0); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); TestUtils_1.default.assertHost(players[1], lobby); - let t = ircClient.emulateMatchAsync(60); + const t = ircClient.emulateMatchAsync(60); await TestUtils_1.default.delayAsync(1); await ircClient.emulateRemovePlayerAsync(players[1]); - assertStateIs("m", selector); + assertStateIs('m', selector); chai_1.assert.isNull(lobby.host); lobby.AbortMatch(); await TestUtils_1.default.delayAsync(1); - assertStateIs("hn", selector); + assertStateIs('hn', selector); TestUtils_1.default.assertHost(players[2], lobby); await ircClient.emulateMatchAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); TestUtils_1.default.assertHost(players[2], lobby); }); - it("should not change host when -> match start -> host left -> match abort -> map change", async () => { + it('should not change host when -> match start -> host left -> match abort -> map change', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); await ircClient.emulateMatchAsync(0); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); TestUtils_1.default.assertHost(players[1], lobby); - let t = ircClient.emulateMatchAsync(30); + const t = ircClient.emulateMatchAsync(30); await TestUtils_1.default.delayAsync(1); await ircClient.emulateRemovePlayerAsync(players[1]); - assertStateIs("m", selector); + assertStateIs('m', selector); chai_1.assert.isNull(lobby.host); lobby.AbortMatch(); await TestUtils_1.default.delayAsync(1); - assertStateIs("hn", selector); + assertStateIs('hn', selector); TestUtils_1.default.assertHost(players[2], lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); + assertStateIs('hr', selector); TestUtils_1.default.assertHost(players[2], lobby); }); - it("should change host when -> match start -> host left -> player finish -> match abort -> map change", async () => { + it('should change host when -> match start -> host left -> player finish -> match abort -> map change', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - const players = await TestUtils_1.default.AddPlayersAsync(["a", "b", "c", "d"], ircClient); + const players = await TestUtils_1.default.AddPlayersAsync(['a', 'b', 'c', 'd'], ircClient); await ircClient.emulateMatchAsync(0); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("b", lobby); - let t = ircClient.emulateMatchAndAbortAsync(10, ["a", "c", "d"]); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('b', lobby); + const t = ircClient.emulateMatchAndAbortAsync(10, ['a', 'c', 'd']); await TestUtils_1.default.delayAsync(1); - await ircClient.emulateRemovePlayerAsync("b"); - assertStateIs("m", selector); + await ircClient.emulateRemovePlayerAsync('b'); + assertStateIs('m', selector); chai_1.assert.isNull(lobby.host); await t; - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("c", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('c', lobby); await ircClient.emulateChangeMapAsync(0); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("c", lobby); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('c', lobby); }); }); - describe("mp settings tests", function () { - it("empty lobby case1_1", async () => { + describe('mp settings tests', function () { + it('empty lobby case1_1', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const c = MpSettingsCases_1.MpSettingsCases.case1_1; - const q = ["p1", "p2", "p3", "p4", "p5"]; + const q = ['p1', 'p2', 'p3', 'p4', 'p5']; ircClient.emulateMpSettings(c); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q[i]); } }); - it("empty lobby case1_2", async () => { + it('empty lobby case1_2', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const c = MpSettingsCases_1.MpSettingsCases.case1_2; - const q = ["p3", "p4", "p5", "p1", "p2"]; + const q = ['p3', 'p4', 'p5', 'p1', 'p2']; ircClient.emulateMpSettings(c); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q[i]); } }); - it("change host test", async () => { + it('change host test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const c = MpSettingsCases_1.MpSettingsCases.case1_1; - const q1 = ["p1", "p2", "p3", "p4", "p5"]; - const q2 = ["p3", "p4", "p5", "p1", "p2"]; + const q1 = ['p1', 'p2', 'p3', 'p4', 'p5']; + const q2 = ['p3', 'p4', 'p5', 'p1', 'p2']; ircClient.emulateMpSettings(c); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q1[i]); } - selector.SkipTo("p3"); + selector.SkipTo('p3'); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q2[i]); } - if (lobby.host == null) + if (lobby.host === null) return; chai_1.assert.isTrue(lobby.host.isHost); - chai_1.assert.equal(lobby.host.name, "p3"); + chai_1.assert.equal(lobby.host.name, 'p3'); ircClient.emulateMpSettings(c); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q1[i]); } - chai_1.assert.equal(lobby.host.name, "p1"); + chai_1.assert.equal(lobby.host.name, 'p1'); }); - it("mod queue test", async () => { + it('mod queue test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const c1 = MpSettingsCases_1.MpSettingsCases.case1_1; const c3 = MpSettingsCases_1.MpSettingsCases.case1_3; - const q1 = ["p1", "p2", "p3", "p4", "p5"]; - const q2 = ["p4", "p5", "p6", "p7", "p2"]; + const q1 = ['p1', 'p2', 'p3', 'p4', 'p5']; + const q2 = ['p4', 'p5', 'p6', 'p7', 'p2']; ircClient.emulateMpSettings(c1); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q1[i]); @@ -631,447 +631,447 @@ describe("AutoHostSelectorTest", function () { for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q2[i], `${i} a-${selector.hostQueue[i].name} e-${q2[i]}`); } - if (lobby.host == null) + if (lobby.host === null) chai_1.assert.fail(); else - chai_1.assert.equal(lobby.host.name, "p4"); + chai_1.assert.equal(lobby.host.name, 'p4'); }); - it("reset queue test", async () => { + it('reset queue test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const c1 = MpSettingsCases_1.MpSettingsCases.case1_1; - const q1 = ["p1", "p2", "p3", "p4", "p5"]; - const q2 = ["p4", "p5", "p6", "p7", "p2"]; + const q1 = ['p1', 'p2', 'p3', 'p4', 'p5']; + const q2 = ['p4', 'p5', 'p6', 'p7', 'p2']; ircClient.emulateMpSettings(c1); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q1[i]); } - ircClient.emulateRemovePlayerAsync("p1"); - selector.SkipTo("p3"); + ircClient.emulateRemovePlayerAsync('p1'); + selector.SkipTo('p3'); ircClient.emulateMpSettings(c1); for (let i = 0; i < selector.hostQueue.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, q1[i], `${i} a-${selector.hostQueue[i].name} e-${q2[i]}`); } - if (lobby.host == null) + if (lobby.host === null) chai_1.assert.fail(); else - chai_1.assert.equal(lobby.host.name, "p1"); + chai_1.assert.equal(lobby.host.name, 'p1'); }); }); - describe("reoder tests", function () { - it("reaoder", async () => { + describe('reoder tests', function () { + it('reaoder', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - const od = ["p3", "p1", "p2", "p4", "p0"]; - selector.Reorder(od.join(",")); + const od = ['p3', 'p1', 'p2', 'p4', 'p0']; + selector.Reorder(od.join(',')); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("p3", lobby); + TestUtils_1.default.assertHost('p3', lobby); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); - it("disguised string", async () => { + it('disguised string', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - const disguised = "p​0, p​1, p​2, p​3, p​4"; - const od = ["p0", "p1", "p2", "p3", "p4"]; - selector.SkipTo("p3"); + const disguised = 'p​0, p​1, p​2, p​3, p​4'; + const od = ['p0', 'p1', 'p2', 'p3', 'p4']; + selector.SkipTo('p3'); await TestUtils_1.default.delayAsync(1); selector.Reorder(disguised); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("p0", lobby); + TestUtils_1.default.assertHost('p0', lobby); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); - it("no change", async () => { + it('no change', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - const odtxt = "p​0, p​1, p​2, p​3, p​4"; - const od = ["p0", "p1", "p2", "p3", "p4"]; + const odtxt = 'p​0, p​1, p​2, p​3, p​4'; + const od = ['p0', 'p1', 'p2', 'p3', 'p4']; selector.Reorder(odtxt); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("p0", lobby); + TestUtils_1.default.assertHost('p0', lobby); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); - it("partially specify", async () => { + it('partially specify', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - const odtxt = "p​3, p​4, p2"; - const od = ["p3", "p4", "p2", "p0", "p1"]; + const odtxt = 'p​3, p​4, p2'; + const od = ['p3', 'p4', 'p2', 'p0', 'p1']; selector.Reorder(odtxt); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("p3", lobby); + TestUtils_1.default.assertHost('p3', lobby); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); - it("extra specify", async () => { + it('extra specify', async () => { const { selector, lobby, ircClient } = await prepareSelector(); const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - const odtxt = "p3, p6, p4, p2, p5, p0, p1"; - const od = ["p3", "p4", "p2", "p0", "p1"]; + const odtxt = 'p3, p6, p4, p2, p5, p0, p1'; + const od = ['p3', 'p4', 'p2', 'p0', 'p1']; selector.Reorder(odtxt); await TestUtils_1.default.delayAsync(1); - TestUtils_1.default.assertHost("p3", lobby); + TestUtils_1.default.assertHost('p3', lobby); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); - it("from custom command", async () => { + it('from custom command', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - lobby.option.authorized_users = ["p0"]; + lobby.option.authorized_users = ['p0']; const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - const odtxt = "*reorder p​0, p​1, p​2, p​3, p​4"; - const od = ["p0", "p1", "p2", "p3", "p4"]; - selector.SkipTo("p3"); - TestUtils_1.default.assertHost("p3", lobby); + const odtxt = '*reorder p​0, p​1, p​2, p​3, p​4'; + const od = ['p0', 'p1', 'p2', 'p3', 'p4']; + selector.SkipTo('p3'); + TestUtils_1.default.assertHost('p3', lobby); await TestUtils_1.default.delayAsync(1); - await ircClient.emulateMessageAsync("p0", ircClient.channel, odtxt); + await ircClient.emulateMessageAsync('p0', ircClient.channel, odtxt); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); - it("invalid custom command", async () => { + it('invalid custom command', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - lobby.option.authorized_users = ["p0"]; + lobby.option.authorized_users = ['p0']; const players = await TestUtils_1.default.AddPlayersAsync(5, ircClient); - let odtxt = "*reorder"; - const od = ["p3", "p4", "p0", "p1", "p2"]; - selector.SkipTo("p3"); - TestUtils_1.default.assertHost("p3", lobby); + let odtxt = '*reorder'; + const od = ['p3', 'p4', 'p0', 'p1', 'p2']; + selector.SkipTo('p3'); + TestUtils_1.default.assertHost('p3', lobby); await TestUtils_1.default.delayAsync(1); - await ircClient.emulateMessageAsync("p0", ircClient.channel, odtxt); + await ircClient.emulateMessageAsync('p0', ircClient.channel, odtxt); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } - odtxt = "*reorder asdfsafasdf"; + odtxt = '*reorder asdfsafasdf'; await TestUtils_1.default.delayAsync(1); - await ircClient.emulateMessageAsync("p0", ircClient.channel, odtxt); + await ircClient.emulateMessageAsync('p0', ircClient.channel, odtxt); for (let i = 0; i < od.length; i++) { chai_1.assert.equal(selector.hostQueue[i].name, od[i]); } }); }); - describe("cleared host tests", function () { - it("clearhost and match", async () => { + describe('cleared host tests', function () { + it('clearhost and match', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - lobby.SendMessage("!mp clearhost"); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + lobby.SendMessage('!mp clearhost'); chai_1.assert.isTrue(lobby.isClearedHost); chai_1.assert.isNull(lobby.host); await ircClient.emulateMatchAsync(); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); }); - it("plugin skip test", async () => { + it('plugin skip test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - await TestUtils_1.default.AddPlayersAsync(["player1", "player2", "player3"], ircClient); - assertStateIs("hr", selector); - TestUtils_1.default.assertHost("player1", lobby); - lobby.SendMessage("!mp clearhost"); + await TestUtils_1.default.AddPlayersAsync(['player1', 'player2', 'player3'], ircClient); + assertStateIs('hr', selector); + TestUtils_1.default.assertHost('player1', lobby); + lobby.SendMessage('!mp clearhost'); chai_1.assert.isTrue(lobby.isClearedHost); chai_1.assert.isNull(lobby.host); - selector.SendPluginMessage("skip"); + selector.SendPluginMessage('skip'); await TestUtils_1.default.delayAsync(5); - TestUtils_1.default.assertHost("player2", lobby); + TestUtils_1.default.assertHost('player2', lobby); }); }); - describe("denylist tests", function () { - it("denied player should ignore test", async () => { + describe('denylist tests', function () { + it('denied player should ignore test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p3")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p3')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p1")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p2")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p5")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p1')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p2')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p5')); lobby.destroy(); }); - it("transfer host to denied player test", async () => { + it('transfer host to denied player test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(selector.hostQueue.length, 4); - TestUtils_1.default.assertHost("p1", lobby); - await ircClient.emulateChangeHost("p4"); - TestUtils_1.default.assertHost("p2", lobby); - await ircClient.emulateChangeHost("p4"); - TestUtils_1.default.assertHost("p3", lobby); - await ircClient.emulateChangeHost("p4"); - TestUtils_1.default.assertHost("p5", lobby); - await ircClient.emulateChangeHost("p1"); - TestUtils_1.default.assertHost("p1", lobby); + TestUtils_1.default.assertHost('p1', lobby); + await ircClient.emulateChangeHost('p4'); + TestUtils_1.default.assertHost('p2', lobby); + await ircClient.emulateChangeHost('p4'); + TestUtils_1.default.assertHost('p3', lobby); + await ircClient.emulateChangeHost('p4'); + TestUtils_1.default.assertHost('p5', lobby); + await ircClient.emulateChangeHost('p1'); + TestUtils_1.default.assertHost('p1', lobby); lobby.destroy(); }); - it("only denied player test", async () => { + it('only denied player test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p5")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p5')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(selector.hostQueue.length, 3); - TestUtils_1.default.assertHost("p1", lobby); - await ircClient.emulateRemovePlayerAsync("p1"); - TestUtils_1.default.assertHost("p2", lobby); - await ircClient.emulateRemovePlayerAsync("p3"); - TestUtils_1.default.assertHost("p2", lobby); - await ircClient.emulateRemovePlayerAsync("p2"); + TestUtils_1.default.assertHost('p1', lobby); + await ircClient.emulateRemovePlayerAsync('p1'); + TestUtils_1.default.assertHost('p2', lobby); + await ircClient.emulateRemovePlayerAsync('p3'); + TestUtils_1.default.assertHost('p2', lobby); + await ircClient.emulateRemovePlayerAsync('p2'); chai_1.assert.equal(selector.hostQueue.length, 0); chai_1.assert.isNull(lobby.host); - await ircClient.emulateRemovePlayerAsync("p4"); + await ircClient.emulateRemovePlayerAsync('p4'); chai_1.assert.equal(selector.hostQueue.length, 0); chai_1.assert.isNull(lobby.host); lobby.destroy(); }); - it("only denied player -> join someone test", async () => { + it('only denied player -> join someone test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p5")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p5')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(selector.hostQueue.length, 3); - await ircClient.emulateRemovePlayerAsync("p1"); - await ircClient.emulateRemovePlayerAsync("p2"); - await ircClient.emulateRemovePlayerAsync("p3"); + await ircClient.emulateRemovePlayerAsync('p1'); + await ircClient.emulateRemovePlayerAsync('p2'); + await ircClient.emulateRemovePlayerAsync('p3'); chai_1.assert.equal(selector.hostQueue.length, 0); chai_1.assert.isNull(lobby.host); - await ircClient.emulateAddPlayerAsync("p6"); - TestUtils_1.default.assertHost("p6", lobby); + await ircClient.emulateAddPlayerAsync('p6'); + TestUtils_1.default.assertHost('p6', lobby); lobby.destroy(); }); - it("skipto command test", async () => { + it('skipto command test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); - selector.SendPluginMessage("skipto", ["p3"]); - TestUtils_1.default.assertHost("p3", lobby); - selector.SendPluginMessage("skipto", ["p4"]); - TestUtils_1.default.assertHost("p3", lobby); + selector.SendPluginMessage('skipto', ['p3']); + TestUtils_1.default.assertHost('p3', lobby); + selector.SendPluginMessage('skipto', ['p4']); + TestUtils_1.default.assertHost('p3', lobby); lobby.destroy(); }); - it("add player to denylist test", async () => { + it('add player to denylist test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); - TestUtils_1.default.assertHost("p1", lobby); + TestUtils_1.default.assertHost('p1', lobby); chai_1.assert.equal(selector.hostQueue.length, 5); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p3")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p3')); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p1")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p2")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p5")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p1')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p2')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p5')); lobby.destroy(); }); - it("add host to denylist test", async () => { + it('add host to denylist test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); - TestUtils_1.default.assertHost("p1", lobby); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p1")); - TestUtils_1.default.assertHost("p2", lobby); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p2")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p3")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p5")); + TestUtils_1.default.assertHost('p1', lobby); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p1')); + TestUtils_1.default.assertHost('p2', lobby); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p2')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p3')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p5')); lobby.destroy(); }); - it("add last player to denylist test", async () => { + it('add last player to denylist test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); - TestUtils_1.default.assertHost("p1", lobby); + TestUtils_1.default.assertHost('p1', lobby); chai_1.assert.equal(selector.hostQueue.length, 5); - await ircClient.emulateRemovePlayerAsync("p1"); - await ircClient.emulateRemovePlayerAsync("p2"); - await ircClient.emulateRemovePlayerAsync("p3"); - TestUtils_1.default.assertHost("p4", lobby); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p5")); - TestUtils_1.default.assertHost("p4", lobby); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); + await ircClient.emulateRemovePlayerAsync('p1'); + await ircClient.emulateRemovePlayerAsync('p2'); + await ircClient.emulateRemovePlayerAsync('p3'); + TestUtils_1.default.assertHost('p4', lobby); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p5')); + TestUtils_1.default.assertHost('p4', lobby); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); chai_1.assert.equal(selector.hostQueue.length, 0); chai_1.assert.isNull(lobby.host); lobby.destroy(); }); - it("remove player from denlylist test", async () => { + it('remove player from denlylist test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p3")); - TestUtils_1.default.assertHost("p1", lobby); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p3')); + TestUtils_1.default.assertHost('p1', lobby); chai_1.assert.equal(selector.hostQueue.length, 4); - AutoHostSelector_1.DENY_LIST.removePlayer(lobby.GetOrMakePlayer("p3")); + AutoHostSelector_1.DENY_LIST.removePlayer(lobby.GetOrMakePlayer('p3')); chai_1.assert.equal(selector.hostQueue.length, 5); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p1")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p2")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p5")); - chai_1.assert.equal(selector.hostQueue[4], lobby.GetOrMakePlayer("p3")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p1')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p2')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p5')); + chai_1.assert.equal(selector.hostQueue[4], lobby.GetOrMakePlayer('p3')); lobby.destroy(); }); - it("remove player from denlylist test - no one in queue", async () => { + it('remove player from denlylist test - no one in queue', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p1")); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p2")); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p3")); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p5")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p1')); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p2')); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p3')); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p5')); chai_1.assert.equal(selector.hostQueue.length, 0); - AutoHostSelector_1.DENY_LIST.removePlayer(lobby.GetOrMakePlayer("p3")); + AutoHostSelector_1.DENY_LIST.removePlayer(lobby.GetOrMakePlayer('p3')); chai_1.assert.equal(selector.hostQueue.length, 1); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p3")); - TestUtils_1.default.assertHost("p3", lobby); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p3')); + TestUtils_1.default.assertHost('p3', lobby); lobby.destroy(); }); - it("slotbase reoder test1", async () => { + it('slotbase reoder test1', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p3")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p3')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p1")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p2")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p5")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p1')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p2')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p5')); lobby.destroy(); }); - it("slotbase reoder test2", async () => { + it('slotbase reoder test2', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p4")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p4')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_2); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p3")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p5")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p1")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p2")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p3')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p5')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p1')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p2')); lobby.destroy(); }); - it("slotbase reoder test - host is denied", async () => { + it('slotbase reoder test - host is denied', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p3")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p3')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_2); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p1")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p2")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p5")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p1')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p2')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p5')); lobby.destroy(); }); - it("modify order test - stay", async () => { + it('modify order test - stay', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p5")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p5')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_3); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p6")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p7")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p2")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p6')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p7')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p2')); lobby.destroy(); }); - it("modify order test - leave", async () => { + it('modify order test - leave', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p1")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p1')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_3); chai_1.assert.equal(selector.hostQueue.length, 5); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p5")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p6")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p7")); - chai_1.assert.equal(selector.hostQueue[4], lobby.GetOrMakePlayer("p2")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p5')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p6')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p7')); + chai_1.assert.equal(selector.hostQueue[4], lobby.GetOrMakePlayer('p2')); lobby.destroy(); }); - it("modify order test - join", async () => { + it('modify order test - join', async () => { const { selector, lobby, ircClient } = await prepareSelector(); - AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer("p7")); + AutoHostSelector_1.DENY_LIST.addPlayer(lobby.GetOrMakePlayer('p7')); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_3); chai_1.assert.equal(selector.hostQueue.length, 4); - chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer("p5")); - chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer("p6")); - chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer("p2")); + chai_1.assert.equal(selector.hostQueue[0], lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(selector.hostQueue[1], lobby.GetOrMakePlayer('p5')); + chai_1.assert.equal(selector.hostQueue[2], lobby.GetOrMakePlayer('p6')); + chai_1.assert.equal(selector.hostQueue[3], lobby.GetOrMakePlayer('p2')); lobby.destroy(); }); - describe("denylist command tests", () => { - it("add test", async () => { + describe('denylist command tests', () => { + it('add test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 0); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p1"); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p1'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 1); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, "p1"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p2 sfd"); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, 'p1'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p2 sfd'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 2); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2 sfd")); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add"); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2 sfd')); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 2); - let un = "asdf hello"; - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add " + un); + const un = 'asdf hello'; + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add ' + un); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 3); chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)(un)); lobby.destroy(); }); - it("add twice test", async () => { + it('add twice test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 0); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p1"); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p1'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 1); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, "p1"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p1"); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, 'p1'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p1'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 1); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, "p1"); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, 'p1'); lobby.destroy(); }); - it("remove test", async () => { + it('remove test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 0); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p1"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p2 piyo"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p3 HOGE"); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p1'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p2 piyo'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p3 HOGE'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 3); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p1")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2 piyo")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p3 HOGE")); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist remove p1"); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p1')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2 piyo')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p3 HOGE')); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist remove p1'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 2); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p1")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2 piyo")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p3 HOGE")); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist remove p2 piyo"); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p1')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2 piyo')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p3 HOGE')); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist remove p2 piyo'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 1); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p1")); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2 piyo")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p3 HOGE")); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist remove p3 hoge"); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p1')); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2 piyo')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p3 HOGE')); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist remove p3 hoge'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 0); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p1")); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2 piyo")); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p3 HOGE")); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p1')); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2 piyo')); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p3 HOGE')); lobby.destroy(); }); - it("remove twice test", async () => { + it('remove twice test', async () => { const { selector, lobby, ircClient } = await prepareSelector(); await ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 0); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p1"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p2"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist add p3"); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p1'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p2'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist add p3'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 3); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p1")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p3")); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist remove p1"); - TestUtils_1.default.sendMessageAsOwner(lobby, "*denylist remove p1"); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p1')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p3')); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist remove p1'); + TestUtils_1.default.sendMessageAsOwner(lobby, '*denylist remove p1'); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 2); - chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p1")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p2")); - chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)("p3")); + chai_1.assert.notInclude(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p1')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p2')); + chai_1.assert.include(AutoHostSelector_1.DENY_LIST.players, (0, Player_1.escapeUserName)('p3')); lobby.destroy(); }); }); - it("multi lobby tests", async () => { + it('multi lobby tests', async () => { const a = await prepareSelector(); const b = await prepareSelector(); await a.ircClient.emulateMpSettings(MpSettingsCases_1.MpSettingsCases.case1_1); // p1 p2 p3 p4 p5 @@ -1079,26 +1079,24 @@ describe("AutoHostSelectorTest", function () { chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 0); chai_1.assert.equal(a.selector.hostQueue.length, 5); chai_1.assert.equal(b.selector.hostQueue.length, 5); - AutoHostSelector_1.DENY_LIST.addPlayer(a.lobby.GetOrMakePlayer("p1")); + AutoHostSelector_1.DENY_LIST.addPlayer(a.lobby.GetOrMakePlayer('p1')); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 1); chai_1.assert.equal(a.selector.hostQueue.length, 4); chai_1.assert.equal(b.selector.hostQueue.length, 5); - AutoHostSelector_1.DENY_LIST.addPlayer(a.lobby.GetOrMakePlayer("p2")); + AutoHostSelector_1.DENY_LIST.addPlayer(a.lobby.GetOrMakePlayer('p2')); chai_1.assert.equal(AutoHostSelector_1.DENY_LIST.players.size, 2); chai_1.assert.equal(a.selector.hostQueue.length, 3); chai_1.assert.equal(b.selector.hostQueue.length, 4); - chai_1.assert.equal(a.selector.hostQueue[0], a.lobby.GetOrMakePlayer("p3")); - chai_1.assert.equal(a.selector.hostQueue[1], a.lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(a.selector.hostQueue[2], a.lobby.GetOrMakePlayer("p5")); - chai_1.assert.equal(b.selector.hostQueue[0], b.lobby.GetOrMakePlayer("p4")); - chai_1.assert.equal(b.selector.hostQueue[1], b.lobby.GetOrMakePlayer("p5")); - chai_1.assert.equal(b.selector.hostQueue[2], b.lobby.GetOrMakePlayer("p7")); - chai_1.assert.equal(b.selector.hostQueue[3], b.lobby.GetOrMakePlayer("p6")); + chai_1.assert.equal(a.selector.hostQueue[0], a.lobby.GetOrMakePlayer('p3')); + chai_1.assert.equal(a.selector.hostQueue[1], a.lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(a.selector.hostQueue[2], a.lobby.GetOrMakePlayer('p5')); + chai_1.assert.equal(b.selector.hostQueue[0], b.lobby.GetOrMakePlayer('p4')); + chai_1.assert.equal(b.selector.hostQueue[1], b.lobby.GetOrMakePlayer('p5')); + chai_1.assert.equal(b.selector.hostQueue[2], b.lobby.GetOrMakePlayer('p7')); + chai_1.assert.equal(b.selector.hostQueue[3], b.lobby.GetOrMakePlayer('p6')); a.lobby.destroy(); b.lobby.destroy(); }); }); - describe("tests for issues", () => { - }); }); //# sourceMappingURL=AutoHostSelectorTest.js.map \ No newline at end of file diff --git a/dist/tests/AutoHostSelectorTest.js.map b/dist/tests/AutoHostSelectorTest.js.map index 2b5e6b7b..79100ef2 100644 --- a/dist/tests/AutoHostSelectorTest.js.map +++ b/dist/tests/AutoHostSelectorTest.js.map @@ -1 +1 @@ -{"version":3,"file":"AutoHostSelectorTest.js","sourceRoot":"","sources":["../../src/tests/AutoHostSelectorTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AutoHostSelectorTest.js","sourceRoot":"","sources":["../../src/tests/AutoHostSelectorTest.ts"],"names":[],"mappings":";;;;;AAAA,+BAA8B;AAC9B,sCAA2C;AAG3C,kEAA0E;AAC1E,6DAA0D;AAC1D,4DAA6B;AAG7B,QAAQ,CAAC,sBAAsB,EAAE;IAC/B,MAAM,CAAC;QACL,mBAAE,CAAC,mBAAmB,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;QAClB,4BAAS,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,KAAK,UAAU,eAAe,CAAC,MAAM,GAAG,KAAK;QAC3C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,mBAAE,CAAC,eAAe,EAAE,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,IAAI,mCAAgB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxF,CAAC;IAED,SAAS,aAAa,CAAC,KAAa,EAAE,CAAmB;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,QAAQ,KAAK,EAAE;YACb,KAAK,IAAI,EAAE,aAAa;gBACtB,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,IAAI,EAAE,UAAU;gBACnB,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7B,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,IAAI,EAAE,+BAA+B;gBACxC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBAChE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;gBAC9C,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBAC9C,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,IAAI,EAAE,kCAAkC;gBAC3C,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7B,aAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC9B,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,GAAG,EAAE,WAAW;gBACnB,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC5B,MAAM;YACR;gBACE,aAAM,CAAC,IAAI,EAAE,CAAC;SACjB;IACH,CAAC;IAED,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QAC7C,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QAChC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;YACjD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;gBACzC,aAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACxC,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE;QACjC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC3C,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE9B,MAAM,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjD,mBAAE,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC1C,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC9B,aAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,mBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,mBAAE,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1C,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE9B,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,gCAAgC;QAChC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACjD,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5D,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE;QAC9B,oCAAoC;QACpC,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC5D,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;YACpE,MAAM,IAAI,CAAC;YAEX,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;YACpC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,IAAI,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC;YAEX,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC;YACX,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAEjD,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC;YACX,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1C,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,EAAE,CAAC;YACT,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,mBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1C,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,EAAE,CAAC;YACT,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,mBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,oEAAoE;YAC5F,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,mBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC;YACT,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,mBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,EAAE,CAAC;YACT,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,oEAAoE;YAC5F,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,mBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,EAAE,CAAC;YACT,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE;QACnC,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAEpD,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE;QACrB,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;YAChG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,yBAAyB,EAAE,CAAC;YAC5C,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEhC,MAAM,SAAS,CAAC,yBAAyB,EAAE,CAAC;YAC5C,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;YACxC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;YAC/G,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7B,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjC,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7B,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mGAAmG,EAAE,KAAK,IAAI,EAAE;YACjH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1E,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,GAAG,SAAS,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACnE,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAC9C,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7B,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,CAAC;YACR,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,iCAAe,CAAC,OAAO,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,iCAAe,CAAC,OAAO,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,iCAAe,CAAC,OAAO,CAAC;YAClC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO;YAChC,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,EAAE,GAAG,iCAAe,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,GAAG,iCAAe,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACpG;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,aAAM,CAAC,IAAI,EAAE,CAAC;;gBAClC,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,EAAE,GAAG,iCAAe,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YACD,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACpG;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,aAAM,CAAC,IAAI,EAAE,CAAC;;gBAClC,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,cAAc,EAAE;QACvB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACvB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,yBAAyB,CAAC;YAC5C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACzB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,yBAAyB,CAAC;YACxC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,cAAc,CAAC;YAC7B,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,4BAA4B,CAAC;YAC3C,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,kCAAkC,CAAC;YACjD,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,IAAI,KAAK,GAAG,UAAU,CAAC;YACvB,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;YAED,KAAK,GAAG,sBAAsB,CAAC;YAC/B,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClC,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE;QAC7B,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACnC,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACnC,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;YACpC,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,mBAAE,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YACvE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACnC,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACnC,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,mBAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE;QACzB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE/C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1B,MAAM,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE/C,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,4BAAS,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEpD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE3C,4BAAS,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEpD,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,mBAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAE3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAE3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;YAC/D,4BAAS,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjD,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;YAE3D,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,aAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACtC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACxB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;gBAC3D,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAExC,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBAEjD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAExC,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;gBAErD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC,CAAC;gBAE5D,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;gBAE9C,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAExC,MAAM,EAAE,GAAG,eAAe,CAAC;gBAC3B,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,EAAE,CAAC,CAAC;gBAE3D,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC9B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;gBAC3D,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAExC,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBAEjD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAExC,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBAEjD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAExC,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;gBAC3B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;gBAC3D,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAExC,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBACjD,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBACtD,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBAEtD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAE7D,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;gBACpD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAE7D,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;gBACzD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAChE,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAE7D,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC;gBAChE,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAChE,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC;gBAEhE,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBAC/D,MAAM,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;gBAC3D,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAExC,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBACjD,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBACjD,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBAEjD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBAExD,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;gBACpD,mBAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;gBACpD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAM,CAAC,UAAU,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,aAAM,CAAC,OAAO,CAAC,4BAAS,CAAC,OAAO,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;gBAExD,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC;YAElC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;YAC/E,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;YAE/E,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE7C,4BAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAExC,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE7C,4BAAS,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,aAAM,CAAC,KAAK,CAAC,4BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAExC,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE7C,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAErE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAErE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/tests/AutoStartTimerTest.js b/dist/tests/AutoStartTimerTest.js index 8877cbeb..061cb162 100644 --- a/dist/tests/AutoStartTimerTest.js +++ b/dist/tests/AutoStartTimerTest.js @@ -7,7 +7,7 @@ const chai_1 = require("chai"); const Player_1 = require("../Player"); const AutoStartTimer_1 = require("../plugins/AutoStartTimer"); const TestUtils_1 = __importDefault(require("./TestUtils")); -describe("AutoStartTimerTest", function () { +describe('AutoStartTimerTest', function () { before(function () { TestUtils_1.default.configMochaAsSilent(); }); @@ -22,21 +22,21 @@ describe("AutoStartTimerTest", function () { const astimer = new AutoStartTimer_1.AutoStartTimer(li.lobby, option); return { astimer, players, ...li }; } - describe("auto start tests", function () { - it("normal operation test", async () => { + describe('auto start tests', function () { + it('normal operation test', async () => { const { lobby, ircClient } = await prepare(true, true, 60); let c = 0, d = 0; lobby.SentMessage.on(a => { - chai_1.assert.equal(a.message, "!mp clearhost"); + chai_1.assert.equal(a.message, '!mp clearhost'); c++; }); lobby.PluginMessage.on(a => { - if (d == 0) { - chai_1.assert.equal(a.type, "mp_abort_start"); + if (d === 0) { + chai_1.assert.equal(a.type, 'mp_abort_start'); } - else if (d == 1) { - chai_1.assert.equal(a.type, "mp_start"); - chai_1.assert.equal(a.args[0], "60"); + else if (d === 1) { + chai_1.assert.equal(a.type, 'mp_start'); + chai_1.assert.equal(a.args[0], '60'); } d++; }); @@ -44,20 +44,20 @@ describe("AutoStartTimerTest", function () { chai_1.assert.equal(c, 1); chai_1.assert.equal(d, 2); }); - it("no clearhost test", async () => { + it('no clearhost test', async () => { const { lobby, ircClient } = await prepare(true, false, 60); let c = 0, d = 0; lobby.SentMessage.on(a => { - chai_1.assert.equal(a.message, "!mp clearhost"); + chai_1.assert.equal(a.message, '!mp clearhost'); c++; }); lobby.PluginMessage.on(a => { - if (d == 0) { - chai_1.assert.equal(a.type, "mp_abort_start"); + if (d === 0) { + chai_1.assert.equal(a.type, 'mp_abort_start'); } - else if (d == 1) { - chai_1.assert.equal(a.type, "mp_start"); - chai_1.assert.equal(a.args[0], "60"); + else if (d === 1) { + chai_1.assert.equal(a.type, 'mp_start'); + chai_1.assert.equal(a.args[0], '60'); } d++; }); @@ -65,7 +65,7 @@ describe("AutoStartTimerTest", function () { chai_1.assert.equal(c, 0); chai_1.assert.equal(d, 2); }); - it("disabled test", async () => { + it('disabled test', async () => { const { lobby, ircClient } = await prepare(false, false, 60); let c = 0; lobby.SentMessage.on(a => { @@ -74,16 +74,16 @@ describe("AutoStartTimerTest", function () { await ircClient.emulateChangeMapAsync(); chai_1.assert.equal(c, 0); }); - it("timer cancel test", async () => { + it('timer cancel test', async () => { const { lobby, ircClient } = await prepare(true, false, 60); let d = 0; lobby.PluginMessage.on(a => { - if (d == 0 || d == 2) { - chai_1.assert.equal(a.type, "mp_abort_start"); + if (d === 0 || d === 2) { + chai_1.assert.equal(a.type, 'mp_abort_start'); } - else if (d == 1 || d == 3) { - chai_1.assert.equal(a.type, "mp_start"); - chai_1.assert.equal(a.args[0], "60"); + else if (d === 1 || d === 3) { + chai_1.assert.equal(a.type, 'mp_start'); + chai_1.assert.equal(a.args[0], '60'); } d++; }); @@ -91,22 +91,22 @@ describe("AutoStartTimerTest", function () { await ircClient.emulateChangeMapAsync(); chai_1.assert.equal(d, 4); }); - it("timer will cancel when host changed", async () => { + it('timer will cancel when host changed', async () => { const { players, lobby, ircClient } = await prepare(true, true, 60); let c = 0; lobby.SentMessage.on(a => { - if (c == 2 || c == 5) { - chai_1.assert.equal(a.message, "!mp clearhost"); + if (c === 2 || c === 5) { + chai_1.assert.equal(a.message, '!mp clearhost'); } c++; }); lobby.PluginMessage.on(a => { - if (c == 0 || c == 3) { - chai_1.assert.equal(a.type, "mp_abort_start"); + if (c === 0 || c === 3) { + chai_1.assert.equal(a.type, 'mp_abort_start'); } - else if (c == 1 || c == 4) { - chai_1.assert.equal(a.type, "mp_start"); - chai_1.assert.equal(a.args[0], "60"); + else if (c === 1 || c === 4) { + chai_1.assert.equal(a.type, 'mp_start'); + chai_1.assert.equal(a.args[0], '60'); } c++; }); @@ -116,28 +116,28 @@ describe("AutoStartTimerTest", function () { chai_1.assert.equal(c, 6); }); }); - describe("option tests", function () { + describe('option tests', function () { function assertOptions(astimer, enabled, doClearHost, waitingTime) { chai_1.assert.equal(astimer.option.enabled, enabled); chai_1.assert.equal(astimer.option.doClearHost, doClearHost); chai_1.assert.equal(astimer.option.waitingTime, waitingTime); } - it("option setting test", async () => { + it('option setting test', async () => { const { astimer, lobby, ircClient } = await prepare(true, false, 60); assertOptions(astimer, true, false, 60); - const p1 = lobby.GetOrMakePlayer("p1"); + const p1 = lobby.GetOrMakePlayer('p1'); p1.setRole(Player_1.Roles.Authorized); - lobby.RaiseReceivedChatCommand(p1, "*autostart_disable"); + lobby.RaiseReceivedChatCommand(p1, '*autostart_disable'); assertOptions(astimer, false, false, 60); - lobby.RaiseReceivedChatCommand(p1, "*autostart_enable"); + lobby.RaiseReceivedChatCommand(p1, '*autostart_enable'); assertOptions(astimer, true, false, 60); - lobby.RaiseReceivedChatCommand(p1, "*autostart_clearhost_enable"); + lobby.RaiseReceivedChatCommand(p1, '*autostart_clearhost_enable'); assertOptions(astimer, true, true, 60); - lobby.RaiseReceivedChatCommand(p1, "*atuostart_clearhost_disable"); + lobby.RaiseReceivedChatCommand(p1, '*atuostart_clearhost_disable'); assertOptions(astimer, true, false, 60); - lobby.RaiseReceivedChatCommand(p1, "*autostart_time 50"); + lobby.RaiseReceivedChatCommand(p1, '*autostart_time 50'); assertOptions(astimer, true, false, 50); - lobby.RaiseReceivedChatCommand(p1, "*autostart_time -50"); + lobby.RaiseReceivedChatCommand(p1, '*autostart_time -50'); assertOptions(astimer, true, false, 15); }); }); diff --git a/dist/tests/AutoStartTimerTest.js.map b/dist/tests/AutoStartTimerTest.js.map index 48d1b975..d6093d67 100644 --- a/dist/tests/AutoStartTimerTest.js.map +++ b/dist/tests/AutoStartTimerTest.js.map @@ -1 +1 @@ -{"version":3,"file":"AutoStartTimerTest.js","sourceRoot":"","sources":["../../src/tests/AutoStartTimerTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"AutoStartTimerTest.js","sourceRoot":"","sources":["../../src/tests/AutoStartTimerTest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tests/BeatmapRepositoryTest.js b/dist/tests/BeatmapRepositoryTest.js index 5c2170d6..a7bd9c37 100644 --- a/dist/tests/BeatmapRepositoryTest.js +++ b/dist/tests/BeatmapRepositoryTest.js @@ -10,21 +10,21 @@ const BeatmapRepository_1 = require("../webapi/BeatmapRepository"); const WebApiClient_1 = require("../webapi/WebApiClient"); const TestUtils_1 = __importDefault(require("./TestUtils")); const promises_1 = __importDefault(require("fs/promises")); -describe("BeatmapRepository Tests", function () { +describe('BeatmapRepository Tests', function () { before(function () { TestUtils_1.default.configMochaAsSilent(); }); afterEach(function () { BeatmapRepository_1.BeatmapRepository.maps.clear(); }); - describe.skip("fetch beatmap form osu.ppy.sh tests", () => { + describe.skip('fetch beatmap form osu.ppy.sh tests', () => { before(function () { BeatmapRepository_1.BeatmapRepository.fetcher = BeatmapRepository_1.BeatmapRepository.websiteFetcher; }); - it("parse website test", async () => { - const bufSrc = await promises_1.default.readFile("./src/tests/cases/3182198.html"); + it('parse website test', async () => { + const bufSrc = await promises_1.default.readFile('./src/tests/cases/3182198.html'); const src = bufSrc.toString(); - const reg = new RegExp('', "ms"); + const reg = /', "ms"); + this.webpreg = /', "ms"); - this.modepreg = new RegExp('', "ms"); + this.webpreg = /', "ms"); - const match = reg.exec(src); - if (match) { - console.log(match[1]); - const json = JSON.parse(match[1]); - console.log(json); - } else { - assert.fail(); - } - - }); - - it("fetch osu map", async () => { - const mapid = 3182198; - const b = await BeatmapRepository.getBeatmap(mapid); - assert.equal(b.mode, "osu"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "aquamarine"); - }); - - it("fetch invalid map id", async () => { - const mapid = 737157; - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.NotFound); - } else { - assert.fail(); - } - } - }); - - it("fetch taiko map", async () => { - const mapid = 2938202; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko); - assert.equal(b.mode, "taiko"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "The Old Blood"); - }); - - it("fetch fruits map", async () => { - const mapid = 3175483; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.CatchTheBeat); - assert.equal(b.mode, "fruits"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "Otter Pop (feat. Hollis)"); - }); - - it("fetch mania map", async () => { - const mapid = 3259543; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.OsuMania); - assert.equal(b.mode, "mania"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "Hanshoku-ki (Cut Ver.)"); - }); - - it("fetch converted taiko map", async () => { - const mapid = 3182198; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, true); - assert.equal(b.mode, "taiko"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "aquamarine"); - }); - - it("fail to fetch taiko map", async () => { - const mapid = 3182198; - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, false); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.PlayModeMismatched); - } else { - assert.fail(); - } - } - }); - - it("fail to fetch osu map", async () => { - const mapid = 2938202; - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Osu); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.PlayModeMismatched); - } else { - assert.fail(); - } - } - }); - - it("cache test", async () => { - const mapid = 3182198; - BeatmapRepository.maps.clear(); - const b1 = await BeatmapRepository.getBeatmap(mapid); - assert.equal(BeatmapRepository.maps.get(BeatmapRepository.genKey(mapid, PlayMode.Osu)), b1) - const b2 = await BeatmapRepository.getBeatmap(mapid); - assert.equal(b1, b2); - }) - }); - - describe.skip("fetch beatmap form api tests", () => { - before(function () { - BeatmapRepository.fetcher = WebApiClient; - }); - after(function () { - BeatmapRepository.fetcher = BeatmapRepository.websiteFetcher; - }); - - it("fetch osu map", async () => { - const mapid = 3182198; - const b = await BeatmapRepository.getBeatmap(mapid); - assert.equal(b.mode, "osu"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "aquamarine"); - }); - - it("fetch invalid map id", async () => { - const mapid = 737157; - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.NotFound); - } else { - assert.fail(); - } - } - }); - - it("fetch taiko map", async () => { - const mapid = 2938202; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko); - assert.equal(b.mode, "taiko"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "The Old Blood"); - }); - - it("fetch fruits map", async () => { - const mapid = 3175483; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.CatchTheBeat); - assert.equal(b.mode, "fruits"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "Otter Pop (feat. Hollis)"); - }); - - it("fetch mania map", async () => { - const mapid = 3259543; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.OsuMania); - assert.equal(b.mode, "mania"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "Hanshoku-ki (Cut Ver.)"); - }); - - it("fetch converted taiko map", async () => { - const mapid = 3182198; - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, true); - assert.equal(b.mode, "taiko"); - assert.equal(b.id, mapid); - assert.equal(b.beatmapset?.title, "aquamarine"); - }); - - it("fail to fetch taiko map", async () => { - const mapid = 3182198; - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, false); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.PlayModeMismatched); - } else { - assert.fail(); - } - } - }); - - it("fail to fetch osu map", async () => { - const mapid = 2938202; - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Osu); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.PlayModeMismatched); - } else { - assert.fail(); - } - } - }); - - it("cache test", async () => { - const mapid = 3182198; - BeatmapRepository.maps.clear(); - const b1 = await BeatmapRepository.getBeatmap(mapid); - assert.equal(BeatmapRepository.maps.get(BeatmapRepository.genKey(mapid, PlayMode.Osu)), b1) - const b2 = await BeatmapRepository.getBeatmap(mapid); - assert.equal(b1, b2); - }) - }); - - describe("fetch beatmap form fakes tests", () => { - const originalFetcher = BeatmapRepository.fetcher; - const fakeFetcher = new FakeBeatmapFetcher(); - before(function () { - BeatmapRepository.fetcher = fakeFetcher; - }); - after(function () { - BeatmapRepository.fetcher = originalFetcher; - }); - - it("fetch osu map", async () => { - const mapid = 3182198; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.Osu, 100, 5); - const b = await BeatmapRepository.getBeatmap(mapid); - assert.equal(b.mode, "osu"); - assert.equal(b.id, mapid); - }); - - it("fetch invalid map id", async () => { - const mapid = 1000; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.Osu, 100, 5); - try { - const b = await BeatmapRepository.getBeatmap(500, PlayMode.Taiko); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.NotFound); - } else { - assert.fail(); - } - } - }); - - it("fetch taiko map", async () => { - const mapid = 2938202; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.Taiko, 100, 5); - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, false); - assert.equal(b.mode, "taiko"); - assert.equal(b.id, mapid); - }); - - it("fetch fruits map", async () => { - const mapid = 3175483; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.CatchTheBeat, 100, 5); - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.CatchTheBeat, false); - assert.equal(b.mode, "fruits"); - assert.equal(b.id, mapid); - }); - - it("fetch mania map", async () => { - const mapid = 3259543; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.OsuMania, 100, 5); - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.OsuMania, false); - assert.equal(b.mode, "mania"); - assert.equal(b.id, mapid); - }); - - it("fetch converted taiko map", async () => { - const mapid = 3182198; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.Osu, 100, 5); - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, true); - assert.equal(b.mode, "taiko"); - assert.equal(b.id, mapid); - }); - - it("fail to fetch taiko map", async () => { - const mapid = 3182198; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.Osu, 100, 5); - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Taiko, false); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.PlayModeMismatched); - } else { - assert.fail(); - } - } - }); - - it("fail to fetch osu map", async () => { - const mapid = 2938202; - fakeFetcher.setBeatmapProperties(mapid, "test", PlayMode.Taiko, 100, 5); - try { - const b = await BeatmapRepository.getBeatmap(mapid, PlayMode.Osu); - assert.fail(); - } catch (e: any) { - if (e instanceof FetchBeatmapError) { - assert.equal(e.reason, FetchBeatmapErrorReason.PlayModeMismatched); - } else { - assert.fail(); - } - } - }); + BeatmapRepository.fetcher = BeatmapRepository.websiteFetcher; + }); + + it('parse website test', async () => { + const bufSrc = await fs.readFile('./src/tests/cases/3182198.html'); + const src = bufSrc.toString(); + const reg = /', "ms"); - - async fetchBeatmapFromWebsite(id: number): Promise { - try { - const target = "https://osu.ppy.sh/b/" + id; - const res = await axios.get(target); - const match = this.webpreg.exec(res.data); - if (match) { - const json = JSON.parse(match[1]); - return json as Beatmapset; - } - throw new FetchBeatmapError(FetchBeatmapErrorReason.FormatError); - } catch (e: any) { - if (isFetchBeatmapError(e)) { - throw e; - } - if (axios.isAxiosError(e)) { - if (e.response?.status == 404) { - throw new FetchBeatmapError(FetchBeatmapErrorReason.NotFound); - } - throw new FetchBeatmapError(FetchBeatmapErrorReason.Unknown, e.message); - } - throw new FetchBeatmapError(FetchBeatmapErrorReason.FormatError, e.message); + map.beatmapset = set; + set.beatmaps = undefined; + return map; + } + + getBeatmapset(mapId: number): Promise { + return this.fetchBeatmapFromWebsite(mapId); + } + + webpreg = /', "ms"); - modepreg = new RegExp( - '', - "ms" - ); - - async fetchProfileFromWebsite(userID: number, mode: string): Promise { - try { - const target = "https://osu.ppy.sh/users/" + userID + "/" + mode; - const res = await axios.get(target); - const match = this.webpreg.exec(res.data); - if (match) { - const json = JSON.parse(match[1]); - const mode = this.modepreg.exec(res.data); - let rxes = json as UserProfile; - if(mode){ - var regex = /"/ig; - rxes.playmode = mode[1].trim().replace(regex,''); - } - return rxes; - } - throw new FetchProfileError(FetchProfileErrorReason.FormatError); - } catch (e: any) { - if (isFetchProfileError(e)) { - throw e; - } - if (axios.isAxiosError(e)) { - if (e.response?.status == 404) { - throw new FetchProfileError(FetchProfileErrorReason.NotFound); - } - throw new FetchProfileError(FetchProfileErrorReason.Unknown, e.message); - } - throw new FetchProfileError(FetchProfileErrorReason.FormatError, e.message); + return pro; + } + + webpreg = /