{"version":3,"sources":["webpack:///./node_modules/base64-js/index.js","webpack:///./src/components/widgets/feeds/Widget6.vue?f917","webpack:///./src/components/widgets/feeds/Widget6.vue?8bff","webpack:///./src/components/widgets/feeds/Widget6.vue","webpack:///./node_modules/ieee754/index.js","webpack:///./src/components/dropdown/Dropdown2.vue?5c8d","webpack:///./src/components/dropdown/Dropdown2.vue?56ee","webpack:///./src/components/dropdown/Dropdown2.vue","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/isarray/index.js"],"names":["exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","key","_hoisted_5","_hoisted_6","_hoisted_7","src","alt","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","style","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","render","_ctx","_cache","$props","$setup","$data","$options","_component_router_link","_component_inline_svg","feed","type","user","avatar","to","name","params","id","default","_","nick","user_patent","title","icon","is_admin","subject_type","href","subject_id","$t","currentLanguage","module_id","lesson_id","created_at","moment","fromNow","subject","dificulty","is_freemium","currentUser","isFixedFalseFeed","onClick","$event","handleFixedHacktivity","is_fixed","deleteHacktivityUserAuth","headline","react","reaction","love","fire","like","eye","openComment","comments","comments_view","comment","message","reactions","deleteComment","replyComment","ref","rows","current_comment_focus","onFocus","onFocusout","current_comment","placeholder","loading_comment","data","props","widgetClasses","String","Object","show_comment","Boolean","Number","lessonId","required","components","Dropdown2","setup","emit","route","store","loading","getters","getFeedLoading","getCurrentLanguage","localStorage","getItem","value","dispatch","DELETE_HACKTIVITY","console","log","FIXED_HACKTIVITY","path","methods","this","COMMENT","$emit","current_user_reaction","REACT","find","$nextTick","$refs","CurrentComment","focus","DELETE_COMMENT","comment_id","hacktivity_id","commentable_id","__exports__","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","d","s","NaN","Infinity","Math","pow","write","c","rt","abs","isNaN","floor","LN2","base64","ieee754","isArray","typedArraySupport","__proto__","prototype","foo","subarray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","undefined","checked","string","isEncoding","actual","slice","fromArrayLike","array","byteOffset","obj","isBuffer","copy","isnan","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","j","hexWrite","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","apply","equals","inspect","str","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","replace","trim","units","leadSurrogate","byteArray","hi","lo","dst","module"],"mappings":"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","file":"js/chunk-14183668.90c5306d.js","sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, vModelText as _vModelText, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"card card-flush mb-10\" }\nconst _hoisted_2 = { class: \"card-header pt-9 d-flex justify-content-between\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"symbol symbol-50px me-5\"\n}\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = {\n key: 1,\n class: \"symbol symbol-50px me-5\"\n}\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"img\", {\n src: \"/media/logos/HackingClub_LogoVariados-03.png\",\n class: \"\",\n alt: \"\"\n}, null, -1)\nconst _hoisted_8 = [\n _hoisted_7\n]\nconst _hoisted_9 = {\n key: 2,\n class: \"flex-grow-1\"\n}\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode()\nconst _hoisted_11 = { class: \"text-gray-500\" }\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_13 = {\n key: 0,\n class: \"text-gray-400 fw-light\"\n}\nconst _hoisted_14 = [\"title\", \"src\"]\nconst _hoisted_15 = /*#__PURE__*/_createTextVNode(\"       \")\nconst _hoisted_16 = {\n key: 1,\n class: \"mx-3\"\n}\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"badge badge-light-warning\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"bi bi-people-fill text-warning\" }),\n /*#__PURE__*/_createTextVNode(\" Support\")\n], -1)\nconst _hoisted_18 = [\n _hoisted_17\n]\nconst _hoisted_19 = {\n key: 2,\n class: \"badge badge-light-danger\"\n}\nconst _hoisted_20 = {\n key: 3,\n class: \"badge badge-light-info\"\n}\nconst _hoisted_21 = {\n key: 4,\n class: \"badge badge-light-success\"\n}\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"    \")\nconst _hoisted_23 = [\"href\"]\nconst _hoisted_24 = { class: \"badge badge-light-primary\" }\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-duotone ki-right\" }, null, -1)\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"path1\" }, null, -1)\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"path2\" }, null, -1)\nconst _hoisted_28 = { class: \"badge badge-light-primary\" }\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-duotone ki-right\" }, null, -1)\nconst _hoisted_30 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"path1\" }, null, -1)\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"path2\" }, null, -1)\nconst _hoisted_32 = [\"title\"]\nconst _hoisted_33 = {\n key: 3,\n class: \"flex-grow-1\"\n}\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"a\", { class: \"text-gray-800 text-hover-primary fs-4 fw-bold\" }, \"Hacking Club\", -1)\nconst _hoisted_35 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_36 = {\n key: 0,\n class: \"badge badge-light-success\"\n}\nconst _hoisted_37 = {\n key: 1,\n class: \"badge badge-light-info\"\n}\nconst _hoisted_38 = {\n key: 2,\n class: \"badge badge-light-warning\"\n}\nconst _hoisted_39 = {\n key: 3,\n class: \"badge badge-light-danger\"\n}\nconst _hoisted_40 = /*#__PURE__*/_createTextVNode(\"    \")\nconst _hoisted_41 = {\n key: 4,\n class: \"badge badge-light-success\"\n}\nconst _hoisted_42 = /*#__PURE__*/_createTextVNode(\"    \")\nconst _hoisted_43 = [\"href\"]\nconst _hoisted_44 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"badge badge-light-primary\" }, [\n /*#__PURE__*/_createTextVNode(\"Go to machine \"),\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-duotone ki-right\" }),\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"path1\" }),\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"path2\" })\n], -1)\nconst _hoisted_45 = [\n _hoisted_44\n]\nconst _hoisted_46 = [\"href\"]\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"badge badge-light-primary\" }, [\n /*#__PURE__*/_createTextVNode(\"Go to machine \"),\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-duotone ki-right\" }),\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"path1\" }),\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"path2\" })\n], -1)\nconst _hoisted_48 = [\n _hoisted_47\n]\nconst _hoisted_49 = [\"title\"]\nconst _hoisted_50 = { class: \"card-toolbar\" }\nconst _hoisted_51 = { class: \"m-0\" }\nconst _hoisted_52 = { class: \"d-flex align-content-end\" }\nconst _hoisted_53 = { class: \"d-flex flex-column\" }\nconst _hoisted_54 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-message-minus fs-3 text-danger\" }, null, -1)\nconst _hoisted_55 = /*#__PURE__*/_createTextVNode(\" Delete \")\nconst _hoisted_56 = [\n _hoisted_54,\n _hoisted_55\n]\nconst _hoisted_57 = { class: \"card-body\" }\nconst _hoisted_58 = {\n class: \"fs-6 fw-normal text-gray-800\",\n style: {\"white-space\":\"pre-line\"}\n}\nconst _hoisted_59 = { class: \"card-footer pt-0\" }\nconst _hoisted_60 = { class: \"mb-6\" }\nconst _hoisted_61 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"separator separator-solid\" }, null, -1)\nconst _hoisted_62 = { class: \"nav py-3 d-flex justify-content-between w-full\" }\nconst _hoisted_63 = { class: \"nav-item\" }\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-heart fs-3 text-danger\" }, null, -1)\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-rocket fs-3 text-warning\" }, null, -1)\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-like fs-3 text-primary\" }, null, -1)\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-ghost fs-3 text-success\" }, null, -1)\nconst _hoisted_68 = { class: \"nav-item\" }\nconst _hoisted_69 = { class: \"svg-icon svg-icon-3 text-success\" }\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"separator separator-solid mb-1\" }, null, -1)\nconst _hoisted_71 = { class: \"symbol symbol-45px me-5\" }\nconst _hoisted_72 = [\"src\"]\nconst _hoisted_73 = { class: \"d-flex flex-column flex-row-fluid\" }\nconst _hoisted_74 = { class: \"d-flex align-items-center flex-wrap mb-0\" }\nconst _hoisted_75 = { class: \"text-gray-500\" }\nconst _hoisted_76 = [\"title\"]\nconst _hoisted_77 = { class: \"mt-1\" }\nconst _hoisted_78 = {\n key: 0,\n class: \"text-gray-400 fw-light\"\n}\nconst _hoisted_79 = [\"title\", \"src\"]\nconst _hoisted_80 = /*#__PURE__*/_createTextVNode(\"       \")\nconst _hoisted_81 = {\n key: 1,\n class: \"mx-2\"\n}\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"badge badge-light-warning\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"bi bi-people-fill text-warning\" }),\n /*#__PURE__*/_createTextVNode(\" Support\")\n], -1)\nconst _hoisted_83 = [\n _hoisted_82\n]\nconst _hoisted_84 = {\n class: \"fs-6 fw-normal text-gray-700 mt-5\",\n style: {\"white-space\":\"pre-line\",\"padding-right\":\"110px\"}\n}\nconst _hoisted_85 = { class: \"nav py-3 d-flex justify-content-between w-full\" }\nconst _hoisted_86 = { class: \"nav-item\" }\nconst _hoisted_87 = [\"onClick\"]\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-heart fs-3 text-danger\" }, null, -1)\nconst _hoisted_89 = [\"onClick\"]\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-rocket fs-3 text-warning\" }, null, -1)\nconst _hoisted_91 = [\"onClick\"]\nconst _hoisted_92 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-like fs-3 text-primary\" }, null, -1)\nconst _hoisted_93 = [\"onClick\"]\nconst _hoisted_94 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-ghost fs-3 text-success\" }, null, -1)\nconst _hoisted_95 = {\n class: \"d-flex flex-column\",\n style: {\"margin-top\":\"-80px\"}\n}\nconst _hoisted_96 = [\"onClick\"]\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-message-minus fs-3 text-danger\" }, null, -1)\nconst _hoisted_98 = /*#__PURE__*/_createTextVNode(\" Delete \")\nconst _hoisted_99 = [\n _hoisted_97,\n _hoisted_98\n]\nconst _hoisted_100 = [\"onClick\"]\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-outline ki-message-add fs-3 text-success\" }, null, -1)\nconst _hoisted_102 = { class: \"d-flex align-items-center\" }\nconst _hoisted_103 = { class: \"symbol symbol-35px me-3\" }\nconst _hoisted_104 = [\"src\"]\nconst _hoisted_105 = { class: \"position-relative w-100\" }\nconst _hoisted_106 = [\"rows\", \"placeholder\"]\nconst _hoisted_107 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"ki-duotone ki-send fs-2\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"path1\" }),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"path2\" })\n], -1)\nconst _hoisted_108 = [\n _hoisted_107\n]\nconst _hoisted_109 = {\n key: 1,\n class: \"position-absolute top-50 end-0 translate-middle-y mt-5 me-5\"\n}\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"spinner-border spinner-border-sm align-middle ms-2\" }, null, -1)\nconst _hoisted_111 = [\n _hoisted_110\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_inline_svg = _resolveComponent(\"inline-svg\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.feed?.type != 'release')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"img\", {\n src: _ctx.feed?.user?.avatar,\n class: \"\",\n alt: \"\"\n }, null, 8, _hoisted_5)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, _hoisted_8)),\n (_ctx.feed?.type !== 'release')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createVNode(_component_router_link, {\n to: { name: 'profile-user', params: { id: _ctx.feed?.user?.id } },\n class: \"text-gray-800 text-hover-primary fs-4 fw-bold\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.feed?.user?.name), 1)\n ]),\n _: 1\n }, 8, [\"to\"]),\n _hoisted_10,\n _createElementVNode(\"small\", _hoisted_11, _toDisplayString(_ctx.feed?.user?.nick ? '@' + _ctx.feed?.user?.nick : ''), 1),\n _hoisted_12,\n (_ctx.feed?.user?.user_patent)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_13, [\n _createElementVNode(\"img\", {\n title: _ctx.feed?.user?.user_patent?.name,\n src: '/media/logos/badges/' + _ctx.feed?.user?.user_patent?.icon,\n class: \"h-20px align-self-center\",\n alt: \"\"\n }, null, 8, _hoisted_14),\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.user?.user_patent?.name), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_15,\n (_ctx.feed?.user?.is_admin)\n ? (_openBlock(), _createElementBlock(\"a\", _hoisted_16, _hoisted_18))\n : _createCommentVNode(\"\", true),\n (_ctx.feed?.type == 'first_blood')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, \"First Blood 🩸\"))\n : _createCommentVNode(\"\", true),\n (_ctx.feed?.type == 'own_flag')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_20, \"Own Flag\"))\n : _createCommentVNode(\"\", true),\n (_ctx.feed?.type == 'own_machine')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, \"Own Machine\"))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_ctx.feed?.subject_type == 'App\\\\Models\\\\Machine')\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 5,\n href: '/laboratory/competition-machines/' + _ctx.feed?.subject_id\n }, [\n _createElementVNode(\"span\", _hoisted_24, [\n _createTextVNode(_toDisplayString(_ctx.$t(`${_ctx.currentLanguage}.hacktivity.go_to_machine`)), 1),\n _hoisted_25,\n _hoisted_26,\n _hoisted_27\n ])\n ], 8, _hoisted_23))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 6,\n to: {name: 'training-module-show-lesson', params:{ id: _ctx.feed?.module_id, lesson_id: _ctx.feed?.subject_id}}\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_28, [\n _createTextVNode(_toDisplayString(_ctx.$t(`${_ctx.currentLanguage}.hacktivity.go_to_lesson`)), 1),\n _hoisted_29,\n _hoisted_30,\n _hoisted_31\n ])\n ]),\n _: 1\n }, 8, [\"to\"])),\n _createElementVNode(\"span\", {\n class: \"text-gray-400 fw-semibold d-block\",\n title: _ctx.feed?.created_at\n }, _toDisplayString(_ctx.moment(_ctx.feed?.created_at).fromNow()), 9, _hoisted_32)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _hoisted_34,\n _hoisted_35,\n (_ctx.feed.subject?.dificulty == 'easy')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_36, \"Easy\"))\n : _createCommentVNode(\"\", true),\n (_ctx.feed.subject?.dificulty == 'medium')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_37, \"Medium\"))\n : _createCommentVNode(\"\", true),\n (_ctx.feed.subject?.dificulty == 'hard')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_38, \"Hard\"))\n : _createCommentVNode(\"\", true),\n (_ctx.feed.subject?.dificulty == 'insane')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_39, \"Insane\"))\n : _createCommentVNode(\"\", true),\n _hoisted_40,\n (_ctx.feed.subject?.is_freemium)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_41, \"Free\"))\n : _createCommentVNode(\"\", true),\n _hoisted_42,\n (_ctx.feed?.subject?.type == 'default')\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 5,\n href: '/laboratory/competition-machines/' + _ctx.feed?.subject?.id\n }, _hoisted_45, 8, _hoisted_43))\n : (_openBlock(), _createElementBlock(\"a\", {\n key: 6,\n href: '/training/training-machines/' + _ctx.feed?.subject?.id\n }, _hoisted_48, 8, _hoisted_46)),\n _createElementVNode(\"span\", {\n class: \"text-gray-400 fw-semibold d-block\",\n title: _ctx.feed?.created_at\n }, _toDisplayString(_ctx.moment(_ctx.feed?.created_at).fromNow()), 9, _hoisted_49)\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_50, [\n _createElementVNode(\"div\", _hoisted_51, [\n _createElementVNode(\"div\", _hoisted_52, [\n _createElementVNode(\"div\", _hoisted_53, [\n (_ctx.currentUser?.is_admin && _ctx.isFixedFalseFeed)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.handleFixedHacktivity(_ctx.feed?.id))),\n class: _normalizeClass([\"btn btn-sm px-4 py-2 me-2\", _ctx.feed?.is_fixed ? 'btn-active-light-danger' : 'btn-active-light-success'])\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"bi-pin-angle-fill fs-3\", _ctx.feed?.is_fixed ? 'text-danger' : 'text-success'])\n }, null, 2),\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.is_fixed ? 'Unfixed' : 'Fixed'), 1)\n ], 2))\n : _createCommentVNode(\"\", true),\n (_ctx.feed?.user?.id == _ctx.currentUser?.id)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.deleteHacktivityUserAuth(_ctx.feed?.id))),\n class: \"btn btn-sm btn-active-light-danger px-4 py-2 me-2\"\n }, _hoisted_56))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"div\", _hoisted_58, _toDisplayString(_ctx.feed?.headline), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n _createElementVNode(\"div\", _hoisted_60, [\n _hoisted_61,\n _createElementVNode(\"ul\", _hoisted_62, [\n _createElementVNode(\"li\", _hoisted_63, [\n _createElementVNode(\"a\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.react('hacktivity', 'love', _ctx.feed?.id))),\n class: \"btn btn-sm btn-active-light-danger px-4 py-2 me-2\"\n }, [\n _hoisted_64,\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.reaction?.love), 1)\n ]),\n _createElementVNode(\"a\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.react('hacktivity', 'fire', _ctx.feed?.id))),\n class: \"btn btn-sm btn-active-light-warning px-4 py-2 me-2\"\n }, [\n _hoisted_65,\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.reaction?.fire), 1)\n ]),\n _createElementVNode(\"a\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.react('hacktivity', 'like', _ctx.feed?.id))),\n class: \"btn btn-sm btn-active-light-primary px-4 py-2 me-2\"\n }, [\n _hoisted_66,\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.reaction?.like), 1)\n ]),\n _createElementVNode(\"a\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.react('hacktivity', 'eye', _ctx.feed?.id))),\n class: \"btn btn-sm btn-active-light-success px-4 py-2 me-2\"\n }, [\n _hoisted_67,\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.reaction?.eye), 1)\n ])\n ]),\n _createElementVNode(\"li\", _hoisted_68, [\n _createElementVNode(\"a\", {\n class: \"btn btn-sm btn-active-light-success px-4 py-2\",\n \"data-bs-toggle\": \"collapse\",\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.openComment()))\n }, [\n _createElementVNode(\"span\", _hoisted_69, [\n _createVNode(_component_inline_svg, { src: \"/media/icons/duotune/communication/com012.svg\" })\n ]),\n _createTextVNode(\" \" + _toDisplayString(_ctx.feed?.comments?.length), 1)\n ])\n ])\n ]),\n _hoisted_70,\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.comments_view ? 'collapse show' : 'collapse')\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.feed?.comments, (comment) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: comment.id,\n class: \"d-flex pt-6 pb-3\"\n }, [\n _createElementVNode(\"div\", _hoisted_71, [\n _createElementVNode(\"img\", {\n src: comment?.user?.avatar,\n alt: \"\"\n }, null, 8, _hoisted_72)\n ]),\n _createElementVNode(\"div\", _hoisted_73, [\n _createElementVNode(\"div\", _hoisted_74, [\n _createVNode(_component_router_link, {\n to: { name: 'profile-user', params: { id: comment?.user?.id } },\n class: \"text-gray-800 text-hover-primary fw-bold me-6\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(comment?.user?.name) + \" \", 1),\n _createElementVNode(\"small\", _hoisted_75, \"@\" + _toDisplayString(comment?.user?.nick), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createElementVNode(\"span\", {\n class: \"text-gray-400 fw-semibold fs-7 me-5\",\n title: comment?.created_at\n }, _toDisplayString(_ctx.moment(comment?.created_at).fromNow()), 9, _hoisted_76)\n ]),\n _createElementVNode(\"div\", _hoisted_77, [\n (comment?.user?.user_patent)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_78, [\n _createElementVNode(\"img\", {\n title: comment?.user?.user_patent?.name,\n src: '/media/logos/badges/' + comment?.user?.user_patent?.icon,\n class: \"h-20px align-self-center\",\n alt: \"\"\n }, null, 8, _hoisted_79),\n _createTextVNode(\"  \" + _toDisplayString(comment?.user?.user_patent?.name), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_80,\n (comment?.user?.is_admin)\n ? (_openBlock(), _createElementBlock(\"a\", _hoisted_81, _hoisted_83))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"span\", _hoisted_84, _toDisplayString(comment?.message), 1),\n _createElementVNode(\"ul\", _hoisted_85, [\n _createElementVNode(\"li\", _hoisted_86, [\n _createElementVNode(\"a\", {\n onClick: ($event: any) => (_ctx.react('comment', 'love', comment?.id)),\n class: \"btn btn-sm btn-active-light-danger px-4 py-2 me-2\"\n }, [\n _hoisted_88,\n _createTextVNode(\" \" + _toDisplayString(comment?.reactions?.love), 1)\n ], 8, _hoisted_87),\n _createElementVNode(\"a\", {\n onClick: ($event: any) => (_ctx.react('comment', 'fire', comment?.id)),\n class: \"btn btn-sm btn-active-light-warning px-4 py-2 me-2\"\n }, [\n _hoisted_90,\n _createTextVNode(\" \" + _toDisplayString(comment?.reactions?.fire), 1)\n ], 8, _hoisted_89),\n _createElementVNode(\"a\", {\n onClick: ($event: any) => (_ctx.react('comment', 'like', comment?.id)),\n class: \"btn btn-sm btn-active-light-primary px-4 py-2 me-2\"\n }, [\n _hoisted_92,\n _createTextVNode(\" \" + _toDisplayString(comment?.reactions?.like), 1)\n ], 8, _hoisted_91),\n _createElementVNode(\"a\", {\n onClick: ($event: any) => (_ctx.react('comment', 'eye', comment?.id)),\n class: \"btn btn-sm btn-active-light-success px-4 py-2 me-2\"\n }, [\n _hoisted_94,\n _createTextVNode(\" \" + _toDisplayString(comment?.reactions?.eye), 1)\n ], 8, _hoisted_93)\n ]),\n _createElementVNode(\"li\", _hoisted_95, [\n ((comment?.user.id == _ctx.currentUser?.id) || _ctx.currentUser?.is_admin)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n onClick: ($event: any) => (_ctx.deleteComment(comment)),\n class: \"btn btn-sm btn-active-light-danger px-4 py-2 me-2\"\n }, _hoisted_99, 8, _hoisted_96))\n : _createCommentVNode(\"\", true),\n ((comment?.user.id != _ctx.currentUser?.id) || _ctx.currentUser?.is_admin)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n onClick: ($event: any) => (_ctx.replyComment(comment)),\n class: \"btn btn-sm btn-active-light-success px-4 py-2 me-2\"\n }, [\n _hoisted_101,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(`${_ctx.currentLanguage}.common.reply`)), 1)\n ], 8, _hoisted_100))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]))\n }), 128))\n ], 2)\n ]),\n _createElementVNode(\"div\", _hoisted_102, [\n _createElementVNode(\"div\", _hoisted_103, [\n _createElementVNode(\"img\", {\n src: _ctx.currentUser?.avatar,\n alt: \"\"\n }, null, 8, _hoisted_104)\n ]),\n _createElementVNode(\"div\", _hoisted_105, [\n _withDirectives(_createElementVNode(\"textarea\", {\n ref: \"CurrentComment\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.current_comment) = $event)),\n type: \"text\",\n class: \"form-control form-control-solid border ps-5\",\n rows: _ctx.current_comment_focus ? 2 : 1,\n onFocus: _cache[8] || (_cache[8] = ($event: any) => (_ctx.current_comment_focus = true)),\n onFocusout: _cache[9] || (_cache[9] = ($event: any) => (_ctx.current_comment ? _ctx.current_comment_focus = true : _ctx.current_comment_focus = false)),\n name: \"search\",\n \"data-kt-autosize\": \"true\",\n placeholder: _ctx.$t(`${_ctx.currentLanguage}.hacktivity.write_your_comment`),\n \"data-kt-initialized\": \"1\",\n style: {\"overflow\":\"hidden\",\"overflow-wrap\":\"break-word\",\"resize\":\"none\",\"text-align\":\"start\"}\n }, null, 40, _hoisted_106), [\n [_vModelText, _ctx.current_comment]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.current_comment_focus ? 'position-absolute top-0 end-0 translate-middle-x mt-5' : 'position-absolute top-0 end-0 translate-middle-x mt-1')\n }, [\n (!_ctx.loading_comment)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.comment())),\n class: \"btn btn-icon btn-sm btn-color-gray-500 btn-active-color-primary w-25px p-0\"\n }, _hoisted_108))\n : _createCommentVNode(\"\", true),\n (_ctx.loading_comment)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_109, _hoisted_111))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ])\n ])\n ]))\n}","\r\nimport { defineComponent, computed, defineEmits, ref } from \"vue\";\r\nimport Dropdown2 from \"@/components/dropdown/Dropdown2.vue\";\r\nimport { useStore } from \"vuex\";\r\nimport moment from \"moment\";\r\nimport { Actions } from \"@/store/enums/StoreEnums\";\r\nimport {UserType} from \"@/types/UserType\";\r\nimport { useRoute } from \"vue-router\";\r\nexport interface Feed {\r\n id: number;\r\n user: User;\r\n headline: string;\r\n type: string;\r\n subject_type: string;\r\n subject_id: number;\r\n is_fixed: number;\r\n module_id: number;\r\n subject: {\r\n id: number;\r\n name: string;\r\n description: string;\r\n dificulty: string;\r\n is_freemium: boolean;\r\n os_name: string;\r\n release_at: string;\r\n created_at: string;\r\n updated_at: string;\r\n type: string;\r\n };\r\n reaction: {\r\n current_user_reaction: string;\r\n eye: number;\r\n fire: number;\r\n like: number;\r\n love: number;\r\n };\r\n comments: Comment[];\r\n created_at: string;\r\n updated_at: string;\r\n}\r\n\r\nexport interface User {\r\n id: number;\r\n name: string;\r\n nick: string;\r\n bio: string;\r\n xp: number;\r\n level: number;\r\n avatar: string;\r\n is_admin: boolean;\r\n user_patent: {\r\n name: string;\r\n icon: string;\r\n value: number;\r\n }\r\n}\r\n\r\nexport interface Comment {\r\n id: number;\r\n message: string;\r\n reactions: {\r\n current_user_reaction: string;\r\n eye: number | string | undefined;\r\n fire: number | string | undefined;\r\n like: number | string | undefined;\r\n love: number | string | undefined;\r\n };\r\n user: User;\r\n created_at: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: \"widget-2\",\r\n data() {\r\n return {\r\n current_comment: '',\r\n current_comment_focus: false,\r\n }\r\n },\r\n props: {\r\n widgetClasses: String,\r\n user: Object as () => User,\r\n feed: Object as () => Feed,\r\n currentUser: Object as () => UserType,\r\n show_comment: Boolean,\r\n id: [Number, String],\r\n lessonId: {\r\n required: false,\r\n type: [Number, String]\r\n }\r\n },\r\n components: {\r\n Dropdown2,\r\n },\r\n setup(props, { emit }) {\r\n const route = useRoute();\r\n const store = useStore();\r\n const loading = computed(() => store.getters.getFeedLoading);\r\n const loading_comment = ref(false);\r\n const currentLanguage = computed(() => store.getters.getCurrentLanguage || localStorage.getItem('currentLanguage'));\r\n\r\n\r\n const comments_view = ref(false);\r\n if(props.show_comment){\r\n comments_view.value = true; \r\n }\r\n\r\n const deleteHacktivityUserAuth = async (id: number | undefined) => {\r\n try {\r\n await store.dispatch(Actions.DELETE_HACKTIVITY, { id: id, lessonId: props?.lessonId });\r\n emit('hacktivity-delete', props.feed?.id);\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n const handleFixedHacktivity = async (id: number | undefined) => {\r\n try {\r\n await store.dispatch(Actions.FIXED_HACKTIVITY, { id: id, lessonId: props?.lessonId });\r\n emit('hacktivity-fixed', props.feed?.id);\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n const isFixedFalseFeed = computed(() => route.path !== '/club/feed/'+props.feed?.id);\r\n return {\r\n moment,\r\n store,\r\n loading,\r\n loading_comment,\r\n deleteHacktivityUserAuth,\r\n comments_view,\r\n handleFixedHacktivity,\r\n isFixedFalseFeed,\r\n currentLanguage\r\n }\r\n },\r\n methods: {\r\n async openComment(){\r\n \r\n this.comments_view = this.comments_view ? false : true; \r\n },\r\n async comment() {\r\n if (this.loading_comment || !this.current_comment) {\r\n return;\r\n }\r\n this.loading_comment = true;\r\n \r\n this.current_comment_focus = true;\r\n await this.store.dispatch(Actions.COMMENT, { id: this.feed?.id, message: this.current_comment });\r\n this.comments_view = true;\r\n\r\n this.current_comment_focus = false;\r\n this.current_comment = '';\r\n this.$emit('hacktivity-added', this.feed?.id);\r\n \r\n this.loading_comment = false;\r\n },\r\n async react(type: string, react: string, id: number | undefined) {\r\n if (this.loading) {\r\n return;\r\n }\r\n if (this.feed && type == 'hacktivity') {\r\n\r\n if (react == this.feed.reaction.current_user_reaction) {\r\n if (this.feed.reaction[react] <= 0) {\r\n this.feed.reaction[react] = 0;\r\n this.feed.reaction.current_user_reaction = '';\r\n } else {\r\n this.feed.reaction[react] -= 1;\r\n this.feed.reaction.current_user_reaction = '';\r\n }\r\n\r\n } else {\r\n this.feed.reaction[react] += 1;\r\n this.feed.reaction[this.feed.reaction.current_user_reaction] -= 1;\r\n this.feed.reaction.current_user_reaction = react;\r\n }\r\n\r\n await this.store.dispatch(Actions.REACT, { type: type, react: react, id: id });\r\n } else if (this.feed?.comments && type == 'comment') {\r\n let current_comment = this.feed?.comments?.find((comment) => comment.id == id)\r\n\r\n if (current_comment && react == current_comment?.reactions.current_user_reaction) {\r\n\r\n\r\n if (current_comment.reactions[react] <= 0) {\r\n current_comment.reactions[react] = 0;\r\n current_comment.reactions['current_user_reaction'] = '';\r\n\r\n } else {\r\n\r\n current_comment.reactions[react] -= 1;\r\n current_comment.reactions.current_user_reaction = '';\r\n }\r\n\r\n } else {\r\n if (current_comment) {\r\n current_comment.reactions[react] += 1;\r\n current_comment.reactions[current_comment.reactions?.current_user_reaction] -= 1;\r\n current_comment.reactions.current_user_reaction = react;\r\n\r\n } else {\r\n\r\n }\r\n\r\n }\r\n\r\n await this.store.dispatch(Actions.REACT, { type: type, react: react, id: id });\r\n }\r\n else {\r\n\r\n\r\n }\r\n },\r\n async replyComment(comment) {\r\n // check if nick is not null\r\n if (!comment.user.nick) {\r\n this.current_comment = `@${comment.user.name} `;\r\n } else {\r\n this.current_comment = `@${comment.user.nick} `;\r\n }\r\n\r\n this.current_comment_focus = true;\r\n await this.$nextTick();\r\n // focus on the textarea element using ref CurrentComment\r\n // @ts-ignore\r\n this.$refs.CurrentComment.focus();\r\n\r\n },\r\n\r\n async deleteComment(comment) {\r\n if (this.loading) {\r\n return;\r\n }\r\n await this.store.dispatch(Actions.DELETE_COMMENT, { comment_id: comment.id, hacktivity_id: comment.commentable_id });\r\n this.$emit('hacktivity-added', this.feed?.id);\r\n },\r\n\r\n }\r\n});\r\n","import { render } from \"./Widget6.vue?vue&type=template&id=1c98ccda&ts=true\"\nimport script from \"./Widget6.vue?vue&type=script&lang=ts\"\nexport * from \"./Widget6.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src791094775/src/hackingclub-spa/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-bold w-200px\",\n \"data-kt-menu\": \"true\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"
Quick Actions
New Ticket
New Customer
New Group
New Contact
\", 8)\nconst _hoisted_10 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_10))\n}","\r\nimport { defineComponent } from \"vue\";\r\n\r\nexport default defineComponent({\r\n name: \"dropdown-2\",\r\n components: {},\r\n});\r\n","import { render } from \"./Dropdown2.vue?vue&type=template&id=9a195bd0&ts=true\"\nimport script from \"./Dropdown2.vue?vue&type=script&lang=ts\"\nexport * from \"./Dropdown2.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src791094775/src/hackingclub-spa/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}