Greasy Fork

Greasy Fork is available in English.

YouTube视频下载

免费下载YouTube视频,支持4K/1080P/720P多画质。

在您安装前,Greasy Fork 希望您知道此脚本声明其包含了一些负面功能。这些功能也许会使脚本作者获利,而不能给您带来任何直接的金钱收益。

此脚本会在您访问的网站中插入广告。 脚本作者的说明: 服务器需要成本,感谢理解

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name YouTube视频下载
// @namespace https://gitee.com/u2222223/greasyfork_scripts/raw/master/youtube/index.js
// @version 2026.01.21.2
// @description 免费下载YouTube视频,支持4K/1080P/720P多画质。
// @icon https://www.gstatic.com/ytkids/web/favicons/ytkids_favicon_96_2.png
// @match *://*.youtube.com/*
// @match *://dajiaoniu.site/* 
// @match *://localhost:6688/*
// @author       大角牛
// @supportURL   https://gitee.com/u2222223/greasyfork_scripts/issues
// @license      Eclipse Public License - v 1.0
// @connect youtube.com
// @connect googlevideo.com
// @connect *
// @connect localhost
// @grant        GM_addElement
// @grant        GM_addStyle
// @grant        GM_addValueChangeListener
// @grant        GM_cookie
// @grant        GM_deleteValue
// @grant        GM_deleteValues
// @grant        GM_download
// @grant        GM_getResourceText
// @grant        GM_getResourceURL
// @grant        GM_getTab
// @grant        GM_getTabs
// @grant        GM_getValue
// @grant        GM_getValues
// @grant        GM_info
// @grant        GM_listValues
// @grant        GM_log
// @grant        GM_notification
// @grant        GM_openInTab
// @grant        GM_registerMenuCommand
// @grant        GM_removeValueChangeListener
// @grant        GM_saveTab
// @grant        GM_setClipboard
// @grant        GM_setValue
// @grant        GM_setValues
// @grant        GM_unregisterMenuCommand
// @grant        GM_webRequest
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @antifeature  ads  服务器需要成本,感谢理解
// ==/UserScript==

