154 skills found · Page 4 of 6
Lifestylerr / DAWD/*The MIT License (MIT) Copyright (c) 2015 Apostolique Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // ==UserScript== // @name AposLauncher // @namespace AposLauncher // @include http://agar.io/* // @version 4.124 // @grant none // @author http://www.twitch.tv/apostolique // ==/UserScript== var aposLauncherVersion = 4.124; Number.prototype.mod = function(n) { return ((this % n) + n) % n; }; Array.prototype.peek = function() { return this[this.length - 1]; }; var sha = "efde0488cc2cc176db48dd23b28a20b90314352b"; function getLatestCommit() { window.jQuery.ajax({ url: "https://api.github.com/repos/apostolique/Agar.io-bot/git/refs/heads/master", cache: false, dataType: "jsonp" }).done(function(data) { console.dir(data.data); console.log("hmm: " + data.data.object.sha); sha = data.data.object.sha; function update(prefix, name, url) { window.jQuery(document.body).prepend("<div id='" + prefix + "Dialog' style='position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 100; display: none;'>"); window.jQuery('#' + prefix + 'Dialog').append("<div id='" + prefix + "Message' style='width: 350px; background-color: #FFFFFF; margin: 100px auto; border-radius: 15px; padding: 5px 15px 5px 15px;'>"); window.jQuery('#' + prefix + 'Message').append("<h2>UPDATE TIME!!!</h2>"); window.jQuery('#' + prefix + 'Message').append("<p>Grab the update for: <a id='" + prefix + "Link' href='" + url + "' target=\"_blank\">" + name + "</a></p>"); window.jQuery('#' + prefix + 'Link').on('click', function() { window.jQuery("#" + prefix + "Dialog").hide(); window.jQuery("#" + prefix + "Dialog").remove(); }); window.jQuery("#" + prefix + "Dialog").show(); } window.jQuery.get('https://raw.githubusercontent.com/Apostolique/Agar.io-bot/master/launcher.user.js?' + Math.floor((Math.random() * 1000000) + 1), function(data) { var latestVersion = data.replace(/(\r\n|\n|\r)/gm, ""); latestVersion = latestVersion.substring(latestVersion.indexOf("// @version") + 11, latestVersion.indexOf("// @grant")); latestVersion = parseFloat(latestVersion + 0.0000); var myVersion = parseFloat(aposLauncherVersion + 0.0000); if (latestVersion > myVersion) { update("aposLauncher", "launcher.user.js", "https://github.com/Apostolique/Agar.io-bot/blob/" + sha + "/launcher.user.js/"); } console.log('Current launcher.user.js Version: ' + myVersion + " on Github: " + latestVersion); }); }).fail(function() {}); } getLatestCommit(); console.log("Running Bot Launcher!"); (function(d, e) { //UPDATE function keyAction(e) { if (84 == e.keyCode) { console.log("Toggle"); toggle = !toggle; } if (82 == e.keyCode) { console.log("ToggleDraw"); toggleDraw = !toggleDraw; } if (68 == e.keyCode) { window.setDarkTheme(!getDarkBool()); } if (70 == e.keyCode) { window.setShowMass(!getMassBool()); } if (69 == e.keyCode) { if (message.length > 0) { window.setMessage([]); window.onmouseup = function() {}; window.ignoreStream = true; } else { window.ignoreStream = false; window.refreshTwitch(); } } window.botList[botIndex].keyAction(e); } function humanPlayer() { //Don't need to do anything. return [getPointX(), getPointY()]; } function pb() { //UPDATE window.botList = window.botList || []; window.jQuery('#nick').val(originalName); function HumanPlayerObject() { this.name = "Human"; this.keyAction = function(key) {}; this.displayText = function() { return []; }; this.mainLoop = humanPlayer; } var hpo = new HumanPlayerObject(); window.botList.push(hpo); window.updateBotList(); ya = !0; Pa(); setInterval(Pa, 18E4); var father = window.jQuery("#canvas").parent(); window.jQuery("#canvas").remove(); father.prepend("<canvas id='canvas'>"); G = za = document.getElementById("canvas"); f = G.getContext("2d"); G.onmousedown = function(a) { if (Qa) { var b = a.clientX - (5 + m / 5 / 2), c = a.clientY - (5 + m / 5 / 2); if (Math.sqrt(b * b + c * c) <= m / 5 / 2) { V(); H(17); return } } fa = a.clientX; ga = a.clientY; Aa(); V(); }; G.onmousemove = function(a) { fa = a.clientX; ga = a.clientY; Aa(); }; G.onmouseup = function() {}; /firefox/i.test(navigator.userAgent) ? document.addEventListener("DOMMouseScroll", Ra, !1) : document.body.onmousewheel = Ra; var a = !1, b = !1, c = !1; d.onkeydown = function(l) { //UPDATE if (!window.jQuery('#nick').is(":focus")) { 32 != l.keyCode || a || (V(), H(17), a = !0); 81 != l.keyCode || b || (H(18), b = !0); 87 != l.keyCode || c || (V(), H(21), c = !0); 27 == l.keyCode && Sa(!0); //UPDATE keyAction(l); } }; d.onkeyup = function(l) { 32 == l.keyCode && (a = !1); 87 == l.keyCode && (c = !1); 81 == l.keyCode && b && (H(19), b = !1); }; d.onblur = function() { H(19); c = b = a = !1 }; d.onresize = Ta; d.requestAnimationFrame(Ua); setInterval(V, 40); y && e("#region").val(y); Va(); ha(e("#region").val()); 0 == Ba && y && I(); W = !0; e("#overlays").show(); Ta(); d.location.hash && 6 <= d.location.hash.length && Wa(d.location.hash) } function Ra(a) { J *= Math.pow(.9, a.wheelDelta / -120 || a.detail || 0); //UPDATE 0.07 > J && (J = 0.07); J > 4 / h && (J = 4 / h) } function qb() { if (.4 > h) X = null; else { for (var a = Number.POSITIVE_INFINITY, b = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY, l = Number.NEGATIVE_INFINITY, d = 0, p = 0; p < v.length; p++) { var g = v[p]; !g.N() || g.R || 20 >= g.size * h || (d = Math.max(g.size, d), a = Math.min(g.x, a), b = Math.min(g.y, b), c = Math.max(g.x, c), l = Math.max(g.y, l)) } X = rb.ka({ ca: a - 10, da: b - 10, oa: c + 10, pa: l + 10, ma: 2, na: 4 }); for (p = 0; p < v.length; p++) if (g = v[p], g.N() && !(20 >= g.size * h)) for (a = 0; a < g.a.length; ++a) b = g.a[a].x, c = g.a[a].y, b < s - m / 2 / h || c < t - r / 2 / h || b > s + m / 2 / h || c > t + r / 2 / h || X.m(g.a[a]) } } function Aa() { //UPDATE if (toggle || window.botList[botIndex].name == "Human") { setPoint(((fa - m / 2) / h + s), ((ga - r / 2) / h + t)); } } function Pa() { null == ka && (ka = {}, e("#region").children().each(function() { var a = e(this), b = a.val(); b && (ka[b] = a.text()) })); e.get("https://m.agar.io/info", function(a) { var b = {}, c; for (c in a.regions) { var l = c.split(":")[0]; b[l] = b[l] || 0; b[l] += a.regions[c].numPlayers } for (c in b) e('#region option[value="' + c + '"]').text(ka[c] + " (" + b[c] + " players)") }, "json") } function Xa() { e("#adsBottom").hide(); e("#overlays").hide(); W = !1; Va(); d.googletag && d.googletag.pubads && d.googletag.pubads().clear(d.aa) } function ha(a) { a && a != y && (e("#region").val() != a && e("#region").val(a), y = d.localStorage.location = a, e(".region-message").hide(), e(".region-message." + a).show(), e(".btn-needs-server").prop("disabled", !1), ya && I()) } function Sa(a) { W || (K = null, sb(), a && (x = 1), W = !0, e("#overlays").fadeIn(a ? 200 : 3E3)) } function Y(a) { e("#helloContainer").attr("data-gamemode", a); P = a; e("#gamemode").val(a) } function Va() { e("#region").val() ? d.localStorage.location = e("#region").val() : d.localStorage.location && e("#region").val(d.localStorage.location); e("#region").val() ? e("#locationKnown").append(e("#region")) : e("#locationUnknown").append(e("#region")) } function sb() { la && (la = !1, setTimeout(function() { la = !0 //UPDATE }, 6E4 * Ya)) } function Z(a) { return d.i18n[a] || d.i18n_dict.en[a] || a } function Za() { var a = ++Ba; console.log("Find " + y + P); e.ajax("https://m.agar.io/findServer", { error: function() { setTimeout(Za, 1E3) }, success: function(b) { a == Ba && (b.alert && alert(b.alert), Ca("ws://" + b.ip, b.token)) }, dataType: "json", method: "POST", cache: !1, crossDomain: !0, data: (y + P || "?") + "\n154669603" }) } function I() { ya && y && (e("#connecting").show(), Za()) } function Ca(a, b) { if (q) { q.onopen = null; q.onmessage = null; q.onclose = null; try { q.close() } catch (c) {} q = null } Da.la && (a = "ws://" + Da.la); if (null != L) { var l = L; L = function() { l(b) } } if (tb) { var d = a.split(":"); a = d[0] + "s://ip-" + d[1].replace(/\./g, "-").replace(/\//g, "") + ".tech.agar.io:" + (+d[2] + 2E3) } M = []; k = []; E = {}; v = []; Q = []; F = []; z = A = null; R = 0; $ = !1; console.log("Connecting to " + a); //UPDATE serverIP = a; q = new WebSocket(a); q.binaryType = "arraybuffer"; q.onopen = function() { var a; console.log("socket open"); a = N(5); a.setUint8(0, 254); a.setUint32(1, 5, !0); O(a); a = N(5); a.setUint8(0, 255); a.setUint32(1, 154669603, !0); O(a); a = N(1 + b.length); a.setUint8(0, 80); for (var c = 0; c < b.length; ++c) a.setUint8(c + 1, b.charCodeAt(c)); O(a); $a() }; q.onmessage = ub; q.onclose = vb; q.onerror = function() { console.log("socket error") } } function N(a) { return new DataView(new ArrayBuffer(a)) } function O(a) { q.send(a.buffer) } function vb() { $ && (ma = 500); console.log("socket close"); setTimeout(I, ma); ma *= 2 } function ub(a) { wb(new DataView(a.data)) } function wb(a) { function b() { for (var b = "";;) { var d = a.getUint16(c, !0); c += 2; if (0 == d) break; b += String.fromCharCode(d) } return b } var c = 0; 240 == a.getUint8(c) && (c += 5); switch (a.getUint8(c++)) { case 16: xb(a, c); break; case 17: aa = a.getFloat32(c, !0); c += 4; ba = a.getFloat32(c, !0); c += 4; ca = a.getFloat32(c, !0); c += 4; break; case 20: k = []; M = []; break; case 21: Ea = a.getInt16(c, !0); c += 2; Fa = a.getInt16(c, !0); c += 2; Ga || (Ga = !0, na = Ea, oa = Fa); break; case 32: M.push(a.getUint32(c, !0)); c += 4; break; case 49: if (null != A) break; var l = a.getUint32(c, !0), c = c + 4; F = []; for (var d = 0; d < l; ++d) { var p = a.getUint32(c, !0), c = c + 4; F.push({ id: p, name: b() }) } ab(); break; case 50: A = []; l = a.getUint32(c, !0); c += 4; for (d = 0; d < l; ++d) A.push(a.getFloat32(c, !0)), c += 4; ab(); break; case 64: pa = a.getFloat64(c, !0); c += 8; qa = a.getFloat64(c, !0); c += 8; ra = a.getFloat64(c, !0); c += 8; sa = a.getFloat64(c, !0); c += 8; aa = (ra + pa) / 2; ba = (sa + qa) / 2; ca = 1; 0 == k.length && (s = aa, t = ba, h = ca); break; case 81: var g = a.getUint32(c, !0), c = c + 4, e = a.getUint32(c, !0), c = c + 4, f = a.getUint32(c, !0), c = c + 4; setTimeout(function() { S({ e: g, f: e, d: f }) }, 1200) } } function xb(a, b) { bb = C = Date.now(); $ || ($ = !0, e("#connecting").hide(), cb(), L && (L(), L = null)); var c = Math.random(); Ha = !1; var d = a.getUint16(b, !0); b += 2; for (var u = 0; u < d; ++u) { var p = E[a.getUint32(b, !0)], g = E[a.getUint32(b + 4, !0)]; b += 8; p && g && (g.X(), g.s = g.x, g.t = g.y, g.r = g.size, g.J = p.x, g.K = p.y, g.q = g.size, g.Q = C) } for (u = 0;;) { d = a.getUint32(b, !0); b += 4; if (0 == d) break; ++u; var f, p = a.getInt16(b, !0); b += 4; g = a.getInt16(b, !0); b += 4; f = a.getInt16(b, !0); b += 2; for (var h = a.getUint8(b++), w = a.getUint8(b++), m = a.getUint8(b++), h = (h << 16 | w << 8 | m).toString(16); 6 > h.length;) h = "0" + h; var h = "#" + h, w = a.getUint8(b++), m = !!(w & 1), r = !!(w & 16); w & 2 && (b += 4); w & 4 && (b += 8); w & 8 && (b += 16); for (var q, n = "";;) { q = a.getUint16(b, !0); b += 2; if (0 == q) break; n += String.fromCharCode(q) } q = n; n = null; E.hasOwnProperty(d) ? (n = E[d], n.P(), n.s = n.x, n.t = n.y, n.r = n.size, n.color = h) : (n = new da(d, p, g, f, h, q), v.push(n), E[d] = n, n.ua = p, n.va = g); n.h = m; n.n = r; n.J = p; n.K = g; n.q = f; n.sa = c; n.Q = C; n.ba = w; q && n.B(q); - 1 != M.indexOf(d) && -1 == k.indexOf(n) && (document.getElementById("overlays").style.display = "none", k.push(n), n.birth = getLastUpdate(), n.birthMass = (n.size * n.size / 100), 1 == k.length && (s = n.x, t = n.y, db())) //UPDATE interNodes[d] = window.getCells()[d]; } //UPDATE Object.keys(interNodes).forEach(function(element, index) { //console.log("start: " + interNodes[element].updateTime + " current: " + D + " life: " + (D - interNodes[element].updateTime)); var isRemoved = !window.getCells().hasOwnProperty(element); //console.log("Time not updated: " + (window.getLastUpdate() - interNodes[element].getUptimeTime())); if (isRemoved && (window.getLastUpdate() - interNodes[element].getUptimeTime()) > 3000) { delete interNodes[element]; } else { for (var i = 0; i < getPlayer().length; i++) { if (isRemoved && computeDistance(getPlayer()[i].x, getPlayer()[i].y, interNodes[element].x, interNodes[element].y) < getPlayer()[i].size + 710) { delete interNodes[element]; break; } } } }); c = a.getUint32(b, !0); b += 4; for (u = 0; u < c; u++) d = a.getUint32(b, !0), b += 4, n = E[d], null != n && n.X(); //UPDATE //Ha && 0 == k.length && Sa(!1) } //UPDATE function computeDistance(x1, y1, x2, y2) { var xdis = x1 - x2; // <--- FAKE AmS OF COURSE! var ydis = y1 - y2; var distance = Math.sqrt(xdis * xdis + ydis * ydis); return distance; } /** * Some horse shit of some sort. * @return Horse Shit */ function screenDistance() { return Math.min(computeDistance(getOffsetX(), getOffsetY(), screenToGameX(getWidth()), getOffsetY()), computeDistance(getOffsetX(), getOffsetY(), getOffsetX(), screenToGameY(getHeight()))); } window.verticalDistance = function() { return computeDistance(screenToGameX(0), screenToGameY(0), screenToGameX(getWidth()), screenToGameY(getHeight())); } /** * A conversion from the screen's horizontal coordinate system * to the game's horizontal coordinate system. * @param x in the screen's coordinate system * @return x in the game's coordinate system */ window.screenToGameX = function(x) { return (x - getWidth() / 2) / getRatio() + getX(); } /** * A conversion from the screen's vertical coordinate system * to the game's vertical coordinate system. * @param y in the screen's coordinate system * @return y in the game's coordinate system */ window.screenToGameY = function(y) { return (y - getHeight() / 2) / getRatio() + getY(); } window.drawPoint = function(x_1, y_1, drawColor, text) { if (!toggleDraw) { dPoints.push([x_1, y_1, drawColor]); dText.push(text); } } window.drawArc = function(x_1, y_1, x_2, y_2, x_3, y_3, drawColor) { if (!toggleDraw) { var radius = computeDistance(x_1, y_1, x_3, y_3); dArc.push([x_1, y_1, x_2, y_2, x_3, y_3, radius, drawColor]); } } window.drawLine = function(x_1, y_1, x_2, y_2, drawColor) { if (!toggleDraw) { lines.push([x_1, y_1, x_2, y_2, drawColor]); } } window.drawCircle = function(x_1, y_1, radius, drawColor) { if (!toggleDraw) { circles.push([x_1, y_1, radius, drawColor]); } } function V() { //UPDATE if (getPlayer().length == 0 && !reviving && ~~(getCurrentScore() / 100) > 0) { console.log("Dead: " + ~~(getCurrentScore() / 100)); apos('send', 'pageview'); } if (getPlayer().length == 0) { console.log("Revive"); setNick(originalName); reviving = true; } else if (getPlayer().length > 0 && reviving) { reviving = false; console.log("Done Reviving!"); } if (T()) { var a = fa - m / 2; var b = ga - r / 2; 64 > a * a + b * b || .01 > Math.abs(eb - ia) && .01 > Math.abs(fb - ja) || (eb = ia, fb = ja, a = N(13), a.setUint8(0, 16), a.setInt32(1, ia, !0), a.setInt32(5, ja, !0), a.setUint32(9, 0, !0), O(a)) } } function cb() { if (T() && $ && null != K) { var a = N(1 + 2 * K.length); a.setUint8(0, 0); for (var b = 0; b < K.length; ++b) a.setUint16(1 + 2 * b, K.charCodeAt(b), !0); O(a) } } function T() { return null != q && q.readyState == q.OPEN } window.opCode = function(a) { console.log("Sending op code."); H(parseInt(a)); } function H(a) { if (T()) { var b = N(1); b.setUint8(0, a); O(b) } } function $a() { if (T() && null != B) { var a = N(1 + B.length); a.setUint8(0, 81); for (var b = 0; b < B.length; ++b) a.setUint8(b + 1, B.charCodeAt(b)); O(a) } } function Ta() { m = d.innerWidth; r = d.innerHeight; za.width = G.width = m; za.height = G.height = r; var a = e("#helloContainer"); a.css("transform", "none"); var b = a.height(), c = d.innerHeight; b > c / 1.1 ? a.css("transform", "translate(-50%, -50%) scale(" + c / b / 1.1 + ")") : a.css("transform", "translate(-50%, -50%)"); gb() } function hb() { var a; a = Math.max(r / 1080, m / 1920); return a *= J } function yb() { if (0 != k.length) { for (var a = 0, b = 0; b < k.length; b++) a += k[b].size; a = Math.pow(Math.min(64 / a, 1), .4) * hb(); h = (9 * h + a) / 10 } } function gb() { //UPDATE dPoints = []; circles = []; dArc = []; dText = []; lines = []; var a, b = Date.now(); ++zb; C = b; if (0 < k.length) { yb(); for (var c = a = 0, d = 0; d < k.length; d++) k[d].P(), a += k[d].x / k.length, c += k[d].y / k.length; aa = a; ba = c; ca = h; s = (s + a) / 2; t = (t + c) / 2; } else s = (29 * s + aa) / 30, t = (29 * t + ba) / 30, h = (9 * h + ca * hb()) / 10; qb(); Aa(); Ia || f.clearRect(0, 0, m, r); Ia ? (f.fillStyle = ta ? "#111111" : "#F2FBFF", f.globalAlpha = .05, f.fillRect(0, 0, m, r), f.globalAlpha = 1) : Ab(); v.sort(function(a, b) { return a.size == b.size ? a.id - b.id : a.size - b.size }); f.save(); f.translate(m / 2, r / 2); f.scale(h, h); f.translate(-s, -t); //UPDATE f.save(); f.beginPath(); f.lineWidth = 5; f.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapStartX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapEndX(), getMapStartY()); f.stroke(); f.moveTo(getMapEndX(), getMapStartY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapEndY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.restore(); for (d = 0; d < v.length; d++) v[d].w(f); for (d = 0; d < Q.length; d++) Q[d].w(f); //UPDATE if (getPlayer().length > 0) { var moveLoc = window.botList[botIndex].mainLoop(); if (!toggle) { setPoint(moveLoc[0], moveLoc[1]); } } customRender(f); if (Ga) { na = (3 * na + Ea) / 4; oa = (3 * oa + Fa) / 4; f.save(); f.strokeStyle = "#FFAAAA"; f.lineWidth = 10; f.lineCap = "round"; f.lineJoin = "round"; f.globalAlpha = .5; f.beginPath(); for (d = 0; d < k.length; d++) f.moveTo(k[d].x, k[d].y), f.lineTo(na, oa); f.stroke(); f.restore(); } f.restore(); z && z.width && f.drawImage(z, m - z.width - 10, 10); R = Math.max(R, Bb()); //UPDATE var currentDate = new Date(); var nbSeconds = 0; if (getPlayer().length > 0) { //nbSeconds = currentDate.getSeconds() + currentDate.getMinutes() * 60 + currentDate.getHours() * 3600 - lifeTimer.getSeconds() - lifeTimer.getMinutes() * 60 - lifeTimer.getHours() * 3600; nbSeconds = (currentDate.getTime() - lifeTimer.getTime()) / 1000; } bestTime = Math.max(nbSeconds, bestTime); var displayText = 'Score: ' + ~~(R / 100) + " Current Time: " + nbSeconds + " seconds."; 0 != R && (null == ua && (ua = new va(24, "#FFFFFF")), ua.C(displayText), c = ua.L(), a = c.width, f.globalAlpha = .2, f.fillStyle = "#000000", f.fillRect(10, r - 10 - 24 - 10, a + 10, 34), f.globalAlpha = 1, f.drawImage(c, 15, r - 10 - 24 - 5)); Cb(); b = Date.now() - b; b > 1E3 / 60 ? D -= .01 : b < 1E3 / 65 && (D += .01);.4 > D && (D = .4); 1 < D && (D = 1); b = C - ib; !T() || W ? (x += b / 2E3, 1 < x && (x = 1)) : (x -= b / 300, 0 > x && (x = 0)); 0 < x && (f.fillStyle = "#000000", f.globalAlpha = .5 * x, f.fillRect(0, 0, m, r), f.globalAlpha = 1); ib = C drawStats(f); } //UPDATE function customRender(d) { d.save(); for (var i = 0; i < lines.length; i++) { d.beginPath(); d.lineWidth = 5; if (lines[i][4] == 0) { d.strokeStyle = "#FF0000"; } else if (lines[i][4] == 1) { d.strokeStyle = "#00FF00"; } else if (lines[i][4] == 2) { d.strokeStyle = "#0000FF"; } else if (lines[i][4] == 3) { d.strokeStyle = "#FF8000"; } else if (lines[i][4] == 4) { d.strokeStyle = "#8A2BE2"; } else if (lines[i][4] == 5) { d.strokeStyle = "#FF69B4"; } else if (lines[i][4] == 6) { d.strokeStyle = "#008080"; } else if (lines[i][4] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.moveTo(lines[i][0], lines[i][1]); d.lineTo(lines[i][2], lines[i][3]); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < circles.length; i++) { if (circles[i][3] == 0) { d.strokeStyle = "#FF0000"; } else if (circles[i][3] == 1) { d.strokeStyle = "#00FF00"; } else if (circles[i][3] == 2) { d.strokeStyle = "#0000FF"; } else if (circles[i][3] == 3) { d.strokeStyle = "#FF8000"; } else if (circles[i][3] == 4) { d.strokeStyle = "#8A2BE2"; } else if (circles[i][3] == 5) { d.strokeStyle = "#FF69B4"; } else if (circles[i][3] == 6) { d.strokeStyle = "#008080"; } else if (circles[i][3] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 10; //d.setLineDash([5]); d.globalAlpha = 0.3; d.arc(circles[i][0], circles[i][1], circles[i][2], 0, 2 * Math.PI, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dArc.length; i++) { if (dArc[i][7] == 0) { d.strokeStyle = "#FF0000"; } else if (dArc[i][7] == 1) { d.strokeStyle = "#00FF00"; } else if (dArc[i][7] == 2) { d.strokeStyle = "#0000FF"; } else if (dArc[i][7] == 3) { d.strokeStyle = "#FF8000"; } else if (dArc[i][7] == 4) { d.strokeStyle = "#8A2BE2"; } else if (dArc[i][7] == 5) { d.strokeStyle = "#FF69B4"; } else if (dArc[i][7] == 6) { d.strokeStyle = "#008080"; } else if (dArc[i][7] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 5; var ang1 = Math.atan2(dArc[i][1] - dArc[i][5], dArc[i][0] - dArc[i][4]); var ang2 = Math.atan2(dArc[i][3] - dArc[i][5], dArc[i][2] - dArc[i][4]); d.arc(dArc[i][4], dArc[i][5], dArc[i][6], ang1, ang2, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dPoints.length; i++) { if (dText[i] == "") { var radius = 10; d.beginPath(); d.arc(dPoints[i][0], dPoints[i][1], radius, 0, 2 * Math.PI, false); if (dPoints[i][2] == 0) { d.fillStyle = "black"; } else if (dPoints[i][2] == 1) { d.fillStyle = "yellow"; } else if (dPoints[i][2] == 2) { d.fillStyle = "blue"; } else if (dPoints[i][2] == 3) { d.fillStyle = "red"; } else if (dPoints[i][2] == 4) { d.fillStyle = "#008080"; } else if (dPoints[i][2] == 5) { d.fillStyle = "#FF69B4"; } else { d.fillStyle = "#000000"; } d.fill(); d.lineWidth = 2; d.strokeStyle = '#003300'; d.stroke(); } else { var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111'), true, (getDarkBool() ? '#111111' : '#F2FBFF')); text.C(dText[i]); var textRender = text.L(); d.drawImage(textRender, dPoints[i][0] - (textRender.width / 2), dPoints[i][1] - (textRender.height / 2)); } } d.restore(); } function drawStats(d) { d.save() sessionScore = Math.max(getCurrentScore(), sessionScore); var botString = window.botList[botIndex].displayText(); var debugStrings = []; debugStrings.push("Bot: " + window.botList[botIndex].name); debugStrings.push("Launcher: AposLauncher " + aposLauncherVersion); debugStrings.push("T - Bot: " + (!toggle ? "On" : "Off")); debugStrings.push("R - Lines: " + (!toggleDraw ? "On" : "Off")); for (var i = 0; i < botString.length; i++) { debugStrings.push(botString[i]); } debugStrings.push(""); debugStrings.push("Best Score: " + ~~(sessionScore / 100)); debugStrings.push("Best Time: " + bestTime + " seconds"); debugStrings.push(""); debugStrings.push(serverIP); if (getPlayer().length > 0) { var offsetX = -getMapStartX(); var offsetY = -getMapStartY(); debugStrings.push("Location: " + Math.floor(getPlayer()[0].x + offsetX) + ", " + Math.floor(getPlayer()[0].y + offsetY)); } var offsetValue = 20; var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111')); for (var i = 0; i < debugStrings.length; i++) { text.C(debugStrings[i]); var textRender = text.L(); d.drawImage(textRender, 20, offsetValue); offsetValue += textRender.height; } if (message.length > 0) { var mRender = []; var mWidth = 0; var mHeight = 0; for (var i = 0; i < message.length; i++) { var mText = new va(28, '#FF0000', true, '#000000'); mText.C(message[i]); mRender.push(mText.L()); if (mRender[i].width > mWidth) { mWidth = mRender[i].width; } mHeight += mRender[i].height; } var mX = getWidth() / 2 - mWidth / 2; var mY = 20; d.globalAlpha = 0.4; d.fillStyle = '#000000'; d.fillRect(mX - 10, mY - 10, mWidth + 20, mHeight + 20); d.globalAlpha = 1; var mOffset = mY; for (var i = 0; i < mRender.length; i++) { d.drawImage(mRender[i], getWidth() / 2 - mRender[i].width / 2, mOffset); mOffset += mRender[i].height; } } d.restore(); } function Ab() { f.fillStyle = ta ? "#111111" : "#F2FBFF"; f.fillRect(0, 0, m, r); f.save(); f.strokeStyle = ta ? "#AAAAAA" : "#000000"; f.globalAlpha = .2 * h; for (var a = m / h, b = r / h, c = (a / 2 - s) % 50; c < a; c += 50) f.beginPath(), f.moveTo(c * h - .5, 0), f.lineTo(c * h - .5, b * h), f.stroke(); for (c = (b / 2 - t) % 50; c < b; c += 50) f.beginPath(), f.moveTo(0, c * h - .5), f.lineTo(a * h, c * h - .5), f.stroke(); f.restore() } function Cb() { if (Qa && Ja.width) { var a = m / 5; f.drawImage(Ja, 5, 5, a, a) } } function Bb() { for (var a = 0, b = 0; b < k.length; b++) a += k[b].q * k[b].q; return a } function ab() { z = null; if (null != A || 0 != F.length) if (null != A || wa) { z = document.createElement("canvas"); var a = z.getContext("2d"), b = 60, b = null == A ? b + 24 * F.length : b + 180, c = Math.min(200, .3 * m) / 200; z.width = 200 * c; z.height = b * c; a.scale(c, c); a.globalAlpha = .4; a.fillStyle = "#000000"; a.fillRect(0, 0, 200, b); a.globalAlpha = 1; a.fillStyle = "#FFFFFF"; c = null; c = Z("leaderboard"); a.font = "30px Ubuntu"; a.fillText(c, 100 - a.measureText(c).width / 2, 40); if (null == A) for (a.font = "20px Ubuntu", b = 0; b < F.length; ++b) c = F[b].name || Z("unnamed_cell"), wa || (c = Z("unnamed_cell")), -1 != M.indexOf(F[b].id) ? (k[0].name && (c = k[0].name), a.fillStyle = "#FFAAAA") : a.fillStyle = "#FFFFFF", c = b + 1 + ". " + c, a.fillText(c, 100 - a.measureText(c).width / 2, 70 + 24 * b); else for (b = c = 0; b < A.length; ++b) { var d = c + A[b] * Math.PI * 2; a.fillStyle = Db[b + 1]; a.beginPath(); a.moveTo(100, 140); a.arc(100, 140, 80, c, d, !1); a.fill(); c = d } } } function Ka(a, b, c, d, e) { this.V = a; this.x = b; this.y = c; this.i = d; this.b = e } function da(a, b, c, d, e, p) { this.id = a; this.s = this.x = b; this.t = this.y = c; this.r = this.size = d; this.color = e; this.a = []; this.W(); this.B(p) } function va(a, b, c, d) { a && (this.u = a); b && (this.S = b); this.U = !!c; d && (this.v = d) } function S(a, b) { var c = "1" == e("#helloContainer").attr("data-has-account-data"); e("#helloContainer").attr("data-has-account-data", "1"); if (null == b && d.localStorage.loginCache) { var l = JSON.parse(d.localStorage.loginCache); l.f = a.f; l.d = a.d; l.e = a.e; d.localStorage.loginCache = JSON.stringify(l) } if (c) { var u = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[0], c = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[1].split(" ")[0], l = e(".agario-profile-panel .progress-bar-star").first().text(); if (l != a.e) S({ f: c, d: c, e: l }, function() { e(".agario-profile-panel .progress-bar-star").text(a.e); e(".agario-exp-bar .progress-bar").css("width", "100%"); e(".progress-bar-star").addClass("animated tada").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() { e(".progress-bar-star").removeClass("animated tada") }); setTimeout(function() { e(".agario-exp-bar .progress-bar-text").text(a.d + "/" + a.d + " XP"); S({ f: 0, d: a.d, e: a.e }, function() { S(a, b) }) }, 1E3) }); else { var p = Date.now(), g = function() { var c; c = (Date.now() - p) / 1E3; c = 0 > c ? 0 : 1 < c ? 1 : c; c = c * c * (3 - 2 * c); e(".agario-exp-bar .progress-bar-text").text(~~(u + (a.f - u) * c) + "/" + a.d + " XP"); e(".agario-exp-bar .progress-bar").css("width", (88 * (u + (a.f - u) * c) / a.d).toFixed(2) + "%"); 1 > c ? d.requestAnimationFrame(g) : b && b() }; d.requestAnimationFrame(g) } } else e(".agario-profile-panel .progress-bar-star").text(a.e), e(".agario-exp-bar .progress-bar-text").text(a.f + "/" + a.d + " XP"), e(".agario-exp-bar .progress-bar").css("width", (88 * a.f / a.d).toFixed(2) + "%"), b && b() } function jb(a) { "string" == typeof a && (a = JSON.parse(a)); Date.now() + 18E5 > a.ja ? e("#helloContainer").attr("data-logged-in", "0") : (d.localStorage.loginCache = JSON.stringify(a), B = a.fa, e(".agario-profile-name").text(a.name), $a(), S({ f: a.f, d: a.d, e: a.e }), e("#helloContainer").attr("data-logged-in", "1")) } function Eb(a) { a = a.split("\n"); jb({ name: a[0], ta: a[1], fa: a[2], ja: 1E3 * +a[3], e: +a[4], f: +a[5], d: +a[6] }); console.log("Hello Facebook?"); } function La(a) { if ("connected" == a.status) { var b = a.authResponse.accessToken; d.FB.api("/me/picture?width=180&height=180", function(a) { d.localStorage.fbPictureCache = a.data.url; e(".agario-profile-picture").attr("src", a.data.url) }); e("#helloContainer").attr("data-logged-in", "1"); null != B ? e.ajax("https://m.agar.io/checkToken", { error: function() { console.log("Facebook Fail!"); B = null; La(a) }, success: function(a) { a = a.split("\n"); S({ e: +a[0], f: +a[1], d: +a[2] }); console.log("Facebook connected!"); }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: B }) : e.ajax("https://m.agar.io/facebookLogin", { error: function() { console.log("You have a Facebook problem!"); B = null; e("#helloContainer").attr("data-logged-in", "0") }, success: Eb, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: b }) } } function Wa(a) { Y(":party"); e("#helloContainer").attr("data-party-state", "4"); a = decodeURIComponent(a).replace(/.*#/gim, ""); Ma("#" + d.encodeURIComponent(a)); e.ajax(Na + "//m.agar.io/getToken", { error: function() { e("#helloContainer").attr("data-party-state", "6") }, success: function(b) { b = b.split("\n"); e(".partyToken").val("agar.io/#" + d.encodeURIComponent(a)); e("#helloContainer").attr("data-party-state", "5"); Y(":party"); Ca("ws://" + b[0], a) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: a }) } function Ma(a) { d.history && d.history.replaceState && d.history.replaceState({}, d.document.title, a) } if (!d.agarioNoInit) { var Na = d.location.protocol, tb = "https:" == Na, xa = d.navigator.userAgent; if (-1 != xa.indexOf("Android")) d.ga && d.ga("send", "event", "MobileRedirect", "PlayStore"), setTimeout(function() { d.location.href = "market://details?id=com.miniclip.agar.io" }, 1E3); else if (-1 != xa.indexOf("iPhone") || -1 != xa.indexOf("iPad") || -1 != xa.indexOf("iPod")) d.ga && d.ga("send", "event", "MobileRedirect", "AppStore"), setTimeout(function() { d.location.href = "https://itunes.apple.com/app/agar.io/id995999703" }, 1E3); else { var za, f, G, m, r, X = null, //UPDATE toggle = false, toggleDraw = false, tempPoint = [0, 0, 1], dPoints = [], circles = [], dArc = [], dText = [], lines = [], names = ["NotReallyABot"], originalName = names[Math.floor(Math.random() * names.length)], sessionScore = 0, serverIP = "", interNodes = [], lifeTimer = new Date(), bestTime = 0, botIndex = 0, reviving = false, message = [], q = null, s = 0, t = 0, M = [], k = [], E = {}, v = [], Q = [], F = [], fa = 0, ga = 0, //UPDATE ia = -1, ja = -1, zb = 0, C = 0, ib = 0, K = null, pa = 0, qa = 0, ra = 1E4, sa = 1E4, h = 1, y = null, kb = !0, wa = !0, Oa = !1, Ha = !1, R = 0, ta = !1, lb = !1, aa = s = ~~((pa + ra) / 2), ba = t = ~~((qa + sa) / 2), ca = 1, P = "", A = null, ya = !1, Ga = !1, Ea = 0, Fa = 0, na = 0, oa = 0, mb = 0, Db = ["#333333", "#FF3333", "#33FF33", "#3333FF"], Ia = !1, $ = !1, bb = 0, B = null, J = 1, x = 1, W = !0, Ba = 0, Da = {}; (function() { var a = d.location.search; "?" == a.charAt(0) && (a = a.slice(1)); for (var a = a.split("&"), b = 0; b < a.length; b++) { var c = a[b].split("="); Da[c[0]] = c[1] } })(); var Qa = "ontouchstart" in d && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(d.navigator.userAgent), Ja = new Image; Ja.src = "img/split.png"; var nb = document.createElement("canvas"); if ("undefined" == typeof console || "undefined" == typeof DataView || "undefined" == typeof WebSocket || null == nb || null == nb.getContext || null == d.localStorage) alert("You browser does not support this game, we recommend you to use Firefox to play this"); else { var ka = null; d.setNick = function(a) { //UPDATE originalName = a; if (getPlayer().length == 0) { lifeTimer = new Date(); } Xa(); K = a; cb(); R = 0 }; d.setRegion = ha; d.setSkins = function(a) { kb = a }; d.setNames = function(a) { wa = a }; d.setDarkTheme = function(a) { ta = a }; d.setColors = function(a) { Oa = a }; d.setShowMass = function(a) { lb = a }; d.spectate = function() { K = null; H(1); Xa() }; d.setGameMode = function(a) { a != P && (":party" == P && e("#helloContainer").attr("data-party-state", "0"), Y(a), ":party" != a && I()) }; d.setAcid = function(a) { Ia = a }; null != d.localStorage && (null == d.localStorage.AB9 && (d.localStorage.AB9 = 0 + ~~(100 * Math.random())), mb = +d.localStorage.AB9, d.ABGroup = mb); e.get(Na + "//gc.agar.io", function(a) { var b = a.split(" "); a = b[0]; b = b[1] || ""; - 1 == ["UA"].indexOf(a) && ob.push("ussr"); ea.hasOwnProperty(a) && ("string" == typeof ea[a] ? y || ha(ea[a]) : ea[a].hasOwnProperty(b) && (y || ha(ea[a][b]))) }, "text"); d.ga && d.ga("send", "event", "User-Agent", d.navigator.userAgent, { nonInteraction: 1 }); var la = !1, Ya = 0; setTimeout(function() { la = !0 }, Math.max(6E4 * Ya, 1E4)); var ea = { AF: "JP-Tokyo", AX: "EU-London", AL: "EU-London", DZ: "EU-London", AS: "SG-Singapore", AD: "EU-London", AO: "EU-London", AI: "US-Atlanta", AG: "US-Atlanta", AR: "BR-Brazil", AM: "JP-Tokyo", AW: "US-Atlanta", AU: "SG-Singapore", AT: "EU-London", AZ: "JP-Tokyo", BS: "US-Atlanta", BH: "JP-Tokyo", BD: "JP-Tokyo", BB: "US-Atlanta", BY: "EU-London", BE: "EU-London", BZ: "US-Atlanta", BJ: "EU-London", BM: "US-Atlanta", BT: "JP-Tokyo", BO: "BR-Brazil", BQ: "US-Atlanta", BA: "EU-London", BW: "EU-London", BR: "BR-Brazil", IO: "JP-Tokyo", VG: "US-Atlanta", BN: "JP-Tokyo", BG: "EU-London", BF: "EU-London", BI: "EU-London", KH: "JP-Tokyo", CM: "EU-London", CA: "US-Atlanta", CV: "EU-London", KY: "US-Atlanta", CF: "EU-London", TD: "EU-London", CL: "BR-Brazil", CN: "CN-China", CX: "JP-Tokyo", CC: "JP-Tokyo", CO: "BR-Brazil", KM: "EU-London", CD: "EU-London", CG: "EU-London", CK: "SG-Singapore", CR: "US-Atlanta", CI: "EU-London", HR: "EU-London", CU: "US-Atlanta", CW: "US-Atlanta", CY: "JP-Tokyo", CZ: "EU-London", DK: "EU-London", DJ: "EU-London", DM: "US-Atlanta", DO: "US-Atlanta", EC: "BR-Brazil", EG: "EU-London", SV: "US-Atlanta", GQ: "EU-London", ER: "EU-London", EE: "EU-London", ET: "EU-London", FO: "EU-London", FK: "BR-Brazil", FJ: "SG-Singapore", FI: "EU-London", FR: "EU-London", GF: "BR-Brazil", PF: "SG-Singapore", GA: "EU-London", GM: "EU-London", GE: "JP-Tokyo", DE: "EU-London", GH: "EU-London", GI: "EU-London", GR: "EU-London", GL: "US-Atlanta", GD: "US-Atlanta", GP: "US-Atlanta", GU: "SG-Singapore", GT: "US-Atlanta", GG: "EU-London", GN: "EU-London", GW: "EU-London", GY: "BR-Brazil", HT: "US-Atlanta", VA: "EU-London", HN: "US-Atlanta", HK: "JP-Tokyo", HU: "EU-London", IS: "EU-London", IN: "JP-Tokyo", ID: "JP-Tokyo", IR: "JP-Tokyo", IQ: "JP-Tokyo", IE: "EU-London", IM: "EU-London", IL: "JP-Tokyo", IT: "EU-London", JM: "US-Atlanta", JP: "JP-Tokyo", JE: "EU-London", JO: "JP-Tokyo", KZ: "JP-Tokyo", KE: "EU-London", KI: "SG-Singapore", KP: "JP-Tokyo", KR: "JP-Tokyo", KW: "JP-Tokyo", KG: "JP-Tokyo", LA: "JP-Tokyo", LV: "EU-London", LB: "JP-Tokyo", LS: "EU-London", LR: "EU-London", LY: "EU-London", LI: "EU-London", LT: "EU-London", LU: "EU-London", MO: "JP-Tokyo", MK: "EU-London", MG: "EU-London", MW: "EU-London", MY: "JP-Tokyo", MV: "JP-Tokyo", ML: "EU-London", MT: "EU-London", MH: "SG-Singapore", MQ: "US-Atlanta", MR: "EU-London", MU: "EU-London", YT: "EU-London", MX: "US-Atlanta", FM: "SG-Singapore", MD: "EU-London", MC: "EU-London", MN: "JP-Tokyo", ME: "EU-London", MS: "US-Atlanta", MA: "EU-London", MZ: "EU-London", MM: "JP-Tokyo", NA: "EU-London", NR: "SG-Singapore", NP: "JP-Tokyo", NL: "EU-London", NC: "SG-Singapore", NZ: "SG-Singapore", NI: "US-Atlanta", NE: "EU-London", NG: "EU-London", NU: "SG-Singapore", NF: "SG-Singapore", MP: "SG-Singapore", NO: "EU-London", OM: "JP-Tokyo", PK: "JP-Tokyo", PW: "SG-Singapore", PS: "JP-Tokyo", PA: "US-Atlanta", PG: "SG-Singapore", PY: "BR-Brazil", PE: "BR-Brazil", PH: "JP-Tokyo", PN: "SG-Singapore", PL: "EU-London", PT: "EU-London", PR: "US-Atlanta", QA: "JP-Tokyo", RE: "EU-London", RO: "EU-London", RU: "RU-Russia", RW: "EU-London", BL: "US-Atlanta", SH: "EU-London", KN: "US-Atlanta", LC: "US-Atlanta", MF: "US-Atlanta", PM: "US-Atlanta", VC: "US-Atlanta", WS: "SG-Singapore", SM: "EU-London", ST: "EU-London", SA: "EU-London", SN: "EU-London", RS: "EU-London", SC: "EU-London", SL: "EU-London", SG: "JP-Tokyo", SX: "US-Atlanta", SK: "EU-London", SI: "EU-London", SB: "SG-Singapore", SO: "EU-London", ZA: "EU-London", SS: "EU-London", ES: "EU-London", LK: "JP-Tokyo", SD: "EU-London", SR: "BR-Brazil", SJ: "EU-London", SZ: "EU-London", SE: "EU-London", CH: "EU-London", SY: "EU-London", TW: "JP-Tokyo", TJ: "JP-Tokyo", TZ: "EU-London", TH: "JP-Tokyo", TL: "JP-Tokyo", TG: "EU-London", TK: "SG-Singapore", TO: "SG-Singapore", TT: "US-Atlanta", TN: "EU-London", TR: "TK-Turkey", TM: "JP-Tokyo", TC: "US-Atlanta", TV: "SG-Singapore", UG: "EU-London", UA: "EU-London", AE: "EU-London", GB: "EU-London", US: "US-Atlanta", UM: "SG-Singapore", VI: "US-Atlanta", UY: "BR-Brazil", UZ: "JP-Tokyo", VU: "SG-Singapore", VE: "BR-Brazil", VN: "JP-Tokyo", WF: "SG-Singapore", EH: "EU-London", YE: "JP-Tokyo", ZM: "EU-London", ZW: "EU-London" }, L = null; d.connect = Ca; //UPDATE /** * Tells you if the game is in Dark mode. * @return Boolean for dark mode. */ window.getDarkBool = function() { return ta; } /** * Tells you if the mass is shown. * @return Boolean for player's mass. */ window.getMassBool = function() { return lb; } /** * This is a copy of everything that is shown on screen. * Normally stuff will time out when off the screen, this * memorizes everything that leaves the screen for a little * while longer. * @return The memory object. */ window.getMemoryCells = function() { return interNodes; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCellsArray = function() { return v; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCells = function() { return E; } /** * Returns an array with all the player's cells. * @return Player's cells */ window.getPlayer = function() { return k; } /** * The canvas' width. * @return Integer Width */ window.getWidth = function() { return m; } /** * The canvas' height * @return Integer Height */ window.getHeight = function() { return r; } /** * Scaling ratio of the canvas. The bigger this ration, * the further that you see. * @return Screen scaling ratio. */ window.getRatio = function() { return h; } /** * [getOffsetX description] * @return {[type]} [description] */ window.getOffsetX = function() { return aa; } window.getOffsetY = function() { return ba; } window.getX = function() { return s; } window.getY = function() { return t; } window.getPointX = function() { return ia; } window.getPointY = function() { return ja; } /** * The X location of the mouse. * @return Integer X */ window.getMouseX = function() { return fa; } /** * The Y location of the mouse. * @return Integer Y */ window.getMouseY = function() { return ga; } window.getMapStartX = function() { return pa; } window.getMapStartY = function() { return qa; } window.getMapEndX = function() { return ra; } window.getMapEndY = function() { return sa; } window.getScreenDistance = function() { var temp = screenDistance(); return temp; } /** * A timestamp since the last time the server sent any data. * @return Last update timestamp */ window.getLastUpdate = function() { return C; } window.getCurrentScore = function() { return R; } /** * The game's current mode. (":ffa", ":experimental", ":teams". ":party") * @return {[type]} [description] */ window.getMode = function() { return P; } window.getServer = function() { return serverIP; } window.setPoint = function(x, y) { ia = x; ja = y; } window.setScore = function(a) { sessionScore = a * 100; } window.setBestTime = function(a) { bestTime = a; } window.best = function(a, b) { setScore(a); setBestTime(b); } window.setBotIndex = function(a) { console.log("Changing bot"); botIndex = a; } window.setMessage = function(a) { message = a; } window.updateBotList = function() { window.botList = window.botList || []; window.jQuery('#locationUnknown').text(""); window.jQuery('#locationUnknown').append(window.jQuery('<select id="bList" class="form-control" onchange="setBotIndex($(this).val());" />')); window.jQuery('#locationUnknown').addClass('form-group'); for (var i = 0; i < w
burakkantarci / Playwright Todo AppA comprehensive Todo app with APIs, E2E tests with GitHub Actions enabled.
cage1016 / Gokit Todotodomvc full stack demo project. react + backend API by gokit microservice toolkit. include unit test, integration test, e2e test, github action ci
Clean-Swift / GisterThis app lists all public gists using GitHub's API. It demonstrates how to encapsulate all API code and write unit tests for it.
adrianhurt / Play Api Rest TesterThis is a companion project to test the example template Play API REST Template (https://github.com/adrianhurt/play-api-rest-seed).
Varietyz / Discord Js Bot TemplateScalable Discord Bot Template, includes: GitHub Workflow (Actions + Releases), API, Rate-limiting, Regression detection, benchmarking/stress-testing, Hot reloading, Plugin architecture and rigorously following SoC, DRY and KISS principles.
T-T-Software-Solution / UnittestdemoASP.NET Core 8 API demo using Clean Architecture with PostgreSQL. Features student CRUD, grade calculation, mocked Email/SMS, unit & integration tests (xUnit, Moq, Coverlet, Testcontainers), and GitHub Actions CI with coverage reports.
Mahmoodmonfared / Ethereum Mainnet Chainld 2 Short Name Ethereum Mahmood Monfared[{"name":"Ethereum Mainnet","chainId":1,"shortName":"eth","networkId":1,"nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"rpc":["https://mainnet.infura.io/v3/${INFURA_API_KEY}","wss://mainnet.infura.io/ws/v3/${INFURA_API_KEY}","https://api.mycryptoapi.com/eth","https://cloudflare-eth.com"],"faucets":[],"infoURL":"https://ethereum.org"},{"name":"Expanse Network","chainId":2,"shortName":"exp","networkId":1,"nativeCurrency":{"name":"Expanse Network Ether","symbol":"EXP","decimals":18},"rpc":["https://node.expanse.tech"],"faucets":[],"infoURL":"https://expanse.tech"},{"name":"Ethereum Testnet Ropsten","chainId":3,"shortName":"rop","networkId":3,"nativeCurrency":{"name":"Ropsten Ether","symbol":"ROP","decimals":18},"rpc":["https://ropsten.infura.io/v3/${INFURA_API_KEY}","wss://ropsten.infura.io/ws/v3/${INFURA_API_KEY}"],"faucets":["https://faucet.ropsten.be?${ADDRESS}"],"infoURL":"https://github.com/ethereum/ropsten"},{"name":"Ethereum Testnet Rinkeby","chainId":4,"shortName":"rin","networkId":4,"nativeCurrency":{"name":"Rinkeby Ether","symbol":"RIN","decimals":18},"rpc":["https://rinkeby.infura.io/v3/${INFURA_API_KEY}","wss://rinkeby.infura.io/ws/v3/${INFURA_API_KEY}"],"faucets":["https://faucet.rinkeby.io"],"infoURL":"https://www.rinkeby.io"},{"name":"Ethereum Testnet Görli","chainId":5,"shortName":"gor","networkId":5,"nativeCurrency":{"name":"Görli Ether","symbol":"GOR","decimals":18},"rpc":["https://rpc.goerli.mudit.blog/","https://rpc.slock.it/goerli ","https://goerli.prylabs.net/"],"faucets":["https://goerli-faucet.slock.it/?address=${ADDRESS}","https://faucet.goerli.mudit.blog"],"infoURL":"https://goerli.net/#about"},{"name":"Ethereum Classic Testnet Kotti","chainId":6,"shortName":"kot","networkId":6,"nativeCurrency":{"name":"Kotti Ether","symbol":"KOT","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://explorer.jade.builders/?network=kotti"},{"name":"ThaiChain","chainId":7,"shortName":"tch","networkId":7,"nativeCurrency":{"name":"ThaiChain Ether","symbol":"TCH","decimals":18},"rpc":["https://rpc.dome.cloud"],"faucets":[],"infoURL":"https://thaichain.io"},{"name":"Ubiq Network Mainnet","chainId":8,"shortName":"ubq","networkId":8,"nativeCurrency":{"name":"Ubiq Ether","symbol":"UBQ","decimals":18},"rpc":["https://rpc.octano.dev","https://pyrus2.ubiqscan.io"],"faucets":[],"infoURL":"https://ubiqsmart.com"},{"name":"Ubiq Network Testnet","chainId":9,"shortName":"tubq","networkId":2,"nativeCurrency":{"name":"Ubiq Testnet Ether","symbol":"TUBQ","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://ethersocial.org"},{"name":"Optimistic Ethereum","chainId":10,"shortName":"oeth","networkId":10,"nativeCurrency":{"name":"Ether","symbol":"OETH","decimals":18},"rpc":["https://mainnet.optimism.io/"],"faucets":[],"infoURL":"https://optimism.io"},{"name":"Metadium Mainnet","chainId":11,"shortName":"meta","networkId":11,"nativeCurrency":{"name":"Metadium Mainnet Ether","symbol":"META","decimals":18},"rpc":["https://api.metadium.com/prod"],"faucets":[],"infoURL":"https://metadium.com"},{"name":"Metadium Testnet","chainId":12,"shortName":"kal","networkId":12,"nativeCurrency":{"name":"Metadium Testnet Ether","symbol":"KAL","decimals":18},"rpc":["https://api.metadium.com/dev"],"faucets":[],"infoURL":"https://metadium.com"},{"name":"Diode Testnet Staging","chainId":13,"shortName":"dstg","networkId":13,"nativeCurrency":{"name":"Staging Diodes","symbol":"sDIODE","decimals":18},"rpc":["https://staging.diode.io:8443/","wss://staging.diode.io:8443/ws"],"faucets":[],"infoURL":"https://diode.io/staging"},{"name":"Flare Mainnet","chainId":14,"shortName":"flr","networkId":14,"nativeCurrency":{"name":"Spark","symbol":"FLR","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://flare.xyz"},{"name":"Diode Prenet","chainId":15,"shortName":"diode","networkId":15,"nativeCurrency":{"name":"Diodes","symbol":"DIODE","decimals":18},"rpc":["https://prenet.diode.io:8443/","wss://prenet.diode.io:8443/ws"],"faucets":[],"infoURL":"https://diode.io/prenet"},{"name":"Flare Testnet Coston","chainId":16,"shortName":"cflr","networkId":16,"nativeCurrency":{"name":"Coston Spark","symbol":"CFLR","decimals":18},"rpc":[],"faucets":["https://faucet.towolabs.com"],"infoURL":"https://github.com/flare-eng/coston"},{"name":"ThaiChain 2.0 ThaiFi","chainId":17,"shortName":"tfi","networkId":17,"nativeCurrency":{"name":"Thaifi Ether","symbol":"TFI","decimals":18},"rpc":["https://rpc.thaifi.com"],"faucets":[],"infoURL":"https://exp.thaifi.com"},{"name":"ThunderCore Testnet","chainId":18,"shortName":"TST","networkId":18,"nativeCurrency":{"name":"ThunderCore Testnet Ether","symbol":"TST","decimals":18},"rpc":["https://testnet-rpc.thundercore.com"],"faucets":["https://faucet-testnet.thundercore.com"],"infoURL":"https://thundercore.com"},{"name":"Songbird Canary-Network","chainId":19,"shortName":"sgb","networkId":19,"nativeCurrency":{"name":"Songbird","symbol":"SGB","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://flare.xyz"},{"name":"ELA-ETH-Sidechain Mainnet","chainId":20,"shortName":"elaeth","networkId":20,"nativeCurrency":{"name":"Elastos","symbol":"ELA","decimals":18},"rpc":["https://mainrpc.elaeth.io"],"faucets":[],"infoURL":"https://www.elastos.org/"},{"name":"ELA-ETH-Sidechain Testnet","chainId":21,"shortName":"elaetht","networkId":21,"nativeCurrency":{"name":"Elastos","symbol":"tELA","decimals":18},"rpc":["https://rpc.elaeth.io"],"faucets":["https://faucet.elaeth.io/"],"infoURL":"https://elaeth.io/"},{"name":"ELA-DID-Sidechain Mainnet","chainId":22,"shortName":"eladid","networkId":22,"nativeCurrency":{"name":"Elastos","symbol":"ELA","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://www.elastos.org/"},{"name":"ELA-DID-Sidechain Testnet","chainId":23,"shortName":"eladidt","networkId":23,"nativeCurrency":{"name":"Elastos","symbol":"tELA","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://elaeth.io/"},{"name":"RSK Mainnet","chainId":30,"shortName":"rsk","networkId":30,"nativeCurrency":{"name":"RSK Mainnet Ether","symbol":"RBTC","decimals":18},"rpc":["https://public-node.rsk.co","https://mycrypto.rsk.co"],"faucets":[],"infoURL":"https://rsk.co"},{"name":"RSK Testnet","chainId":31,"shortName":"trsk","networkId":31,"nativeCurrency":{"name":"RSK Testnet Ether","symbol":"tRBTC","decimals":18},"rpc":["https://public-node.testnet.rsk.co","https://mycrypto.testnet.rsk.co"],"faucets":["https://faucet.testnet.rsk.co"],"infoURL":"https://rsk.co"},{"name":"GoodData Testnet","chainId":32,"shortName":"GooDT","networkId":32,"nativeCurrency":{"name":"GoodData Testnet Ether","symbol":"GooD","decimals":18},"rpc":["https://test2.goodata.io"],"faucets":[],"infoURL":"https://www.goodata.org"},{"name":"GoodData Mainnet","chainId":33,"shortName":"GooD","networkId":33,"nativeCurrency":{"name":"GoodData Mainnet Ether","symbol":"GooD","decimals":18},"rpc":["https://rpc.goodata.io"],"faucets":[],"infoURL":"https://www.goodata.org"},{"name":"TBWG Chain","chainId":35,"shortName":"tbwg","networkId":35,"nativeCurrency":{"name":"TBWG Ether","symbol":"TBG","decimals":18},"rpc":["https://rpc.tbwg.io"],"faucets":[],"infoURL":"https://tbwg.io"},{"name":"Valorbit","chainId":38,"shortName":"val","networkId":38,"nativeCurrency":{"name":"Valorbit","symbol":"VAL","decimals":18},"rpc":["https://rpc.valorbit.com/v2"],"faucets":[],"infoURL":"https://valorbit.com"},{"name":"Telos EVM Mainnet","chainId":40,"shortName":"Telos EVM","networkId":40,"nativeCurrency":{"name":"Telos","symbol":"TLOS","decimals":18},"rpc":["https://mainnet.telos.net/evm"],"faucets":[],"infoURL":"https://telos.net"},{"name":"Telos EVM Testnet","chainId":41,"shortName":"Telos EVM Testnet","networkId":41,"nativeCurrency":{"name":"Telos","symbol":"TLOS","decimals":18},"rpc":["https://testnet.telos.net/evm"],"faucets":["https://app.telos.net/testnet/developers"],"infoURL":"https://telos.net"},{"name":"Ethereum Testnet Kovan","chainId":42,"shortName":"kov","networkId":42,"nativeCurrency":{"name":"Kovan Ether","symbol":"KOV","decimals":18},"rpc":["https://kovan.poa.network","http://kovan.poa.network:8545","https://kovan.infura.io/v3/${INFURA_API_KEY}","wss://kovan.infura.io/ws/v3/${INFURA_API_KEY}","ws://kovan.poa.network:8546"],"faucets":["https://faucet.kovan.network","https://gitter.im/kovan-testnet/faucet"],"infoURL":"https://kovan-testnet.github.io/website"},{"name":"Darwinia Pangolin Testnet","chainId":43,"shortName":"darwinia","networkId":43,"nativeCurrency":{"name":"Pangolin RING","symbol":"PRING","decimals":9},"rpc":[],"faucets":[],"infoURL":"https://darwinia.network/"},{"name":"Darwinia Crab Network","chainId":44,"shortName":"crab","networkId":44,"nativeCurrency":{"name":"Crab Token","symbol":"CRING","decimals":9},"rpc":[],"faucets":[],"infoURL":"https://crab.network/"},{"name":"XinFin Network Mainnet","chainId":50,"shortName":"xdc","networkId":50,"nativeCurrency":{"name":"XinFin","symbol":"XDC","decimals":18},"rpc":["https://rpc.xinfin.network"],"faucets":[],"infoURL":"https://xinfin.org"},{"name":"XinFin Apothem Testnet","chainId":51,"shortName":"TXDC","networkId":51,"nativeCurrency":{"name":"XinFinTest","symbol":"TXDC","decimals":18},"rpc":["https://rpc.apothem.network"],"faucets":[],"infoURL":"https://xinfin.org"},{"name":"CoinEx Smart Chain Mainnet","chainId":52,"shortName":"cet","networkId":52,"nativeCurrency":{"name":"CoinEx Chain Native Token","symbol":"cet","decimals":18},"rpc":["https://rpc-mainnet.coinex.net"],"faucets":[],"infoURL":"http://www.coinex.org/"},{"name":"CoinEx Smart Chain Testnet","chainId":53,"shortName":"tcet","networkId":53,"nativeCurrency":{"name":"CoinEx Chain Test Native Token","symbol":"cett","decimals":18},"rpc":["https://rpc-testnet.coinex.net"],"faucets":[],"infoURL":"http://www.coinex.org/"},{"name":"Binance Smart Chain Mainnet","chainId":56,"shortName":"bnb","networkId":56,"nativeCurrency":{"name":"Binance Chain Native Token","symbol":"BNB","decimals":18},"rpc":["https://bsc-dataseed1.binance.org","https://bsc-dataseed2.binance.org","https://bsc-dataseed3.binance.org","https://bsc-dataseed4.binance.org","https://bsc-dataseed1.defibit.io","https://bsc-dataseed2.defibit.io","https://bsc-dataseed3.defibit.io","https://bsc-dataseed4.defibit.io","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed2.ninicoin.io","https://bsc-dataseed3.ninicoin.io","https://bsc-dataseed4.ninicoin.io","wss://bsc-ws-node.nariox.org"],"faucets":[],"infoURL":"https://www.binance.org"},{"name":"Ontology Mainnet","chainId":58,"shortName":"Ontology Mainnet","networkId":58,"nativeCurrency":{"name":"ONG","symbol":"ONG","decimals":9},"rpc":["https://dappnode1.ont.io:20339","https://dappnode2.ont.io:20339","https://dappnode3.ont.io:20339","https://dappnode4.ont.io:20339"],"faucets":[],"infoURL":"https://ont.io/"},{"name":"EOS Mainnet","chainId":59,"shortName":"EOS Mainnet","networkId":59,"nativeCurrency":{"name":"EOS","symbol":"EOS","decimals":18},"rpc":["https://api.eosargentina.io"],"faucets":[],"infoURL":"https://eoscommunity.org/"},{"name":"GoChain","chainId":60,"shortName":"go","networkId":60,"nativeCurrency":{"name":"GoChain Ether","symbol":"GO","decimals":18},"rpc":["https://rpc.gochain.io"],"faucets":[],"infoURL":"https://gochain.io"},{"name":"Ethereum Classic Mainnet","chainId":61,"shortName":"etc","networkId":1,"nativeCurrency":{"name":"Ethereum Classic Ether","symbol":"ETC","decimals":18},"rpc":["https://ethereumclassic.network"],"faucets":[],"infoURL":"https://ethereumclassic.org"},{"name":"Ethereum Classic Testnet Morden","chainId":62,"shortName":"tetc","networkId":2,"nativeCurrency":{"name":"Ethereum Classic Testnet Ether","symbol":"TETC","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://ethereumclassic.org"},{"name":"Ethereum Classic Testnet Mordor","chainId":63,"shortName":"metc","networkId":7,"nativeCurrency":{"name":"Mordor Classic Testnet Ether","symbol":"METC","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://github.com/eth-classic/mordor/"},{"name":"Ellaism","chainId":64,"shortName":"ella","networkId":64,"nativeCurrency":{"name":"Ellaism Ether","symbol":"ELLA","decimals":18},"rpc":["https://jsonrpc.ellaism.org"],"faucets":[],"infoURL":"https://ellaism.org"},{"name":"OKExChain Testnet","chainId":65,"shortName":"tokt","networkId":65,"nativeCurrency":{"name":"OKExChain Global Utility Token in testnet","symbol":"OKT","decimals":18},"rpc":["https://exchaintestrpc.okex.org"],"faucets":["https://www.okex.com/drawdex"],"infoURL":"https://www.okex.com/okexchain"},{"name":"OKExChain Mainnet","chainId":66,"shortName":"okt","networkId":66,"nativeCurrency":{"name":"OKExChain Global Utility Token","symbol":"OKT","decimals":18},"rpc":["https://exchainrpc.okex.org"],"faucets":[],"infoURL":"https://www.okex.com/okexchain"},{"name":"DBChain Testnet","chainId":67,"shortName":"dbm","networkId":67,"nativeCurrency":{"name":"DBChain Testnet","symbol":"DBM","decimals":18},"rpc":["http://test-rpc.dbmbp.com"],"faucets":[],"infoURL":"http://test.dbmbp.com"},{"name":"SoterOne Mainnet","chainId":68,"shortName":"SO1","networkId":68,"nativeCurrency":{"name":"SoterOne Mainnet Ether","symbol":"SOTER","decimals":18},"rpc":["https://rpc.soter.one"],"faucets":[],"infoURL":"https://www.soterone.com"},{"name":"Optimistic Ethereum Testnet Kovan","chainId":69,"shortName":"okov","networkId":69,"nativeCurrency":{"name":"Kovan Ether","symbol":"KOR","decimals":18},"rpc":["https://kovan.optimism.io/"],"faucets":[],"infoURL":"https://optimism.io"},{"name":"Mix","chainId":76,"shortName":"mix","networkId":76,"nativeCurrency":{"name":"Mix Ether","symbol":"MIX","decimals":18},"rpc":["https://rpc2.mix-blockchain.org:8647"],"faucets":[],"infoURL":"https://mix-blockchain.org"},{"name":"POA Network Sokol","chainId":77,"shortName":"poa","networkId":77,"nativeCurrency":{"name":"POA Sokol Ether","symbol":"POA","decimals":18},"rpc":["https://sokol.poa.network","wss://sokol.poa.network/wss","ws://sokol.poa.network:8546"],"faucets":["https://faucet-sokol.herokuapp.com"],"infoURL":"https://poa.network"},{"name":"PrimusChain mainnet","chainId":78,"shortName":"primuschain","networkId":78,"nativeCurrency":{"name":"Primus Ether","symbol":"PETH","decimals":18},"rpc":["https://ethnode.primusmoney.com/mainnet"],"faucets":[],"infoURL":"https://primusmoney.com"},{"name":"GeneChain","chainId":80,"shortName":"GeneChain","networkId":80,"nativeCurrency":{"name":"RNA","symbol":"RNA","decimals":18},"rpc":["https://rpc.genechain.io"],"faucets":[],"infoURL":"https://scan.genechain.io/"},{"name":"Meter Mainnet","chainId":82,"shortName":"Meter","networkId":82,"nativeCurrency":{"name":"Meter","symbol":"MTR","decimals":18},"rpc":["https://rpc.meter.io"],"faucets":[],"infoURL":"https://www.meter.io"},{"name":"GateChain Testnet","chainId":85,"shortName":"gttest","networkId":85,"nativeCurrency":{"name":"GateToken","symbol":"GT","decimals":18},"rpc":["https://testnet.gatenode.cc"],"faucets":["https://www.gatescan.org/testnet/faucet"],"infoURL":"https://www.gatechain.io"},{"name":"GateChain Mainnet","chainId":86,"shortName":"gt","networkId":86,"nativeCurrency":{"name":"GateToken","symbol":"GT","decimals":18},"rpc":["https://evm.gatenode.cc"],"faucets":["https://www.gatescan.org/faucet"],"infoURL":"https://www.gatechain.io"},{"name":"TomoChain","chainId":88,"shortName":"tomo","networkId":88,"nativeCurrency":{"name":"TomoChain Ether","symbol":"TOMO","decimals":18},"rpc":["https://rpc.tomochain.com"],"faucets":[],"infoURL":"https://tomocoin.io"},{"name":"CryptoKylin Testnet","chainId":95,"shortName":"Kylin Testnet","networkId":95,"nativeCurrency":{"name":"EOS","symbol":"EOS","decimals":18},"rpc":["https://kylin.eosargentina.io"],"faucets":[],"infoURL":"https://www.cryptokylin.io/"},{"name":"Binance Smart Chain Testnet","chainId":97,"shortName":"bnbt","networkId":97,"nativeCurrency":{"name":"Binance Chain Native Token","symbol":"tBNB","decimals":18},"rpc":["https://data-seed-prebsc-1-s1.binance.org:8545","https://data-seed-prebsc-2-s1.binance.org:8545","https://data-seed-prebsc-1-s2.binance.org:8545","https://data-seed-prebsc-2-s2.binance.org:8545","https://data-seed-prebsc-1-s3.binance.org:8545","https://data-seed-prebsc-2-s3.binance.org:8545"],"faucets":["https://testnet.binance.org/faucet-smart"],"infoURL":"https://testnet.binance.org/"},{"name":"POA Network Core","chainId":99,"shortName":"skl","networkId":99,"nativeCurrency":{"name":"POA Network Core Ether","symbol":"SKL","decimals":18},"rpc":["https://core.poanetwork.dev","http://core.poanetwork.dev:8545","https://core.poa.network","ws://core.poanetwork.dev:8546"],"faucets":[],"infoURL":"https://poa.network"},{"name":"xDAI Chain","chainId":100,"shortName":"xdai","networkId":100,"nativeCurrency":{"name":"xDAI","symbol":"xDAI","decimals":18},"rpc":["https://rpc.xdaichain.com","https://xdai.poanetwork.dev","wss://rpc.xdaichain.com/wss","wss://xdai.poanetwork.dev/wss","http://xdai.poanetwork.dev","https://dai.poa.network","ws://xdai.poanetwork.dev:8546"],"faucets":[],"infoURL":"https://forum.poa.network/c/xdai-chain"},{"name":"EtherInc","chainId":101,"shortName":"eti","networkId":1,"nativeCurrency":{"name":"EtherInc Ether","symbol":"ETI","decimals":18},"rpc":["https://api.einc.io/jsonrpc/mainnet"],"faucets":[],"infoURL":"https://einc.io"},{"name":"Web3Games Testnet","chainId":102,"shortName":"w3g","networkId":102,"nativeCurrency":{"name":"Web3Games","symbol":"W3G","decimals":18},"rpc":["https://substrate.org.cn"],"faucets":[],"infoURL":"https://web3games.org/"},{"name":"ThunderCore Mainnet","chainId":108,"shortName":"TT","networkId":108,"nativeCurrency":{"name":"ThunderCore Mainnet Ether","symbol":"TT","decimals":18},"rpc":["https://mainnet-rpc.thundercore.com"],"faucets":["https://faucet.thundercore.com"],"infoURL":"https://thundercore.com"},{"name":"Proton Testnet","chainId":110,"shortName":"xpr","networkId":110,"nativeCurrency":{"name":"Proton","symbol":"XPR","decimals":4},"rpc":["https://protontestnet.greymass.com/"],"faucets":[],"infoURL":"https://protonchain.com"},{"name":"EtherLite Chain","chainId":111,"shortName":"ETL","networkId":111,"nativeCurrency":{"name":"EtherLite","symbol":"ETL","decimals":18},"rpc":["https://rpc.etherlite.org"],"faucets":["https://etherlite.org/faucets"],"infoURL":"https://etherlite.org"},{"name":"Fuse Mainnet","chainId":122,"shortName":"fuse","networkId":122,"nativeCurrency":{"name":"Fuse","symbol":"FUSE","decimals":18},"rpc":["https://rpc.fuse.io"],"faucets":[],"infoURL":"https://fuse.io/"},{"name":"Decentralized Web Mainnet","chainId":124,"shortName":"dwu","networkId":124,"nativeCurrency":{"name":"Decentralized Web Utility","symbol":"DWU","decimals":18},"rpc":["https://decentralized-web.tech/dw_rpc.php"],"faucets":[],"infoURL":"https://decentralized-web.tech/dw_chain.php"},{"name":"Factory 127 Mainnet","chainId":127,"shortName":"feth","networkId":127,"nativeCurrency":{"name":"Factory 127 Token","symbol":"FETH","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://www.factory127.com"},{"name":"Huobi ECO Chain Mainnet","chainId":128,"shortName":"heco","networkId":128,"nativeCurrency":{"name":"Huobi ECO Chain Native Token","symbol":"HT","decimals":18},"rpc":["https://http-mainnet.hecochain.com","wss://ws-mainnet.hecochain.com"],"faucets":[],"infoURL":"https://www.hecochain.com"},{"name":"Matic(Polygon) Mainnet","chainId":137,"shortName":"matic","networkId":137,"nativeCurrency":{"name":"Matic","symbol":"MATIC","decimals":18},"rpc":["https://rpc-mainnet.matic.network","wss://ws-mainnet.matic.network","https://rpc-mainnet.matic.quiknode.pro","https://matic-mainnet.chainstacklabs.com"],"faucets":[],"infoURL":"https://matic.network/"},{"name":"DAX CHAIN","chainId":142,"shortName":"dax","networkId":142,"nativeCurrency":{"name":"Prodax","symbol":"DAX","decimals":18},"rpc":["https://rpc.prodax.io"],"faucets":[],"infoURL":"https://prodax.io/"},{"name":"Lightstreams Testnet","chainId":162,"shortName":"tpht","networkId":162,"nativeCurrency":{"name":"Lightstreams PHT","symbol":"PHT","decimals":18},"rpc":["https://node.sirius.lightstreams.io"],"faucets":["https://discuss.lightstreams.network/t/request-test-tokens"],"infoURL":"https://explorer.sirius.lightstreams.io"},{"name":"Lightstreams Mainnet","chainId":163,"shortName":"pht","networkId":163,"nativeCurrency":{"name":"Lightstreams PHT","symbol":"PHT","decimals":18},"rpc":["https://node.mainnet.lightstreams.io"],"faucets":[],"infoURL":"https://explorer.lightstreams.io"},{"name":"HOO Smart Chain Testnet","chainId":170,"shortName":"hoosmartchain","networkId":170,"nativeCurrency":{"name":"HOO","symbol":"HOO","decimals":18},"rpc":["https://http-testnet.hoosmartchain.com"],"faucets":["https://faucet-testnet.hscscan.com/"],"infoURL":"https://www.hoosmartchain.com"},{"name":"Latam-Blockchain Resil Testnet","chainId":172,"shortName":"resil","networkId":172,"nativeCurrency":{"name":"Latam-Blockchain Resil Test Native Token","symbol":"usd","decimals":18},"rpc":["https://rpc.latam-blockchain.com","wss://ws.latam-blockchain.com"],"faucets":["https://faucet.latam-blockchain.com"],"infoURL":"https://latam-blockchain.com"},{"name":"Freight Trust Network","chainId":211,"shortName":"EDI","networkId":0,"nativeCurrency":{"name":"Freight Trust Native","symbol":"0xF","decimals":18},"rpc":["http://13.57.207.168:3435","https://app.freighttrust.net/ftn/${API_KEY}"],"faucets":["http://faucet.freight.sh"],"infoURL":"https://freighttrust.com"},{"name":"Energy Web Chain","chainId":246,"shortName":"ewt","networkId":246,"nativeCurrency":{"name":"Energy Web Token","symbol":"EWT","decimals":18},"rpc":["https://rpc.energyweb.org","wss://rpc.energyweb.org/ws"],"faucets":["https://faucet.carbonswap.exchange"],"infoURL":"https://energyweb.org"},{"name":"Fantom Opera","chainId":250,"shortName":"ftm","networkId":250,"nativeCurrency":{"name":"Fantom","symbol":"FTM","decimals":18},"rpc":["https://rpcapi.fantom.network"],"faucets":[],"infoURL":"https://fantom.foundation"},{"name":"Huobi ECO Chain Testnet","chainId":256,"shortName":"hecot","networkId":256,"nativeCurrency":{"name":"Huobi ECO Chain Test Native Token","symbol":"htt","decimals":18},"rpc":["https://http-testnet.hecochain.com","wss://ws-testnet.hecochain.com"],"faucets":["https://scan-testnet.hecochain.com/faucet"],"infoURL":"https://testnet.hecoinfo.com"},{"name":"High Performance Blockchain","chainId":269,"shortName":"hpb","networkId":100,"nativeCurrency":{"name":"High Performance Blockchain Ether","symbol":"HPB","decimals":18},"rpc":["https://hpb.app"],"faucets":[],"infoURL":"https://hpbscan.org/"},{"name":"KuCoin Community Chain Mainnet","chainId":321,"shortName":"kcs","networkId":321,"nativeCurrency":{"name":"KuCoin Token","symbol":"KCS","decimals":18},"rpc":["https://rpc-mainnet.kcc.network","wss://rpc-ws-mainnet.kcc.network"],"faucets":[],"infoURL":"https://kcc.io"},{"name":"KuCoin Community Chain Testnet","chainId":322,"shortName":"kcst","networkId":322,"nativeCurrency":{"name":"KuCoin Testnet Token","symbol":"tKCS","decimals":18},"rpc":["https://rpc-testnet.kcc.network"],"faucets":["https://faucet-testnet.kcc.network"],"infoURL":"https://scan-testnet.kcc.network"},{"name":"Theta Mainnet","chainId":361,"shortName":"theta-mainnet","networkId":361,"nativeCurrency":{"name":"Theta Fuel","symbol":"TFUEL","decimals":18},"rpc":["https://eth-rpc-api.thetatoken.org/rpc"],"faucets":[],"infoURL":"https://www.thetatoken.org/"},{"name":"Theta Sapphire Testnet","chainId":363,"shortName":"theta-sapphire","networkId":363,"nativeCurrency":{"name":"Theta Fuel","symbol":"TFUEL","decimals":18},"rpc":["https://eth-rpc-api-sapphire.thetatoken.org/rpc"],"faucets":[],"infoURL":"https://www.thetatoken.org/"},{"name":"Theta Amber Testnet","chainId":364,"shortName":"theta-amber","networkId":364,"nativeCurrency":{"name":"Theta Fuel","symbol":"TFUEL","decimals":18},"rpc":["https://eth-rpc-api-amber.thetatoken.org/rpc"],"faucets":[],"infoURL":"https://www.thetatoken.org/"},{"name":"Theta Testnet","chainId":365,"shortName":"theta-testnet","networkId":365,"nativeCurrency":{"name":"Theta Fuel","symbol":"TFUEL","decimals":18},"rpc":["https://eth-rpc-api-testnet.thetatoken.org/rpc"],"faucets":[],"infoURL":"https://www.thetatoken.org/"},{"name":"Lisinski","chainId":385,"shortName":"lisinski","networkId":385,"nativeCurrency":{"name":"Lisinski Ether","symbol":"LISINSKI","decimals":18},"rpc":["https://rpc-bitfalls1.lisinski.online"],"faucets":["https://pipa.lisinski.online"],"infoURL":"https://lisinski.online"},{"name":"Optimistic Ethereum Testnet Goerli","chainId":420,"shortName":"ogor","networkId":420,"nativeCurrency":{"name":"Görli Ether","symbol":"GOR","decimals":18},"rpc":["https://goerli.optimism.io/"],"faucets":[],"infoURL":"https://optimism.io"},{"name":"Rupaya","chainId":499,"shortName":"rupx","networkId":499,"nativeCurrency":{"name":"Rupaya","symbol":"RUPX","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://www.rupx.io"},{"name":"Tao Network","chainId":558,"shortName":"tao","networkId":558,"nativeCurrency":{"name":"Tao","symbol":"TAO","decimals":18},"rpc":["https://rpc.testnet.tao.network","http://rpc.testnet.tao.network:8545","https://rpc.tao.network","wss://rpc.tao.network"],"faucets":[],"infoURL":"https://tao.network"},{"name":"Acala Mandala Testnet","chainId":595,"shortName":"maca","networkId":595,"nativeCurrency":{"name":"Acala Mandala Token","symbol":"mACA","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://acala.network"},{"name":"Karura Network","chainId":686,"shortName":"kar","networkId":686,"nativeCurrency":{"name":"Karura Token","symbol":"KAR","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://karura.network"},{"name":"Factory 127 Testnet","chainId":721,"shortName":"tfeth","networkId":721,"nativeCurrency":{"name":"Factory 127 Token","symbol":"FETH","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://www.factory127.com"},{"name":"cheapETH","chainId":777,"shortName":"cth","networkId":777,"nativeCurrency":{"name":"cTH","symbol":"cTH","decimals":18},"rpc":["https://node.cheapeth.org/rpc"],"faucets":[],"infoURL":"https://cheapeth.org/"},{"name":"Acala Network","chainId":787,"shortName":"aca","networkId":787,"nativeCurrency":{"name":"Acala Token","symbol":"ACA","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://acala.network"},{"name":"Haic","chainId":803,"shortName":"haic","networkId":803,"nativeCurrency":{"name":"Haicoin","symbol":"HAIC","decimals":18},"rpc":["https://orig.haichain.io/"],"faucets":[],"infoURL":"https://www.haichain.io/"},{"name":"Callisto Mainnet","chainId":820,"shortName":"clo","networkId":1,"nativeCurrency":{"name":"Callisto Mainnet Ether","symbol":"CLO","decimals":18},"rpc":["https://clo-geth.0xinfra.com"],"faucets":[],"infoURL":"https://callisto.network"},{"name":"Callisto Testnet","chainId":821,"shortName":"tclo","networkId":2,"nativeCurrency":{"name":"Callisto Testnet Ether","symbol":"TCLO","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://callisto.network"},{"name":"Wanchain","chainId":888,"shortName":"wan","networkId":888,"nativeCurrency":{"name":"Wancoin","symbol":"WAN","decimals":18},"rpc":["https://gwan-ssl.wandevs.org:56891/"],"faucets":[],"infoURL":"https://www.wanscan.org"},{"name":"Nepal Blockchain Network","chainId":977,"shortName":"yeti","networkId":977,"nativeCurrency":{"name":"Nepal Blockchain Network Ether","symbol":"YETI","decimals":18},"rpc":["https://api.nepalblockchain.dev","https://api.nepalblockchain.network"],"faucets":["https://faucet.nepalblockchain.network"],"infoURL":"https://nepalblockchain.network"},{"name":"Wanchain Testnet","chainId":999,"shortName":"twan","networkId":999,"nativeCurrency":{"name":"Wancoin","symbol":"WAN","decimals":18},"rpc":["https://gwan-ssl.wandevs.org:46891/"],"faucets":[],"infoURL":"https://testnet.wanscan.org"},{"name":"Klaytn Testnet Baobab","chainId":1001,"shortName":"Baobab","networkId":1001,"nativeCurrency":{"name":"KLAY","symbol":"KLAY","decimals":18},"rpc":["https://node-api.klaytnapi.com/v1/klaytn"],"faucets":["https://baobab.wallet.klaytn.com/access?next=faucet"],"infoURL":"https://www.klaytn.com/"},{"name":"Newton Testnet","chainId":1007,"shortName":"tnew","networkId":1007,"nativeCurrency":{"name":"Newton","symbol":"NEW","decimals":18},"rpc":["https://rpc1.newchain.newtonproject.org"],"faucets":[],"infoURL":"https://www.newtonproject.org/"},{"name":"Evrice Network","chainId":1010,"shortName":"EVC","networkId":1010,"nativeCurrency":{"name":"Evrice","symbol":"EVC","decimals":18},"rpc":["https://meta.evrice.com"],"faucets":[],"infoURL":"https://evrice.com"},{"name":"Newton","chainId":1012,"shortName":"new","networkId":1012,"nativeCurrency":{"name":"Newton","symbol":"NEW","decimals":18},"rpc":["https://global.rpc.mainnet.newtonproject.org"],"faucets":[],"infoURL":"https://www.newtonproject.org/"},{"name":"Sakura","chainId":1022,"shortName":"sku","networkId":1022,"nativeCurrency":{"name":"Sakura","symbol":"SKU","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://clover.finance/sakura"},{"name":"Clover Testnet","chainId":1023,"shortName":"tclv","networkId":1023,"nativeCurrency":{"name":"Clover","symbol":"CLV","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://clover.finance"},{"name":"Clover Mainnet","chainId":1024,"shortName":"clv","networkId":1024,"nativeCurrency":{"name":"Clover","symbol":"CLV","decimals":18},"rpc":["https://rpc-ivy.clover.finance","https://rpc-ivy-2.clover.finance","https://rpc-ivy-3.clover.finance"],"faucets":[],"infoURL":"https://clover.finance"},{"name":"MathChain","chainId":1139,"shortName":"MATH","networkId":1139,"nativeCurrency":{"name":"MathChain","symbol":"MATH","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://mathchain.org"},{"name":"MathChain Testnet","chainId":1140,"shortName":"tMATH","networkId":1140,"nativeCurrency":{"name":"MathChain","symbol":"MATH","decimals":18},"rpc":["https://galois-hk.maiziqianbao.net/rpc"],"faucets":["https://scan.boka.network/#/Galois/faucet"],"infoURL":"https://mathchain.org"},{"name":"Moonbeam Polkadot","chainId":1284,"shortName":"mbeam","networkId":1284,"nativeCurrency":{"name":"Glimmer","symbol":"GLMR","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://moonbeam.network/networks/moonbeam/"},{"name":"Moonriver Kusama","chainId":1285,"shortName":"mriver","networkId":1285,"nativeCurrency":{"name":"Moonriver","symbol":"MOVR","decimals":18},"rpc":["https://rpc.moonriver.moonbeam.network","wss://wss.moonriver.moonbeam.network"],"faucets":[],"infoURL":"https://moonbeam.network/networks/moonriver/"},{"name":"Moonrock Rococo","chainId":1286,"shortName":"mrock","networkId":1286,"nativeCurrency":{"name":"Rocs","symbol":"ROC","decimals":18},"rpc":[],"faucets":[],"infoURL":""},{"name":"Moonbeam Testnet Moonbase Alpha","chainId":1287,"shortName":"mbase","networkId":1287,"nativeCurrency":{"name":"Dev","symbol":"DEV","decimals":18},"rpc":["https://rpc.testnet.moonbeam.network","wss://wss.testnet.moonbeam.network"],"faucets":[],"infoURL":"https://docs.moonbeam.network/networks/testnet/"},{"name":"Moonshadow Westend","chainId":1288,"shortName":"mshadow","networkId":1288,"nativeCurrency":{"name":"Moonshadow","symbol":"MSHD","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://docs.moonbeam.network/networks/overview/"},{"name":"Catecoin Chain Mainnet","chainId":1618,"shortName":"cate","networkId":1618,"nativeCurrency":{"name":"Catecoin","symbol":"CATE","decimals":18},"rpc":["https://send.catechain.com"],"faucets":[],"infoURL":"https://catechain.com"},{"name":"Atheios","chainId":1620,"shortName":"ath","networkId":11235813,"nativeCurrency":{"name":"Atheios Ether","symbol":"ATH","decimals":18},"rpc":["https://wallet.atheios.com:8797"],"faucets":[],"infoURL":"https://atheios.com"},{"name":"Teslafunds","chainId":1856,"shortName":"tsf","networkId":1,"nativeCurrency":{"name":"Teslafunds Ether","symbol":"TSF","decimals":18},"rpc":["https://tsfapi.europool.me"],"faucets":[],"infoURL":"https://teslafunds.io"},{"name":"EtherGem","chainId":1987,"shortName":"egem","networkId":1987,"nativeCurrency":{"name":"EtherGem Ether","symbol":"EGEM","decimals":18},"rpc":["https://jsonrpc.egem.io/custom"],"faucets":[],"infoURL":"https://egem.io"},{"name":"420coin","chainId":2020,"shortName":"420","networkId":2020,"nativeCurrency":{"name":"Fourtwenty","symbol":"420","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://420integrated.com"},{"name":"Edgeware Mainnet","chainId":2021,"shortName":"edg","networkId":2021,"nativeCurrency":{"name":"Edge","symbol":"EDG","decimals":18},"rpc":["https://mainnet1.edgewa.re"],"faucets":[],"infoURL":"http://edgewa.re"},{"name":"Beresheet Testnet","chainId":2022,"shortName":"edgt","networkId":2022,"nativeCurrency":{"name":"Testnet Edge","symbol":"tEDG","decimals":18},"rpc":["https://beresheet1.edgewa.re"],"faucets":[],"infoURL":"http://edgewa.re"},{"name":"Kortho Mainnet","chainId":2559,"shortName":"ktoc","networkId":2559,"nativeCurrency":{"name":"KorthoChain","symbol":"KTO","decimals":11},"rpc":["https://www.kortho-chain.com"],"faucets":[],"infoURL":"https://www.kortho.io/"},{"name":"IoTeX Network Mainnet","chainId":4689,"shortName":"iotex-mainnet","networkId":4689,"nativeCurrency":{"name":"IoTeX","symbol":"IOTX","decimals":18},"rpc":["https://babel-api.mainnet.iotex.io"],"faucets":[],"infoURL":"https://iotex.io"},{"name":"IoTeX Network Testnet","chainId":4690,"shortName":"iotex-testnet","networkId":4690,"nativeCurrency":{"name":"IoTeX","symbol":"IOTX","decimals":18},"rpc":["https://babel-api.testnet.iotex.io"],"faucets":["https://faucet.iotex.io/"],"infoURL":"https://iotex.io"},{"name":"EraSwap Mainnet","chainId":5197,"shortName":"es","networkId":5197,"nativeCurrency":{"name":"EraSwap","symbol":"ES","decimals":18},"rpc":["https://mainnet.eraswap.network","https://rpc-mumbai.mainnet.eraswap.network"],"faucets":[],"infoURL":"https://eraswap.info/"},{"name":"Ontology Testnet","chainId":5851,"shortName":"Ontology Testnet","networkId":5851,"nativeCurrency":{"name":"ONG","symbol":"ONG","decimals":9},"rpc":["https://polaris1.ont.io:20339","https://polaris2.ont.io:20339","https://polaris3.ont.io:20339","https://polaris4.ont.io:20339"],"faucets":["https://developer.ont.io/"],"infoURL":"https://ont.io/"},{"name":"Wegochain Rubidium Mainnet","chainId":5869,"shortName":"rbd","networkId":5869,"nativeCurrency":{"name":"Rubid","symbol":"RBD","decimals":18},"rpc":["https://proxy.wegochain.io","http://wallet.wegochain.io:7764"],"faucets":[],"infoURL":"http://wegochain.io"},{"name":"MDGL Testnet","chainId":8029,"shortName":"mdgl","networkId":8029,"nativeCurrency":{"name":"MDGL Token","symbol":"MDGLT","decimals":18},"rpc":["https://testnet.mdgl.io"],"faucets":[],"infoURL":"https://mdgl.io"},{"name":"GeneChain Adenine Testnet","chainId":8080,"shortName":"GeneChainAdn","networkId":8080,"nativeCurrency":{"name":"Testnet RNA","symbol":"tRNA","decimals":18},"rpc":["https://rpc-testnet.genechain.io"],"faucets":["https://faucet.genechain.io"],"infoURL":"https://scan-testnet.genechain.io/"},{"name":"Klaytn Mainnet Cypress","chainId":8217,"shortName":"Cypress","networkId":8217,"nativeCurrency":{"name":"KLAY","symbol":"KLAY","decimals":18},"rpc":["https://node-api.klaytnapi.com/v1/klaytn"],"faucets":[],"infoURL":"https://www.klaytn.com/"},{"name":"KorthoTest","chainId":8285,"shortName":"Kortho","networkId":8285,"nativeCurrency":{"name":"Kortho Test","symbol":"KTO","decimals":11},"rpc":["https://www.krotho-test.net"],"faucets":[],"infoURL":"https://www.kortho.io/"},{"name":"TOOL Global Testnet","chainId":8724,"shortName":"olo","networkId":8724,"nativeCurrency":{"name":"TOOL Global","symbol":"OLO","decimals":18},"rpc":["https://testnet-web3.wolot.io"],"faucets":["https://testnet-explorer.wolot.io"],"infoURL":"https://testnet-explorer.wolot.io"},{"name":"bloxberg","chainId":8995,"shortName":"berg","networkId":8995,"nativeCurrency":{"name":"BERG","symbol":"U+25B3","decimals":18},"rpc":["https://core.bloxberg.org"],"faucets":["https://faucet.bloxberg.org/"],"infoURL":"https://bloxberg.org"},{"name":"Smart Bitcoin Cash","chainId":10000,"shortName":"smartbch","networkId":10000,"nativeCurrency":{"name":"Bitcoin Cash","symbol":"BCH","decimals":18},"rpc":["https://smartbch.greyh.at","https://rpc-mainnet.smartbch.org","https://smartbch.fountainhead.cash/mainnet"],"faucets":[],"infoURL":"https://smartbch.org/"},{"name":"Smart Bitcoin Cash Testnet","chainId":10001,"shortName":"smartbchtest","networkId":10001,"nativeCurrency":{"name":"Bitcoin Cash Test Token","symbol":"BCHT","decimals":18},"rpc":["https://rpc-testnet.smartbch.org"],"faucets":[],"infoURL":"http://smartbch.org/"},{"name":"Blockchain Genesis Mainnet","chainId":10101,"shortName":"GEN","networkId":10101,"nativeCurrency":{"name":"GEN","symbol":"GEN","decimals":18},"rpc":["https://eu.mainnet.xixoio.com","https://us.mainnet.xixoio.com","https://asia.mainnet.xixoio.com"],"faucets":[],"infoURL":"https://www.xixoio.com/"},{"name":"Webchain","chainId":24484,"shortName":"web","networkId":37129,"nativeCurrency":{"name":"Webchain Ether","symbol":"WEB","decimals":18},"rpc":["https://node1.webchain.network"],"faucets":[],"infoURL":"https://webchain.network"},{"name":"MintMe.com Coin","chainId":24734,"shortName":"mintme","networkId":37480,"nativeCurrency":{"name":"MintMe.com Coin","symbol":"MINTME","decimals":18},"rpc":["https://node1.mintme.com"],"faucets":[],"infoURL":"https://www.mintme.com"},{"name":"Ethersocial Network","chainId":31102,"shortName":"esn","networkId":1,"nativeCurrency":{"name":"Ethersocial Network Ether","symbol":"ESN","decimals":18},"rpc":["https://api.esn.gonspool.com"],"faucets":[],"infoURL":"https://ethersocial.org"},{"name":"Fusion Mainnet","chainId":32659,"shortName":"fsn","networkId":32659,"nativeCurrency":{"name":"Fusion","symbol":"FSN","decimals":18},"rpc":["https://mainnet.anyswap.exchange","https://fsn.dev/api"],"faucets":[],"infoURL":"https://www.fusion.org/"},{"name":"Energi Mainnet","chainId":39797,"shortName":"nrg","networkId":39797,"nativeCurrency":{"name":"Energi","symbol":"NRG","decimals":18},"rpc":["https://nodeapi.gen3.energi.network"],"faucets":[],"infoURL":"https://www.energi.world/"},{"name":"pegglecoin","chainId":42069,"shortName":"PC","networkId":42069,"nativeCurrency":{"name":"pegglecoin","symbol":"peggle","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://teampeggle.com"},{"name":"Celo Mainnet","chainId":42220,"shortName":"CELO","networkId":42220,"nativeCurrency":{"name":"CELO","symbol":"CELO","decimals":18},"rpc":["https://forno.celo.org","wss://forno.celo.org/ws"],"faucets":[],"infoURL":"https://docs.celo.org/"},{"name":"Athereum","chainId":43110,"shortName":"avaeth","networkId":43110,"nativeCurrency":{"name":"Athereum Ether","symbol":"ATH","decimals":18},"rpc":["https://ava.network:21015/ext/evm/rpc"],"faucets":["http://athfaucet.ava.network//?address=${ADDRESS}"],"infoURL":"https://athereum.ava.network"},{"name":"Avalanche Fuji Testnet","chainId":43113,"shortName":"Fuji","networkId":1,"nativeCurrency":{"name":"Avalanche","symbol":"AVAX","decimals":18},"rpc":["https://api.avax-test.network/ext/bc/C/rpc"],"faucets":["https://faucet.avax-test.network/"],"infoURL":"https://cchain.explorer.avax-test.network"},{"name":"Avalanche Mainnet","chainId":43114,"shortName":"Avalanche","networkId":1,"nativeCurrency":{"name":"Avalanche","symbol":"AVAX","decimals":18},"rpc":["https://api.avax.network/ext/bc/C/rpc"],"faucets":[],"infoURL":"https://cchain.explorer.avax.network/"},{"name":"Celo Alfajores Testnet","chainId":44787,"shortName":"ALFA","networkId":44787,"nativeCurrency":{"name":"CELO","symbol":"CELO","decimals":18},"rpc":["https://alfajores-forno.celo-testnet.org","wss://alfajores-forno.celo-testnet.org/ws"],"faucets":["https://celo.org/developers/faucet","https://cauldron.pretoriaresearchlab.io/alfajores-faucet"],"infoURL":"https://docs.celo.org/"},{"name":"Energi Testnet","chainId":49797,"shortName":"tnrg","networkId":49797,"nativeCurrency":{"name":"Energi","symbol":"tNRG","decimals":18},"rpc":["https://nodeapi.test3.energi.network"],"faucets":[],"infoURL":"https://www.energi.world/"},{"name":"Celo Baklava Testnet","chainId":62320,"shortName":"BKLV","networkId":62320,"nativeCurrency":{"name":"CELO","symbol":"CELO","decimals":18},"rpc":["https://baklava-forno.celo-testnet.org"],"faucets":["https://docs.google.com/forms/d/e/1FAIpQLSdfr1BwUTYepVmmvfVUDRCwALejZ-TUva2YujNpvrEmPAX2pg/viewform","https://cauldron.pretoriaresearchlab.io/baklava-faucet"],"infoURL":"https://docs.celo.org/"},{"name":"Energy Web Volta Testnet","chainId":73799,"shortName":"vt","networkId":73799,"nativeCurrency":{"name":"Volta Token","symbol":"VT","decimals":18},"rpc":["https://volta-rpc.energyweb.org","wss://volta-rpc.energyweb.org/ws"],"faucets":["https://voltafaucet.energyweb.org"],"infoURL":"https://energyweb.org"},{"name":"Firenze test network","chainId":78110,"shortName":"firenze","networkId":78110,"nativeCurrency":{"name":"Firenze Ether","symbol":"FIN","decimals":18},"rpc":["https://ethnode.primusmoney.com/firenze"],"faucets":[],"infoURL":"https://primusmoney.com"},{"name":"Matic Testnet Mumbai","chainId":80001,"shortName":"maticmum","networkId":80001,"nativeCurrency":{"name":"Matic","symbol":"tMATIC","decimals":18},"rpc":["https://rpc-mumbai.matic.today","wss://ws-mumbai.matic.today"],"faucets":["https://faucet.matic.network/"],"infoURL":"https://matic.network/"},{"name":"QuarkChain Mainnet Root","chainId":100000,"shortName":"qkc-r","networkId":100000,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:38391/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 0","chainId":100001,"shortName":"qkc-s0","networkId":100001,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39000/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 1","chainId":100002,"shortName":"qkc-s1","networkId":100002,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39001/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 2","chainId":100003,"shortName":"qkc-s2","networkId":100003,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39002/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 3","chainId":100004,"shortName":"qkc-s3","networkId":100004,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39003/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 4","chainId":100005,"shortName":"qkc-s4","networkId":100005,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39004/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 5","chainId":100006,"shortName":"qkc-s5","networkId":100006,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39005/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 6","chainId":100007,"shortName":"qkc-s6","networkId":100007,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39006/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Mainnet Shard 7","chainId":100008,"shortName":"qkc-s7","networkId":100008,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.mainnet.quarkchain.io:39007/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Root","chainId":110000,"shortName":"qkc-d-r","networkId":110000,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:38391/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 0","chainId":110001,"shortName":"qkc-d-s0","networkId":110001,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39000/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 1","chainId":110002,"shortName":"qkc-d-s1","networkId":110002,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39001/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 2","chainId":110003,"shortName":"qkc-d-s2","networkId":110003,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39002/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 3","chainId":110004,"shortName":"qkc-d-s3","networkId":110004,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39003/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 4","chainId":110005,"shortName":"qkc-d-s4","networkId":110005,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39004/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 5","chainId":110006,"shortName":"qkc-d-s5","networkId":110006,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39005/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 6","chainId":110007,"shortName":"qkc-d-s6","networkId":110007,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39006/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"QuarkChain Devnet Shard 7","chainId":110008,"shortName":"qkc-d-s7","networkId":110008,"nativeCurrency":{"name":"QKC","symbol":"QKC","decimals":18},"rpc":["http://jrpc.devnet.quarkchain.io:39007/"],"faucets":[],"infoURL":"https://www.quarkchain.io/"},{"name":"Akroma","chainId":200625,"shortName":"aka","networkId":200625,"nativeCurrency":{"name":"Akroma Ether","symbol":"AKA","decimals":18},"rpc":["https://remote.akroma.io"],"faucets":[],"infoURL":"https://akroma.io"},{"name":"ARTIS sigma1","chainId":246529,"shortName":"ats","networkId":246529,"nativeCurrency":{"name":"ARTIS sigma1 Ether","symbol":"ATS","decimals":18},"rpc":["https://rpc.sigma1.artis.network"],"faucets":[],"infoURL":"https://artis.eco"},{"name":"ARTIS Testnet tau1","chainId":246785,"shortName":"atstau","networkId":246785,"nativeCurrency":{"name":"ARTIS tau1 Ether","symbol":"tATS","decimals":18},"rpc":["https://rpc.tau1.artis.network"],"faucets":[],"infoURL":"https://artis.network"},{"name":"Arbitrum Testnet Rinkeby","chainId":421611,"shortName":"arb-rinkeby","networkId":421611,"nativeCurrency":{"name":"Arbitrum Rinkeby Ether","symbol":"ARETH","decimals":18},"rpc":["https://rinkeby.arbitrum.io/rpc","wss://rinkeby.arbitrum.io/ws"],"faucets":[],"infoURL":"https://arbitrum.io"},{"name":"Ether-1","chainId":1313114,"shortName":"etho","networkId":1313114,"nativeCurrency":{"name":"Ether-1 Ether","symbol":"ETHO","decimals":18},"rpc":["https://rpc.ether1.org"],"faucets":[],"infoURL":"https://ether1.org"},{"name":"Xerom","chainId":1313500,"shortName":"xero","networkId":1313500,"nativeCurrency":{"name":"Xerom Ether","symbol":"XERO","decimals":18},"rpc":["https://rpc.xerom.org"],"faucets":[],"infoURL":"https://xerom.org"},{"name":"Musicoin","chainId":7762959,"shortName":"music","networkId":7762959,"nativeCurrency":{"name":"Musicoin","symbol":"MUSIC","decimals":18},"rpc":["https://mewapi.musicoin.tw"],"faucets":[],"infoURL":"https://musicoin.tw"},{"name":"PepChain Churchill","chainId":13371337,"shortName":"tpep","networkId":13371337,"nativeCurrency":{"name":"PepChain Churchill Ether","symbol":"TPEP","decimals":18},"rpc":["https://churchill-rpc.pepchain.io"],"faucets":[],"infoURL":"https://pepchain.io"},{"name":"IOLite","chainId":18289463,"shortName":"ilt","networkId":18289463,"nativeCurrency":{"name":"IOLite Ether","symbol":"ILT","decimals":18},"rpc":["https://net.iolite.io"],"faucets":[],"infoURL":"https://iolite.io"},{"name":"quarkblockchain","chainId":20181205,"shortName":"qki","networkId":20181205,"nativeCurrency":{"name":"quarkblockchain Native Token","symbol":"QKI","decimals":18},"rpc":["https://hz.rpc.qkiscan.cn","https://jp.rpc.qkiscan.io"],"faucets":[],"infoURL":"https://quarkblockchain.org/"},{"name":"Auxilium Network Mainnet","chainId":28945486,"shortName":"auxi","networkId":28945486,"nativeCurrency":{"name":"Auxilium coin","symbol":"AUX","decimals":18},"rpc":["https://rpc.auxilium.global"],"faucets":[],"infoURL":"https://auxilium.global"},{"name":"Joys Digital Mainnet","chainId":35855456,"shortName":"JOYS","networkId":35855456,"nativeCurrency":{"name":"JOYS","symbol":"JOYS","decimals":18},"rpc":["https://node.joys.digital"],"faucets":[],"infoURL":"https://joys.digital"},{"name":"Aquachain","chainId":61717561,"shortName":"aqua","networkId":61717561,"nativeCurrency":{"name":"Aquachain Ether","symbol":"AQUA","decimals":18},"rpc":["https://c.onical.org","https://tx.aquacha.in/api"],"faucets":["https://aquacha.in/faucet"],"infoURL":"https://aquachain.github.io"},{"name":"Joys Digital TestNet","chainId":99415706,"shortName":"TOYS","networkId":99415706,"nativeCurrency":{"name":"TOYS","symbol":"TOYS","decimals":18},"rpc":["https://toys.joys.cash/"],"faucets":["https://faucet.joys.digital/"],"infoURL":"https://joys.digital"},{"name":"IPOS Network","chainId":1122334455,"shortName":"ipos","networkId":1122334455,"nativeCurrency":{"name":"IPOS Network Ether","symbol":"IPOS","decimals":18},"rpc":["https://rpc.iposlab.com","https://rpc2.iposlab.com"],"faucets":[],"infoURL":"https://iposlab.com"},{"name":"Aurora MainNet","chainId":1313161554,"shortName":"aurora","networkId":1313161554,"nativeCurrency":{"name":"Ether","symbol":"aETH","decimals":18},"rpc":["https://rpc.mainnet.aurora.dev:8545"],"faucets":[],"infoURL":"https://aurora.dev"},{"name":"Aurora TestNet","chainId":1313161555,"shortName":"aurora-testnet","networkId":1313161555,"nativeCurrency":{"name":"Ether","symbol":"aETH","decimals":18},"rpc":["https://rpc.testnet.aurora.dev:8545"],"faucets":[],"infoURL":"https://aurora.dev"},{"name":"Aurora BetaNet","chainId":1313161556,"shortName":"aurora-betanet","networkId":1313161556,"nativeCurrency":{"name":"Ether","symbol":"aETH","decimals":18},"rpc":["https://rpc.betanet.aurora.dev:8545"],"faucets":[],"infoURL":"https://aurora.dev"},{"name":"Harmony Mainnet Shard 0","chainId":1666600000,"shortName":"hmy-s0","networkId":1666600000,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://api.harmony.one"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Mainnet Shard 1","chainId":1666600001,"shortName":"hmy-s1","networkId":1666600001,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://s1.api.harmony.one"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Mainnet Shard 2","chainId":1666600002,"shortName":"hmy-s2","networkId":1666600002,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://s2.api.harmony.one"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Mainnet Shard 3","chainId":1666600003,"shortName":"hmy-s3","networkId":1666600003,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://s3.api.harmony.one"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Testnet Shard 0","chainId":1666700000,"shortName":"hmy-b-s0","networkId":1666700000,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://api.s0.b.hmny.io"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Testnet Shard 1","chainId":1666700001,"shortName":"hmy-b-s1","networkId":1666700001,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://api.s1.b.hmny.io"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Testnet Shard 2","chainId":1666700002,"shortName":"hmy-b-s2","networkId":1666700002,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://api.s2.b.hmny.io"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Harmony Testnet Shard 3","chainId":1666700003,"shortName":"hmy-b-s3","networkId":1666700003,"nativeCurrency":{"name":"ONE","symbol":"ONE","decimals":18},"rpc":["https://api.s3.b.hmny.io"],"faucets":[],"infoURL":"https://www.harmony.one/"},{"name":"Pirl","chainId":3125659152,"shortName":"pirl","networkId":3125659152,"nativeCurrency":{"name":"Pirl Ether","symbol":"PIRL","decimals":18},"rpc":["https://wallrpc.pirl.io"],"faucets":[],"infoURL":"https://pirl.io"},{"name":"Palm Testnet","chainId":11297108099,"shortName":"tpalm","networkId":11297108099,"nativeCurrency":{"name":"PALM","symbol":"PALM","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://palm.io"},{"name":"Palm Mainnet","chainId":11297108109,"shortName":"palm","networkId":11297108109,"nativeCurrency":{"name":"PALM","symbol":"PALM","decimals":18},"rpc":[],"faucets":[],"infoURL":"https://palm.io"}]
Phamdung2009 / Xxx<!DOCTYPE html> <html lang="en"> <head> <title>Bitbucket</title> <meta id="bb-bootstrap" data-current-user="{"isKbdShortcutsEnabled": true, "isSshEnabled": false, "isAuthenticated": false}" /> <meta name="frontbucket-version" content="production"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script nonce="xxI7cPsOVRt9B81s" type="text/javascript">(window.NREUM||(NREUM={})).loader_config={licenseKey:"a2cef8c3d3",applicationID:"548124220"};window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var i=t[n]={exports:{}};e[n][0].call(i.exports,function(t){var i=e[n][1][t];return r(i||t)},i,i.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var i=0;i<n.length;i++)r(n[i]);return r}({1:[function(e,t,n){function r(){}function i(e,t,n){return function(){return o(e,[u.now()].concat(c(arguments)),t?null:this,n),t?void 0:this}}var o=e("handle"),a=e(7),c=e(8),f=e("ee").get("tracer"),u=e("loader"),s=NREUM;"undefined"==typeof window.newrelic&&(newrelic=s);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],p="api-",l=p+"ixn-";a(d,function(e,t){s[t]=i(p+t,!0,"api")}),s.addPageAction=i(p+"addPageAction",!0),s.setCurrentRouteName=i(p+"routeName",!0),t.exports=newrelic,s.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(e,t){var n={},r=this,i="function"==typeof t;return o(l+"tracer",[u.now(),e,n],r),function(){if(f.emit((i?"":"no-")+"fn-start",[u.now(),r,i],n),i)try{return t.apply(this,arguments)}catch(e){throw f.emit("fn-err",[arguments,this,e],n),e}finally{f.emit("fn-end",[u.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,t){m[t]=i(l+t)}),newrelic.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),o("err",[e,u.now(),!1,t])}},{}],2:[function(e,t,n){function r(){return c.exists&&performance.now?Math.round(performance.now()):(o=Math.max((new Date).getTime(),o))-a}function i(){return o}var o=(new Date).getTime(),a=o,c=e(9);t.exports=r,t.exports.offset=a,t.exports.getLastTimestamp=i},{}],3:[function(e,t,n){function r(e){return!(!e||!e.protocol||"file:"===e.protocol)}t.exports=r},{}],4:[function(e,t,n){function r(e,t){var n=e.getEntries();n.forEach(function(e){"first-paint"===e.name?d("timing",["fp",Math.floor(e.startTime)]):"first-contentful-paint"===e.name&&d("timing",["fcp",Math.floor(e.startTime)])})}function i(e,t){var n=e.getEntries();n.length>0&&d("lcp",[n[n.length-1]])}function o(e){e.getEntries().forEach(function(e){e.hadRecentInput||d("cls",[e])})}function a(e){if(e instanceof m&&!g){var t=Math.round(e.timeStamp),n={type:e.type};t<=p.now()?n.fid=p.now()-t:t>p.offset&&t<=Date.now()?(t-=p.offset,n.fid=p.now()-t):t=p.now(),g=!0,d("timing",["fi",t,n])}}function c(e){d("pageHide",[p.now(),e])}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var f,u,s,d=e("handle"),p=e("loader"),l=e(6),m=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){f=new PerformanceObserver(r);try{f.observe({entryTypes:["paint"]})}catch(v){}u=new PerformanceObserver(i);try{u.observe({entryTypes:["largest-contentful-paint"]})}catch(v){}s=new PerformanceObserver(o);try{s.observe({type:"layout-shift",buffered:!0})}catch(v){}}if("addEventListener"in document){var g=!1,w=["click","keydown","mousedown","pointerdown","touchstart"];w.forEach(function(e){document.addEventListener(e,a,!1)})}l(c)}},{}],5:[function(e,t,n){function r(e,t){if(!i)return!1;if(e!==i)return!1;if(!t)return!0;if(!o)return!1;for(var n=o.split("."),r=t.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var i=null,o=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var c=navigator.userAgent,f=c.match(a);f&&c.indexOf("Chrome")===-1&&c.indexOf("Chromium")===-1&&(i="Safari",o=f[1])}t.exports={agent:i,version:o,match:r}},{}],6:[function(e,t,n){function r(e){function t(){e(a&&document[a]?document[a]:document[i]?"hidden":"visible")}"addEventListener"in document&&o&&document.addEventListener(o,t,!1)}t.exports=r;var i,o,a;"undefined"!=typeof document.hidden?(i="hidden",o="visibilitychange",a="visibilityState"):"undefined"!=typeof document.msHidden?(i="msHidden",o="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(i="webkitHidden",o="webkitvisibilitychange",a="webkitVisibilityState")},{}],7:[function(e,t,n){function r(e,t){var n=[],r="",o=0;for(r in e)i.call(e,r)&&(n[o]=t(r,e[r]),o+=1);return n}var i=Object.prototype.hasOwnProperty;t.exports=r},{}],8:[function(e,t,n){function r(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,i=n-t||0,o=Array(i<0?0:i);++r<i;)o[r]=e[t+r];return o}t.exports=r},{}],9:[function(e,t,n){t.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(e,t,n){function r(){}function i(e){function t(e){return e&&e instanceof r?e:e?u(e,f,a):a()}function n(n,r,i,o,a){if(a!==!1&&(a=!0),!l.aborted||o){e&&a&&e(n,r,i);for(var c=t(i),f=v(n),u=f.length,s=0;s<u;s++)f[s].apply(c,r);var p=d[h[n]];return p&&p.push([b,n,r,c]),c}}function o(e,t){y[e]=v(e).concat(t)}function m(e,t){var n=y[e];if(n)for(var r=0;r<n.length;r++)n[r]===t&&n.splice(r,1)}function v(e){return y[e]||[]}function g(e){return p[e]=p[e]||i(n)}function w(e,t){s(e,function(e,n){t=t||"feature",h[n]=t,t in d||(d[t]=[])})}var y={},h={},b={on:o,addEventListener:o,removeEventListener:m,emit:n,get:g,listeners:v,context:t,buffer:w,abort:c,aborted:!1};return b}function o(e){return u(e,f,a)}function a(){return new r}function c(){(d.api||d.feature)&&(l.aborted=!0,d=l.backlog={})}var f="nr@context",u=e("gos"),s=e(7),d={},p={},l=t.exports=i();t.exports.getOrSetContext=o,l.backlog=d},{}],gos:[function(e,t,n){function r(e,t,n){if(i.call(e,t))return e[t];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(o){}return e[t]=r,r}var i=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){i.buffer([e],r),i.emit(e,t,n)}var i=e("ee").get("handle");t.exports=r,r.ee=i},{}],id:[function(e,t,n){function r(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:a(e,o,function(){return i++})}var i=1,o="nr@id",a=e("gos");t.exports=r},{}],loader:[function(e,t,n){function r(){if(!E++){var e=x.info=NREUM.info,t=l.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&t))return u.abort();f(h,function(t,n){e[t]||(e[t]=n)});var n=a();c("mark",["onload",n+x.offset],null,"api"),c("timing",["load",n]);var r=l.createElement("script");r.src="https://"+e.agent,t.parentNode.insertBefore(r,t)}}function i(){"complete"===l.readyState&&o()}function o(){c("mark",["domContent",a()+x.offset],null,"api")}var a=e(2),c=e("handle"),f=e(7),u=e("ee"),s=e(5),d=e(3),p=window,l=p.document,m="addEventListener",v="attachEvent",g=p.XMLHttpRequest,w=g&&g.prototype;if(d(p.location)){NREUM.o={ST:setTimeout,SI:p.setImmediate,CT:clearTimeout,XHR:g,REQ:p.Request,EV:p.Event,PR:p.Promise,MO:p.MutationObserver};var y=""+location,h={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1208.min.js"},b=g&&w&&w[m]&&!/CriOS/.test(navigator.userAgent),x=t.exports={offset:a.getLastTimestamp(),now:a,origin:y,features:{},xhrWrappable:b,userAgent:s};e(1),e(4),l[m]?(l[m]("DOMContentLoaded",o,!1),p[m]("load",r,!1)):(l[v]("onreadystatechange",i),p[v]("onload",r)),c("mark",["firstbyte",a.getLastTimestamp()],null,"api");var E=0}},{}],"wrap-function":[function(e,t,n){function r(e,t){function n(t,n,r,f,u){function nrWrapper(){var o,a,s,p;try{a=this,o=d(arguments),s="function"==typeof r?r(o,a):r||{}}catch(l){i([l,"",[o,a,f],s],e)}c(n+"start",[o,a,f],s,u);try{return p=t.apply(a,o)}catch(m){throw c(n+"err",[o,a,m],s,u),m}finally{c(n+"end",[o,a,p],s,u)}}return a(t)?t:(n||(n=""),nrWrapper[p]=t,o(t,nrWrapper,e),nrWrapper)}function r(e,t,r,i,o){r||(r="");var c,f,u,s="-"===r.charAt(0);for(u=0;u<t.length;u++)f=t[u],c=e[f],a(c)||(e[f]=n(c,s?f+r:r,i,f,o))}function c(n,r,o,a){if(!m||t){var c=m;m=!0;try{e.emit(n,r,o,t,a)}catch(f){i([f,n,r,o],e)}m=c}}return e||(e=s),n.inPlace=r,n.flag=p,n}function i(e,t){t||(t=s);try{t.emit("internal-error",e)}catch(n){}}function o(e,t,n){if(Object.defineProperty&&Object.keys)try{var r=Object.keys(e);return r.forEach(function(n){Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){return e[n]=t,t}})}),t}catch(o){i([o],n)}for(var a in e)l.call(e,a)&&(t[a]=e[a]);return t}function a(e){return!(e&&e instanceof Function&&e.apply&&!e[p])}function c(e,t){var n=t(e);return n[p]=e,o(e,n,s),n}function f(e,t,n){var r=e[t];e[t]=c(r,n)}function u(){for(var e=arguments.length,t=new Array(e),n=0;n<e;++n)t[n]=arguments[n];return t}var s=e("ee"),d=e(8),p="nr@original",l=Object.prototype.hasOwnProperty,m=!1;t.exports=r,t.exports.wrapFunction=c,t.exports.wrapInPlace=f,t.exports.argsToArray=u},{}]},{},["loader"]);</script> <meta name="bb-env" content="production" /> <meta id="bb-canon-url" name="bb-canon-url" content="https://bitbucket.org"> <meta name="bb-api-canon-url" content="https://api.bitbucket.org"> <meta name="bitbucket-commit-hash" content="10b0d91b991b"> <meta name="bb-app-node" content="app-3001"> <meta name="bb-dce-env" content="ASH2"> <meta name="bb-view-name" content="bitbucket.apps.repo2.views.SourceView"> <meta name="ignore-whitespace" content="False"> <meta name="tab-size" content="None"> <meta name="locale" content="en"> <meta name="application-name" content="Bitbucket"> <meta name="apple-mobile-web-app-title" content="Bitbucket"> <meta name="slack-app-id" content="A8W8QLZD1"> <meta name="statuspage-api-host" content="https://bqlf8qjztdtr.statuspage.io"> <meta name="theme-color" content="#0049B0"> <meta name="msapplication-TileColor" content="#0052CC"> <meta name="msapplication-TileImage" content="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/mstile-150x150.png"> <link rel="apple-touch-icon" sizes="180x180" type="image/png" href="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/apple-touch-icon.png"> <link rel="icon" sizes="192x192" type="image/png" href="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/android-chrome-192x192.png"> <link rel="icon" sizes="16x16 24x24 32x32 64x64" type="image/x-icon" href="/favicon.ico?v=2"> <link rel="mask-icon" href="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/safari-pinned-tab.svg" color="#0052CC"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Bitbucket"> <meta name="description" content=""> <meta name="bb-single-page-app" content="true"> <link rel="stylesheet" href="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/vendor.f4e8952a.css"> <script nonce="xxI7cPsOVRt9B81s"> if (window.performance) { window.performance.okayToSendMetrics = !document.hidden && 'onvisibilitychange' in document; if (window.performance.okayToSendMetrics) { window.addEventListener('visibilitychange', function () { if (document.hidden) { window.performance.okayToSendMetrics = false; } }); } } </script> </head> <body> <div id="root"> <script nonce="xxI7cPsOVRt9B81s"> window.__webpack_public_path__ = "https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/"; </script> </div> <script nonce="xxI7cPsOVRt9B81s"> window.__sentry__ = {"dsn": "https://2dcda83904474d8c86928ebbfa1ab294@sentry.io/1480772", "environment": "production", "tags": {"puppet_env": "production", "dc_location": "ash2", "service": "gu-bb", "revision": "10b0d91b991b"}}; window.__initial_state__ = {"section": {"repository": {"connectActions": [], "cloneProtocol": "https", "currentRepository": {"scm": "git", "website": "https://github.com/jdkoftinoff/mb-linux-msli", "uuid": "{7fe183eb-5a1e-43c1-af4a-d085585c9537}", "links": {"clone": [{"href": "https://bitbucket.org/__wp__/mb-linux-msli.git", "name": "https"}, {"href": "git@bitbucket.org:__wp__/mb-linux-msli.git", "name": "ssh"}], "self": {"href": "https://bitbucket.org/!api/2.0/repositories/__wp__/mb-linux-msli"}, "html": {"href": "https://bitbucket.org/__wp__/mb-linux-msli"}, "avatar": {"href": "https://bytebucket.org/ravatar/%7B7fe183eb-5a1e-43c1-af4a-d085585c9537%7D?ts=c"}}, "name": "mb-linux-msli", "project": {"description": "Project created by Bitbucket for __WP__", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/workspaces/__wp__/projects/PROJ"}, "html": {"href": "https://bitbucket.org/__wp__/workspace/projects/PROJ"}, "avatar": {"href": "https://bitbucket.org/account/user/__wp__/projects/PROJ/avatar/32?ts=1447453979"}}, "name": "Untitled project", "created_on": "2015-11-13T22:32:59.539281+00:00", "key": "PROJ", "updated_on": "2015-11-13T22:32:59.539335+00:00", "owner": {"username": "__wp__", "type": "team", "display_name": "__WP__", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/teams/%7B55ded115-598c-4864-b0e7-cdef05771294%7D"}, "html": {"href": "https://bitbucket.org/%7B55ded115-598c-4864-b0e7-cdef05771294%7D/"}, "avatar": {"href": "https://bitbucket.org/account/__wp__/avatar/"}}}, "workspace": {"name": "__WP__", "type": "workspace", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/workspaces/__wp__"}, "html": {"href": "https://bitbucket.org/__wp__/"}, "avatar": {"href": "https://bitbucket.org/workspaces/__wp__/avatar/?ts=1543468984"}}, "slug": "__wp__"}, "type": "project", "is_private": false, "uuid": "{e060f8c0-a44d-4706-9d5b-b11f3b7f8ea7}"}, "language": "c", "mainbranch": {"name": "master"}, "full_name": "__wp__/mb-linux-msli", "owner": {"username": "__wp__", "display_name": "__WP__", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/teams/%7B55ded115-598c-4864-b0e7-cdef05771294%7D"}, "html": {"href": "https://bitbucket.org/%7B55ded115-598c-4864-b0e7-cdef05771294%7D/"}, "avatar": {"href": "https://bitbucket.org/account/__wp__/avatar/"}}, "is_active": true, "created_on": "2012-09-12T18:04:32.423010+00:00", "type": "team", "properties": {}, "has_2fa_enabled": null}, "updated_on": "2012-09-23T15:01:03.144649+00:00", "type": "repository", "slug": "mb-linux-msli", "is_private": false, "description": "Forked from https://github.com/jdkoftinoff/mb-linux-msli."}, "mirrors": [], "menuItems": [{"analytics_label": "repository.source", "is_client_link": true, "icon_class": "icon-source", "target": "_self", "weight": 200, "url": "/__wp__/mb-linux-msli/src", "tab_name": "source", "can_display": true, "label": "Source", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": ["/diff", "/history-node"], "id": "repo-source-link", "type": "menu_item", "children": [], "icon": "icon-source"}, {"analytics_label": "repository.commits", "is_client_link": true, "icon_class": "icon-commits", "target": "_self", "weight": 300, "url": "/__wp__/mb-linux-msli/commits/", "tab_name": "commits", "can_display": true, "label": "Commits", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-commits-link", "type": "menu_item", "children": [], "icon": "icon-commits"}, {"analytics_label": "repository.branches", "is_client_link": true, "icon_class": "icon-branches", "target": "_self", "weight": 400, "url": "/__wp__/mb-linux-msli/branches/", "tab_name": "branches", "can_display": true, "label": "Branches", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-branches-link", "type": "menu_item", "children": [], "icon": "icon-branches"}, {"analytics_label": "repository.pullrequests", "is_client_link": true, "icon_class": "icon-pull-requests", "target": "_self", "weight": 500, "url": "/__wp__/mb-linux-msli/pull-requests/", "tab_name": "pullrequests", "can_display": true, "label": "Pull requests", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-pullrequests-link", "type": "menu_item", "children": [], "icon": "icon-pull-requests"}, {"analytics_label": "repository.jira", "is_client_link": true, "icon_class": "icon-jira", "target": "_self", "weight": 600, "url": "/__wp__/mb-linux-msli/jira", "tab_name": "jira", "can_display": true, "label": "Jira issues", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-jira-link", "type": "menu_item", "children": [], "icon": "icon-jira"}, {"analytics_label": "repository.downloads", "is_client_link": false, "icon_class": "icon-downloads", "target": "_self", "weight": 800, "url": "/__wp__/mb-linux-msli/downloads/", "tab_name": "downloads", "can_display": true, "label": "Downloads", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-downloads-link", "type": "menu_item", "children": [], "icon": "icon-downloads"}], "bitbucketActions": [{"analytics_label": "repository.clone", "is_client_link": false, "icon_class": "icon-clone", "target": "_self", "weight": 100, "url": "#clone", "tab_name": "clone", "can_display": true, "label": "<strong>Clone<\/strong> this repository", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-clone-button", "type": "menu_item", "children": [], "icon": "icon-clone"}, {"analytics_label": "repository.compare", "is_client_link": false, "icon_class": "aui-icon-small aui-iconfont-devtools-compare", "target": "_self", "weight": 400, "url": "/__wp__/mb-linux-msli/branches/compare", "tab_name": "compare", "can_display": true, "label": "<strong>Compare<\/strong> branches or tags", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-compare-link", "type": "menu_item", "children": [], "icon": "aui-icon-small aui-iconfont-devtools-compare"}, {"analytics_label": "repository.fork", "is_client_link": false, "icon_class": "icon-fork", "target": "_self", "weight": 500, "url": "/__wp__/mb-linux-msli/fork", "tab_name": "fork", "can_display": true, "label": "<strong>Fork<\/strong> this repository", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-fork-link", "type": "menu_item", "children": [], "icon": "icon-fork"}], "activeMenuItem": "source"}}, "global": {"needs_marketing_consent": false, "features": {"fd-send-webhooks-to-webhook-processor": true, "exp-share-to-invite-variation": false, "allocate-with-regions": true, "frontbucket-eager-dispatching-of-exited-code-review": true, "orochi-git-diff-refactor": true, "use-elasticache-lsn-storage": true, "workspaces-api-proxy": true, "webhook_encryption_disabled": true, "uninstall-dvcs-addon-only-when-jira-is-removed": true, "log-asap-errors": true, "connect-iframe-no-sub": true, "support-sending-custom-events-to-the-webhook-processor": true, "sync-aid-revoked-to-workspace": true, "new-analytics-cdn": true, "nav-add-file": false, "custom-default-branch-name-repo-create": true, "allow-users-members-endpoint": true, "remove-deactivated-users-from-followers": true, "whitelisted_throttle_exemption": true, "api-diff-caching": true, "hot-91446-add-tracing-x-b3": true, "reset-changes-requested-status": true, "provision-workspaces-in-hams": true, "provisioning-skip-workspace-creation": true, "record-site-addon-version": true, "restrict-commit-author-data": true, "enable-jwt-repo-filtering": true, "reviewer-status": true, "fd-add-gitignore-dropdown-on-create-repo-page": true, "repo-show-uuid": false, "workspace-member-set-last-accessed": true, "provisioning-install-pipelines-addon": true, "expand-accesscontrol-cache-key": true, "disable-hg": true, "new-code-review": true, "orochi-disable-hooks-with-lockid": true, "fd-prs-client-cache-fallback": true, "fd-ie-deprecation-phase-one": true, "clone-in-xcode": true, "enable-merge-bases-api": true, "bbc.core.disable-repository-statuses-fetch": false, "bms-repository-no-finalize": true, "use-moneybucket": true, "spa-repo-settings--repo-details": true, "use-py-hams-client-asap": true, "sync-workspace-user-active": true, "fetch-all-relevant-jira-projects": true, "connect-iframe-sandbox": true, "nav-next-settings": true, "auth-flow-adg3": true, "consenthub-config-endpoint-update": true, "new-code-review-onboarding-experience": true, "disable-repository-replication-task": true, "lookup-pr-approvers-from-prs": true, "orochi-add-custom-backend": true, "null-mainbranch-implies-none": true, "bbc.core.pride-logo": false, "pr_post_build_merge": true, "fd-ie-deprecation-phase-two": true, "workspace-ui": true, "provisioning-auto-login": true, "bbcdev-13546-caching-defaults": true, "hide-price-annual": true, "fd-jira-compatible-issue-export": true, "account-switcher": true, "user-mentions-repo-filtering": true, "spa-repo-settings--access-keys": true, "read-only-message-migrations": true, "free-daily-repo-limit": true, "svg-based-qr-code": true, "allow-cloud-session": true, "orochi-custom-default-branch-name-repo-create": true, "fd-overview-page-pr-filter-buttons": true, "show-upgrade-plans-banner": true}, "locale": "en", "geoip_country": null, "targetFeatures": {"fd-send-webhooks-to-webhook-processor": true, "orochi-large-merge-message-support": true, "allocate-with-regions": true, "frontbucket-eager-dispatching-of-exited-code-review": true, "orochi-git-diff-refactor": true, "fd-repository-page-loading-error-guard": true, "workspaces-api-proxy": true, "webhook_encryption_disabled": true, "uninstall-dvcs-addon-only-when-jira-is-removed": true, "whitelisted_throttle_exemption": true, "connect-iframe-no-sub": true, "support-sending-custom-events-to-the-webhook-processor": true, "sync-aid-revoked-to-workspace": true, "new-analytics-cdn": true, "log-asap-errors": true, "custom-default-branch-name-repo-create": true, "allow-users-members-endpoint": true, "remove-deactivated-users-from-followers": true, "expand-accesscontrol-cache-key": true, "api-diff-caching": true, "prlinks-installer": true, "rm-empty-ref-dirs-on-push": true, "reset-changes-requested-status": true, "provision-workspaces-in-hams": true, "provisioning-skip-workspace-creation": true, "record-site-addon-version": true, "restrict-commit-author-data": true, "enable-jwt-repo-filtering": true, "show-banner-about-new-review-experience": true, "enable-merge-bases-api": true, "account-switcher": true, "reviewer-status": true, "fd-add-gitignore-dropdown-on-create-repo-page": true, "use-elasticache-lsn-storage": true, "workspace-member-set-last-accessed": true, "provisioning-install-pipelines-addon": true, "consenthub-config-endpoint-update": true, "disable-hg": true, "new-code-review": true, "orochi-disable-hooks-with-lockid": true, "show-pr-update-activity-changes": true, "fd-ie-deprecation-phase-one": true, "clone-in-xcode": true, "fd-undo-last-push": false, "bms-repository-no-finalize": true, "exp-new-user-survey": true, "use-moneybucket": true, "spa-repo-settings--repo-details": true, "use-py-hams-client-asap": true, "atlassian-editor": true, "sync-workspace-user-active": true, "fetch-all-relevant-jira-projects": true, "hot-91446-add-tracing-x-b3": true, "connect-iframe-sandbox": true, "nav-next-settings": true, "auth-flow-adg3": true, "view-source-filtering-upon-timeout": true, "new-code-review-onboarding-experience": true, "disable-repository-replication-task": true, "lookup-pr-approvers-from-prs": true, "orochi-add-custom-backend": true, "null-mainbranch-implies-none": true, "fd-prs-client-cache-fallback": true, "pr_post_build_merge": true, "fd-ie-deprecation-phase-two": true, "workspace-ui": true, "provisioning-auto-login": true, "bbcdev-13546-caching-defaults": true, "hide-price-annual": true, "fd-jira-compatible-issue-export": true, "enable-fx3-client": true, "spa-repo-settings--access-keys": true, "read-only-message-migrations": true, "free-daily-repo-limit": true, "svg-based-qr-code": true, "allow-cloud-session": true, "orochi-custom-default-branch-name-repo-create": true, "markdown-embedded-html": false, "fd-overview-page-pr-filter-buttons": true, "show-upgrade-plans-banner": true}, "isFocusedTask": false, "browser_monitoring": true, "targetUser": {"username": "__wp__", "display_name": "__WP__", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/teams/%7B55ded115-598c-4864-b0e7-cdef05771294%7D"}, "html": {"href": "https://bitbucket.org/%7B55ded115-598c-4864-b0e7-cdef05771294%7D/"}, "avatar": {"href": "https://bitbucket.org/account/__wp__/avatar/"}}, "is_active": true, "created_on": "2012-09-12T18:04:32.423010+00:00", "type": "team", "properties": {}, "has_2fa_enabled": null}, "is_mobile_user_agent": false, "flags": [], "site_message": "", "isNavigationOpen": true, "path": "/__wp__/mb-linux-msli/src/master/", "focusedTaskBackButtonUrl": null, "whats_new_feed": "https://bitbucket.org/blog/wp-json/wp/v2/posts?categories=196&context=embed&per_page=6&orderby=date&order=desc"}, "repository": {"source": {"section": {"hash": "ae5d81ca8c8265958d9847aecca0505dbce92217", "atRef": null, "ref": {"name": "master", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/repositories/__wp__/mb-linux-msli/refs/branches/master"}, "html": {"href": "https://bitbucket.org/__wp__/mb-linux-msli/branch/master"}}, "target": {"type": "commit", "hash": "ae5d81ca8c8265958d9847aecca0505dbce92217", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/repositories/__wp__/mb-linux-msli/commit/ae5d81ca8c8265958d9847aecca0505dbce92217"}, "html": {"href": "https://bitbucket.org/__wp__/mb-linux-msli/commits/ae5d81ca8c8265958d9847aecca0505dbce92217"}}}}}}}}; window.__settings__ = {"MARKETPLACE_TERMS_OF_USE_URL": null, "JIRA_ISSUE_COLLECTORS": {"code-review-beta": {"url": "https://bitbucketfeedback.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-4bqv2z/b/20/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=bb066400", "id": "bb066400"}, "jira-software-repo-page": {"url": "https://jira.atlassian.com/s/1ce410db1c7e1b043ed91ab8e28352e2-T/yl6d1c/804001/619f60e5de428c2ed7545f16096c303d/3.1.0/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-UK&collectorId=064d6699", "id": "064d6699"}, "code-review-rollout": {"url": "https://bitbucketfeedback.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-4bqv2z/b/20/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=de003e2d", "id": "de003e2d"}, "source-browser": {"url": "https://bitbucketfeedback.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-tqnsjm/b/20/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=c19c2ff6", "id": "c19c2ff6"}}, "STATUSPAGE_URL": "https://bitbucket.status.atlassian.com/", "CANON_URL": "https://bitbucket.org", "CONSENT_HUB_FRONTEND_BASE_URL": "https://preferences.atlassian.com", "API_CANON_URL": "https://api.bitbucket.org", "SOCIAL_AUTH_ATLASSIANID_LOGOUT_URL": "https://id.atlassian.com/logout", "EMOJI_STANDARD_BASE_URL": "https://api-private.atlassian.com/emoji/"}; window.__webpack_nonce__ = 'xxI7cPsOVRt9B81s'; window.isInitialLoadApdex = true; </script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/i18n/en.4509eaad.js"></script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/ajs.53f719bc.js"></script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/app.8acf32f0.js"></script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/performance-timing.f1eda5e1.js" defer></script> <script nonce="xxI7cPsOVRt9B81s" type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam-cell.nr-data.net","queueTime":0,"licenseKey":"a2cef8c3d3","agent":"","transactionName":"NFcGYEdUW0IAVE1QCw0dIkFbVkFYDlkWWw0XUBFXXlBBHwBHSUpKEVcUWwcbQ1gEQEoDNwxHFldQY1xUFhleXBA=","applicationID":"548124220,1841284","errorBeacon":"bam-cell.nr-data.net","applicationTime":263}</script> </body> </html>
java-operator-sdk / JenvtestKubernetes Integration Test Support for Java. Moved to fabric8 client: https://github.com/fabric8io/kubernetes-client/blob/main/doc/kube-api-test.md
Rapter1990 / WeatherapianalysisCase Study - Weather Api Analysis (Java 21, Spring Boot, Postgres, JUnit,Docker, AOP, Kubernetes, Prometheus, Grafana, Github Actions (CI/CD), Jenkins, Sonarqube, Test Container)
eddiejaoude / Zend Framework Best Practice Model Github ApiZF model mapper for github's api with unit tests & mocks
osandadeshan / Rest Assured Codegen Test ProjectThis repository can be used to execute the REST Assured API tests generated by the REST Assured Code Generator (https://github.com/osandadeshan/rest-assured-code-generator).
felipetofoli / Dotnet Full Framework Ci SandboxThis repository aims to show how to create GitHub Actions to: Build and Test a .Net Full Framework Web API project; Check the code formatting (.NET / C#); Run SonarQube code static analysis.
anthophilee / Infoga Collect Email Information2Infoga-Collect Email-Information Infoga is a tool gathering email accounts informations (ip,hostname,country,...) from different public source (search engines, pgp key servers and shodan) and check if emails was leaked using hacked-emails API. Is a really simple tool, but very effective for the early stages of a penetration test or just to know the visibility of your company in the Internet. Installation : $ apt update && apt upgrade $ apt install git $ apt install python2 $ git clone https://github.com/m4ll0k/ Infoga $ cd Infoga $ chmod +x * $ pip2 install requests usage : $ python2 infoga.py Now it shows all options to use this tool $ python2 infoga.py -t gmail.com -s all Now its started collecting emails and e-mails information [hostname, city, organization, longitude and latitude ports..]
EMETEM-GLOBAL-ENTERPRISE / Prototype# Contributing to this repository <!-- omit in toc --> ## Getting started <!-- omit in toc --> Before you begin: - This site is powered by Node.js. Check to see if you're on the [version of node we support](contributing/development.md). - Have you read the [code of conduct](CODE_OF_CONDUCT.md)? - Check out the [existing issues](https://github.com/github/docs/issues) & see if we [accept contributions](#types-of-contributions-memo) for your type of issue. ### Use the 'make a contribution' button  Navigating a new codebase can be challenging, so we're making that a little easier. As you're using docs.github.com, you may come across an article that you want to make an update to. You can click on the **make a contribution** button right on that article, which will take you to the file in this repo where you'll make your changes. Before you make your changes, check to see if an [issue exists](https://github.com/github/docs/issues/) already for the change you want to make. ### Don't see your issue? Open one If you spot something new, open an issue using a [template](https://github.com/github/docs/issues/new/choose). We'll use the issue to have a conversation about the problem you want to fix. ### Ready to make a change? Fork the repo Fork using GitHub Desktop: - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. - Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! Fork using the command line: - [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. Fork with [GitHub Codespaces](https://github.com/features/codespaces): - [Fork, edit, and preview](https://docs.github.com/en/free-pro-team@latest/github/developing-online-with-codespaces/creating-a-codespace) using [GitHub Codespaces](https://github.com/features/codespaces) without having to install and run the project locally. ### Make your update: Make your changes to the file(s) you'd like to update. Here are some tips and tricks for [using the docs codebase](#working-in-the-githubdocs-repository). - Are you making changes to the application code? You'll need **Node.js v14** to run the site locally. See [contributing/development.md](contributing/development.md). - Are you contributing to markdown? We use [GitHub Markdown](contributing/content-markup-reference.md). ### Open a pull request When you're done making changes and you'd like to propose them for review, use the [pull request template](#pull-request-template) to open your PR (pull request). ### Submit your PR & get it reviewed - Once you submit your PR, others from the Docs community will review it with you. The first thing you're going to want to do is a [self review](#self-review). - After that, we may have questions, check back on your PR to keep up with the conversation. - Did you have an issue, like a merge conflict? Check out our [git tutorial](https://lab.github.com/githubtraining/managing-merge-conflicts) on how to resolve merge conflicts and other issues. ### Your PR is merged! Congratulations! The whole GitHub community thanks you. :sparkles: Once your PR is merged, you will be proudly listed as a contributor in the [contributor chart](https://github.com/github/docs/graphs/contributors). ### Keep contributing as you use GitHub Docs Now that you're a part of the GitHub Docs community, you can keep participating in many ways. **Learn more about contributing:** - [Types of contributions :memo:](#types-of-contributions-memo) - [:mega: Discussions](#mega-discussions) - [:beetle: Issues](#beetle-issues) - [:hammer_and_wrench: Pull requests](#hammer_and_wrench-pull-requests) - [:question: Support](#question-support) - [:earth_asia: Translations](#earth_asia-translations) - [:balance_scale: Site Policy](#balance_scale-site-policy) - [Starting with an issue](#starting-with-an-issue) - [Labels](#labels) - [Opening a pull request](#opening-a-pull-request) - [Working in the github/docs repository](#working-in-the-githubdocs-repository) - [Reviewing](#reviewing) - [Self review](#self-review) - [Pull request template](#pull-request-template) - [Suggested changes](#suggested-changes) - [Windows](#windows) ## Types of contributions :memo: You can contribute to the GitHub Docs content and site in several ways. This repo is a place to discuss and collaborate on docs.github.com! Our small, but mighty :muscle: docs team is maintaining this repo, to preserve our bandwidth, off topic conversations will be closed. ### :mega: Discussions Discussions are where we have conversations. If you'd like help troubleshooting a docs PR you're working on, have a great new idea, or want to share something amazing you've learned in our docs, join us in [discussions](https://github.com/github/docs/discussions). ### :beetle: Issues [Issues](https://docs.github.com/en/github/managing-your-work-on-github/about-issues) are used to track tasks that contributors can help with. If an issue has a triage label, we haven't reviewed it yet and you shouldn't begin work on it. If you've found something in the content or the website that should be updated, search open issues to see if someone else has reported the same thing. If it's something new, open an issue using a [template](https://github.com/github/docs/issues/new/choose). We'll use the issue to have a conversation about the problem you want to fix. ### :hammer_and_wrench: Pull requests A [pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) is a way to suggest changes in our repository. When we merge those changes, they should be deployed to the live site within 24 hours. :earth_africa: To learn more about opening a pull request in this repo, see [Opening a pull request](#opening-a-pull-request) below. ### :question: Support We are a small team working hard to keep up with the documentation demands of a continuously changing product. Unfortunately, we just can't help with support questions in this repository. If you are experiencing a problem with GitHub, unrelated to our documentation, please [contact GitHub Support directly](https://support.github.com/contact). Any issues, discussions, or pull requests opened here requesting support will be given information about how to contact GitHub Support, then closed and locked. If you're having trouble with your GitHub account, contact [Support](https://support.github.com/contact). ### :earth_asia: Translations This website is internationalized and available in multiple languages. The source content in this repository is written in English. We integrate with an external localization platform called [Crowdin](https://crowdin.com) and work with professional translators to localize the English content. **We do not currently accept contributions for translated content**, but we hope to in the future. ### :balance_scale: Site Policy GitHub's site policies are published on docs.github.com, too! If you find a typo in the site policy section, you can open a pull request to fix it. For anything else, see [the CONTRIBUTING guide in the site-policy repo](https://github.com/github/site-policy/blob/main/CONTRIBUTING.md). ## Starting with an issue You can browse existing issues to find something that needs help! ### Labels Labels can help you find an issue you'd like to help with. - The [`help wanted` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) is for problems or updates that anyone in the community can start working on. - The [`good first issue` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) is for problems or updates we think are ideal for beginners. - The [`content` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3Acontent) is for problems or updates in the content on docs.github.com. These will usually require some knowledge of Markdown. - The [`engineering` label](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3Aengineering) is for problems or updates in the docs.github.com website. These will usually require some knowledge of JavaScript/Node.js or YAML to fix. ## Opening a pull request You can use the GitHub user interface :pencil2: for some small changes, like fixing a typo or updating a readme. You can also fork the repo and then clone it locally, to view changes and run your tests on your machine. ## Working in the github/docs repository Here's some information that might be helpful while working on a Docs PR: - [Development](/contributing/development.md) - This short guide describes how to get this app running on your local machine. - [Content markup reference](/contributing/content-markup-reference.md) - All of our content is written in GitHub-flavored Markdown, with some additional enhancements. - [Content style guide for GitHub Docs](/contributing/content-style-guide.md) - This guide covers GitHub-specific information about how we style our content and images. It also links to the resources we use for general style guidelines. - [Reusables](/data/reusables/README.md) - We use reusables to help us keep content up to date. Instead of writing the same long string of information in several articles, we create a reusable, then call it from the individual articles. - [Variables](/data/variables/README.md) - We use variables the same way we use reusables. Variables are for short strings of reusable text. - [Liquid](/contributing/liquid-helpers.md) - We use liquid helpers to create different versions of our content. - [Scripts](/script/README.md) - The scripts directory is the home for all of the scripts you can run locally. - [Tests](/tests/README.md) - We use tests to ensure content will render correctly on the site. Tests run automatically in your PR, and sometimes it's also helpful to run them locally. ## Reviewing We (usually the docs team, but sometimes GitHub product managers, engineers, or supportocats too!) review every single PR. The purpose of reviews is to create the best content we can for people who use GitHub. :yellow_heart: Reviews are always respectful, acknowledging that everyone did the best possible job with the knowledge they had at the time. :yellow_heart: Reviews discuss content, not the person who created it. :yellow_heart: Reviews are constructive and start conversation around feedback. ### Self review You should always review your own PR first. For content changes, make sure that you: - [ ] Confirm that the changes address every part of the content strategy plan from your issue (if there are differences, explain them). - [ ] Review the content for technical accuracy. - [ ] Review the entire pull request using the [localization checklist](contributing/localization-checklist.md). - [ ] Copy-edit the changes for grammar, spelling, and adherence to the style guide. - [ ] Check new or updated Liquid statements to confirm that versioning is correct. - [ ] Check that all of your changes render correctly in staging. Remember, that lists and tables can be tricky. - [ ] If there are any failing checks in your PR, troubleshoot them until they're all passing. ### Pull request template When you open a pull request, you must fill out the "Ready for review" template before we can review your PR. This template helps reviewers understand your changes and the purpose of your pull request. ### Suggested changes We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). ## Windows This site can be developed on Windows, however a few potential gotchas need to be kept in mind: 1. Regular Expressions: Windows uses `\r\n` for line endings, while Unix based systems use `\n`. Therefore when working on Regular Expressions, use `\r?\n` instead of `\n` in order to support both environments. The Node.js [`os.EOL`](https://nodejs.org/api/os.html#os_os_eol) property can be used to get an OS-specific end-of-line marker. 1. Paths: Windows systems use `\` for the path separator, which would be returned by `path.join` and others. You could use `path.posix`, `path.posix.join` etc and the [slash](https://ghub.io/slash) module, if you need forward slashes - like for constructing URLs - or ensure your code works with either. 1. Bash: Not every Windows developer has a terminal that fully supports Bash, so it's generally preferred to write [scripts](/script) in JavaScript instead of Bash.
mojihack / TgTelegram messenger CLI Build Status Command-line interface for Telegram. Uses readline interface. API, Protocol documentation Documentation for Telegram API is available here: http://core.telegram.org/api Documentation for MTproto protocol is available here: http://core.telegram.org/mtproto Upgrading to version 1.0 First of all, the binary is now in ./bin folder and is named telegram-cli. So be careful, not to use old binary. Second, config folder is now ${HOME}/.telegram-cli Third, database is not compatible with older versions, so you'll have to login again. Fourth, in peer_name '#' are substitued to '@'. (Not applied to appending of '#%d' in case of two peers having same name). Installation Clone GitHub Repository git clone --recursive https://github.com/vysheng/tg.git && cd tg Python Support Python support is currently limited to Python 2.7 or Python 3.1+. Other versions may work but are not tested. Linux and BSDs Install libs: readline, openssl and (if you want to use config) libconfig, liblua, python and libjansson. If you do not want to use them pass options --disable-libconfig, --disable-liblua, --disable-python and --disable-json respectively. On Ubuntu/Debian use: sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make On gentoo: sudo emerge -av sys-libs/readline dev-libs/libconfig dev-libs/openssl dev-lang/lua dev-libs/libevent dev-libs/jansson dev-lang/python On Fedora: sudo dnf install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel On Archlinux: yaourt -S telegram-cli-git On FreeBSD: pkg install libconfig libexecinfo lua52 python On OpenBSD: pkg_add libconfig libexecinfo lua python On openSUSE: sudo zypper in lua-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel libopenssl-devel Then, ./configure make Other methods to install on linux On Gentoo: use ebuild provided. On Arch: https://aur.archlinux.org/packages/telegram-cli-git Mac OS X The client depends on readline library and libconfig, which are not included in OS X by default. You have to install these libraries manually. If using Homebrew: brew install libconfig readline lua python libevent jansson export CFLAGS="-I/usr/local/include -I/usr/local/Cellar/readline/6.3.8/include" export LDFLAGS="-L/usr/local/lib -L/usr/local/Cellar/readline/6.3.8/lib" ./configure && make Thanks to @jfontan for this solution. If using MacPorts: sudo port install libconfig-hr sudo port install readline sudo port install lua51 sudo port install python34 sudo port install libevent export CFLAGS="-I/usr/local/include -I/opt/local/include -I/opt/local/include/lua-5.1" export LDFLAGS="-L/usr/local/lib -L/opt/local/lib -L/opt/local/lib/lua-5.1" ./configure && make Install these ports: devel/libconfig devel/libexecinfo lang/lua52 Then build: env CC=clang CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LUA=/usr/local/bin/lua52 LUA_INCLUDE=-I/usr/local/include/lua52 LUA_LIB=-llua-5.2 ./configure make Other UNIX If you manage to launch it on other UNIX, please let me know. Contacts If you would like to ask a question, you can write to my telegram or to the github (or both). To contact me via telegram, you should use import_card method with argument 000653bf:0738ca5d:5521fbac:29246815:a27d0cda Usage bin/telegram-cli -k <public-server-key> By default, the public key is stored in tg-server.pub in the same folder or in /etc/telegram-cli/server.pub. If not, specify where to find it: bin/telegram-cli -k tg-server.pub Client support TAB completion and command history. Peer refers to the name of the contact or dialog and can be accessed by TAB completion. For user contacts peer name is Name Lastname with all spaces changed to underscores. For chats it is it's title with all spaces changed to underscores For encrypted chats it is <Exсlamation mark> Name Lastname with all spaces changed to underscores. If two or more peers have same name, number is appended to the name. (for example A_B, A_B#1, A_B#2 and so on) Supported commands Messaging msg <peer> Text - sends message to this peer fwd <user> <msg-seqno> - forward message to user. You can see message numbers starting client with -N chat_with_peer <peer> starts one on one chat session with this peer. /exit or /quit to end this mode. add_contact <phone-number> <first-name> <last-name> - tries to add contact to contact-list by phone rename_contact <user> <first-name> <last-name> - tries to rename contact. If you have another device it will be a fight mark_read <peer> - mark read all received messages with peer delete_msg <msg-seqno> - deletes message (not completly, though) restore_msg <msg-seqno> - restores delete message. Impossible for secret chats. Only possible short time (one hour, I think) after deletion Multimedia send_photo <peer> <photo-file-name> - sends photo to peer send_video <peer> <video-file-name> - sends video to peer send_text <peer> <text-file-name> - sends text file as plain messages load_photo/load_video/load_video_thumb/load_audio/load_document/load_document_thumb <msg-seqno> - loads photo/video/audio/document to download dir view_photo/view_video/view_video_thumb/view_audio/view_document/view_document_thumb <msg-seqno> - loads photo/video to download dir and starts system default viewer fwd_media <msg-seqno> send media in your message. Use this to prevent sharing info about author of media (though, it is possible to determine user_id from media itself, it is not possible get access_hash of this user) set_profile_photo <photo-file-name> - sets userpic. Photo should be square, or server will cut biggest central square part Group chat options chat_info <chat> - prints info about chat chat_add_user <chat> <user> - add user to chat chat_del_user <chat> <user> - remove user from chat rename_chat <chat> <new-name> create_group_chat <chat topic> <user1> <user2> <user3> ... - creates a groupchat with users, use chat_add_user to add more users chat_set_photo <chat> <photo-file-name> - sets group chat photo. Same limits as for profile photos. Search search <peer> pattern - searches pattern in messages with peer global_search pattern - searches pattern in all messages Secret chat create_secret_chat <user> - creates secret chat with this user visualize_key <secret_chat> - prints visualization of encryption key. You should compare it to your partner's one set_ttl <secret_chat> <ttl> - sets ttl to secret chat. Though client does ignore it, client on other end can make use of it accept_secret_chat <secret_chat> - manually accept secret chat (only useful when starting with -E key) Stats and various info user_info <user> - prints info about user history <peer> [limit] - prints history (and marks it as read). Default limit = 40 dialog_list - prints info about your dialogs contact_list - prints info about users in your contact list suggested_contacts - print info about contacts, you have max common friends stats - just for debugging show_license - prints contents of GPLv2 help - prints this help get_self - get our user info Card export_card - print your 'card' that anyone can later use to import your contact import_card <card> - gets user by card. You can write messages to him after that. Other quit - quit safe_quit - wait for all queries to end then quit
ceceliacreates / APIToolsTest Repo for GitHub API Tools
nubank / Clj Github MockAn emulator of the github api implemented in clojure to test your github app
dbinfrago / Kubernetes E2e Test FrameworkA Go library that provides extensions to github.com/kubernetes-sigs/e2e-framework to implement end-to-end tests for kubernetes APIs.