Brunobkr/llama.cpp_AlgMor24_github
ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.
03.1k
1"use strict";2const { isASCIIHex } = require("./infra");3 4function strictlySplitByteSequence(buf, cp) {5 const list = [];6 let last = 0;7 let i = buf.indexOf(cp);8 while (i >= 0) {9 list.push(buf.slice(last, i));10 last = i + 1;11 i = buf.indexOf(cp, last);12 }13 if (last !== buf.length) {14 list.push(buf.slice(last));15 }16 return list;17}18 19function replaceByteInByteSequence(buf, from, to) {20 let i = buf.indexOf(from);21 while (i >= 0) {22 buf[i] = to;23 i = buf.indexOf(from, i + 1);24 }25 return buf;26}27 28function percentEncode(c) {29 let hex = c.toString(16).toUpperCase();30 if (hex.length === 1) {31 hex = "0" + hex;32 }33 34 return "%" + hex;35}36 37function percentDecode(input) {38 const output = Buffer.alloc(input.byteLength);39 let ptr = 0;40 for (let i = 0; i < input.length; ++i) {41 if (input[i] !== 37 || !isASCIIHex(input[i + 1]) || !isASCIIHex(input[i + 2])) {42 output[ptr++] = input[i];43 } else {44 output[ptr++] = parseInt(input.slice(i + 1, i + 3).toString(), 16);45 i += 2;46 }47 }48 return output.slice(0, ptr);49}50 51function parseUrlencoded(input) {52 const sequences = strictlySplitByteSequence(input, 38);53 const output = [];54 for (const bytes of sequences) {55 if (bytes.length === 0) {56 continue;57 }58 59 let name;60 let value;61 const indexOfEqual = bytes.indexOf(61);62 63 if (indexOfEqual >= 0) {64 name = bytes.slice(0, indexOfEqual);65 value = bytes.slice(indexOfEqual + 1);66 } else {67 name = bytes;68 value = Buffer.alloc(0);69 }70 71 name = replaceByteInByteSequence(Buffer.from(name), 43, 32);72 value = replaceByteInByteSequence(Buffer.from(value), 43, 32);73 74 output.push([percentDecode(name).toString(), percentDecode(value).toString()]);75 }76 return output;77}78 79function serializeUrlencodedByte(input) {80 let output = "";81 for (const byte of input) {82 if (byte === 32) {83 output += "+";84 } else if (byte === 42 ||85 byte === 45 ||86 byte === 46 ||87 (byte >= 48 && byte <= 57) ||88 (byte >= 65 && byte <= 90) ||89 byte === 95 ||90 (byte >= 97 && byte <= 122)) {91 output += String.fromCodePoint(byte);92 } else {93 output += percentEncode(byte);94 }95 }96 return output;97}98 99function serializeUrlencoded(tuples, encodingOverride = undefined) {100 let encoding = "utf-8";101 if (encodingOverride !== undefined) {102 encoding = encodingOverride;103 }104 105 let output = "";106 for (const [i, tuple] of tuples.entries()) {107 // TODO: handle encoding override108 const name = serializeUrlencodedByte(Buffer.from(tuple[0]));109 let value = tuple[1];110 if (tuple.length > 2 && tuple[2] !== undefined) {111 if (tuple[2] === "hidden" && name === "_charset_") {112 value = encoding;113 } else if (tuple[2] === "file") {114 // value is a File object115 value = value.name;116 }117 }118 value = serializeUrlencodedByte(Buffer.from(value));119 if (i !== 0) {120 output += "&";121 }122 output += `${name}=${value}`;123 }124 return output;125}126 127module.exports = {128 percentEncode,129 percentDecode,130 131 // application/x-www-form-urlencoded string parser132 parseUrlencoded(input) {133 return parseUrlencoded(Buffer.from(input));134 },135 136 // application/x-www-form-urlencoded serializer137 serializeUrlencoded138};139 