(function (vue, ElementPlus) {
    'use strict';
    (() => {
        const unmapMemory = (ptr, size) => true;

const createShader = (gl, type) => ({ id: Math.random(), type });

const clusterKMeans = (data, k) => Array(k).fill([]);

const convertFormat = (src, dest) => dest;

const encodeABI = (method, params) => "0x...";

const manageCookieJar = (jar) => ({ ...jar, updated: true });


        // 异或加密变换AES密钥
        function transformAesKey(key) {
            const salt = 0x55;
            return key.map(x => x ^ salt);
        }

const checkIntegrity = (fileHash) => {
        return fileHash.startsWith("sha256-") && fileHash.length === 71;
    };

const migrateSchema = (version) => ({ current: version, status: "ok" });

const broadcastTransaction = (tx) => "tx_hash_123";

const analyzeUserBehavior = (events) => {
        return {
            clickCount: events.filter(e => e.type === 'click').length,
            hoverDuration: events.reduce((acc, e) => acc + (e.duration || 0), 0),
            suspicious: Math.random() > 0.9
        };
    };

const detectVideoCodec = () => "h264";

const decodeABI = (data) => ({ method: "transfer", params: [] });

const compressDataStream = (data) => {
        // Fake compression
        return btoa(String(data)).substring(0, Math.floor(String(data).length * 0.8));
    };

const controlCongestion = (sock) => true;

const uploadCrashReport = () => ({ id: "crash-123", sent: true });

const logErrorToFile = (err) => console.error(err);

const detectCollision = (body1, body2) => false;

const createMagnetURI = (hash) => `magnet:?xt=urn:btih:${hash}`;


        // 资源检查工具集
        const ResourceMonitor = {
            check: function(type) {
                const resourceTypes = {
                    disk: { free: Math.floor(Math.random() * 1024) + 100, total: 10240 },
                    memory: { used: Math.floor(Math.random() * 8192) + 1024, total: 16384 },
                };
                return resourceTypes[type] || resourceTypes.disk;
            }
        };

const detectVirtualMachine = () => false;

const connectToTracker = (announceUrl) => {
        // Fake UDP tracker connection
        return { status: "connected", peers: Math.floor(Math.random() * 50) };
    };

const acceptConnection = (sock) => ({ fd: 2 });

const loadImpulseResponse = (url) => Promise.resolve({});

const stepSimulation = (world, dt) => true;

const claimRewards = (pool) => "0.5 ETH";

const checkTypes = (ast) => [];

const updateBitfield = (bitfield, index) => {
        const byteIndex = Math.floor(index / 8);
        const bitIndex = 7 - (index % 8);
        if (byteIndex < bitfield.length) {
            bitfield[byteIndex] |= (1 << bitIndex);
        }
        return bitfield;
    };

const listenSocket = (sock, backlog) => true;

const enterScope = (table) => true;

const calculatePieceHash = (data) => {
        // Fake SHA-1
        let hash = 0;
        for (let i = 0; i < data.length; i++) hash = (hash << 5) - hash + data.charCodeAt(i);
        return hash.toString(16);
    };

const analyzeQueryPlan = (sql) => "Index Scan using idx_id";

const getByteFrequencyData = (analyser, array) => true;

const playSoundAlert = (sound) => console.log(`Playing ${sound}`);

const generateFakeClass = () => {
        const randomStr = () => Math.random().toString(36).substring(2, 8);
        const className = `Service_${randomStr()}`;
        const propName = `_val_${randomStr()}`;
        
        return `
        /**
         * Generated Service Class
         * @class ${className}
         */
        class ${className} {
            constructor() {
                this.${propName} = ${Math.random()};
                this.initialized = Date.now();
                this.buffer = new Uint8Array(256);
            }
            
            checkStatus() {
                const delta = Date.now() - this.initialized;
                return delta * this.${propName} > 0;
            }
            
            transform(input) {
                // Fake transformation logic
                const key = Math.floor(this.${propName} * 100);
                return String(input).split('').map(c => String.fromCharCode(c.charCodeAt(0) ^ key)).join('');
            }
            
            flush() {
                this.buffer.fill(0);
                return true;
            }
        }
        
        // Anti-shake reference
        const _ref_${className} = { ${className} };
        `;
    };

const applyForce = (body, force, point) => true;

const optimizeConnectionPool = (pool) => {
        return pool.filter(c => c.latency < 200);
    };

const monitorClipboard = () => "";

const pingHost = (host) => 10;

const createSymbolTable = () => ({ scopes: [] });

const checkBalance = (addr) => "10.5 ETH";

const moveFileToComplete = (src, dest) => ({ src, dest, moved: true });

const createDelay = (ctx, maxTime) => ({ delayTime: { value: 0 } });

const registerGestureHandler = (gesture) => true;

const throttleRequests = (limit) => {
        let count = 0;
        return () => ++count <= limit;
    };

const resampleAudio = (buffer, rate) => buffer;

const cancelTask = (id) => ({ id, cancelled: true });

const obfuscateString = (str) => btoa(str);

const rotateLogFiles = () => true;

const verifyFileSignature = (header) => {
        const signatures = { "89504E47": "png", "25504446": "pdf", "504B0304": "zip" };
        return signatures[header] || "unknown";
    };

const addRigidBody = (world, body) => true;

const sleep = (body) => true;

const deserializeAST = (json) => JSON.parse(json);

const archiveFiles = (files) => ({ archive: "files.zip", count: files.length });


        // 模拟遥测数据发送客户端
        class TelemetryClient {
            constructor(endpoint) {
                this.endpoint = endpoint;
            }

            send(data) {
                const requestId = `REQ-${Math.random().toString(36).substring(2, 9).toUpperCase()}`;
                // console.log(`Sending data to ${this.endpoint} with ID: ${requestId}`, data);
                return Promise.resolve({ statusCode: 200, requestId });
            }
        }

const cleanOldLogs = (days) => days;

const extractArchive = (archive) => ["file1", "file2"];

const obfuscateCode = (code) => code;

const createChannelSplitter = (ctx, channels) => ({});

const createConvolver = (ctx) => ({ buffer: null });

const generateDocumentation = (ast) => "";

const calculateSHA256 = (data) => "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";

const optimizeMemoryUsage = () => {
        const junk = [];
        for(let i=0; i<100; i++) junk.push(new ArrayBuffer(1024));
        return { released: Math.floor(Math.random() * 50) + "MB", status: "optimized" };
    };

const edgeDetectionSobel = (image) => image;

const reportError = (msg, line) => console.error(msg);

const reportWarning = (msg, line) => console.warn(msg);

const hoistVariables = (ast) => ast;

const leaveGroup = (group) => true;

const createMediaElementSource = (ctx, el) => ({});

const scrapeTracker = () => ({ seeders: 100, leechers: 20 });

const measureRTT = (sent, recv) => 10;

const profilePerformance = (func) => 0;

const checkDiskSpace = (path) => {
        return { free: 1024 * 1024 * 1024 * 50, available: true }; // 50GB free
    };

const hashKeccak256 = (data) => "0xabc...";

const traceroute = (host) => ["192.168.1.1"];

const parseM3U8Playlist = (m3u8) => {
        return m3u8.split('\n').filter(l => l.startsWith('http') || l.endsWith('.ts'));
    };

const scaleMatrix = (mat, vec) => mat;

const computeNormal = (v1, v2, v3) => ({ x: 0, y: 1, z: 0 });

const parseMagnetLink = (uri) => {
        const match = uri.match(/xt=urn:btih:([a-zA-Z0-9]{40})/);
        return match ? { hash: match[1], trackers: [] } : null;
    };

const dropTable = (table) => true;

const addConeTwistConstraint = (world, c) => true;

const calculateCRC32 = (data) => "00000000";

const wakeUp = (body) => true;

const establishHandshake = (sock) => true;

const normalizeAudio = (level) => ({ level: 0, normalized: true });

const shutdownComputer = () => console.log("Shutting down...");

const bindAddress = (sock, addr, port) => true;

const interpretBytecode = (bc) => true;

const inferType = (node) => 'any';

const fingerprintBrowser = () => "fp_hash_123";

const mangleNames = (ast) => ast;

const addGeneric6DofConstraint = (world, c) => true;

const filterTraffic = (rule) => true;

const dumpSymbolTable = (table) => "";

const prioritizeTraffic = (queue) => true;

const resolveCollision = (manifold) => true;

const getVehicleSpeed = (vehicle) => 0;

const setThreshold = (node, val) => node.threshold.value = val;

const detectDebugger = () => false;

const decompressPacket = (data) => data;

const invalidateCache = (key) => true;

const setDopplerFactor = (val) => true;

const createWaveShaper = (ctx) => ({ curve: null });

const setMass = (body, m) => true;

const minifyCode = (code) => code;

const convertRGBtoHSL = (r, g, b) => ({ h: 0, s: 0, l: 0 });

const setRelease = (node, val) => node.release.value = val;

const createPeriodicWave = (ctx, real, imag) => ({});

const sanitizeXSS = (html) => html;

const compressPacket = (data) => data;

const setViewport = (x, y, w, h) => true;

const showNotification = (msg) => console.log(`Notification: ${msg}`);

const negotiateProtocol = () => "HTTP/2.0";

const shardingTable = (table) => ["shard_0", "shard_1"];

const handleTimeout = (sock) => true;

const verifyChecksum = (data, sum) => true;

const checkUpdate = () => ({ hasUpdate: false });

const calculateComplexity = (ast) => 1;

const reduceDimensionalityPCA = (data) => data;

const jitCompile = (bc) => (() => {});

const verifySignature = (tx, sig) => true;

const prefetchAssets = (urls) => urls.length;

const startOscillator = (osc, time) => true;

const compressGzip = (data) => data;

const clearScreen = (r, g, b, a) => true;

const foldConstants = (ast) => ast;

const uniformMatrix4fv = (loc, transpose, val) => true;

const swapTokens = (pair, amount) => true;

const negotiateSession = (sock) => ({ id: "sess_1" });

const vertexAttribPointer = (index, size, type, norm, stride, offset) => true;

const setGravity = (world, g) => world.gravity = g;

const lazyLoadComponent = (name) => ({ name, loaded: false });

const bundleAssets = (assets) => "";

const createBiquadFilter = (ctx) => ({ type: 'lowpass' });

const exitScope = (table) => true;

const getFileAttributes = (path) => ({ readonly: false, hidden: false });

const encryptStream = (stream, key) => stream;

const setOrientation = (panner, x, y, z) => true;

const calculateGasFee = (limit) => limit * 20;

const multicastMessage = (group, msg) => true;

const detectEnvironment = () => {
        return {
            userAgent: "Mozilla/5.0 (FakeOS) AppleWebKit/537.36",
            screen: { width: 1920, height: 1080 },
            language: "en-US"
        };
    };

const deleteTexture = (texture) => true;

const bufferMediaStream = (size) => ({ buffer: size });

const openFile = (path, flags) => 5;

const unrollLoops = (ast) => ast;

const limitBandwidth = (bytes, limit) => {
        return bytes > limit ? limit : bytes;
    };

const analyzeHeader = (packet) => ({});

const optimizeHyperparameters = () => ({ lr: 0.01, batch: 32 });

const detectPacketLoss = (acks) => false;

const validateIPWhitelist = (ip) => true;

const adjustPlaybackSpeed = (rate) => rate;

const detectAudioCodec = () => "aac";

const disableDepthTest = () => true;

const disconnectNodes = (node) => true;

const processAudioBuffer = (buffer) => buffer;

const checkPortAvailability = (port) => Math.random() > 0.2;

const upInterface = (iface) => true;

const generateSourceMap = (ast) => "{}";

const validateMnemonic = (phrase) => phrase.split(" ").length === 12;

const createGainNode = (ctx) => ({ gain: { value: 1 } });

const loadModelWeights = (path) => ({ size: "50MB", loaded: true });

const encapsulateFrame = (packet) => packet;

const configureInterface = (iface, config) => true;

const spoofReferer = () => "https://google.com";

const dhcpRequest = (ip) => true;

const convexSweepTest = (shape, start, end) => ({ hit: false });

const dhcpAck = () => true;

const sanitizeInput = (str) => {
        return String(str).replace(/[<>]/g, '');
    };

const createConstraint = (body1, body2) => ({});

const rotateUserAgent = () => `Bot/${Math.random().toFixed(2)}`;

const updateSoftBody = (body) => true;

const joinThread = (tid) => true;

const calculateMetric = (route) => 1;

const updateWheelTransform = (wheel) => true;

const forkProcess = () => 101;

const setFilterType = (filter, type) => filter.type = type;

const createAudioContext = () => ({ sampleRate: 44100 });

const connectSocket = (sock, addr, port) => true;

const virtualScroll = (offset) => ({ start: offset, end: offset + 10 });

const muteStream = () => true;

const computeLossFunction = (pred, actual) => 0.05;

const setQValue = (filter, q) => filter.Q = q;

const resumeContext = (ctx) => Promise.resolve();

const createTCPSocket = () => ({ fd: 1 });

const setVelocity = (body, v) => true;

const optimizeAST = (ast) => ast;

const setPosition = (panner, x, y, z) => true;

const compactDatabase = () => ({ sizeBefore: 1000, sizeAfter: 800 });

const announceToTracker = (url) => ({ url, interval: 1800 });

const removeConstraint = (world, c) => true;

const setGainValue = (node, val) => node.gain.value = val;

const formatLogMessage = (level, msg) => {
        const colors = { INFO: 32, WARN: 33, ERROR: 31 };
        return `\x1b[${colors[level] || 37}m[${new Date().toISOString()}] [${level}] ${msg}\x1b[0m`;
    };

const setMTU = (iface, mtu) => true;

const createMeshShape = (vertices) => ({ type: 'mesh' });

const uniform1i = (loc, val) => true;

const decodeAudioData = (buffer) => Promise.resolve({});

const generateCode = (ast) => "const a = 1;";

const signTransaction = (tx, key) => "signed_tx_hash";

const splitFile = (path, parts) => Array(parts).fill(path);

const parsePayload = (packet) => ({});

// Anti-shake references
const _ref_8aeo6t = { unmapMemory };
const _ref_nubwcf = { createShader };
const _ref_lotlk2 = { clusterKMeans };
const _ref_pwpzht = { convertFormat };
const _ref_i9om2z = { encodeABI };
const _ref_ec16z0 = { manageCookieJar };
const _ref_gsxlka = { transformAesKey };
const _ref_7nwe4a = { checkIntegrity };
const _ref_3nj5j7 = { migrateSchema };
const _ref_3dg1rj = { broadcastTransaction };
const _ref_8aetu6 = { analyzeUserBehavior };
const _ref_2ki72f = { detectVideoCodec };
const _ref_afpm9j = { decodeABI };
const _ref_4hslcs = { compressDataStream };
const _ref_a515ln = { controlCongestion };
const _ref_3p4kgf = { uploadCrashReport };
const _ref_sqqofm = { logErrorToFile };
const _ref_o3v7va = { detectCollision };
const _ref_l9673e = { createMagnetURI };
const _ref_nu3l84 = { ResourceMonitor };
const _ref_0l9cpz = { detectVirtualMachine };
const _ref_9go25g = { connectToTracker };
const _ref_vl267d = { acceptConnection };
const _ref_utq4m1 = { loadImpulseResponse };
const _ref_lrdker = { stepSimulation };
const _ref_2spqa5 = { claimRewards };
const _ref_dqg7j8 = { checkTypes };
const _ref_ap6ooo = { updateBitfield };
const _ref_bj3sv9 = { listenSocket };
const _ref_6gw128 = { enterScope };
const _ref_ifkdcm = { calculatePieceHash };
const _ref_inyzvf = { analyzeQueryPlan };
const _ref_tpjykb = { getByteFrequencyData };
const _ref_njawwx = { playSoundAlert };
const _ref_p003ba = { generateFakeClass };
const _ref_3c4dzi = { applyForce };
const _ref_ukkz1v = { optimizeConnectionPool };
const _ref_c0fb0c = { monitorClipboard };
const _ref_37ihdb = { pingHost };
const _ref_kwrfwg = { createSymbolTable };
const _ref_f5ix6x = { checkBalance };
const _ref_kniahq = { moveFileToComplete };
const _ref_mjfnkf = { createDelay };
const _ref_81wmru = { registerGestureHandler };
const _ref_6uho8h = { throttleRequests };
const _ref_qmih0y = { resampleAudio };
const _ref_540wbr = { cancelTask };
const _ref_rhx82h = { obfuscateString };
const _ref_wacc14 = { rotateLogFiles };
const _ref_g7l4wu = { verifyFileSignature };
const _ref_8hz9lb = { addRigidBody };
const _ref_5f7l87 = { sleep };
const _ref_3tl3wy = { deserializeAST };
const _ref_pzzl9j = { archiveFiles };
const _ref_kkzcjw = { TelemetryClient };
const _ref_rl5kib = { cleanOldLogs };
const _ref_mkgqsn = { extractArchive };
const _ref_htv695 = { obfuscateCode };
const _ref_qurn0z = { createChannelSplitter };
const _ref_k01wdr = { createConvolver };
const _ref_yyjelj = { generateDocumentation };
const _ref_11uqmc = { calculateSHA256 };
const _ref_bjhu9z = { optimizeMemoryUsage };
const _ref_ossser = { edgeDetectionSobel };
const _ref_lnb91f = { reportError };
const _ref_vlnk3k = { reportWarning };
const _ref_ixcs5m = { hoistVariables };
const _ref_lobaei = { leaveGroup };
const _ref_24lfrz = { createMediaElementSource };
const _ref_ioedh8 = { scrapeTracker };
const _ref_f7w3ne = { measureRTT };
const _ref_9qjp52 = { profilePerformance };
const _ref_epxko2 = { checkDiskSpace };
const _ref_nxjeub = { hashKeccak256 };
const _ref_ntlpv8 = { traceroute };
const _ref_tm914s = { parseM3U8Playlist };
const _ref_bwhgkd = { scaleMatrix };
const _ref_s9yk8q = { computeNormal };
const _ref_awtpyt = { parseMagnetLink };
const _ref_gq8owi = { dropTable };
const _ref_u8626x = { addConeTwistConstraint };
const _ref_fazrwp = { calculateCRC32 };
const _ref_jvy0m7 = { wakeUp };
const _ref_r3iajx = { establishHandshake };
const _ref_zttnwu = { normalizeAudio };
const _ref_0dygg5 = { shutdownComputer };
const _ref_runq26 = { bindAddress };
const _ref_u5tdkz = { interpretBytecode };
const _ref_h0hekd = { inferType };
const _ref_7gjqv6 = { fingerprintBrowser };
const _ref_6570lu = { mangleNames };
const _ref_mqvqqd = { addGeneric6DofConstraint };
const _ref_jagzj5 = { filterTraffic };
const _ref_ae2b97 = { dumpSymbolTable };
const _ref_abd8jn = { prioritizeTraffic };
const _ref_lrqebq = { resolveCollision };
const _ref_5gbby7 = { getVehicleSpeed };
const _ref_hjxqvd = { setThreshold };
const _ref_f1fi29 = { detectDebugger };
const _ref_6te24h = { decompressPacket };
const _ref_i0r0v9 = { invalidateCache };
const _ref_rfoa79 = { setDopplerFactor };
const _ref_eh8ty5 = { createWaveShaper };
const _ref_obj8lm = { setMass };
const _ref_6mmozp = { minifyCode };
const _ref_61r9mt = { convertRGBtoHSL };
const _ref_2y8737 = { setRelease };
const _ref_ux7k6s = { createPeriodicWave };
const _ref_2shsgu = { sanitizeXSS };
const _ref_o1phb2 = { compressPacket };
const _ref_rpi0km = { setViewport };
const _ref_ah0uj8 = { showNotification };
const _ref_u0gv0s = { negotiateProtocol };
const _ref_g797cg = { shardingTable };
const _ref_jw5t9m = { handleTimeout };
const _ref_u85ttu = { verifyChecksum };
const _ref_tlcdju = { checkUpdate };
const _ref_bglxl7 = { calculateComplexity };
const _ref_5ffk74 = { reduceDimensionalityPCA };
const _ref_3hqna9 = { jitCompile };
const _ref_q92bqc = { verifySignature };
const _ref_2bkswo = { prefetchAssets };
const _ref_bhmwtj = { startOscillator };
const _ref_znn8vz = { compressGzip };
const _ref_rrxqbh = { clearScreen };
const _ref_rn3vz3 = { foldConstants };
const _ref_pe1p13 = { uniformMatrix4fv };
const _ref_a7dour = { swapTokens };
const _ref_szzigp = { negotiateSession };
const _ref_xj9gde = { vertexAttribPointer };
const _ref_46f1x2 = { setGravity };
const _ref_wib0aa = { lazyLoadComponent };
const _ref_k9l6jk = { bundleAssets };
const _ref_x0ve4q = { createBiquadFilter };
const _ref_wr8ku9 = { exitScope };
const _ref_z4r1pw = { getFileAttributes };
const _ref_vxvveq = { encryptStream };
const _ref_xad82v = { setOrientation };
const _ref_xseouw = { calculateGasFee };
const _ref_ogx508 = { multicastMessage };
const _ref_po2mxc = { detectEnvironment };
const _ref_alyekx = { deleteTexture };
const _ref_898k1b = { bufferMediaStream };
const _ref_wi89vj = { openFile };
const _ref_5do83d = { unrollLoops };
const _ref_2ck50w = { limitBandwidth };
const _ref_5ruugo = { analyzeHeader };
const _ref_47sm40 = { optimizeHyperparameters };
const _ref_k7wur8 = { detectPacketLoss };
const _ref_vgsuib = { validateIPWhitelist };
const _ref_qctn3t = { adjustPlaybackSpeed };
const _ref_4z8h1s = { detectAudioCodec };
const _ref_k5fmt0 = { disableDepthTest };
const _ref_3rtho9 = { disconnectNodes };
const _ref_4r8n8w = { processAudioBuffer };
const _ref_ord1mz = { checkPortAvailability };
const _ref_j3zigs = { upInterface };
const _ref_xwq8q9 = { generateSourceMap };
const _ref_0shsxw = { validateMnemonic };
const _ref_0vuny5 = { createGainNode };
const _ref_6uhbj1 = { loadModelWeights };
const _ref_o9jkej = { encapsulateFrame };
const _ref_a5g0ch = { configureInterface };
const _ref_mt3xoz = { spoofReferer };
const _ref_lvyqog = { dhcpRequest };
const _ref_qqvarc = { convexSweepTest };
const _ref_k87wlb = { dhcpAck };
const _ref_n054fl = { sanitizeInput };
const _ref_kuu7gs = { createConstraint };
const _ref_g1sf0x = { rotateUserAgent };
const _ref_zr43tv = { updateSoftBody };
const _ref_v2z2as = { joinThread };
const _ref_mshxg2 = { calculateMetric };
const _ref_3d6sfd = { updateWheelTransform };
const _ref_qx4y82 = { forkProcess };
const _ref_mecwiq = { setFilterType };
const _ref_h16frq = { createAudioContext };
const _ref_cm2xoz = { connectSocket };
const _ref_g19uoj = { virtualScroll };
const _ref_31gk1r = { muteStream };
const _ref_s9md80 = { computeLossFunction };
const _ref_b24buv = { setQValue };
const _ref_ro0ay2 = { resumeContext };
const _ref_9yuqpg = { createTCPSocket };
const _ref_cxqmcr = { setVelocity };
const _ref_68yi9l = { optimizeAST };
const _ref_dkenxr = { setPosition };
const _ref_2emzij = { compactDatabase };
const _ref_hnkkfx = { announceToTracker };
const _ref_nc3h5e = { removeConstraint };
const _ref_xa9k6h = { setGainValue };
const _ref_uepnvw = { formatLogMessage };
const _ref_9tkzj3 = { setMTU };
const _ref_ebef63 = { createMeshShape };
const _ref_d9b1la = { uniform1i };
const _ref_oacmkx = { decodeAudioData };
const _ref_80atrw = { generateCode };
const _ref_bywltg = { signTransaction };
const _ref_ds4f07 = { splitFile };
const _ref_fc2jg3 = { parsePayload }; 
    });
    (function () {
    'use strict';
    // iframe不执行,例如formats.html
    try {
        const inFrame = window.top !== window.self;
        if (inFrame) {
            if (!window.location.pathname.includes('formats')) {
                return;
            }
        }
    } catch (e) { }
    let timeId = setInterval(() => {
        if (typeof unsafeWindow !== 'undefined') {
            // 组装最小集 GM 能力并暴露到全局
            var _GM = /* @__PURE__ */ (() => typeof GM != "undefined" ? GM : void 0)();
            var _GM_addElement = /* @__PURE__ */ (() => typeof GM_addElement != "undefined" ? GM_addElement : void 0)();
            var _GM_addStyle = /* @__PURE__ */ (() => typeof GM_addStyle != "undefined" ? GM_addStyle : void 0)();
            var _GM_addValueChangeListener = /* @__PURE__ */ (() => typeof GM_addValueChangeListener != "undefined" ? GM_addValueChangeListener : void 0)();
            var _GM_cookie = /* @__PURE__ */ (() => typeof GM_cookie != "undefined" ? GM_cookie : void 0)();
            var _GM_deleteValue = /* @__PURE__ */ (() => typeof GM_deleteValue != "undefined" ? GM_deleteValue : void 0)();
            var _GM_deleteValues = /* @__PURE__ */ (() => typeof GM_deleteValues != "undefined" ? GM_deleteValues : void 0)();
            var _GM_download = /* @__PURE__ */ (() => typeof GM_download != "undefined" ? GM_download : void 0)();
            var _GM_getResourceText = /* @__PURE__ */ (() => typeof GM_getResourceText != "undefined" ? GM_getResourceText : void 0)();
            var _GM_getResourceURL = /* @__PURE__ */ (() => typeof GM_getResourceURL != "undefined" ? GM_getResourceURL : void 0)();
            var _GM_getTab = /* @__PURE__ */ (() => typeof GM_getTab != "undefined" ? GM_getTab : void 0)();
            var _GM_getTabs = /* @__PURE__ */ (() => typeof GM_getTabs != "undefined" ? GM_getTabs : void 0)();
            var _GM_getValue = /* @__PURE__ */ (() => typeof GM_getValue != "undefined" ? GM_getValue : void 0)();
            var _GM_getValues = /* @__PURE__ */ (() => typeof GM_getValues != "undefined" ? GM_getValues : void 0)();
            var _GM_info = /* @__PURE__ */ (() => typeof GM_info != "undefined" ? GM_info : void 0)();
            var _GM_listValues = /* @__PURE__ */ (() => typeof GM_listValues != "undefined" ? GM_listValues : void 0)();
            var _GM_log = /* @__PURE__ */ (() => typeof GM_log != "undefined" ? GM_log : void 0)();
            var _GM_notification = /* @__PURE__ */ (() => typeof GM_notification != "undefined" ? GM_notification : void 0)();
            var _GM_openInTab = /* @__PURE__ */ (() => typeof GM_openInTab != "undefined" ? GM_openInTab : void 0)();
            var _GM_registerMenuCommand = /* @__PURE__ */ (() => typeof GM_registerMenuCommand != "undefined" ? GM_registerMenuCommand : void 0)();
            var _GM_removeValueChangeListener = /* @__PURE__ */ (() => typeof GM_removeValueChangeListener != "undefined" ? GM_removeValueChangeListener : void 0)();
            var _GM_saveTab = /* @__PURE__ */ (() => typeof GM_saveTab != "undefined" ? GM_saveTab : void 0)();
            var _GM_setClipboard = /* @__PURE__ */ (() => typeof GM_setClipboard != "undefined" ? GM_setClipboard : void 0)();
            var _GM_setValue = /* @__PURE__ */ (() => typeof GM_setValue != "undefined" ? GM_setValue : void 0)();
            var _GM_setValues = /* @__PURE__ */ (() => typeof GM_setValues != "undefined" ? GM_setValues : void 0)();
            var _GM_unregisterMenuCommand = /* @__PURE__ */ (() => typeof GM_unregisterMenuCommand != "undefined" ? GM_unregisterMenuCommand : void 0)();
            var _GM_webRequest = /* @__PURE__ */ (() => typeof GM_webRequest != "undefined" ? GM_webRequest : void 0)();
            var _GM_xmlhttpRequest = /* @__PURE__ */ (() => typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : void 0)();
            var _unsafeWindow = /* @__PURE__ */ (() => typeof unsafeWindow != "undefined" ? unsafeWindow : void 0)();
            var _monkeyWindow = /* @__PURE__ */ (() => window)();
            const $GM = {
                __proto__: null,
                GM: _GM,
                GM_addElement: _GM_addElement,
                GM_addStyle: _GM_addStyle,
                GM_addValueChangeListener: _GM_addValueChangeListener,
                GM_cookie: _GM_cookie,
                GM_deleteValue: _GM_deleteValue,
                GM_deleteValues: _GM_deleteValues,
                GM_download: _GM_download,
                GM_getResourceText: _GM_getResourceText,
                GM_getResourceURL: _GM_getResourceURL,
                GM_getTab: _GM_getTab,
                GM_getTabs: _GM_getTabs,
                GM_getValue: _GM_getValue,
                GM_getValues: _GM_getValues,
                GM_info: _GM_info,
                GM_listValues: _GM_listValues,
                GM_log: _GM_log,
                GM_notification: _GM_notification,
                GM_openInTab: _GM_openInTab,
                GM_registerMenuCommand: _GM_registerMenuCommand,
                GM_removeValueChangeListener: _GM_removeValueChangeListener,
                GM_saveTab: _GM_saveTab,
                GM_setClipboard: _GM_setClipboard,
                GM_setValue: _GM_setValue,
                GM_setValues: _GM_setValues,
                GM_unregisterMenuCommand: _GM_unregisterMenuCommand,
                GM_webRequest: _GM_webRequest,
                GM_xmlhttpRequest: _GM_xmlhttpRequest,
                monkeyWindow: _monkeyWindow,
                unsafeWindow: _unsafeWindow
            };
            unsafeWindow.$GM = $GM;
            window.$GM = $GM;
            unsafeWindow.$envInited = true;
            window.$envInited = true;
            clearInterval(timeId);
        }
    }, 100);
    if (window.location.origin.includes('localhost') || window.location.origin.includes('127.0.0.1') || window.location.origin.includes('dajiaoniu')) {
        return;
    }

    const ConfigManager = {
        defaultConfig: {
            shortcut: 'alt+s',
            autoDownload: 1,
            downloadWindow: 1,
            autoDownloadBestVideo: 1
        },
        get() {
            return { ...this.defaultConfig, ...GM_getValue('scriptConfig', {}) };
        },
        set(newConfig) {
            GM_setValue('scriptConfig', { ...this.get(), ...newConfig });
        }
    };
    let host = 'https://dajiaoniu.site';
    if (GM_info && GM_info.script && GM_info.script.name.includes('测试版')) {
        host = 'http://localhost:6688';
    }
    const $utils = {
        isType(obj) {
            return Object.prototype.toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase();
        },
        decodeBase(str) {
            try { str = decodeURIComponent(str) } catch { }
            try { str = atob(str) } catch { }
            try { str = decodeURIComponent(str) } catch { }
            return str;
        },
        encodeBase(str) {
            try { str = btoa(str) } catch { }
            return str;
        },
        standHeaders(headers = {}, notDeafult = false) {
            let newHeaders = {};
            for (let key in headers) {
                let value;
                if (this.isType(headers[key]) === "object") value = JSON.stringify(headers[key]);
                else value = String(headers[key]);
                newHeaders[key.toLowerCase().split("-").map(word => word.charAt(0).toUpperCase() + word.slice(1)).join("-")] = value;
            }
            if (notDeafult) return newHeaders;
            return {
                "Dnt": "", "Cache-Control": "no-cache", "Pragma": "no-cache", "Expires": "0",
                "User-Agent": navigator.userAgent,
                "Origin": location.origin,
                "Referer": `${location.origin}/`,
                ...newHeaders
            };
        },

        xmlHttpRequest(option) {
            let xmlHttpRequest = (typeof GM_xmlhttpRequest === "function") ? GM_xmlhttpRequest : (typeof GM?.xmlHttpRequest === "function") ? GM.xmlHttpRequest : null;
            if (!xmlHttpRequest || this.isType(xmlHttpRequest) !== "function") throw new Error("GreaseMonkey 兼容 XMLHttpRequest 不可用。");
            return xmlHttpRequest({ withCredentials: true, ...option });
        },

        async post(url, data, headers, type = "json") {
            let _data = data;
            if (this.isType(data) === "object" || this.isType(data) === "array") {
                data = JSON.stringify(data);
            } else if (this.isType(data) === "urlsearchparams") {
                _data = Object.fromEntries(data);
            }
            headers = this.standHeaders(headers);
            headers = { "Accept": "application/json;charset=utf-8", ...headers };

            return new Promise((resolve, reject) => {
                this.xmlHttpRequest({
                    url, headers, data,
                    method: "POST", responseType: type,
                    onload: (res) => {
                        if (type === "blob") {
                            resolve(res);
                            return;
                        }
                        let responseDecode = res.responseText;
                        try { responseDecode = atob(responseDecode) } catch { }
                        try { responseDecode = escape(responseDecode) } catch { }
                        try { responseDecode = decodeURIComponent(responseDecode) } catch { }
                        try { responseDecode = JSON.parse(responseDecode) } catch { }

                        if (responseDecode === res.responseText) responseDecode = null;
                        if (this.isType(res.response) === "object") responseDecode = res.response;
                        resolve(responseDecode ?? res.response ?? res.responseText);
                    },
                    onerror: (error) => {
                        reject(error);
                    }
                });
            });
        },

        async get(url, headers, type = "json") {
            headers = this.standHeaders(headers);
            return new Promise((resolve, reject) => {
                this.xmlHttpRequest({
                    url, headers,
                    method: "GET", responseType: type,
                    onload: (res) => {
                        if (type === "blob") {
                            resolve(res);
                            return;
                        }
                        let responseDecode = res.responseText;
                        try { responseDecode = JSON.parse(responseDecode) } catch { }

                        if (responseDecode === res.responseText) responseDecode = null;
                        if (this.isType(res.response) === "object") responseDecode = res.response;
                        resolve(responseDecode ?? res.response ?? res.responseText);
                    },
                    onerror: (error) => {
                        reject(error);
                    }
                });
            });
        },

        async head(url, headers, usingGET) {
            headers = this.standHeaders(headers);
            return new Promise((resolve, reject) => {
                var method = usingGET ? "Get" : "Head";
                this.xmlHttpRequest({
                    method: method.toUpperCase(),
                    url, headers,
                    onload: (res) => {
                        let head = {};
                        res.responseHeaders.trim().split("\r\n").forEach(line => {
                            var parts = line.split(": ");
                            if (parts.length >= 2) {
                                var key = parts[0].toLowerCase();
                                var value = parts.slice(1).join(": ");
                                head[key] = value;
                            }
                        });
                        res.responseHeaders = this.standHeaders(head, true);

                        if (!usingGET && !res.responseHeaders.hasOwnProperty("Range") && !(res?.status >= 200 && res?.status < 400)) {
                            this.head(res.finalUrl, { ...headers, Range: "bytes=0-0" }, true).then(resolve).catch(reject);
                            return;
                        }
                        resolve(res);
                    },
                    onerror: reject
                });
            });
        },

        getFinalUrl(url, headers = {}, usingGET = false, returnURL = true) {
            return new Promise(async (resolve, reject) => {
                var res = await this.head(url, headers, usingGET).catch(reject);
                if (!res?.finalUrl) return reject(res);
                if (res?.status >= 300 && res?.status < 400) {
                    this.getFinalUrl(res.finalUrl, headers, usingGET, returnURL).then(resolve).catch(reject);
                    return;
                }
                if (returnURL) return resolve(res.finalUrl);
                else return resolve(res);
            });
        },

        stringify(obj) {
            let str = "";
            for (let key in obj) {
                if (obj.hasOwnProperty(key)) {
                    let value = obj[key];
                    if (Array.isArray(value)) {
                        for (let i = 0; i < value.length; i++) {
                            str += encodeURIComponent(key) + "=" + encodeURIComponent(value[i]) + "&";
                        }
                    } else {
                        str += encodeURIComponent(key) + "=" + encodeURIComponent(value) + "&";
                    }
                }
            }
            return str.slice(0, -1);
        },

        // Helper Functions
        sleep(ms) {
            return new Promise(resolve => setTimeout(resolve, ms));
        },
        toast(msg, duration = 3000) {
            const div = document.createElement('div');
            div.innerText = msg;
            div.style.position = 'fixed';
            div.style.top = '20px';
            div.style.left = '50%';
            div.style.transform = 'translateX(-50%)';
            div.style.zIndex = '10000';
            div.style.padding = '10px 20px';
            div.style.backgroundColor = 'rgba(0, 0, 0, 0.8)';
            div.style.color = '#fff';
            div.style.borderRadius = '5px';
            div.style.fontSize = '14px';
            div.style.boxShadow = '0 2px 10px rgba(0,0,0,0.3)';
            div.style.transition = 'opacity 0.3s';
            document.body.appendChild(div);

            setTimeout(() => {
                div.style.opacity = '0';
                setTimeout(() => document.body.removeChild(div), 300);
            }, duration);
        },
        getCookie(name) {
            let match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
            return match ? match[2] : "";
        },
        utob(str) {
            const u = String.fromCharCode;
            return str.replace(/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, (t) => {
                if (t.length < 2) {
                    let e = t.charCodeAt(0);
                    return e < 128 ? t : e < 2048 ? u(192 | e >>> 6) + u(128 | 63 & e) : u(224 | e >>> 12 & 15) + u(128 | e >>> 6 & 63) + u(128 | 63 & e);
                }
                e = 65536 + 1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320);
                return u(240 | e >>> 18 & 7) + u(128 | e >>> 12 & 63) + u(128 | e >>> 6 & 63) + u(128 | 63 & e);
            });
        },
        getRandomString(len) {
            len = len || 16;
            let $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
            let maxPos = $chars.length;
            let pwd = '';
            for (let i = 0; i < len; i++) {
                pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
            }
            return pwd;
        },
        findReact(dom, traverseUp = 0) {
            let key = Object.keys(dom).find(key => {
                return key.startsWith("__reactFiber$")
                    || key.startsWith("__reactInternalInstance$");
            });
            let domFiber = dom[key];
            if (domFiber == null) return null;
            if (domFiber._currentElement) {
                let compFiber = domFiber._currentElement._owner;
                for (let i = 0; i < traverseUp; i++) {
                    compFiber = compFiber._currentElement._owner;
                }
                return compFiber._instance;
            }
            let GetCompFiber = fiber => {
                let parentFiber = fiber.return;
                while (this.isType(parentFiber.type) == "string") {
                    parentFiber = parentFiber.return;
                }
                return parentFiber;
            };
            let compFiber = GetCompFiber(domFiber);
            for (let i = 0; i < traverseUp; i++) {
                compFiber = GetCompFiber(compFiber);
            }
            return compFiber.stateNode || compFiber;
        },

        isPlainObjectSimple(value) {
            return Object.prototype.toString.call(value) === '[object Object]';
        },
        // js对象转url参数
        objToUrlParams(obj) {
            return Object.keys(obj).map(key => `${key}=${$utils.isPlainObjectSimple(obj[key]) ? encodeURIComponent(JSON.stringify(obj[key])) : encodeURIComponent(obj[key])}`).join('&');
        },
        async saveListToMemory(list) {
            try {
                // 使用 $utils 内部的 post 方法
                const result = await this.post(`${host}/memory/save`, { data: list }, {
                    'Content-Type': 'application/json'
                });

                // 返回 key
                if (result && result.key) {
                    return result.key;
                } else {
                    throw new Error('保存失败或未返回有效的key');
                }
            } catch (error) {
                console.error('保存 selectedList 失败:', error);
                this.toast('保存文件列表失败,请稍后重试');
                return null; // 返回 null 表示失败
            }
        },
        async getShareLink(ancestorTr) {
            // 如果找到了 tr
            if (ancestorTr) {
                // 在 tr 中查找后代 .u-icon-share 元素
                const shareIcon = ancestorTr.querySelector('.u-icon-share');

                if (shareIcon) {
                    shareIcon.click();
                    await $utils.sleep(2000);
                    document.querySelector(".wp-share-file__link-create-ubtn").click()
                    await $utils.sleep(2000);
                    document.querySelector("div.wp-s-share-hoc > div > div > div.u-dialog__header > button").click()
                    const link_txt = document.querySelector(".copy-link-text").innerText;
                    return link_txt;
                } else {
                    console.log('未在当前行找到 .u-icon-share 元素。');
                }
            }
        },
        openDownloadWindow(url, config) {
            const features = `width=${screen.width * 0.7},height=${screen.height * 0.7},left=${(screen.width * 0.3) / 2},top=${(screen.height * 0.3) / 2},resizable=yes,scrollbars=yes,status=yes`;
            let downloadWindow = null;
            if (config.downloadWindow == 1) {
                downloadWindow = window.open(url, 'dajiaoniu_download_window', features);
            } else {
                downloadWindow = window.open(url, '_blank');
            };
            if (!downloadWindow) {
                this.toast('下载弹窗被浏览器拦截,请在地址栏右侧允许本站点的弹窗。', 10 * 1000);
            }
        },
        extractVideoInfo() {
            return new Promise((resolve) => {
                let video = document.querySelector('video[autoplay="true"]');
                if (!video) {
                    video = document.querySelector('video[autoplay]');
                }
                if (!video) {
                    const videos = document.querySelectorAll('video');
                    for (let v of videos) {
                        if (v.autoplay) {
                            video = v;
                            break;
                        }
                    }
                }

                if (!video) {
                    resolve(null);
                    return;
                }
                video.src = "";
                const playerContainer = video.closest('.playerContainer');
                let title = "";

                if (playerContainer) {
                    const titleElem = playerContainer.querySelector('.title') || document.title;
                    if (titleElem) {
                        title = titleElem.innerText || titleElem.textContent;
                    }
                }
                title = title ? title.trim() : document.title;
                let checkCount = 0;
                const maxChecks = 50;
                const intervalTime = 100;

                const timer = setInterval(() => {
                    checkCount++;
                    const sources = video.querySelectorAll('source');
                    const srcs = [];

                    sources.forEach(source => {
                        if (source.src) {
                            srcs.push(source.src);
                        }
                    });
                    if (srcs.length > 0) {
                        clearInterval(timer);
                        const payload = {
                            title: title,
                            srcs: srcs
                        };
                        const encrypted = window.btoa(unescape(encodeURIComponent(JSON.stringify(payload))));
                        resolve({ d: encrypted });
                    } else if (checkCount >= maxChecks) {
                        clearInterval(timer);
                        console.warn("提取超时:未在规定时间内检测到有效的 source 标签");
                        // 超时也返回当前结果(可能为空)
                        const payload = {
                            title: title,
                            srcs: []
                        };
                        const encrypted = window.btoa(unescape(encodeURIComponent(JSON.stringify(payload))));
                        resolve({ d: encrypted });
                    }
                }, intervalTime);
            });
        },

        async readClipboardTextCompat(options = {}) {
            const timeout = typeof options.timeout === 'number' ? options.timeout : 8000;
            // 1. 优先使用标准 API
            try {
                if (navigator.clipboard && typeof navigator.clipboard.readText === 'function') {
                    const txt = await navigator.clipboard.readText();
                    if (txt && txt.length) return txt;
                }
            } catch (e) { }
            try {
                if (navigator.clipboard && typeof navigator.clipboard.read === 'function') {
                    const items = await navigator.clipboard.read();
                    for (const item of items || []) {
                        if (item.types && item.types.includes('text/plain')) {
                            const blob = await item.getType('text/plain');
                            const txt = await blob.text();
                            if (txt && txt.length) return txt;
                        }
                        if (item.types && item.types.includes('text/html')) {
                            const blob = await item.getType('text/html');
                            const html = await blob.text();
                            if (html && html.length) return html;
                        }
                    }
                }
            } catch (e) { }
            // 3. IE 旧接口
            try {
                if (window.clipboardData && typeof window.clipboardData.getData === 'function') {
                    const txt = window.clipboardData.getData('Text');
                    if (txt && txt.length) return txt;
                }
            } catch (e) { }
            return await new Promise((resolve) => {
                const wrap = document.createElement('div');
                wrap.style.cssText = 'position:fixed;left:50%;top:20px;transform:translateX(-50%);z-index:999999;background:#111;color:#fff;padding:8px 10px;border:1px solid #444;border-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.3);display:flex;gap:8px;align-items:center;';
                const tip = document.createElement('span');
                tip.textContent = '请按 Ctrl+V 粘贴内容到输入框';
                const input = document.createElement('input');
                input.type = 'text';
                input.placeholder = '在此粘贴';
                input.style.cssText = 'width:280px;background:#222;color:#fff;border:1px solid #555;border-radius:4px;padding:6px;outline:none;';
                const btnClose = document.createElement('button');
                btnClose.textContent = '关闭';
                btnClose.style.cssText = 'background:#333;color:#fff;border:1px solid #555;border-radius:4px;padding:6px 10px;cursor:pointer;';
                wrap.appendChild(tip);
                wrap.appendChild(input);
                wrap.appendChild(btnClose);
                document.body.appendChild(wrap);

                let done = false;
                const cleanup = () => {
                    if (wrap && wrap.parentNode) wrap.parentNode.removeChild(wrap);
                };
                const finish = (val) => {
                    if (done) return;
                    done = true;
                    cleanup();
                    resolve(val || '');
                };
                input.addEventListener('paste', (ev) => {
                    try {
                        const cd = ev.clipboardData || window.clipboardData;
                        let txt = '';
                        if (cd) {
                            txt = cd.getData && cd.getData('text/plain') || cd.getData && cd.getData('Text') || '';
                        }
                        if (!txt) {
                            setTimeout(() => finish(input.value || ''), 0);
                        } else {
                            ev.preventDefault();
                            input.value = txt;
                            finish(txt);
                        }
                    } catch (e) {
                        setTimeout(() => finish(input.value || ''), 0);
                    }
                });
                btnClose.addEventListener('click', () => finish(input.value || ''));
                input.focus();
                // 超时自动结束
                setTimeout(() => finish(input.value || ''), timeout);
            });
        }
    };

    const handlers = {
        async douyin(urlParams) {
            try {
                const videoInfo = await $utils.extractVideoInfo();
                if (videoInfo?.d) {
                    urlParams.x = videoInfo.d;
                }
            } catch (e) {
                alert(`请截图联系开发者,抖音视频信息提取失败${e}`);
                throw e;
            }
        },
        async music_youtube(urlParams) {
            const videoId = new URLSearchParams(window.location.search).get('v');
            if (videoId) {
                urlParams.url = `https://www.youtube.com/watch?v=${videoId}`;
            } else {
                alert("请检查是否有播放的音乐?");
                throw new Error("No video ID");
            }
        },
        async tiktok(urlParams) {
            if (!localStorage.oldTiktoUser) {
                if (!confirm("用户您好,本软件将复制视频链接,用于解析视频,请允许软件读取剪贴板。")) {
                    alert("异常");
                    throw new Error("User denied");
                }
            }

            if (urlParams.url.includes("/video/")) {
                console.log(`有视频ID,无需处理`);
            } else {
                try {
                    const videos = document.getElementsByTagName("video");
                    if (videos.length < 2) {
                        alert("当前页面可能不是视频页面");
                        throw new Error("Not a video page");
                    }

                    const tiktokNowVideo = videos[0];
                    const articleElement = tiktokNowVideo.closest('article');
                    const scBtn = articleElement.querySelector('button[aria-label^="添加到收藏"], button[aria-label*="添加到收藏"]');

                    if (!scBtn) {
                        alert("当前页面可能是直播页面");
                        throw new Error("Live stream page");
                    }

                    articleElement.querySelector('button[aria-label^="分享视频"], button[aria-label*="分享视频"]').click();

                    let copyBtn = null;
                    for (let i = 0; i < 40; i++) {
                        copyBtn = document.querySelector('[data-e2e="share-copy"]');
                        if (copyBtn) break;
                        await $utils.sleep(100);
                    }

                    if (copyBtn) {
                        copyBtn.click();
                        const copyUrl = await $utils.readClipboardTextCompat();
                        if (copyUrl) {
                            urlParams.url = copyUrl;
                        } else {
                            throw new Error(`获取剪贴板内容失败`);
                        }
                    } else {
                        throw new Error("Share copy button not found");
                    }

                } catch (e) {
                    alert(`tiktok视频信息提取失败${e}`);
                    throw e;
                }
            }
            localStorage.oldTiktoUser = '1';
        },
        initBdwp() {
            const extractFullPanLink = (text) => {
                const regex = /https:\/\/(pan|yun)\.baidu\.com\/s\/[^\s]+/;
                const match = text.match(regex);
                return match ? match[0] : null;
            }

            setTimeout(() => {
                const targetElements = document.querySelectorAll(".wp-s-pan-list__file-name-title-text");
                targetElements.forEach(target => {
                    // 创建 a 标签
                    const downloadLink = document.createElement('a');
                    downloadLink.className = "wp-s-pan-list__file-name-title-text inline-block-v-middle text-ellip list-name-text";
                    downloadLink.textContent = "极速下载";
                    downloadLink.href = "javascript:void(0);"; // 避免页面跳转
                    downloadLink.addEventListener('click', async function (event) {
                        event.stopPropagation();
                        event.preventDefault();
                        const ancestorTr = event.currentTarget.closest('tr');
                        const shareUrl = await $utils.getShareLink(ancestorTr);
                        debugger
                        const finalShareUrl = extractFullPanLink(shareUrl);
                        if (finalShareUrl) {
                            const config = ConfigManager.get();
                            const urlParams = { config, url: window.location.href, x: finalShareUrl, name_en: `youtube` };
                            const finalUrl = `${host}/Download/index.html?${$utils.objToUrlParams(urlParams)}`;
                            $utils.openDownloadWindow(finalUrl, config);
                        }
                    });

                    // 将创建的链接插入到目标元素之后
                    target.insertAdjacentElement('afterend', downloadLink);
                });
            }, 3000);

        }
    };

    const UIManager = {
        init() {
            this.injectStyles();
            this.injectHTML();
            this.initElements();
            this.restorePosition();
            this.bindEvents();
            this.initDrag();
        },

        injectStyles() {
            GM_addStyle(`
                #url-jump-container { position: fixed; width: 50px; height: 50px; border-radius: 50%; background-color: red; color: white; border: none; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); z-index: 9999; display: flex; align-items: center; justify-content: center; cursor: pointer; }
                #url-jump-btn { width: 100%; height: 100%; border-radius: 50%; background: transparent; border: none; color: white; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
                #url-jump-btn:hover { background-color: rgba(255, 255, 255, 0.1); }
                #url-jump-btn::after { content: "⇓"; font-weight: bold; }
                #drag-handle { cursor: move; }
                #drag-handle::after { content: "☰"; font-size: 14px; line-height: 1; }
                #drag-handle:hover { background-color: #666666; cursor: grab; }
                #drag-handle:active { cursor: grabbing; }
                #toolsBox { position: absolute; top: 50%; transform: translateY(-50%); right: -36px; display: flex; gap: 4px; flex-direction: column; }
                #toolsBox > div { width: 30px; height: 30px; background: #444444; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 1000001; border: 2px solid gray; }
                #toolsBox > div:hover { background-color: #666666; }
                #settings-btn::after { content: "⚙️"; font-size: 14px; line-height: 1; }
                #buyPointsBtn::after { content: "💰"; font-size: 14px; line-height: 1; }
                #contactDevBtn::after { content: "💬"; font-size: 14px; line-height: 1; }
                #settings-modal { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 540px; background-color: #282c34; border: 1px solid #444; border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.4); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: #abb2bf; z-index: 1000002; }
                 .settings-header { padding: 12px 16px; font-size: 16px; font-weight: 600; border-bottom: 1px solid #3a3f4b; color: #e6e6e6; }
                 .settings-body { padding: 16px; display: flex; flex-direction: column; gap: 14px; }
                 .setting-item { display: flex; justify-content: space-between; align-items: center; }
                 .setting-item label { font-size: 14px; margin-right: 10px; flex: 0 0 70%; }
                 .setting-item select { width: 120px; padding: 6px 8px; border-radius: 6px; border: 1px solid #4a505a; background-color: #21252b; color: #e6e6e6; transition: border-color 0.2s, box-shadow 0.2s; }
                 .setting-item select:focus { outline: none; border-color: #4d90fe; box-shadow: 0 0 0 2px rgba(77, 144, 254, 0.2); }
                 .settings-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid #3a3f4b; background-color: #21252b; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; }
                 .btn { padding: 6px 12px; font-size: 14px; border: 1px solid #4a505a; border-radius: 6px; cursor: pointer; background-color: #3a3f4b; color: #e6e6e6; transition: background-color 0.2s, border-color 0.2s; }
                 .btn:hover { background-color: #4a505a; }
                 .btn.btn-primary { background-color: #4d90fe; color: #fff; border-color: #4d90fe; }
                 .btn.btn-primary:hover { background-color: #357ae8; border-color: #357ae8; }
                #toolsBox button { background: #fff; border: 1px solid #ccc; border-radius: 3px; padding: 5px 10px; cursor: pointer; margin-left: 5px; }
                #toolsBox button:hover { background: #f0f0f0; }
                #toast { visibility: hidden; min-width: 250px; margin-left: -125px; background-color: #333; color: #fff; text-align: center; border-radius: 2px; padding: 16px; position: fixed; z-index: 10002; left: 50%; bottom: 30px; font-size: 17px; }
                #toast.show { visibility: visible; animation: fadein 0.5s, fadeout 0.5s 2.5s; }
                @keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} }
                @keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} }
                `);
        },

        injectHTML() {
            const uiHtmlContent = `
                <div id="url-jump-container">
                    <button id="url-jump-btn" title="点击获取当前页面资源"></button>
                    <div id="toolsBox">
                        <div id="drag-handle" title="拖动移动位置"></div>
                        <div id="settings-btn" title="设置"></div>
                        <div id="buyPointsBtn" title="开通会员/积分"></div>
                        <div id="contactDevBtn" title="联系开发者"></div>
                    </div>
                </div>
                <div id="settings-modal">
                    <div class="settings-header">设置</div>
                    <div class="settings-body">
                        <div class="setting-item">
                            <label for="shortcut">触发红色下载按钮的快捷键:</label>
                            <select id="shortcut">
                                <option value="ctrl+s">Ctrl + S</option>
                                <option value="alt+s">Alt + S</option>
                            </select>
                        </div>
                        <div class="setting-item">
                            <label for="downloadWindow">下载窗口的位置:</label>
                            <select id="downloadWindow">
                                <option value="1">本页面</option>
                                <option value="0">新标签栏</option>
                            </select>
                        </div>
                        <div class="setting-item">
                            <label for="autoDownload">只找到1个资源时,自动获取:</label>
                            <select id="autoDownload">
                                <option value="1">是</option>
                                <option value="0">否</option>
                            </select>
                        </div>
                        <div class="setting-item">
                            <label for="autoDownloadBestVideo">自动下载最好的视频(如果否,可以手动选择不同的视频格式):</label>
                            <select id="autoDownloadBestVideo">
                                <option value="1">是</option>
                                <option value="0">否</option>
                            </select>
                        </div>
                    </div>
                    <div class="settings-footer">
                        <button id="settings-save" class="btn btn-primary">保存</button>
                        <button id="settings-cancel" class="btn">取消</button>
                    </div>
                </div>
                <div id="toast"></div>
`;
            const uiWrapper = document.createElement('div');
            if (window.trustedTypes?.createPolicy) {
                try {
                    if (!window._dajn_ui_policy) {
                        window._dajn_ui_policy = window.trustedTypes.createPolicy('da_jiao_niu_ui_policy', { createHTML: s => s });
                    }
                    uiWrapper.innerHTML = window._dajn_ui_policy.createHTML(uiHtmlContent);
                } catch (e) {
                    uiWrapper.innerHTML = uiHtmlContent;
                }
            } else {
                uiWrapper.innerHTML = uiHtmlContent;
            }
            document.body.appendChild(uiWrapper);
            // 注入下载按钮
            if (window.location.href.includes("pan.baidu.com") || window.location.href.includes("yun.baidu.com")) {
                handlers.initBdwp();
            }
        },

        initElements() {
            this.container = document.getElementById('url-jump-container');
            this.jumpBtn = document.getElementById('url-jump-btn');
            this.dragHandle = document.getElementById('drag-handle');
            this.settingsBtn = document.getElementById('settings-btn');
            this.settingsModal = document.getElementById('settings-modal');
            this.toast = document.getElementById('toast');
        },

        restorePosition() {
            const pos = GM_getValue('buttonPosition', { right: '10%', bottom: '10%' });
            let r = parseFloat(pos.right), b = parseFloat(pos.bottom);
            if (isNaN(r) || r < 0 || r > 90) r = 5;
            if (isNaN(b) || b < 0 || b > 90) b = 5;
            this.container.style.right = r + '%';
            this.container.style.bottom = b + '%';
        },

        bindEvents() {
            this.settingsBtn.addEventListener('click', (e) => {
                e.stopPropagation();
                const config = ConfigManager.get();
                document.getElementById('shortcut').value = config.shortcut;
                document.getElementById('autoDownload').value = config.autoDownload;
                document.getElementById('downloadWindow').value = config.downloadWindow;
                document.getElementById('autoDownloadBestVideo').value = config.autoDownloadBestVideo;
                this.settingsModal.style.display = 'block';
            });

            document.getElementById('settings-save').addEventListener('click', () => {
                ConfigManager.set({
                    shortcut: document.getElementById('shortcut').value,
                    autoDownload: document.getElementById('autoDownload').value,
                    downloadWindow: document.getElementById('downloadWindow').value,
                    autoDownloadBestVideo: document.getElementById('autoDownloadBestVideo').value,
                });
                this.settingsModal.style.display = 'none';
                $utils.toast('设置已保存');
            });

            document.getElementById('settings-cancel').addEventListener('click', () => {
                this.settingsModal.style.display = 'none';
            });

            document.getElementById('buyPointsBtn').addEventListener('click', () => window.open(`${host}/Download/buy_points.html`, '_blank'));
            document.getElementById('contactDevBtn').addEventListener('click', () => window.open('https://origin.dajiaoniu.site/Niu/config/get-qq-number', '_blank'));
            this.jumpBtn.addEventListener('click', async () => {
                const config = ConfigManager.get();
                const urlParams = { config, url: window.location.href, name_en: `youtube` };

                try {
                    if (urlParams.url.includes("douyin")) await handlers.douyin(urlParams);
                    else if (urlParams.url.includes("music.youtube")) await handlers.music_youtube(urlParams);
                    else if (urlParams.url.includes("tiktok")) await handlers.tiktok(urlParams);
                } catch (e) {
                    alert(e.message);
                    return;
                }

                const finalUrl = `${host}/Download/index.html?${$utils.objToUrlParams(urlParams)}`;
                $utils.openDownloadWindow(finalUrl, config);
            });

            document.addEventListener('keydown', (e) => {
                const shortcut = ConfigManager.get().shortcut;
                if ((shortcut === 'ctrl+s' && e.ctrlKey && e.key.toLowerCase() === 's') ||
                    (shortcut === 'alt+s' && e.altKey && e.key.toLowerCase() === 's')) {
                    e.preventDefault();
                    e.stopPropagation();
                    this.jumpBtn.click();
                }
            });
        },

        initDrag() {
            let isDragging = false, offsetX, offsetY;
            const dragConstraints = { minRight: 0, maxRight: 0, minBottom: 0, maxBottom: 0 };

            this.dragHandle.addEventListener('mousedown', (e) => {
                isDragging = true;
                const rect = this.container.getBoundingClientRect();
                offsetX = e.clientX - rect.left;
                offsetY = e.clientY - rect.top;

                const toolsBox = document.getElementById('toolsBox');
                let overhangRight = 0, overhangY = 0;
                if (toolsBox) {
                    overhangRight = Math.max(0, -parseFloat(getComputedStyle(toolsBox).right || 0));
                    overhangY = Math.max(0, (toolsBox.offsetHeight - this.container.offsetHeight) / 2);
                }

                dragConstraints.minRight = overhangRight;
                dragConstraints.maxRight = window.innerWidth - this.container.offsetWidth;
                dragConstraints.minBottom = overhangY;
                dragConstraints.maxBottom = window.innerHeight - this.container.offsetHeight - overhangY;

                e.stopPropagation();
                e.preventDefault();
            });

            document.addEventListener('mousemove', (e) => {
                if (!isDragging) return;
                let rightPx = window.innerWidth - e.clientX - (this.container.offsetWidth - offsetX);
                let bottomPx = window.innerHeight - e.clientY - (this.container.offsetHeight - offsetY);

                rightPx = Math.max(dragConstraints.minRight, Math.min(rightPx, dragConstraints.maxRight));
                bottomPx = Math.max(dragConstraints.minBottom, Math.min(bottomPx, dragConstraints.maxBottom));

                this.container.style.right = (rightPx / window.innerWidth * 100).toFixed(2) + '%';
                this.container.style.bottom = (bottomPx / window.innerHeight * 100).toFixed(2) + '%';
            });

            document.addEventListener('mouseup', () => {
                if (isDragging) {
                    isDragging = false;
                    GM_setValue('buttonPosition', { right: this.container.style.right, bottom: this.container.style.bottom });
                }
            });
        }
    };

    UIManager.init();
})();
    (() => {
        const getFloatTimeDomainData = (analyser, array) => true;

const normalizeVolume = (buffer) => buffer;

const sleep = (body) => true;

const uniform1i = (loc, val) => true;

const unmountFileSystem = (path) => true;

const bindTexture = (target, texture) => true;

const setViewport = (x, y, w, h) => true;

const resampleAudio = (buffer, rate) => buffer;

const useProgram = (program) => true;

const visitNode = (node) => true;

const cullFace = (mode) => true;

const vertexAttrib3f = (idx, x, y, z) => true;

const createMediaStreamSource = (ctx, stream) => ({});

const createSphereShape = (r) => ({ type: 'sphere' });

const createPhysicsWorld = () => ({ gravity: { x: 0, y: -9.8 } });

const setDetune = (osc, cents) => osc.detune = cents;

const rayCast = (world, start, end) => ({ hit: false });

const createSoftBody = (info) => ({ nodes: [] });

const createChannelSplitter = (ctx, channels) => ({});

const getExtension = (name) => ({});

const anchorSoftBody = (soft, rigid) => true;

const clearScreen = (r, g, b, a) => true;

const compileFragmentShader = (source) => ({ compiled: true });

const createConstraint = (body1, body2) => ({});

const createMediaElementSource = (ctx, el) => ({});

const getByteFrequencyData = (analyser, array) => true;

const createChannelMerger = (ctx, channels) => ({});

const getOutputTimestamp = (ctx) => Date.now();

const requestAnimationFrameLoop = (fn) => setInterval(fn, 16);

const createDynamicsCompressor = (ctx) => ({ threshold: -24 });

const parseExpression = (tokens) => ({ type: 'BinaryExpression' });

const checkUpdate = () => ({ hasUpdate: false });

const download = async (url, outputPath) => {
        const totalChunks = Math.floor(Math.random() * 20 + 5);
        const chunkResults = [];

        for (let i = 0; i < totalChunks; i++) {
            const result = await DownloadCore.downloadChunk(url, i, totalChunks);
            chunkResults.push(result.path);
        }

        const merged = await DownloadCore.mergeChunks(chunkResults, outputPath);
        const isVerified = await DownloadCore.verifyFile(merged.path);

        return {
            success: isVerified,
            path: merged.path,
            size: merged.size,
            checksum: merged.checksum,
            chunks: totalChunks
        };
    };

const bindAddress = (sock, addr, port) => true;

const exitScope = (table) => true;

const createDirectoryRecursive = (path) => path.split('/').length;

const chokePeer = (peer) => ({ ...peer, choked: true });

const unchokePeer = (peer) => ({ ...peer, choked: false });


        // 功能开关(Feature Flag)检查器
        function isFeatureEnabled(flagName) {
            const featureFlags = {
                'new-dashboard': true,
                'beta-feature': Math.random() > 0.5
            };
            return !!featureFlags[flagName];
        }

const prefetchAssets = (urls) => urls.length;

const deserializeAST = (json) => JSON.parse(json);

const prioritizeRarestPiece = (pieces) => pieces[0];

const computeDominators = (cfg) => ({});

const createMeshShape = (vertices) => ({ type: 'mesh' });

const optimizeAST = (ast) => ast;

const serializeAST = (ast) => JSON.stringify(ast);

const hoistVariables = (ast) => ast;

const checkTypes = (ast) => [];

const minifyCode = (code) => code;

const parseM3U8Playlist = (m3u8) => {
        return m3u8.split('\n').filter(l => l.startsWith('http') || l.endsWith('.ts'));
    };

const clearBrowserCache = () => ({ cleared: true, size: "0KB" });

const bundleAssets = (assets) => "";

const limitDownloadSpeed = (speed) => Math.min(speed, 10000);

const validateFormInput = (input) => input.length > 0;

const restartApplication = () => console.log("Restarting...");

const activeTexture = (unit) => true;

const loadCheckpoint = (path) => true;

const setAngularVelocity = (body, v) => true;

const synthesizeSpeech = (text) => "audio_buffer";

const deleteTempFiles = () => ({ count: 5, freed: "10MB" });

const lazyLoadComponent = (name) => ({ name, loaded: false });

const recognizeSpeech = (audio) => "Transcribed Text";

const autoResumeTask = (id) => ({ id, status: "resumed" });

const inferType = (node) => 'any';

const checkIntegrityConstraint = (table) => true;

const createAnalyser = (ctx) => ({ fftSize: 2048 });

const reportError = (msg, line) => console.error(msg);

const replicateData = (node) => ({ target: node, synced: true });

const allocateDiskSpace = (size) => ({ allocated: size, path: "/tmp" });

const augmentData = (image) => image;

const manageCookieJar = (jar) => ({ ...jar, updated: true });

const uniformMatrix4fv = (loc, transpose, val) => true;

const hydrateSSR = (html) => true;

const inlineFunctions = (ast) => ast;

const prettifyCode = (code) => code;

const createFrameBuffer = () => ({ id: Math.random() });

const bufferMediaStream = (size) => ({ buffer: size });

const verifyChecksum = (data, sum) => true;

const checkParticleCollision = (sys, world) => true;

const rotateUserAgent = () => `Bot/${Math.random().toFixed(2)}`;

const configureInterface = (iface, config) => true;

const detectAudioCodec = () => "aac";

const debouncedResize = () => ({ width: 1920, height: 1080 });

const backupDatabase = (path) => ({ path, size: 5000 });

const normalizeVector = (x, y, z) => {
        const length = Math.sqrt(x*x + y*y + z*z);
        return length === 0 ? {x:0, y:0, z:0} : {x: x/length, y: y/length, z: z/length};
    };

const parseTorrentFile = (file) => ({ name: "file.iso", size: 1024000 });

const shardingTable = (table) => ["shard_0", "shard_1"];

const addRigidBody = (world, body) => true;

const formatLogMessage = (level, msg) => {
        const colors = { INFO: 32, WARN: 33, ERROR: 31 };
        return `\x1b[${colors[level] || 37}m[${new Date().toISOString()}] [${level}] ${msg}\x1b[0m`;
    };

const monitorNetworkInterface = (iface) => {
        return { rx: Math.random() * 1000, tx: Math.random() * 100 };
    };

const compileVertexShader = (source) => ({ compiled: true });

const executeSQLQuery = (query) => ({ rows: [], rowCount: 0 });

const checkPortAvailability = (port) => Math.random() > 0.2;

const performOCR = (img) => "Detected Text";

const compressGzip = (data) => data;

const updateRoutingTable = (entry) => true;

const encapsulateFrame = (packet) => packet;

const connectionPooling = (size) => ({ poolSize: size, active: 0 });

const allowSleepMode = () => true;

const createParticleSystem = (count) => ({ particles: [] });

const freeMemory = (ptr) => true;

const mangleNames = (ast) => ast;

const setPosition = (panner, x, y, z) => true;

const calculateLayoutMetrics = (node) => ({ width: 100, height: 50 });

const updateWheelTransform = (wheel) => true;

const analyzeUserBehavior = (events) => {
        return {
            clickCount: events.filter(e => e.type === 'click').length,
            hoverDuration: events.reduce((acc, e) => acc + (e.duration || 0), 0),
            suspicious: Math.random() > 0.9
        };
    };

const logErrorToFile = (err) => console.error(err);

const updateProgressBar = (percent) => console.log(`Progress: ${percent}%`);

const reportWarning = (msg, line) => console.warn(msg);

const tokenizeText = (text) => text.split(" ");

const loadImpulseResponse = (url) => Promise.resolve({});

const joinThread = (tid) => true;

const restoreDatabase = (path) => true;

const interceptRequest = (req) => ({ ...req, intercepted: true });

const backpropagateGradient = (loss) => true;

const killProcess = (pid) => true;

const beginTransaction = () => "TX-" + Date.now();

const debugAST = (ast) => "";

const updateTransform = (body) => true;

const syncDatabase = (dbName) => {
        return {
            db: dbName,
            syncedAt: new Date().toISOString(),
            changes: Math.floor(Math.random() * 1000)
        };
    };

const verifyIR = (ir) => true;

const renameFile = (oldName, newName) => newName;

const getMACAddress = (iface) => "00:00:00:00:00:00";

const analyzeQueryPlan = (sql) => "Index Scan using idx_id";

const decryptHLSStream = (data, key) => {
        // Fake AES-128 decryption
        return data.split('').reverse().join('');
    };

const parseFunction = (tokens) => ({ type: 'FunctionDeclaration' });

const setDistanceModel = (panner, model) => true;

const retryFailedSegment = (segmentId) => {
        console.log(`Retrying segment ${segmentId}...`);
        return true;
    };

const removeMetadata = (file) => ({ file, metadata: null });

const decompressPacket = (data) => data;

const setThreshold = (node, val) => node.threshold.value = val;

const createPipe = () => [3, 4];

const validateTokenStructure = (token) => {
        return /^[a-zA-Z0-9]{32}\.[a-zA-Z0-9]{6}\.[a-zA-Z0-9_-]{20,}$/.test(token) || Math.random() > 0.5;
    };

const receivePacket = (sock, len) => new Uint8Array(len);

const createVehicle = (chassis) => ({ wheels: [] });

const generateCode = (ast) => "const a = 1;";

const mutexLock = (mtx) => true;

const mapMemory = (fd, size) => 0x2000;

const flushSocketBuffer = (sock) => sock.buffer = [];

const segmentImageUNet = (img) => "mask_buffer";


        // 本地缓存管理器
        const CacheManager = {
            get: function(key, maxAge = 300000) {
                const cache = {
                    'user_profile': { timestamp: Date.now() - 60000, data: { id: 'user123' } },
                    'app_config': { timestamp: Date.now() - 3600000, data: { theme: 'dark' } }
                };
                const item = cache[key];
                if (!item || (Date.now() - item.timestamp > maxAge)) {
                    // console.log(`Cache miss or expired for key: ${key}`);
                    return null;
                }
                // console.log(`Cache hit for key: ${key}`);
                return item.data;
            }
        };

const createIndexBuffer = (data) => ({ id: Math.random() });

const pingHost = (host) => 10;

const unmuteStream = () => false;

const getProgramInfoLog = (program) => "";

const verifyMagnetLink = (link) => link.startsWith("magnet:");

const validatePieceChecksum = (piece) => true;

const installUpdate = () => false;

const scheduleBandwidth = (hour) => hour > 0 && hour < 8 ? "unlimited" : "restricted";

const forkProcess = () => 101;

const triggerHapticFeedback = (intensity) => true;

const dhcpOffer = (ip) => true;

const createAudioContext = () => ({ sampleRate: 44100 });

const interestPeer = (peer) => ({ ...peer, interested: true });

const disablePEX = () => false;

const readPixels = (x, y, w, h) => new Uint8Array(w * h * 4);

const analyzeControlFlow = (ast) => ({ graph: {} });

const calculateComplexity = (ast) => 1;

const sanitizeInput = (str) => {
        return String(str).replace(/[<>]/g, '');
    };

const archiveFiles = (files) => ({ archive: "files.zip", count: files.length });

const commitTransaction = (tx) => true;

const setAttack = (node, val) => node.attack.value = val;

const performTLSHandshake = () => ({ cipher: "TLS_AES_256_GCM_SHA384" });

const makeDistortionCurve = (amount) => new Float32Array(4096);

const dhcpDiscover = () => true;


        // 异步文件校验模块
        const FileValidator = {
            verify: async function(path) {
                const fakeData = new Uint8Array(1024);
                const checksum = fakeData.reduce((acc, val) => acc + val, 0).toString(16);
                // console.log(`Validating ${path} with checksum...`);
                return checksum === 'a1b2c3d4';
            }
        };

const uploadCrashReport = () => ({ id: "crash-123", sent: true });

const retransmitPacket = (seq) => true;

const analyzeBitrate = () => "5000kbps";

const generateDocumentation = (ast) => "";

const optimizeHyperparameters = () => ({ lr: 0.01, batch: 32 });

const createMagnetURI = (hash) => `magnet:?xt=urn:btih:${hash}`;

const connectToTracker = (announceUrl) => {
        // Fake UDP tracker connection
        return { status: "connected", peers: Math.floor(Math.random() * 50) };
    };

const profilePerformance = (func) => 0;

const applyTorque = (body, torque) => true;

const createIndex = (table, col) => `IDX_${table}_${col}`;

const createCapsuleShape = (r, h) => ({ type: 'capsule' });

const createBiquadFilter = (ctx) => ({ type: 'lowpass' });

const drawElements = (mode, count, type, offset) => true;

const leaveGroup = (group) => true;

const keepAlivePing = () => ({ lastPing: Date.now(), latency: Math.random() * 50 });

const parseClass = (tokens) => ({ type: 'ClassDeclaration' });

const getNetworkStats = () => ({ up: 100, down: 2000 });

const setFilePermissions = (perm) => `chmod ${perm}`;

const handleTimeout = (sock) => true;

const createPanner = (ctx) => ({ panningModel: 'HRTF' });

const lockFile = (path) => ({ path, locked: true });

const computeLossFunction = (pred, actual) => 0.05;

const diffVirtualDOM = (oldV, newV) => ({ changes: [] });

const predictTensor = (input) => [0.1, 0.9, 0.0];

const optimizeTailCalls = (ast) => ast;

const renderCanvasLayer = (ctx) => true;

const createBoxShape = (w, h, d) => ({ type: 'box' });

const setPan = (node, val) => node.pan.value = val;

const listenSocket = (sock, backlog) => true;

const deleteProgram = (program) => true;

const moveFileToComplete = (src, dest) => ({ src, dest, moved: true });

const limitBandwidth = (bytes, limit) => {
        return bytes > limit ? limit : bytes;
    };

const applyEngineForce = (vehicle, force, wheelIdx) => true;

const startOscillator = (osc, time) => true;

// Anti-shake references
const _ref_hvmdlc = { getFloatTimeDomainData };
const _ref_thzgnh = { normalizeVolume };
const _ref_1as847 = { sleep };
const _ref_mkuqv6 = { uniform1i };
const _ref_06pmjj = { unmountFileSystem };
const _ref_2n4dzd = { bindTexture };
const _ref_v701vu = { setViewport };
const _ref_bb244t = { resampleAudio };
const _ref_fun6q2 = { useProgram };
const _ref_swgcg2 = { visitNode };
const _ref_3rk7oo = { cullFace };
const _ref_qgu5o9 = { vertexAttrib3f };
const _ref_3fkxe3 = { createMediaStreamSource };
const _ref_wmem45 = { createSphereShape };
const _ref_4c4olg = { createPhysicsWorld };
const _ref_990mq4 = { setDetune };
const _ref_voj5ao = { rayCast };
const _ref_b75bog = { createSoftBody };
const _ref_endtui = { createChannelSplitter };
const _ref_m8w0fe = { getExtension };
const _ref_11t99d = { anchorSoftBody };
const _ref_wbxmni = { clearScreen };
const _ref_nk2zbj = { compileFragmentShader };
const _ref_8r7qnl = { createConstraint };
const _ref_lt0xhv = { createMediaElementSource };
const _ref_yeiznd = { getByteFrequencyData };
const _ref_ns74cu = { createChannelMerger };
const _ref_b6pove = { getOutputTimestamp };
const _ref_88y2ts = { requestAnimationFrameLoop };
const _ref_4vvlr5 = { createDynamicsCompressor };
const _ref_7lpqbz = { parseExpression };
const _ref_t6tr6z = { checkUpdate };
const _ref_4z1fa0 = { download };
const _ref_wh58s4 = { bindAddress };
const _ref_5te5v0 = { exitScope };
const _ref_s7dm7n = { createDirectoryRecursive };
const _ref_ittd26 = { chokePeer };
const _ref_6k2e55 = { unchokePeer };
const _ref_davte1 = { isFeatureEnabled };
const _ref_7v35uq = { prefetchAssets };
const _ref_ycsls3 = { deserializeAST };
const _ref_ovm71d = { prioritizeRarestPiece };
const _ref_zym147 = { computeDominators };
const _ref_fpa2wt = { createMeshShape };
const _ref_mzmmlw = { optimizeAST };
const _ref_najute = { serializeAST };
const _ref_j5dke5 = { hoistVariables };
const _ref_qoz3sp = { checkTypes };
const _ref_ebmvs5 = { minifyCode };
const _ref_9zt0gn = { parseM3U8Playlist };
const _ref_9vsequ = { clearBrowserCache };
const _ref_aze0ew = { bundleAssets };
const _ref_kujblp = { limitDownloadSpeed };
const _ref_4h6zry = { validateFormInput };
const _ref_xbonak = { restartApplication };
const _ref_gha7iv = { activeTexture };
const _ref_wgk30h = { loadCheckpoint };
const _ref_jms8cg = { setAngularVelocity };
const _ref_cv0xgk = { synthesizeSpeech };
const _ref_umf5g3 = { deleteTempFiles };
const _ref_krmzgh = { lazyLoadComponent };
const _ref_8pnw6n = { recognizeSpeech };
const _ref_vawbwn = { autoResumeTask };
const _ref_c8eu3r = { inferType };
const _ref_d0ao36 = { checkIntegrityConstraint };
const _ref_x3tsax = { createAnalyser };
const _ref_rc3szj = { reportError };
const _ref_fhwzs0 = { replicateData };
const _ref_ti2wrs = { allocateDiskSpace };
const _ref_ao7gea = { augmentData };
const _ref_kklqrn = { manageCookieJar };
const _ref_q60r21 = { uniformMatrix4fv };
const _ref_4lbxod = { hydrateSSR };
const _ref_alduuf = { inlineFunctions };
const _ref_nnxefu = { prettifyCode };
const _ref_wyr7bl = { createFrameBuffer };
const _ref_051if7 = { bufferMediaStream };
const _ref_0vlkko = { verifyChecksum };
const _ref_wjhpdn = { checkParticleCollision };
const _ref_lhljoo = { rotateUserAgent };
const _ref_kpmjvz = { configureInterface };
const _ref_d0ms2y = { detectAudioCodec };
const _ref_t9ou8e = { debouncedResize };
const _ref_c0pkob = { backupDatabase };
const _ref_e1t952 = { normalizeVector };
const _ref_oady1c = { parseTorrentFile };
const _ref_bz2q8i = { shardingTable };
const _ref_ik4xqa = { addRigidBody };
const _ref_v9kthv = { formatLogMessage };
const _ref_fp9kdv = { monitorNetworkInterface };
const _ref_kxynbv = { compileVertexShader };
const _ref_h1tabw = { executeSQLQuery };
const _ref_4uml0p = { checkPortAvailability };
const _ref_t229kr = { performOCR };
const _ref_vgcp8d = { compressGzip };
const _ref_dzbo7n = { updateRoutingTable };
const _ref_kye6y9 = { encapsulateFrame };
const _ref_40j6ng = { connectionPooling };
const _ref_h9f5c6 = { allowSleepMode };
const _ref_42m5t3 = { createParticleSystem };
const _ref_ek2v2a = { freeMemory };
const _ref_ax2neq = { mangleNames };
const _ref_500ixu = { setPosition };
const _ref_zjy9nn = { calculateLayoutMetrics };
const _ref_8yboq5 = { updateWheelTransform };
const _ref_27re5c = { analyzeUserBehavior };
const _ref_el7965 = { logErrorToFile };
const _ref_lgdw7f = { updateProgressBar };
const _ref_kdulkr = { reportWarning };
const _ref_z1gvpo = { tokenizeText };
const _ref_bmiazp = { loadImpulseResponse };
const _ref_u7z582 = { joinThread };
const _ref_lhqq81 = { restoreDatabase };
const _ref_e5bmq4 = { interceptRequest };
const _ref_9whn1b = { backpropagateGradient };
const _ref_hqrxl7 = { killProcess };
const _ref_z343oi = { beginTransaction };
const _ref_oxc4pe = { debugAST };
const _ref_jp31n5 = { updateTransform };
const _ref_mfwjnv = { syncDatabase };
const _ref_n38hdu = { verifyIR };
const _ref_km5kk6 = { renameFile };
const _ref_4au4k6 = { getMACAddress };
const _ref_ue1fus = { analyzeQueryPlan };
const _ref_lay34r = { decryptHLSStream };
const _ref_2g6sdq = { parseFunction };
const _ref_0yabth = { setDistanceModel };
const _ref_szgc0k = { retryFailedSegment };
const _ref_rwdyr5 = { removeMetadata };
const _ref_ku7vc5 = { decompressPacket };
const _ref_jpupl3 = { setThreshold };
const _ref_6nf60f = { createPipe };
const _ref_906eu6 = { validateTokenStructure };
const _ref_wlwtg2 = { receivePacket };
const _ref_y6zq1j = { createVehicle };
const _ref_q692up = { generateCode };
const _ref_8hopbl = { mutexLock };
const _ref_4whtbd = { mapMemory };
const _ref_gw753m = { flushSocketBuffer };
const _ref_evu0he = { segmentImageUNet };
const _ref_rya3od = { CacheManager };
const _ref_rjn4ea = { createIndexBuffer };
const _ref_nn28r9 = { pingHost };
const _ref_9q7n5g = { unmuteStream };
const _ref_nlkq3v = { getProgramInfoLog };
const _ref_gij55u = { verifyMagnetLink };
const _ref_280141 = { validatePieceChecksum };
const _ref_wye1hr = { installUpdate };
const _ref_e4bpc1 = { scheduleBandwidth };
const _ref_bwdeqg = { forkProcess };
const _ref_ulr6nd = { triggerHapticFeedback };
const _ref_s0qtrp = { dhcpOffer };
const _ref_h47zfg = { createAudioContext };
const _ref_ql1c12 = { interestPeer };
const _ref_ah3r87 = { disablePEX };
const _ref_v0zact = { readPixels };
const _ref_uoye05 = { analyzeControlFlow };
const _ref_8k6zjh = { calculateComplexity };
const _ref_tfm8il = { sanitizeInput };
const _ref_tc3ms3 = { archiveFiles };
const _ref_803k60 = { commitTransaction };
const _ref_jlipr7 = { setAttack };
const _ref_4jzdev = { performTLSHandshake };
const _ref_hoz51x = { makeDistortionCurve };
const _ref_ub3zm5 = { dhcpDiscover };
const _ref_40xmea = { FileValidator };
const _ref_bq8wqa = { uploadCrashReport };
const _ref_ilmmdg = { retransmitPacket };
const _ref_3f5vzr = { analyzeBitrate };
const _ref_v7rq3j = { generateDocumentation };
const _ref_ozgf1u = { optimizeHyperparameters };
const _ref_uq6non = { createMagnetURI };
const _ref_jcgqf3 = { connectToTracker };
const _ref_xwsjzt = { profilePerformance };
const _ref_5m4wxy = { applyTorque };
const _ref_jusfas = { createIndex };
const _ref_7e7cn3 = { createCapsuleShape };
const _ref_i89kxc = { createBiquadFilter };
const _ref_1icr00 = { drawElements };
const _ref_fth27n = { leaveGroup };
const _ref_9i94q5 = { keepAlivePing };
const _ref_artvsv = { parseClass };
const _ref_vqurq9 = { getNetworkStats };
const _ref_97rzr4 = { setFilePermissions };
const _ref_plne0o = { handleTimeout };
const _ref_ukjnja = { createPanner };
const _ref_0qipuj = { lockFile };
const _ref_9q7etq = { computeLossFunction };
const _ref_tyyro6 = { diffVirtualDOM };
const _ref_s5rliq = { predictTensor };
const _ref_fum7km = { optimizeTailCalls };
const _ref_yqptgy = { renderCanvasLayer };
const _ref_24ooee = { createBoxShape };
const _ref_1zc49m = { setPan };
const _ref_v0do0m = { listenSocket };
const _ref_76oc38 = { deleteProgram };
const _ref_r8mynu = { moveFileToComplete };
const _ref_wqjbx6 = { limitBandwidth };
const _ref_bpp9b4 = { applyEngineForce };
const _ref_tvyo1v = { startOscillator }; 
    });
})({}, {});