Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- !function(module) {
- /**
- * @param {number} i
- * @return {?}
- */
- function t(i) {
- if (args[i]) {
- return args[i].exports;
- }
- var m = args[i] = {
- i : i,
- l : false,
- exports : {}
- };
- return module[i].call(m.exports, m, m.exports, t), m.l = true, m.exports;
- }
- var args = {};
- return t.m = module, t.c = args, t.i = function(b) {
- return b;
- }, t.d = function(ctx, d, f) {
- if (!t.o(ctx, d)) {
- Object.defineProperty(ctx, d, {
- configurable : false,
- enumerable : true,
- get : f
- });
- }
- }, t.n = function(c) {
- /** @type {function (): ?} */
- var error = c && c.__esModule ? function() {
- return c.default;
- } : function() {
- return c;
- };
- return t.d(error, "a", error), error;
- }, t.o = function(action, a) {
- return Object.prototype.hasOwnProperty.call(action, a);
- }, t.p = "", t(t.s = 59);
- }([function(module, dataAndEvents) {
- module.exports = React;
- }, function(module, dataAndEvents) {
- module.exports = mobxReact;
- }, function(module, dataAndEvents) {
- module.exports = mobx;
- }, function(dataAndEvents, ctx, require) {
- /**
- * @param {?} dataAndEvents
- * @param {Function} callback
- * @return {undefined}
- */
- function exec(dataAndEvents, callback) {
- if (!(dataAndEvents instanceof callback)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(ctx, "__esModule", {
- value : true
- });
- ctx.BufferWriter = ctx.BufferReader = void 0;
- var transitionDone = function() {
- /**
- * @param {Function} proto
- * @param {Array} name
- * @return {undefined}
- */
- function defineProperty(proto, name) {
- /** @type {number} */
- var i = 0;
- for (;i < name.length;i++) {
- var desc = name[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(proto, desc.key, desc);
- }
- }
- return function(context, name, tag) {
- return name && defineProperty(context.prototype, name), tag && defineProperty(context, tag), context;
- };
- }();
- var Block = require(11);
- ctx.BufferReader = function() {
- /**
- * @param {?} buffer
- * @return {undefined}
- */
- function next(buffer) {
- exec(this, next);
- /** @type {number} */
- this.offset = 0;
- /** @type {DataView} */
- this.view = new DataView(buffer);
- this.textDecoder = new TextDecoder;
- }
- return transitionDone(next, [{
- key : "readBytes",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- /** @type {ArrayBuffer} */
- var buffer = new ArrayBuffer(object);
- return(new Uint8Array(buffer)).set(new Uint8Array(this.view.buffer, this.offset, object)), this.offset += object, buffer;
- }
- }, {
- key : "readUint8",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getUint8(this.offset);
- return this.offset += 1, array;
- }
- }, {
- key : "readInt8",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getInt8(this.offset);
- return this.offset += 1, array;
- }
- }, {
- key : "readUint16",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getUint16(this.offset, true);
- return this.offset += 2, array;
- }
- }, {
- key : "readInt16",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getInt16(this.offset, true);
- return this.offset += 2, array;
- }
- }, {
- key : "readUint32",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getUint32(this.offset, true);
- return this.offset += 4, array;
- }
- }, {
- key : "readInt32",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getInt32(this.offset, true);
- return this.offset += 4, array;
- }
- }, {
- key : "readFloat32",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getFloat32(this.offset, true);
- return this.offset += 4, array;
- }
- }, {
- key : "readFloat64",
- /**
- * @return {?}
- */
- value : function() {
- var array = this.view.getFloat64(this.offset, true);
- return this.offset += 8, array;
- }
- }, {
- key : "readString",
- /**
- * @return {?}
- */
- value : function() {
- var offset = this.offset;
- for (;0 != this.readUint8();) {
- }
- return this.textDecoder.decode(new Uint8Array(this.view.buffer, offset, this.offset - offset - 1));
- }
- }, {
- key : "skipString8",
- /**
- * @return {undefined}
- */
- value : function() {
- for (;0 != this.readUint8();) {
- }
- }
- }, {
- key : "readString8",
- /**
- * @return {?}
- */
- value : function() {
- /** @type {string} */
- var d = "";
- var lo = void 0;
- for (;0 != (lo = this.readUint8());) {
- d += String.fromCharCode(lo);
- }
- return d;
- }
- }, {
- key : "skipString16",
- /**
- * @return {undefined}
- */
- value : function() {
- for (;0 != this.readUint16();) {
- }
- }
- }, {
- key : "readString16",
- /**
- * @return {?}
- */
- value : function() {
- /** @type {string} */
- var d = "";
- var lo = void 0;
- for (;0 != (lo = this.readUint16());) {
- d += String.fromCharCode(lo);
- }
- return d;
- }
- }, {
- key : "readStringLen16",
- /**
- * @return {?}
- */
- value : function() {
- /** @type {string} */
- var d = "";
- var readUint16 = this.readUint16();
- for (;readUint16 > 0;readUint16--) {
- d += String.fromCharCode(this.readUint16());
- }
- return d;
- }
- }, {
- key : "readColor",
- /**
- * @return {?}
- */
- value : function() {
- return(0, Block.colorToHex)(this.readUint8(), this.readUint8(), this.readUint8());
- }
- }]), next;
- }();
- ctx.BufferWriter = function() {
- /**
- * @return {undefined}
- */
- function restoreScript() {
- exec(this, restoreScript);
- /** @type {Array} */
- this.bytes = [];
- /** @type {DataView} */
- this.view = new DataView(new ArrayBuffer(8));
- this.textEncoder = new TextEncoder;
- }
- return transitionDone(restoreScript, [{
- key : "reset",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {number} */
- this.bytes.length = 0;
- }
- }, {
- key : "writeBytes",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- Array.prototype.push.apply(this.bytes, new Uint8Array(object));
- }
- }, {
- key : "writeUint8",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setUint8(0, object);
- this.moveTemp(1);
- }
- }, {
- key : "writeInt8",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setInt8(0, object);
- this.moveTemp(1);
- }
- }, {
- key : "writeUint16",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setUint16(0, object, true);
- this.moveTemp(2);
- }
- }, {
- key : "writeInt16",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setInt16(0, object, true);
- this.moveTemp(2);
- }
- }, {
- key : "writeUint32",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setUint32(0, object, true);
- this.moveTemp(4);
- }
- }, {
- key : "writeInt32",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setInt32(0, object, true);
- this.moveTemp(4);
- }
- }, {
- key : "writeFloat32",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setFloat32(0, object, true);
- this.moveTemp(4);
- }
- }, {
- key : "writeFloat64",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.view.setFloat64(0, object, true);
- this.moveTemp(8);
- }
- }, {
- key : "writeString",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- Array.prototype.push.apply(this.bytes, this.textEncoder.encode(object));
- this.bytes.push(0);
- }
- }, {
- key : "writeString8",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- var idx = 0;
- for (;idx < object.length;idx++) {
- this.writeUint8(object.charCodeAt(idx));
- }
- this.writeUint8(0);
- }
- }, {
- key : "writeString16",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- var idx = 0;
- for (;idx < object.length;idx++) {
- this.writeUint16(object.charCodeAt(idx));
- }
- this.writeUint16(0);
- }
- }, {
- key : "writeStringLen16",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.writeUint16(object.length);
- /** @type {number} */
- var idx = 0;
- for (;idx < object.length;idx++) {
- this.writeUint16(object.charCodeAt(idx));
- }
- }
- }, {
- key : "moveTemp",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- var i = 0;
- for (;i < object;i++) {
- this.bytes.push(this.view.getUint8(i));
- }
- }
- }, {
- key : "build",
- /**
- * @return {?}
- */
- value : function() {
- return(new Uint8Array(this.bytes)).buffer;
- }
- }]), restoreScript;
- }();
- }, function(dataAndEvents, attributes, require) {
- /**
- * @param {string} context
- * @return {?}
- */
- function getAll(context) {
- return context && context.__esModule ? context : {
- default : context
- };
- }
- /**
- * @param {string} contentHTML
- * @return {undefined}
- */
- function initialize(contentHTML) {
- var map = require(26);
- Object.assign(opt_attributes, {
- init : null,
- getServers : map.localGetServers,
- normalizeNames : map.localNormalizeNames,
- Client : map.LocalClient,
- MultiboxClient : map.LocalMultiboxClient,
- SpectateClient : map.LocalSpectateClient
- });
- Object.assign(attributes, map);
- if (opt_attributes.init) {
- opt_attributes.init();
- }
- }
- Object.defineProperty(attributes, "__esModule", {
- value : true
- });
- var clone = require(7);
- Object.defineProperty(attributes, "Client", {
- enumerable : true,
- /**
- * @return {?}
- */
- get : function() {
- return getAll(clone).default;
- }
- });
- /** @type {function (string): undefined} */
- attributes.init = initialize;
- var opt_attributes = attributes.clients = {};
- initialize(window.location.hostname);
- }, function(module, dataAndEvents) {
- module.exports = ReactTabs;
- }, function(dataAndEvents, object, deepDataAndEvents) {
- /**
- * @param {?} dataAndEvents
- * @param {Function} seed
- * @return {undefined}
- */
- function posProcess(dataAndEvents, seed) {
- if (!(dataAndEvents instanceof seed)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- var makeArray = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var self = function() {
- /**
- * @return {undefined}
- */
- function set() {
- posProcess(this, set);
- /** @type {number} */
- this.type = -1;
- /** @type {number} */
- this.x = 0;
- /** @type {number} */
- this.x_ = 0;
- /** @type {number} */
- this.y = 0;
- /** @type {number} */
- this.y_ = 0;
- /** @type {number} */
- this.size = 0;
- /** @type {number} */
- this.size_ = 0;
- /** @type {number} */
- this.steps = 0;
- }
- return makeArray(set, [{
- key : "setX",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- this.x_ = object;
- /** @type {number} */
- this.x = object;
- }
- }, {
- key : "setY",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- this.y_ = object;
- /** @type {number} */
- this.y = object;
- }
- }, {
- key : "setSize",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- this.size_ = object;
- /** @type {number} */
- this.size = object;
- }
- }, {
- key : "getMass",
- /**
- * @return {?}
- */
- value : function() {
- return this.size * this.size / 100 >> 0;
- }
- }, {
- key : "getRealMass",
- /**
- * @return {?}
- */
- value : function() {
- return this.size_ * this.size_ / 100 >> 0;
- }
- }, {
- key : "animate",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (this.steps > 0) {
- this.x += (this.x_ - this.x) * object;
- this.y += (this.y_ - this.y) * object;
- this.size += (this.size_ - this.size) * object;
- this.steps--;
- }
- }
- }]), set;
- }();
- object.default = self;
- Object.assign(self.prototype, {
- color : null,
- pId : -1,
- team : "",
- name : "",
- skin : "",
- img : null,
- nameColor : "#fff"
- });
- }, function(dataAndEvents, object, require) {
- /**
- * @param {?} dataAndEvents
- * @param {Function} init
- * @return {undefined}
- */
- function animate(dataAndEvents, init) {
- if (!(dataAndEvents instanceof init)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var make = function() {
- /**
- * @param {Function} proto
- * @param {?} name
- * @return {undefined}
- */
- function defineProperty(proto, name) {
- /** @type {number} */
- var i = 0;
- for (;i < name.length;i++) {
- var desc = name[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(proto, desc.key, desc);
- }
- }
- return function(context, name, tag) {
- return name && defineProperty(context.prototype, name), tag && defineProperty(context, tag), context;
- };
- }();
- var Block = require(3);
- var Type = function() {
- /**
- * @param {string} server
- * @param {?} theGame
- * @return {undefined}
- */
- function init(server, theGame) {
- animate(this, init);
- /** @type {number} */
- this.reconnectTries = 0;
- /** @type {null} */
- this.socket = null;
- /** @type {string} */
- this.server = server;
- this.game = theGame;
- this.writer = new Block.BufferWriter;
- /** @type {Array} */
- this.timers = [];
- /** @type {number} */
- this.pId = -1;
- /** @type {string} */
- this.team = "";
- /** @type {string} */
- this.name = "";
- /** @type {string} */
- this.skin = "";
- /** @type {boolean} */
- this.spectating = false;
- /** @type {boolean} */
- this.wPress = false;
- /** @type {number} */
- this.lineSplit = 0;
- /** @type {null} */
- this.border = null;
- /** @type {number} */
- this.centerX = 0;
- /** @type {number} */
- this.centerY = 0;
- /** @type {number} */
- this.centerX_ = 0;
- /** @type {number} */
- this.centerY_ = 0;
- /** @type {number} */
- this.centerSteps = 30;
- /** @type {number} */
- this.scaleBase = 0;
- this.bucket = new Map;
- this.ownCells = new Map;
- /** @type {Array} */
- this.party = [];
- this.partyIds = new Map;
- /** @type {number} */
- this.pingedTime = 0;
- }
- return make(init, [{
- key : "normalizeName",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- return object || "An unnamed cell";
- }
- }, {
- key : "animate",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (this.centerSteps > 0) {
- this.centerX += (this.centerX_ - this.centerX) * object;
- this.centerY += (this.centerY_ - this.centerY) * object;
- }
- this.centerSteps--;
- }
- }, {
- key : "connect",
- /**
- * @return {undefined}
- */
- value : function() {
- var self = this;
- if (this.isConnected()) {
- if (this.spectating) {
- this.sendSpectate();
- } else {
- this.sendPlay();
- }
- } else {
- if (this.server) {
- this.socket = this.game.recorder.createSocket(this);
- /** @type {string} */
- this.socket.binaryType = "arraybuffer";
- this.socket.onopen = this.onConnect.bind(this);
- this.socket.onmessage = this.onMessage.bind(this);
- /**
- * @return {undefined}
- */
- this.socket.onclose = function() {
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var n = false;
- var bulk = void 0;
- try {
- var right;
- var tree = self.timers[Symbol.iterator]();
- for (;!(callback2 = (right = tree.next()).done);callback2 = true) {
- var b = right.value;
- clearInterval(b);
- }
- } catch (fn) {
- /** @type {boolean} */
- n = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (n) {
- throw bulk;
- }
- }
- }
- /** @type {number} */
- self.timers.length = 0;
- self.bucket.clear();
- self.ownCells.clear();
- /** @type {number} */
- self.party.length = 0;
- self.partyIds.clear();
- self.game.onDisconnect(self);
- setTimeout(self.connect.bind(self), 1E3 * Math.min(Math.pow(2, self.reconnectTries++), 60));
- };
- /**
- * @return {?}
- */
- this.socket.onerror = function() {
- return self.game.onConnectError();
- };
- }
- }
- }
- }, {
- key : "disconnect",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {null} */
- this.server = null;
- if (this.socket) {
- this.socket.close();
- }
- }
- }, {
- key : "isConnected",
- /**
- * @return {?}
- */
- value : function() {
- return this.socket && this.socket.readyState == WebSocket.OPEN;
- }
- }, {
- key : "onConnect",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {number} */
- this.reconnectTries = 0;
- this.sendConnectionStart();
- this.sendPing();
- this.timers.push(setInterval(this.sendPing.bind(this), 3E4));
- this.connect();
- }
- }, {
- key : "play",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} event
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs, event) {
- /** @type {boolean} */
- this.spectating = false;
- /** @type {number} */
- this.team = object;
- /** @type {number} */
- this.name = expectedNumberOfNonCommentArgs;
- this.skin = event;
- this.connect();
- }
- }, {
- key : "spectate",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {number} event
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs, event) {
- /** @type {boolean} */
- this.spectating = true;
- /** @type {number} */
- this.team = object;
- /** @type {number} */
- this.name = expectedNumberOfNonCommentArgs;
- /** @type {number} */
- this.skin = event;
- this.connect();
- }
- }, {
- key : "sendPacket",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (this.isConnected()) {
- this.socket.send(object);
- }
- }
- }, {
- key : "sendConnectionStart",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendPlay",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendSpectate",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendPing",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {number} */
- this.pingedTime = Date.now();
- }
- }, {
- key : "sendSpace",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendW",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendTab",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendAutoChase",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "sendMouse",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- }
- }, {
- key : "sendChat",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- }
- }, {
- key : "sendInviteResponse",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- }
- }, {
- key : "sendPartyAction",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- }
- }, {
- key : "sendWhisper",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- }
- }, {
- key : "onMessage",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- }
- }, {
- key : "handleUpdate",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- }
- }, {
- key : "onSendMessage",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- }
- }]), init;
- }();
- object.default = Type;
- /** @type {number} */
- Type.prototype.actionTicks = 0;
- }, function(dataAndEvents, object, deepDataAndEvents) {
- /**
- * @param {number} results
- * @return {?}
- */
- function makeArray(results) {
- if (Array.isArray(results)) {
- /** @type {number} */
- var i = 0;
- /** @type {Array} */
- var result = Array(results.length);
- for (;i < results.length;i++) {
- result[i] = results[i];
- }
- return result;
- }
- return Array.from(results);
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} init
- * @return {undefined}
- */
- function animate(dataAndEvents, init) {
- if (!(dataAndEvents instanceof init)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- var fn = function() {
- /**
- * @param {Arguments} object
- * @param {number} deepDataAndEvents
- * @return {?}
- */
- function clone(object, deepDataAndEvents) {
- /** @type {Array} */
- var res = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var next;
- var self = object[Symbol.iterator]();
- for (;!(callback2 = (next = self.next()).done) && (res.push(next.value), !deepDataAndEvents || res.length !== deepDataAndEvents);callback2 = true) {
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return res;
- }
- return function(which, deepDataAndEvents) {
- if (Array.isArray(which)) {
- return which;
- }
- if (Symbol.iterator in Object(which)) {
- return clone(which, deepDataAndEvents);
- }
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
- };
- }();
- var make = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var self = function() {
- /**
- * @param {?} theGame
- * @return {undefined}
- */
- function init(theGame) {
- animate(this, init);
- this.game = theGame;
- /** @type {number} */
- this.score = 0;
- /** @type {number} */
- this.partyScore = 0;
- /** @type {number} */
- this.tsMass = 0;
- /** @type {number} */
- this.cellNum = 0;
- this.cells = new Map;
- this.masses = new Map;
- }
- return make(init, [{
- key : "update",
- /**
- * @return {undefined}
- */
- value : function() {
- var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
- this.updateCells();
- this.updateCellNum();
- this.updateMass();
- this.updateScore();
- this.updatePartyScore();
- if (e) {
- this.updateTS();
- }
- }
- }, {
- key : "updateCells",
- /**
- * @return {undefined}
- */
- value : function() {
- this.cells.clear();
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var t = false;
- var bulk = void 0;
- try {
- var tok;
- var self = this.game.clients[Symbol.iterator]();
- for (;!(callback2 = (tok = self.next()).done);callback2 = true) {
- var obj = tok.value;
- this.cells.set(obj, [].concat(makeArray(obj.ownCells.values())));
- }
- } catch (fn) {
- /** @type {boolean} */
- t = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (t) {
- throw bulk;
- }
- }
- }
- }
- }, {
- key : "updateCellNum",
- /**
- * @return {undefined}
- */
- value : function() {
- this.cellNum = this.game.activeClient ? this.game.activeClient.ownCells.size : 0;
- }
- }, {
- key : "updateMass",
- /**
- * @return {undefined}
- */
- value : function() {
- this.masses.clear();
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var t = false;
- var _clockseq = void 0;
- try {
- var self;
- var tree = this.cells.entries()[Symbol.iterator]();
- for (;!(callback2 = (self = tree.next()).done);callback2 = true) {
- var matched = fn(self.value, 2);
- var cacheKey = matched[0];
- var params = matched[1];
- this.masses.set(cacheKey, params.reduce(function(deepDataAndEvents, dataAndEvents) {
- return deepDataAndEvents + dataAndEvents.getRealMass();
- }, 0));
- }
- } catch (clockseq) {
- /** @type {boolean} */
- t = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (t) {
- throw _clockseq;
- }
- }
- }
- }
- }, {
- key : "updateScore",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var t = false;
- var bulk = void 0;
- try {
- var options;
- var self = this.masses.values()[Symbol.iterator]();
- for (;!(callback2 = (options = self.next()).done);callback2 = true) {
- var which = options.value;
- /** @type {number} */
- this.score = Math.max(which, this.score);
- }
- } catch (fn) {
- /** @type {boolean} */
- t = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (t) {
- throw bulk;
- }
- }
- }
- }
- }, {
- key : "updatePartyScore",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {number} */
- this.partyScore = Math.max(this.game.party.reduce(function(sum, e) {
- return sum + e.mass;
- }, 0) || 0, this.partyScore);
- }
- }, {
- key : "updateTS",
- /**
- * @return {undefined}
- */
- value : function() {
- return;
- }
- }]), init;
- }();
- object.default = self;
- /** @type {Array} */
- self.rolling = ["score", "partyScore"];
- }, function(dataAndEvents, object, deepDataAndEvents) {
- /**
- * @param {?} value
- * @return {undefined}
- */
- function set(value) {
- /** @type {Element} */
- var element = document.createElement("textarea");
- element.value = value;
- document.body.appendChild(element);
- element.select();
- document.execCommand("copy");
- document.body.removeChild(element);
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- /** @type {function (?): undefined} */
- object.default = set;
- }, function(dataAndEvents, object, deepDataAndEvents) {
- /**
- * @param {number} dataAndEvents
- * @param {number} to
- * @param {number} deepDataAndEvents
- * @param {number} from
- * @param {number} events
- * @param {number} keepData
- * @return {?}
- */
- function clone(dataAndEvents, to, deepDataAndEvents, from, events, keepData) {
- /** @type {number} */
- var x0 = events - deepDataAndEvents;
- /** @type {number} */
- var x1 = keepData - from;
- /** @type {number} */
- var Vd = x0 * x0 + x1 * x1;
- if (0 == Vd) {
- return[deepDataAndEvents, from];
- }
- /** @type {number} */
- var z2 = dataAndEvents - deepDataAndEvents;
- /** @type {number} */
- var change = to - from;
- /** @type {number} */
- var t = (z2 * x0 + change * x1) / Vd;
- return t < 0 ? [deepDataAndEvents, from] : t > 1 ? [events, keepData] : [deepDataAndEvents + t * x0, from + t * x1];
- }
- /**
- * @param {number} start
- * @param {number} min
- * @param {number} end
- * @param {number} value
- * @param {number} max
- * @return {?}
- */
- function random(start, min, end, value, max) {
- return end > max ? (value = (value - min) / (end - start) * (max - start) + min, end = max) : end < -max && (value = (value - min) / (end - start) * (-max - start) + min, end = -max), value > max ? (end = (end - start) / (value - min) * (max - min) + start, value = max) : value < -max && (end = (end - start) / (value - min) * (-max - min) + start, value = -max), [end, value];
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- /** @type {function (number, number, number, number, number, number): ?} */
- object.projPtToSeg = clone;
- /** @type {function (number, number, number, number, number): ?} */
- object.clipSegBound = random;
- }, function(dataAndEvents, ctx, deepDataAndEvents) {
- /**
- * @param {number} event
- * @return {?}
- */
- function s(event) {
- /** @type {string} */
- var node = "0123456789abcdef";
- return node[event >> 4 & 15] + node[15 & event];
- }
- /**
- * @param {number} el
- * @param {number} c
- * @param {number} key
- * @return {?}
- */
- function color(el, c, key) {
- return "#" + s(el) + s(c) + s(key);
- }
- /**
- * @param {string} template
- * @return {?}
- */
- function parse(template) {
- return[parseInt(template.substr(1, 2), 16), parseInt(template.substr(3, 2), 16), parseInt(template.substr(5, 2), 16)];
- }
- Object.defineProperty(ctx, "__esModule", {
- value : true
- });
- /** @type {function (number): ?} */
- ctx.byteToHex = s;
- /** @type {function (number, number, number): ?} */
- ctx.colorToHex = color;
- /** @type {function (string): ?} */
- ctx.hexToColor = parse;
- }, function(module, dataAndEvents) {
- module.exports = ReactDOM;
- }, function(module, dataAndEvents) {
- module.exports = classNames;
- }, function(value, dataAndEvents) {
- value.exports = window["rc-slider"];
- }, function(module, dataAndEvents, deepDataAndEvents) {
- module.exports = {
- css : ["https://unpkg.com/emoji-mart@0.4.3/css/emoji-mart.css", "https://unpkg.com/font-awesome@4.7.0/css/font-awesome.min.css", "https://unpkg.com/normalize.css@5.0.0/normalize.css", "https://unpkg.com/rc-color-picker@1.1.3/dist/rc-color-picker.min.css", "https://unpkg.com/rc-slider@5.4.3/dist/rc-slider.min.css"],
- js : ["https://unpkg.com/classnames@2.2.5", "https://unpkg.com/crc-32@1.0.1", "https://unpkg.com/dexie@1.5.1/dist/dexie.min.js", "https://unpkg.com/pako@1.0.4/dist/pako.min.js", "https://unpkg.com/react@15.4.2/dist/react.min.js", "https://unpkg.com/react-dom@15.4.2/dist/react-dom.min.js", "https://unpkg.com/mobx@3.1.0/lib/mobx.umd.min.js", "https://unpkg.com/mobx-react@4.1.0/index.min.js", "https://unpkg.com/emoji-mart@0.4.3/dist/emoji-mart.min.js", "https://unpkg.com/rc-color-picker@1.1.3/dist/rc-color-picker.min.js",
- "https://unpkg.com/rc-slider@5.4.3/dist/rc-slider.min.js", "https://unpkg.com/react-contextmenu@2.2.1/dist/react-contextmenu.js", "https://unpkg.com/react-infinite@0.10.0/dist/react-infinite.min.js", "https://unpkg.com/react-reorder@2.1.0", "https://unpkg.com/react-tabs@0.8.2/dist/react-tabs.min.js"],
- test : ["https://unpkg.com/chai@4.0.0-canary.1/chai.js", "https://unpkg.com/fake-indexeddb@1.0.11/dist/fakeIndexedDB.js", "https://unpkg.com/mock-socket@6.0.4/dist/mock-socket.js", "https://unpkg.com/sinon@2.0.0-pre.5/pkg/sinon.js"]
- };
- }, function(dataAndEvents, obj, $) {
- /**
- * @param {Function} type
- * @return {?}
- */
- function require(type) {
- return type && type.__esModule ? type : {
- /** @type {Function} */
- default : type
- };
- }
- /**
- * @param {number} results
- * @return {?}
- */
- function makeArray(results) {
- if (Array.isArray(results)) {
- /** @type {number} */
- var i = 0;
- /** @type {Array} */
- var result = Array(results.length);
- for (;i < results.length;i++) {
- result[i] = results[i];
- }
- return result;
- }
- return Array.from(results);
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function compose(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} init
- * @return {undefined}
- */
- function animate(dataAndEvents, init) {
- if (!(dataAndEvents instanceof init)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} deepDataAndEvents
- * @return {?}
- */
- function clone(dataAndEvents, deepDataAndEvents) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!deepDataAndEvents || "object" != typeof deepDataAndEvents && "function" != typeof deepDataAndEvents ? dataAndEvents : deepDataAndEvents;
- }
- /**
- * @param {Object} fn
- * @param {Object} extend
- * @return {undefined}
- */
- function create(fn, extend) {
- if ("function" != typeof extend && null !== extend) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof extend);
- }
- /** @type {Object} */
- fn.prototype = Object.create(extend && extend.prototype, {
- constructor : {
- value : fn,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (extend) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(fn, extend);
- } else {
- /** @type {Object} */
- fn.__proto__ = extend;
- }
- }
- }
- Object.defineProperty(obj, "__esModule", {
- value : true
- });
- obj.default = void 0;
- var declare = Object.assign || function(opt_attributes) {
- /** @type {number} */
- var i = 1;
- for (;i < arguments.length;i++) {
- var iterable = arguments[i];
- var key;
- for (key in iterable) {
- if (Object.prototype.hasOwnProperty.call(iterable, key)) {
- opt_attributes[key] = iterable[key];
- }
- }
- }
- return opt_attributes;
- };
- var traverse = function() {
- /**
- * @param {Arguments} object
- * @param {number} deepDataAndEvents
- * @return {?}
- */
- function clone(object, deepDataAndEvents) {
- /** @type {Array} */
- var res = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var next;
- var self = object[Symbol.iterator]();
- for (;!(callback2 = (next = self.next()).done) && (res.push(next.value), !deepDataAndEvents || res.length !== deepDataAndEvents);callback2 = true) {
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return res;
- }
- return function(which, deepDataAndEvents) {
- if (Array.isArray(which)) {
- return which;
- }
- if (Symbol.iterator in Object(which)) {
- return clone(which, deepDataAndEvents);
- }
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
- };
- }();
- var make = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var env = $(12);
- var features = require(env);
- var outer = $(2);
- var p = $(28);
- var property = require(p);
- var type = $(30);
- var attr = require(type);
- var file = $(8);
- var options = require(file);
- var n = $(42);
- var c = require(n);
- var session = $(4);
- var module = $(29);
- var value = function(options) {
- /**
- * @return {?}
- */
- function init() {
- var self;
- animate(this, init);
- self = clone(this, (init.__proto__ || Object.getPrototypeOf(init)).call(this));
- /** @type {null} */
- self.activeClient = self.passiveClient = self.spectateClient = null;
- /** @type {Array} */
- self.clients = [];
- self.recorder = new module.Recorder(self);
- self.skins = new attr.default(session.clients.normalizeNames);
- var s = features.default.render((self = this, React.createElement(c.default, {
- recorder : this.recorder,
- skins : this.skins,
- onPlay : this.onPlay.bind(this),
- onSpectate : this.onSpectate.bind(this),
- findCell : this.findCell.bind(this),
- /**
- * @return {?}
- */
- getClient : function() {
- return self.activeClient;
- }
- })), document.body);
- return self.ui = s.refs.provider.props, (0, outer.observe)(self.ui.options, self.updateClients.bind(self)), self.chat = s.refs.chat.wrappedInstance, self.canvas = s.refs.canvas, self.ctx = self.canvas.getContext("2d"), self.sorted = [], self.isSorted = true, self.border = null, self.scaleBase = 1, self.scale = 1, self.scale_ = 1, self.mouseZoom = 1, self.offsetX = 0, self.offsetY = 0, self.mouseRawX = 0, self.mouseRawY = 0, self.tsInd = false, self.pIds = [], self.leaderboards = new Map, self.party =
- [], self.partyIds = new Set, self.stats = new options.default(self), self.nameCache = new Map, self.nameCacheUpdate = Date.now(), self.prevTime = Date.now(), self.fpsDelta = 0, self.fpsCounter = 0, window.requestAnimationFrame(self.tick.bind(self)), self;
- }
- return create(init, options), make(init, [{
- key : "updateServer",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function init() {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- if (!this.recorder.reader) {
- /** @type {number} */
- current.next = 5;
- break;
- }
- return current.next = 3, this.recorder.stop();
- case 3:
- this.onDisconnect();
- /** @type {string} */
- this.ui.recordings.state = "";
- case 5:
- if (this.ui.servers.selected != this.ui.servers.current) {
- this.stats = new options.default(this);
- this.updateClients();
- this.ui.servers.current = this.ui.servers.selected;
- }
- ;
- case 6:
- ;
- case "end":
- return current.stop();
- }
- }
- }, init, this);
- }));
- return view;
- }()
- }, {
- key : "updateClients",
- /**
- * @return {undefined}
- */
- value : function() {
- if (!this.recorder.reader) {
- var data = void 0;
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var n = false;
- var bulk = void 0;
- try {
- var _ref;
- var self = this.ui.servers.servers[Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var message = _ref.value;
- if (message.name == this.ui.servers.selected) {
- data = message.address;
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- n = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (n) {
- throw bulk;
- }
- }
- }
- /** @type {Array} */
- var dst = this.activeClient == this.clients[0] ? ["activeClient", "passiveClient"] : ["passiveClient", "activeClient"];
- var destination = traverse(dst, 2);
- var currValue = destination[0];
- var destinationDom = destination[1];
- /** @type {Array} */
- var codeSegments = [[null, currValue, session.clients.Client], ["enableMultibox", destinationDom, session.clients.MultiboxClient]].concat(makeArray([]));
- /** @type {number} */
- var i = 0;
- for (;i < codeSegments.length;i++) {
- var args = traverse(codeSegments[i], 3);
- var next = args[0];
- var id = args[1];
- var type = args[2];
- var g = !next || this.ui.options[next];
- if (!!this[id]) {
- if (!(g && this.ui.servers.selected == this.ui.servers.current)) {
- this[id].disconnect();
- }
- }
- if (!!g) {
- if (!(this[id] && this.ui.servers.selected == this.ui.servers.current)) {
- this[id] = new type(data, this);
- }
- }
- if (!g) {
- /** @type {null} */
- this[id] = null;
- }
- }
- if (null == this.activeClient) {
- /** @type {Array} */
- var activeClient = [this.passiveClient, this.activeClient];
- this.activeClient = activeClient[0];
- this.passiveClient = activeClient[1];
- }
- /** @type {Array.<?>} */
- this.clients = [this.activeClient, this.passiveClient, this.spectateClient].filter(function(argument) {
- return argument;
- });
- this.recorder.updateClients();
- }
- }
- }, {
- key : "updatePIds",
- /**
- * @return {undefined}
- */
- value : function() {
- this.pIds = this.clients.map(function(dataAndEvents) {
- return dataAndEvents.pId;
- }).filter(function(dataAndEvents) {
- return dataAndEvents != -1;
- });
- this.ui.stats.pId = this.pIds.join(",");
- }
- }, {
- key : "findCell",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {?}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- /** @type {number} */
- var offsetX = object / this.scale - this.offsetX;
- /** @type {number} */
- var numChars = expectedNumberOfNonCommentArgs / this.scale - this.offsetY;
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var a = false;
- var bulk = void 0;
- try {
- var elm;
- var self = this.sorted[Symbol.iterator]();
- for (;!(callback2 = (elm = self.next()).done);callback2 = true) {
- var p = elm.value;
- if (p.x - p.size <= offsetX && (offsetX <= p.x + p.size && (p.y - p.size <= numChars && numChars <= p.y + p.size))) {
- return p;
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- a = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (a) {
- throw bulk;
- }
- }
- }
- }
- }, {
- key : "sortCells",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {Array} */
- this.sorted = [];
- /** @type {number} */
- var offsetX = -this.offsetX;
- /** @type {number} */
- var index = -this.offsetY;
- /** @type {number} */
- var r = this.canvas.width / this.scale - this.offsetX;
- /** @type {number} */
- var stringLength = this.canvas.height / this.scale - this.offsetY;
- var a = void 0;
- if (this.ui.options.hideFood) {
- /** @type {boolean} */
- a = true;
- } else {
- if (this.ui.options.autoHideFood) {
- /** @type {boolean} */
- a = true;
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var o = false;
- var _clockseq = void 0;
- try {
- var elem;
- var self = this.stats.masses.values()[Symbol.iterator]();
- for (;!(callback2 = (elem = self.next()).done);callback2 = true) {
- var parent = elem.value;
- if (parent / 1E3 < this.ui.options.autoHideFoodVal) {
- /** @type {boolean} */
- a = false;
- }
- }
- } catch (clockseq) {
- /** @type {boolean} */
- o = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (o) {
- throw _clockseq;
- }
- }
- }
- }
- }
- /** @type {number} */
- var c = 0;
- for (;c < this.clients.length;c++) {
- /** @type {boolean} */
- var _ref1 = true;
- /** @type {boolean} */
- var m = false;
- var bulk = void 0;
- try {
- var _ref;
- var tree = this.clients[c].bucket.entries()[Symbol.iterator]();
- e: for (;!(_ref1 = (_ref = tree.next()).done);_ref1 = true) {
- var resultItems = traverse(_ref.value, 2);
- var result = resultItems[0];
- var view = resultItems[1];
- if (0 != view.type || !a) {
- if (offsetX < view.x + view.size && (r > view.x - view.size && (index < view.y + view.size && stringLength > view.y - view.size))) {
- /** @type {number} */
- var i = 0;
- for (;i < c;i++) {
- if (this.clients[i].bucket.has(result)) {
- view.animate(object);
- continue e;
- }
- }
- this.sorted.push(view);
- } else {
- view.animate(object);
- }
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- m = true;
- bulk = fn;
- } finally {
- try {
- if (!_ref1) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (m) {
- throw bulk;
- }
- }
- }
- }
- this.sorted.sort(function(b, a) {
- return a.size - b.size;
- });
- this.stats.update();
- Object.assign(this.ui.stats, this.stats);
- /** @type {boolean} */
- this.isSorted = true;
- }
- }, {
- key : "getNameCache",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- if (!this.nameCache.has(object.team + object.name + object.nameColor)) {
- /** @type {Element} */
- var acanvas = document.createElement("canvas");
- var ctx = acanvas.getContext("2d");
- /** @type {number} */
- var tY = 100;
- /** @type {string} */
- var labelFont = "bold " + tY + "px Verdana";
- /** @type {string} */
- ctx.font = labelFont;
- acanvas.width = ctx.measureText(object.team + object.name).width + 4;
- /** @type {number} */
- acanvas.height = 1.35 * tY >> 0;
- /** @type {string} */
- ctx.font = labelFont;
- if (this.ui.options.textOutlines) {
- /** @type {number} */
- ctx.lineWidth = 0.1 * tY >> 0;
- /** @type {string} */
- ctx.strokeStyle = "#000";
- ctx.strokeText(object.team + object.name, 2, tY);
- }
- ctx.fillStyle = object.nameColor;
- ctx.fillText(object.team + object.name, 2, tY);
- this.nameCache.set(object.team + object.name + object.nameColor, acanvas);
- }
- return this.nameCache.get(object.team + object.name + object.nameColor);
- }
- }, {
- key : "drawSize",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var t = arguments.length > 1 && (void 0 !== arguments[1] && arguments[1]);
- var ctx = this.ctx;
- var secs = "" + object.getMass();
- /** @type {number} */
- var i = 0.25 * object.size >> 0;
- /** @type {string} */
- ctx.font = "bold " + i + "px Verdana";
- ctx.fillStyle = object.nameColor;
- /** @type {string} */
- ctx.textBaseline = "middle";
- /** @type {string} */
- ctx.textAlign = "center";
- var ty = object.y;
- if (t) {
- ty += 1.2 * i >> 0;
- }
- if (this.ui.options.textOutlines) {
- /** @type {number} */
- ctx.lineWidth = 0.1 * i >> 0;
- /** @type {string} */
- ctx.strokeStyle = "#000";
- ctx.strokeText(secs, object.x, ty);
- }
- ctx.fillText(secs, object.x, ty);
- }
- }, {
- key : "drawEject",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var context = this.ctx;
- context.beginPath();
- context.arc(object.x, object.y, object.size, 0, 2 * Math.PI);
- context.fillStyle = object.color;
- context.fill();
- }
- }, {
- key : "drawVirus",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- var ctx = this.ctx;
- ctx.beginPath();
- ctx.arc(object.x, object.y, object.size, 0, 2 * Math.PI);
- /** @type {number} */
- ctx.fillStyle = expectedNumberOfNonCommentArgs;
- /** @type {number} */
- ctx.globalAlpha = 0.5;
- ctx.fill();
- /** @type {number} */
- ctx.lineWidth = 15;
- /** @type {number} */
- ctx.strokeStyle = expectedNumberOfNonCommentArgs;
- /** @type {number} */
- ctx.globalAlpha = 1;
- ctx.stroke();
- if (!this.ui.options.autoHideText || object.size * this.scale >= this.ui.options.autoHideTextVal) {
- if (!this.ui.options.hideMass) {
- this.drawSize(object);
- }
- }
- }
- }, {
- key : "drawPlayer",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var a = this.pIds.includes(object.pId);
- var b = !a && this.partyIds.has(object.pId);
- if (a) {
- object.nameColor = this.ui.options.selfNameColor.color;
- } else {
- if (b) {
- object.nameColor = this.ui.options.friendNameColor.color;
- } else {
- if (!object.nameColor) {
- object.nameColor = this.ui.options.enemyNameColor.color;
- }
- }
- }
- /** @type {boolean} */
- var r = false;
- if (!this.ui.options.hideSkins) {
- if (!(this.ui.options.hideEnemySkins && (!a && !b))) {
- if (!(this.tsInd && (a || b))) {
- if (null == object.img) {
- object.img = this.skins.download(object.team, object.name, a ? this.activeClient.skin : object.skin);
- }
- /** @type {boolean} */
- r = 0 != object.img && null != object.img;
- }
- }
- }
- var ctx = this.ctx;
- /** @type {number} */
- ctx.globalAlpha = this.ui.options.transCells ? 0.5 : 1;
- ctx.beginPath();
- ctx.arc(object.x, object.y, object.size, 0, 2 * Math.PI, false);
- var col = void 0;
- if (col = this.tsInd && (a || b) ? object.getMass() >= this.stats.tsMass ? "#0f0" : "#f00" : a ? this.ui.options.selfColor.color : object.color, ctx.fillStyle = col, ctx.fill(), r && (ctx.save(), ctx.clip(), ctx.drawImage(object.img, object.x - object.size, object.y - object.size, 2 * object.size, 2 * object.size), ctx.restore()), !this.ui.options.autoHideText || object.size * this.scale >= this.ui.options.autoHideTextVal) {
- if (!this.ui.options.hideNames) {
- var map = this.getNameCache(object);
- /** @type {number} */
- var original = 0.0025 * object.size;
- /** @type {number} */
- var width = map.width * original;
- /** @type {number} */
- var height = map.height * original;
- ctx.drawImage(map, object.x - width / 2, object.y - height / 2, width, height);
- }
- if (!this.ui.options.hideMass) {
- this.drawSize(object, true);
- }
- }
- if (this.passiveClient) {
- if (object.pId == this.passiveClient.pId) {
- /** @type {number} */
- ctx.globalAlpha = 0.5;
- /** @type {string} */
- ctx.fillStyle = "#888";
- ctx.fill();
- }
- }
- /** @type {number} */
- ctx.globalAlpha = 1;
- }
- }, {
- key : "drawBorders",
- /**
- * @return {undefined}
- */
- value : function() {
- var canvas = this.border;
- if (canvas) {
- var context = this.ctx;
- /** @type {number} */
- context.lineWidth = 20;
- context.strokeStyle = this.ui.options.borderColor.color;
- context.strokeRect(canvas.minx + this.offsetX >> 0, canvas.miny + this.offsetY >> 0, canvas.width, canvas.height);
- }
- }
- }, {
- key : "tick",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {number} */
- var time = Date.now();
- /** @type {number} */
- var timePassed = time - this.prevTime;
- /** @type {number} */
- this.prevTime = time;
- /** @type {number} */
- var animation = Math.min(this.ui.options.animate ? timePassed / this.ui.options.animateSpeed : 1, 1);
- this.fpsDelta += timePassed;
- if (!this.isSorted) {
- this.sortCells(animation);
- }
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var _clockseq = void 0;
- try {
- var token;
- var tree = this.sorted[Symbol.iterator]();
- for (;!(callback2 = (token = tree.next()).done);callback2 = true) {
- var element = token.value;
- element.animate(animation);
- }
- } catch (clockseq) {
- /** @type {boolean} */
- i = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (i) {
- throw _clockseq;
- }
- }
- }
- var offsetX = void 0;
- var offsetY = void 0;
- /** @type {number} */
- var sum = 0;
- /** @type {number} */
- var val = 0;
- /** @type {number} */
- var len = 0;
- /** @type {number} */
- var which = 1 / 0;
- /** @type {number} */
- var variables = 1 / 0;
- /** @type {number} */
- var elems = 0;
- /** @type {number} */
- var scripts = 0;
- /** @type {boolean} */
- var _ref1 = true;
- /** @type {boolean} */
- var w = false;
- var type = void 0;
- try {
- var x;
- var cell = this.clients[Symbol.iterator]();
- for (;!(_ref1 = (x = cell.next()).done);_ref1 = true) {
- var self = x.value;
- /** @type {number} */
- var bytes = 0;
- /** @type {number} */
- var y = 0;
- /** @type {boolean} */
- var foundHelper = true;
- /** @type {boolean} */
- var O = false;
- var error = void 0;
- try {
- var res;
- var c = self.ownCells.values()[Symbol.iterator]();
- for (;!(foundHelper = (res = c.next()).done);foundHelper = true) {
- var data = res.value;
- bytes += data.x;
- y += data.y;
- /** @type {number} */
- which = Math.min(which, data.x - data.size);
- /** @type {number} */
- variables = Math.min(variables, data.y - data.size);
- /** @type {number} */
- elems = Math.max(elems, data.x + data.size);
- /** @type {number} */
- scripts = Math.max(scripts, data.y + data.size);
- }
- } catch (err) {
- /** @type {boolean} */
- O = true;
- error = err;
- } finally {
- try {
- if (!foundHelper) {
- if (c.return) {
- c.return();
- }
- }
- } finally {
- if (O) {
- throw error;
- }
- }
- }
- if (self.spectating) {
- self.animate(animation);
- } else {
- if (self.ownCells.size > 0) {
- /** @type {number} */
- self.centerX = bytes / self.ownCells.size;
- /** @type {number} */
- self.centerY = y / self.ownCells.size;
- /** @type {number} */
- self.centerSteps = 0;
- sum += self.centerX;
- val += self.centerY;
- len++;
- }
- }
- }
- } catch (fx) {
- /** @type {boolean} */
- w = true;
- type = fx;
- } finally {
- try {
- if (!_ref1) {
- if (cell.return) {
- cell.return();
- }
- }
- } finally {
- if (w) {
- throw type;
- }
- }
- }
- /** @type {Array} */
- var syntax = len > 0 ? [sum / len, val / len] : this.activeClient ? [this.activeClient.centerX, this.activeClient.centerY] : [0, 0];
- var _ref = traverse(syntax, 2);
- offsetX = _ref[0];
- offsetY = _ref[1];
- /** @type {number} */
- var M = 0.25;
- if (!this.ui.options.disableAutoZoom && this.border) {
- /** @type {number} */
- var thetaC = Math.max((elems - which) / this.border.width, (scripts - variables) / this.border.height);
- /** @type {number} */
- M = 0.03 * Math.pow(thetaC, -0.2);
- }
- /** @type {number} */
- this.scale_ = M * Math.max(this.canvas.width / 1920, this.canvas.height / 1080) * this.mouseZoom;
- this.scale += (this.scale_ - this.scale) * Math.min(timePassed / 200, 1);
- /** @type {number} */
- this.offsetX = this.canvas.width / 2 / this.scale - offsetX;
- /** @type {number} */
- this.offsetY = this.canvas.height / 2 / this.scale - offsetY;
- var ctx = this.ctx;
- ctx.save();
- ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
- ctx.fillStyle = this.ui.options.gameBgColor.color;
- ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
- ctx.scale(this.scale, this.scale);
- if (this.ui.options.showBorders) {
- this.drawBorders();
- }
- ctx.translate(this.offsetX, this.offsetY);
- /** @type {number} */
- var key = this.sorted.length - 1;
- ctx.beginPath();
- for (;key >= 0;key--) {
- var p = this.sorted[key];
- if (0 != p.type) {
- break;
- }
- ctx.moveTo(p.x, p.y);
- ctx.arc(p.x, p.y, p.size, 0, 2 * Math.PI);
- }
- ctx.fillStyle = this.ui.options.foodColor.color;
- ctx.fill();
- /** @type {number} */
- var options = key;
- for (;key >= 0;key--) {
- var dummy = this.sorted[key];
- switch(dummy.type) {
- case 1:
- this.drawEject(dummy);
- break;
- case 2:
- this.drawPlayer(dummy);
- break;
- case 3:
- this.drawVirus(dummy, this.ui.options.virusColor.color);
- break;
- case 4:
- this.drawVirus(dummy, this.ui.options.motherColor.color);
- }
- }
- if (this.ui.options.smallInd) {
- ctx.beginPath();
- /** @type {number} */
- key = options;
- for (;key >= 0;key--) {
- var curr = this.sorted[key];
- if (2 == curr.type && ((this.pIds.includes(curr.pId) || this.partyIds.has(curr.pId)) && curr.size * this.scale <= this.ui.options.smallIndVal)) {
- /** @type {number} */
- var dx = 1 / Math.max(this.scale, 0.05);
- /** @type {number} */
- var topY = curr.y - curr.size;
- ctx.moveTo(curr.x - 10 * dx, topY - 15 * dx);
- ctx.lineTo(curr.x + 10 * dx, topY - 15 * dx);
- ctx.lineTo(curr.x, topY - 5 * dx);
- }
- }
- ctx.fillStyle = this.ui.options.smallIndColor.color;
- ctx.fill();
- }
- if (ctx.restore(), this.prevTime - this.nameCacheUpdate >= 6E5 && (this.nameCache.clear(), this.nameCacheUpdate = this.prevTime), !this.ui.options.hideMinimap && this.border) {
- /** @type {number} */
- var mass = Math.min(timePassed / 900, 1);
- /** @type {Array} */
- var rectData = [this.border.width, this.border.height];
- var width = rectData[0];
- var height = rectData[1];
- /** @type {Array} */
- var values = [];
- /** @type {boolean} */
- var afterAnimationCallback = true;
- /** @type {boolean} */
- var Z = false;
- var text = void 0;
- try {
- var pair;
- var stream = this.clients[Symbol.iterator]();
- for (;!(afterAnimationCallback = (pair = stream.next()).done);afterAnimationCallback = true) {
- var user = pair.value;
- if (user.ownCells.size > 0 || user.spectating && (user != this.spectateClient || !user.party.some(function(guard) {
- return guard.n;
- }))) {
- values.push({
- pId : user.pId,
- name : user.name,
- x : user.centerX / width,
- y : user.centerY / height,
- size : Math.sqrt(100 * this.stats.masses.get(user)) / ((width + height) / 2),
- color : user == this.spectateClient ? this.ui.options.specMapColor.color : this.ui.options.selfMapColor.color
- });
- }
- /** @type {boolean} */
- var done = true;
- /** @type {boolean} */
- var re = false;
- var bulk = void 0;
- try {
- var tok;
- var result = user.party[Symbol.iterator]();
- for (;!(done = (tok = result.next()).done);done = true) {
- var obj = tok.value;
- if (!this.pIds.includes(obj.pId)) {
- if (!(null == obj.x)) {
- if (!(null == obj.y)) {
- if (user != this.spectateClient) {
- obj.x += (obj.x_ - obj.x) * mass;
- obj.y += (obj.y_ - obj.y) * mass;
- obj.mass += (obj.mass_ - obj.mass) * mass;
- }
- if (user != this.spectateClient || obj.n) {
- values.push({
- pId : obj.pId,
- name : obj.name,
- x : obj.x / width,
- y : obj.y / height,
- size : Math.sqrt(100 * obj.mass) / ((width + height) / 2),
- color : user == this.spectateClient ? this.ui.options.enemyMapColor.color : obj.color || this.ui.options.friendMapColor.color
- });
- }
- }
- }
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- re = true;
- bulk = fn;
- } finally {
- try {
- if (!done) {
- if (result.return) {
- result.return();
- }
- }
- } finally {
- if (re) {
- throw bulk;
- }
- }
- }
- }
- } catch (textAlt) {
- /** @type {boolean} */
- Z = true;
- text = textAlt;
- } finally {
- try {
- if (!afterAnimationCallback) {
- if (stream.return) {
- stream.return();
- }
- }
- } finally {
- if (Z) {
- throw text;
- }
- }
- }
- values.sort(function(b, a) {
- return a.size - b.size;
- });
- /** @type {Array} */
- this.ui.minimap.value = values;
- }
- if (this.ui.main.hideMain) {
- if (this.activeClient) {
- if (time >= this.tsTime) {
- this.activeClient.sendMouse(this.mouseRawX / this.scale - this.offsetX, this.mouseRawY / this.scale - this.offsetY);
- this.activeClient.sendW();
- }
- }
- }
- this.fpsCounter++;
- if (this.fpsDelta >= 1E3) {
- this.ui.stats.fps = this.fpsCounter;
- /** @type {number} */
- this.fpsDelta = 0;
- /** @type {number} */
- this.fpsCounter = 0;
- if (this.activeClient) {
- Object.assign(this.ui.minimap, {
- x : this.activeClient.centerX,
- y : this.activeClient.centerY
- });
- }
- }
- window.requestAnimationFrame(this.tick.bind(this));
- }
- }, {
- key : "onPlay",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function init() {
- var callback2;
- var n;
- var t0;
- var tree;
- var _ref;
- var a;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.next = 2, this.updateServer();
- case 2:
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- n = false;
- t0 = void 0;
- /** @type {number} */
- self.prev = 5;
- tree = this.clients[Symbol.iterator]();
- for (;!(callback2 = (_ref = tree.next()).done);callback2 = true) {
- a = _ref.value;
- a.play(this.ui.skins.selected.team, this.ui.skins.selected.name, this.ui.skins.selected.skin);
- }
- /** @type {number} */
- self.next = 13;
- break;
- case 9:
- /** @type {number} */
- self.prev = 9;
- self.t0 = self.catch(5);
- /** @type {boolean} */
- n = true;
- t0 = self.t0;
- case 13:
- /** @type {number} */
- self.prev = 13;
- /** @type {number} */
- self.prev = 14;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 16:
- if (self.prev = 16, !n) {
- /** @type {number} */
- self.next = 19;
- break;
- }
- throw t0;;
- case 19:
- return self.finish(16);
- case 20:
- return self.finish(13);
- case 21:
- /** @type {boolean} */
- this.ui.main.hideMain = true;
- case 22:
- ;
- case "end":
- return self.stop();
- }
- }
- }, init, this, [[5, 9, 13, 21], [14, , 16, 20]]);
- }));
- return view;
- }()
- }, {
- key : "onSpectate",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function end() {
- var callback2;
- var n;
- var t0;
- var tree;
- var exception;
- var line;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.next = 2, this.updateServer();
- case 2:
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- n = false;
- t0 = void 0;
- /** @type {number} */
- self.prev = 5;
- tree = this.clients[Symbol.iterator]();
- for (;!(callback2 = (exception = tree.next()).done);callback2 = true) {
- line = exception.value;
- line.spectate(this.ui.skins.selected.team, this.ui.skins.selected.name, this.ui.skins.selected.skin);
- }
- /** @type {number} */
- self.next = 13;
- break;
- case 9:
- /** @type {number} */
- self.prev = 9;
- self.t0 = self.catch(5);
- /** @type {boolean} */
- n = true;
- t0 = self.t0;
- case 13:
- /** @type {number} */
- self.prev = 13;
- /** @type {number} */
- self.prev = 14;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 16:
- if (self.prev = 16, !n) {
- /** @type {number} */
- self.next = 19;
- break;
- }
- throw t0;;
- case 19:
- return self.finish(16);
- case 20:
- return self.finish(13);
- case 21:
- /** @type {boolean} */
- this.ui.main.hideMain = true;
- case 22:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, this, [[5, 9, 13, 21], [14, , 16, 20]]);
- }));
- return view;
- }()
- }, {
- key : "onDie",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (this.ui.options.autoRespawn) {
- object.play(this.ui.skins.selected.team, this.ui.skins.selected.name, this.ui.skins.selected.skin);
- } else {
- if (this.clients.every(function(b) {
- return 0 == b.ownCells.size;
- })) {
- /** @type {boolean} */
- this.ui.main.hideMain = false;
- }
- }
- }
- }, {
- key : "onConnectError",
- /**
- * @return {undefined}
- */
- value : function() {
- this.chat.system("Error connecting to server... Retrying.");
- }
- }, {
- key : "onDisconnect",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.updatePIds();
- this.onUpdate();
- this.onPartyUpdate();
- this.onLeaderboard(object, []);
- }
- }, {
- key : "onUpdate",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {boolean} */
- this.isSorted = false;
- }
- }, {
- key : "onBorder",
- /**
- * @return {undefined}
- */
- value : function() {
- var ext = this.activeClient.border;
- this.border = declare({}, ext, {
- width : ext.maxx - ext.minx,
- height : ext.maxy - ext.miny
- });
- }
- }, {
- key : "onPId",
- /**
- * @return {undefined}
- */
- value : function() {
- this.updatePIds();
- }
- }, {
- key : "onLeaderboard",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- this.leaderboards.set(object, expectedNumberOfNonCommentArgs);
- /** @type {Array} */
- var data = [];
- var self = new Map;
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var a = false;
- var _clockseq = void 0;
- try {
- var _ref;
- var tree = this.leaderboards.values()[Symbol.iterator]();
- for (;!(callback2 = (_ref = tree.next()).done);callback2 = true) {
- var color = _ref.value;
- /** @type {boolean} */
- var _ref1 = true;
- /** @type {boolean} */
- var f = false;
- var bulk = void 0;
- try {
- var node;
- var cell = color[Symbol.iterator]();
- for (;!(_ref1 = (node = cell.next()).done);_ref1 = true) {
- var ret = node.value;
- self.set(ret.pos, ret);
- }
- } catch (fn) {
- /** @type {boolean} */
- f = true;
- bulk = fn;
- } finally {
- try {
- if (!_ref1) {
- if (cell.return) {
- cell.return();
- }
- }
- } finally {
- if (f) {
- throw bulk;
- }
- }
- }
- }
- } catch (clockseq) {
- /** @type {boolean} */
- a = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (a) {
- throw _clockseq;
- }
- }
- }
- /** @type {boolean} */
- var foundHelper = true;
- /** @type {boolean} */
- var v = false;
- var text = void 0;
- try {
- var desc;
- var c = self.values()[Symbol.iterator]();
- for (;!(foundHelper = (desc = c.next()).done);foundHelper = true) {
- var message = desc.value;
- var value = message.color;
- if (this.pIds.includes(message.pId)) {
- value = this.ui.options.selfLbColor.color;
- } else {
- if (this.partyIds.has(message.pId)) {
- value = this.ui.options.friendLbColor.color;
- } else {
- if (!value) {
- value = this.ui.options.enemyLbColor.color;
- }
- }
- }
- data.push({
- pos : message.pos,
- pId : message.pId,
- name : message.name,
- color : value
- });
- }
- } catch (textAlt) {
- /** @type {boolean} */
- v = true;
- text = textAlt;
- } finally {
- try {
- if (!foundHelper) {
- if (c.return) {
- c.return();
- }
- }
- } finally {
- if (v) {
- throw text;
- }
- }
- }
- data.sort(function(a, b) {
- return a.pos - b.pos;
- });
- /** @type {Array} */
- this.ui.main.leaderboard = data;
- /** @type {Array} */
- var configList = [];
- /** @type {boolean} */
- var afterAnimationCallback = true;
- /** @type {boolean} */
- var _ = false;
- var error = void 0;
- try {
- var q;
- var stream = data[Symbol.iterator]();
- for (;!(afterAnimationCallback = (q = stream.next()).done);afterAnimationCallback = true) {
- var l = q.value;
- if (!this.pIds.includes(l.pId) && (!this.partyIds.has(l.pId) && (configList.push(l.pId), 3 == configList.length))) {
- break;
- }
- }
- } catch (err) {
- /** @type {boolean} */
- _ = true;
- error = err;
- } finally {
- try {
- if (!afterAnimationCallback) {
- if (stream.return) {
- stream.return();
- }
- }
- } finally {
- if (_) {
- throw error;
- }
- }
- }
- if (this.spectateClient) {
- this.spectateClient.chase(configList, expectedNumberOfNonCommentArgs);
- }
- }
- }, {
- key : "onTeamLeaderboard",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- this.ui.main.teamLeaderboard = object;
- }
- }, {
- key : "onPing",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var old = this.ui.options.uiFgColor.color;
- if (this.ui.options.coloredPing) {
- /** @type {Array} */
- var iterator = [[0, "#0f0"], [100, "#ff0"], [150, "#f60"], [200, "#f00"]];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var _ref;
- var self = iterator[Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var args = traverse(_ref.value, 2);
- var pageY = args[0];
- var expr = args[1];
- if (object < pageY) {
- break;
- }
- old = expr;
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- }
- Object.assign(this.ui.stats, {
- ping : object,
- pingColor : old
- });
- }
- }, {
- key : "onChat",
- /**
- * @param {number} which
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {number} arg
- * @param {string} triggerRoute
- * @param {string} f
- * @param {string} deepDataAndEvents
- * @param {?} until
- * @return {undefined}
- */
- value : function(which, expectedNumberOfNonCommentArgs, arg, triggerRoute, f, deepDataAndEvents, until) {
- this.chat.chat(which, expectedNumberOfNonCommentArgs, arg, triggerRoute, f, deepDataAndEvents, until, this.partyIds.has(arg));
- }
- }, {
- key : "onWhisper",
- /**
- * @return {undefined}
- */
- value : function() {
- var newArgs;
- (newArgs = this.chat).whisper.apply(newArgs, arguments);
- }
- }, {
- key : "onSystem",
- /**
- * @return {undefined}
- */
- value : function() {
- var newArgs;
- (newArgs = this.chat).system.apply(newArgs, arguments);
- }
- }, {
- key : "onInvite",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- this.ui.chat.invites.push({
- client : object,
- name : expectedNumberOfNonCommentArgs
- });
- }
- }, {
- key : "onPartyUpdate",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {Array} */
- this.party = [];
- this.partyIds.clear();
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var t = false;
- var _clockseq = void 0;
- try {
- var _ref;
- var self = this.clients[Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var color = _ref.value;
- if (color != this.spectateClient) {
- /** @type {boolean} */
- var _ref1 = true;
- /** @type {boolean} */
- var o = false;
- var bulk = void 0;
- try {
- var elem;
- var tree = color.party[Symbol.iterator]();
- for (;!(_ref1 = (elem = tree.next()).done);_ref1 = true) {
- var options = elem.value;
- if (!this.partyIds.has(options.pId)) {
- var lc = void 0;
- lc = this.pIds.includes(options.pId) ? this.ui.options.selfPartyColor.color : options.leader ? this.ui.options.leaderPartyColor.color : this.ui.options.friendPartyColor.color;
- this.party.push({
- name : options.name,
- mass : options.mass_,
- color : lc
- });
- this.partyIds.add(options.pId);
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- o = true;
- bulk = fn;
- } finally {
- try {
- if (!_ref1) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (o) {
- throw bulk;
- }
- }
- }
- }
- }
- } catch (clockseq) {
- /** @type {boolean} */
- t = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (t) {
- throw _clockseq;
- }
- }
- }
- /** @type {Array} */
- this.ui.main.party = this.party;
- }
- }]), init;
- }(property.default);
- obj.default = value;
- }, function(module, dataAndEvents) {
- module.exports = head;
- }, function(module, dataAndEvents) {
- var scope;
- scope = function() {
- return this;
- }();
- try {
- scope = scope || (Function("return this")() || (0, eval)("this"));
- } catch (e) {
- if ("object" == typeof window) {
- /** @type {Window} */
- scope = window;
- }
- }
- module.exports = scope;
- }, function(dataAndEvents, o, deepDataAndEvents) {
- /**
- * @param {string} object
- * @return {?}
- */
- function toString(object) {
- var len = object.length;
- if (len % 4 > 0) {
- throw new Error("Invalid string. Length must be a multiple of 4");
- }
- return "=" === object[len - 2] ? 2 : "=" === object[len - 1] ? 1 : 0;
- }
- /**
- * @param {string} str
- * @return {?}
- */
- function repeat(str) {
- return 3 * str.length / 4 - toString(str);
- }
- /**
- * @param {string} str
- * @return {?}
- */
- function e(str) {
- var i;
- var j;
- var padLength;
- var a;
- var template;
- var res;
- var iTop = str.length;
- template = toString(str);
- res = new MarkerArray(3 * iTop / 4 - template);
- padLength = template > 0 ? iTop - 4 : iTop;
- /** @type {number} */
- var resLength = 0;
- /** @type {number} */
- i = 0;
- /** @type {number} */
- j = 0;
- for (;i < padLength;i += 4, j += 3) {
- /** @type {number} */
- a = index[str.charCodeAt(i)] << 18 | index[str.charCodeAt(i + 1)] << 12 | index[str.charCodeAt(i + 2)] << 6 | index[str.charCodeAt(i + 3)];
- /** @type {number} */
- res[resLength++] = a >> 16 & 255;
- /** @type {number} */
- res[resLength++] = a >> 8 & 255;
- /** @type {number} */
- res[resLength++] = 255 & a;
- }
- return 2 === template ? (a = index[str.charCodeAt(i)] << 2 | index[str.charCodeAt(i + 1)] >> 4, res[resLength++] = 255 & a) : 1 === template && (a = index[str.charCodeAt(i)] << 10 | index[str.charCodeAt(i + 1)] << 4 | index[str.charCodeAt(i + 2)] >> 2, res[resLength++] = a >> 8 & 255, res[resLength++] = 255 & a), res;
- }
- /**
- * @param {number} xs
- * @return {?}
- */
- function map(xs) {
- return match[xs >> 18 & 63] + match[xs >> 12 & 63] + match[xs >> 6 & 63] + match[63 & xs];
- }
- /**
- * @param {Array} c
- * @param {number} start
- * @param {number} x
- * @return {?}
- */
- function join(c, start, x) {
- var paths;
- /** @type {Array} */
- var rulesets = [];
- /** @type {number} */
- var i = start;
- for (;i < x;i += 3) {
- paths = (c[i] << 16) + (c[i + 1] << 8) + c[i + 2];
- rulesets.push(map(paths));
- }
- return rulesets.join("");
- }
- /**
- * @param {Array} expr
- * @return {?}
- */
- function next(expr) {
- var coef;
- var len = expr.length;
- /** @type {number} */
- var remainderLength = len % 3;
- /** @type {string} */
- var later = "";
- /** @type {Array} */
- var arr = [];
- /** @type {number} */
- var incr = 16383;
- /** @type {number} */
- var i = 0;
- /** @type {number} */
- var length = len - remainderLength;
- for (;i < length;i += incr) {
- arr.push(join(expr, i, i + incr > length ? length : i + incr));
- }
- return 1 === remainderLength ? (coef = expr[len - 1], later += match[coef >> 2], later += match[coef << 4 & 63], later += "==") : 2 === remainderLength && (coef = (expr[len - 2] << 8) + expr[len - 1], later += match[coef >> 10], later += match[coef >> 4 & 63], later += match[coef << 2 & 63], later += "="), arr.push(later), arr.join("");
- }
- /** @type {function (string): ?} */
- o.byteLength = repeat;
- /** @type {function (string): ?} */
- o.toByteArray = e;
- /** @type {function (Array): ?} */
- o.fromByteArray = next;
- /** @type {Array} */
- var match = [];
- /** @type {Array} */
- var index = [];
- /** @type {Function} */
- var MarkerArray = "undefined" != typeof Uint8Array ? Uint8Array : Array;
- /** @type {string} */
- var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- /** @type {number} */
- var i = 0;
- /** @type {number} */
- var aLength = a.length;
- for (;i < aLength;++i) {
- match[i] = a[i];
- /** @type {number} */
- index[a.charCodeAt(i)] = i;
- }
- /** @type {number} */
- index["-".charCodeAt(0)] = 62;
- /** @type {number} */
- index["_".charCodeAt(0)] = 63;
- }, function(dataAndEvents, el, require) {
- (function(dataAndEvents) {
- /**
- * @return {?}
- */
- function parse() {
- try {
- /** @type {Uint8Array} */
- var data = new Uint8Array(1);
- return data.__proto__ = {
- __proto__ : Uint8Array.prototype,
- /**
- * @return {?}
- */
- foo : function() {
- return 42;
- }
- }, 42 === data.foo() && ("function" == typeof data.subarray && 0 === data.subarray(1, 1).byteLength);
- } catch (e) {
- return false;
- }
- }
- /**
- * @return {?}
- */
- function trim() {
- return self.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
- }
- /**
- * @param {Object} obj
- * @param {number} result
- * @return {?}
- */
- function log(obj, result) {
- if (trim() < result) {
- throw new RangeError("Invalid typed array length");
- }
- return self.TYPED_ARRAY_SUPPORT ? (obj = new Uint8Array(result), obj.__proto__ = self.prototype) : (null === obj && (obj = new self(result)), obj.length = result), obj;
- }
- /**
- * @param {number} value
- * @param {number} err
- * @param {string} cb
- * @return {?}
- */
- function self(value, err, cb) {
- if (!(self.TYPED_ARRAY_SUPPORT || this instanceof self)) {
- return new self(value, err, cb);
- }
- if ("number" == typeof value) {
- if ("string" == typeof err) {
- throw new Error("If encoding is specified then the first argument must be a string");
- }
- return fn(this, value);
- }
- return copy(this, value, err, cb);
- }
- /**
- * @param {string} obj
- * @param {Object} a
- * @param {number} cb
- * @param {?} offset
- * @return {?}
- */
- function copy(obj, a, cb, offset) {
- if ("number" == typeof a) {
- throw new TypeError('"value" argument must not be a number');
- }
- return "undefined" != typeof ArrayBuffer && a instanceof ArrayBuffer ? get(obj, a, cb, offset) : "string" == typeof a ? push(obj, a, cb) : write(obj, a);
- }
- /**
- * @param {number} b
- * @return {undefined}
- */
- function concat(b) {
- if ("number" != typeof b) {
- throw new TypeError('"size" argument must be a number');
- }
- if (b < 0) {
- throw new RangeError('"size" argument must not be negative');
- }
- }
- /**
- * @param {Object} e
- * @param {number} elem
- * @param {number} context
- * @param {number} value
- * @return {?}
- */
- function click(e, elem, context, value) {
- return concat(elem), elem <= 0 ? log(e, elem) : void 0 !== context ? "string" == typeof value ? log(e, elem).fill(context, value) : log(e, elem).fill(context) : log(e, elem);
- }
- /**
- * @param {Object} b
- * @param {number} key
- * @return {?}
- */
- function fn(b, key) {
- if (concat(key), b = log(b, key < 0 ? 0 : 0 | equal(key)), !self.TYPED_ARRAY_SUPPORT) {
- /** @type {number} */
- var i = 0;
- for (;i < key;++i) {
- /** @type {number} */
- b[i] = 0;
- }
- }
- return b;
- }
- /**
- * @param {Object} s
- * @param {string} data
- * @param {string} encoding
- * @return {?}
- */
- function push(s, data, encoding) {
- if ("string" == typeof encoding && "" !== encoding || (encoding = "utf8"), !self.isEncoding(encoding)) {
- throw new TypeError('"encoding" must be a valid string encoding');
- }
- /** @type {number} */
- var expectationResult = 0 | decode(data, encoding);
- s = log(s, expectationResult);
- var pos = s.write(data, encoding);
- return pos !== expectationResult && (s = s.slice(0, pos)), s;
- }
- /**
- * @param {Object} data
- * @param {Array} collection
- * @return {?}
- */
- function callback(data, collection) {
- /** @type {number} */
- var len = collection.length < 0 ? 0 : 0 | equal(collection.length);
- data = log(data, len);
- /** @type {number} */
- var i = 0;
- for (;i < len;i += 1) {
- /** @type {number} */
- data[i] = 255 & collection[i];
- }
- return data;
- }
- /**
- * @param {string} obj
- * @param {string} data
- * @param {number} offset
- * @param {number} count
- * @return {?}
- */
- function get(obj, data, offset, count) {
- if (data.byteLength, offset < 0 || data.byteLength < offset) {
- throw new RangeError("'offset' is out of bounds");
- }
- if (data.byteLength < offset + (count || 0)) {
- throw new RangeError("'length' is out of bounds");
- }
- return data = void 0 === offset && void 0 === count ? new Uint8Array(data) : void 0 === count ? new Uint8Array(data, offset) : new Uint8Array(data, offset, count), self.TYPED_ARRAY_SUPPORT ? (obj = data, obj.__proto__ = self.prototype) : obj = callback(obj, data), obj;
- }
- /**
- * @param {string} data
- * @param {Object} object
- * @return {?}
- */
- function write(data, object) {
- if (self.isBuffer(object)) {
- /** @type {number} */
- var len = 0 | equal(object.length);
- return data = log(data, len), 0 === data.length ? data : (object.copy(data, 0, 0, len), data);
- }
- if (object) {
- if ("undefined" != typeof ArrayBuffer && object.buffer instanceof ArrayBuffer || "length" in object) {
- return "number" != typeof object.length || assert(object.length) ? log(data, 0) : callback(data, object);
- }
- if ("Buffer" === object.type && extend(object.data)) {
- return callback(data, object.data);
- }
- }
- throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
- }
- /**
- * @param {number} b
- * @return {?}
- */
- function equal(b) {
- if (b >= trim()) {
- throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + trim().toString(16) + " bytes");
- }
- return 0 | b;
- }
- /**
- * @param {number} failing_message
- * @return {?}
- */
- function report(failing_message) {
- return+failing_message != failing_message && (failing_message = 0), self.alloc(+failing_message);
- }
- /**
- * @param {string} data
- * @param {string} encoding
- * @return {?}
- */
- function decode(data, encoding) {
- if (self.isBuffer(data)) {
- return data.length;
- }
- if ("undefined" != typeof ArrayBuffer && ("function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(data) || data instanceof ArrayBuffer))) {
- return data.byteLength;
- }
- if ("string" != typeof data) {
- /** @type {string} */
- data = "" + data;
- }
- var pending = data.length;
- if (0 === pending) {
- return 0;
- }
- /** @type {boolean} */
- var r = false;
- for (;;) {
- switch(encoding) {
- case "ascii":
- ;
- case "latin1":
- ;
- case "binary":
- return pending;
- case "utf8":
- ;
- case "utf-8":
- ;
- case void 0:
- return read(data).length;
- case "ucs2":
- ;
- case "ucs-2":
- ;
- case "utf16le":
- ;
- case "utf-16le":
- return 2 * pending;
- case "hex":
- return pending >>> 1;
- case "base64":
- return unescape(data).length;
- default:
- if (r) {
- return read(data).length;
- }
- /** @type {string} */
- encoding = ("" + encoding).toLowerCase();
- /** @type {boolean} */
- r = true;
- }
- }
- }
- /**
- * @param {string} encoding
- * @param {number} next
- * @param {number} callback
- * @return {?}
- */
- function query(encoding, next, callback) {
- /** @type {boolean} */
- var r = false;
- if ((void 0 === next || next < 0) && (next = 0), next > this.length) {
- return "";
- }
- if ((void 0 === callback || callback > this.length) && (callback = this.length), callback <= 0) {
- return "";
- }
- if (callback >>>= 0, next >>>= 0, callback <= next) {
- return "";
- }
- if (!encoding) {
- /** @type {string} */
- encoding = "utf8";
- }
- for (;;) {
- switch(encoding) {
- case "hex":
- return find(this, next, callback);
- case "utf8":
- ;
- case "utf-8":
- return slice(this, next, callback);
- case "ascii":
- return prepare(this, next, callback);
- case "latin1":
- ;
- case "binary":
- return update(this, next, callback);
- case "base64":
- return exec(this, next, callback);
- case "ucs2":
- ;
- case "ucs-2":
- ;
- case "utf16le":
- ;
- case "utf-16le":
- return func(this, next, callback);
- default:
- if (r) {
- throw new TypeError("Unknown encoding: " + encoding);
- }
- /** @type {string} */
- encoding = (encoding + "").toLowerCase();
- /** @type {boolean} */
- r = true;
- }
- }
- }
- /**
- * @param {Array} obj
- * @param {number} attr
- * @param {number} key
- * @return {undefined}
- */
- function buildParams(obj, attr, key) {
- var val = obj[attr];
- obj[attr] = obj[key];
- obj[key] = val;
- }
- /**
- * @param {string} array
- * @param {number} value
- * @param {number} index
- * @param {number} key
- * @param {boolean} recurring
- * @return {?}
- */
- function _find(array, value, index, key, recurring) {
- if (0 === array.length) {
- return-1;
- }
- if ("string" == typeof index ? (key = index, index = 0) : index > 2147483647 ? index = 2147483647 : index < -2147483648 && (index = -2147483648), index = +index, isNaN(index) && (index = recurring ? 0 : array.length - 1), index < 0 && (index = array.length + index), index >= array.length) {
- if (recurring) {
- return-1;
- }
- /** @type {number} */
- index = array.length - 1;
- } else {
- if (index < 0) {
- if (!recurring) {
- return-1;
- }
- /** @type {number} */
- index = 0;
- }
- }
- if ("string" == typeof value && (value = self.from(value, key)), self.isBuffer(value)) {
- return 0 === value.length ? -1 : iterator(array, value, index, key, recurring);
- }
- if ("number" == typeof value) {
- return value &= 255, self.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? recurring ? Uint8Array.prototype.indexOf.call(array, value, index) : Uint8Array.prototype.lastIndexOf.call(array, value, index) : iterator(array, [value], index, key, recurring);
- }
- throw new TypeError("val must be string, number or Buffer");
- }
- /**
- * @param {string} type
- * @param {?} value
- * @param {number} i
- * @param {string} obj
- * @param {boolean} recurring
- * @return {?}
- */
- function iterator(type, value, i, obj, recurring) {
- /**
- * @param {Object} obj
- * @param {number} value
- * @return {?}
- */
- function iterator(obj, value) {
- return 1 === power ? obj[value] : obj.readUInt16BE(value * power);
- }
- /** @type {number} */
- var power = 1;
- var length = type.length;
- var j = value.length;
- if (void 0 !== obj && (obj = String(obj).toLowerCase(), "ucs2" === obj || ("ucs-2" === obj || ("utf16le" === obj || "utf-16le" === obj)))) {
- if (type.length < 2 || value.length < 2) {
- return-1;
- }
- /** @type {number} */
- power = 2;
- length /= 2;
- j /= 2;
- i /= 2;
- }
- var a;
- if (recurring) {
- /** @type {number} */
- var b = -1;
- /** @type {number} */
- a = i;
- for (;a < length;a++) {
- if (iterator(type, a) === iterator(value, b === -1 ? 0 : a - b)) {
- if (b === -1 && (b = a), a - b + 1 === j) {
- return b * power;
- }
- } else {
- if (b !== -1) {
- a -= a - b;
- }
- /** @type {number} */
- b = -1;
- }
- }
- } else {
- if (i + j > length) {
- /** @type {number} */
- i = length - j;
- }
- /** @type {number} */
- a = i;
- for (;a >= 0;a--) {
- /** @type {boolean} */
- var f = true;
- /** @type {number} */
- var x = 0;
- for (;x < j;x++) {
- if (iterator(type, a + x) !== iterator(value, x)) {
- /** @type {boolean} */
- f = false;
- break;
- }
- }
- if (f) {
- return a;
- }
- }
- }
- return-1;
- }
- /**
- * @param {(Array|number)} buffer
- * @param {string} context
- * @param {number} offset
- * @param {number} value
- * @return {?}
- */
- function format(buffer, context, offset, value) {
- /** @type {number} */
- offset = Number(offset) || 0;
- /** @type {number} */
- var maxValue = buffer.length - offset;
- if (value) {
- /** @type {number} */
- value = Number(value);
- if (value > maxValue) {
- /** @type {number} */
- value = maxValue;
- }
- } else {
- /** @type {number} */
- value = maxValue;
- }
- var j = context.length;
- if (j % 2 !== 0) {
- throw new TypeError("Invalid hex string");
- }
- if (value > j / 2) {
- /** @type {number} */
- value = j / 2;
- }
- /** @type {number} */
- var i = 0;
- for (;i < value;++i) {
- /** @type {number} */
- var num2 = parseInt(context.substr(2 * i, 2), 16);
- if (isNaN(num2)) {
- return i;
- }
- /** @type {number} */
- buffer[offset + i] = num2;
- }
- return i;
- }
- /**
- * @param {?} p
- * @param {string} data
- * @param {number} offset
- * @param {number} length
- * @return {?}
- */
- function locateSeq(p, data, offset, length) {
- return indexOf(read(data, p.length - offset), p, offset, length);
- }
- /**
- * @param {?} x
- * @param {string} elements
- * @param {number} offset
- * @param {number} length
- * @return {?}
- */
- function splice(x, elements, offset, length) {
- return indexOf(MAP(elements), x, offset, length);
- }
- /**
- * @param {?} num
- * @param {string} buffer
- * @param {number} offset
- * @param {number} length
- * @return {?}
- */
- function put(num, buffer, offset, length) {
- return splice(num, buffer, offset, length);
- }
- /**
- * @param {?} callback
- * @param {string} code
- * @param {number} offset
- * @param {number} length
- * @return {?}
- */
- function writeAll(callback, code, offset, length) {
- return indexOf(unescape(code), callback, offset, length);
- }
- /**
- * @param {?} p
- * @param {string} data
- * @param {number} offset
- * @param {number} buffer
- * @return {?}
- */
- function isSeq(p, data, offset, buffer) {
- return indexOf(clone(data, p.length - offset), p, offset, buffer);
- }
- /**
- * @param {Array} str
- * @param {number} start
- * @param {?} i
- * @return {?}
- */
- function exec(str, start, i) {
- return 0 === start && i === str.length ? _.fromByteArray(str) : _.fromByteArray(str.slice(start, i));
- }
- /**
- * @param {Arguments} start
- * @param {number} a
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {?}
- */
- function slice(start, a, expectedNumberOfNonCommentArgs) {
- /** @type {number} */
- expectedNumberOfNonCommentArgs = Math.min(start.length, expectedNumberOfNonCommentArgs);
- /** @type {Array} */
- var typePattern = [];
- /** @type {number} */
- var y = a;
- for (;y < expectedNumberOfNonCommentArgs;) {
- var current = start[y];
- /** @type {null} */
- var copies = null;
- /** @type {number} */
- var h = current > 239 ? 4 : current > 223 ? 3 : current > 191 ? 2 : 1;
- if (y + h <= expectedNumberOfNonCommentArgs) {
- var y0;
- var x0;
- var l;
- var cc;
- switch(h) {
- case 1:
- if (current < 128) {
- copies = current;
- }
- break;
- case 2:
- y0 = start[y + 1];
- if (128 === (192 & y0)) {
- /** @type {number} */
- cc = (31 & current) << 6 | 63 & y0;
- if (cc > 127) {
- /** @type {number} */
- copies = cc;
- }
- }
- break;
- case 3:
- y0 = start[y + 1];
- x0 = start[y + 2];
- if (128 === (192 & y0)) {
- if (128 === (192 & x0)) {
- /** @type {number} */
- cc = (15 & current) << 12 | (63 & y0) << 6 | 63 & x0;
- if (cc > 2047) {
- if (cc < 55296 || cc > 57343) {
- /** @type {number} */
- copies = cc;
- }
- }
- }
- }
- break;
- case 4:
- y0 = start[y + 1];
- x0 = start[y + 2];
- l = start[y + 3];
- if (128 === (192 & y0)) {
- if (128 === (192 & x0)) {
- if (128 === (192 & l)) {
- /** @type {number} */
- cc = (15 & current) << 18 | (63 & y0) << 12 | (63 & x0) << 6 | 63 & l;
- if (cc > 65535) {
- if (cc < 1114112) {
- /** @type {number} */
- copies = cc;
- }
- }
- }
- }
- }
- ;
- }
- }
- if (null === copies) {
- /** @type {number} */
- copies = 65533;
- /** @type {number} */
- h = 1;
- } else {
- if (copies > 65535) {
- copies -= 65536;
- typePattern.push(copies >>> 10 & 1023 | 55296);
- /** @type {number} */
- copies = 56320 | 1023 & copies;
- }
- }
- typePattern.push(copies);
- y += h;
- }
- return call(typePattern);
- }
- /**
- * @param {string} args
- * @return {?}
- */
- function call(args) {
- var l = args.length;
- if (l <= length) {
- return String.fromCharCode.apply(String, args);
- }
- /** @type {string} */
- var str = "";
- /** @type {number} */
- var i = 0;
- for (;i < l;) {
- str += String.fromCharCode.apply(String, args.slice(i, i += length));
- }
- return str;
- }
- /**
- * @param {Arguments} to
- * @param {number} start
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {?}
- */
- function prepare(to, start, expectedNumberOfNonCommentArgs) {
- /** @type {string} */
- var newEvents = "";
- /** @type {number} */
- expectedNumberOfNonCommentArgs = Math.min(to.length, expectedNumberOfNonCommentArgs);
- /** @type {number} */
- var i = start;
- for (;i < expectedNumberOfNonCommentArgs;++i) {
- newEvents += String.fromCharCode(127 & to[i]);
- }
- return newEvents;
- }
- /**
- * @param {Arguments} block
- * @param {number} from
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {?}
- */
- function update(block, from, expectedNumberOfNonCommentArgs) {
- /** @type {string} */
- var _result = "";
- /** @type {number} */
- expectedNumberOfNonCommentArgs = Math.min(block.length, expectedNumberOfNonCommentArgs);
- /** @type {number} */
- var i = from;
- for (;i < expectedNumberOfNonCommentArgs;++i) {
- _result += String.fromCharCode(block[i]);
- }
- return _result;
- }
- /**
- * @param {Arguments} array
- * @param {number} start
- * @param {?} value
- * @return {?}
- */
- function find(array, start, value) {
- var high = array.length;
- if (!start || start < 0) {
- /** @type {number} */
- start = 0;
- }
- if (!value || (value < 0 || value > high)) {
- value = high;
- }
- /** @type {string} */
- var results = "";
- /** @type {number} */
- var i = start;
- for (;i < value;++i) {
- results += predicate(array[i]);
- }
- return results;
- }
- /**
- * @param {Object} t
- * @param {number} i
- * @param {number} n
- * @return {?}
- */
- function func(t, i, n) {
- var chunks = t.slice(i, n);
- /** @type {string} */
- var cnt = "";
- /** @type {number} */
- var chunkIndex = 0;
- for (;chunkIndex < chunks.length;chunkIndex += 2) {
- cnt += String.fromCharCode(chunks[chunkIndex] + 256 * chunks[chunkIndex + 1]);
- }
- return cnt;
- }
- /**
- * @param {number} keepData
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} name
- * @return {undefined}
- */
- function make_name(keepData, expectedNumberOfNonCommentArgs, name) {
- if (keepData % 1 !== 0 || keepData < 0) {
- throw new RangeError("offset is not uint");
- }
- if (keepData + expectedNumberOfNonCommentArgs > name) {
- throw new RangeError("Trying to access beyond buffer length");
- }
- }
- /**
- * @param {string} e
- * @param {number} arg2
- * @param {number} opts
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {number} opt_attributes
- * @param {number} outstandingDataSize
- * @return {undefined}
- */
- function extractStacktrace(e, arg2, opts, expectedNumberOfNonCommentArgs, opt_attributes, outstandingDataSize) {
- if (!self.isBuffer(e)) {
- throw new TypeError('"buffer" argument must be a Buffer instance');
- }
- if (arg2 > opt_attributes || arg2 < outstandingDataSize) {
- throw new RangeError('"value" argument is out of bounds');
- }
- if (opts + expectedNumberOfNonCommentArgs > e.length) {
- throw new RangeError("Index out of range");
- }
- }
- /**
- * @param {Array} text
- * @param {number} arg2
- * @param {number} x
- * @param {boolean} recurring
- * @return {undefined}
- */
- function debug(text, arg2, x, recurring) {
- if (arg2 < 0) {
- arg2 = 65535 + arg2 + 1;
- }
- /** @type {number} */
- var i = 0;
- /** @type {number} */
- var padLength = Math.min(text.length - x, 2);
- for (;i < padLength;++i) {
- /** @type {number} */
- text[x + i] = (arg2 & 255 << 8 * (recurring ? i : 1 - i)) >>> 8 * (recurring ? i : 1 - i);
- }
- }
- /**
- * @param {Array} items
- * @param {number} arg2
- * @param {number} from
- * @param {boolean} recurring
- * @return {undefined}
- */
- function reset(items, arg2, from, recurring) {
- if (arg2 < 0) {
- arg2 = 4294967295 + arg2 + 1;
- }
- /** @type {number} */
- var i = 0;
- /** @type {number} */
- var padLength = Math.min(items.length - from, 4);
- for (;i < padLength;++i) {
- /** @type {number} */
- items[from + i] = arg2 >>> 8 * (recurring ? i : 3 - i) & 255;
- }
- }
- /**
- * @param {string} buffer
- * @param {number} event
- * @param {number} length
- * @param {number} i
- * @param {number} opt_attributes
- * @param {number} opt_interval
- * @return {undefined}
- */
- function next(buffer, event, length, i, opt_attributes, opt_interval) {
- if (length + i > buffer.length) {
- throw new RangeError("Index out of range");
- }
- if (length < 0) {
- throw new RangeError("Index out of range");
- }
- }
- /**
- * @param {string} name
- * @param {number} buffer
- * @param {number} length
- * @param {boolean} data
- * @param {(Object|boolean|number|string)} deepDataAndEvents
- * @return {?}
- */
- function ondata(name, buffer, length, data, deepDataAndEvents) {
- return deepDataAndEvents || next(name, buffer, length, 4, 3.4028234663852886E38, -3.4028234663852886E38), client.write(name, buffer, length, data, 23, 4), length + 4;
- }
- /**
- * @param {string} name
- * @param {number} arg
- * @param {number} extra
- * @param {boolean} data
- * @param {(Object|boolean|number|string)} deepDataAndEvents
- * @return {?}
- */
- function trigger(name, arg, extra, data, deepDataAndEvents) {
- return deepDataAndEvents || next(name, arg, extra, 8, 1.7976931348623157E308, -1.7976931348623157E308), client.write(name, arg, extra, data, 52, 8), extra + 8;
- }
- /**
- * @param {string} string
- * @return {?}
- */
- function replacer(string) {
- if (string = strip(string).replace(r20, ""), string.length < 2) {
- return "";
- }
- for (;string.length % 4 !== 0;) {
- string += "=";
- }
- return string;
- }
- /**
- * @param {string} string
- * @return {?}
- */
- function strip(string) {
- return string.trim ? string.trim() : string.replace(/^\s+|\s+$/g, "");
- }
- /**
- * @param {number} code
- * @return {?}
- */
- function predicate(code) {
- return code < 16 ? "0" + code.toString(16) : code.toString(16);
- }
- /**
- * @param {string} bytes
- * @param {number} fileName
- * @return {?}
- */
- function read(bytes, fileName) {
- fileName = fileName || 1 / 0;
- var c;
- var n = bytes.length;
- /** @type {null} */
- var quote = null;
- /** @type {Array} */
- var _results = [];
- /** @type {number} */
- var i = 0;
- for (;i < n;++i) {
- if (c = bytes.charCodeAt(i), c > 55295 && c < 57344) {
- if (!quote) {
- if (c > 56319) {
- if ((fileName -= 3) > -1) {
- _results.push(239, 191, 189);
- }
- continue;
- }
- if (i + 1 === n) {
- if ((fileName -= 3) > -1) {
- _results.push(239, 191, 189);
- }
- continue;
- }
- quote = c;
- continue;
- }
- if (c < 56320) {
- if ((fileName -= 3) > -1) {
- _results.push(239, 191, 189);
- }
- quote = c;
- continue;
- }
- /** @type {number} */
- c = (quote - 55296 << 10 | c - 56320) + 65536;
- } else {
- if (quote) {
- if ((fileName -= 3) > -1) {
- _results.push(239, 191, 189);
- }
- }
- }
- if (quote = null, c < 128) {
- if ((fileName -= 1) < 0) {
- break;
- }
- _results.push(c);
- } else {
- if (c < 2048) {
- if ((fileName -= 2) < 0) {
- break;
- }
- _results.push(c >> 6 | 192, 63 & c | 128);
- } else {
- if (c < 65536) {
- if ((fileName -= 3) < 0) {
- break;
- }
- _results.push(c >> 12 | 224, c >> 6 & 63 | 128, 63 & c | 128);
- } else {
- if (!(c < 1114112)) {
- throw new Error("Invalid code point");
- }
- if ((fileName -= 4) < 0) {
- break;
- }
- _results.push(c >> 18 | 240, c >> 12 & 63 | 128, c >> 6 & 63 | 128, 63 & c | 128);
- }
- }
- }
- }
- return _results;
- }
- /**
- * @param {string} a
- * @return {?}
- */
- function MAP(a) {
- /** @type {Array} */
- var ret = [];
- /** @type {number} */
- var i = 0;
- for (;i < a.length;++i) {
- ret.push(255 & a.charCodeAt(i));
- }
- return ret;
- }
- /**
- * @param {string} buffer
- * @param {number} dataAndEvents
- * @return {?}
- */
- function clone(buffer, dataAndEvents) {
- var x;
- var copies;
- var h;
- /** @type {Array} */
- var out = [];
- /** @type {number} */
- var j = 0;
- for (;j < buffer.length && !((dataAndEvents -= 2) < 0);++j) {
- x = buffer.charCodeAt(j);
- /** @type {number} */
- copies = x >> 8;
- /** @type {number} */
- h = x % 256;
- out.push(h);
- out.push(copies);
- }
- return out;
- }
- /**
- * @param {string} string
- * @return {?}
- */
- function unescape(string) {
- return _.toByteArray(replacer(string));
- }
- /**
- * @param {Array} arr
- * @param {?} list
- * @param {number} offset
- * @param {number} start
- * @return {?}
- */
- function indexOf(arr, list, offset, start) {
- /** @type {number} */
- var i = 0;
- for (;i < start && !(i + offset >= list.length || i >= arr.length);++i) {
- list[i + offset] = arr[i];
- }
- return i;
- }
- /**
- * @param {?} guard
- * @return {?}
- */
- function assert(guard) {
- return guard !== guard;
- }
- var _ = require(19);
- var client = require(21);
- var extend = require(22);
- /** @type {function (number, number, string): ?} */
- el.Buffer = self;
- /** @type {function (number): ?} */
- el.SlowBuffer = report;
- /** @type {number} */
- el.INSPECT_MAX_BYTES = 50;
- self.TYPED_ARRAY_SUPPORT = void 0 !== dataAndEvents.TYPED_ARRAY_SUPPORT ? dataAndEvents.TYPED_ARRAY_SUPPORT : parse();
- el.kMaxLength = trim();
- /** @type {number} */
- self.poolSize = 8192;
- /**
- * @param {Object} obj
- * @return {?}
- */
- self._augment = function(obj) {
- return obj.__proto__ = self.prototype, obj;
- };
- /**
- * @param {number} target
- * @param {number} key
- * @param {?} sz
- * @return {?}
- */
- self.from = function(target, key, sz) {
- return copy(null, target, key, sz);
- };
- if (self.TYPED_ARRAY_SUPPORT) {
- self.prototype.__proto__ = Uint8Array.prototype;
- /** @type {function (new:Uint8Array, (Array.<number>|ArrayBuffer|ArrayBufferView|null|number), number=, number=): ?} */
- self.__proto__ = Uint8Array;
- if ("undefined" != typeof Symbol) {
- if (Symbol.species) {
- if (self[Symbol.species] === self) {
- Object.defineProperty(self, Symbol.species, {
- value : null,
- configurable : true
- });
- }
- }
- }
- }
- /**
- * @param {number} obj
- * @param {number} parent
- * @param {number} isXML
- * @return {?}
- */
- self.alloc = function(obj, parent, isXML) {
- return click(null, obj, parent, isXML);
- };
- /**
- * @param {number} key
- * @return {?}
- */
- self.allocUnsafe = function(key) {
- return fn(null, key);
- };
- /**
- * @param {number} key
- * @return {?}
- */
- self.allocUnsafeSlow = function(key) {
- return fn(null, key);
- };
- /**
- * @param {?} actual
- * @return {?}
- */
- self.isBuffer = function(actual) {
- return!(null == actual || !actual._isBuffer);
- };
- /**
- * @param {?} actual
- * @param {?} expected
- * @return {?}
- */
- self.compare = function(actual, expected) {
- if (!self.isBuffer(actual) || !self.isBuffer(expected)) {
- throw new TypeError("Arguments must be Buffers");
- }
- if (actual === expected) {
- return 0;
- }
- var which = actual.length;
- var expectedNumberOfNonCommentArgs = expected.length;
- /** @type {number} */
- var i = 0;
- /** @type {number} */
- var padLength = Math.min(which, expectedNumberOfNonCommentArgs);
- for (;i < padLength;++i) {
- if (actual[i] !== expected[i]) {
- which = actual[i];
- expectedNumberOfNonCommentArgs = expected[i];
- break;
- }
- }
- return which < expectedNumberOfNonCommentArgs ? -1 : expectedNumberOfNonCommentArgs < which ? 1 : 0;
- };
- /**
- * @param {(number|string)} str
- * @return {?}
- */
- self.isEncoding = function(str) {
- switch(String(str).toLowerCase()) {
- case "hex":
- ;
- case "utf8":
- ;
- case "utf-8":
- ;
- case "ascii":
- ;
- case "latin1":
- ;
- case "binary":
- ;
- case "base64":
- ;
- case "ucs2":
- ;
- case "ucs-2":
- ;
- case "utf16le":
- ;
- case "utf-16le":
- return true;
- default:
- return false;
- }
- };
- /**
- * @param {?} s
- * @param {number} length
- * @return {?}
- */
- self.concat = function(s, length) {
- if (!extend(s)) {
- throw new TypeError('"list" argument must be an Array of Buffers');
- }
- if (0 === s.length) {
- return self.alloc(0);
- }
- var i;
- if (void 0 === length) {
- /** @type {number} */
- length = 0;
- /** @type {number} */
- i = 0;
- for (;i < s.length;++i) {
- length += s[i].length;
- }
- }
- var result = self.allocUnsafe(length);
- /** @type {number} */
- var mbOff = 0;
- /** @type {number} */
- i = 0;
- for (;i < s.length;++i) {
- var b = s[i];
- if (!self.isBuffer(b)) {
- throw new TypeError('"list" argument must be an Array of Buffers');
- }
- b.copy(result, mbOff);
- mbOff += b.length;
- }
- return result;
- };
- /** @type {function (string, string): ?} */
- self.byteLength = decode;
- /** @type {boolean} */
- self.prototype._isBuffer = true;
- /**
- * @return {?}
- */
- self.prototype.swap16 = function() {
- var l = this.length;
- if (l % 2 !== 0) {
- throw new RangeError("Buffer size must be a multiple of 16-bits");
- }
- /** @type {number} */
- var v = 0;
- for (;v < l;v += 2) {
- buildParams(this, v, v + 1);
- }
- return this;
- };
- /**
- * @return {?}
- */
- self.prototype.swap32 = function() {
- var l = this.length;
- if (l % 4 !== 0) {
- throw new RangeError("Buffer size must be a multiple of 32-bits");
- }
- /** @type {number} */
- var v = 0;
- for (;v < l;v += 4) {
- buildParams(this, v, v + 3);
- buildParams(this, v + 1, v + 2);
- }
- return this;
- };
- /**
- * @return {?}
- */
- self.prototype.swap64 = function() {
- var l = this.length;
- if (l % 8 !== 0) {
- throw new RangeError("Buffer size must be a multiple of 64-bits");
- }
- /** @type {number} */
- var v = 0;
- for (;v < l;v += 8) {
- buildParams(this, v, v + 7);
- buildParams(this, v + 1, v + 6);
- buildParams(this, v + 2, v + 5);
- buildParams(this, v + 3, v + 4);
- }
- return this;
- };
- /**
- * @return {?}
- */
- self.prototype.toString = function() {
- /** @type {number} */
- var length = 0 | this.length;
- return 0 === length ? "" : 0 === arguments.length ? slice(this, 0, length) : query.apply(this, arguments);
- };
- /**
- * @param {?} b
- * @return {?}
- */
- self.prototype.equals = function(b) {
- if (!self.isBuffer(b)) {
- throw new TypeError("Argument must be a Buffer");
- }
- return this === b || 0 === self.compare(this, b);
- };
- /**
- * @return {?}
- */
- self.prototype.inspect = function() {
- /** @type {string} */
- var optsData = "";
- var max = el.INSPECT_MAX_BYTES;
- return this.length > 0 && (optsData = this.toString("hex", 0, max).match(/.{2}/g).join(" "), this.length > max && (optsData += " ... ")), "<Buffer " + optsData + ">";
- };
- /**
- * @param {Array} b
- * @param {number} start
- * @param {number} end
- * @param {number} index
- * @param {number} length
- * @return {?}
- */
- self.prototype.compare = function(b, start, end, index, length) {
- if (!self.isBuffer(b)) {
- throw new TypeError("Argument must be a Buffer");
- }
- if (void 0 === start && (start = 0), void 0 === end && (end = b ? b.length : 0), void 0 === index && (index = 0), void 0 === length && (length = this.length), start < 0 || (end > b.length || (index < 0 || length > this.length))) {
- throw new RangeError("out of range index");
- }
- if (index >= length && start >= end) {
- return 0;
- }
- if (index >= length) {
- return-1;
- }
- if (start >= end) {
- return 1;
- }
- if (start >>>= 0, end >>>= 0, index >>>= 0, length >>>= 0, this === b) {
- return 0;
- }
- /** @type {number} */
- var which = length - index;
- /** @type {number} */
- var expectedNumberOfNonCommentArgs = end - start;
- /** @type {number} */
- var padLength = Math.min(which, expectedNumberOfNonCommentArgs);
- var bytes = this.slice(index, length);
- var context = b.slice(start, end);
- /** @type {number} */
- var i = 0;
- for (;i < padLength;++i) {
- if (bytes[i] !== context[i]) {
- which = bytes[i];
- expectedNumberOfNonCommentArgs = context[i];
- break;
- }
- }
- return which < expectedNumberOfNonCommentArgs ? -1 : expectedNumberOfNonCommentArgs < which ? 1 : 0;
- };
- /**
- * @param {?} data
- * @param {number} from
- * @param {number} object
- * @return {?}
- */
- self.prototype.includes = function(data, from, object) {
- return this.indexOf(data, from, object) !== -1;
- };
- /**
- * @param {?} item
- * @param {number} from
- * @param {number} collection
- * @return {?}
- */
- self.prototype.indexOf = function(item, from, collection) {
- return _find(this, item, from, collection, true);
- };
- /**
- * @param {number} haystack
- * @param {number} from
- * @param {number} subKey
- * @return {?}
- */
- self.prototype.lastIndexOf = function(haystack, from, subKey) {
- return _find(this, haystack, from, subKey, false);
- };
- /**
- * @param {string} buffer
- * @param {number} offset
- * @param {number} length
- * @param {number} encoding
- * @return {?}
- */
- self.prototype.write = function(buffer, offset, length, encoding) {
- if (void 0 === offset) {
- /** @type {string} */
- encoding = "utf8";
- length = this.length;
- /** @type {number} */
- offset = 0;
- } else {
- if (void 0 === length && "string" == typeof offset) {
- /** @type {number} */
- encoding = offset;
- length = this.length;
- /** @type {number} */
- offset = 0;
- } else {
- if (!isFinite(offset)) {
- throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
- }
- offset |= 0;
- if (isFinite(length)) {
- length |= 0;
- if (void 0 === encoding) {
- /** @type {string} */
- encoding = "utf8";
- }
- } else {
- /** @type {number} */
- encoding = length;
- length = void 0;
- }
- }
- }
- /** @type {number} */
- var remaining = this.length - offset;
- if ((void 0 === length || length > remaining) && (length = remaining), buffer.length > 0 && (length < 0 || offset < 0) || offset > this.length) {
- throw new RangeError("Attempt to write outside buffer bounds");
- }
- if (!encoding) {
- /** @type {string} */
- encoding = "utf8";
- }
- /** @type {boolean} */
- var a = false;
- for (;;) {
- switch(encoding) {
- case "hex":
- return format(this, buffer, offset, length);
- case "utf8":
- ;
- case "utf-8":
- return locateSeq(this, buffer, offset, length);
- case "ascii":
- return splice(this, buffer, offset, length);
- case "latin1":
- ;
- case "binary":
- return put(this, buffer, offset, length);
- case "base64":
- return writeAll(this, buffer, offset, length);
- case "ucs2":
- ;
- case "ucs-2":
- ;
- case "utf16le":
- ;
- case "utf-16le":
- return isSeq(this, buffer, offset, length);
- default:
- if (a) {
- throw new TypeError("Unknown encoding: " + encoding);
- }
- /** @type {string} */
- encoding = ("" + encoding).toLowerCase();
- /** @type {boolean} */
- a = true;
- }
- }
- };
- /**
- * @return {?}
- */
- self.prototype.toJSON = function() {
- return{
- type : "Buffer",
- data : Array.prototype.slice.call(this._arr || this, 0)
- };
- };
- /** @type {number} */
- var length = 4096;
- /**
- * @param {number} start
- * @param {number} end
- * @return {?}
- */
- self.prototype.slice = function(start, end) {
- var len = this.length;
- /** @type {number} */
- start = ~~start;
- end = void 0 === end ? len : ~~end;
- if (start < 0) {
- start += len;
- if (start < 0) {
- /** @type {number} */
- start = 0;
- }
- } else {
- if (start > len) {
- start = len;
- }
- }
- if (end < 0) {
- end += len;
- if (end < 0) {
- /** @type {number} */
- end = 0;
- }
- } else {
- if (end > len) {
- end = len;
- }
- }
- if (end < start) {
- /** @type {number} */
- end = start;
- }
- var ret;
- if (self.TYPED_ARRAY_SUPPORT) {
- ret = this.subarray(start, end);
- ret.__proto__ = self.prototype;
- } else {
- /** @type {number} */
- var duration = end - start;
- ret = new self(duration, void 0);
- /** @type {number} */
- var i = 0;
- for (;i < duration;++i) {
- ret[i] = this[i + start];
- }
- }
- return ret;
- };
- /**
- * @param {number} key
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.readUIntLE = function(key, expectedNumberOfNonCommentArgs, dataAndEvents) {
- key |= 0;
- expectedNumberOfNonCommentArgs |= 0;
- if (!dataAndEvents) {
- make_name(key, expectedNumberOfNonCommentArgs, this.length);
- }
- var value = this[key];
- /** @type {number} */
- var base = 1;
- /** @type {number} */
- var separator2 = 0;
- for (;++separator2 < expectedNumberOfNonCommentArgs && (base *= 256);) {
- value += this[key + separator2] * base;
- }
- return value;
- };
- /**
- * @param {number} name
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.readUIntBE = function(name, expectedNumberOfNonCommentArgs, dataAndEvents) {
- name |= 0;
- expectedNumberOfNonCommentArgs |= 0;
- if (!dataAndEvents) {
- make_name(name, expectedNumberOfNonCommentArgs, this.length);
- }
- var value = this[name + --expectedNumberOfNonCommentArgs];
- /** @type {number} */
- var base = 1;
- for (;expectedNumberOfNonCommentArgs > 0 && (base *= 256);) {
- value += this[name + --expectedNumberOfNonCommentArgs] * base;
- }
- return value;
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readUInt8 = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 1, this.length), this[name];
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readUInt16LE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 2, this.length), this[name] | this[name + 1] << 8;
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readUInt16BE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 2, this.length), this[name] << 8 | this[name + 1];
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readUInt32LE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 4, this.length), (this[name] | this[name + 1] << 8 | this[name + 2] << 16) + 16777216 * this[name + 3];
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readUInt32BE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 4, this.length), 16777216 * this[name] + (this[name + 1] << 16 | this[name + 2] << 8 | this[name + 3]);
- };
- /**
- * @param {number} key
- * @param {number} pow
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.readIntLE = function(key, pow, dataAndEvents) {
- key |= 0;
- pow |= 0;
- if (!dataAndEvents) {
- make_name(key, pow, this.length);
- }
- var value = this[key];
- /** @type {number} */
- var base = 1;
- /** @type {number} */
- var separator2 = 0;
- for (;++separator2 < pow && (base *= 256);) {
- value += this[key + separator2] * base;
- }
- return base *= 128, value >= base && (value -= Math.pow(2, 8 * pow)), value;
- };
- /**
- * @param {number} name
- * @param {number} pos
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.readIntBE = function(name, pos, dataAndEvents) {
- name |= 0;
- pos |= 0;
- if (!dataAndEvents) {
- make_name(name, pos, this.length);
- }
- /** @type {number} */
- var savedPos4 = pos;
- /** @type {number} */
- var base = 1;
- var value = this[name + --savedPos4];
- for (;savedPos4 > 0 && (base *= 256);) {
- value += this[name + --savedPos4] * base;
- }
- return base *= 128, value >= base && (value -= Math.pow(2, 8 * pos)), value;
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readInt8 = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 1, this.length), 128 & this[name] ? (255 - this[name] + 1) * -1 : this[name];
- };
- /**
- * @param {number} name
- * @param {?} noAssert
- * @return {?}
- */
- self.prototype.readInt16LE = function(name, noAssert) {
- if (!noAssert) {
- make_name(name, 2, this.length);
- }
- /** @type {number} */
- var unsigned = this[name] | this[name + 1] << 8;
- return 32768 & unsigned ? 4294901760 | unsigned : unsigned;
- };
- /**
- * @param {number} name
- * @param {?} noAssert
- * @return {?}
- */
- self.prototype.readInt16BE = function(name, noAssert) {
- if (!noAssert) {
- make_name(name, 2, this.length);
- }
- /** @type {number} */
- var unsigned = this[name + 1] | this[name] << 8;
- return 32768 & unsigned ? 4294901760 | unsigned : unsigned;
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readInt32LE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 4, this.length), this[name] | this[name + 1] << 8 | this[name + 2] << 16 | this[name + 3] << 24;
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readInt32BE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 4, this.length), this[name] << 24 | this[name + 1] << 16 | this[name + 2] << 8 | this[name + 3];
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readFloatLE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 4, this.length), client.read(this, name, true, 23, 4);
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readFloatBE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 4, this.length), client.read(this, name, false, 23, 4);
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readDoubleLE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 8, this.length), client.read(this, name, true, 52, 8);
- };
- /**
- * @param {number} name
- * @param {undefined} usePrototypeKeys
- * @return {?}
- */
- self.prototype.readDoubleBE = function(name, usePrototypeKeys) {
- return usePrototypeKeys || make_name(name, 8, this.length), client.read(this, name, false, 52, 8);
- };
- /**
- * @param {number} offset
- * @param {number} type
- * @param {number} t
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.writeUIntLE = function(offset, type, t, dataAndEvents) {
- if (offset = +offset, type |= 0, t |= 0, !dataAndEvents) {
- /** @type {number} */
- var attributes = Math.pow(2, 8 * t) - 1;
- extractStacktrace(this, offset, type, t, attributes, 0);
- }
- /** @type {number} */
- var cellWidth = 1;
- /** @type {number} */
- var queueHooks = 0;
- /** @type {number} */
- this[type] = 255 & offset;
- for (;++queueHooks < t && (cellWidth *= 256);) {
- /** @type {number} */
- this[type + queueHooks] = offset / cellWidth & 255;
- }
- return type + t;
- };
- /**
- * @param {number} offset
- * @param {number} init
- * @param {number} n
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.writeUIntBE = function(offset, init, n, dataAndEvents) {
- if (offset = +offset, init |= 0, n |= 0, !dataAndEvents) {
- /** @type {number} */
- var attributes = Math.pow(2, 8 * n) - 1;
- extractStacktrace(this, offset, init, n, attributes, 0);
- }
- /** @type {number} */
- var cond = n - 1;
- /** @type {number} */
- var cellWidth = 1;
- /** @type {number} */
- this[init + cond] = 255 & offset;
- for (;--cond >= 0 && (cellWidth *= 256);) {
- /** @type {number} */
- this[init + cond] = offset / cellWidth & 255;
- }
- return init + n;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeUInt8 = function(offset, opts, noAssert) {
- return offset = +offset, opts |= 0, noAssert || extractStacktrace(this, offset, opts, 1, 255, 0), self.TYPED_ARRAY_SUPPORT || (offset = Math.floor(offset)), this[opts] = 255 & offset, opts + 1;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeUInt16LE = function(offset, opts, noAssert) {
- return offset = +offset, opts |= 0, noAssert || extractStacktrace(this, offset, opts, 2, 65535, 0), self.TYPED_ARRAY_SUPPORT ? (this[opts] = 255 & offset, this[opts + 1] = offset >>> 8) : debug(this, offset, opts, true), opts + 2;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} value
- * @return {?}
- */
- self.prototype.writeUInt16BE = function(offset, opts, value) {
- return offset = +offset, opts |= 0, value || extractStacktrace(this, offset, opts, 2, 65535, 0), self.TYPED_ARRAY_SUPPORT ? (this[opts] = offset >>> 8, this[opts + 1] = 255 & offset) : debug(this, offset, opts, false), opts + 2;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeUInt32LE = function(offset, opts, noAssert) {
- return offset = +offset, opts |= 0, noAssert || extractStacktrace(this, offset, opts, 4, 4294967295, 0), self.TYPED_ARRAY_SUPPORT ? (this[opts + 3] = offset >>> 24, this[opts + 2] = offset >>> 16, this[opts + 1] = offset >>> 8, this[opts] = 255 & offset) : reset(this, offset, opts, true), opts + 4;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} value
- * @return {?}
- */
- self.prototype.writeUInt32BE = function(offset, opts, value) {
- return offset = +offset, opts |= 0, value || extractStacktrace(this, offset, opts, 4, 4294967295, 0), self.TYPED_ARRAY_SUPPORT ? (this[opts] = offset >>> 24, this[opts + 1] = offset >>> 16, this[opts + 2] = offset >>> 8, this[opts + 3] = 255 & offset) : reset(this, offset, opts, false), opts + 4;
- };
- /**
- * @param {number} offset
- * @param {number} type
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.writeIntLE = function(offset, type, expectedNumberOfNonCommentArgs, dataAndEvents) {
- if (offset = +offset, type |= 0, !dataAndEvents) {
- /** @type {number} */
- var i = Math.pow(2, 8 * expectedNumberOfNonCommentArgs - 1);
- extractStacktrace(this, offset, type, expectedNumberOfNonCommentArgs, i - 1, -i);
- }
- /** @type {number} */
- var queueHooks = 0;
- /** @type {number} */
- var cellWidth = 1;
- /** @type {number} */
- var o = 0;
- /** @type {number} */
- this[type] = 255 & offset;
- for (;++queueHooks < expectedNumberOfNonCommentArgs && (cellWidth *= 256);) {
- if (offset < 0) {
- if (0 === o) {
- if (0 !== this[type + queueHooks - 1]) {
- /** @type {number} */
- o = 1;
- }
- }
- }
- /** @type {number} */
- this[type + queueHooks] = (offset / cellWidth >> 0) - o & 255;
- }
- return type + expectedNumberOfNonCommentArgs;
- };
- /**
- * @param {number} offset
- * @param {number} init
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} dataAndEvents
- * @return {?}
- */
- self.prototype.writeIntBE = function(offset, init, expectedNumberOfNonCommentArgs, dataAndEvents) {
- if (offset = +offset, init |= 0, !dataAndEvents) {
- /** @type {number} */
- var i = Math.pow(2, 8 * expectedNumberOfNonCommentArgs - 1);
- extractStacktrace(this, offset, init, expectedNumberOfNonCommentArgs, i - 1, -i);
- }
- /** @type {number} */
- var cond = expectedNumberOfNonCommentArgs - 1;
- /** @type {number} */
- var cellWidth = 1;
- /** @type {number} */
- var o = 0;
- /** @type {number} */
- this[init + cond] = 255 & offset;
- for (;--cond >= 0 && (cellWidth *= 256);) {
- if (offset < 0) {
- if (0 === o) {
- if (0 !== this[init + cond + 1]) {
- /** @type {number} */
- o = 1;
- }
- }
- }
- /** @type {number} */
- this[init + cond] = (offset / cellWidth >> 0) - o & 255;
- }
- return init + expectedNumberOfNonCommentArgs;
- };
- /**
- * @param {number} offset
- * @param {number} data
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeInt8 = function(offset, data, noAssert) {
- return offset = +offset, data |= 0, noAssert || extractStacktrace(this, offset, data, 1, 127, -128), self.TYPED_ARRAY_SUPPORT || (offset = Math.floor(offset)), offset < 0 && (offset = 255 + offset + 1), this[data] = 255 & offset, data + 1;
- };
- /**
- * @param {number} offset
- * @param {number} data
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeInt16LE = function(offset, data, noAssert) {
- return offset = +offset, data |= 0, noAssert || extractStacktrace(this, offset, data, 2, 32767, -32768), self.TYPED_ARRAY_SUPPORT ? (this[data] = 255 & offset, this[data + 1] = offset >>> 8) : debug(this, offset, data, true), data + 2;
- };
- /**
- * @param {number} offset
- * @param {number} data
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeInt16BE = function(offset, data, noAssert) {
- return offset = +offset, data |= 0, noAssert || extractStacktrace(this, offset, data, 2, 32767, -32768), self.TYPED_ARRAY_SUPPORT ? (this[data] = offset >>> 8, this[data + 1] = 255 & offset) : debug(this, offset, data, false), data + 2;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeInt32LE = function(offset, opts, noAssert) {
- return offset = +offset, opts |= 0, noAssert || extractStacktrace(this, offset, opts, 4, 2147483647, -2147483648), self.TYPED_ARRAY_SUPPORT ? (this[opts] = 255 & offset, this[opts + 1] = offset >>> 8, this[opts + 2] = offset >>> 16, this[opts + 3] = offset >>> 24) : reset(this, offset, opts, true), opts + 4;
- };
- /**
- * @param {number} offset
- * @param {number} opts
- * @param {undefined} noAssert
- * @return {?}
- */
- self.prototype.writeInt32BE = function(offset, opts, noAssert) {
- return offset = +offset, opts |= 0, noAssert || extractStacktrace(this, offset, opts, 4, 2147483647, -2147483648), offset < 0 && (offset = 4294967295 + offset + 1), self.TYPED_ARRAY_SUPPORT ? (this[opts] = offset >>> 24, this[opts + 1] = offset >>> 16, this[opts + 2] = offset >>> 8, this[opts + 3] = 255 & offset) : reset(this, offset, opts, false), opts + 4;
- };
- /**
- * @param {number} url
- * @param {number} extra
- * @param {string} deepDataAndEvents
- * @return {?}
- */
- self.prototype.writeFloatLE = function(url, extra, deepDataAndEvents) {
- return ondata(this, url, extra, true, deepDataAndEvents);
- };
- /**
- * @param {number} url
- * @param {number} extra
- * @param {string} deepDataAndEvents
- * @return {?}
- */
- self.prototype.writeFloatBE = function(url, extra, deepDataAndEvents) {
- return ondata(this, url, extra, false, deepDataAndEvents);
- };
- /**
- * @param {number} until
- * @param {number} event
- * @param {string} deepDataAndEvents
- * @return {?}
- */
- self.prototype.writeDoubleLE = function(until, event, deepDataAndEvents) {
- return trigger(this, until, event, true, deepDataAndEvents);
- };
- /**
- * @param {number} until
- * @param {number} event
- * @param {string} deepDataAndEvents
- * @return {?}
- */
- self.prototype.writeDoubleBE = function(until, event, deepDataAndEvents) {
- return trigger(this, until, event, false, deepDataAndEvents);
- };
- /**
- * @param {string} data
- * @param {number} offset
- * @param {number} start
- * @param {number} end
- * @return {?}
- */
- self.prototype.copy = function(data, offset, start, end) {
- if (start || (start = 0), end || (0 === end || (end = this.length)), offset >= data.length && (offset = data.length), offset || (offset = 0), end > 0 && (end < start && (end = start)), end === start) {
- return 0;
- }
- if (0 === data.length || 0 === this.length) {
- return 0;
- }
- if (offset < 0) {
- throw new RangeError("targetStart out of bounds");
- }
- if (start < 0 || start >= this.length) {
- throw new RangeError("sourceStart out of bounds");
- }
- if (end < 0) {
- throw new RangeError("sourceEnd out of bounds");
- }
- if (end > this.length) {
- end = this.length;
- }
- if (data.length - offset < end - start) {
- end = data.length - offset + start;
- }
- var i;
- /** @type {number} */
- var len = end - start;
- if (this === data && (start < offset && offset < end)) {
- /** @type {number} */
- i = len - 1;
- for (;i >= 0;--i) {
- data[i + offset] = this[i + start];
- }
- } else {
- if (len < 1E3 || !self.TYPED_ARRAY_SUPPORT) {
- /** @type {number} */
- i = 0;
- for (;i < len;++i) {
- data[i + offset] = this[i + start];
- }
- } else {
- Uint8Array.prototype.set.call(data, this.subarray(start, start + len), offset);
- }
- }
- return len;
- };
- /**
- * @param {number} value
- * @param {number} n
- * @param {number} i
- * @param {number} val
- * @return {?}
- */
- self.prototype.fill = function(value, n, i, val) {
- if ("string" == typeof value) {
- if ("string" == typeof n ? (val = n, n = 0, i = this.length) : "string" == typeof i && (val = i, i = this.length), 1 === value.length) {
- /** @type {number} */
- var config = value.charCodeAt(0);
- if (config < 256) {
- /** @type {number} */
- value = config;
- }
- }
- if (void 0 !== val && "string" != typeof val) {
- throw new TypeError("encoding must be a string");
- }
- if ("string" == typeof val && !self.isEncoding(val)) {
- throw new TypeError("Unknown encoding: " + val);
- }
- } else {
- if ("number" == typeof value) {
- value &= 255;
- }
- }
- if (n < 0 || (this.length < n || this.length < i)) {
- throw new RangeError("Out of range index");
- }
- if (i <= n) {
- return this;
- }
- n >>>= 0;
- i = void 0 === i ? this.length : i >>> 0;
- if (!value) {
- /** @type {number} */
- value = 0;
- }
- var pos;
- if ("number" == typeof value) {
- /** @type {number} */
- pos = n;
- for (;pos < i;++pos) {
- /** @type {number} */
- this[pos] = value;
- }
- } else {
- var arr = self.isBuffer(value) ? value : read((new self(value, val)).toString());
- var len = arr.length;
- /** @type {number} */
- pos = 0;
- for (;pos < i - n;++pos) {
- this[pos + n] = arr[pos % len];
- }
- }
- return this;
- };
- /** @type {RegExp} */
- var r20 = /[^+\/0-9A-Za-z-_]/g;
- }).call(el, require(18));
- }, function(dataAndEvents, gridStore) {
- /**
- * @param {?} a
- * @param {number} keepData
- * @param {boolean} recurring
- * @param {number} length
- * @param {number} opt_attributes
- * @return {?}
- */
- gridStore.read = function(a, keepData, recurring, length, opt_attributes) {
- var value;
- var m;
- /** @type {number} */
- var numSpaces = 8 * opt_attributes - length - 1;
- /** @type {number} */
- var radio = (1 << numSpaces) - 1;
- /** @type {number} */
- var increment = radio >> 1;
- /** @type {number} */
- var pos = -7;
- /** @type {number} */
- var i = recurring ? opt_attributes - 1 : 0;
- /** @type {number} */
- var d = recurring ? -1 : 1;
- var data = a[keepData + i];
- i += d;
- /** @type {number} */
- value = data & (1 << -pos) - 1;
- data >>= -pos;
- pos += numSpaces;
- for (;pos > 0;value = 256 * value + a[keepData + i], i += d, pos -= 8) {
- }
- /** @type {number} */
- m = value & (1 << -pos) - 1;
- value >>= -pos;
- pos += length;
- for (;pos > 0;m = 256 * m + a[keepData + i], i += d, pos -= 8) {
- }
- if (0 === value) {
- /** @type {number} */
- value = 1 - increment;
- } else {
- if (value === radio) {
- return m ? NaN : (data ? -1 : 1) * (1 / 0);
- }
- m += Math.pow(2, length);
- value -= increment;
- }
- return(data ? -1 : 1) * m * Math.pow(2, value - length);
- };
- /**
- * @param {string} object
- * @param {number} value
- * @param {number} length
- * @param {boolean} content
- * @param {number} bits
- * @param {number} opt_attributes
- * @return {undefined}
- */
- gridStore.write = function(object, value, length, content, bits, opt_attributes) {
- var e;
- var charCode;
- var c;
- /** @type {number} */
- var bitsSeen = 8 * opt_attributes - bits - 1;
- /** @type {number} */
- var eMax = (1 << bitsSeen) - 1;
- /** @type {number} */
- var eBias = eMax >> 1;
- /** @type {number} */
- var rt = 23 === bits ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
- /** @type {number} */
- var from = content ? 0 : opt_attributes - 1;
- /** @type {number} */
- var len = content ? 1 : -1;
- /** @type {number} */
- var m = value < 0 || 0 === value && 1 / value < 0 ? 1 : 0;
- /** @type {number} */
- value = Math.abs(value);
- if (isNaN(value) || value === 1 / 0) {
- /** @type {number} */
- charCode = isNaN(value) ? 1 : 0;
- /** @type {number} */
- e = eMax;
- } else {
- /** @type {number} */
- e = Math.floor(Math.log(value) / Math.LN2);
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--;
- c *= 2;
- }
- value += e + eBias >= 1 ? rt / c : rt * Math.pow(2, 1 - eBias);
- if (value * c >= 2) {
- e++;
- c /= 2;
- }
- if (e + eBias >= eMax) {
- /** @type {number} */
- charCode = 0;
- /** @type {number} */
- e = eMax;
- } else {
- if (e + eBias >= 1) {
- /** @type {number} */
- charCode = (value * c - 1) * Math.pow(2, bits);
- e += eBias;
- } else {
- /** @type {number} */
- charCode = value * Math.pow(2, eBias - 1) * Math.pow(2, bits);
- /** @type {number} */
- e = 0;
- }
- }
- }
- for (;bits >= 8;object[length + from] = 255 & charCode, from += len, charCode /= 256, bits -= 8) {
- }
- /** @type {number} */
- e = e << bits | charCode;
- bitsSeen += bits;
- for (;bitsSeen > 0;object[length + from] = 255 & e, from += len, e /= 256, bitsSeen -= 8) {
- }
- object[length + from - len] |= 128 * m;
- };
- }, function(module, dataAndEvents) {
- /** @type {function (this:*): string} */
- var ostring = {}.toString;
- /** @type {function (*): boolean} */
- module.exports = Array.isArray || function(callback) {
- return "[object Array]" == ostring.call(callback);
- };
- }, function(module, dataAndEvents, deepDataAndEvents) {
- /**
- * @param {?} obj
- * @param {string} name
- * @return {?}
- */
- function hasOwn(obj, name) {
- return Object.prototype.hasOwnProperty.call(obj, name);
- }
- /**
- * @param {number} arr
- * @param {string} str
- * @param {string} object
- * @param {Object} options
- * @return {?}
- */
- module.exports = function(arr, str, object, options) {
- str = str || "&";
- object = object || "=";
- var obj = {};
- if ("string" != typeof arr || 0 === arr.length) {
- return obj;
- }
- /** @type {RegExp} */
- var r20 = /\+/g;
- /** @type {Array.<string>} */
- arr = arr.split(str);
- /** @type {number} */
- var len = 1E3;
- if (options) {
- if ("number" == typeof options.maxKeys) {
- /** @type {number} */
- len = options.maxKeys;
- }
- }
- /** @type {number} */
- var e = arr.length;
- if (len > 0) {
- if (e > len) {
- /** @type {number} */
- e = len;
- }
- }
- /** @type {number} */
- var i = 0;
- for (;i < e;++i) {
- var value;
- var separator;
- var key;
- var val;
- /** @type {string} */
- var part = arr[i].replace(r20, "%20");
- /** @type {number} */
- var index = part.indexOf(object);
- if (index >= 0) {
- /** @type {string} */
- value = part.substr(0, index);
- /** @type {string} */
- separator = part.substr(index + 1);
- } else {
- /** @type {string} */
- value = part;
- /** @type {string} */
- separator = "";
- }
- /** @type {string} */
- key = decodeURIComponent(value);
- /** @type {string} */
- val = decodeURIComponent(separator);
- if (hasOwn(obj, key)) {
- if (inspect(obj[key])) {
- obj[key].push(val);
- } else {
- /** @type {Array} */
- obj[key] = [obj[key], val];
- }
- } else {
- /** @type {string} */
- obj[key] = val;
- }
- }
- return obj;
- };
- /** @type {function (*): boolean} */
- var inspect = Array.isArray || function(callback) {
- return "[object Array]" === Object.prototype.toString.call(callback);
- };
- }, function(module, dataAndEvents, deepDataAndEvents) {
- /**
- * @param {Array} array
- * @param {Function} fn
- * @return {?}
- */
- function walk(array, fn) {
- if (array.map) {
- return array.map(fn);
- }
- /** @type {Array} */
- var ret = [];
- /** @type {number} */
- var i = 0;
- for (;i < array.length;i++) {
- ret.push(fn(array[i], i));
- }
- return ret;
- }
- /**
- * @param {number} v
- * @return {?}
- */
- var stringify = function(v) {
- switch(typeof v) {
- case "string":
- return v;
- case "boolean":
- return v ? "true" : "false";
- case "number":
- return isFinite(v) ? v : "";
- default:
- return "";
- }
- };
- /**
- * @param {number} obj
- * @param {string} sep
- * @param {string} eq
- * @param {number} key
- * @return {?}
- */
- module.exports = function(obj, sep, eq, key) {
- return sep = sep || "&", eq = eq || "=", null === obj && (obj = void 0), "object" == typeof obj ? walk(getActual(obj), function(key) {
- var ks = encodeURIComponent(stringify(key)) + eq;
- return visit(obj[key]) ? walk(obj[key], function(v) {
- return ks + encodeURIComponent(stringify(v));
- }).join(sep) : ks + encodeURIComponent(stringify(obj[key]));
- }).join(sep) : key ? encodeURIComponent(stringify(key)) + eq + encodeURIComponent(stringify(obj)) : "";
- };
- /** @type {function (*): boolean} */
- var visit = Array.isArray || function(callback) {
- return "[object Array]" === Object.prototype.toString.call(callback);
- };
- /** @type {function (Object): Array.<string>} */
- var getActual = Object.keys || function(ctor) {
- /** @type {Array} */
- var eventPath = [];
- var cur;
- for (cur in ctor) {
- if (Object.prototype.hasOwnProperty.call(ctor, cur)) {
- eventPath.push(cur);
- }
- }
- return eventPath;
- };
- }, function(dataAndEvents, exports, require) {
- exports.decode = exports.parse = require(23);
- exports.encode = exports.stringify = require(24);
- }, function(dataAndEvents, ctx, $) {
- /**
- * @param {string} value
- * @return {?}
- */
- function parseInt(value) {
- return value && value.__esModule ? value : {
- default : value
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} actual
- * @return {undefined}
- */
- function test(dataAndEvents, actual) {
- if (!(dataAndEvents instanceof actual)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} fn
- * @return {?}
- */
- function error(dataAndEvents, fn) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!fn || "object" != typeof fn && "function" != typeof fn ? dataAndEvents : fn;
- }
- /**
- * @param {Object} self
- * @param {Object} b
- * @return {undefined}
- */
- function wrap(self, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- self.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : self,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(self, b);
- } else {
- /** @type {Object} */
- self.__proto__ = b;
- }
- }
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function cb(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- /**
- * @param {?} cb
- * @return {undefined}
- */
- function end(cb) {
- !function() {
- /**
- * @return {?}
- */
- function later() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = cb(regeneratorRuntime.mark(function end() {
- var results;
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return setTimeout(later, 6E4), results = [{
- name : "Asia1",
- region : "All",
- address : "45.76.179.209:444",
- players : "?",
- gamemode : "?",
- ping : null
- }, {
- name : "Aus1",
- region : "All",
- address : "45.32.188.82:444",
- players : "?",
- gamemode : "?",
- ping : null
- }], current.next = 5, Promise.all(results.map(function(options) {
- return cb(regeneratorRuntime.mark(function end() {
- var padding;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.prev = 0, self.t0 = Object, self.t1 = options, self.next = 5, (0, val.default)({
- url : "http://" + options.address + "/info",
- type : "json",
- method : "GET"
- });
- case 5:
- return self.t2 = self.sent.response, self.t0.assign.call(self.t0, self.t1, self.t2), padding = Date.now(), self.prev = 8, self.next = 11, (0, val.default)({
- url : "http://" + options.address + "/ping",
- method : "GET"
- });
- case 11:
- /** @type {number} */
- self.next = 15;
- break;
- case 13:
- /** @type {number} */
- self.prev = 13;
- self.t3 = self.catch(8);
- case 15:
- /** @type {number} */
- options.ping = Date.now() - padding;
- /** @type {number} */
- self.next = 20;
- break;
- case 18:
- /** @type {number} */
- self.prev = 18;
- self.t4 = self.catch(0);
- case 20:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, this, [[0, 18], [8, 13]]);
- }))();
- }));
- case 5:
- cb(results);
- case 6:
- ;
- case "end":
- return current.stop();
- }
- }
- }, end, this);
- }));
- return later;
- }()();
- }
- Object.defineProperty(ctx, "__esModule", {
- value : true
- });
- ctx.LocalSpectateClient = ctx.LocalMultiboxClient = ctx.LocalClient = ctx.localNormalizeNames = void 0;
- var isUndefined = function() {
- /**
- * @param {Arguments} object
- * @param {number} deepDataAndEvents
- * @return {?}
- */
- function clone(object, deepDataAndEvents) {
- /** @type {Array} */
- var res = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var next;
- var self = object[Symbol.iterator]();
- for (;!(callback2 = (next = self.next()).done) && (res.push(next.value), !deepDataAndEvents || res.length !== deepDataAndEvents);callback2 = true) {
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return res;
- }
- return function(which, deepDataAndEvents) {
- if (Array.isArray(which)) {
- return which;
- }
- if (Symbol.iterator in Object(which)) {
- return clone(which, deepDataAndEvents);
- }
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
- };
- }();
- var isClassOf = function() {
- /**
- * @param {Function} proto
- * @param {Array} name
- * @return {undefined}
- */
- function defineProperty(proto, name) {
- /** @type {number} */
- var i = 0;
- for (;i < name.length;i++) {
- var desc = name[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(proto, desc.key, desc);
- }
- }
- return function(context, name, tag) {
- return name && defineProperty(context.prototype, name), tag && defineProperty(context, tag), context;
- };
- }();
- /**
- * @param {(Object|string)} obj
- * @param {string} prop
- * @param {?} elems
- * @return {?}
- */
- var modifier = function get(obj, prop, elems) {
- if (null === obj) {
- obj = Function.prototype;
- }
- /** @type {(ObjectPropertyDescriptor|undefined)} */
- var desc = Object.getOwnPropertyDescriptor(obj, prop);
- if (void 0 === desc) {
- /** @type {(Object|null)} */
- var keys = Object.getPrototypeOf(obj);
- return null === keys ? void 0 : get(keys, prop, elems);
- }
- if ("value" in desc) {
- return desc.value;
- }
- /** @type {(function (): ?|undefined)} */
- var fn = desc.get;
- if (void 0 !== fn) {
- return fn.call(elems);
- }
- };
- ctx.localNormalizeNames = function() {
- var matcherFunction = cb(regeneratorRuntime.mark(function end(data, chunk, encoding) {
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- if (!((data + chunk).length > 20)) {
- /** @type {number} */
- self.next = 2;
- break;
- }
- return self.abrupt("return", null);
- case 2:
- return self.abrupt("return", {
- team : data,
- name : chunk,
- skin : encoding
- });
- case 3:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, this);
- }));
- return function(dataAndEvents, deepDataAndEvents, ignoreMethodDoesntExist) {
- return matcherFunction.apply(this, arguments);
- };
- }();
- /** @type {function (?): undefined} */
- ctx.localGetServers = end;
- var actual = $(50);
- var val = parseInt(actual);
- var min = $(6);
- var out = parseInt(min);
- var text = $(7);
- var code = parseInt(text);
- var header = $(27);
- var value = parseInt(header);
- var that = $(3);
- var emptyJ = $(10);
- var camelKey = ctx.LocalClient = function(_super) {
- /**
- * @param {?} map
- * @param {?} list
- * @return {?}
- */
- function object(map, list) {
- test(this, object);
- var game = error(this, (object.__proto__ || Object.getPrototypeOf(object)).call(this, map, list));
- return game.players = new Map, game;
- }
- return wrap(object, _super), isClassOf(object, [{
- key : "sendConnectionStart",
- /**
- * @return {undefined}
- */
- value : function() {
- this.writer.reset();
- this.writer.writeUint8(255);
- this.writer.writeString("");
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendPlay",
- /**
- * @return {undefined}
- */
- value : function() {
- this.writer.reset();
- this.writer.writeUint8(0);
- this.writer.writeString("" + this.team + this.name);
- this.writer.writeString(this.skin);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendSpectate",
- /**
- * @return {undefined}
- */
- value : function() {
- this.writer.reset();
- this.writer.writeUint8(1);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendPing",
- /**
- * @return {undefined}
- */
- value : function() {
- modifier(object.prototype.__proto__ || Object.getPrototypeOf(object.prototype), "sendPing", this).call(this);
- this.writer.reset();
- this.writer.writeUint8(71);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendSpace",
- /**
- * @return {undefined}
- */
- value : function() {
- this.writer.reset();
- this.writer.writeUint8(17);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendW",
- /**
- * @return {undefined}
- */
- value : function() {
- if (this.wPress) {
- this.writer.reset();
- this.writer.writeUint8(21);
- this.sendPacket(this.writer.build());
- }
- }
- }, {
- key : "sendAutoChase",
- /**
- * @return {undefined}
- */
- value : function() {
- this.writer.reset();
- this.writer.writeUint8(18);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendMouse",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- switch(this.writer.reset(), this.writer.writeUint8(16), this.lineSplit) {
- case 1:
- /** @type {Array} */
- var objects = [this.centerX, this.centerY];
- object = objects[0];
- expectedNumberOfNonCommentArgs = objects[1];
- break;
- case 2:
- /** @type {Array} */
- var newValue = [this.centerX, this.centerY + 10];
- object = newValue[0];
- expectedNumberOfNonCommentArgs = newValue[1];
- }
- var suiteView = (0, emptyJ.clipSegBound)(this.centerX, this.centerY, object, expectedNumberOfNonCommentArgs, 32767);
- var addedObjects = isUndefined(suiteView, 2);
- object = addedObjects[0];
- expectedNumberOfNonCommentArgs = addedObjects[1];
- this.writer.writeInt16(object);
- this.writer.writeInt16(expectedNumberOfNonCommentArgs);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendChat",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- this.writer.reset();
- this.writer.writeUint8(72);
- this.writer.writeUint8(expectedNumberOfNonCommentArgs);
- this.writer.writeString(object);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendInviteResponse",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.writer.reset();
- this.writer.writeUint8(41);
- this.writer.writeUint8(object ? 1 : 0);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendPartyAction",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- this.writer.reset();
- this.writer.writeUint8(40);
- this.writer.writeUint8(object);
- this.writer.writeUint32(expectedNumberOfNonCommentArgs);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "sendWhisper",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- this.writer.reset();
- this.writer.writeUint8(73);
- this.writer.writeUint32(object);
- this.writer.writeString(expectedNumberOfNonCommentArgs);
- this.sendPacket(this.writer.build());
- }
- }, {
- key : "onMessage",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var r20 = new that.BufferReader(object.data);
- var n = r20.readUint8();
- switch(n) {
- case 4:
- this.handleUpdate(r20);
- break;
- case 10:
- this.handlePosition(r20);
- break;
- case 40:
- this.handleInvite(r20);
- break;
- case 41:
- this.handlePartyInfo(r20);
- break;
- case 42:
- this.handlePartyData(r20);
- break;
- case 43:
- this.handlePlayerAdd(r20);
- break;
- case 44:
- this.handlePlayerDelete(r20);
- break;
- case 49:
- this.handleLeaderboard(r20);
- break;
- case 50:
- this.handleLeaderboardCustom(r20);
- break;
- case 64:
- this.handleClientData(r20);
- break;
- case 70:
- this.handleSystem(r20);
- break;
- case 71:
- this.handlePing();
- break;
- case 72:
- this.handleChat(r20);
- break;
- case 73:
- this.handleWhisper(r20);
- }
- }
- }, {
- key : "handleUpdate",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- for (;;) {
- var cacheKey = object.readUint32();
- if (0 == cacheKey) {
- break;
- }
- var attributes = this.bucket.get(cacheKey);
- if (null == attributes) {
- switch(attributes = new out.default, attributes.type = object.readUint8(), attributes.setX(object.readInt16()), attributes.setY(object.readInt16()), attributes.type) {
- case 0:
- attributes.setSize(22);
- break;
- case 1:
- attributes.setSize(object.readUint16());
- attributes.color = object.readColor();
- break;
- case 2:
- attributes.setSize(object.readUint16());
- attributes.pId = object.readUint16();
- Object.assign(attributes, this.players.get(attributes.pId));
- if (attributes.pId == this.pId) {
- this.ownCells.set(cacheKey, attributes);
- }
- break;
- case 3:
- ;
- case 4:
- attributes.setSize(object.readUint16());
- }
- this.bucket.set(cacheKey, attributes);
- } else {
- attributes.x_ = object.readInt16();
- attributes.y_ = object.readInt16();
- if (0 != attributes.type) {
- attributes.size_ = object.readUint16();
- }
- /** @type {number} */
- attributes.steps = 30;
- }
- }
- var r = object.readUint32();
- for (;r > 0;r--) {
- var which = object.readUint32();
- var ch = this.bucket.get(which);
- this.bucket.delete(which);
- if (ch.pId == this.pId) {
- this.ownCells.delete(which);
- if (0 == this.ownCells.size) {
- this.game.onDie(this);
- }
- }
- }
- this.game.onUpdate();
- }
- }, {
- key : "handlePosition",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.centerX_ = object.readFloat32();
- this.centerY_ = object.readFloat32();
- /** @type {number} */
- this.centerSteps = 30;
- }
- }, {
- key : "handleClientData",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.pId = object.readUint16();
- this.game.onPId();
- object.offset++;
- this.border = {
- minx : object.readUint16(),
- miny : object.readUint16(),
- maxx : object.readUint16(),
- maxy : object.readUint16()
- };
- this.game.onBorder();
- }
- }, {
- key : "handleLeaderboard",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {Array} */
- var data = [];
- var len = object.readUint8();
- var start = object.readInt16();
- /** @type {number} */
- var i = 0;
- for (;i < len;i++) {
- data.push({
- pos : i,
- pId : object.readUint16(),
- name : this.normalizeName(object.readString())
- });
- }
- if (start >= len) {
- if (start != -1) {
- data.push({
- pos : start,
- pId : this.pId,
- name : this.normalizeName(this.name)
- });
- }
- }
- this.game.onLeaderboard(this, data);
- }
- }, {
- key : "handleLeaderboardCustom",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {Array} */
- var result = [];
- var padLength = object.readUint8();
- /** @type {number} */
- var i = 0;
- for (;i < padLength;i++) {
- result.push({
- pos : i,
- name : object.readString()
- });
- }
- this.game.onLeaderboard(this, result);
- }
- }, {
- key : "handlePing",
- /**
- * @return {undefined}
- */
- value : function() {
- this.game.onPing(Date.now() - this.pingedTime);
- }
- }, {
- key : "handleChat",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var msg = ["", "Party", "Admin"][object.readUint8()];
- var id = [""][object.readUint8()];
- if (id) {
- /** @type {string} */
- msg = msg + " - " + id;
- }
- var dmg = object.readUint16();
- var r20 = this.normalizeName(object.readString());
- var restoreScript = object.readColor();
- var rreturn = object.readString();
- this.game.onChat(msg, null, dmg, r20, restoreScript, rreturn, "#fff");
- }
- }, {
- key : "handleWhisper",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var t = object.readUint8();
- var id = this.pId;
- var data = this.normalizeName(this.name);
- var x = this.players.get(id) ? this.players.get(id).color : "#999";
- var value = object.readUint16();
- var method = this.normalizeName(object.readString());
- var msg = object.readColor();
- var r20 = object.readString();
- if (!t) {
- /** @type {Array} */
- var args = [value, method, msg, id, data, x];
- id = args[0];
- data = args[1];
- x = args[2];
- value = args[3];
- method = args[4];
- msg = args[5];
- }
- this.game.onWhisper(id, data, x, value, method, msg, r20);
- }
- }, {
- key : "handleSystem",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.game.onSystem(object.readString());
- }
- }, {
- key : "handleInvite",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.game.onInvite(this, this.normalizeName(object.readString()));
- }
- }, {
- key : "handlePartyInfo",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var map = new Map;
- /** @type {Array} */
- var meta = [];
- var r = object.readUint16();
- for (;r > 0;r--) {
- /** @type {boolean} */
- var source = 1 == object.readUint8();
- var x = object.readUint16();
- var details = this.partyIds.has(x) ? this.party[this.partyIds.get(x)] : {
- pId : x,
- x : null,
- x_ : null,
- y : null,
- y_ : null,
- mass : null,
- mass_ : null
- };
- /** @type {boolean} */
- details.leader = source;
- details.name = this.normalizeName(object.readString());
- map.set(x, meta.length);
- meta.push(details);
- }
- this.partyIds = map;
- /** @type {Array} */
- this.party = meta;
- this.game.onPartyUpdate();
- }
- }, {
- key : "handlePartyData",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var pos = object.readUint16();
- if (pos == this.party.length) {
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var r = false;
- var bulk = void 0;
- try {
- var right;
- var self = this.party[Symbol.iterator]();
- for (;!(callback2 = (right = self.next()).done);callback2 = true) {
- var b = right.value;
- b.x_ = object.readUint32();
- b.y_ = object.readUint32();
- b.mass_ = object.readUint32();
- if (0 == b.mass_) {
- /** @type {null} */
- b.x = null;
- /** @type {null} */
- b.y = null;
- } else {
- if (null == b.x) {
- if (null == b.y) {
- b.x = b.x_;
- b.y = b.y_;
- b.mass = b.mass_;
- }
- }
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- r = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (r) {
- throw bulk;
- }
- }
- }
- this.game.onPartyUpdate();
- }
- }
- }, {
- key : "handlePlayerAdd",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var t = object.readUint16();
- for (;t > 0;t--) {
- this.players.set(object.readUint16(), {
- name : object.readString(),
- skin : object.readString(),
- color : object.readColor()
- });
- }
- }
- }, {
- key : "handlePlayerDelete",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var t = object.readUint16();
- for (;t > 0;t--) {
- this.players.delete(object.readUint16());
- }
- }
- }, {
- key : "onSendMessage",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var stream = new that.BufferReader(object);
- var n = stream.readUint8();
- switch(n) {
- case 0:
- this.play("", stream.readString(), stream.readString());
- break;
- case 1:
- this.spectate("", "", "");
- break;
- case 16:
- this.mouseX = stream.readInt16();
- this.mouseY = stream.readInt16();
- break;
- case 71:
- this.sendPing();
- }
- }
- }]), object;
- }(code.default);
- ctx.LocalMultiboxClient = function(key) {
- /**
- * @return {?}
- */
- function value() {
- return test(this, value), error(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, key), isClassOf(value, [{
- key : "sendPing",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }, {
- key : "onMessage",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var r20 = new that.BufferReader(object.data);
- var n = r20.readUint8();
- switch(n) {
- case 4:
- this.handleUpdate(r20);
- break;
- case 10:
- this.handlePosition(r20);
- break;
- case 40:
- this.handleInvite(r20);
- break;
- case 41:
- this.handlePartyInfo(r20);
- break;
- case 42:
- this.handlePartyData(r20);
- break;
- case 43:
- this.handlePlayerAdd(r20);
- break;
- case 44:
- this.handlePlayerDelete(r20);
- break;
- case 49:
- this.handleLeaderboard(r20);
- break;
- case 64:
- this.handleClientData(r20);
- }
- }
- }]), value;
- }(camelKey);
- ctx.LocalSpectateClient = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return test(this, value), error(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), isClassOf(value, [{
- key : "onMessage",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var r20 = new that.BufferReader(object.data);
- var n = r20.readUint8();
- switch(n) {
- case 4:
- this.handleUpdate(r20);
- break;
- case 10:
- this.handlePosition(r20);
- break;
- case 43:
- this.handlePlayerAdd(r20);
- break;
- case 44:
- this.handlePlayerDelete(r20);
- break;
- case 64:
- this.handleClientData(r20);
- }
- }
- }]), value;
- }((0, value.default)(camelKey));
- }, function(dataAndEvents, object, $sanitize) {
- /**
- * @param {?} object
- * @return {?}
- */
- function seal(object) {
- return object;
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- (function() {
- /**
- * @param {Arguments} object
- * @param {number} deepDataAndEvents
- * @return {?}
- */
- function clone(object, deepDataAndEvents) {
- /** @type {Array} */
- var res = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var next;
- var self = object[Symbol.iterator]();
- for (;!(callback2 = (next = self.next()).done) && (res.push(next.value), !deepDataAndEvents || res.length !== deepDataAndEvents);callback2 = true) {
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return res;
- }
- return function(which, deepDataAndEvents) {
- if (Array.isArray(which)) {
- return which;
- }
- if (Symbol.iterator in Object(which)) {
- return clone(which, deepDataAndEvents);
- }
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
- };
- })();
- (function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- })();
- /** @type {function (?): ?} */
- object.default = seal;
- $sanitize(10);
- }, function(dataAndEvents, obj, deepDataAndEvents) {
- /**
- * @param {?} dataAndEvents
- * @param {Function} bind
- * @return {undefined}
- */
- function forEach(dataAndEvents, bind) {
- if (!(dataAndEvents instanceof bind)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(obj, "__esModule", {
- value : true
- });
- var deprecate = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var value = function() {
- /**
- * @return {undefined}
- */
- function bind() {
- forEach(this, bind);
- /** @type {number} */
- this.tsTime = 0;
- this.keyDown = new Set;
- window.addEventListener("mousemove", this.handleMouseMove.bind(this));
- window.addEventListener("wheel", this.handleWheel.bind(this));
- window.addEventListener("mousedown", this.handleMouseDown.bind(this));
- window.addEventListener("mouseup", this.handleMouseUp.bind(this));
- window.addEventListener("keydown", this.handleKeyDown.bind(this));
- window.addEventListener("keyup", this.handleKeyUp.bind(this));
- }
- return deprecate(bind, [{
- key : "split",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var b = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
- /** @type {number} */
- var c = 0;
- for (;c < object;c++) {
- setTimeout(this.activeClient.sendSpace.bind(this.activeClient), b + c * this.activeClient.actionTicks);
- }
- }
- }, {
- key : "handleMouseMove",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.mouseRawX = object.clientX;
- this.mouseRawY = object.clientY;
- }
- }, {
- key : "handleWheel",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (object.target == this.canvas) {
- if (this.ui.main.hideMain) {
- this.mouseZoom *= object.deltaY < 0 ? 1.1 : 0.9;
- }
- }
- }
- }, {
- key : "handleActionDown",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- if ("Escape" == object) {
- return void(this.ui.main.hideMain = !this.ui.main.hideMain);
- }
- if (this.activeClient) {
- var value = this.ui.keysInv.get(object);
- if (value) {
- /** @type {number} */
- var r20 = Math.max(this.tsTime - Date.now(), 0);
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var _ref;
- var self = value[Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var color = _ref.value;
- switch(color) {
- case "feed":
- /** @type {boolean} */
- this.activeClient.wPress = true;
- break;
- case "split":
- this.split(1, r20);
- break;
- case "doubleSplit":
- this.split(2, r20);
- break;
- case "tripleSplit":
- this.split(3, r20);
- break;
- case "quadSplit":
- this.split(4, r20);
- /** @type {boolean} */
- this.tsInd = false;
- break;
- case "spectateTop":
- if (this.activeClient.spectating) {
- this.activeClient.sendAutoChase();
- }
- break;
- case "indTs":
- /** @type {boolean} */
- this.tsInd = false;
- break;
- case "multiboxSwitch":
- if (this.passiveClient) {
- /** @type {boolean} */
- this.activeClient.wPress = false;
- /** @type {number} */
- this.activeClient.lineSplit = 0;
- this.activeClient.sendTab();
- /** @type {Array} */
- var activeClient = [this.passiveClient, this.activeClient];
- this.activeClient = activeClient[0];
- this.passiveClient = activeClient[1];
- if (0 == this.activeClient.ownCells.size) {
- this.activeClient.play(this.activeClient.team, this.activeClient.name, this.activeClient.skin, this.currentServer);
- }
- this.recorder.updateClients();
- }
- break;
- case "multiboxTs":
- break;
- case "horzLine":
- /** @type {number} */
- this.activeClient.lineSplit = 1;
- break;
- case "vertLine":
- /** @type {number} */
- this.activeClient.lineSplit = 2;
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return true;
- }
- }
- }
- }, {
- key : "handleActionUp",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- if (this.activeClient) {
- var value = this.ui.keysInv.get(object);
- if (value) {
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var r = false;
- var bulk = void 0;
- try {
- var _ref;
- var self = value[Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var color = _ref.value;
- switch(color) {
- case "feed":
- /** @type {boolean} */
- this.activeClient.wPress = false;
- break;
- case "horzLine":
- ;
- case "vertLine":
- /** @type {number} */
- this.activeClient.lineSplit = 0;
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- r = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (r) {
- throw bulk;
- }
- }
- }
- return true;
- }
- }
- }
- }, {
- key : "handleKeyDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var result = 1 == object.key.length ? object.key.toLowerCase() : object.key;
- if (!this.keyDown.has(result)) {
- this.keyDown.add(result);
- if (!("INPUT" == document.activeElement.tagName)) {
- if (!object.ctrlKey) {
- if (!object.altKey) {
- if (!!this.handleActionDown(result)) {
- object.preventDefault();
- }
- }
- }
- }
- }
- }
- }, {
- key : "handleKeyUp",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var which = 1 == object.key.length ? object.key.toLowerCase() : object.key;
- this.keyDown.delete(which);
- if (!("INPUT" == document.activeElement.tagName)) {
- if (!object.ctrlKey) {
- if (!object.altKey) {
- if (!!this.handleActionUp(which)) {
- object.preventDefault();
- }
- }
- }
- }
- }
- }, {
- key : "handleMouseDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (object.target == this.canvas) {
- if (this.handleActionDown(object.button)) {
- object.preventDefault();
- }
- }
- }
- }, {
- key : "handleMouseUp",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (object.target == this.canvas) {
- if (this.handleActionUp(object.button)) {
- object.preventDefault();
- }
- }
- }
- }]), bind;
- }();
- obj.default = value;
- }, function(dataAndEvents, ctx, require) {
- /**
- * @param {Function} target
- * @return {?}
- */
- function extend(target) {
- if (target && target.__esModule) {
- return target;
- }
- var obj = {};
- if (null != target) {
- var key;
- for (key in target) {
- if (Object.prototype.hasOwnProperty.call(target, key)) {
- obj[key] = target[key];
- }
- }
- }
- return obj.default = target, obj;
- }
- /**
- * @param {string} type
- * @return {?}
- */
- function create(type) {
- return type && type.__esModule ? type : {
- default : type
- };
- }
- /**
- * @param {number} results
- * @return {?}
- */
- function makeArray(results) {
- if (Array.isArray(results)) {
- /** @type {number} */
- var i = 0;
- /** @type {Array} */
- var result = Array(results.length);
- for (;i < results.length;i++) {
- result[i] = results[i];
- }
- return result;
- }
- return Array.from(results);
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function proxy(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} init
- * @return {undefined}
- */
- function supr(dataAndEvents, init) {
- if (!(dataAndEvents instanceof init)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(ctx, "__esModule", {
- value : true
- });
- ctx.PlaybackSocket = ctx.RecordSocket = ctx.Recorder = ctx.InflateReader = ctx.DeflateWriter = void 0;
- /** @type {function (?): ?} */
- var objectToString = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(edge) {
- return typeof edge;
- } : function(arg) {
- return arg && ("function" == typeof Symbol && (arg.constructor === Symbol && arg !== Symbol.prototype)) ? "symbol" : typeof arg;
- };
- var callback = Object.assign || function(opt_attributes) {
- /** @type {number} */
- var i = 1;
- for (;i < arguments.length;i++) {
- var iterable = arguments[i];
- var key;
- for (key in iterable) {
- if (Object.prototype.hasOwnProperty.call(iterable, key)) {
- opt_attributes[key] = iterable[key];
- }
- }
- }
- return opt_attributes;
- };
- var walk = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var selector = require(52);
- var elem = create(selector);
- var lang = require(57);
- var map = require(4);
- var values = extend(map);
- var helper = require(6);
- var Handlebars = create(helper);
- var html = require(8);
- var dom = create(html);
- var definitions = require(3);
- var files = ctx.DeflateWriter = function() {
- /**
- * @param {string} table
- * @param {string} bridgeName
- * @return {undefined}
- */
- function init(table, bridgeName) {
- var cacheSize = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10485760;
- supr(this, init);
- /** @type {string} */
- this.table = table;
- /** @type {string} */
- this.name = bridgeName;
- /** @type {Blob} */
- this.blob = new Blob;
- this.cacheSize = cacheSize;
- /** @type {number} */
- this.curSize = 0;
- this.deflate = new lang.Deflate({
- level : 9
- });
- }
- return walk(init, [{
- key : "flush",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function initialize() {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return this.deflate.push(new Uint8Array([]), lang.Z_FINISH), this.blob = new Blob([this.blob, this.deflate.result]), current.next = 4, this.table.put({
- name : this.name,
- data : this.blob
- });
- case 4:
- /** @type {number} */
- this.curSize = 0;
- this.deflate = new lang.Deflate({
- level : 9
- });
- case 6:
- ;
- case "end":
- return current.stop();
- }
- }
- }, initialize, this);
- }));
- return view;
- }()
- }, {
- key : "write",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function end(data) {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- if (this.deflate.push(data), this.curSize += data.byteLength, !(this.curSize >= this.cacheSize)) {
- /** @type {number} */
- current.next = 5;
- break;
- }
- return current.next = 5, this.flush();
- case 5:
- ;
- case "end":
- return current.stop();
- }
- }
- }, end, this);
- }));
- return f2;
- }()
- }]), init;
- }();
- var Tree = ctx.InflateReader = function() {
- /**
- * @param {Node} buf
- * @param {?} prefix
- * @return {undefined}
- */
- function init(buf, prefix) {
- var cacheSize = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10485760;
- supr(this, init);
- this.entry = buf.get(prefix);
- this.cacheSize = cacheSize;
- /** @type {number} */
- this.offset = 0;
- /** @type {FileReader} */
- this.reader = new FileReader;
- this.inflate = new lang.Inflate;
- }
- return walk(init, [{
- key : "seek",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- this.offset = object;
- }
- }, {
- key : "read",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function next() {
- var file;
- var body;
- var obj = this;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.next = 2, this.entry;
- case 2:
- file = self.sent.data;
- case 3:
- if (this.inflate.ended || this.offset == file.size) {
- /** @type {number} */
- self.next = 11;
- break;
- }
- return this.reader.readAsArrayBuffer(file.slice(this.offset, this.offset + this.cacheSize)), self.next = 7, new Promise(function(i) {
- return obj.reader.onload = i;
- });
- case 7:
- this.inflate.push(this.reader.result);
- /** @type {number} */
- this.offset = Math.min(file.size, this.offset + this.cacheSize);
- /** @type {number} */
- self.next = 3;
- break;
- case 11:
- return body = (this.inflate.result || new Uint8Array).buffer, this.offset -= this.inflate.strm.avail_in, this.inflate = new lang.Inflate, self.abrupt("return", body);
- case 15:
- ;
- case "end":
- return self.stop();
- }
- }
- }, next, this);
- }));
- return view;
- }()
- }]), init;
- }();
- var Node = (ctx.Recorder = function() {
- /**
- * @param {?} theGame
- * @param {string} allBindingsAccessor
- * @return {undefined}
- */
- function init(theGame, allBindingsAccessor) {
- var server = this;
- supr(this, init);
- this.game = theGame;
- this.db = new elem.default("recordings", allBindingsAccessor);
- this.db.version(1).stores({
- files : "name",
- indexes : "++, *name"
- });
- this.bufferWriter = new definitions.BufferWriter;
- /** @type {null} */
- this.reader = this.writer = this.playbackEnd = this.recordEnd = null;
- this.prevClientIds = new Map;
- this.clientIds = new Map;
- this.idClients = new Map;
- /** @type {Object} */
- this.stubGame = Object.create(this.game);
- this.stubGame.leaderboards = new Map;
- this.stubGame.ui = {
- options : {
- uiFgColor : {},
- selfLbColor : {},
- friendLbColor : {},
- enemyLbColor : {},
- selfPartyColor : {},
- friendPartyColor : {},
- leaderPartyColor : {}
- },
- stats : {},
- chat : {
- invites : []
- },
- main : {}
- };
- this.stubGame.chat = new Proxy({}, {
- /**
- * @return {?}
- */
- get : function() {
- return function() {
- };
- }
- });
- /**
- * @return {?}
- */
- this.stubGame.onUpdate = function() {
- return server.stubGame.stats.update(false);
- };
- }
- return walk(init, [{
- key : "record",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var self = this;
- this.recordEnd = proxy(regeneratorRuntime.mark(function end() {
- return regeneratorRuntime.wrap(function(item) {
- for (;;) {
- switch(item.prev = item.next) {
- case 0:
- if (item.t0 = self.recordEnd, !item.t0) {
- /** @type {number} */
- item.next = 4;
- break;
- }
- return item.next = 4, self.recordEnd;
- case 4:
- return self.bufferWriter.reset(), self.bufferWriter.writeFloat64(Date.now()), self.bufferWriter.writeBytes(object), item.next = 9, self.writer.write(self.bufferWriter.build());
- case 9:
- ;
- case "end":
- return item.stop();
- }
- }
- }, end, self);
- }))();
- }
- }, {
- key : "stringifyClients",
- /**
- * @return {?}
- */
- value : function() {
- var db = this;
- return JSON.stringify([this.game.activeClient, this.game.passiveClient, this.game.spectateClient], function(dataAndEvents, result) {
- return result instanceof map.Client ? (result = callback({
- id : db.clientIds.get(result)
- }, !db.prevClientIds.has(result) && callback({}, result, {
- __class__ : result.constructor.name,
- ownCells : [].concat(makeArray(result.ownCells.keys()))
- })), delete result.socket && (delete result.game && delete result.writer)) : result instanceof Handlebars.default ? (result = callback({}, result, {
- __class__ : result.constructor.name
- }), delete result.img) : result instanceof Map && (result = {
- __class__ : result.constructor.name,
- entries : [].concat(makeArray(result.entries()))
- }), result;
- });
- }
- }, {
- key : "objectifyStats",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- var internalValues = {};
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var r = false;
- var bulk = void 0;
- try {
- var _ref;
- var self = dom.default[object][Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var key = _ref.value;
- internalValues[key] = this.game.stats[key];
- }
- } catch (fn) {
- /** @type {boolean} */
- r = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (r) {
- throw bulk;
- }
- }
- }
- return internalValues;
- }
- }, {
- key : "recordClients",
- /**
- * @return {undefined}
- */
- value : function() {
- this.bufferWriter.reset();
- this.bufferWriter.writeUint8(0);
- this.bufferWriter.writeString(this.stringifyClients());
- this.record(this.bufferWriter.build());
- }
- }, {
- key : "updateClients",
- /**
- * @return {undefined}
- */
- value : function() {
- var data_priv = new Map;
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var n = false;
- var bulk = void 0;
- try {
- var target;
- var self = this.game.clients[Symbol.iterator]();
- for (;!(callback2 = (target = self.next()).done);callback2 = true) {
- var node = target.value;
- var pdataCur = this.clientIds.get(node) || 1;
- if (!this.clientIds.has(node)) {
- for (;[].concat(makeArray(this.clientIds.values()), makeArray(data_priv.values())).includes(pdataCur);) {
- pdataCur++;
- }
- }
- data_priv.set(node, pdataCur);
- }
- } catch (fn) {
- /** @type {boolean} */
- n = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (n) {
- throw bulk;
- }
- }
- }
- /** @type {Array} */
- var clientIds = [this.clientIds, data_priv];
- this.prevClientIds = clientIds[0];
- this.clientIds = clientIds[1];
- if (this.writer) {
- this.recordClients();
- }
- }
- }, {
- key : "startRecord",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function formatPattern() {
- var date;
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return current.next = 2, this.stop();
- case 2:
- /** @type {Date} */
- date = new Date;
- this.writer = new files(this.db.files, date.getFullYear() + "-" + (("0" + (date.getMonth() + 1)).substr(-2) + "-") + (("0" + date.getDate()).substr(-2) + ".") + (("0" + date.getHours()).substr(-2) + "-") + (("0" + date.getMinutes()).substr(-2) + "-") + (("0" + date.getSeconds()).substr(-2) + ".bin"));
- this.updateClients();
- case 5:
- ;
- case "end":
- return current.stop();
- }
- }
- }, formatPattern, this);
- }));
- return view;
- }()
- }, {
- key : "parseClients",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- var options = this;
- return JSON.parse(object, function(dataAndEvents, e) {
- if (!e || "object" != ("undefined" == typeof e ? "undefined" : objectToString(e))) {
- return e;
- }
- if (options.idClients.has(e.id)) {
- return options.idClients.get(e.id);
- }
- var value = values[e.__class__];
- return value ? (delete e.__class__, e = Object.assign(new value(e.type), callback({}, e, {
- game : options.game,
- ownCells : new Map(e.ownCells.map(function(storageKey) {
- return[storageKey, e.bucket.get(storageKey)];
- }))
- }))) : "Cell" == e.__class__ ? (delete e.__class__, e = Object.assign(new Handlebars.default(e.type), e)) : "Map" == e.__class__ && (e = new Map(e.entries)), e;
- });
- }
- }, {
- key : "playbackClients",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var game = new Map;
- var map = new Map;
- /** @type {Array} */
- var $cookies = ["activeClient", "passiveClient", "spectateClient"];
- /** @type {Array} */
- this.game.clients = [];
- /** @type {number} */
- var key = 0;
- for (;key < 3;key++) {
- if (object[key]) {
- object[key].connect();
- this.game[$cookies[key]] = object[key];
- this.game.clients.push(object[key]);
- game.set(object[key], object[key].id);
- map.set(object[key].id, object[key]);
- } else {
- /** @type {null} */
- this.game[$cookies[key]] = null;
- }
- }
- if (this.game.activeClient) {
- if (this.game.activeClient.border) {
- this.game.onBorder();
- }
- if (this.game.activeClient.pId != -1) {
- this.game.onPId();
- }
- }
- this.clientIds = game;
- this.idClients = map;
- }
- }, {
- key : "playback",
- value : regeneratorRuntime.mark(function end(buffer) {
- var stream;
- var target;
- var self;
- var onComplete;
- return regeneratorRuntime.wrap(function(item) {
- for (;;) {
- switch(item.prev = item.next) {
- case 0:
- stream = new definitions.BufferReader(buffer);
- case 1:
- if (!(stream.offset < buffer.byteLength)) {
- /** @type {number} */
- item.next = 28;
- break;
- }
- return item.next = 4, stream.readFloat64();
- case 4:
- if (target = stream.readUint8(), 0 != target) {
- /** @type {number} */
- item.next = 9;
- break;
- }
- this.playbackClients(this.parseClients(stream.readString()));
- /** @type {number} */
- item.next = 26;
- break;
- case 9:
- self = this.idClients.get(stream.readUint8());
- onComplete = void 0;
- if (!(2 != target && 5 != target)) {
- onComplete = stream.readBytes(stream.readUint16());
- }
- if (!(7 != target && 8 != target)) {
- onComplete = stream.readString();
- }
- item.t0 = target;
- /** @type {number} */
- item.next = 1 === item.t0 ? 16 : 4 === item.t0 ? 16 : 3 === item.t0 ? 18 : 2 === item.t0 ? 20 : 7 === item.t0 ? 20 : 5 === item.t0 ? 22 : 8 === item.t0 ? 22 : 6 === item.t0 ? 24 : 26;
- break;
- case 16:
- return self.socket.playback(target), item.abrupt("break", 26);
- case 18:
- return self && self.socket.playback(target), item.abrupt("break", 26);
- case 20:
- return self.socket.playback(target, onComplete), item.abrupt("break", 26);
- case 22:
- return self.onSendMessage(onComplete), item.abrupt("break", 26);
- case 24:
- return self.disconnect(), item.abrupt("break", 26);
- case 26:
- /** @type {number} */
- item.next = 1;
- break;
- case 28:
- ;
- case "end":
- return item.stop();
- }
- }
- }, end, this);
- })
- }, {
- key : "startIndex",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function init(id) {
- var self = this;
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return current.next = 2, this.stop();
- case 2:
- return this.reader = new Tree(this.db.files, id), this.playbackEnd = proxy(regeneratorRuntime.mark(function init() {
- var offset;
- var retValue;
- var game;
- var input;
- var callback2;
- var l;
- var t0;
- var tree;
- var node;
- return regeneratorRuntime.wrap(function(stream) {
- for (;;) {
- switch(stream.prev = stream.next) {
- case 0:
- return stream.next = 2, self.db.indexes.where("name").equals(id).count();
- case 2:
- if (!stream.sent) {
- /** @type {number} */
- stream.next = 4;
- break;
- }
- return stream.abrupt("return");
- case 4:
- offset = self.reader.offset;
- /** @type {number} */
- retValue = 0;
- game = self.game;
- self.game = self.stubGame;
- self.game.stats = new dom.default(self.game);
- self.playbackClients([null, null, null]);
- case 8:
- return stream.next = 11, self.reader.read();
- case 11:
- if (input = stream.sent, input.byteLength) {
- /** @type {number} */
- stream.next = 14;
- break;
- }
- return stream.abrupt("break", 39);
- case 14:
- return retValue = self.playback(input).next().value, stream.next = 17, self.db.indexes.add({
- name : id,
- offset : offset,
- time : retValue,
- clients : self.stringifyClients(),
- stats : self.objectifyStats("rolling")
- });
- case 17:
- offset = self.reader.offset;
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- l = false;
- t0 = void 0;
- /** @type {number} */
- stream.prev = 21;
- tree = self.playback(input)[Symbol.iterator]();
- for (;!(callback2 = (node = tree.next()).done);callback2 = true) {
- retValue = node.value;
- }
- /** @type {number} */
- stream.next = 29;
- break;
- case 25:
- /** @type {number} */
- stream.prev = 25;
- stream.t0 = stream.catch(21);
- /** @type {boolean} */
- l = true;
- t0 = stream.t0;
- case 29:
- /** @type {number} */
- stream.prev = 29;
- /** @type {number} */
- stream.prev = 30;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 32:
- if (stream.prev = 32, !l) {
- /** @type {number} */
- stream.next = 35;
- break;
- }
- throw t0;;
- case 35:
- return stream.finish(32);
- case 36:
- return stream.finish(29);
- case 37:
- /** @type {number} */
- stream.next = 8;
- break;
- case 39:
- return stream.next = 41, self.db.indexes.add({
- name : id,
- offset : offset,
- time : retValue
- });
- case 41:
- self.game = game;
- case 42:
- ;
- case "end":
- return stream.stop();
- }
- }
- }, init, self, [[21, 25, 29, 37], [30, , 32, 36]]);
- }))(), current.next = 6, this.playbackEnd;
- case 6:
- /** @type {null} */
- this.playbackEnd = null;
- case 7:
- ;
- case "end":
- return current.stop();
- }
- }
- }, init, this);
- }));
- return f2;
- }()
- }, {
- key : "startPlayback",
- value : function() {
- /**
- * @param {?} vec0
- * @param {?} proxyObj
- * @param {?} models
- * @return {?}
- */
- function add(vec0, proxyObj, models) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function next(body, d, cb) {
- var start;
- var iterator;
- var s;
- var msg;
- var callback2;
- var c;
- var is;
- var tree;
- var _ref;
- var data;
- var _ref1;
- var y;
- var l;
- var dirname;
- var cell;
- var elem;
- var e;
- var that = this;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.next = 2, this.startIndex(body);
- case 2:
- if (this.reader) {
- /** @type {number} */
- self.next = 4;
- break;
- }
- return self.abrupt("return");
- case 4:
- return self.next = 6, this.db.indexes.where("name").equals(body).and(function(e) {
- var t = e.time;
- return t < d;
- }).count();
- case 6:
- return start = self.sent, self.next = 9, this.db.indexes.where("name").equals(body).sortBy("offset");
- case 9:
- /** @type {number} */
- self.t0 = Math.max(start - 1, 0);
- /** @type {number} */
- self.t1 = -1;
- iterator = self.sent.slice(self.t0, self.t1);
- s = void 0;
- msg = this.game;
- this.game = this.stubGame;
- this.game.stats = new dom.default(this.game);
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- c = false;
- is = void 0;
- /** @type {number} */
- self.prev = 18;
- tree = iterator[Symbol.iterator]();
- case 20:
- if (callback2 = (_ref = tree.next()).done) {
- /** @type {number} */
- self.next = 63;
- break;
- }
- return data = _ref.value, this.game != msg && (this.reader.seek(data.offset), this.playbackClients(this.parseClients(data.clients)), Object.assign(this.game.stats, data.stats)), _ref1 = true, y = false, l = void 0, self.prev = 26, dirname = regeneratorRuntime.mark(function end() {
- var e;
- var callback2;
- var a;
- var t0;
- var tree;
- var parsed;
- var port;
- var _ref1;
- var h;
- var is;
- var cell;
- var _ref;
- var data;
- var foundHelper;
- var g;
- var t1;
- var c;
- var ui;
- var prev;
- var k;
- var backoff;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- if (e = elem.value, !(e < d)) {
- /** @type {number} */
- self.next = 3;
- break;
- }
- return self.abrupt("return", "continue");
- case 3:
- if (that.game == msg) {
- /** @type {number} */
- self.next = 72;
- break;
- }
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- a = false;
- t0 = void 0;
- /** @type {number} */
- self.prev = 7;
- tree = msg.clients[Symbol.iterator]();
- for (;!(callback2 = (parsed = tree.next()).done);callback2 = true) {
- port = parsed.value;
- port.disconnect();
- }
- /** @type {number} */
- self.next = 15;
- break;
- case 11:
- /** @type {number} */
- self.prev = 11;
- self.t0 = self.catch(7);
- /** @type {boolean} */
- a = true;
- t0 = self.t0;
- case 15:
- /** @type {number} */
- self.prev = 15;
- /** @type {number} */
- self.prev = 16;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 18:
- if (self.prev = 18, !a) {
- /** @type {number} */
- self.next = 21;
- break;
- }
- throw t0;;
- case 21:
- return self.finish(18);
- case 22:
- return self.finish(15);
- case 23:
- /** @type {boolean} */
- _ref1 = true;
- /** @type {boolean} */
- h = false;
- is = void 0;
- /** @type {number} */
- self.prev = 26;
- cell = that.game.clients[Symbol.iterator]();
- case 28:
- if (_ref1 = (_ref = cell.next()).done) {
- /** @type {number} */
- self.next = 54;
- break;
- }
- data = _ref.value;
- data.game = msg;
- data.animate(1);
- /** @type {boolean} */
- foundHelper = true;
- /** @type {boolean} */
- g = false;
- t1 = void 0;
- /** @type {number} */
- self.prev = 35;
- c = data.bucket.values()[Symbol.iterator]();
- for (;!(foundHelper = (ui = c.next()).done);foundHelper = true) {
- prev = ui.value;
- prev.animate(1);
- }
- /** @type {number} */
- self.next = 43;
- break;
- case 39:
- /** @type {number} */
- self.prev = 39;
- self.t1 = self.catch(35);
- /** @type {boolean} */
- g = true;
- t1 = self.t1;
- case 43:
- /** @type {number} */
- self.prev = 43;
- /** @type {number} */
- self.prev = 44;
- if (!foundHelper) {
- if (c.return) {
- c.return();
- }
- }
- ;
- case 46:
- if (self.prev = 46, !g) {
- /** @type {number} */
- self.next = 49;
- break;
- }
- throw t1;;
- case 49:
- return self.finish(46);
- case 50:
- return self.finish(43);
- case 51:
- /** @type {boolean} */
- _ref1 = true;
- /** @type {number} */
- self.next = 28;
- break;
- case 54:
- /** @type {number} */
- self.next = 60;
- break;
- case 56:
- /** @type {number} */
- self.prev = 56;
- self.t2 = self.catch(26);
- /** @type {boolean} */
- h = true;
- is = self.t2;
- case 60:
- /** @type {number} */
- self.prev = 60;
- /** @type {number} */
- self.prev = 61;
- if (!_ref1) {
- if (cell.return) {
- cell.return();
- }
- }
- ;
- case 63:
- if (self.prev = 63, !h) {
- /** @type {number} */
- self.next = 66;
- break;
- }
- throw is;;
- case 66:
- return self.finish(63);
- case 67:
- return self.finish(60);
- case 68:
- that.game.stats.game = msg;
- for (k in that.game) {
- if ("ui" != k) {
- if ("chat" != k) {
- if ("onUpdate" != k) {
- msg[k] = that.game[k];
- }
- }
- }
- }
- that.game = msg;
- /** @type {number} */
- s = Date.now();
- case 72:
- if (backoff = e - d - (Date.now() - s), !(backoff > 0)) {
- /** @type {number} */
- self.next = 76;
- break;
- }
- return self.next = 76, new Promise(function(fnc) {
- return setTimeout(fnc, backoff);
- });
- case 76:
- if (cb && cb(e), that.reader) {
- /** @type {number} */
- self.next = 79;
- break;
- }
- return self.abrupt("return", {
- v : void 0
- });
- case 79:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, that, [[7, 11, 15, 23], [16, , 18, 22], [26, 56, 60, 68], [35, 39, 43, 51], [44, , 46, 50], [61, , 63, 67]]);
- }), self.t2 = this, self.next = 31, this.reader.read();
- case 31:
- self.t3 = self.sent;
- self.t4 = Symbol.iterator;
- cell = self.t2.playback.call(self.t2, self.t3)[self.t4]();
- case 34:
- if (_ref1 = (elem = cell.next()).done) {
- /** @type {number} */
- self.next = 46;
- break;
- }
- return self.delegateYield(dirname(), "t5", 36);
- case 36:
- e = self.t5;
- self.t6 = e;
- /** @type {number} */
- self.next = "continue" === self.t6 ? 40 : 41;
- break;
- case 40:
- return self.abrupt("continue", 43);
- case 41:
- if ("object" !== ("undefined" == typeof e ? "undefined" : objectToString(e))) {
- /** @type {number} */
- self.next = 43;
- break;
- }
- return self.abrupt("return", e.v);
- case 43:
- /** @type {boolean} */
- _ref1 = true;
- /** @type {number} */
- self.next = 34;
- break;
- case 46:
- /** @type {number} */
- self.next = 52;
- break;
- case 48:
- /** @type {number} */
- self.prev = 48;
- self.t7 = self.catch(26);
- /** @type {boolean} */
- y = true;
- l = self.t7;
- case 52:
- /** @type {number} */
- self.prev = 52;
- /** @type {number} */
- self.prev = 53;
- if (!_ref1) {
- if (cell.return) {
- cell.return();
- }
- }
- ;
- case 55:
- if (self.prev = 55, !y) {
- /** @type {number} */
- self.next = 58;
- break;
- }
- throw l;;
- case 58:
- return self.finish(55);
- case 59:
- return self.finish(52);
- case 60:
- /** @type {boolean} */
- callback2 = true;
- /** @type {number} */
- self.next = 20;
- break;
- case 63:
- /** @type {number} */
- self.next = 69;
- break;
- case 65:
- /** @type {number} */
- self.prev = 65;
- self.t8 = self.catch(18);
- /** @type {boolean} */
- c = true;
- is = self.t8;
- case 69:
- /** @type {number} */
- self.prev = 69;
- /** @type {number} */
- self.prev = 70;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 72:
- if (self.prev = 72, !c) {
- /** @type {number} */
- self.next = 75;
- break;
- }
- throw is;;
- case 75:
- return self.finish(72);
- case 76:
- return self.finish(69);
- case 77:
- ;
- case "end":
- return self.stop();
- }
- }
- }, next, this, [[18, 65, 69, 77], [26, 48, 52, 60], [53, , 55, 59], [70, , 72, 76]]);
- }));
- return add;
- }()
- }, {
- key : "add",
- value : function() {
- /**
- * @param {?} vec0
- * @param {?} proxyObj
- * @return {?}
- */
- function add(vec0, proxyObj) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function init(module, task) {
- var cacheKey;
- var name;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.next = 2, this.db.files.get(module);
- case 2:
- if (!self.sent) {
- /** @type {number} */
- self.next = 14;
- break;
- }
- cacheKey = void 0;
- /** @type {number} */
- name = 1;
- case 5:
- return cacheKey = module + "." + name, self.next = 8, this.db.files.get(cacheKey);
- case 8:
- if (self.sent) {
- /** @type {number} */
- self.next = 10;
- break;
- }
- return self.abrupt("break", 13);
- case 10:
- name++;
- /** @type {number} */
- self.next = 5;
- break;
- case 13:
- module = cacheKey;
- case 14:
- return self.next = 16, this.db.files.add({
- name : module,
- data : task
- });
- case 16:
- ;
- case "end":
- return self.stop();
- }
- }
- }, init, this);
- }));
- return add;
- }()
- }, {
- key : "delete",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function end(which) {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return current.next = 2, this.stop();
- case 2:
- return current.next = 4, this.db.files.delete(which);
- case 4:
- return current.next = 6, this.db.indexes.where("name").equals(which).delete();
- case 6:
- ;
- case "end":
- return current.stop();
- }
- }
- }, end, this);
- }));
- return f2;
- }()
- }, {
- key : "stop",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = proxy(regeneratorRuntime.mark(function end() {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- if (!this.reader) {
- /** @type {number} */
- current.next = 8;
- break;
- }
- if (current.t0 = this.playbackEnd, !current.t0) {
- /** @type {number} */
- current.next = 5;
- break;
- }
- return current.next = 5, this.playbackEnd;
- case 5:
- /** @type {null} */
- this.reader = null;
- /** @type {number} */
- current.next = 16;
- break;
- case 8:
- if (!this.writer) {
- /** @type {number} */
- current.next = 16;
- break;
- }
- if (current.t1 = this.recordEnd, !current.t1) {
- /** @type {number} */
- current.next = 13;
- break;
- }
- return current.next = 13, this.recordEnd;
- case 13:
- return current.next = 15, this.writer.flush();
- case 15:
- /** @type {null} */
- this.writer = null;
- case 16:
- this.prevClientIds.clear();
- this.clientIds.clear();
- this.idClients.clear();
- case 19:
- ;
- case "end":
- return current.stop();
- }
- }
- }, end, this);
- }));
- return view;
- }()
- }, {
- key : "createSocket",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- var listener = this.reader ? new Vector : new Node(object, object.server, this);
- return listener;
- }
- }]), init;
- }(), ctx.RecordSocket = function() {
- /**
- * @param {Object} client
- * @param {string} allBindingsAccessor
- * @param {Object} depMaps
- * @return {undefined}
- */
- function init(client, allBindingsAccessor, depMaps) {
- var self = this;
- supr(this, init);
- /** @type {Object} */
- this.client = client;
- /** @type {Object} */
- this.recorder = depMaps;
- this.bufferWriter = new definitions.BufferWriter;
- /** @type {WebSocket} */
- this.socket = new WebSocket("ws://" + allBindingsAccessor);
- /** @type {string} */
- this.socket.binaryType = "arraybuffer";
- /** @type {null} */
- this.onopen = null;
- /** @type {null} */
- this.onmessage = null;
- /** @type {null} */
- this.onclose = null;
- /** @type {null} */
- this.onerror = null;
- /**
- * @return {undefined}
- */
- this.socket.onopen = function() {
- if (self.recorder.writer) {
- self.record(1);
- }
- if (self.onopen) {
- self.onopen();
- }
- };
- /**
- * @param {Event} msg
- * @return {undefined}
- */
- this.socket.onmessage = function(msg) {
- if (self.recorder.writer) {
- self.record(msg.data instanceof ArrayBuffer ? 2 : 7, msg.data);
- }
- if (self.onmessage) {
- self.onmessage(msg);
- }
- };
- /**
- * @return {undefined}
- */
- this.socket.onclose = function() {
- if (self.recorder.writer) {
- self.record(3);
- }
- if (self.onclose) {
- self.onclose();
- }
- };
- /**
- * @return {undefined}
- */
- this.socket.onerror = function() {
- if (self.recorder.writer) {
- self.record(4);
- }
- if (self.onerror) {
- self.onerror();
- }
- };
- }
- return walk(init, [{
- key : "record",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- this.bufferWriter.reset();
- this.bufferWriter.writeUint8(object);
- this.bufferWriter.writeUint8(this.recorder.clientIds.get(this.client));
- if (expectedNumberOfNonCommentArgs) {
- if (expectedNumberOfNonCommentArgs instanceof ArrayBuffer) {
- this.bufferWriter.writeUint16(expectedNumberOfNonCommentArgs.byteLength);
- this.bufferWriter.writeBytes(expectedNumberOfNonCommentArgs);
- } else {
- this.bufferWriter.writeString(expectedNumberOfNonCommentArgs);
- }
- }
- this.recorder.record(this.bufferWriter.build());
- }
- }, {
- key : "send",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (this.recorder.writer) {
- this.record(object instanceof ArrayBuffer ? 5 : 8, object);
- }
- this.socket.send(object);
- }
- }, {
- key : "close",
- /**
- * @return {undefined}
- */
- value : function() {
- if (this.recorder.writer) {
- this.record(6);
- }
- this.socket.close();
- }
- }, {
- key : "readyState",
- /**
- * @return {?}
- */
- get : function() {
- return this.socket.readyState;
- }
- }]), init;
- }());
- var Vector = ctx.PlaybackSocket = function() {
- /**
- * @return {undefined}
- */
- function init() {
- supr(this, init);
- /** @type {null} */
- this.onopen = null;
- /** @type {null} */
- this.onmessage = null;
- /** @type {null} */
- this.onclose = null;
- /** @type {null} */
- this.onerror = null;
- }
- return walk(init, [{
- key : "playback",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- switch(object) {
- case 1:
- if (this.onopen) {
- this.onopen();
- }
- break;
- case 2:
- ;
- case 7:
- if (this.onmessage) {
- this.onmessage({
- data : expectedNumberOfNonCommentArgs
- });
- }
- break;
- case 3:
- if (this.onclose) {
- this.onclose();
- }
- break;
- case 4:
- if (this.onerror) {
- this.onerror();
- }
- ;
- }
- }
- }, {
- key : "close",
- /**
- * @return {undefined}
- */
- value : function() {
- }
- }]), init;
- }();
- }, function(dataAndEvents, obj, deepDataAndEvents) {
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function proxy(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} object
- * @return {undefined}
- */
- function stub(dataAndEvents, object) {
- if (!(dataAndEvents instanceof object)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- Object.defineProperty(obj, "__esModule", {
- value : true
- });
- /** @type {function (?): ?} */
- var cb = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(edge) {
- return typeof edge;
- } : function(a) {
- return a && ("function" == typeof Symbol && (a.constructor === Symbol && a !== Symbol.prototype)) ? "symbol" : typeof a;
- };
- var onErrorFnPrev = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var value = function() {
- /**
- * @param {string} f
- * @return {undefined}
- */
- function error(f) {
- stub(this, error);
- /** @type {string} */
- this.normalize = f;
- this.cache = new Map;
- }
- return onErrorFnPrev(error, [{
- key : "download",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {(Object|number)} target
- * @return {?}
- */
- value : function(object, expectedNumberOfNonCommentArgs, target) {
- var doc = this;
- var cacheKey = object + "," + expectedNumberOfNonCommentArgs + "," + target;
- var cached = this.cache.get(cacheKey);
- return void 0 !== cached ? cached : (proxy(regeneratorRuntime.mark(function end() {
- var codeSegments;
- var i;
- var value;
- var e;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return doc.cache.set(cacheKey, null), self.next = 3, doc.normalize(object, expectedNumberOfNonCommentArgs, target);
- case 3:
- if (target = self.sent.skin) {
- /** @type {number} */
- self.next = 7;
- break;
- }
- return doc.cache.set(cacheKey, false), self.abrupt("return");
- case 7:
- /** @type {Array} */
- codeSegments = ["Anonymous", null];
- /** @type {number} */
- i = 0;
- case 9:
- if (!(i < codeSegments.length)) {
- /** @type {number} */
- self.next = 23;
- break;
- }
- return value = codeSegments[i], self.prev = 11, self.delegateYield(regeneratorRuntime.mark(function end() {
- var image;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return image = new Image, image.crossOrigin = value, image.src = target, self.next = 5, new Promise(function(handleComplete, handleError) {
- /** @type {Function} */
- image.onload = handleComplete;
- /** @type {Function} */
- image.onerror = handleError;
- });
- case 5:
- if (self.t0 = doc.cache, self.t1 = cacheKey, !value) {
- /** @type {number} */
- self.next = 13;
- break;
- }
- return self.next = 10, createImageBitmap(image);
- case 10:
- self.t2 = self.sent;
- /** @type {number} */
- self.next = 14;
- break;
- case 13:
- self.t2 = image;
- case 14:
- return self.t3 = self.t2, self.t0.set.call(self.t0, self.t1, self.t3), self.abrupt("return", {
- v : void 0
- });
- case 17:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, doc);
- })(), "t0", 13);
- case 13:
- if (e = self.t0, "object" !== ("undefined" == typeof e ? "undefined" : cb(e))) {
- /** @type {number} */
- self.next = 16;
- break;
- }
- return self.abrupt("return", e.v);
- case 16:
- /** @type {number} */
- self.next = 20;
- break;
- case 18:
- /** @type {number} */
- self.prev = 18;
- self.t1 = self.catch(11);
- case 20:
- i++;
- /** @type {number} */
- self.next = 9;
- break;
- case 23:
- doc.cache.set(cacheKey, false);
- case 24:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, doc, [[11, 18]]);
- }))(), null);
- }
- }]), error;
- }();
- obj.default = value;
- }, function(dataAndEvents, object, require) {
- /**
- * @param {Function} value
- * @return {?}
- */
- function $(value) {
- return value && value.__esModule ? value : {
- /** @type {Function} */
- default : value
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} putativeSpy
- * @return {undefined}
- */
- function comparator(dataAndEvents, putativeSpy) {
- if (!(dataAndEvents instanceof putativeSpy)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} fn
- * @return {?}
- */
- function apply(dataAndEvents, fn) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!fn || "object" != typeof fn && "function" != typeof fn ? dataAndEvents : fn;
- }
- /**
- * @param {Function} value
- * @param {Object} b
- * @return {undefined}
- */
- function wrap(value, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- value.prototype = Object.create(b && b.prototype, {
- constructor : {
- /** @type {Function} */
- value : value,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(value, b);
- } else {
- /** @type {Object} */
- value.__proto__ = b;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var name;
- var fn;
- var scope;
- var callback = Object.assign || function(opt_attributes) {
- /** @type {number} */
- var i = 1;
- for (;i < arguments.length;i++) {
- var iterable = arguments[i];
- var key;
- for (key in iterable) {
- if (Object.prototype.hasOwnProperty.call(iterable, key)) {
- opt_attributes[key] = iterable[key];
- }
- }
- }
- return opt_attributes;
- };
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var comment = require(46);
- var item = $(comment);
- var json = require(54);
- var obj = $(json);
- var nodes = require(0);
- var node = $(nodes);
- var selector = require(12);
- var out = $(selector);
- var config = require(47);
- var opt = $(config);
- var Menu = require(55);
- var defaults = require(53);
- var Block = require(2);
- var element = require(1);
- var type = (0, element.observer)(name = function(_super) {
- /**
- * @param {?} obj
- * @return {?}
- */
- function value(obj) {
- comparator(this, value);
- var self = apply(this, (value.__proto__ || Object.getPrototypeOf(value)).call(this, obj));
- return(0, Block.extendObservable)(self.props.value, {
- pId : 0,
- name : "",
- color : "#fff"
- }), window.addEventListener("contextmenu", function(evt) {
- evt.preventDefault();
- var p = obj.findCell(evt.clientX, evt.clientY);
- if (null != p) {
- if (0 != p.pId) {
- self.refs.menu.handleShow({
- detail : {
- id : "invite",
- position : {
- x : evt.clientX,
- y : evt.clientY
- },
- target : {
- dataset : {
- pid : p.pId,
- name : p.name,
- color : p.color
- }
- }
- }
- });
- }
- }
- }), self;
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "handleShow",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var o = object.detail.target.dataset;
- Object.assign(this.props.value, {
- pId : parseInt(o.pid),
- name : o.name || "An unnamed cell",
- color : o.color
- });
- }
- }, {
- key : "handleInvite",
- /**
- * @return {undefined}
- */
- value : function() {
- this.props.getClient().sendPartyAction(0, this.props.value.pId);
- }
- }, {
- key : "handleWhisper",
- /**
- * @return {undefined}
- */
- value : function() {
- this.props.onChat("/w " + this.props.value.pId + " " + this.props.chat);
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return node.default.createElement(Menu.ContextMenu, {
- ref : "menu",
- id : "invite",
- onShow : this.handleShow.bind(this)
- }, node.default.createElement(Menu.MenuItem, {
- disabled : "true"
- }, node.default.createElement("span", {
- className : "name",
- style : {
- color : this.props.value.color
- }
- }, this.props.value.name)), node.default.createElement(Menu.MenuItem, {
- onClick : this.handleInvite.bind(this)
- }, node.default.createElement("span", null, "Invite")), node.default.createElement(Menu.MenuItem, {
- onClick : this.handleWhisper.bind(this)
- }, node.default.createElement("span", null, "Whisper")));
- }
- }]), value;
- }(node.default.PureComponent)) || name;
- var tagToInsert = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return comparator(this, value), apply(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return null != this.props.name ? node.default.createElement("div", {
- className : "popup-container"
- }, node.default.createElement("div", {
- className : "popup ui-panel"
- }, node.default.createElement("div", {
- className : "popup-title"
- }, node.default.createElement("span", null, "Party Invite")), node.default.createElement("div", {
- className : "popup-text"
- }, node.default.createElement("span", {
- className : "name"
- }, this.props.name), " has invited you to a party."), node.default.createElement("div", {
- className : "popup-input"
- }, node.default.createElement("button", {
- className : "btn",
- onClick : this.props.onResponse.bind(this, true)
- }, "Accept"), node.default.createElement("button", {
- className : "btn",
- onClick : this.props.onResponse.bind(this, false)
- }, "Decline")))) : null;
- }
- }]), value;
- }(node.default.PureComponent);
- var fieldsString = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return comparator(this, value), apply(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return node.default.createElement("span", {
- className : "date"
- }, ("0" + this.props.date.getHours()).substr(-2), ":", ("0" + this.props.date.getMinutes()).substr(-2), "\u00a0");
- }
- }]), value;
- }(node.default.PureComponent);
- var createElement = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return comparator(this, value), apply(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var context = this.props;
- var j = context.pId;
- var prefix = context.name;
- var color = context.color;
- return node.default.createElement(Menu.ContextMenuTrigger, {
- id : "invite",
- attributes : {
- "data-pid" : j,
- "data-name" : prefix,
- "data-color" : color
- }
- }, node.default.createElement("span", {
- className : "name",
- style : {
- color : color
- }
- }, prefix));
- }
- }]), value;
- }(node.default.PureComponent);
- var nodeStr = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return comparator(this, value), apply(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- /** @type {number} */
- var e = 41;
- var file = this.props;
- var scripts = file.set;
- var size = file.size;
- var settings = file.sheetSize;
- var bShow = file.native;
- var root = file.forceSize;
- var val = file.backgroundImageFn;
- var filters = this.getData();
- var length = filters.unified;
- if (!length) {
- return null;
- }
- var gstyle = bShow ? callback({
- fontSize : size
- }, root && {
- display : "inline-block",
- width : size,
- height : size
- }) : {
- width : size,
- height : size,
- display : "inline-block",
- backgroundImage : "url(" + val(scripts, settings) + ")",
- backgroundSize : 100 * e + "%",
- backgroundPosition : this.getPosition()
- };
- return node.default.createElement("img", {
- alt : this.props.alt,
- onClick : this.handleClick.bind(this),
- onMouseEnter : this.handleOver.bind(this),
- onMouseLeave : this.handleLeave.bind(this),
- className : "emoji-mart-emoji",
- style : gstyle
- });
- }
- }]), value;
- }(defaults.Emoji);
- var Vector = function() {
- /**
- * @return {undefined}
- */
- function value() {
- comparator(this, value);
- this.special = {
- "-_-" : ":expressionless:",
- ":(" : ":slightly_frowning_face:",
- ":)" : ":slightly_smiling_face:",
- ":/" : ":confused:",
- ":'(" : ":cry:",
- ":d" : ":grinning:",
- ":o" : ":open_mouth:",
- ":p" : ":stuck_out_tongue:",
- ":|" : ":neutral_face:",
- ";)" : ":wink:",
- ";-;" : ":sob:",
- ";_;" : ":sob:",
- "<3" : ":heart:",
- ">:(" : ":angry:",
- "d:" : ":anguished:",
- xd : ":laughing:",
- xo : ":dizzy_face:"
- };
- /** @type {string} */
- var optsData = "";
- var nType;
- for (nType in this.special) {
- if (/^\w/.test(nType)) {
- optsData += "\\b";
- }
- optsData += (0, item.default)(nType);
- optsData += "(?=\\s|$)";
- optsData += "|";
- }
- optsData += ":\\S+?:";
- /** @type {RegExp} */
- this.regex = new RegExp("(" + optsData + ")", "i");
- }
- return lookupIterator(value, [{
- key : "convert",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- var sym = this;
- return object.split(this.regex).map(function(text) {
- /** @type {(Function|string)} */
- var raw = text;
- return raw.toLowerCase() in sym.special && (raw = sym.special[raw.toLowerCase()]), raw = raw.match(/^:(\S+?):$/), raw ? node.default.createElement(nodeStr, {
- emoji : raw[1],
- alt : text,
- size : "20",
- set : "twitter",
- sheetSize : "32"
- }) : text;
- });
- }
- }]), value;
- }();
- var prototype = (fn = (0, element.inject)("chat", "options", "messagesInv"), fn(scope = (0, element.observer)(scope = function(_super) {
- /**
- * @param {?} newVal
- * @return {?}
- */
- function value(newVal) {
- comparator(this, value);
- var self = apply(this, (value.__proto__ || Object.getPrototypeOf(value)).call(this, newVal));
- return(0, Block.extendObservable)(self.props.chat, {
- messages : [],
- input : "",
- emoji : false,
- invites : [],
- inviteMenu : {}
- }), self.inviteMsgs = ["\u9019\u5f88\u6709\u8da3", "\u65e5\u51fa\u4f1a\u8bae", "\u83b7\u5f97\u53ef\u7528\u6027", "\u76ae\u5e26\u4e8b\u4ef6", "\u9884\u89c8\u767e\u5206\u6bd4"], self.emojify = new Vector, window.addEventListener("click", function() {
- return self.props.chat.emoji = false;
- }), window.addEventListener("mousedown", self.handleMouseDown.bind(self)), window.addEventListener("keydown", self.handleKeyDown.bind(self)), window.addEventListener("keyup", self.handleKeyUp.bind(self)), self;
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "add",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var bodyHeight = out.default.render(object, this.refs.msgHeight).offsetHeight;
- this.props.chat.messages.push({
- msg : object,
- height : bodyHeight
- });
- }
- }, {
- key : "system",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.add(node.default.createElement("div", {
- className : "msg",
- key : this.props.chat.messages.length
- }, node.default.createElement(fieldsString, {
- date : new Date
- }), node.default.createElement("span", {
- className : "context"
- }, "[System]\u00a0"), node.default.createElement("span", {
- className : "system"
- }, this.emojify.convert(object))));
- }
- }, {
- key : "chat",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {string} event
- * @param {string} method
- * @param {?} c
- * @param {string} deepDataAndEvents
- * @param {?} str
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs, event, method, c, deepDataAndEvents, str) {
- var o = arguments.length > 7 && (void 0 !== arguments[7] && arguments[7]);
- if (this.inviteMsgs.includes(deepDataAndEvents)) {
- /** @type {string} */
- deepDataAndEvents = "Could you please invite me?";
- /** @type {boolean} */
- o = true;
- }
- if (o) {
- if (!this.props.options.hideChatNotify) {
- this.refs.notify.info("", node.default.createElement("span", null, method, ": ", this.emojify.convert(deepDataAndEvents)), 15E3);
- }
- }
- this.add(node.default.createElement("div", {
- className : "msg",
- key : this.props.chat.messages.length
- }, node.default.createElement(fieldsString, {
- date : new Date
- }), object && node.default.createElement("span", {
- className : "context",
- style : {
- color : expectedNumberOfNonCommentArgs
- }
- }, "[", object, "]\u00a0"), node.default.createElement(createElement, {
- pId : event,
- name : method,
- color : c
- }), node.default.createElement("span", {
- className : "colon"
- }, ":\u00a0"), node.default.createElement("span", {
- style : {
- color : str
- }
- }, this.emojify.convert(deepDataAndEvents))));
- }
- }, {
- key : "whisper",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @param {?} str
- * @param {string} triggerRoute
- * @param {string} file
- * @param {string} deepDataAndEvents
- * @param {?} until
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs, str, triggerRoute, file, deepDataAndEvents, until) {
- if (!this.props.options.hideChatNotify) {
- this.refs.notify.info("", node.default.createElement("span", null, expectedNumberOfNonCommentArgs, " > ", file, ": ", this.emojify.convert(until)), 15E3);
- }
- this.add(node.default.createElement("div", {
- className : "msg",
- key : this.props.chat.messages.length
- }, node.default.createElement(fieldsString, {
- date : new Date
- }), node.default.createElement(createElement, {
- pId : object,
- name : expectedNumberOfNonCommentArgs,
- color : str
- }), node.default.createElement("span", null, "\u00a0>\u00a0"), node.default.createElement(createElement, {
- pId : triggerRoute,
- name : file,
- color : deepDataAndEvents
- }), node.default.createElement("span", null, ":\u00a0"), node.default.createElement("span", null, this.emojify.convert(until))));
- }
- }, {
- key : "handleInviteResponse",
- /**
- * @param {number} object
- * @param {number} expectedNumberOfNonCommentArgs
- * @return {undefined}
- */
- value : function(object, expectedNumberOfNonCommentArgs) {
- object.sendInviteResponse(expectedNumberOfNonCommentArgs);
- this.props.chat.invites.pop();
- }
- }, {
- key : "parsePId",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- /** @type {number} */
- var value = parseInt(object);
- return isNaN(value) ? this.system("Invalid player id.") : value;
- }
- }, {
- key : "parseCommand",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var a = object.split(" ");
- var next = a[0];
- switch(this.props.chat.input = "", next) {
- case "/whisper":
- ;
- case "/w":
- var r20 = this.parsePId(a[1]);
- if (r20) {
- object = object.substr(a[0].length + a[1].length + 2);
- this.props.getClient().sendWhisper(r20, object);
- /** @type {string} */
- this.props.chat.input = "/w " + r20 + " ";
- }
- break;
- case "/reply":
- ;
- case "/r":
- object = object.substr(a[0].length + 1);
- this.props.getClient().sendWhisper(0, object);
- /** @type {string} */
- this.props.chat.input = "/r ";
- break;
- case "/party":
- ;
- case "/p":
- object = object.substr(a[0].length + 1);
- this.props.getClient().sendChat(object, 1);
- /** @type {string} */
- this.props.chat.input = "/p ";
- break;
- case "/invite":
- ;
- case "/i":
- var restoreScript = this.parsePId(a[1]);
- if (restoreScript) {
- this.props.getClient().sendPartyAction(0, restoreScript);
- }
- break;
- case "/leave":
- this.props.getClient().sendPartyAction(3, 0);
- /** @type {string} */
- this.props.chat.input = "";
- break;
- case "/promote":
- var rreturn = this.parsePId(a[1]);
- if (rreturn) {
- this.props.getClient().sendPartyAction(2, rreturn);
- }
- break;
- case "/kick":
- var udataCur = this.parsePId(a[1]);
- if (udataCur) {
- this.props.getClient().sendPartyAction(1, udataCur);
- }
- break;
- default:
- this.system("Invalid command!");
- }
- }
- }, {
- key : "sendChat",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (0 != object.length) {
- if (object.startsWith("/")) {
- this.parseCommand(object);
- } else {
- this.props.getClient().sendChat(object, 0);
- /** @type {string} */
- this.props.chat.input = "";
- }
- }
- }
- }, {
- key : "handleChange",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.props.chat.input = object.target.value;
- }
- }, {
- key : "handleActionDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var value = this.props.messagesInv.get(object);
- if (value) {
- this.sendChat("/p " + value);
- }
- }
- }, {
- key : "handleMouseDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- this.handleActionDown(object.button);
- }
- }, {
- key : "handleKeyDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if ("INPUT" != document.activeElement.tagName && (!object.ctrlKey && !object.altKey)) {
- var r20 = 1 == object.key.length ? object.key.toLowerCase() : object.key;
- this.handleActionDown(r20);
- }
- }
- }, {
- key : "handleKeyUp",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- var Enter = 1 == object.key.length ? object.key.toLowerCase() : object.key;
- if ("Enter" == Enter) {
- if (object.target == this.refs.input) {
- this.sendChat(this.props.chat.input);
- this.refs.input.blur();
- } else {
- this.refs.input.focus();
- }
- object.stopPropagation();
- }
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var scope;
- var stops = this;
- return scope = this, node.default.createElement("div", {
- className : "chat-container"
- }, node.default.createElement("div", {
- className : "chat-notify-container"
- }, node.default.createElement(opt.default, {
- ref : "notify"
- }), node.default.createElement("div", {
- className : "chat ui-panel",
- style : {
- display : this.props.options.hideChat ? "none" : ""
- }
- }, node.default.createElement(obj.default, {
- containerHeight : 220,
- displayBottomUpwards : "displayBottomUpwards",
- elementHeight : this.props.chat.messages.map(function(q) {
- var l = q.height;
- return l;
- })
- }, this.props.chat.messages.map(function(err) {
- var msg = err.msg;
- return msg;
- })), node.default.createElement("div", {
- className : "chat-input"
- }, node.default.createElement("input", {
- ref : "input",
- autocomplete : "off",
- value : this.props.chat.input,
- onChange : this.handleChange.bind(this),
- onKeyUp : this.handleKeyUp.bind(this)
- }), node.default.createElement("img", {
- className : "emoji-input",
- src : "//unpkg.com/twemoji@2.2.5/2/svg/1f603.svg",
- /**
- * @param {Object} event
- * @return {undefined}
- */
- onClick : function(event) {
- /** @type {boolean} */
- scope.props.chat.emoji = !scope.props.chat.emoji;
- event.stopPropagation();
- }
- }), this.props.chat.emoji && (scope = this, node.default.createElement("div", {
- className : "emoji-picker",
- /**
- * @param {Object} event
- * @return {?}
- */
- onClick : function(event) {
- return event.stopPropagation();
- }
- }, node.default.createElement(defaults.Picker, {
- set : "twitter",
- sheetSize : "32",
- /**
- * @param {Object} options
- * @return {undefined}
- */
- onClick : function(options) {
- /** @type {boolean} */
- scope.props.chat.emoji = false;
- scope.props.chat.input += options.colons;
- scope.refs.input.focus();
- }
- }))))), node.default.createElement("div", {
- className : "chat msg-height",
- ref : "msgHeight"
- })), node.default.createElement(type, {
- value : this.props.chat.inviteMenu,
- chat : this.props.chat.input,
- getClient : this.props.getClient,
- findCell : this.props.findCell,
- /**
- * @param {string} s
- * @return {undefined}
- */
- onChat : function(s) {
- /** @type {string} */
- scope.props.chat.input = s;
- scope.refs.input.focus();
- }
- }), this.props.chat.invites.map(function(player) {
- var client = player.client;
- var name = player.name;
- return node.default.createElement(tagToInsert, {
- name : name,
- onResponse : stops.handleInviteResponse.bind(stops, client)
- });
- }));
- }
- }]), value;
- }(node.default.PureComponent)) || scope) || scope);
- object.default = prototype;
- }, function(dataAndEvents, obj, valueAccessor) {
- /**
- * @param {string} options
- * @return {?}
- */
- function defaults(options) {
- return options && options.__esModule ? options : {
- default : options
- };
- }
- /**
- * @param {Object} obj
- * @param {?} name
- * @param {string} value
- * @return {?}
- */
- function prop(obj, name, value) {
- return name in obj ? Object.defineProperty(obj, name, {
- value : value,
- enumerable : true,
- configurable : true,
- writable : true
- }) : obj[name] = value, obj;
- }
- /**
- * @param {number} results
- * @return {?}
- */
- function makeArray(results) {
- if (Array.isArray(results)) {
- /** @type {number} */
- var i = 0;
- /** @type {Array} */
- var result = Array(results.length);
- for (;i < results.length;i++) {
- result[i] = results[i];
- }
- return result;
- }
- return Array.from(results);
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} fun
- * @return {undefined}
- */
- function bind(dataAndEvents, fun) {
- if (!(dataAndEvents instanceof fun)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} obj
- * @return {?}
- */
- function isRegExp(dataAndEvents, obj) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!obj || "object" != typeof obj && "function" != typeof obj ? dataAndEvents : obj;
- }
- /**
- * @param {Object} self
- * @param {Object} b
- * @return {undefined}
- */
- function f(self, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- self.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : self,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(self, b);
- } else {
- /** @type {Object} */
- self.__proto__ = b;
- }
- }
- }
- Object.defineProperty(obj, "__esModule", {
- value : true
- });
- obj.default = void 0;
- var ok;
- var x;
- var iterator = function() {
- /**
- * @param {Arguments} object
- * @param {number} deepDataAndEvents
- * @return {?}
- */
- function clone(object, deepDataAndEvents) {
- /** @type {Array} */
- var res = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var next;
- var self = object[Symbol.iterator]();
- for (;!(callback2 = (next = self.next()).done) && (res.push(next.value), !deepDataAndEvents || res.length !== deepDataAndEvents);callback2 = true) {
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return res;
- }
- return function(which, deepDataAndEvents) {
- if (Array.isArray(which)) {
- return which;
- }
- if (Symbol.iterator in Object(which)) {
- return clone(which, deepDataAndEvents);
- }
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
- };
- }();
- var b = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var options = valueAccessor(0);
- var opts = defaults(options);
- var value = valueAccessor(2);
- var properties = valueAccessor(1);
- var tagToInsert = function(v2) {
- /**
- * @return {?}
- */
- function self() {
- return bind(this, self), isRegExp(this, (self.__proto__ || Object.getPrototypeOf(self)).apply(this, arguments));
- }
- return f(self, v2), b(self, [{
- key : "handleMouseDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (document.activeElement == this.refs.ref) {
- this.props.onChange(object.button);
- this.refs.ref.blur();
- object.stopPropagation();
- object.preventDefault();
- }
- }
- }, {
- key : "handleKeyDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if (document.activeElement == this.refs.ref) {
- this.props.onChange("Escape" == object.key ? null : 1 == object.key.length ? object.key.toLowerCase() : object.key);
- this.refs.ref.blur();
- object.stopPropagation();
- object.preventDefault();
- }
- }
- }, {
- key : "stringifyKey",
- /**
- * @param {number} object
- * @return {?}
- */
- value : function(object) {
- return "number" == typeof object ? ["Left click", "Middle click", "Right click"][object] : " " == object ? "Space" : object;
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement("div", {
- className : "key-picker",
- ref : "ref",
- tabIndex : "1",
- onMouseDown : this.handleMouseDown.bind(this),
- onKeyDown : this.handleKeyDown.bind(this)
- }, this.stringifyKey(this.props.value));
- }
- }]), self;
- }(opts.default.PureComponent);
- var id = (ok = (0, properties.inject)("keys", "messages", "keysInv", "messagesInv"), ok(x = (0, properties.observer)(x = function(v2) {
- /**
- * @param {?} err
- * @return {?}
- */
- function self(err) {
- bind(this, self);
- var that = isRegExp(this, (self.__proto__ || Object.getPrototypeOf(self)).call(this, err));
- /** @type {Array} */
- that.keys = [["Feed", "feed", "w"], ["Split", "split", " "], ["Double split", "doubleSplit", "q"], ["Triple split", "tripleSplit", null], ["Quad split", "quadSplit", "Shift"], ["Spectate top", "spectateTop", "q"]].concat(makeArray([]), [["Multibox switch", "multiboxSwitch", "Tab"]], makeArray([]), [["Horizontal linesplit", "horzLine", "["], ["Veritical linesplit", "vertLine", "]"], ["Hide food", "hideFood", "f"], ["Hide skins", "hideSkins", "g"], ["Hide enemy skins", "hideEnemySkins", "v"],
- ["Hide names", "hideNames", "n"], ["Hide chat", "hideChat", "x"], ["Change color", "changeColor", "m"]]);
- /** @type {Array} */
- var noArgs = [["1", "Tricksplit!"], ["2", "Fake tricksplit!"], ["3", "We need to run!"], ["4", "Split into me!"], ["5", "Need backup!"], ["6", "Enemy spotted!"], ["7", "Split on them!"], ["8", "Lol"], ["9", "#_#"], ["0", "My bad. Sorry for that"]];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var u = false;
- var bulk = void 0;
- try {
- var x;
- var tree = that.keys[Symbol.iterator]();
- for (;!(callback2 = (x = tree.next()).done);callback2 = true) {
- var key = iterator(x.value, 3);
- var rvar = (key[0], key[1]);
- var udataCur = key[2];
- (0, value.extendObservable)(that.props.keys, prop({}, rvar, udataCur));
- }
- } catch (fn) {
- /** @type {boolean} */
- u = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (u) {
- throw bulk;
- }
- }
- }
- return Object.assign(that.props.keys, JSON.parse(window.localStorage.getItem("keys") || "{}")), Array.prototype.push.apply(that.props.messages, JSON.parse(window.localStorage.getItem("messages") || "null") || noArgs), (0, value.observe)(that.props.keys, that.updateKeyInv.bind(that)), (0, value.observe)(that.props.messages, that.updateMsgInv.bind(that)), that.updateKeyInv(), that.updateMsgInv(), window.addEventListener("beforeunload", function() {
- window.localStorage.setItem("keys", JSON.stringify(that.props.keys));
- window.localStorage.setItem("messages", JSON.stringify(that.props.messages));
- }), that;
- }
- return f(self, v2), b(self, [{
- key : "updateKeyInv",
- /**
- * @return {undefined}
- */
- value : function() {
- this.props.keysInv.clear();
- var _key;
- for (_key in this.props.keys) {
- var key = this.props.keys[_key];
- if (!this.props.keysInv.has(key)) {
- this.props.keysInv.set(key, []);
- }
- this.props.keysInv.get(key).push(_key);
- }
- }
- }, {
- key : "updateMsgInv",
- /**
- * @return {undefined}
- */
- value : function() {
- this.props.messagesInv.clear();
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var t = false;
- var bulk = void 0;
- try {
- var x;
- var self = this.props.messages[Symbol.iterator]();
- for (;!(callback2 = (x = self.next()).done);callback2 = true) {
- var key = iterator(x.value, 2);
- var cacheKey = key[0];
- var pdataOld = key[1];
- this.props.messagesInv.set(cacheKey, pdataOld);
- }
- } catch (fn) {
- /** @type {boolean} */
- t = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (t) {
- throw bulk;
- }
- }
- }
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var self = this;
- return opts.default.createElement("div", {
- className : "keys"
- }, self.keys.map(function(keys) {
- return opts.default.createElement("div", {
- className : "key"
- }, opts.default.createElement(tagToInsert, {
- value : self.props.keys[keys[1]],
- /**
- * @param {string} thumb
- * @return {?}
- */
- onChange : function(thumb) {
- return self.props.keys[keys[1]] = thumb;
- }
- }), opts.default.createElement("span", null, keys[0]));
- }), self.props.messages.map(function(valueHash, key) {
- return opts.default.createElement("div", {
- className : "key"
- }, opts.default.createElement(tagToInsert, {
- value : valueHash[0],
- /**
- * @param {?} v
- * @return {?}
- */
- onChange : function(v) {
- return self.props.messages[key] = [v, valueHash[1]];
- }
- }), opts.default.createElement("input", {
- value : valueHash[1],
- /**
- * @param {Event} evt
- * @return {?}
- */
- onChange : function(evt) {
- return self.props.messages[key] = [valueHash[0], evt.target.value];
- }
- }));
- }));
- }
- }]), self;
- }(opts.default.PureComponent)) || x) || x);
- obj.default = id;
- }, function(dataAndEvents, object, require) {
- /**
- * @param {Function} type
- * @return {?}
- */
- function getOptions(type) {
- return type && type.__esModule ? type : {
- /** @type {Function} */
- default : type
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} right
- * @return {undefined}
- */
- function fn(dataAndEvents, right) {
- if (!(dataAndEvents instanceof right)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} deepDataAndEvents
- * @return {?}
- */
- function clone(dataAndEvents, deepDataAndEvents) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!deepDataAndEvents || "object" != typeof deepDataAndEvents && "function" != typeof deepDataAndEvents ? dataAndEvents : deepDataAndEvents;
- }
- /**
- * @param {Object} m
- * @param {Object} b
- * @return {undefined}
- */
- function create(m, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- m.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : m,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(m, b);
- } else {
- /** @type {Object} */
- m.__proto__ = b;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var throttledUpdate;
- var dep;
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var helper = require(0);
- var opts = getOptions(helper);
- var element = require(1);
- var file = require(9);
- var obj = getOptions(file);
- var prototype = (throttledUpdate = (0, element.inject)("main"), throttledUpdate(dep = (0, element.observer)(dep = function(properties) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), clone(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, properties), lookupIterator(value, [{
- key : "handleClick",
- /**
- * @return {undefined}
- */
- value : function() {
- (0, obj.default)(this.refs.contents.textContent);
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement("div", {
- className : "leaderboard ui-panel",
- ref : "contents",
- onClick : this.handleClick.bind(this)
- }, opts.default.createElement("div", {
- className : "leaderboard-title"
- }, "Leaderboard"), opts.default.createElement("div", {
- className : "leaderboard-contents"
- }, this.props.main.leaderboard.map(function(p, dataAndEvents) {
- return opts.default.createElement("div", {
- style : {
- color : p.color
- }
- }, p.pos + 1, ". ", p.name, " ", "\n");
- })), this.props.main.leaderboard.length > 0 && (this.props.main.teamLeaderboard.length > 0 && opts.default.createElement("div", {
- className : "leaderboard-separator"
- })), opts.default.createElement("div", {
- className : "leaderboard-contents"
- }, this.props.main.teamLeaderboard.map(function(p, dataAndEvents) {
- return opts.default.createElement("div", {
- style : {
- color : p.color
- }
- }, p.pos + 1, ". ", p.name, " ", "\n");
- })));
- }
- }]), value;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, object, require) {
- /**
- * @param {string} type
- * @return {?}
- */
- function $(type) {
- return type && type.__esModule ? type : {
- default : type
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} right
- * @return {undefined}
- */
- function fn(dataAndEvents, right) {
- if (!(dataAndEvents instanceof right)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} object
- * @return {?}
- */
- function traverse(dataAndEvents, object) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!object || "object" != typeof object && "function" != typeof object ? dataAndEvents : object;
- }
- /**
- * @param {Object} x
- * @param {Object} b
- * @return {undefined}
- */
- function create(x, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- x.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : x,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(x, b);
- } else {
- /** @type {Object} */
- x.__proto__ = b;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var throttledUpdate;
- var dep;
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var header = require(0);
- var opts = $(header);
- var element = require(1);
- var Tab = require(5);
- var nodes = require(32);
- var node = $(nodes);
- var json = require(36);
- var obj = $(json);
- var helper = require(38);
- var option = ($(helper), require(39));
- var opt = $(option);
- var children = require(40);
- var c = $(children);
- var tagToInsert = function(properties) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), traverse(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, properties), lookupIterator(value, [{
- key : "handleKeyUp",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if ("Enter" == object.key) {
- this.props.onPlay();
- }
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement("div", {
- className : "main-left",
- onKeyUp : this.handleKeyUp.bind(this)
- }, opts.default.createElement(c.default, {
- skinsLoader : this.props.skinsLoader
- }), opts.default.createElement("div", {
- className : "main-input"
- }, opts.default.createElement("button", {
- className : "btn",
- onClick : this.props.onPlay
- }, "Play"), opts.default.createElement("button", {
- className : "btn",
- onClick : this.props.onSpectate
- }, "Spectate")));
- }
- }]), value;
- }(opts.default.PureComponent);
- var fieldsString = function(properties) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), traverse(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, properties), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement("div", {
- className : "main-right"
- }, opts.default.createElement(Tab.Tabs, {
- forceRenderTabPanel : "forceRenderTabPanel"
- }, opts.default.createElement(Tab.TabList, null, opts.default.createElement(Tab.Tab, null, opts.default.createElement("i", {
- className : "fa fa-list"
- })), opts.default.createElement(Tab.Tab, null, opts.default.createElement("i", {
- className : "fa fa-cog"
- })), opts.default.createElement(Tab.Tab, null, opts.default.createElement("i", {
- className : "fa fa-keyboard-o"
- })), false, opts.default.createElement("li", null)), opts.default.createElement(Tab.TabPanel, null, opts.default.createElement(opt.default, null)), opts.default.createElement(Tab.TabPanel, null, opts.default.createElement(obj.default, null)), opts.default.createElement(Tab.TabPanel, null, opts.default.createElement(node.default, null)), false), opts.default.createElement("div", {
- className : "social"
- }, opts.default.createElement("a", {
- href : "https://discord.gg/NDCyFuH",
- target : "_blank"
- }, opts.default.createElement("img", {
- src : "https://discordapp.com/assets/2c21aeda16de354ba5334551a883b481.png"
- }))));
- }
- }]), value;
- }(opts.default.PureComponent);
- var prototype = (throttledUpdate = (0, element.inject)("main"), throttledUpdate(dep = (0, element.observer)(dep = function(properties) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), traverse(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, properties), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement("div", {
- className : "main ui-panel",
- style : {
- display : this.props.main.hideMain ? "none" : ""
- }
- }, opts.default.createElement(tagToInsert, {
- skinsLoader : this.props.skinsLoader,
- onPlay : this.props.onPlay,
- onSpectate : this.props.onSpectate
- }), opts.default.createElement(fieldsString, {
- recorder : this.props.recorder
- }));
- }
- }]), value;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, obj, require) {
- /**
- * @param {string} options
- * @return {?}
- */
- function defaults(options) {
- return options && options.__esModule ? options : {
- default : options
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} right
- * @return {undefined}
- */
- function fn(dataAndEvents, right) {
- if (!(dataAndEvents instanceof right)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} deepDataAndEvents
- * @return {?}
- */
- function clone(dataAndEvents, deepDataAndEvents) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!deepDataAndEvents || "object" != typeof deepDataAndEvents && "function" != typeof deepDataAndEvents ? dataAndEvents : deepDataAndEvents;
- }
- /**
- * @param {Object} klass
- * @param {Object} extend
- * @return {undefined}
- */
- function create(klass, extend) {
- if ("function" != typeof extend && null !== extend) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof extend);
- }
- /** @type {Object} */
- klass.prototype = Object.create(extend && extend.prototype, {
- constructor : {
- value : klass,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (extend) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(klass, extend);
- } else {
- /** @type {Object} */
- klass.__proto__ = extend;
- }
- }
- }
- Object.defineProperty(obj, "__esModule", {
- value : true
- });
- obj.default = void 0;
- var model;
- var dep;
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var options = require(0);
- var opts = defaults(options);
- var dom = require(2);
- var element = require(1);
- var value = (model = (0, element.inject)("minimap", "options"), model(dep = (0, element.observer)(dep = function(options) {
- /**
- * @param {?} newVal
- * @return {?}
- */
- function value(newVal) {
- fn(this, value);
- var self = clone(this, (value.__proto__ || Object.getPrototypeOf(value)).call(this, newVal));
- return(0, dom.extendObservable)(self.props.minimap, {
- value : [],
- x : 0,
- y : 0
- }), (0, dom.observe)(self.props.minimap, "value", self.renderCanvas.bind(self)), self;
- }
- return create(value, options), lookupIterator(value, [{
- key : "renderCanvas",
- /**
- * @return {undefined}
- */
- value : function() {
- if (this.refs.canvas) {
- var ctx = this.refs.canvas.getContext("2d");
- ctx.clearRect(0, 0, this.refs.canvas.width, this.refs.canvas.height);
- /** @type {string} */
- ctx.font = "12px Calibri";
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var n = false;
- var bulk = void 0;
- try {
- var target;
- var self = this.props.minimap.value[Symbol.iterator]();
- for (;!(callback2 = (target = self.next()).done);callback2 = true) {
- var node = target.value;
- /** @type {number} */
- var x = 250 * node.x;
- /** @type {number} */
- var y = 250 * node.y;
- /** @type {number} */
- var radius = Math.max(250 * node.size, 4);
- ctx.beginPath();
- ctx.arc(x, y, radius, 0, 2 * Math.PI, false);
- ctx.fillStyle = node.color;
- ctx.fill();
- /** @type {number} */
- var halfBar = ctx.measureText(node.name).width / 2;
- /** @type {number} */
- var left = x - halfBar;
- /** @type {number} */
- var posY = y - radius;
- ctx.fillText(node.name, left, posY);
- }
- } catch (fn) {
- /** @type {boolean} */
- n = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (n) {
- throw bulk;
- }
- }
- }
- }
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return this.props.options.hideMinimap ? null : opts.default.createElement("div", {
- className : "minimap ui-panel"
- }, null, opts.default.createElement("canvas", {
- ref : "canvas",
- width : "250",
- height : "250"
- }));
- }
- }]), value;
- }(opts.default.PureComponent)) || dep) || dep);
- obj.default = value;
- }, function(dataAndEvents, object, $) {
- /**
- * @param {string} type
- * @return {?}
- */
- function getOptions(type) {
- return type && type.__esModule ? type : {
- default : type
- };
- }
- /**
- * @param {Object} obj
- * @param {?} key
- * @param {string} value
- * @return {?}
- */
- function set(obj, key, value) {
- return key in obj ? Object.defineProperty(obj, key, {
- value : value,
- enumerable : true,
- configurable : true,
- writable : true
- }) : obj[key] = value, obj;
- }
- /**
- * @param {number} results
- * @return {?}
- */
- function makeArray(results) {
- if (Array.isArray(results)) {
- /** @type {number} */
- var i = 0;
- /** @type {Array} */
- var result = Array(results.length);
- for (;i < results.length;i++) {
- result[i] = results[i];
- }
- return result;
- }
- return Array.from(results);
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} init
- * @return {undefined}
- */
- function animate(dataAndEvents, init) {
- if (!(dataAndEvents instanceof init)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} deepDataAndEvents
- * @return {?}
- */
- function clone(dataAndEvents, deepDataAndEvents) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!deepDataAndEvents || "object" != typeof deepDataAndEvents && "function" != typeof deepDataAndEvents ? dataAndEvents : deepDataAndEvents;
- }
- /**
- * @param {Object} fn
- * @param {Object} extend
- * @return {undefined}
- */
- function create(fn, extend) {
- if ("function" != typeof extend && null !== extend) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof extend);
- }
- /** @type {Object} */
- fn.prototype = Object.create(extend && extend.prototype, {
- constructor : {
- value : fn,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (extend) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(fn, extend);
- } else {
- /** @type {Object} */
- fn.__proto__ = extend;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var js;
- var dep;
- var when = function() {
- /**
- * @param {Arguments} object
- * @param {number} deepDataAndEvents
- * @return {?}
- */
- function clone(object, deepDataAndEvents) {
- /** @type {Array} */
- var res = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var next;
- var self = object[Symbol.iterator]();
- for (;!(callback2 = (next = self.next()).done) && (res.push(next.value), !deepDataAndEvents || res.length !== deepDataAndEvents);callback2 = true) {
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- return res;
- }
- return function(which, deepDataAndEvents) {
- if (Array.isArray(which)) {
- return which;
- }
- if (Symbol.iterator in Object(which)) {
- return clone(which, deepDataAndEvents);
- }
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
- };
- }();
- var make = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var file = $(58);
- var obj = getOptions(file);
- var li = $(0);
- var opts = getOptions(li);
- var option = $(14);
- var opt = getOptions(option);
- var outer = $(2);
- var self = $(1);
- var property = $(11);
- var prototype = (js = (0, self.inject)("options", "keysInv"), js(dep = (0, self.observer)(dep = function(options) {
- /**
- * @param {?} reporter
- * @return {?}
- */
- function init(reporter) {
- animate(this, init);
- var self = clone(this, (init.__proto__ || Object.getPrototypeOf(init)).call(this, reporter));
- /** @type {Array} */
- self.colors = [["Interface foreground color", "uiFgColor", {
- color : "#ffffff",
- alpha : 100
- }], ["Interface background color", "uiBgColor", {
- color : "#4a4a4a",
- alpha : 80
- }], ["Game background color", "gameBgColor", {
- color : "#e3e3e3",
- alpha : 100
- }], ["Border color", "borderColor", {
- color : "#1aa900",
- alpha : 100
- }], ["Food color", "foodColor", {
- color : "#27ff00",
- alpha : 100
- }], ["Virus color", "virusColor", {
- color : "#0f8c00",
- alpha : 100
- }], ["Mother cell color", "motherColor", {
- color : "#ff1700",
- alpha : 100
- }], ["Self color", "selfColor", {
- color : "#00cf00",
- alpha : 100
- }], ["Self name color", "selfNameColor", {
- color : "#ffffff",
- alpha : 100
- }], ["Friend name color", "friendNameColor", {
- color : "#008000",
- alpha : 100
- }], ["Enemy name color", "enemyNameColor", {
- color : "#ffffff",
- alpha : 100
- }], ["Self party color", "selfPartyColor", {
- color : "#00e300",
- alpha : 100
- }], ["Friend party color", "friendPartyColor", {
- color : "#ffffff",
- alpha : 100
- }], ["Leader party color", "leaderPartyColor", {
- color : "#00ffff",
- alpha : 100
- }], ["Self leaderboard color", "selfLbColor", {
- color : "#ffaaaa",
- alpha : 100
- }], ["Friend leaderboard color", "friendLbColor", {
- color : "#ffff00",
- alpha : 100
- }], ["Enemy leaderboard color", "enemyLbColor", {
- color : "#ffffff",
- alpha : 100
- }], ["Self minimap color", "selfMapColor", {
- color : "#10ff10",
- alpha : 100
- }], ["Friend minimap color", "friendMapColor", {
- color : "#ff1010",
- alpha : 100
- }]].concat(makeArray([]), makeArray([]), [["Small cell indicator color", "smallIndColor", {
- color : "#999999",
- alpha : 100
- }], ["Notify foreground color", "notifyFgColor", {
- color : "#ffffff",
- alpha : 100
- }], ["Notify background color", "notifyBgColor", {
- color : "#1aa900",
- alpha : 100
- }]]);
- /** @type {Array} */
- self.checkboxes = [["Enable multibox", "enableMultibox", false]].concat(makeArray([]), [["Hide food", "hideFood", false], ["Hide skins", "hideSkins", false], ["Hide enemy skins", "hideEnemySkins", true], ["Hide names", "hideNames", false], ["Hide mass", "hideMass", false], ["Text outlines", "textOutlines", false], ["Transparent cells", "transCells", false], ["Auto respawn", "autoRespawn", false], ["Disable auto zoom", "disableAutoZoom", true], ["Show borders", "showBorders", true], ["Colored ping",
- "coloredPing", true], ["Hide chat", "hideChat", false], ["Hide chat notifications", "hideChatNotify", false], ["Hide minimap", "hideMinimap", false]], makeArray([]));
- /** @type {Array} */
- self.sliders = [["Animate", "animate", true, "animateSpeed", 90, 300, function(n) {
- return n + "ms";
- }], ["Auto hide text: cell size", "autoHideText", true, "autoHideTextVal", 30, 100, function(topOffset) {
- return topOffset + "px";
- }], ["Auto hide food: self mass", "autoHideFood", false, "autoHideFoodVal", 10, 100, function(memo) {
- return memo + "k";
- }], ["Small cell indicator: cell size", "smallInd", true, "smallIndVal", 10, 100, function(topOffset) {
- return topOffset + "px";
- }]];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var l = false;
- var bulk = void 0;
- try {
- var _ref;
- var tree = self.colors[Symbol.iterator]();
- for (;!(callback2 = (_ref = tree.next()).done);callback2 = true) {
- var p = when(_ref.value, 3);
- var camelKey = (p[0], p[1]);
- var value = p[2];
- (0, outer.extendObservable)(self.props.options, set({}, camelKey, value));
- }
- } catch (fn) {
- /** @type {boolean} */
- l = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (l) {
- throw bulk;
- }
- }
- }
- /** @type {boolean} */
- var _ref1 = true;
- /** @type {boolean} */
- var v = false;
- var _clockseq = void 0;
- try {
- var setting;
- var cell = self.checkboxes[Symbol.iterator]();
- for (;!(_ref1 = (setting = cell.next()).done);_ref1 = true) {
- var _ref3 = when(setting.value, 3);
- camelKey = (_ref3[0], _ref3[1]);
- value = _ref3[2];
- (0, outer.extendObservable)(self.props.options, set({}, camelKey, value));
- }
- } catch (clockseq) {
- /** @type {boolean} */
- v = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!_ref1) {
- if (cell.return) {
- cell.return();
- }
- }
- } finally {
- if (v) {
- throw _clockseq;
- }
- }
- }
- /** @type {boolean} */
- var foundHelper = true;
- /** @type {boolean} */
- var _ = false;
- var text = void 0;
- try {
- var d;
- var c = self.sliders[Symbol.iterator]();
- for (;!(foundHelper = (d = c.next()).done);foundHelper = true) {
- var iteratee = when(d.value, 3);
- camelKey = (iteratee[0], iteratee[1]);
- value = iteratee[2];
- (0, outer.extendObservable)(self.props.options, set({}, camelKey, value));
- }
- } catch (textAlt) {
- /** @type {boolean} */
- _ = true;
- text = textAlt;
- } finally {
- try {
- if (!foundHelper) {
- if (c.return) {
- c.return();
- }
- }
- } finally {
- if (_) {
- throw text;
- }
- }
- }
- /** @type {boolean} */
- var afterAnimationCallback = true;
- /** @type {boolean} */
- var j = false;
- var type = void 0;
- try {
- var result;
- var stream = self.sliders[Symbol.iterator]();
- for (;!(afterAnimationCallback = (result = stream.next()).done);afterAnimationCallback = true) {
- var suiteView;
- var changes = when(result.value, 5);
- camelKey = (changes[0], changes[1]);
- value = changes[2];
- var key = changes[3];
- var val = changes[4];
- (0, outer.extendObservable)(self.props.options, (suiteView = {}, set(suiteView, camelKey, value), set(suiteView, key, val), suiteView));
- }
- } catch (fx) {
- /** @type {boolean} */
- j = true;
- type = fx;
- } finally {
- try {
- if (!afterAnimationCallback) {
- if (stream.return) {
- stream.return();
- }
- }
- } finally {
- if (j) {
- throw type;
- }
- }
- }
- /** @type {Array} */
- var iterator = [["uiFgColor", ".ui-panel", "color"], ["uiBgColor", ".ui-panel", "backgroundColor"], ["notifyFgColor", ".chat-notify-container .notify-item", "color"], ["notifyBgColor", ".chat-notify-container .notify-item", "backgroundColor"]];
- /** @type {boolean} */
- var done = true;
- /** @type {boolean} */
- var Y = false;
- var error = void 0;
- try {
- var actual;
- /**
- * @return {undefined}
- */
- var setup = function() {
- var result = when(actual.value, 3);
- var tail = result[0];
- var id = result[1];
- var vendorProp = result[2];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var s = false;
- var _clockseq = void 0;
- try {
- var left;
- var self = document.styleSheets[Symbol.iterator]();
- for (;!(callback2 = (left = self.next()).done);callback2 = true) {
- var a = left.value;
- if (!a.href) {
- /** @type {boolean} */
- var _ref1 = true;
- /** @type {boolean} */
- var h = false;
- var bulk = void 0;
- try {
- var token;
- /**
- * @return {undefined}
- */
- var init = function() {
- var element = token.value;
- if (element.selectorText == id) {
- (0, outer.observe)(self.props.options, tail, function(event) {
- var value = event.newValue;
- var r = (0, property.hexToColor)(value.color);
- /** @type {string} */
- element.style[vendorProp] = "rgba(" + r[0] + ", " + r[1] + ", " + r[2] + ", " + value.alpha / 100 + ")";
- }, true);
- }
- };
- var tree = a.cssRules[Symbol.iterator]();
- for (;!(_ref1 = (token = tree.next()).done);_ref1 = true) {
- init();
- }
- } catch (fn) {
- /** @type {boolean} */
- h = true;
- bulk = fn;
- } finally {
- try {
- if (!_ref1) {
- if (tree.return) {
- tree.return();
- }
- }
- } finally {
- if (h) {
- throw bulk;
- }
- }
- }
- }
- }
- } catch (clockseq) {
- /** @type {boolean} */
- s = true;
- _clockseq = clockseq;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (s) {
- throw _clockseq;
- }
- }
- }
- };
- var i = iterator[Symbol.iterator]();
- for (;!(done = (actual = i.next()).done);done = true) {
- setup();
- }
- } catch (err) {
- /** @type {boolean} */
- Y = true;
- error = err;
- } finally {
- try {
- if (!done) {
- if (i.return) {
- i.return();
- }
- }
- } finally {
- if (Y) {
- throw error;
- }
- }
- }
- return Object.assign(self.props.options, JSON.parse(window.localStorage.getItem("options") || "{}")), window.addEventListener("beforeunload", function() {
- return window.localStorage.setItem("options", JSON.stringify(self.props.options));
- }), window.addEventListener("keydown", self.handleKeyDown.bind(self)), self;
- }
- return create(init, options), make(init, [{
- key : "handleKeyDown",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- if ("INPUT" != document.activeElement.tagName && (!object.ctrlKey && !object.altKey)) {
- var cacheKey = 1 == object.key.length ? object.key.toLowerCase() : object.key;
- var cached = this.props.keysInv.get(cacheKey);
- if (cached) {
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var i = false;
- var bulk = void 0;
- try {
- var _ref;
- var self = cached[Symbol.iterator]();
- for (;!(callback2 = (_ref = self.next()).done);callback2 = true) {
- var color = _ref.value;
- switch(color) {
- case "hideFood":
- /** @type {boolean} */
- this.props.options.hideFood = !this.props.options.hideFood;
- break;
- case "hideSkins":
- /** @type {boolean} */
- this.props.options.hideSkins = !this.props.options.hideSkins;
- break;
- case "hideEnemySkins":
- /** @type {boolean} */
- this.props.options.hideEnemySkins = !this.props.options.hideEnemySkins;
- break;
- case "hideNames":
- /** @type {boolean} */
- this.props.options.hideNames = !this.props.options.hideNames;
- break;
- case "hideChat":
- /** @type {boolean} */
- this.props.options.hideChat = !this.props.options.hideChat;
- break;
- case "changeColor":
- /** @type {Array} */
- var value = [255, 7, 256 * Math.random() >> 0];
- value.sort(function() {
- return 0.5 - Math.random();
- });
- this.props.options.selfColor = {
- color : property.colorToHex.apply(void 0, value),
- alpha : 100
- };
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- i = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (i) {
- throw bulk;
- }
- }
- }
- }
- }
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var self = this;
- return opts.default.createElement("div", {
- className : "options"
- }, self.colors.map(function(pair) {
- return opts.default.createElement("div", {
- className : "option"
- }, opts.default.createElement(obj.default, {
- color : self.props.options[pair[1]].color,
- alpha : self.props.options[pair[1]].alpha,
- /**
- * @param {string} thumb
- * @return {?}
- */
- onChange : function(thumb) {
- return self.props.options[pair[1]] = thumb;
- }
- }), opts.default.createElement("span", null, pair[0]));
- }), self.checkboxes.map(function(pair) {
- return opts.default.createElement("div", {
- className : "option"
- }, opts.default.createElement("input", {
- type : "checkbox",
- checked : self.props.options[pair[1]],
- /**
- * @param {Event} e
- * @return {?}
- */
- onChange : function(e) {
- return self.props.options[pair[1]] = e.target.checked;
- }
- }), opts.default.createElement("span", null, pair[0]));
- }), self.sliders.map(function(pair) {
- return opts.default.createElement("div", {
- className : "option"
- }, opts.default.createElement("input", {
- type : "checkbox",
- checked : self.props.options[pair[1]],
- /**
- * @param {Event} e
- * @return {?}
- */
- onChange : function(e) {
- return self.props.options[pair[1]] = e.target.checked;
- }
- }), opts.default.createElement("span", null, pair[0]), opts.default.createElement(opt.default, {
- defaultValue : self.props.options[pair[3]],
- max : pair[5],
- tipFormatter : pair[6],
- /**
- * @param {string} thumb
- * @return {?}
- */
- onChange : function(thumb) {
- return self.props.options[pair[3]] = thumb;
- }
- }));
- }));
- }
- }]), init;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, object, require) {
- /**
- * @param {string} type
- * @return {?}
- */
- function getOptions(type) {
- return type && type.__esModule ? type : {
- default : type
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} right
- * @return {undefined}
- */
- function fn(dataAndEvents, right) {
- if (!(dataAndEvents instanceof right)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} deepDataAndEvents
- * @return {?}
- */
- function clone(dataAndEvents, deepDataAndEvents) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!deepDataAndEvents || "object" != typeof deepDataAndEvents && "function" != typeof deepDataAndEvents ? dataAndEvents : deepDataAndEvents;
- }
- /**
- * @param {Object} m
- * @param {Object} b
- * @return {undefined}
- */
- function create(m, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- m.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : m,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(m, b);
- } else {
- /** @type {Object} */
- m.__proto__ = b;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var throttledUpdate;
- var dep;
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var helper = require(0);
- var opts = getOptions(helper);
- var element = require(1);
- var file = require(9);
- var obj = getOptions(file);
- var prototype = (throttledUpdate = (0, element.inject)("main"), throttledUpdate(dep = (0, element.observer)(dep = function(properties) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), clone(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, properties), lookupIterator(value, [{
- key : "handleClick",
- /**
- * @return {undefined}
- */
- value : function() {
- (0, obj.default)(this.refs.contents.textContent);
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return this.props.main.party.length ? opts.default.createElement("div", {
- className : "party ui-panel",
- onClick : this.handleClick.bind(this)
- }, opts.default.createElement("table", {
- className : "party-contents",
- ref : "contents"
- }, opts.default.createElement("tbody", null, this.props.main.party.map(function(d, dataAndEvents) {
- return opts.default.createElement("tr", {
- style : {
- color : d.color
- }
- }, opts.default.createElement("td", null, dataAndEvents + 1, ". ", d.name, "\u00a0"), opts.default.createElement("td", null, d.mass, " ", "\n"));
- }), opts.default.createElement("tr", {
- className : "party-summary"
- }, opts.default.createElement("td", null, "-\u00a0"), opts.default.createElement("td", null, this.props.main.party.reduce(function(sum, e) {
- return sum + e.mass;
- }, 0), " ", "\n"))))) : null;
- }
- }]), value;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, object, require) {
- /**
- * @param {string} url
- * @return {?}
- */
- function parse(url) {
- return url && url.__esModule ? url : {
- default : url
- };
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function compose(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} right
- * @return {undefined}
- */
- function fn(dataAndEvents, right) {
- if (!(dataAndEvents instanceof right)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} object
- * @return {?}
- */
- function traverse(dataAndEvents, object) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!object || "object" != typeof object && "function" != typeof object ? dataAndEvents : object;
- }
- /**
- * @param {Object} self
- * @param {Object} b
- * @return {undefined}
- */
- function wrap(self, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- self.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : self,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(self, b);
- } else {
- /** @type {Object} */
- self.__proto__ = b;
- }
- }
- }
- /**
- * @param {number} bytes
- * @return {?}
- */
- function prettySize(bytes) {
- /** @type {Array} */
- var sizes = ["Bytes", "KB", "MB", "GB", "TB"];
- /** @type {number} */
- var i = Math.floor(Math.log(bytes) / Math.log(1024));
- return(Math.round(bytes / Math.pow(1024, i) * 100) / 100).toFixed(2) + " " + sizes[i];
- }
- /**
- * @param {number} year
- * @return {?}
- */
- function formatDate(year) {
- /** @type {Date} */
- var d = new Date(year);
- return Math.trunc(year / 60 / 60 / 1E3) + ":" + (("0" + d.getMinutes()).slice(-2) + ":") + (("0" + d.getSeconds()).slice(-2) + ":") + ("" + ("00" + d.getMilliseconds()).slice(-3));
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var throttledUpdate;
- var dep;
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var dom = require(13);
- var value = parse(dom);
- var url = require(0);
- var opts = parse(url);
- var uri = require(14);
- var obj = parse(uri);
- var Block = require(2);
- var element = require(1);
- var src = require(43);
- var out = parse(src);
- var tagToInsert = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), traverse(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var scope;
- return this.props.show ? (scope = this, opts.default.createElement("div", {
- className : "popup-container"
- }, opts.default.createElement("div", {
- className : "popup ui-panel"
- }, opts.default.createElement("div", {
- className : "popup-title"
- }, opts.default.createElement("span", null, "Import Files")), opts.default.createElement("div", {
- className : "popup-text"
- }, opts.default.createElement("input", {
- ref : "input",
- type : "file",
- multiple : "multiple"
- })), opts.default.createElement("div", {
- className : "popup-input"
- }, opts.default.createElement("button", {
- className : "btn",
- /**
- * @return {?}
- */
- onClick : function() {
- return scope.props.onResponse(scope.refs.input.files);
- }
- }, "OK"), opts.default.createElement("button", {
- className : "btn",
- /**
- * @return {?}
- */
- onClick : function() {
- return scope.props.onResponse([]);
- }
- }, "Cancel"))))) : null;
- }
- }]), value;
- }(opts.default.PureComponent);
- var fieldsString = function(_super) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), traverse(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var me;
- return null != this.props.name ? (me = this, opts.default.createElement("div", {
- className : "popup-container"
- }, opts.default.createElement("div", {
- className : "popup ui-panel"
- }, opts.default.createElement("div", {
- className : "popup-title"
- }, opts.default.createElement("span", null, "Delete File")), opts.default.createElement("div", {
- className : "popup-text"
- }, "Are you sure you want to delete ", opts.default.createElement("span", {
- className : "name"
- }, this.props.name), "?"), opts.default.createElement("div", {
- className : "popup-input"
- }, opts.default.createElement("button", {
- className : "btn",
- /**
- * @return {?}
- */
- onClick : function() {
- return me.props.onResponse(true);
- }
- }, "Yes"), opts.default.createElement("button", {
- className : "btn",
- /**
- * @return {?}
- */
- onClick : function() {
- return me.props.onResponse(false);
- }
- }, "No"))))) : null;
- }
- }]), value;
- }(opts.default.PureComponent);
- var prototype = (throttledUpdate = (0, element.inject)("recordings"), throttledUpdate(dep = (0, element.observer)(dep = function(_super) {
- /**
- * @param {?} newVal
- * @return {?}
- */
- function value(newVal) {
- fn(this, value);
- var me = traverse(this, (value.__proto__ || Object.getPrototypeOf(value)).call(this, newVal));
- return(0, Block.extendObservable)(me.props.recordings, {
- state : "",
- time : 0,
- minTime : 0,
- maxTime : 0,
- selected : null,
- upload : false,
- delete : null,
- recordings : []
- }), me.load(), me;
- }
- return wrap(value, _super), lookupIterator(value, [{
- key : "load",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function next() {
- var callback2;
- var n;
- var t1;
- var tree;
- var elem;
- var e;
- var is;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return this.props.recordings.state = "busy", this.props.recordings.recordings = [], callback2 = true, n = false, t1 = void 0, self.prev = 5, self.next = 8, this.props.recorder.db.files.toArray();
- case 8:
- self.t0 = Symbol.iterator;
- tree = self.sent[self.t0]();
- case 10:
- if (callback2 = (elem = tree.next()).done) {
- /** @type {number} */
- self.next = 21;
- break;
- }
- return e = elem.value, self.next = 14, this.props.recorder.startIndex(e.name);
- case 14:
- return self.next = 16, this.props.recorder.db.indexes.where("name").equals(e.name).sortBy("offset");
- case 16:
- is = self.sent;
- this.props.recordings.recordings.push({
- name : e.name,
- data : e.data,
- duration : is[is.length - 1].time - is[0].time
- });
- case 18:
- /** @type {boolean} */
- callback2 = true;
- /** @type {number} */
- self.next = 10;
- break;
- case 21:
- /** @type {number} */
- self.next = 27;
- break;
- case 23:
- /** @type {number} */
- self.prev = 23;
- self.t1 = self.catch(5);
- /** @type {boolean} */
- n = true;
- t1 = self.t1;
- case 27:
- /** @type {number} */
- self.prev = 27;
- /** @type {number} */
- self.prev = 28;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 30:
- if (self.prev = 30, !n) {
- /** @type {number} */
- self.next = 33;
- break;
- }
- throw t1;;
- case 33:
- return self.finish(30);
- case 34:
- return self.finish(27);
- case 35:
- /** @type {string} */
- this.props.recordings.state = "";
- case 36:
- ;
- case "end":
- return self.stop();
- }
- }
- }, next, this, [[5, 23, 27, 35], [28, , 30, 34]]);
- }));
- return view;
- }()
- }, {
- key : "stop",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function initialize() {
- var busy;
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return this.props.recordings.state = "busy", busy = !!this.props.recorder.writer, current.next = 4, this.props.recorder.stop();
- case 4:
- if (!busy) {
- /** @type {number} */
- current.next = 7;
- break;
- }
- return current.next = 7, this.load();
- case 7:
- /** @type {string} */
- this.props.recordings.state = "";
- case 8:
- ;
- case "end":
- return current.stop();
- }
- }
- }, initialize, this);
- }));
- return view;
- }()
- }, {
- key : "handleRecord",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {string} */
- this.props.recordings.state = "record";
- this.props.recorder.startRecord();
- }
- }, {
- key : "handlePlayback",
- value : function() {
- /**
- * @return {?}
- */
- function view() {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function end() {
- var me = this;
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- return this.props.recordings.state = "playback", current.next = 3, this.props.recorder.startPlayback(this.props.recordings.selected, this.props.recordings.time, function(time) {
- if (time - me.props.recordings.time > 200) {
- /** @type {number} */
- me.props.recordings.time = time;
- }
- });
- case 3:
- /** @type {string} */
- this.props.recordings.state = "";
- case 4:
- ;
- case "end":
- return current.stop();
- }
- }
- }, end, this);
- }));
- return view;
- }()
- }, {
- key : "handleSelect",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function end(index) {
- var is;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return self.next = 2, this.stop();
- case 2:
- return this.props.recordings.selected = index, self.next = 5, this.props.recorder.db.indexes.where("name").equals(this.props.recordings.selected).sortBy("offset");
- case 5:
- is = self.sent;
- this.props.recordings.time = is[0].time;
- this.props.recordings.minTime = is[0].time;
- this.props.recordings.maxTime = is[is.length - 1].time;
- case 9:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, this);
- }));
- return f2;
- }()
- }, {
- key : "handleUpload",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function initialize(contentHTML) {
- var callback2;
- var r;
- var t0;
- var tree;
- var valueElm;
- var value;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- r = false;
- t0 = void 0;
- /** @type {number} */
- self.prev = 3;
- tree = contentHTML[Symbol.iterator]();
- case 5:
- if (callback2 = (valueElm = tree.next()).done) {
- /** @type {number} */
- self.next = 14;
- break;
- }
- return value = valueElm.value, self.next = 9, this.props.recorder.add(value.name, value);
- case 9:
- return self.next = 11, this.load();
- case 11:
- /** @type {boolean} */
- callback2 = true;
- /** @type {number} */
- self.next = 5;
- break;
- case 14:
- /** @type {number} */
- self.next = 20;
- break;
- case 16:
- /** @type {number} */
- self.prev = 16;
- self.t0 = self.catch(3);
- /** @type {boolean} */
- r = true;
- t0 = self.t0;
- case 20:
- /** @type {number} */
- self.prev = 20;
- /** @type {number} */
- self.prev = 21;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 23:
- if (self.prev = 23, !r) {
- /** @type {number} */
- self.next = 26;
- break;
- }
- throw t0;;
- case 26:
- return self.finish(23);
- case 27:
- return self.finish(20);
- case 28:
- /** @type {boolean} */
- this.props.recordings.upload = false;
- case 29:
- ;
- case "end":
- return self.stop();
- }
- }
- }, initialize, this, [[3, 16, 20, 28], [21, , 23, 27]]);
- }));
- return f2;
- }()
- }, {
- key : "handleDelete",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function initialize(contentHTML) {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- if (!contentHTML) {
- /** @type {number} */
- current.next = 5;
- break;
- }
- return current.next = 3, this.props.recorder.delete(this.props.recordings.delete);
- case 3:
- return current.next = 5, this.load();
- case 5:
- /** @type {null} */
- this.props.recordings.delete = null;
- this.refs.tbody.focus();
- case 7:
- ;
- case "end":
- return current.stop();
- }
- }
- }, initialize, this);
- }));
- return f2;
- }()
- }, {
- key : "handleKeyDown",
- value : function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function end(index) {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- if ("Delete" == index.key) {
- this.props.recordings.delete = this.props.recordings.selected;
- }
- ;
- case 1:
- ;
- case "end":
- return current.stop();
- }
- }
- }, end, this);
- }));
- return f2;
- }()
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var me;
- var self = this;
- return me = this, opts.default.createElement("div", {
- className : "recordings"
- }, opts.default.createElement("div", {
- className : "player"
- }, opts.default.createElement("div", {
- className : (0, value.default)("record", {
- inactive : ["playback", "busy"].includes(self.props.recordings.state)
- })
- }, "record" != self.props.recordings.state && opts.default.createElement("i", {
- className : "fa fa-circle",
- onClick : self.handleRecord.bind(self)
- }), "record" == self.props.recordings.state && opts.default.createElement("i", {
- className : "fa fa-stop",
- onClick : self.stop.bind(self)
- })), opts.default.createElement("div", {
- className : (0, value.default)("playback", {
- inactive : ["record", "busy"].includes(self.props.recordings.state) || !this.props.recordings.selected
- })
- }, "playback" != self.props.recordings.state && opts.default.createElement("i", {
- className : "fa fa-play",
- onClick : self.handlePlayback.bind(self)
- }), "playback" == self.props.recordings.state && opts.default.createElement("i", {
- className : "fa fa-pause",
- onClick : self.stop.bind(self)
- }), opts.default.createElement(obj.default, {
- value : self.props.recordings.time,
- min : self.props.recordings.minTime,
- max : self.props.recordings.maxTime,
- /**
- * @return {?}
- */
- tipFormatter : function() {
- return formatDate(me.props.recordings.time - me.props.recordings.minTime);
- },
- /**
- * @param {?} time
- * @return {?}
- */
- onChange : function(time) {
- return self.props.recordings.time = time;
- }
- }))), opts.default.createElement("table", {
- className : "picker-table"
- }, opts.default.createElement("thead", null, opts.default.createElement("tr", null, opts.default.createElement("th", {
- className : "recordings-table-name"
- }, opts.default.createElement("span", null, "Name")), opts.default.createElement("th", {
- className : "recordings-table-size"
- }, opts.default.createElement("span", null, "Size")), opts.default.createElement("th", {
- className : "recordings-table-duration"
- }, opts.default.createElement("span", null, "Duration")), opts.default.createElement("th", {
- className : "recordings-table-download"
- }, opts.default.createElement("i", {
- className : "fa fa-download",
- /**
- * @return {?}
- */
- onClick : function() {
- return(0, out.default)(self.props.recordings.recordings);
- }
- })), opts.default.createElement("th", {
- className : "recordings-table-upload"
- }, opts.default.createElement("i", {
- className : "fa fa-upload",
- /**
- * @return {?}
- */
- onClick : function() {
- return self.props.recordings.upload = true;
- }
- })))), opts.default.createElement("tbody", {
- ref : "tbody",
- tabIndex : "0",
- onKeyDown : self.handleKeyDown.bind(self)
- }, self.props.recordings.recordings.map(function(event) {
- return opts.default.createElement("tr", {
- className : (0, value.default)({
- "picker-selected" : self.props.recordings.selected == event.name
- }),
- /**
- * @return {?}
- */
- onMouseDown : function() {
- return self.handleSelect(event.name);
- }
- }, opts.default.createElement("td", {
- className : "recordings-table-name"
- }, event.name), opts.default.createElement("td", {
- className : "recordings-table-size"
- }, prettySize(event.data.size)), opts.default.createElement("td", {
- className : "recordings-table-duration"
- }, formatDate(event.duration).slice(0, -4)), opts.default.createElement("td", {
- className : "recordings-table-download"
- }, opts.default.createElement("a", {
- href : window.URL.createObjectURL(event.data),
- download : event.name
- }, opts.default.createElement("i", {
- className : "fa fa-download"
- }))));
- }))), opts.default.createElement(tagToInsert, {
- show : self.props.recordings.upload,
- onResponse : self.handleUpload.bind(self)
- }), opts.default.createElement(fieldsString, {
- name : self.props.recordings.delete,
- onResponse : self.handleDelete.bind(self)
- }));
- }
- }]), value;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, object, require) {
- /**
- * @param {string} type
- * @return {?}
- */
- function getOptions(type) {
- return type && type.__esModule ? type : {
- default : type
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} var_args
- * @return {undefined}
- */
- function callback(dataAndEvents, var_args) {
- if (!(dataAndEvents instanceof var_args)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} b
- * @return {?}
- */
- function func(dataAndEvents, b) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!b || "object" != typeof b && "function" != typeof b ? dataAndEvents : b;
- }
- /**
- * @param {Object} self
- * @param {Object} b
- * @return {undefined}
- */
- function create(self, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- self.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : self,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(self, b);
- } else {
- /** @type {Object} */
- self.__proto__ = b;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var throttledUpdate;
- var dep;
- var isRegExp = function() {
- /**
- * @param {Function} object
- * @param {?} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var file = require(13);
- var obj = getOptions(file);
- var helper = require(0);
- var opts = getOptions(helper);
- var Block = require(2);
- var element = require(1);
- var Tab = require(5);
- var config = require(4);
- var tagToInsert = function(properties) {
- /**
- * @return {?}
- */
- function value() {
- return callback(this, value), func(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, properties), isRegExp(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var self;
- var e = this;
- return self = this, opts.default.createElement("table", {
- className : "picker-table"
- }, opts.default.createElement("thead", null, opts.default.createElement("tr", null, opts.default.createElement("th", {
- className : "servers-table-name"
- }, opts.default.createElement("span", null, "Name")), opts.default.createElement("th", {
- className : "servers-table-players"
- }, opts.default.createElement("span", null, "Players")), opts.default.createElement("th", {
- className : "servers-table-mode"
- }, opts.default.createElement("span", null, "Gamemode")), opts.default.createElement("th", {
- className : "servers-table-ping"
- }, opts.default.createElement("span", null, "Ping")))), opts.default.createElement("tbody", null, this.props.servers.filter(function(region) {
- return region.region == self.props.region;
- }).map(function(self) {
- return opts.default.createElement("tr", {
- className : (0, obj.default)({
- "picker-current" : e.props.current == self.name,
- "picker-selected" : e.props.selected == self.name
- }),
- onMouseDown : e.props.onSelect.bind(e, self.name)
- }, opts.default.createElement("td", {
- className : "servers-table-name"
- }, self.name), opts.default.createElement("td", {
- className : "servers-table-players"
- }, self.players), opts.default.createElement("td", {
- className : "servers-table-mode"
- }, self.gamemode), opts.default.createElement("td", {
- className : "servers-table-ping"
- }, self.ping ? self.ping + "ms" : "-"));
- })));
- }
- }]), value;
- }(opts.default.PureComponent);
- var prototype = (throttledUpdate = (0, element.inject)("servers"), throttledUpdate(dep = (0, element.observer)(dep = function(properties) {
- /**
- * @param {?} n
- * @return {?}
- */
- function f(n) {
- callback(this, f);
- var me = func(this, (f.__proto__ || Object.getPrototypeOf(f)).call(this, n));
- return(0, Block.extendObservable)(me.props.servers, {
- current : null,
- selected : null,
- servers : [],
- regions : ["All"],
- region : "All"
- }), config.clients.getServers(me.load.bind(me)), window.addEventListener("beforeunload", function() {
- window.localStorage.setItem("server", me.props.servers.selected);
- }), me;
- }
- return create(f, properties), isRegExp(f, [{
- key : "load",
- /**
- * @param {number} object
- * @return {undefined}
- */
- value : function(object) {
- /** @type {number} */
- this.props.servers.servers = object;
- /** @type {Array} */
- var names = [];
- /** @type {boolean} */
- var callback2 = true;
- /** @type {boolean} */
- var r = false;
- var bulk = void 0;
- try {
- var left;
- var self = this.props.servers.servers[Symbol.iterator]();
- for (;!(callback2 = (left = self.next()).done);callback2 = true) {
- var a = left.value;
- if (names.indexOf(a.region) == -1) {
- names.push(a.region);
- }
- }
- } catch (fn) {
- /** @type {boolean} */
- r = true;
- bulk = fn;
- } finally {
- try {
- if (!callback2) {
- if (self.return) {
- self.return();
- }
- }
- } finally {
- if (r) {
- throw bulk;
- }
- }
- }
- /** @type {Array} */
- this.props.servers.regions = names;
- if (null == this.props.servers.selected) {
- this.props.servers.selected = window.localStorage.getItem("server") || object[0].name;
- }
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var me = this;
- return opts.default.createElement("div", {
- className : "servers"
- }, opts.default.createElement(Tab.Tabs, {
- selectedIndex : me.props.servers.regions.indexOf(me.props.servers.region),
- /**
- * @param {?} index
- * @return {?}
- */
- onSelect : function(index) {
- return me.props.servers.region = index;
- }
- }, opts.default.createElement(Tab.TabList, null, me.props.servers.regions.map(function(dim) {
- return opts.default.createElement(Tab.Tab, null, dim);
- })), me.props.servers.regions.map(function(region) {
- return opts.default.createElement(Tab.TabPanel, null, opts.default.createElement(tagToInsert, {
- current : me.props.servers.current,
- selected : me.props.servers.selected,
- region : region,
- servers : me.props.servers.servers,
- /**
- * @param {number} index
- * @return {?}
- */
- onSelect : function(index) {
- return me.props.servers.selected = index;
- }
- }));
- })));
- }
- }]), f;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, object, $) {
- /**
- * @param {string} type
- * @return {?}
- */
- function getOptions(type) {
- return type && type.__esModule ? type : {
- default : type
- };
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function compose(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- /**
- * @param {?} e
- * @param {Function} arg
- * @return {undefined}
- */
- function fn(e, arg) {
- if (!(e instanceof arg)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} b
- * @return {?}
- */
- function func(dataAndEvents, b) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!b || "object" != typeof b && "function" != typeof b ? dataAndEvents : b;
- }
- /**
- * @param {Object} options
- * @param {Object} extend
- * @return {undefined}
- */
- function create(options, extend) {
- if ("function" != typeof extend && null !== extend) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof extend);
- }
- /** @type {Object} */
- options.prototype = Object.create(extend && extend.prototype, {
- constructor : {
- value : options,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (extend) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(options, extend);
- } else {
- /** @type {Object} */
- options.__proto__ = extend;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var js;
- var guess;
- var throttledUpdate;
- var dep;
- var toString = Object.assign || function(opt_attributes) {
- /** @type {number} */
- var i = 1;
- for (;i < arguments.length;i++) {
- var iterable = arguments[i];
- var key;
- for (key in iterable) {
- if (Object.prototype.hasOwnProperty.call(iterable, key)) {
- opt_attributes[key] = iterable[key];
- }
- }
- }
- return opt_attributes;
- };
- var integrate = function() {
- /**
- * @param {Function} object
- * @param {Array} d
- * @return {undefined}
- */
- function defineProperty(object, d) {
- /** @type {number} */
- var i = 0;
- for (;i < d.length;i++) {
- var desc = d[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(x, current, a) {
- return current && defineProperty(x.prototype, current), a && defineProperty(x, a), x;
- };
- }();
- var li = $(0);
- var opts = getOptions(li);
- var file = $(56);
- var obj = getOptions(file);
- var emptyJ = $(2);
- var self = $(1);
- var tagToInsert = (js = (0, self.inject)("options"), js(guess = (0, self.observer)(guess = function(options) {
- /**
- * @return {?}
- */
- function value() {
- return fn(this, value), func(this, (value.__proto__ || Object.getPrototypeOf(value)).apply(this, arguments));
- }
- return create(value, options), integrate(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var me = this;
- this.props.sharedProps.skinsLoader.normalize(this.props.item.team, this.props.item.name, this.props.item.skin).then(function(data) {
- return data && (me.props.item.skin = data.skin);
- });
- var style = {
- backgroundColor : this.props.options.selfColor.color
- };
- return opts.default.createElement("div", {
- className : "skin"
- }, opts.default.createElement("img", {
- className : "skin-img",
- src : this.props.item.skin || null,
- style : style
- }), opts.default.createElement("div", {
- className : "skin-reflection"
- }, opts.default.createElement("img", {
- className : "skin-img",
- src : this.props.item.skin || null,
- style : style
- })));
- }
- }]), value;
- }(opts.default.PureComponent)) || guess) || guess);
- var prototype = (throttledUpdate = (0, self.inject)("skins"), throttledUpdate(dep = (0, self.observer)(dep = function(options) {
- /**
- * @param {?} fake
- * @return {?}
- */
- function add(fake) {
- fn(this, add);
- var arr = func(this, (add.__proto__ || Object.getPrototypeOf(add)).call(this, fake));
- var info = {
- team : "",
- name : "",
- skin : "http://i.imgur.com/jUIS2PP.png",
- uuid : Date.now()
- };
- return(0, emptyJ.extendObservable)(arr.props.skins, {
- skins : [info],
- selected : info
- }), Object.assign(arr.props.skins, JSON.parse(localStorage.getItem("skins") || "{}")), arr.props.skins.selected = arr.props.skins.skins[arr.findIndex()], window.addEventListener("beforeunload", function() {
- return window.localStorage.setItem("skins", JSON.stringify(arr.props.skins));
- }), arr;
- }
- return create(add, options), integrate(add, [{
- key : "findIndex",
- /**
- * @return {?}
- */
- value : function() {
- var me = this;
- return this.props.skins.skins.findIndex(function(_) {
- return _.uuid == me.props.skins.selected.uuid;
- });
- }
- }, {
- key : "handleUpdate",
- value : function() {
- /**
- * @param {?} vec0
- * @param {?} proxyObj
- * @return {?}
- */
- function add(vec0, proxyObj) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function end(encoding, options) {
- var str;
- return regeneratorRuntime.wrap(function(self) {
- for (;;) {
- switch(self.prev = self.next) {
- case 0:
- return str = toString({}, this.props.skins.selected), Object.assign(this.props.skins.selected, options), self.t0 = Object, self.t1 = this.props.skins.selected, self.next = 6, this.props.skinsLoader.normalize(this.props.skins.selected.team, this.props.skins.selected.name, this.props.skins.selected.skin);
- case 6:
- if (self.t2 = self.sent, self.t2) {
- /** @type {number} */
- self.next = 9;
- break;
- }
- self.t2 = str;
- case 9:
- self.t3 = self.t2;
- self.t0.assign.call(self.t0, self.t1, self.t3);
- case 11:
- ;
- case "end":
- return self.stop();
- }
- }
- }, end, this);
- }));
- return add;
- }()
- }, {
- key : "handleRemove",
- /**
- * @return {undefined}
- */
- value : function() {
- var index = this.findIndex();
- this.props.skins.skins.splice(index, 1);
- if (!this.props.skins.skins.length) {
- this.props.skins.skins.push({
- team : "",
- name : "",
- skin : "",
- uuid : Date.now()
- });
- }
- this.props.skins.selected = this.props.skins.skins[Math.max(0, index - 1)];
- }
- }, {
- key : "handleAdd",
- /**
- * @return {undefined}
- */
- value : function() {
- this.props.skins.skins.splice(this.findIndex() + 1, 0, {
- team : "",
- name : "",
- skin : "",
- uuid : Date.now()
- });
- this.props.skins.selected = this.props.skins.skins[this.findIndex() + 1];
- }
- }, {
- key : "componentDidUpdate",
- /**
- * @return {undefined}
- */
- value : function() {
- this.refs.skins.querySelector(".skin-list").childNodes[this.findIndex()].scrollIntoView();
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- var $;
- return $ = this, opts.default.createElement("div", {
- className : "skins",
- ref : "skins"
- }, opts.default.createElement("div", {
- className : "skin-selected"
- }, opts.default.createElement("a", {
- className : "skin-rem fa-stack",
- onClick : this.handleRemove.bind(this)
- }, opts.default.createElement("i", {
- className : "fa fa-circle-thin fa-stack-2x"
- }), opts.default.createElement("i", {
- className : "fa fa-minus fa-stack-1x"
- })), opts.default.createElement(tagToInsert, {
- item : this.props.skins.selected,
- sharedProps : this.props
- }), opts.default.createElement("a", {
- className : "skin-add fa-stack",
- onClick : this.handleAdd.bind(this)
- }, opts.default.createElement("i", {
- className : "fa fa-circle-thin fa-stack-2x"
- }), opts.default.createElement("i", {
- className : "fa fa-plus fa-stack-1x"
- }))), opts.default.createElement("div", {
- className : "inputs"
- }, opts.default.createElement("div", {
- className : "team-name"
- }, opts.default.createElement("input", {
- className : "team-input",
- type : "text",
- placeholder : "Team",
- value : this.props.skins.selected.team,
- /**
- * @param {Event} evt
- * @return {?}
- */
- onChange : function(evt) {
- return $.handleUpdate(evt.target, {
- team : evt.target.value
- });
- }
- }), opts.default.createElement("input", {
- className : "name-input",
- type : "text",
- placeholder : "Name",
- value : this.props.skins.selected.name,
- /**
- * @param {Event} evt
- * @return {?}
- */
- onChange : function(evt) {
- return $.handleUpdate(evt.target, {
- name : evt.target.value
- });
- }
- })), opts.default.createElement("input", {
- className : "skin-input",
- type : "text",
- placeholder : "Skin",
- value : this.props.skins.selected.skin,
- /**
- * @param {Event} evt
- * @return {?}
- */
- onChange : function(evt) {
- return $.handleUpdate(evt.target, {
- skin : evt.target.value
- });
- }
- })), opts.default.createElement(obj.default, {
- lock : "vertical",
- holdTime : "200",
- list : this.props.skins.skins,
- listClass : "skin-list",
- itemClass : "skin-item",
- /**
- * @param {?} evt
- * @param {?} selected
- * @return {?}
- */
- itemClicked : function(evt, selected) {
- return $.props.skins.selected = selected;
- },
- itemKey : "uuid",
- template : tagToInsert,
- sharedProps : this.props,
- selected : this.props.skins.selected,
- selectedKey : "uuid"
- }));
- }
- }]), add;
- }(opts.default.PureComponent)) || dep) || dep);
- object.default = prototype;
- }, function(dataAndEvents, obj, require) {
- /**
- * @param {string} options
- * @return {?}
- */
- function defaults(options) {
- return options && options.__esModule ? options : {
- default : options
- };
- }
- /**
- * @param {?} dataAndEvents
- * @param {Function} right
- * @return {undefined}
- */
- function fn(dataAndEvents, right) {
- if (!(dataAndEvents instanceof right)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} deepDataAndEvents
- * @return {?}
- */
- function clone(dataAndEvents, deepDataAndEvents) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!deepDataAndEvents || "object" != typeof deepDataAndEvents && "function" != typeof deepDataAndEvents ? dataAndEvents : deepDataAndEvents;
- }
- /**
- * @param {Object} klass
- * @param {Object} extend
- * @return {undefined}
- */
- function create(klass, extend) {
- if ("function" != typeof extend && null !== extend) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof extend);
- }
- /** @type {Object} */
- klass.prototype = Object.create(extend && extend.prototype, {
- constructor : {
- value : klass,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (extend) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(klass, extend);
- } else {
- /** @type {Object} */
- klass.__proto__ = extend;
- }
- }
- }
- Object.defineProperty(obj, "__esModule", {
- value : true
- });
- obj.default = void 0;
- var throttledUpdate;
- var dep;
- var lookupIterator = function() {
- /**
- * @param {Function} object
- * @param {Array} property
- * @return {undefined}
- */
- function defineProperty(object, property) {
- /** @type {number} */
- var i = 0;
- for (;i < property.length;i++) {
- var desc = property[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(object, desc.key, desc);
- }
- }
- return function(func, name, element) {
- return name && defineProperty(func.prototype, name), element && defineProperty(func, element), func;
- };
- }();
- var options = require(0);
- var opts = defaults(options);
- var Block = require(2);
- var element = require(1);
- var value = (throttledUpdate = (0, element.inject)("stats"), throttledUpdate(dep = (0, element.observer)(dep = function(options) {
- /**
- * @param {?} newVal
- * @return {?}
- */
- function value(newVal) {
- fn(this, value);
- var data = clone(this, (value.__proto__ || Object.getPrototypeOf(value)).call(this, newVal));
- return(0, Block.extendObservable)(data.props.stats, {
- pId : "-",
- fps : 0,
- ping : 0,
- pingColor : null,
- score : 0,
- partyScore : 0,
- cellNum : 0,
- tsMass : 0
- }), data;
- }
- return create(value, options), lookupIterator(value, [{
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement("div", {
- className : "stats ui-panel"
- }, opts.default.createElement("div", {
- className : "stats-text"
- }, "ID: ", opts.default.createElement("span", null, this.props.stats.pId || "-")), opts.default.createElement("div", {
- className : "stats-text"
- }, "FPS: ", opts.default.createElement("span", null, this.props.stats.fps)), opts.default.createElement("div", {
- className : "stats-text"
- }, "Ping: ", opts.default.createElement("span", {
- style : {
- color : this.props.stats.pingColor
- }
- }, this.props.stats.ping, "ms")), opts.default.createElement("div", {
- className : "stats-text"
- }, "Score: ", opts.default.createElement("span", null, this.props.stats.score)), opts.default.createElement("div", {
- className : "stats-text"
- }, "Party: ", opts.default.createElement("span", null, this.props.stats.partyScore)), opts.default.createElement("div", {
- className : "stats-text"
- }, "Cells: ", opts.default.createElement("span", null, this.props.stats.cellNum, "/16")), false);
- }
- }]), value;
- }(opts.default.PureComponent)) || dep) || dep);
- obj.default = value;
- }, function(dataAndEvents, object, get) {
- /**
- * @param {string} name
- * @return {?}
- */
- function $(name) {
- return name && name.__esModule ? name : {
- default : name
- };
- }
- /**
- * @param {?} obj
- * @param {Function} type
- * @return {undefined}
- */
- function bind(obj, type) {
- if (!(obj instanceof type)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- /**
- * @param {string} dataAndEvents
- * @param {?} fn
- * @return {?}
- */
- function apply(dataAndEvents, fn) {
- if (!dataAndEvents) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return!fn || "object" != typeof fn && "function" != typeof fn ? dataAndEvents : fn;
- }
- /**
- * @param {Object} x
- * @param {Object} b
- * @return {undefined}
- */
- function f(x, b) {
- if ("function" != typeof b && null !== b) {
- throw new TypeError("Super expression must either be null or a function, not " + typeof b);
- }
- /** @type {Object} */
- x.prototype = Object.create(b && b.prototype, {
- constructor : {
- value : x,
- enumerable : false,
- writable : true,
- configurable : true
- }
- });
- if (b) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(x, b);
- } else {
- /** @type {Object} */
- x.__proto__ = b;
- }
- }
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- object.default = void 0;
- var index;
- var objectToString = function() {
- /**
- * @param {Function} proto
- * @param {Array} name
- * @return {undefined}
- */
- function defineProperty(proto, name) {
- /** @type {number} */
- var i = 0;
- for (;i < name.length;i++) {
- var desc = name[i];
- desc.enumerable = desc.enumerable || false;
- /** @type {boolean} */
- desc.configurable = true;
- if ("value" in desc) {
- /** @type {boolean} */
- desc.writable = true;
- }
- Object.defineProperty(proto, desc.key, desc);
- }
- }
- return function(context, name, tag) {
- return name && defineProperty(context.prototype, name), tag && defineProperty(context, tag), context;
- };
- }();
- var a = get(0);
- var opts = $(a);
- var value = get(2);
- var data = get(1);
- var storage = get(5);
- get(49);
- var res = get(31);
- var obj = $(res);
- var div = get(33);
- var opt = $(div);
- var template = get(34);
- var node = $(template);
- var html = get(35);
- var token = $(html);
- var b = get(37);
- var item = $(b);
- var klass = get(41);
- var c = $(klass);
- var id = (0, data.observer)(index = function(v2) {
- /**
- * @param {?} opts
- * @return {?}
- */
- function d(opts) {
- bind(this, d);
- var Game = apply(this, (d.__proto__ || Object.getPrototypeOf(d)).call(this, opts));
- return storage.Tabs.setUseDefaultStyles(false), window.addEventListener("resize", Game.componentDidMount.bind(Game)), Game;
- }
- return f(d, v2), objectToString(d, [{
- key : "componentDidMount",
- /**
- * @return {undefined}
- */
- value : function() {
- /** @type {number} */
- this.refs.canvas.width = window.innerWidth;
- /** @type {number} */
- this.refs.canvas.height = window.innerHeight;
- }
- }, {
- key : "render",
- /**
- * @return {?}
- */
- value : function() {
- return opts.default.createElement(data.Provider, {
- ref : "provider",
- skins : {},
- servers : {},
- options : (0, value.observable)({
- selfColor : {}
- }),
- keys : {},
- keysInv : new Map,
- messages : (0, value.observable)([]),
- messagesInv : new Map,
- recordings : {},
- stats : {},
- minimap : {},
- chat : {},
- main : (0, value.observable)({
- hideMain : false,
- leaderboard : [],
- teamLeaderboard : [],
- party : []
- })
- }, opts.default.createElement("div", null, opts.default.createElement("canvas", {
- className : "canvas",
- ref : "canvas"
- }), opts.default.createElement(node.default, {
- skinsLoader : this.props.skins,
- recorder : this.props.recorder,
- onPlay : this.props.onPlay,
- onSpectate : this.props.onSpectate
- }), opts.default.createElement("div", {
- className : "stats-party-container"
- }, opts.default.createElement(c.default, null), " ", opts.default.createElement(item.default, null)), opts.default.createElement(opt.default, null), opts.default.createElement(token.default, null), opts.default.createElement(obj.default, {
- ref : "chat",
- getClient : this.props.getClient,
- findCell : this.props.findCell
- })));
- }
- }]), d;
- }(opts.default.PureComponent)) || index;
- object.default = id;
- }, function(dataAndEvents, object, iterator) {
- /**
- * @param {string} value
- * @return {?}
- */
- function lookupIterator(value) {
- return value && value.__esModule ? value : {
- default : value
- };
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function compose(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- Object.defineProperty(object, "__esModule", {
- value : true
- });
- var value = iterator(51);
- var obj = lookupIterator(value);
- var key = iterator(3);
- object.default = function() {
- /**
- * @param {?} event
- * @return {?}
- */
- function f2(event) {
- return matcherFunction.apply(this, arguments);
- }
- var matcherFunction = compose(regeneratorRuntime.mark(function test(props) {
- var args;
- var options;
- var part;
- var children;
- var reader;
- var self;
- var callback2;
- var f;
- var t0;
- var tree;
- var _ref;
- var data;
- var arg;
- var step;
- var start;
- var size;
- var i;
- var p;
- var option;
- var child;
- var a;
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- /** @type {Array} */
- args = [];
- /** @type {Array} */
- options = [];
- /** @type {number} */
- part = 0;
- /** @type {Array} */
- children = [];
- /** @type {FileReader} */
- reader = new FileReader;
- self = new key.BufferWriter;
- /** @type {boolean} */
- callback2 = true;
- /** @type {boolean} */
- f = false;
- t0 = void 0;
- /** @type {number} */
- current.prev = 6;
- tree = props[Symbol.iterator]();
- case 8:
- if (callback2 = (_ref = tree.next()).done) {
- /** @type {number} */
- current.next = 43;
- break;
- }
- data = _ref.value;
- /** @type {null} */
- arg = null;
- /** @type {number} */
- step = 10485760;
- /** @type {number} */
- start = 0;
- case 13:
- if (!(start < data.data.size)) {
- /** @type {number} */
- current.next = 21;
- break;
- }
- return reader.readAsArrayBuffer(data.data.slice(start, start + step)), current.next = 17, new Promise(function(i) {
- return reader.onload = i;
- });
- case 17:
- arg = obj.default.buf(new Uint8Array(reader.result), arg);
- case 18:
- start += step;
- /** @type {number} */
- current.next = 13;
- break;
- case 21:
- options.push(arg);
- children.push(part);
- self.reset();
- self.writeUint32(67324752);
- self.writeUint16(10);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint32(arg);
- self.writeUint32(data.data.size);
- self.writeUint32(data.data.size);
- self.writeUint16(data.name.length);
- self.writeUint16(0);
- self.writeString(data.name);
- self.bytes.pop();
- args.push(self.build());
- args.push(data.data);
- part += args[args.length - 2].byteLength + args[args.length - 1].size;
- case 40:
- /** @type {boolean} */
- callback2 = true;
- /** @type {number} */
- current.next = 8;
- break;
- case 43:
- /** @type {number} */
- current.next = 49;
- break;
- case 45:
- /** @type {number} */
- current.prev = 45;
- current.t0 = current.catch(6);
- /** @type {boolean} */
- f = true;
- t0 = current.t0;
- case 49:
- /** @type {number} */
- current.prev = 49;
- /** @type {number} */
- current.prev = 50;
- if (!callback2) {
- if (tree.return) {
- tree.return();
- }
- }
- ;
- case 52:
- if (current.prev = 52, !f) {
- /** @type {number} */
- current.next = 55;
- break;
- }
- throw t0;;
- case 55:
- return current.finish(52);
- case 56:
- return current.finish(49);
- case 57:
- /** @type {number} */
- size = 0;
- /** @type {number} */
- i = 0;
- for (;i < props.length;i++) {
- p = props[i];
- option = options[i];
- child = children[i];
- self.reset();
- self.writeUint32(33639248);
- self.writeUint16(10);
- self.writeUint16(10);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint32(option);
- self.writeUint32(p.data.size);
- self.writeUint32(p.data.size);
- self.writeUint16(p.name.length);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint32(32);
- self.writeUint32(child);
- self.writeString(p.name);
- self.bytes.pop();
- args.push(self.build());
- size += args[args.length - 1].byteLength;
- }
- self.reset();
- self.writeUint32(101010256);
- self.writeUint16(0);
- self.writeUint16(0);
- self.writeUint16(props.length);
- self.writeUint16(props.length);
- self.writeUint32(size);
- self.writeUint32(part);
- self.writeUint16(0);
- args.push(self.build());
- /** @type {Element} */
- a = document.createElement("a");
- a.setAttribute("href", window.URL.createObjectURL(new Blob(args)));
- a.setAttribute("download", "recordings.zip");
- document.body.appendChild(a);
- a.click();
- case 74:
- ;
- case "end":
- return current.stop();
- }
- }
- }, test, this, [[6, 45, 49, 57], [50, , 52, 56]]);
- }));
- return f2;
- }();
- }, function(f, matchIndexes, $sanitize) {
- matchIndexes = f.exports = $sanitize(45)(void 0);
- matchIndexes.push([f.i, ':focus{outline:none}body{overflow:hidden;font-size:12px}.ui-panel{border-radius:10px;background-color:rgba(0,0,0,.7);color:#fff}.btn{border:1px solid #fff;color:inherit;background-color:rgba(0,0,0,.4);font-size:20px;line-height:1.5;cursor:pointer;opacity:1}.btn:hover{opacity:.7}.react-tabs{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column}.react-tabs>ul{padding:0}.react-tabs>ul>li{position:relative;display:inline-block;list-style:none;padding:6px 9px;cursor:pointer}.react-tabs>ul>li[aria-selected=true]{border-radius:5px 5px 0 0}.react-tabs>[role=tabpanel]{-ms-flex:1;flex:1;overflow:auto}.rc-color-picker-panel{background-color:initial}.rc-color-picker-panel .rc-color-picker-panel-inner{background-color:#fff}.rc-slider-tooltip{z-index:2}.picker-table{width:100%;height:100%;background-color:rgba(50,50,50,.8);border-collapse:collapse;text-align:left;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column}.picker-table thead{white-space:nowrap}.picker-table tbody{-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:scroll;background-color:hsla(0,0%,39%,.75)}.picker-table tbody tr{cursor:pointer;height:20px;white-space:nowrap}.picker-table tbody .picker-current{background-color:rgba(0,255,255,.4)}.picker-table tbody .picker-selected{background-color:rgba(0,255,255,.8)}.popup-container{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.4)}.popup-container .popup{position:relative;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;padding:10px}.popup-container .popup>*{text-align:center}.popup-container .popup .popup-title{font-size:20px}.popup-container .popup .popup-text{margin:16px auto;font-size:16px;text-align:center}.popup-container .popup .popup-text input{border:1px solid #aaa}.popup-container .popup .popup-input .btn{margin:0 5px;width:60px;font-size:15px}.canvas{position:absolute}.stats-party-container{position:absolute;top:10px;left:10px}.stats-party-container>*{margin:5px 0}.stats-party-container .stats{display:inline-block;font-family:Calibri;font-weight:700;font-size:16px;padding:8px 15px}.stats-party-container .party{font-family:Calibri;padding:5px;font-size:16px;line-height:20px}.stats-party-container .party td{padding:0}.stats-party-container .party td:first-child{padding-right:50px}.stats-party-container .party .party-summary{color:#00a0a0}.leaderboard{position:absolute;top:10px;right:10px;width:190px;font-family:Calibri;padding:4px 0}.leaderboard .leaderboard-title{font-size:18px;font-weight:700;text-align:center}.leaderboard .leaderboard-contents{padding:0 6px;font-size:16px;line-height:20px;white-space:nowrap}.leaderboard .leaderboard-separator{margin:4px 0;border-bottom:1px dashed #fff}.minimap{position:absolute;bottom:10px;right:10px}.minimap .minimap-coordinates{border-bottom:2px solid hsla(0,0%,100%,.2);font-family:Calibri;font-size:16px;font-weight:300;text-align:center}.minimap canvas{display:block}.main{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:750px;height:550px;margin:auto;padding-left:10px;padding-right:10px;display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row}.main .main-left,.main .main-right{width:calc(50% - 20px);margin:10px;display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column}.main .main-left{margin-top:50px}.main .main-left>*{margin:6px 0}.main .main-left .main-input{text-align:center}.main .main-left .main-input .btn{width:calc(50% - 10px);margin:0 5px}.main .main-right>.react-tabs{height:100%}.main .main-right>.react-tabs>ul{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row}.main .main-right>.react-tabs>ul>li{font-size:20px}.main .main-right>.react-tabs>ul>li[aria-selected=true]{bottom:1px;margin:0 -1px;border:1px solid #aaa;border-bottom:none}.main .main-right>.react-tabs>ul>li:last-child,.main .main-right>.react-tabs>ul>li[aria-selected=false]{border-bottom:1px solid #aaa}.main .main-right>.react-tabs>ul>li:last-child{-ms-flex:1;flex:1;cursor:default}.main .main-right>.react-tabs>[role=tabpanel]{overflow:auto;display:-ms-flexbox;display:flex}.main .main-right .social{position:absolute;top:25px;right:20px}.main .main-right .social img{width:30px;height:30px}.main .main-right .social img:hover{filter:brightness(120%)}.skins>*{margin:8px 0}.skins .skin-img{border-radius:50%;display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.skins .skin-img:not([src]){content:url("data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==")}.skins .skin-selected{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row}.skins .skin-selected .skin-add,.skins .skin-selected .skin-rem{-ms-flex:1;flex:1;-ms-flex-item-align:end;align-self:flex-end;opacity:.5;font-size:30px;cursor:pointer}.skins .skin-selected .skin-add:hover,.skins .skin-selected .skin-rem:hover{opacity:1}.skins .skin-selected .skin-rem{color:#d00}.skins .skin-selected .skin-add{color:#0d0}.skins .skin-selected .skin .skin-img{width:200px;height:200px}.skins .skin-selected .skin .skin-reflection{display:none}.skins .skin-list{max-width:100%;background:linear-gradient(180deg,rgba(50,50,50,.4) 50%,rgba(50,50,50,.6) 60%);padding:10px 6px 0;text-align:center;white-space:nowrap;overflow-x:scroll;overflow-y:hidden;-webkit-clip-path:inset(0 0);clip-path:inset(0 0)}.skins .skin-list .skin-item{display:inline-block;padding:0 4px;line-height:0}.skins .skin-list .skin-item:not(.selected){opacity:.6}.skins .skin-list .skin-item.placeholder{opacity:0}.skins .skin-list .skin-item .skin .skin-img{width:60px;height:60px}.skins .skin-list .skin-item .skin .skin-reflection{height:20px;overflow:hidden}.skins .skin-list .skin-item .skin .skin-reflection .skin-img{-webkit-mask-image:linear-gradient(0deg,rgba(0,0,0,.5) 0,transparent 25%);mask-image:linear-gradient(0deg,rgba(0,0,0,.5) 0,transparent 25%);transform:scaleY(-1)}.skins .inputs input{border:none;height:25px;color:#000;font-size:15px;text-indent:8px}.skins .inputs input:focus{box-shadow:0 0 8px rgba(0,255,255,.4)}.skins .inputs .team-name{margin-bottom:8px;display:-ms-flexbox;display:flex}.skins .inputs .team-name .team-input{width:90px;margin-right:7px}.skins .inputs .team-name .name-input{-ms-flex:1;flex:1}.skins .inputs .skin-input{width:100%}.servers{font-size:14px}.servers>.react-tabs{height:100%}.servers>.react-tabs>ul{margin:0}.servers>.react-tabs>ul>li[aria-selected=true]{background-color:rgba(50,50,50,.8)}.servers .picker-table .servers-table-name{min-width:100px}.servers .picker-table .servers-table-players{min-width:80px}.servers .picker-table .servers-table-mode{min-width:100px}.servers .picker-table .servers-table-ping{width:100%}.recordings{font-size:14px;-ms-flex-flow:column;flex-flow:column}.recordings,.recordings .player{display:-ms-flexbox;display:flex}.recordings .player{margin-bottom:8px}.recordings .player i{cursor:pointer}.recordings .player .record .fa.fa-circle{color:#c00}.recordings .player .playback{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex}.recordings .player .playback .fa{margin:0 5px}.recordings .player .playback .rc-slider{margin:0 8px}.recordings .player .inactive{pointer-events:none;filter:grayscale(100%) opacity(50%)}.recordings .picker-table .recordings-table-name{min-width:165px}.recordings .picker-table .recordings-table-size{min-width:75px}.recordings .picker-table .recordings-table-duration{min-width:65px}.recordings .picker-table .recordings-table-download{cursor:pointer;width:20px}.recordings .picker-table .recordings-table-download a{color:#fff}.recordings .picker-table .recordings-table-upload{cursor:pointer}.options{width:100%;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content;font-size:14px;background-color:rgba(50,50,50,.8);padding:10px}.options .option .rc-color-picker-wrap,.options .option input{margin-right:3px}.options .option>*{vertical-align:middle}.keys{width:100%;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content;font-size:14px;background-color:rgba(50,50,50,.8);padding:10px}.keys .key{display:-ms-flexbox;display:flex;-ms-flex-flow:row;flex-flow:row;margin:3px 0}.keys .key .key-picker{margin-right:4px;width:80px;border:1px solid #fff;border-radius:3px;background-color:#005096;text-align:center;vertical-align:middle;cursor:pointer}.keys .key .key-picker:focus{background-color:#00aae6}.keys .key input{-ms-flex:1;flex:1;border:none;color:#fff;background-color:#005096}.keys .key input:focus{background-color:#00aae6}.keys .key>*{height:20px;line-height:20px;vertical-align:middle}.name{font-family:Calibri;font-size:16px;font-weight:700}.react-contextmenu{z-index:4;visibility:hidden;min-width:160px;padding:5px 0;border:1px solid rgba(0,0,0,.15);border-radius:5px;background-color:#fff;background-clip:padding-box;text-align:left}.react-contextmenu.react-contextmenu--visible{visibility:visible}.react-contextmenu .react-contextmenu-item{display:inline-block;width:calc(100% - 20px);padding:3px 10px;font-size:16px;font-weight:400;line-height:1.3;text-align:inherit;text-decoration:none;cursor:pointer}.react-contextmenu .react-contextmenu-item:not(.react-contextmenu-item--disabled).active,.react-contextmenu .react-contextmenu-item:not(.react-contextmenu-item--disabled):hover{border-color:#0275d8;background-color:#0275d8;color:#fff}.chat-notify-container{position:absolute;bottom:10px;left:10px;width:400px}.chat-notify-container .notify-item{margin:0 0 6px;padding:10px;border-radius:3px;background-color:#1aa900;color:#fff;opacity:.8}.chat-notify-container .notify-item:hover{opacity:1;cursor:pointer}.chat-notify-container .notify-item .notify-title{display:none}.chat-notify-container .notify-item .notify-body{display:inline;font-family:Calibri;font-size:14px;font-weight:700;word-wrap:break-word}.chat-notify-container .notify-item .notify-body .emoji-mart-emoji{content:url("data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==");vertical-align:bottom}.chat-notify-container .chat{height:240px;border:2px solid hsla(0,0%,100%,.2);border-radius:0 0 5px 5px;font-family:Open Sans;font-size:14px}.chat-notify-container .chat.msg-height{width:396px;position:fixed;overflow-x:hidden;overflow-y:scroll;visibility:hidden}.chat-notify-container .chat .msg{line-height:20px}.chat-notify-container .chat .msg .context,.chat-notify-container .chat .msg .system{color:#dd0}.chat-notify-container .chat .msg .emoji-mart-emoji{content:url("data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==");vertical-align:bottom}.chat-notify-container .chat .msg div{display:inline-block}.chat-notify-container .chat .chat-input{background-color:#fff;border-radius:0 0 5px 5px}.chat-notify-container .chat .chat-input input{padding:0;width:calc(100% - 20px);height:20px;border:none;border-radius:0 0 0 5px;text-indent:5px}.chat-notify-container .chat .chat-input .emoji-input{width:20px;height:20px;vertical-align:top;cursor:pointer}.chat-notify-container .chat .chat-input .emoji-input:not(:hover){filter:grayscale(100%)}.chat-notify-container .chat .chat-input .emoji-picker{position:fixed;z-index:5;left:414px;bottom:7px}.chat-notify-container .chat .chat-input .emoji-picker .emoji-mart-preview{display:none}',
- ""]);
- }, function(module, next_scope, require) {
- (function(URI) {
- /**
- * @param {(Array|Float32Array)} args
- * @param {number} event
- * @return {?}
- */
- function fn(args, event) {
- var x = args[1] || "";
- var options = args[3];
- if (!options) {
- return x;
- }
- if (event) {
- var app = done(options);
- var sig = options.sources.map(function(dataAndEvents) {
- return "/*# sourceURL=" + options.sourceRoot + dataAndEvents + " */";
- });
- return[x].concat(sig).concat([app]).join("\n");
- }
- return[x].join("\n");
- }
- /**
- * @param {?} what
- * @return {?}
- */
- function done(what) {
- var str = (new URI(JSON.stringify(what))).toString("base64");
- /** @type {string} */
- var msgs = "sourceMappingURL=data:application/json;charset=utf-8;base64," + str;
- return "/*# " + msgs + " */";
- }
- /**
- * @param {number} callback
- * @return {?}
- */
- module.exports = function(callback) {
- /** @type {Array} */
- var data = [];
- return data.toString = function() {
- return this.map(function(next) {
- var actual = fn(next, callback);
- return next[2] ? "@media " + next[2] + "{" + actual + "}" : actual;
- }).join("");
- }, data.i = function(obj, showHidden) {
- if ("string" == typeof obj) {
- /** @type {Array} */
- obj = [[null, obj, ""]];
- }
- var map = {};
- /** @type {number} */
- var i = 0;
- for (;i < this.length;i++) {
- var objUid = this[i][0];
- if ("number" == typeof objUid) {
- /** @type {boolean} */
- map[objUid] = true;
- }
- }
- /** @type {number} */
- i = 0;
- for (;i < obj.length;i++) {
- var seg = obj[i];
- if (!("number" == typeof seg[0] && map[seg[0]])) {
- if (showHidden && !seg[2]) {
- /** @type {Function} */
- seg[2] = showHidden;
- } else {
- if (showHidden) {
- /** @type {string} */
- seg[2] = "(" + seg[2] + ") and (" + showHidden + ")";
- }
- }
- data.push(seg);
- }
- }
- }, data;
- };
- }).call(next_scope, require(20).Buffer);
- }, function(module, dataAndEvents, deepDataAndEvents) {
- /** @type {RegExp} */
- var r20 = /[|\\{}()[\]^$+*?.]/g;
- /**
- * @param {number} callback
- * @return {?}
- */
- module.exports = function(callback) {
- if ("string" != typeof callback) {
- throw new TypeError("Expected a string");
- }
- return callback.replace(r20, "\\$&");
- };
- }, function(module, dataAndEvents, $sanitize) {
- var $ = $sanitize(0);
- var JsDiff = $.createClass({
- displayName : "Notify",
- key : 0,
- /**
- * @return {?}
- */
- getInitialState : function() {
- return{};
- },
- /**
- * @param {string} status
- * @param {string} resp
- * @param {number} opt_attributes
- * @return {undefined}
- */
- success : function(status, resp, opt_attributes) {
- this.addNotify(status, resp, opt_attributes, "success");
- },
- /**
- * @param {string} status
- * @param {string} opt_exception
- * @param {number} opt_attributes
- * @return {undefined}
- */
- error : function(status, opt_exception, opt_attributes) {
- this.addNotify(status, opt_exception, opt_attributes, "error");
- },
- /**
- * @param {string} property
- * @param {string} opt_exception
- * @param {number} opt_attributes
- * @return {undefined}
- */
- info : function(property, opt_exception, opt_attributes) {
- this.addNotify(property, opt_exception, opt_attributes, "info");
- },
- /**
- * @param {string} value
- * @param {string} msg
- * @param {number} opt_attributes
- * @param {string} severity
- * @return {undefined}
- */
- addNotify : function(value, msg, opt_attributes, severity) {
- /** @type {number} */
- var k = this.key++;
- this.state[k] = {
- title : value,
- msg : msg,
- time : opt_attributes,
- theme : severity
- };
- this.setState(this.state);
- this.countToHide(opt_attributes, k);
- },
- /**
- * @param {number} threshold
- * @param {Object} name
- * @return {undefined}
- */
- countToHide : function(threshold, name) {
- var rparentsprev = this;
- setTimeout(function() {
- rparentsprev.hideNotification(name);
- }, threshold);
- },
- /**
- * @param {Object} name
- * @return {undefined}
- */
- hideNotification : function(name) {
- delete this.state[name];
- this.setState(this.state);
- },
- /**
- * @return {?}
- */
- render : function() {
- /** @type {Array.<string>} */
- var value = Object.keys(this.state);
- var obj = this.state;
- var hideNotification = this.hideNotification;
- /** @type {Array.<?>} */
- var dim = value.map(function(i) {
- return $.createElement(elem, {
- id : i,
- key : i,
- theme : obj[i].theme,
- hideNotification : hideNotification,
- title : obj[i].title,
- msg : obj[i].msg
- });
- });
- return $.createElement("div", {
- className : "notify-container"
- }, dim);
- }
- });
- var elem = $.createClass({
- displayName : "Item",
- /**
- * @return {undefined}
- */
- hideNotification : function() {
- this.props.hideNotification(this.props.id);
- },
- /**
- * @return {?}
- */
- render : function() {
- return $.createElement("div", {
- className : "notify-item " + this.props.theme,
- onClick : this.hideNotification
- }, $.createElement("p", {
- className : "notify-title"
- }, this.props.title), $.createElement("p", {
- className : "notify-body"
- }, this.props.msg));
- }
- });
- module.exports = JsDiff;
- }, function(module, dataAndEvents) {
- /**
- * @param {Array} args
- * @param {Object} index
- * @return {undefined}
- */
- function start(args, index) {
- /** @type {number} */
- var idx = 0;
- for (;idx < args.length;idx++) {
- var me = args[idx];
- var data = item[me.id];
- if (data) {
- data.refs++;
- /** @type {number} */
- var i = 0;
- for (;i < data.parts.length;i++) {
- data.parts[i](me.parts[i]);
- }
- for (;i < me.parts.length;i++) {
- data.parts.push(animate(me.parts[i], index));
- }
- } else {
- /** @type {Array} */
- var parts = [];
- /** @type {number} */
- i = 0;
- for (;i < me.parts.length;i++) {
- parts.push(animate(me.parts[i], index));
- }
- item[me.id] = {
- id : me.id,
- refs : 1,
- parts : parts
- };
- }
- }
- }
- /**
- * @param {?} source
- * @return {?}
- */
- function debug(source) {
- /** @type {Array} */
- var disabled = [];
- var parts = {};
- /** @type {number} */
- var i = 0;
- for (;i < source.length;i++) {
- var node = source[i];
- var id = node[0];
- var prop = node[1];
- var q = node[2];
- var rawParams = node[3];
- var params = {
- css : prop,
- media : q,
- sourceMap : rawParams
- };
- if (parts[id]) {
- parts[id].parts.push(params);
- } else {
- disabled.push(parts[id] = {
- id : id,
- parts : [params]
- });
- }
- }
- return disabled;
- }
- /**
- * @param {Object} state
- * @param {Element} element
- * @return {undefined}
- */
- function init(state, element) {
- var head = evaluate();
- var lastLink = elements[elements.length - 1];
- if ("top" === state.insertAt) {
- if (lastLink) {
- if (lastLink.nextSibling) {
- head.insertBefore(element, lastLink.nextSibling);
- } else {
- head.appendChild(element);
- }
- } else {
- head.insertBefore(element, head.firstChild);
- }
- elements.push(element);
- } else {
- if ("bottom" !== state.insertAt) {
- throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
- }
- head.appendChild(element);
- }
- }
- /**
- * @param {Element} el
- * @return {undefined}
- */
- function remove(el) {
- el.parentNode.removeChild(el);
- /** @type {number} */
- var index = elements.indexOf(el);
- if (index >= 0) {
- elements.splice(index, 1);
- }
- }
- /**
- * @param {Object} doc
- * @return {?}
- */
- function render(doc) {
- /** @type {Element} */
- var element = document.createElement("style");
- return element.type = "text/css", init(doc, element), element;
- }
- /**
- * @param {Object} doc
- * @return {?}
- */
- function inject(doc) {
- /** @type {Element} */
- var element = document.createElement("link");
- return element.rel = "stylesheet", init(doc, element), element;
- }
- /**
- * @param {Object} options
- * @param {Object} i
- * @return {?}
- */
- function animate(options, i) {
- var e;
- var transform;
- var fn;
- if (i.singleton) {
- /** @type {number} */
- var args = v++;
- e = result || (result = render(i));
- transform = callback.bind(null, e, args, false);
- fn = callback.bind(null, e, args, true);
- } else {
- if (options.sourceMap && ("function" == typeof URL && ("function" == typeof URL.createObjectURL && ("function" == typeof URL.revokeObjectURL && ("function" == typeof Blob && "function" == typeof btoa))))) {
- e = inject(i);
- transform = compile.bind(null, e);
- /**
- * @return {undefined}
- */
- fn = function() {
- remove(e);
- if (e.href) {
- URL.revokeObjectURL(e.href);
- }
- };
- } else {
- e = render(i);
- transform = create.bind(null, e);
- /**
- * @return {undefined}
- */
- fn = function() {
- remove(e);
- };
- }
- }
- return transform(options), function(data) {
- if (data) {
- if (data.css === options.css && (data.media === options.media && data.sourceMap === options.sourceMap)) {
- return;
- }
- transform(options = data);
- } else {
- fn();
- }
- };
- }
- /**
- * @param {Node} element
- * @param {?} key
- * @param {boolean} success
- * @param {Object} options
- * @return {undefined}
- */
- function callback(element, key, success, options) {
- var message = success ? "" : options.css;
- if (element.styleSheet) {
- element.styleSheet.cssText = emit(key, message);
- } else {
- /** @type {Text} */
- var i = document.createTextNode(message);
- var children = element.childNodes;
- if (children[key]) {
- element.removeChild(children[key]);
- }
- if (children.length) {
- element.insertBefore(i, children[key]);
- } else {
- element.appendChild(i);
- }
- }
- }
- /**
- * @param {Node} element
- * @param {Object} el
- * @return {undefined}
- */
- function create(element, el) {
- var css = el.css;
- var end = el.media;
- if (end && element.setAttribute("media", end), element.styleSheet) {
- element.styleSheet.cssText = css;
- } else {
- for (;element.firstChild;) {
- element.removeChild(element.firstChild);
- }
- element.appendChild(document.createTextNode(css));
- }
- }
- /**
- * @param {StyleSheet} o
- * @param {Object} options
- * @return {undefined}
- */
- function compile(o, options) {
- var json = options.css;
- var files = options.sourceMap;
- if (files) {
- json += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(files)))) + " */";
- }
- /** @type {Blob} */
- var blob = new Blob([json], {
- type : "text/css"
- });
- var url = o.href;
- o.href = URL.createObjectURL(blob);
- if (url) {
- URL.revokeObjectURL(url);
- }
- }
- var item = {};
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- var wrapTracking = function(matcherFunction) {
- var returnValue;
- return function() {
- return "undefined" == typeof returnValue && (returnValue = matcherFunction.apply(this, arguments)), returnValue;
- };
- };
- var getActual = wrapTracking(function() {
- return/msie [6-9]\b/.test(self.navigator.userAgent.toLowerCase());
- });
- var evaluate = wrapTracking(function() {
- return document.head || document.getElementsByTagName("head")[0];
- });
- /** @type {null} */
- var result = null;
- /** @type {number} */
- var v = 0;
- /** @type {Array} */
- var elements = [];
- /**
- * @param {number} callback
- * @param {Object} options
- * @return {?}
- */
- module.exports = function(callback, options) {
- if ("undefined" != typeof DEBUG && (DEBUG && "object" != typeof document)) {
- throw new Error("The style-loader cannot be used in a non-browser environment");
- }
- options = options || {};
- if ("undefined" == typeof options.singleton) {
- options.singleton = getActual();
- }
- if ("undefined" == typeof options.insertAt) {
- /** @type {string} */
- options.insertAt = "bottom";
- }
- var a = debug(callback);
- return start(a, options), function(arg) {
- /** @type {Array} */
- var parts = [];
- /** @type {number} */
- var i = 0;
- for (;i < a.length;i++) {
- var next = a[i];
- var part = item[next.id];
- part.refs--;
- parts.push(part);
- }
- if (arg) {
- var typePattern = debug(arg);
- start(typePattern, options);
- }
- /** @type {number} */
- i = 0;
- for (;i < parts.length;i++) {
- part = parts[i];
- if (0 === part.refs) {
- /** @type {number} */
- var j = 0;
- for (;j < part.parts.length;j++) {
- part.parts[j]();
- }
- delete item[part.id];
- }
- }
- };
- };
- var emit = function() {
- /** @type {Array} */
- var files = [];
- return function(name, file) {
- return files[name] = file, files.filter(Boolean).join("\n");
- };
- }();
- }, function(options, dataAndEvents, require) {
- var app = require(44);
- if ("string" == typeof app) {
- /** @type {Array} */
- app = [[options.i, app, ""]];
- }
- require(48)(app, {});
- if (app.locals) {
- options.exports = app.locals;
- }
- }, function(module, dataAndEvents, require) {
- var util = require(25);
- /**
- * @param {number} obj
- * @param {Blob} task
- * @return {?}
- */
- module.exports = function(obj, task) {
- return new Promise(function(_callback, $) {
- /**
- * @return {?}
- */
- function init() {
- switch(obj.type.toLowerCase()) {
- case "form":
- return setup({
- "Content-Type" : "multipart/form-data"
- }), "[object FormData]" === Object.prototype.toString.call(obj.data) ? obj.data : new FormData(obj.data);
- case "url":
- return setup({
- "Content-Type" : "application/x-www-form-urlencoded"
- }), util.stringify(obj.data);
- case "json":
- return setup({
- "Content-Type" : "application/json"
- }), cb(obj.data) ? obj.data : JSON.stringify(obj.data);
- default:
- return obj.data;
- }
- }
- /**
- * @param {?} opt_attributes
- * @return {undefined}
- */
- function setup(opt_attributes) {
- var h;
- for (h in opt_attributes) {
- request.setRequestHeader(h, opt_attributes[h]);
- }
- }
- /**
- * @param {?} res
- * @return {?}
- */
- function cb(res) {
- try {
- return JSON.parse(res), true;
- } catch (e) {
- return false;
- }
- }
- /**
- * @param {(XDomainRequest|XMLHttpRequest)} request
- * @return {?}
- */
- function callback(request) {
- return function() {
- var expectationResult = request.getAllResponseHeaders();
- return next(expectationResult);
- };
- }
- /**
- * @param {string} result
- * @return {?}
- */
- function next(result) {
- var flags = {};
- if (!result) {
- return flags;
- }
- var codeSegments = result.split("\r\n");
- /** @type {number} */
- var i = 0;
- for (;i < codeSegments.length;i++) {
- var part = codeSegments[i];
- var index = part.indexOf(": ");
- if (index > 0) {
- var key = part.substring(0, index);
- var value = part.substring(index + 2);
- flags[key] = value;
- }
- }
- return flags;
- }
- if (!obj || obj + "" != "[object Object]") {
- return void $('No required parameters - "url" and "method".');
- }
- if (!obj.url) {
- return void $('Parameter "url" is required.');
- }
- if (!obj.method) {
- return void $('Parameter "method" is required.');
- }
- /** @type {XMLHttpRequest} */
- var request = new XMLHttpRequest;
- request.open(obj.method, obj.url, true);
- if (obj.data) {
- obj.data = init();
- }
- if (obj.headers) {
- setup(obj.headers);
- }
- /**
- * @return {undefined}
- */
- request.onload = function() {
- if (4 === request.readyState && 200 === request.status) {
- try {
- _callback({
- response : JSON.parse(request.response),
- headers : callback(request),
- data : task
- });
- } catch (e) {
- _callback({
- response : request.response,
- headers : callback(request),
- data : task
- });
- }
- } else {
- $(request);
- }
- };
- /**
- * @return {undefined}
- */
- request.onerror = function() {
- $(request);
- };
- request.send(obj.data);
- });
- };
- }, function(module, dataAndEvents) {
- module.exports = CRC32;
- }, function(module, dataAndEvents) {
- module.exports = Dexie;
- }, function(module, dataAndEvents) {
- module.exports = EmojiMart;
- }, function(module, dataAndEvents) {
- module.exports = Infinite;
- }, function(module, dataAndEvents) {
- module.exports = ReactContextMenu;
- }, function(module, dataAndEvents) {
- module.exports = Reorder;
- }, function(module, dataAndEvents) {
- module.exports = pako;
- }, function(value, dataAndEvents) {
- value.exports = window["rc-color-picker"];
- }, function(dataAndEvents, deepDataAndEvents, require) {
- /**
- * @param {string} options
- * @return {?}
- */
- function defaults(options) {
- return options && options.__esModule ? options : {
- default : options
- };
- }
- /**
- * @param {number} results
- * @return {?}
- */
- function makeArray(results) {
- if (Array.isArray(results)) {
- /** @type {number} */
- var i = 0;
- /** @type {Array} */
- var result = Array(results.length);
- for (;i < results.length;i++) {
- result[i] = results[i];
- }
- return result;
- }
- return Array.from(results);
- }
- /**
- * @param {Function} matcherFunction
- * @return {?}
- */
- function compose(matcherFunction) {
- return function() {
- var a = matcherFunction.apply(this, arguments);
- return new Promise(function(isNumber, fire) {
- /**
- * @param {string} action
- * @param {?} elem
- * @return {?}
- */
- function next(action, elem) {
- try {
- var q = a[action](elem);
- var val = q.value;
- } catch (memory) {
- return void fire(memory);
- }
- return q.done ? void isNumber(val) : Promise.resolve(val).then(function(arg) {
- next("next", arg);
- }, function(arg) {
- next("throw", arg);
- });
- }
- return next("next");
- });
- };
- }
- var throttledUpdate = function() {
- var matcherFunction = compose(regeneratorRuntime.mark(function wrap() {
- return regeneratorRuntime.wrap(function(current) {
- for (;;) {
- switch(current.prev = current.next) {
- case 0:
- self.default.load.apply(self.default, makeArray(opts.default.css).concat(makeArray(opts.default.js), [function() {
- var fn = require(16).default;
- new fn;
- }]));
- case 1:
- ;
- case "end":
- return current.stop();
- }
- }
- }, wrap, this);
- }));
- return function() {
- return matcherFunction.apply(this, arguments);
- };
- }();
- var conf = require(17);
- var self = defaults(conf);
- var options = require(15);
- var opts = defaults(options);
- throttledUpdate();
- }]);
Add Comment
Please, Sign In to add comment