Aibm recode

An excellent Moomoo.io hack for a comfortable gaming experience

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name Aibm recode
// @namespace https://dsc.gg/Aibm
// @author prince finn.
// @description An excellent Moomoo.io hack for a comfortable gaming experience
// @icon https://i.pinimg.com/1200x/7b/fb/12/7bfb12e9d8dfb7989f45c482196e39c4.jpg
// @version 2.3.9.6
// @match *://moomoo.io/
// @match *://moomoo.io/?server*
// @match *://*.moomoo.io/
// @match *://*.moomoo.io/?server*
// @run-at document-start
// @grant GM_webRequest
// @grant GM.fetch
// @connect generativelanguage.googleapis.com
// @license MIT
// @namespace
// @downloadURL
// @updateURL
// ==/UserScript==
/* jshint esversion:6 */
/* AIBM_INFO: Aibm recode by prince finn. */
/*
    Author: Murka
    Github: https://github.com/Murka007/Glotus-client
    Greasyfork: https://greasyfork.org/users/919633
    Discord: https://discord.gg/cPRFdcZkeD

    MURKA REAL AUTHOR OF THE MOD!!!!!!!!!!!!!! (I only slightly modified the bots.)

    I slightly modified the bots in this version. Now the bots follow the player and look towards the cursor. They place windmills during AUTO-ATTACK (KEY E), which is done so that bots do not have to be collected all over the map and they level up by themselves. Windmills are not placed during regular attacks (for convenience). Made by Prince Finn.

    Feel free to use and distribute it, but don't forget about special credits.
*/

GM_webRequest([
    { selector: { include: ["*cookie*", "*cloudflare*", "*ads*", "*jquery*", "*howler*", "*frvr-channel-web*", "*securepubads*"] }, action: "cancel" },
]);
Function("(" + (() => {
    "use strict";
    var __webpack_exports__, code, Navbar_code, Keybinds_code, Combat_code, Visuals_code, Misc_code, Devtool_code, Bots_code, Credits_code, __webpack_require__ = {};
    (() => {
        __webpack_require__.d = (exports, definition) => {
            for (var key in definition) {
                if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
                    Object.defineProperty(exports, key, {
                        enumerable: true,
                        get: definition[key]
                    });
                }
            }
        };
    })();
    (() => {
        __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
    })();
    __webpack_exports__ = {};
    __webpack_require__.d(__webpack_exports__, {
        ZI: () => connection,
        mq: () => myClient
    });
    const Config_Config = {
        maxScreenWidth: 1920,
        maxScreenHeight: 1080,
        serverUpdateRate: 9,
        collisionDepth: 6,
        minimapRate: 3e3,
        colGrid: 10,
        clientSendRate: 5,
        barWidth: 50,
        barHeight: 17,
        barPad: 4.5,
        iconPadding: 15,
        iconPad: .9,
        deathFadeout: 3e3,
        crownIconScale: 60,
        crownPad: 35,
        chatCountdown: 3e3,
        chatCooldown: 500,
        maxAge: 100,
        gatherAngle: Math.PI / 2.6,
        gatherWiggle: 10,
        hitReturnRatio: .25,
        hitAngle: Math.PI / 2,
        playerScale: 35,
        playerSpeed: .0016,
        playerDecel: .993,
        nameY: 34,
        animalCount: 7,
        aiTurnRandom: .06,
        shieldAngle: Math.PI / 3,
        resourceTypes: [ "wood", "food", "stone", "points" ],
        areaCount: 7,
        treesPerArea: 9,
        bushesPerArea: 3,
        totalRocks: 32,
        goldOres: 7,
        riverWidth: 724,
        riverPadding: 114,
        waterCurrent: .0011,
        waveSpeed: 1e-4,
        waveMax: 1.3,
        treeScales: [ 150, 160, 165, 175 ],
        bushScales: [ 80, 85, 95 ],
        rockScales: [ 80, 85, 90 ],
        snowBiomeTop: 2400,
        snowSpeed: .75,
        maxNameLength: 15,
        mapScale: 14400,
        mapPingScale: 40,
        mapPingTime: 2200,
        skinColors: [ "#bf8f54", "#cbb091", "#896c4b", "#fadadc", "#ececec", "#c37373", "#4c4c4c", "#ecaff7", "#738cc3", "#8bc373", "#91B2DB" ]
    };
    const constants_Config = Config_Config;
    const Weapons = [ {
        id: 0,
        itemType: 0,
        upgradeType: 0,
        type: 0,
        age: 0,
        name: "tool hammer",
        description: "tool for gathering all resources",
        src: "hammer_1",
        length: 140,
        width: 140,
        xOffset: -3,
        yOffset: 18,
        damage: 25,
        range: 65,
        gather: 1,
        speed: 300
    }, {
        id: 1,
        itemType: 0,
        upgradeType: 1,
        type: 0,
        age: 2,
        name: "hand axe",
        description: "gathers resources at a higher rate",
        src: "axe_1",
        length: 140,
        width: 140,
        xOffset: 3,
        yOffset: 24,
        damage: 30,
        spdMult: 1,
        range: 70,
        gather: 2,
        speed: 400
    }, {
        id: 2,
        itemType: 0,
        upgradeOf: 1,
        upgradeType: 1,
        type: 0,
        age: 8,
        pre: 1,
        name: "great axe",
        description: "deal more damage and gather more resources",
        src: "great_axe_1",
        length: 140,
        width: 140,
        xOffset: -8,
        yOffset: 25,
        damage: 35,
        spdMult: 1,
        range: 75,
        gather: 4,
        speed: 400
    }, {
        id: 3,
        itemType: 0,
        upgradeType: 2,
        type: 0,
        age: 2,
        name: "short sword",
        description: "increased attack power but slower move speed",
        src: "sword_1",
        iPad: 1.3,
        length: 130,
        width: 210,
        xOffset: -8,
        yOffset: 46,
        damage: 35,
        spdMult: .85,
        range: 110,
        gather: 1,
        speed: 300
    }, {
        id: 4,
        itemType: 0,
        upgradeOf: 3,
        upgradeType: 2,
        type: 0,
        age: 8,
        pre: 3,
        name: "katana",
        description: "greater range and damage",
        src: "samurai_1",
        iPad: 1.3,
        length: 130,
        width: 210,
        xOffset: -8,
        yOffset: 59,
        damage: 40,
        spdMult: .8,
        range: 118,
        gather: 1,
        speed: 300
    }, {
        id: 5,
        itemType: 0,
        upgradeType: 3,
        isUpgrade: false,
        type: 0,
        age: 2,
        name: "polearm",
        description: "long range melee weapon",
        src: "spear_1",
        iPad: 1.3,
        length: 130,
        width: 210,
        xOffset: -8,
        yOffset: 53,
        damage: 45,
        knock: .2,
        spdMult: .82,
        range: 142,
        gather: 1,
        speed: 700
    }, {
        id: 6,
        itemType: 0,
        upgradeType: 4,
        isUpgrade: false,
        type: 0,
        age: 2,
        name: "bat",
        description: "fast long range melee weapon",
        src: "bat_1",
        iPad: 1.3,
        length: 110,
        width: 180,
        xOffset: -8,
        yOffset: 53,
        damage: 20,
        knock: .7,
        range: 110,
        gather: 1,
        speed: 300
    }, {
        id: 7,
        itemType: 0,
        upgradeType: 5,
        isUpgrade: false,
        type: 0,
        age: 2,
        name: "daggers",
        description: "really fast short range weapon",
        src: "dagger_1",
        iPad: .8,
        length: 110,
        width: 110,
        xOffset: 18,
        yOffset: 0,
        damage: 20,
        knock: .1,
        range: 65,
        gather: 1,
        hitSlow: .1,
        spdMult: 1.13,
        speed: 100
    }, {
        id: 8,
        itemType: 0,
        upgradeType: 6,
        isUpgrade: false,
        type: 0,
        age: 2,
        name: "stick",
        description: "great for gathering but very weak",
        src: "stick_1",
        length: 140,
        width: 140,
        xOffset: 3,
        yOffset: 24,
        damage: 1,
        spdMult: 1,
        range: 70,
        gather: 7,
        speed: 400
    }, {
        id: 9,
        itemType: 1,
        upgradeType: 7,
        projectile: 0,
        type: 1,
        age: 6,
        name: "hunting bow",
        description: "bow used for ranged combat and hunting",
        src: "bow_1",
        cost: {
            food: 0,
            wood: 4,
            stone: 0,
            gold: 0
        },
        length: 120,
        width: 120,
        xOffset: -6,
        yOffset: 0,
        spdMult: .75,
        speed: 600,
        range: 2200
    }, {
        id: 10,
        itemType: 1,
        upgradeType: 8,
        isUpgrade: false,
        type: 1,
        age: 6,
        name: "great hammer",
        description: "hammer used for destroying structures",
        src: "great_hammer_1",
        length: 140,
        width: 140,
        xOffset: -9,
        yOffset: 25,
        damage: 10,
        spdMult: .88,
        range: 75,
        sDmg: 7.5,
        gather: 1,
        speed: 400
    }, {
        id: 11,
        itemType: 1,
        upgradeType: 9,
        isUpgrade: false,
        type: 1,
        age: 6,
        name: "wooden shield",
        description: "blocks projectiles and reduces melee damage",
        src: "shield_1",
        length: 120,
        width: 120,
        shield: .2,
        xOffset: 6,
        yOffset: 0,
        spdMult: .7,
        speed: 1
    }, {
        id: 12,
        itemType: 1,
        upgradeType: 7,
        projectile: 2,
        upgradeOf: 9,
        type: 1,
        age: 8,
        pre: 9,
        name: "crossbow",
        description: "deals more damage and has greater range",
        src: "crossbow_1",
        cost: {
            food: 0,
            wood: 5,
            stone: 0,
            gold: 0
        },
        aboveHand: true,
        armS: .75,
        length: 120,
        width: 120,
        xOffset: -4,
        yOffset: 0,
        spdMult: .7,
        speed: 700,
        range: 2200
    }, {
        id: 13,
        itemType: 1,
        upgradeType: 7,
        projectile: 3,
        upgradeOf: 12,
        type: 1,
        age: 9,
        pre: 12,
        name: "repeater crossbow",
        description: "high firerate crossbow with reduced damage",
        src: "crossbow_2",
        cost: {
            food: 0,
            wood: 10,
            stone: 0,
            gold: 0
        },
        aboveHand: true,
        armS: .75,
        length: 120,
        width: 120,
        xOffset: -4,
        yOffset: 0,
        spdMult: .7,
        speed: 230,
        range: 2200
    }, {
        id: 14,
        itemType: 1,
        upgradeType: 10,
        isUpgrade: false,
        type: 1,
        age: 6,
        name: "mc grabby",
        description: "steals resources from enemies",
        src: "grab_1",
        length: 130,
        width: 210,
        xOffset: -8,
        yOffset: 53,
        damage: 0,
        steal: 250,
        knock: .2,
        spdMult: 1.05,
        range: 125,
        gather: 0,
        speed: 700
    }, {
        id: 15,
        itemType: 1,
        upgradeType: 7,
        projectile: 5,
        upgradeOf: 12,
        type: 1,
        age: 9,
        pre: 12,
        name: "musket",
        description: "slow firerate but high damage and range",
        src: "musket_1",
        cost: {
            food: 0,
            wood: 0,
            stone: 10,
            gold: 0
        },
        aboveHand: true,
        rec: .35,
        armS: .6,
        hndS: .3,
        hndD: 1.6,
        length: 205,
        width: 205,
        xOffset: 25,
        yOffset: 0,
        hideProjectile: true,
        spdMult: .6,
        speed: 1500,
        range: 2200
    } ];
    const ItemGroups = {
        [1]: {
            name: "Wall",
            limit: 30,
            layer: 0
        },
        [2]: {
            name: "Spike",
            limit: 15,
            layer: 0
        },
        [3]: {
            name: "Windmill",
            limit: 7,
            sandboxLimit: 299,
            layer: 1
        },
        [4]: {
            name: "Mine",
            limit: 1,
            layer: 0
        },
        [5]: {
            name: "Trap",
            limit: 6,
            layer: -1
        },
        [6]: {
            name: "Boost",
            limit: 12,
            sandboxLimit: 299,
            layer: -1
        },
        [7]: {
            name: "Turret",
            limit: 2,
            layer: 1
        },
        [8]: {
            name: "Plaftorm",
            limit: 12,
            layer: -1
        },
        [9]: {
            name: "Healing pad",
            limit: 4,
            layer: -1
        },
        [10]: {
            name: "Spawn",
            limit: 1,
            layer: -1
        },
        [11]: {
            name: "Sapling",
            limit: 2,
            layer: 0
        },
        [12]: {
            name: "Blocker",
            limit: 3,
            layer: -1
        },
        [13]: {
            name: "Teleporter",
            limit: 2,
            sandboxLimit: 299,
            layer: -1
        }
    };
    const Items = [ {
        id: 0,
        itemType: 2,
        name: "apple",
        description: "restores 20 health when consumed",
        age: 0,
        cost: {
            food: 10,
            wood: 0,
            stone: 0,
            gold: 0
        },
        restore: 20,
        scale: 22,
        holdOffset: 15
    }, {
        id: 1,
        itemType: 2,
        upgradeOf: 0,
        name: "cookie",
        description: "restores 40 health when consumed",
        age: 3,
        cost: {
            food: 15,
            wood: 0,
            stone: 0,
            gold: 0
        },
        restore: 40,
        scale: 27,
        holdOffset: 15
    }, {
        id: 2,
        itemType: 2,
        upgradeOf: 1,
        name: "cheese",
        description: "restores 30 health and another 50 over 5 seconds",
        age: 7,
        cost: {
            food: 25,
            wood: 0,
            stone: 0,
            gold: 0
        },
        restore: 30,
        scale: 27,
        holdOffset: 15
    }, {
        id: 3,
        itemType: 3,
        itemGroup: 1,
        name: "wood wall",
        description: "provides protection for your village",
        age: 0,
        cost: {
            food: 0,
            wood: 10,
            stone: 0,
            gold: 0
        },
        projDmg: true,
        health: 380,
        scale: 50,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 4,
        itemType: 3,
        itemGroup: 1,
        upgradeOf: 3,
        name: "stone wall",
        description: "provides improved protection for your village",
        age: 3,
        cost: {
            food: 0,
            wood: 0,
            stone: 25,
            gold: 0
        },
        health: 900,
        scale: 50,
        holdOffset: 20,
        placeOffset: -5
    }, {
        pre: 1,
        id: 5,
        itemType: 3,
        itemGroup: 1,
        upgradeOf: 4,
        name: "castle wall",
        description: "provides powerful protection for your village",
        age: 7,
        cost: {
            food: 0,
            wood: 0,
            stone: 35,
            gold: 0
        },
        health: 1500,
        scale: 52,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 6,
        itemType: 4,
        itemGroup: 2,
        name: "spikes",
        description: "damages enemies when they touch them",
        age: 0,
        cost: {
            food: 0,
            wood: 20,
            stone: 5,
            gold: 0
        },
        health: 400,
        damage: 20,
        scale: 49,
        spritePadding: -23,
        holdOffset: 8,
        placeOffset: -5
    }, {
        id: 7,
        itemType: 4,
        itemGroup: 2,
        upgradeOf: 6,
        name: "greater spikes",
        description: "damages enemies when they touch them",
        age: 5,
        cost: {
            food: 0,
            wood: 30,
            stone: 10,
            gold: 0
        },
        health: 500,
        damage: 35,
        scale: 52,
        spritePadding: -23,
        holdOffset: 8,
        placeOffset: -5
    }, {
        id: 8,
        itemType: 4,
        itemGroup: 2,
        upgradeOf: 7,
        name: "poison spikes",
        description: "poisons enemies when they touch them",
        age: 9,
        pre: 1,
        cost: {
            food: 0,
            wood: 35,
            stone: 15,
            gold: 0
        },
        health: 600,
        damage: 30,
        poisonDamage: 5,
        scale: 52,
        spritePadding: -23,
        holdOffset: 8,
        placeOffset: -5
    }, {
        id: 9,
        itemType: 4,
        itemGroup: 2,
        upgradeOf: 7,
        name: "spinning spikes",
        description: "damages enemies when they touch them",
        age: 9,
        pre: 2,
        cost: {
            food: 0,
            wood: 30,
            stone: 20,
            gold: 0
        },
        health: 500,
        damage: 45,
        turnSpeed: .003,
        scale: 52,
        spritePadding: -23,
        holdOffset: 8,
        placeOffset: -5
    }, {
        id: 10,
        itemType: 5,
        itemGroup: 3,
        name: "windmill",
        description: "generates gold over time",
        age: 0,
        cost: {
            food: 0,
            wood: 50,
            stone: 10,
            gold: 0
        },
        health: 400,
        pps: 1,
        turnSpeed: .0016,
        spritePadding: 25,
        iconLineMult: 12,
        scale: 45,
        holdOffset: 20,
        placeOffset: 5
    }, {
        id: 11,
        itemType: 5,
        itemGroup: 3,
        upgradeOf: 10,
        name: "faster windmill",
        description: "generates more gold over time",
        age: 5,
        pre: 1,
        cost: {
            food: 0,
            wood: 60,
            stone: 20,
            gold: 0
        },
        health: 500,
        pps: 1.5,
        turnSpeed: .0025,
        spritePadding: 25,
        iconLineMult: 12,
        scale: 47,
        holdOffset: 20,
        placeOffset: 5
    }, {
        id: 12,
        itemType: 5,
        itemGroup: 3,
        upgradeOf: 11,
        name: "power mill",
        description: "generates more gold over time",
        age: 8,
        pre: 1,
        cost: {
            food: 0,
            wood: 100,
            stone: 50,
            gold: 0
        },
        health: 800,
        pps: 2,
        turnSpeed: .005,
        spritePadding: 25,
        iconLineMult: 12,
        scale: 47,
        holdOffset: 20,
        placeOffset: 5
    }, {
        id: 13,
        itemType: 6,
        itemGroup: 4,
        name: "mine",
        description: "allows you to mine stone",
        age: 5,
        type: 2,
        cost: {
            food: 0,
            wood: 20,
            stone: 100,
            gold: 0
        },
        iconLineMult: 12,
        scale: 65,
        holdOffset: 20,
        placeOffset: 0
    }, {
        id: 14,
        itemType: 6,
        itemGroup: 11,
        name: "sapling",
        description: "allows you to farm wood",
        age: 5,
        type: 0,
        cost: {
            food: 0,
            wood: 150,
            stone: 0,
            gold: 0
        },
        iconLineMult: 12,
        colDiv: .5,
        scale: 110,
        holdOffset: 50,
        placeOffset: -15
    }, {
        id: 15,
        itemType: 7,
        itemGroup: 5,
        name: "pit trap",
        description: "pit that traps enemies if they walk over it",
        age: 4,
        cost: {
            food: 0,
            wood: 30,
            stone: 30,
            gold: 0
        },
        trap: true,
        ignoreCollision: true,
        hideFromEnemy: true,
        health: 500,
        colDiv: .2,
        scale: 50,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 16,
        itemType: 7,
        itemGroup: 6,
        name: "boost pad",
        description: "provides boost when stepped on",
        age: 4,
        cost: {
            food: 0,
            wood: 5,
            stone: 20,
            gold: 0
        },
        ignoreCollision: true,
        boostSpeed: 1.5,
        health: 150,
        colDiv: .7,
        scale: 45,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 17,
        itemType: 8,
        itemGroup: 7,
        name: "turret",
        description: "defensive structure that shoots at enemies",
        age: 7,
        doUpdate: true,
        cost: {
            food: 0,
            wood: 200,
            stone: 150,
            gold: 0
        },
        health: 800,
        projectile: 1,
        shootRange: 700,
        shootRate: 2200,
        scale: 43,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 18,
        itemType: 8,
        itemGroup: 8,
        name: "platform",
        description: "platform to shoot over walls and cross over water",
        age: 7,
        cost: {
            food: 0,
            wood: 20,
            stone: 0,
            gold: 0
        },
        ignoreCollision: true,
        zIndex: 1,
        health: 300,
        scale: 43,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 19,
        itemType: 8,
        itemGroup: 9,
        name: "healing pad",
        description: "standing on it will slowly heal you",
        age: 7,
        cost: {
            food: 10,
            wood: 30,
            stone: 0,
            gold: 0
        },
        ignoreCollision: true,
        healCol: 15,
        health: 400,
        colDiv: .7,
        scale: 45,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 20,
        itemType: 9,
        itemGroup: 10,
        name: "spawn pad",
        description: "you will spawn here when you die but it will dissapear",
        age: 9,
        cost: {
            food: 0,
            wood: 100,
            stone: 100,
            gold: 0
        },
        health: 400,
        ignoreCollision: true,
        spawnPoint: true,
        scale: 45,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 21,
        itemType: 8,
        itemGroup: 12,
        name: "blocker",
        description: "blocks building in radius",
        age: 7,
        cost: {
            food: 0,
            wood: 30,
            stone: 25,
            gold: 0
        },
        ignoreCollision: true,
        blocker: 300,
        health: 400,
        colDiv: .7,
        scale: 45,
        holdOffset: 20,
        placeOffset: -5
    }, {
        id: 22,
        itemType: 8,
        itemGroup: 13,
        name: "teleporter",
        description: "teleports you to a random point on the map",
        age: 7,
        cost: {
            food: 0,
            wood: 60,
            stone: 60,
            gold: 0
        },
        ignoreCollision: true,
        teleport: true,
        health: 200,
        colDiv: .7,
        scale: 45,
        holdOffset: 20,
        placeOffset: -5
    } ];
    const WeaponVariants = [ {
        id: 0,
        src: "",
        xp: 1,
        needXP: 0,
        val: 1,
        color: "#7e7e90"
    }, {
        id: 1,
        src: "_g",
        xp: 3e3,
        needXP: 3e3,
        val: 1.1,
        color: "#f7cf45"
    }, {
        id: 2,
        src: "_d",
        xp: 7e3,
        needXP: 4e3,
        val: 1.18,
        color: "#6d91cb"
    }, {
        id: 3,
        src: "_r",
        poison: true,
        xp: 12e3,
        needXP: 5e3,
        val: 1.18,
        color: "#be5454"
    } ];
    const Projectiles = [ {
        id: 0,
        name: "Hunting bow",
        index: 0,
        layer: 0,
        src: "arrow_1",
        damage: 25,
        scale: 103,
        range: 1e3,
        speed: 1.6
    }, {
        id: 1,
        name: "Turret",
        index: 1,
        layer: 1,
        damage: 25,
        scale: 20,
        speed: 1.5,
        range: 700
    }, {
        id: 2,
        name: "Crossbow",
        index: 0,
        layer: 0,
        src: "arrow_1",
        damage: 35,
        scale: 103,
        range: 1200,
        speed: 2.5
    }, {
        id: 3,
        name: "Repeater crossbow",
        index: 0,
        layer: 0,
        src: "arrow_1",
        damage: 30,
        scale: 103,
        range: 1200,
        speed: 2
    }, {
        id: 4,
        index: 1,
        layer: 1,
        damage: 16,
        scale: 20,
        range: 0,
        speed: 0
    }, {
        id: 5,
        name: "Musket",
        index: 0,
        layer: 0,
        src: "bullet_1",
        damage: 50,
        scale: 160,
        range: 1400,
        speed: 3.6
    } ];
    class Vector_Vector {
        x;
        y;
        constructor(x = 0, y = 0) {
            this.x = x;
            this.y = y;
        }
        static fromAngle(angle, length = 1) {
            return new Vector_Vector(Math.cos(angle) * length, Math.sin(angle) * length);
        }
        add(vec) {
            if (vec instanceof Vector_Vector) {
                this.x += vec.x;
                this.y += vec.y;
            } else {
                this.x += vec;
                this.y += vec;
            }
            return this;
        }
        sub(vec) {
            if (vec instanceof Vector_Vector) {
                this.x -= vec.x;
                this.y -= vec.y;
            } else {
                this.x -= vec;
                this.y -= vec;
            }
            return this;
        }
        mult(scalar) {
            this.x *= scalar;
            this.y *= scalar;
            return this;
        }
        div(scalar) {
            this.x /= scalar;
            this.y /= scalar;
            return this;
        }
        get length() {
            return Math.sqrt(this.x * this.x + this.y * this.y);
        }
        normalize() {
            return this.length > 0 ? this.div(this.length) : this;
        }
        dot(vec) {
            return this.x * vec.x + this.y * vec.y;
        }
        proj(vec) {
            const k = this.dot(vec) / vec.dot(vec);
            return vec.copy().mult(k);
        }
        setXY(x, y) {
            this.x = x;
            this.y = y;
            return this;
        }
        setVec(vec) {
            return this.setXY(vec.x, vec.y);
        }
        setLength(value) {
            return this.normalize().mult(value);
        }
        copy() {
            return new Vector_Vector(this.x, this.y);
        }
        distance(vec) {
            return this.copy().sub(vec).length;
        }
        angle(vec) {
            const copy = vec.copy().sub(this);
            return Math.atan2(copy.y, copy.x);
        }
        direction(angle, length) {
            return this.copy().add(Vector_Vector.fromAngle(angle, length));
        }
        isEqual(vec) {
            return this.x === vec.x && this.y === vec.y;
        }
        stringify() {
            return this.x + ":" + this.y;
        }
    }
    const modules_Vector = Vector_Vector;
    const getAngle = (x1, y1, x2, y2) => Math.atan2(y2 - y1, x2 - x1);
    const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
    const getAngleDist = (a, b) => {
        const p = Math.abs(b - a) % (2 * Math.PI);
        return p > Math.PI ? 2 * Math.PI - p : p;
    };
    const removeFast = (array, index) => {
        if (index < 0 || index >= array.length) {
            throw new RangeError("removeFast: Index out of range");
        }
        if (index === array.length - 1) {
            array.pop();
        } else {
            array[index] = array.pop();
        }
    };
    let uniqueID = 0;
    const getUniqueID = () => uniqueID++;
    const isActiveInput = () => {
        const active = document.activeElement || document.body;
        return active instanceof HTMLInputElement || active instanceof HTMLTextAreaElement;
    };
    const getAngleFromBitmask = (bitmask, rotate) => {
        const vec = {
            x: 0,
            y: 0
        };
        if (1 & bitmask) {
            vec.y--;
        }
        if (2 & bitmask) {
            vec.y++;
        }
        if (4 & bitmask) {
            vec.x--;
        }
        if (8 & bitmask) {
            vec.x++;
        }
        if (rotate) {
            vec.x *= -1;
            vec.y *= -1;
        }
        return 0 === vec.x && 0 === vec.y ? null : Math.atan2(vec.y, vec.x);
    };
    const formatCode = code => {
        code += "";
        if ("Backspace" === code) {
            return code;
        }
        if ("Escape" === code) {
            return "ESC";
        }
        if ("Delete" === code) {
            return "DEL";
        }
        if ("Minus" === code) {
            return "-";
        }
        if ("Equal" === code) {
            return "=";
        }
        if ("BracketLeft" === code) {
            return "[";
        }
        if ("BracketRight" === code) {
            return "]";
        }
        if ("Slash" === code) {
            return "/";
        }
        if ("Backslash" === code) {
            return "\\";
        }
        if ("Quote" === code) {
            return "'";
        }
        if ("Backquote" === code) {
            return "`";
        }
        if ("Semicolon" === code) {
            return ";";
        }
        if ("Comma" === code) {
            return ",";
        }
        if ("Period" === code) {
            return ".";
        }
        if ("CapsLock" === code) {
            return "CAPS";
        }
        if ("ContextMenu" === code) {
            return "CTXMENU";
        }
        if ("NumLock" === code) {
            return "LOCK";
        }
        return code.replace(/^Page/, "PG").replace(/^Digit/, "").replace(/^Key/, "").replace(/^(Shift|Control|Alt)(L|R).*$/, "$2$1").replace(/Control/, "CTRL").replace(/^Arrow/, "").replace(/^Numpad/, "NUM").replace(/Decimal/, "DEC").replace(/Subtract/, "SUB").replace(/Divide/, "DIV").replace(/Multiply/, "MULT").toUpperCase();
    };
    const formatButton = button => {
        if (0 === button) {
            return "LBTN";
        }
        if (1 === button) {
            return "MBTN";
        }
        if (2 === button) {
            return "RBTN";
        }
        if (3 === button) {
            return "BBTN";
        }
        if (4 === button) {
            return "FBTN";
        }
        throw new Error(`formatButton Error: "${button}" is not valid button`);
    };
    const removeClass = (target, name) => {
        if (target instanceof HTMLElement) {
            target.classList.remove(name);
            return;
        }
        for (const element of target) {
            element.classList.remove(name);
        }
    };
    const pointInRiver = position => {
        const y = position.y;
        const below = y >= constants_Config.mapScale / 2 - constants_Config.riverWidth / 2;
        const above = y <= constants_Config.mapScale / 2 + constants_Config.riverWidth / 2;
        return below && above;
    };
    const pointInDesert = position => position.y >= constants_Config.mapScale - constants_Config.snowBiomeTop;
    const inView = (x, y, radius) => {
        const maxScreenWidth = Math.min(1920, modules_ZoomHandler.scale.current.w);
        const maxScreenHeight = Math.min(1080, modules_ZoomHandler.scale.current.h);
        const visibleHorizontally = x + radius > 0 && x - radius < maxScreenWidth;
        const visibleVertically = y + radius > 0 && y - radius < maxScreenHeight;
        return visibleHorizontally && visibleVertically;
    };
    const findPlacementAngles = angles => {
        const output = new Set;
        for (let i = 0; i < angles.length; i++) {
            const {angle, offset} = angles[i];
            const start = angle - offset;
            const end = angle + offset;
            let startIntersects = false;
            let endIntersects = false;
            for (let j = 0; j < angles.length; j++) {
                if (startIntersects && endIntersects) {
                    break;
                }
                if (i !== j) {
                    const {angle, offset} = angles[j];
                    if (getAngleDist(start, angle) <= offset) {
                        startIntersects = true;
                    }
                    if (getAngleDist(end, angle) <= offset) {
                        endIntersects = true;
                    }
                }
            }
            if (!startIntersects) {
                output.add(start);
            }
            if (!endIntersects) {
                output.add(end);
            }
        }
        return output;
    };
    const cursorPosition = () => {
        const {ModuleHandler, myPlayer} = myClient;
        const {w, h} = modules_ZoomHandler.scale.current;
        const scale = Math.max(innerWidth / w, innerHeight / h);
        const cursorX = (ModuleHandler.mouse.lockX - innerWidth / 2) / scale;
        const cursorY = (ModuleHandler.mouse.lockY - innerHeight / 2) / scale;
        const pos = myPlayer.position.current;
        return new modules_Vector(pos.x + cursorX, pos.y + cursorY);
    };
    const Hooker = new class Hooker {
        createRecursiveHook(target, prop, callback) {
            (function recursiveHook() {
                Object.defineProperty(target, prop, {
                    set(value) {
                        delete target[prop];
                        this[prop] = value;
                        if (callback(this, value)) {
                            return;
                        }
                        recursiveHook();
                    },
                    configurable: true
                });
            })();
        }
        createHook(target, prop, callback) {
            const symbol = Symbol(prop);
            Object.defineProperty(target, prop, {
                get() {
                    return this[symbol];
                },
                set(value) {
                    callback(this, value, symbol);
                },
                configurable: true
            });
        }
        linker(value) {
            const hook = [ value ];
            hook.valueOf = () => hook[0];
            return hook;
        }
    };
    const utility_Hooker = Hooker;
    const resizeEvent = new Event("resize");
    const ZoomHandler = new class ZoomHandler {
        scale={
            Default: {
                w: 1920,
                h: 1080
            },
            current: {
                w: 1920,
                h: 1080
            },
            smooth: {
                w: utility_Hooker.linker(1920),
                h: utility_Hooker.linker(1080)
            }
        };
        wheels=3;
        scaleFactor=250;
        getScale() {
            const dpr = 1;
            return Math.max(innerWidth / this.scale.Default.w, innerHeight / this.scale.Default.h) * dpr;
        }
        getMinScale(scale) {
            const {w, h} = this.scale.Default;
            const min = Math.min(w, h);
            const count = Math.floor(min / scale);
            return {
                w: w - scale * count,
                h: h - scale * count
            };
        }
        handler(event) {
            if (!(event.target instanceof HTMLCanvasElement) || event.ctrlKey || event.shiftKey || event.altKey || isActiveInput()) {
                return;
            }
            const {Default, current, smooth} = this.scale;
            if (Default.w === current.w && Default.h === current.h && 0 !== (this.wheels = (this.wheels + 1) % 4)) {
                return;
            }
            const {w, h} = this.getMinScale(this.scaleFactor);
            const zoom = Math.sign(event.deltaY) * -this.scaleFactor;
            current.w = Math.max(w, current.w + zoom);
            current.h = Math.max(h, current.h + zoom);
            smooth.w[0] = current.w;
            smooth.h[0] = current.h;
            window.dispatchEvent(resizeEvent);
        }
    };
    const modules_ZoomHandler = ZoomHandler;
    class Storage {
        static get(key) {
            const value = localStorage.getItem(key);
            return null === value ? null : JSON.parse(value);
        }
        static set(key, value, stringify = true) {
            const data = stringify ? JSON.stringify(value) : value;
            localStorage.setItem(key, data);
        }
        static delete(key) {
            const has = localStorage.hasOwnProperty(key) && key in localStorage;
            localStorage.removeItem(key);
            return has;
        }
    }
    class Cookie {
        static get(key) {
            const cookies = document.cookie.split(";");
            for (const cookie of cookies) {
                const match = cookie.trim().match(/^(.+?)=(.+?)$/);
                if (null !== match && match[1] === key) {
                    try {
                        return JSON.parse(decodeURIComponent(match[2]));
                    } catch (err) {}
                }
            }
            return null;
        }
        static set(name, value, days) {
            const date = new Date;
            date.setTime(date.getTime() + 24 * days * 60 * 60 * 1e3);
            const expires = "; expires=" + date.toUTCString();
            const domain = "; domain=.moomoo.io";
            const path = "; path=/";
            const cookieString = `${name}=${encodeURIComponent(value)}${expires}${domain}${path}`;
            document.cookie = cookieString;
        }
    }
    const defaultSettings = {
        primary: "Digit1",
        secondary: "Digit2",
        food: "KeyQ",
        wall: "Digit4",
        spike: "KeyC",
        windmill: "KeyR",
        syncshot: "KeyL",
        farm: "KeyT",
        trap: "Space",
        turret: "KeyF",
        spawn: "KeyG",
        up: "KeyW",
        left: "KeyA",
        down: "KeyS",
        right: "KeyD",
        autoattack: "KeyE",
        lockrotation: "KeyX",
        lockBotPosition: "KeyZ",
        toggleChat: "Enter",
        toggleShop: "ShiftLeft",
        toggleClan: "ControlLeft",
        toggleMenu: "Escape",
        instakill: "KeyK",
        biomehats: true,
        distanceHitEnabled: true,
        instakillCheckSolidHat: false,
        instakillCrossForBots: false,
        instakillForBots: true,
        botWeaponSync: false,
        botHatSync: true,
        botAccSync: true,
        syncShotWeaponSlot: 0,
        autoemp: true,
        antienemy: true,
        antianimal: true,
        antispike: true,
        autoheal: true,
        healingSpeed: 25,
        automill: true,
        autoplacer: true,
        autobreak: true,
        autoreload: false,
        fastWeaponSwitch: true,
        autoShield: false,
        autoShieldDebug: true,
        enemyTracers: false,
        enemyTracersColor: "#cc5151",
        teammateTracers: false,
        teammateTracersColor: "#8ecc51",
        animalTracers: false,
        animalTracersColor: "#518ccc",
        notificationTracers: true,
        notificationTracersColor: "#f5d951",
        arrows: true,
        itemMarkers: true,
        itemMarkersColor: "#84bd4b",
        teammateMarkers: true,
        teammateMarkersColor: "#bdb14b",
        enemyMarkers: true,
        enemyMarkersColor: "#ba4949",
        weaponXPBar: true,
        playerTurretReloadBar: true,
        playerTurretReloadBarColor: "#cf7148",
        weaponReloadBar: true,
        weaponReloadBarColor: "#5155cc",
        renderHP: true,
        objectTurretReloadBar: false,
        objectTurretReloadBarColor: "#66d9af",
        itemHealthBar: false,
        itemHealthBarColor: "#6b449e",
        botLidarViz: true,
        botBreakModeViz: true,
        itemCounter: true,
        renderGrid: false,
        windmillRotation: false,
        entityDanger: true,
        displayPlayerAngle: false,
        projectileHitbox: false,
        possibleShootTarget: false,
        weaponHitbox: false,
        collisionHitbox: false,
        placementHitbox: false,
        turretHitbox: false,
        possiblePlacement: true,
        autospawn: true,
        autoaccept: false,
        menuTransparency: false,
        storeItems: [ [ 15, 31, 6, 7, 22, 12, 26, 11, 53, 20, 40, 56 ], [ 11, 17, 16, 13, 19, 18, 21 ] ]
    };
    defaultSettings.storeItems;
    const settings = {
        ...defaultSettings,
        ...Cookie.get("Aibm")
    };
    for (const iterator in settings) {
        const key = iterator;
        if (!defaultSettings.hasOwnProperty(key)) {
            delete settings[key];
        }
    }
    const SaveSettings = () => {
        Cookie.set("Aibm", JSON.stringify(settings), 365);
    };
    SaveSettings();
    const Settings = settings;
    const Hats = {
        [0]: {
            index: 0,
            id: 0,
            name: "Unequip",
            dontSell: true,
            price: 0,
            scale: 0,
            description: "None"
        },
        [45]: {
            index: 1,
            id: 45,
            name: "Shame!",
            dontSell: true,
            price: 0,
            scale: 120,
            description: "hacks are for losers"
        },
        [51]: {
            index: 2,
            id: 51,
            name: "Moo Cap",
            price: 0,
            scale: 120,
            description: "coolest mooer around"
        },
        [50]: {
            index: 3,
            id: 50,
            name: "Apple Cap",
            price: 0,
            scale: 120,
            description: "apple farms remembers"
        },
        [28]: {
            index: 4,
            id: 28,
            name: "Moo Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [29]: {
            index: 5,
            id: 29,
            name: "Pig Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [30]: {
            index: 6,
            id: 30,
            name: "Fluff Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [36]: {
            index: 7,
            id: 36,
            name: "Pandou Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [37]: {
            index: 8,
            id: 37,
            name: "Bear Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [38]: {
            index: 9,
            id: 38,
            name: "Monkey Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [44]: {
            index: 10,
            id: 44,
            name: "Polar Head",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [35]: {
            index: 11,
            id: 35,
            name: "Fez Hat",
            price: 0,
            scale: 120,
            description: "no effect"
        },
        [42]: {
            index: 12,
            id: 42,
            name: "Enigma Hat",
            price: 0,
            scale: 120,
            description: "join the enigma army"
        },
        [43]: {
            index: 13,
            id: 43,
            name: "Blitz Hat",
            price: 0,
            scale: 120,
            description: "hey everybody i'm blitz"
        },
        [49]: {
            index: 14,
            id: 49,
            name: "Bob XIII Hat",
            price: 0,
            scale: 120,
            description: "like and subscribe"
        },
        [57]: {
            index: 15,
            id: 57,
            name: "Pumpkin",
            price: 50,
            scale: 120,
            description: "Spooooky"
        },
        [8]: {
            index: 16,
            id: 8,
            name: "Bummle Hat",
            price: 100,
            scale: 120,
            description: "no effect"
        },
        [2]: {
            index: 17,
            id: 2,
            name: "Straw Hat",
            price: 500,
            scale: 120,
            description: "no effect"
        },
        [15]: {
            index: 18,
            id: 15,
            name: "Winter Cap",
            price: 600,
            scale: 120,
            description: "allows you to move at normal speed in snow",
            coldM: 1
        },
        [5]: {
            index: 19,
            id: 5,
            name: "Cowboy Hat",
            price: 1e3,
            scale: 120,
            description: "no effect"
        },
        [4]: {
            index: 20,
            id: 4,
            name: "Ranger Hat",
            price: 2e3,
            scale: 120,
            description: "no effect"
        },
        [18]: {
            index: 21,
            id: 18,
            name: "Explorer Hat",
            price: 2e3,
            scale: 120,
            description: "no effect"
        },
        [31]: {
            index: 22,
            id: 31,
            name: "Flipper Hat",
            price: 2500,
            scale: 120,
            description: "have more control while in water",
            watrImm: true
        },
        [1]: {
            index: 23,
            id: 1,
            name: "Marksman Cap",
            price: 3e3,
            scale: 120,
            description: "increases arrow speed and range",
            aMlt: 1.3
        },
        [10]: {
            index: 24,
            id: 10,
            name: "Bush Gear",
            price: 3e3,
            scale: 160,
            description: "allows you to disguise yourself as a bush"
        },
        [48]: {
            index: 25,
            id: 48,
            name: "Halo",
            price: 3e3,
            scale: 120,
            description: "no effect"
        },
        [6]: {
            index: 26,
            id: 6,
            name: "Soldier Helmet",
            price: 4e3,
            scale: 120,
            description: "reduces damage taken but slows movement",
            spdMult: .94,
            dmgMult: .75
        },
        [23]: {
            index: 27,
            id: 23,
            name: "Anti Venom Gear",
            price: 4e3,
            scale: 120,
            description: "makes you immune to poison",
            poisonRes: 1
        },
        [13]: {
            index: 28,
            id: 13,
            name: "Medic Gear",
            price: 5e3,
            scale: 110,
            description: "slowly regenerates health over time",
            healthRegen: 3
        },
        [9]: {
            index: 29,
            id: 9,
            name: "Miners Helmet",
            price: 5e3,
            scale: 120,
            description: "earn 1 extra gold per resource",
            extraGold: 1
        },
        [32]: {
            index: 30,
            id: 32,
            name: "Musketeer Hat",
            price: 5e3,
            scale: 120,
            description: "reduces cost of projectiles",
            projCost: .5
        },
        [7]: {
            index: 31,
            id: 7,
            name: "Bull Helmet",
            price: 6e3,
            scale: 120,
            description: "increases damage done but drains health",
            healthRegen: -5,
            dmgMultO: 1.5,
            spdMult: .96
        },
        [22]: {
            index: 32,
            id: 22,
            name: "Emp Helmet",
            price: 6e3,
            scale: 120,
            description: "turrets won't attack but you move slower",
            antiTurret: 1,
            spdMult: .7
        },
        [12]: {
            index: 33,
            id: 12,
            name: "Booster Hat",
            price: 6e3,
            scale: 120,
            description: "increases your movement speed",
            spdMult: 1.16
        },
        [26]: {
            index: 34,
            id: 26,
            name: "Barbarian Armor",
            price: 8e3,
            scale: 120,
            description: "knocks back enemies that attack you",
            dmgK: .6
        },
        [21]: {
            index: 35,
            id: 21,
            name: "Plague Mask",
            price: 1e4,
            scale: 120,
            description: "melee attacks deal poison damage",
            poisonDmg: 5,
            poisonTime: 6
        },
        [46]: {
            index: 36,
            id: 46,
            name: "Bull Mask",
            price: 1e4,
            scale: 120,
            description: "bulls won't target you unless you attack them",
            bullRepel: 1
        },
        [14]: {
            index: 37,
            id: 14,
            name: "Windmill Hat",
            topSprite: true,
            price: 1e4,
            scale: 120,
            description: "generates points while worn",
            pps: 1.5
        },
        [11]: {
            index: 38,
            id: 11,
            name: "Spike Gear",
            topSprite: true,
            price: 1e4,
            scale: 120,
            description: "deal damage to players that damage you",
            dmg: .45
        },
        [53]: {
            index: 39,
            id: 53,
            name: "Turret Gear",
            topSprite: true,
            price: 1e4,
            scale: 120,
            description: "you become a walking turret",
            turret: {
                projectile: 1,
                range: 700,
                rate: 2500
            },
            spdMult: .7
        },
        [20]: {
            index: 40,
            id: 20,
            name: "Samurai Armor",
            price: 12e3,
            scale: 120,
            description: "increased attack speed and fire rate",
            atkSpd: .78
        },
        [58]: {
            index: 41,
            id: 58,
            name: "Dark Knight",
            price: 12e3,
            scale: 120,
            description: "restores health when you deal damage",
            healD: .4
        },
        [27]: {
            index: 42,
            id: 27,
            name: "Scavenger Gear",
            price: 15e3,
            scale: 120,
            description: "earn double points for each kill",
            kScrM: 2
        },
        [40]: {
            index: 43,
            id: 40,
            name: "Tank Gear",
            price: 15e3,
            scale: 120,
            description: "increased damage to buildings but slower movement",
            spdMult: .3,
            bDmg: 3.3
        },
        [52]: {
            index: 44,
            id: 52,
            name: "Thief Gear",
            price: 15e3,
            scale: 120,
            description: "steal half of a players gold when you kill them",
            goldSteal: .5
        },
        [55]: {
            index: 45,
            id: 55,
            name: "Bloodthirster",
            price: 2e4,
            scale: 120,
            description: "Restore Health when dealing damage. And increased damage",
            healD: .25,
            dmgMultO: 1.2
        },
        [56]: {
            index: 46,
            id: 56,
            name: "Assassin Gear",
            price: 2e4,
            scale: 120,
            description: "Go invisible when not moving. Can't eat. Increased speed",
            noEat: true,
            spdMult: 1.1,
            invisTimer: 1e3
        }
    };
    const Accessories = {
        [0]: {
            index: 0,
            id: 0,
            name: "Unequip",
            dontSell: true,
            price: 0,
            scale: 0,
            xOffset: 0,
            description: "None"
        },
        [12]: {
            index: 1,
            id: 12,
            name: "Snowball",
            price: 1e3,
            scale: 105,
            xOffset: 18,
            description: "no effect"
        },
        [9]: {
            index: 2,
            id: 9,
            name: "Tree Cape",
            price: 1e3,
            scale: 90,
            description: "no effect"
        },
        [10]: {
            index: 3,
            id: 10,
            name: "Stone Cape",
            price: 1e3,
            scale: 90,
            description: "no effect"
        },
        [3]: {
            index: 4,
            id: 3,
            name: "Cookie Cape",
            price: 1500,
            scale: 90,
            description: "no effect"
        },
        [8]: {
            index: 5,
            id: 8,
            name: "Cow Cape",
            price: 2e3,
            scale: 90,
            description: "no effect"
        },
        [11]: {
            index: 6,
            id: 11,
            name: "Monkey Tail",
            price: 2e3,
            scale: 97,
            xOffset: 25,
            description: "Super speed but reduced damage",
            spdMult: 1.35,
            dmgMultO: .2
        },
        [17]: {
            index: 7,
            id: 17,
            name: "Apple Basket",
            price: 3e3,
            scale: 80,
            xOffset: 12,
            description: "slowly regenerates health over time",
            healthRegen: 1
        },
        [6]: {
            index: 8,
            id: 6,
            name: "Winter Cape",
            price: 3e3,
            scale: 90,
            description: "no effect"
        },
        [4]: {
            index: 9,
            id: 4,
            name: "Skull Cape",
            price: 4e3,
            scale: 90,
            description: "no effect"
        },
        [5]: {
            index: 10,
            id: 5,
            name: "Dash Cape",
            price: 5e3,
            scale: 90,
            description: "no effect"
        },
        [2]: {
            index: 11,
            id: 2,
            name: "Dragon Cape",
            price: 6e3,
            scale: 90,
            description: "no effect"
        },
        [1]: {
            index: 12,
            id: 1,
            name: "Super Cape",
            price: 8e3,
            scale: 90,
            description: "no effect"
        },
        [7]: {
            index: 13,
            id: 7,
            name: "Troll Cape",
            price: 8e3,
            scale: 90,
            description: "no effect"
        },
        [14]: {
            index: 14,
            id: 14,
            name: "Thorns",
            price: 1e4,
            scale: 115,
            xOffset: 20,
            description: "no effect"
        },
        [15]: {
            index: 15,
            id: 15,
            name: "Blockades",
            price: 1e4,
            scale: 95,
            xOffset: 15,
            description: "no effect"
        },
        [20]: {
            index: 16,
            id: 20,
            name: "Devils Tail",
            price: 1e4,
            scale: 95,
            xOffset: 20,
            description: "no effect"
        },
        [16]: {
            index: 17,
            id: 16,
            name: "Sawblade",
            price: 12e3,
            scale: 90,
            spin: true,
            xOffset: 0,
            description: "deal damage to players that damage you",
            dmg: .15
        },
        [13]: {
            index: 18,
            id: 13,
            name: "Angel Wings",
            price: 15e3,
            scale: 138,
            xOffset: 22,
            description: "slowly regenerates health over time",
            healthRegen: 3
        },
        [19]: {
            index: 19,
            id: 19,
            name: "Shadow Wings",
            price: 15e3,
            scale: 138,
            xOffset: 22,
            description: "increased movement speed",
            spdMult: 1.1
        },
        [18]: {
            index: 20,
            id: 18,
            name: "Blood Wings",
            price: 2e4,
            scale: 178,
            xOffset: 26,
            description: "restores health when you deal damage",
            healD: .2
        },
        [21]: {
            index: 21,
            id: 21,
            name: "Corrupt X Wings",
            price: 2e4,
            scale: 178,
            xOffset: 26,
            description: "deal damage to players that damage you",
            dmg: .25
        }
    };
    const store = [ Hats, Accessories ];
    class DataHandler {
        static isWeaponType(type) {
            return type <= 1;
        }
        static isItemType(type) {
            return type >= 2;
        }
        static getStore(type) {
            return store[type];
        }
        static getStoreItem(type, id) {
            switch (type) {
              case 0:
                return Hats[id];

              case 1:
                return Accessories[id];

              default:
                throw new Error(`getStoreItem Error: type "${type}" is not defined`);
            }
        }
        static getProjectile(id) {
            return Projectiles[Weapons[id].projectile];
        }
        static isWeapon(id) {
            return void 0 !== Weapons[id];
        }
        static isItem(id) {
            return void 0 !== Items[id];
        }
        static isPrimary(id) {
            return null !== id && 0 === Weapons[id].itemType;
        }
        static isSecondary(id) {
            return null !== id && 1 === Weapons[id].itemType;
        }
        static isMelee(id) {
            return null !== id && "damage" in Weapons[id];
        }
        static isAttackable(id) {
            return null !== id && "range" in Weapons[id];
        }
        static isShootable(id) {
            return null !== id && "projectile" in Weapons[id];
        }
        static isPlaceable(id) {
            return -1 !== id && "itemGroup" in Items[id];
        }
        static isHealable(id) {
            return "restore" in Items[id];
        }
        static isDestroyable(id) {
            return "health" in Items[id];
        }
    }
    const utility_DataHandler = DataHandler;
    const StoreHandler = new class StoreHandler {
        isOpened=false;
        store=[ {
            previous: -1,
            current: -1,
            list: new Map
        }, {
            previous: -1,
            current: -1,
            list: new Map
        } ];
        currentType=0;
        isRightStore(type) {
            return this.isOpened && this.currentType === type;
        }
        createStore(type) {
            const storeContainer = document.createElement("div");
            storeContainer.id = "storeContainer";
            storeContainer.style.display = "none";
            const button = document.createElement("div");
            button.id = "toggleStoreType";
            button.textContent = 0 === type ? "Hats" : "Accessories";
            button.onmousedown = () => {
                this.currentType = 0 === this.currentType ? 1 : 0;
                button.textContent = 0 === this.currentType ? "Hats" : "Accessories";
                if (this.isOpened) {
                    this.fillStore(this.currentType);
                }
            };
            storeContainer.appendChild(button);
            const itemHolder = document.createElement("div");
            itemHolder.id = "itemHolder";
            storeContainer.appendChild(itemHolder);
            itemHolder.addEventListener("wheel", (event => {
                event.preventDefault();
                const scale = 50 * Math.sign(event.deltaY);
                itemHolder.scroll(0, itemHolder.scrollTop + scale);
            }));
            const {gameUI} = UI_GameUI.getElements();
            gameUI.appendChild(storeContainer);
        }
        getTextEquip(type, id, price) {
            const {list, current} = this.store[type];
            if (current === id) {
                return "Unequip";
            }
            if (list.has(id) || 0 === price) {
                return "Equip";
            }
            return "Buy";
        }
        generateStoreElement(type, id, name, price, isTop) {
            const srcType = [ "hats/hat", "accessories/access" ];
            const src = [ srcType[type], id ];
            if (isTop) {
                src.push("p");
            }
            const html = `\n            <div class="storeItemContainer">\n                <img class="storeHat" src="./img/${src.join("_")}.png">\n                <span class="storeItemName">${name}</span>\n                <div class="equipButton" data-id="${id}">${this.getTextEquip(type, id, price)}</div>\n            </div>\n        `;
            const div = document.createElement("div");
            div.innerHTML = html;
            const equipButton = div.querySelector(".equipButton");
            equipButton.onmousedown = () => {
                myClient.ModuleHandler.equip(type, id, true, true);
            };
            return div.firstElementChild;
        }
        fillStore(type) {
            const {itemHolder} = UI_GameUI.getElements();
            itemHolder.innerHTML = "";
            const items = Settings.storeItems[type];
            for (const id of items) {
                const item = utility_DataHandler.getStoreItem(type, id);
                const element = this.generateStoreElement(type, id, item.name, item.price, "topSprite" in item);
                itemHolder.appendChild(element);
            }
        }
        handleEquipUpdate(type, prev, curr, isBuy) {
            if (!this.isRightStore(type)) {
                return;
            }
            const current = document.querySelector(`.equipButton[data-id="${curr}"]`);
            if (null !== current) {
                current.textContent = isBuy ? "Equip" : "Unequip";
            }
            if (!isBuy && -1 !== prev) {
                const previous = document.querySelector(`.equipButton[data-id="${prev}"]`);
                if (null !== previous) {
                    previous.textContent = "Equip";
                }
            }
        }
        updateStoreState(type, action, id) {
            const store = this.store[type];
            if (0 === action) {
                store.previous = store.current;
                store.current = id;
                const {previous, current, list} = store;
                list.set(previous, 0);
                list.set(current, 1);
                this.handleEquipUpdate(type, store.previous, id, false);
            } else {
                store.list.set(id, 0);
                this.handleEquipUpdate(type, store.previous, id, true);
            }
        }
        closeStore() {
            const {storeContainer, itemHolder} = UI_GameUI.getElements();
            itemHolder.innerHTML = "";
            storeContainer.style.display = "none";
            this.isOpened = false;
        }
        openStore() {
            UI_GameUI.closePopups();
            const {storeContainer} = UI_GameUI.getElements();
            this.fillStore(this.currentType);
            storeContainer.style.display = "";
            storeContainer.classList.remove("closedItem");
            this.isOpened = true;
        }
        toggleStore() {
            const {storeContainer, itemHolder} = UI_GameUI.getElements();
            if (this.isOpened) {
                itemHolder.innerHTML = "";
            } else {
                UI_GameUI.closePopups();
                this.fillStore(this.currentType);
            }
            storeContainer.style.display = "none" === storeContainer.style.display ? "" : "none";
            this.isOpened = !this.isOpened;
        }
        init() {
            this.createStore(0);
        }
    };
    const UI_StoreHandler = StoreHandler;
    const styles = '@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;600;800&display=swap";@keyframes shine{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes ripple{from{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(2)}}@keyframes toclose{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes toopen{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes appear{from{opacity:0}to{opacity:1}}header{display:flex;justify-content:space-between;align-items:center;height:45px;background:#1A0000!important;padding:10px;border-radius:12px;border:1px solid #ff6b6b;box-shadow:0 0 15px rgba(255,107,107,0.7);background-image:linear-gradient(90deg, #1A0000 0%, #330000 15%, rgba(255,107,107,0.5) 45%, #ff6b6b 50%, rgba(255,107,107,0.5) 55%, #330000 85%, #1A0000 100%)!important;background-size:200% 100%!important;animation:shine 8s linear infinite!important}header h1{font-size:2.3em;color:#D4AF37}header #credits{display:flex;justify-content:space-between;gap:10px;height:45px}header #credits p{margin-top:auto;color:#E0D1B7}header #logo{display:block;width:auto;height:100%;scale:1.2}header #close-button{display:block;fill:#B00000;cursor:pointer;width:auto;height:100%}header #close-button:hover{fill:#FF6B6B}#navbar-container{display:flex;flex-direction:column;background:#120000;padding:10px;border-radius:12px;border:1px solid #330000}#navbar-container .open-menu{position:relative;width:8.5em;height:3.5em;background:#280808;font-weight:800;font-size:1.3em;overflow:hidden;transition:background 100ms}#navbar-container .open-menu:hover{background:#551515}#navbar-container .open-menu.active{background:#551515;pointer-events:none}#navbar-container .open-menu.bottom-align{margin-top:auto}#navbar-container .open-menu .ripple{position:absolute;z-index:5;background:rgba(255,107,107,.4);top:0;left:0;border-radius:50%;opacity:0;animation:ripple 1100ms;pointer-events:none}#page-container{width:100%;height:100%;overflow-y:scroll}.menu-page{background:#120000;padding:10px;border-radius:8px;display:none;border:1px solid #330000}.menu-page.opened{display:block}.menu-page h1{font-size:2.8em;color:#E83030;text-shadow: 0 0 5px rgba(255, 255, 255, 0.1)}.menu-page>.section{margin-top:20px;background:#0D0000;padding:15px;border-radius:12px;border:1px solid #330000}.menu-page>.section .section-title{font-weight:800;font-size:1.8em;color:#E0D1B7;margin-bottom:10px}.menu-page>.section .section-content.split{display:flex;column-gap:30px}.menu-page>.section .section-content .content-split{width:100%;display:flex;flex-direction:column;row-gap:10px}.menu-page>.section .section-content .content-option{display:flex;justify-content:space-between;align-items:center}.menu-page>.section .section-content .content-option.centered{justify-content:center}.menu-page>.section .section-content .content-option .option-title{font-weight:800;font-size:1.4em;color:#E0D1B7;transition:color 100ms}.menu-page>.section .section-content .content-option .option-content{display:flex;justify-content:center;align-items:center;column-gap:10px}.menu-page>.section .section-content .content-option .disconnect-button{width:30px;height:30px;cursor:pointer;fill:rgba(176,0,0,0.5);transition:fill 100ms}.menu-page>.section .section-content .content-option:hover .option-title{color:#FF6B6B}.menu-page>.section .section-content .content-option:hover .disconnect-button{fill:#FF4444}.menu-page>.section .section-content .content-option:hover .disconnect-button:hover{fill:#FF6B6B}.menu-page>.section .section-content .text{display:flex;justify-content:left;gap:10px}.menu-page>.section .section-content .text .text-value{color:#E0D1B7;font-weight:800;font-size:1.5em}.menu-page>.section .section-content .option-button{width:117px;height:52px;background:#280808;border:5px solid #550000;border-radius:8px;font-weight:800;font-size:1.1em;color:#E0D1B7;transition:background 100ms,border-color 100ms}.menu-page>.section .section-content .option-button:hover{background:#401010;border-color:#7A0000}.menu-page>.section .section-content .hotkeyInput{width:90px;height:40px;background:#280808;border:5px solid #550000;border-radius:8px;font-weight:800;font-size:1.1em;color:#E0D1B7;display:flex;justify-content:center;align-items:center;transition:background 100ms,border-color 100ms,color 100ms}.menu-page>.section .section-content .hotkeyInput:hover{background:#401010;border-color:#7A0000}.menu-page>.section .section-content .hotkeyInput.active{background:#751b1b;border-color:#ff6b6b;box-shadow:0 0 10px rgba(255,107,107,0.8);}.menu-page>.section .section-content .hotkeyInput.red{background:#7a3131;border-color:#672929;color:#E0D1B7}.menu-page>.section .section-content .hotkeyInput.red:hover{background:#893333;border-color:#712d2d}.menu-page>.section .section-content .hotkeyInput.red.active{background:#923939;border-color:#712d2d}.menu-page>.section .section-content .switch-checkbox{position:relative;width:90px;height:40px}.menu-page>.section .section-content .switch-checkbox input{width:0;height:0;opacity:0}.menu-page>.section .section-content .switch-checkbox input:checked+span{background:#B00000;box-shadow:0px -20px 0px 0px #900000 inset, 0 0 8px rgba(255,107,107,0.6);}.menu-page>.section .section-content .switch-checkbox input:checked+span:before{transform:translateX(50px) scale(0.7);background:#E0D1B7}.menu-page>.section .section-content .switch-checkbox span{position:absolute;cursor:pointer;top:0;left:0;bottom:0;right:0;width:100%;height:100%;display:flex;align-items:center;background:#280808;border-radius:8px;box-shadow:0px -20px 0px 0px #1A0505 inset}.menu-page>.section .section-content .switch-checkbox span:before{position:absolute;content:"";transform:scale(0.7);transition:transform 300ms;width:40px;height:40px;border-radius:8px;background:#E0D1B7}.menu-page>.section .section-content input[id][type=color]{width:60px;height:33.3333333333px;outline:none;border:none;padding:3px;margin:0;background:#280808;border-radius:8px;cursor:pointer}.menu-page>.section .section-content .reset-color{background:var(--data-color);width:10px;height:10px;border-radius:50%}.menu-page>.section .section-content .slider{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-page>.section .section-content .slider input{appearance:none;outline:none;cursor:pointer;padding:0;margin:0;border:none;width:144px;height:30px;background:#550000;box-shadow:0px -15px 0px 0px #330000 inset;border-radius:8px}.menu-page>.section .section-content .slider input::-webkit-slider-thumb{-webkit-appearance:none;transform:scale(0.7);width:30px;height:30px;background:#FF4444;border-radius:8px}.menu-page>.section .section-content .slider .slider-value{color:#E0D1B7;font-weight:800;font-size:1.4em;opacity:1}html,body{margin:0;padding:0;scrollbar-width:thin;scrollbar-track-color:#280808;scrollbar-face-color:#550000}*{font-family:"Noto Sans",sans-serif;color:#f1f1f1}h1{font-weight:800;margin:0}h2{margin:0}p{font-weight:800;font-size:1.1rem;margin:0;color:#E0D1B7}button{border:none;outline:none;cursor:pointer}#menu-container{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:1280px;height:720px;display:flex;justify-content:center;align-items:center}#menu-container.transparent #menu-wrapper{background:rgba(8,0,0,.5882352941)}#menu-container.transparent header,#menu-container.transparent .menu-page,#menu-container.transparent #navbar-container{background:rgba(18,0,0,.5882352941)}#menu-container.transparent .section{background:rgba(13,0,0,.462745098)}#menu-container.transparent .open-menu{background:rgba(13,0,0,.462745098)}#menu-container.transparent .open-menu:hover,#menu-container.transparent .open-menu.active{background:rgba(85,21,21,.6039215686)}#menu-wrapper{position:relative;display:flex;flex-direction:column;row-gap:10px;width:85%;height:85%;padding:10px;box-shadow:0 0 40px rgba(255,107,107,0.5), inset 0 0 15px rgba(255,107,107,0.2);border-radius:18px;background:linear-gradient(135deg, #100000 0%, #080000 100%)}#menu-wrapper.toclose{animation:250ms cubic-bezier(.2, .8, .2, 1) toclose forwards}#menu-wrapper.toopen{animation:250ms cubic-bezier(.2, .8, .2, 1) toopen forwards}main{display:flex;column-gap:10px;width:100%;height:calc(100% - 75px)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#280808;border-radius:8px}::-webkit-scrollbar-thumb{background:#550000;border-radius:8px}.icon{width:50px;height:50px} .gmx-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 6px;margin-bottom: 10px;}'; const Game = "#iframe-page-container{position:absolute;z-index:10;top:0;left:0;bottom:0;right:0;width:100%;height:100%;border:none}#promoImgHolder,#gameName,#rightCardHolder,#mobileDownloadButtonContainer,#touch-controls-left,#touch-controls-right,#touch-controls-fullscreen,#partyButton,#adCard,#joinPartyButton,#guideCard>*:not(#serverBrowser,#altServer,#skinColorHolder,.settingRadio){display:none !important}#setupCard{display:flex;flex-direction:column;row-gap:10px;background:rgba(189,189,189,.2666666667);box-shadow:none}#linksContainer2{background:#505050}#setupCard>*{margin:0 !important}.actionBarItem{position:relative}.itemCounter{position:absolute;top:3px;right:3px;font-size:.95em;color:#fff;text-shadow:#3d3f42 2px 0px 0px,#3d3f42 1.75517px .958851px 0px,#3d3f42 1.0806px 1.68294px 0px,#3d3f42 .141474px 1.99499px 0px,#3d3f42 -0.832294px 1.81859px 0px,#3d3f42 -1.60229px 1.19694px 0px,#3d3f42 -1.97998px .28224px 0px,#3d3f42 -1.87291px -0.701566px 0px,#3d3f42 -1.30729px -1.5136px 0px,#3d3f42 -0.421592px -1.95506px 0px,#3d3f42 .567324px -1.91785px 0px,#3d3f42 1.41734px -1.41108px 0px,#3d3f42 1.92034px -0.558831px 0px}.itemCounter{position:absolute;top:3px;right:3px;font-size:.95em;color:#fff;text-shadow:#3d3f42 2px 0px 0px,#3d3f42 1.75517px .958851px 0px,#3d3f42 1.0806px 1.68294px 0px,#3d3f42 .141474px 1.99499px 0px,#3d3f42 -0.832294px 1.81859px 0px,#3d3f42 -1.60229px 1.19694px 0px,#3d3f42 -1.97998px .28224px 0px,#3d3f42 -1.87291px -0.701566px 0px,#3d3f42 -1.30729px -1.5136px 0px,#3d3f42 -0.421592px -1.95506px 0px,#3d3f42 .567324px -1.91785px 0px,#3d3f42 1.41734px -1.41108px 0px,#3d3f42 1.92034px -0.558831px 0px}.itemCounter.hidden{display:none}#onetrust-consent-sdk{display:none !important}#topInfoHolder{display:flex;flex-direction:column;justify-content:right;align-items:flex-end;gap:10px}#topInfoHolder>div:not([class]):not([id]){display:none}#killCounter,#totalKillCounter{position:static;margin:0;background-image:url(../img/icons/skull.png)}.closedItem{display:none !important}#storeContainer{display:flex;flex-direction:column;gap:10px;max-width:400px;width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}#toggleStoreType{display:flex;justify-content:center;align-items:center;padding:10px;background-color:rgba(0,0,0,.15);color:#fff;border-radius:4px;cursor:pointer;font-size:20px;pointer-events:all}#itemHolder{background-color:rgba(0,0,0,.15);max-height:200px;height:100%;padding:10px;overflow-y:scroll;border-radius:4px;pointer-events:all}#itemHolder::-webkit-scrollbar{display:none;width:0;height:0;background:rgba(0,0,0,0)}.storeItemContainer{display:flex;align-items:center;gap:10px;padding:5px;height:50px;box-sizing:border-box;overflow:hidden}.storeHat{display:flex;justify-content:center;align-items:center;width:45px;height:45px;margin-top:-5px;pointer-events:none}.storeItemName{color:#fff;font-size:20px}.equipButton{margin-left:auto;color:#80eefc;cursor:pointer;font-size:35px}#bottomContainer{bottom:10px}#scriptName{position:absolute;top:0;left:0}";
    code = '<header> <div id="credits"> <svg id="logo" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" style="height:100%; scale:1.2;"> <path d="M0 0 C20.2903352 7.02295375 40.16072877 20.14484171 50.42578125 39.71875 C51.6987475 42.45243562 52.87160375 45.20390048 54 48 C54.309375 48.72445312 54.61875 49.44890625 54.9375 50.1953125 C58.33314866 58.52118181 58.18201394 67.13453495 58.1875 76 C58.19974609 77.0415625 58.21199219 78.083125 58.22460938 79.15625 C58.24083588 87.72384622 57.12267507 94.38639294 53.0625 102.0625 C51.36814299 105.31993212 49.72459762 108.52249607 48.375 111.9375 C46.94676907 115.11855981 45.38433804 117.4618337 43 120 C42.34 120 41.68 120 41 120 C40.938125 120.556875 40.87625 121.11375 40.8125 121.6875 C38.02628411 129.61749908 26.20432446 137.12804964 18.9375 140.75 C16.42616642 141.94568271 13.93739108 143.02315798 11.328125 143.98828125 C7.30020029 145.62686009 4.70391664 146.81390047 2.4375 150.6328125 C1.17321848 153.72240046 0.08985991 156.84535097 -1 160 C-1.8025149 161.66107846 -2.63477155 163.30820827 -3.5 164.9375 C-5.95562872 169.73364984 -7.85753352 174.66776042 -9.75390625 179.70703125 C-12.87363995 187.95134319 -16.38777004 195.87784259 -20.39453125 203.7265625 C-22.56596614 208.15396503 -24.50492564 212.67014382 -26.45556641 217.19799805 C-28.43878107 221.77927916 -30.55151055 226.26258186 -32.859375 230.69140625 C-34.06144165 233.12435622 -35.10783157 235.6079894 -36.16552734 238.10620117 C-37.62828162 241.42585737 -39.29199549 244.6431342 -40.9375 247.875 C-43.4460957 252.84216728 -45.86941008 257.81306545 -48.0703125 262.92578125 C-49.15595144 265.34794208 -50.35409399 267.69931546 -51.5625 270.0625 C-53.06594295 273.02368854 -54.39984301 275.92984958 -55.5 279.0625 C-56.86178595 282.92871988 -58.80045476 286.3207538 -60.9140625 289.82421875 C-62.10452982 292.20943564 -62.58649262 294.37652542 -63 297 C-62.45214844 297.13535156 -61.90429688 297.27070313 -61.33984375 297.41015625 C-55.01716202 299.12704706 -49.29646946 301.5931485 -43.44311523 304.48657227 C-39.36346509 306.47604809 -35.35571465 307.76405351 -31 309 C-28.99638977 309.92812397 -27.01555288 310.90723183 -25.0625 311.9375 C-21.79537104 313.65681013 -18.58119074 315.19197856 -15.11328125 316.4453125 C-10.94117765 317.96627312 -7.06254059 319.89538336 -3.125 321.9375 C1.19286322 324.14008648 5.4602429 326.28412571 10 328 C40.98567928 339.84132861 40.98567928 339.84132861 48 350 C49.53737414 356.28033693 48.78092263 361.55560828 46.875 367.625 C46.64490234 368.3991626 46.41480469 369.1733252 46.17773438 369.97094727 C45.47143787 372.32053784 44.73928304 374.66060434 44 377 C43.78504883 377.69561035 43.57009766 378.3912207 43.34863281 379.10791016 C40.79018108 387.35560347 37.71249914 395.20375181 34 403 C33.39269692 404.41532497 32.78845109 405.83196629 32.1875 407.25 C22.03791563 429.88193611 22.03791563 429.88193611 15 433 C9.25411035 434.14917793 4.97446385 433.04559011 0 430 C-0.84304688 429.52820313 -1.68609375 429.05640625 -2.5546875 428.5703125 C-9.8638549 424.40843531 -9.8638549 424.40843531 -11 421 C-13.01508358 420.26676204 -13.01508358 420.26676204 -15 420 C-15 419.34 -15 418.68 -15 418 C-15.763125 417.71125 -16.52625 417.4225 -17.3125 417.125 C-20 416 -20 416 -23 414 C-23 413.34 -23 412.68 -23 412 C-23.5775 411.9175 -24.155 411.835 -24.75 411.75 C-27 411 -27 411 -28.83203125 409.1484375 C-31.07056624 406.93006949 -33.23879458 405.49016505 -35.9375 403.875 C-40.34196089 401.14200562 -44.43564352 398.20161652 -48.5 395 C-53.28006954 391.24433179 -58.16604019 387.86987224 -63.34375 384.671875 C-67.67602021 381.94509316 -71.83432215 378.97290242 -76 376 C-78.47381078 377.23690539 -78.75549349 378.1660467 -79.9375 380.625 C-80.25589844 381.27726562 -80.57429688 381.92953125 -80.90234375 382.6015625 C-81.7541496 384.46280375 -82.56038771 386.34493051 -83.34765625 388.234375 C-85.16243345 392.49140012 -87.32104952 396.54537258 -89.5 400.625 C-90.38833587 402.29931206 -91.27634407 403.97379799 -92.1640625 405.6484375 C-92.62586914 406.51823242 -93.08767578 407.38802734 -93.56347656 408.28417969 C-95.03848283 411.07275373 -96.50160831 413.86725475 -97.9609375 416.6640625 C-98.69086914 418.06277588 -98.69086914 418.06277588 -99.43554688 419.48974609 C-100.37255435 421.28652467 -101.30879254 423.0837047 -102.24414062 424.88134766 C-104.18076768 428.58936794 -106.1342311 432.27393057 -108.23046875 435.89453125 C-110.07761418 438.98996269 -110.07761418 438.98996269 -111.4375 442.4375 C-112.60446242 445.09817431 -113.68869402 447.172227 -115.25 449.5625 C-119.4996324 456.14878829 -122.75161622 463.35182612 -126.16015625 470.3984375 C-127.79757203 473.75281962 -129.54485925 476.91929111 -131.5625 480.0625 C-133.41061046 482.95227272 -134.83201201 485.80921948 -136.1171875 489 C-138.40926593 494.19267325 -140.96582737 499.96582737 -145 504 C-144.57221634 507.50782605 -142.85258817 510.60738577 -141.4375 513.8125 C-137.82122032 523.13097141 -137.22310912 533.49759102 -141.03125 542.89453125 C-141.3509375 543.58933594 -141.670625 544.28414062 -142 545 C-142.3403125 545.80824219 -142.680625 546.61648438 -143.03125 547.44921875 C-145.91389222 553.80856121 -149.71047624 559.38349715 -155 564 C-156.33149196 564.34061422 -157.66449934 564.67545898 -159 565 C-159.33 565.99 -159.66 566.98 -160 568 C-168.00162156 572.88987984 -176.69507509 574.41355222 -186 574 C-186.12117188 574.6290625 -186.24234375 575.258125 -186.3671875 575.90625 C-186.53476562 576.7621875 -186.70234375 577.618125 -186.875 578.5 C-187.11863281 579.75296875 -187.11863281 579.75296875 -187.3671875 581.03125 C-187.83979605 583.24842594 -188.37330532 585.45277989 -188.9375 587.6484375 C-194.82901038 611.07145449 -199.26124679 640.93263532 -190 664 C-188.07594757 666.72727383 -188.07594757 666.72727383 -186 669 C-185.278125 669.99 -184.55625 670.98 -183.8125 672 C-180.60983362 675.84517661 -176.42105064 677.81488301 -172 680 C-171.07058594 680.49757813 -170.14117188 680.99515625 -169.18359375 681.5078125 C-149.05639555 690.94166491 -124.60690161 688.38093981 -104 682 C-99.84688352 680.31877532 -99.84688352 680.31877532 -96.75 677.3125 C-95.88028665 674.63088384 -95.21881642 671.91528269 -94.57421875 669.171875 C-93.64922757 665.67326892 -92.32246001 662.36626185 -91 659 C-90.34 659 -89.68 659 -89 659 C-88.835 658.29875 -88.67 657.5975 -88.5 656.875 C-85.40384944 650.94071143 -78.74173932 647.25510896 -72.671875 644.75390625 C-60.53192879 641.32845359 -46.58994782 642.27706054 -35.453125 648.3125 C-28.86570921 652.84397074 -19.49555376 660.77541992 -17.75 668.9375 C-15.44027929 681.55697408 -16.70334199 693.25610198 -24 704 C-24.66 704 -25.32 704 -26 704 C-26.268125 704.763125 -26.53625 705.52625 -26.8125 706.3125 C-28.84467764 710.91163886 -31.75917226 712.49630432 -36 715 C-36.72316406 715.45761719 -37.44632813 715.91523437 -38.19140625 716.38671875 C-47.01984103 721.22999516 -59.426672 722.04348992 -69.20410156 719.40527344 C-69.88827148 719.19290039 -70.57244141 718.98052734 -71.27734375 718.76171875 C-74.94597447 717.62827642 -74.94597447 717.62827642 -77.8984375 719.3359375 C-78.71570313 720.00882813 -79.53296875 720.68171875 -80.375 721.375 C-84.8957529 725 -84.8957529 725 -87 725 C-87.33 725.99 -87.66 726.98 -88 728 C-92.45714286 732 -92.45714286 732 -95 732 C-95.33 732.99 -95.66 733.98 -96 735 C-97.49609375 736.5078125 -97.49609375 736.5078125 -99.4375 738.125 C-102.68800098 740.8754239 -105.86086232 743.68536145 -109 746.5625 C-112.64836502 749.86742325 -116.37587855 752.8863739 -120.40625 755.7109375 C-122.277721 757.09364588 -122.277721 757.09364588 -124 760 C-124.66 760 -125.32 760 -126 760 C-126.25394531 760.58265625 -126.50789063 761.1653125 -126.76953125 761.765625 C-128.13320333 764.24188033 -129.64225203 765.80520626 -131.6875 767.75 C-135.07025849 771.04083571 -138.20940897 774.44533316 -141.26171875 778.04296875 C-143.41145361 780.46323204 -145.7093915 782.71281543 -148 785 C-149.72024553 786.84312021 -151.428556 788.69744918 -153.125 790.5625 C-154.39730469 791.95662109 -154.39730469 791.95662109 -155.6953125 793.37890625 C-157.97776303 795.8879577 -157.97776303 795.8879577 -159.6796875 798.33984375 C-160.11539062 798.88769531 -160.55109375 799.43554688 -161 800 C-161.66 800 -162.32 800 -163 800 C-163.40532959 800.87724731 -163.40532959 800.87724731 -163.81884766 801.7722168 C-164.99643779 803.99328127 -166.28325905 805.72417258 -167.8984375 807.64453125 C-168.46046875 808.32193359 -169.0225 808.99933594 -169.6015625 809.69726562 C-170.77486022 811.09669451 -171.94932199 812.49514835 -173.125 813.89257812 C-179.82072991 821.96690671 -179.82072991 821.96690671 -183 831.8125 C-183.93682092 837.23620007 -185.79381918 841.9765739 -188 847 C-188.37898438 847.86753906 -188.75796875 848.73507812 -189.1484375 849.62890625 C-190.08795218 851.75780654 -191.03786201 853.88124931 -192 856 C-192.66 856 -193.32 856 -194 856 C-194.4021875 857.7015625 -194.4021875 857.7015625 -194.8125 859.4375 C-195.204375 860.613125 -195.59625 861.78875 -196 863 C-196.99 863.33 -197.98 863.66 -199 864 C-199.36065902 865.32620284 -199.6899069 866.66107089 -200 868 C-204.36993755 874.14324554 -211.27265144 882.64642897 -219 884 C-219 884.66 -219 885.32 -219 886 C-220.39529129 886.62620916 -221.79126121 887.25090631 -223.1875 887.875 C-224.35345703 888.39707031 -224.35345703 888.39707031 -225.54296875 888.9296875 C-226.35378906 889.28289063 -227.16460938 889.63609375 -228 890 C-228.73476563 890.36480469 -229.46953125 890.72960937 -230.2265625 891.10546875 C-242.45216304 895.0486554 -256.68240194 891.79100703 -268.47607422 887.84326172 C-271.30920535 886.89669227 -274.15555475 885.99734865 -277.00390625 885.09765625 C-287.68886354 881.67697726 -297.95506988 878.02246506 -308 873 C-311.21511638 871.58986124 -314.4389951 870.22407721 -317.69921875 868.921875 C-323.9654429 866.38650133 -329.7579171 863.5720749 -335.52734375 860.0390625 C-338.509312 858.78597632 -339.97316236 858.95426964 -343 860 C-344.12516085 861.83284443 -344.12516085 861.83284443 -345 864 C-347 866.25 -347 866.25 -349 868 C-349.66 868 -350.32 868 -351 868 C-351.66 869.32 -352.32 870.64 -353 872 C-353.66 872 -354.32 872 -355 872 C-355 872.66 -355 873.32 -355 874 C-356.57286684 875.41438406 -358.21139996 876.75604401 -359.875 878.0625 C-364.64491054 881.873511 -369.2142484 885.82879996 -373.7109375 889.95703125 C-380.48183556 896 -380.48183556 896 -383 896 C-383.33 896.99 -383.66 897.98 -384 899 C-385.47119141 900.36279297 -385.47119141 900.36279297 -387.3515625 901.7421875 C-388.03863281 902.25136719 -388.72570312 902.76054688 -389.43359375 903.28515625 C-390.51833984 904.07212891 -390.51833984 904.07212891 -391.625 904.875 C-392.32496094 905.39191406 -393.02492188 905.90882813 -393.74609375 906.44140625 C-395.82333897 907.97139949 -397.90933688 909.48840454 -400 911 C-400.6597583 911.47735596 -401.3195166 911.95471191 -401.99926758 912.4465332 C-404.43666107 914.19979068 -406.84985871 915.91145514 -409.4375 917.4375 C-413.89124136 920.15319595 -418.02624613 923.38204616 -422.05859375 926.6875 C-424 928 -424 928 -427 928 C-427 928.66 -427 929.32 -427 930 C-428.86328125 931.5078125 -428.86328125 931.5078125 -431.3125 933.125 C-432.11300781 933.66382813 -432.91351563 934.20265625 -433.73828125 934.7578125 C-436 936 -436 936 -439 936 C-439.33 936.99 -439.66 937.98 -440 939 C-442.2578125 940.46484375 -442.2578125 940.46484375 -445.125 941.9375 C-448.43433232 943.64554249 -451.59336733 945.36995891 -454.6875 947.4375 C-459.09668867 949.51730598 -461.2992257 949.05362183 -466 948 C-470.78329162 943.21670838 -469.22931945 926.53823335 -469.25 920.0625 C-469.15574204 900.0619357 -468.53635523 879.54600706 -464.72265625 859.87890625 C-463.94784412 855.72004977 -463.41859695 851.57538374 -462.9375 847.375 C-462.30391822 842.06547997 -461.37453025 837.15448842 -460 832 C-459.6927311 830.23180715 -459.4030261 828.46052612 -459.125 826.6875 C-458.23970965 821.1720006 -457.1515269 815.71472079 -456 810.25 C-455.83387207 809.45811279 -455.66774414 808.66622559 -455.49658203 807.8503418 C-454.69891776 804.10006481 -453.8493033 800.38040271 -452.875 796.671875 C-451.84546196 792.98060729 -451.84546196 792.98060729 -452 789 C-454.43826227 787.03764898 -454.43826227 787.03764898 -457.5 785.375 C-459.36205521 784.29820545 -461.2040175 783.18371574 -463 782 C-463 781.34 -463 780.68 -463 780 C-464.32 779.67 -465.64 779.34 -467 779 C-467 778.34 -467 777.68 -467 777 C-467.56460938 776.74347656 -468.12921875 776.48695313 -468.7109375 776.22265625 C-476.8448459 771.87809425 -484.59313412 764.57044543 -491 758 C-491 757.34 -491 756.68 -491 756 C-491.58136719 755.73445312 -492.16273438 755.46890625 -492.76171875 755.1953125 C-499.77475076 751.4501331 -508.45801261 743.62596218 -511 736 C-511.66 736 -512.32 736 -513 736 C-519.73644065 728.0327362 -527.13518616 717.18490763 -526.95703125 706.3984375 C-526.50236932 704.13678586 -525.85070141 702.14142079 -525 700 C-524.608125 698.741875 -524.21625 697.48375 -523.8125 696.1875 C-520.10681784 686.91407648 -514.68589507 679.15234432 -507.8203125 671.9609375 C-505.94587973 670.12571952 -505.94587973 670.12571952 -505 668 C-504.34 668 -503.68 668 -503 668 C-502.34 666.68 -501.68 665.36 -501 664 C-500.34 664 -499.68 664 -499 664 C-499 663.34 -499 662.68 -499 662 C-497.49609375 660.5546875 -497.49609375 660.5546875 -495.4375 658.875 C-488.93395298 653.30713203 -483.84403102 648.60547807 -482 640 C-481.29667616 638.09127454 -480.59066802 636.18344907 -479.86474609 634.28320312 C-478.32296097 630.21240288 -476.88375564 626.10549989 -475.4375 622 C-475.13392578 621.14921875 -474.83035156 620.2984375 -474.51757812 619.421875 C-472.94889081 614.96529928 -471.58313133 610.54941655 -470.49438477 605.953125 C-469.79198133 603.17819786 -468.89230623 600.47986891 -467.99609375 597.76245117 C-464.99036912 588.64790596 -462.52654032 579.45981873 -460.25756836 570.13696289 C-458.56594136 563.19935416 -456.73331406 556.31488718 -454.8125 549.4375 C-452.4778998 541.00588437 -450.53072135 532.61941901 -449 524 C-448.86464844 523.24686523 -448.72929687 522.49373047 -448.58984375 521.71777344 C-447.70886421 516.81484453 -446.8471866 511.90887557 -446 507 C-446.77730469 506.7009375 -447.55460937 506.401875 -448.35546875 506.09375 C-450.97730584 505.00938606 -452.88400558 503.88088392 -455 502 C-455 501.34 -455 500.68 -455 500 C-455.99 500 -456.98 500 -458 500 C-458.33 498.68 -458.66 497.36 -459 496 C-459.66 496 -460.32 496 -461 496 C-464.77637658 489.71758758 -467.93053801 484.41854054 -468 477 C-468.03738281 476.14664062 -468.07476562 475.29328125 -468.11328125 474.4140625 C-468.48773606 460.34244499 -465.00889936 450.55881055 -455.34765625 440.33203125 C-447.5804701 432.61654019 -439.82196243 429.21877311 -428.75 428.5625 C-415.82150458 429.17255605 -405.39882548 433.05501189 -396 442 C-390 448.64528302 -390 448.64528302 -390 452 C-389.34 452 -388.68 452 -388 452 C-385.605971 459.01977994 -384.71338539 465.45418403 -385.125 472.8125 C-385.15907959 473.51689209 -385.19315918 474.22128418 -385.22827148 474.94702148 C-385.59554995 479.87249838 -386.87338226 483.54654861 -389 488 C-389.474375 489.19625 -389.94875 490.3925 -390.4375 491.625 C-392.49205666 496.06284239 -395.28860281 499.79470242 -399 503 C-399.66 503 -400.32 503 -401 503 C-397.31265974 522.81848353 -392.90241242 542.25354178 -383 560 C-382.60296875 560.78117188 -382.2059375 561.56234375 -381.796875 562.3671875 C-376.40518107 572.75518447 -368.74239899 581.50506734 -359 588 C-358.01 588 -357.02 588 -356 588 C-355.59394531 587.01386719 -355.18789063 586.02773438 -354.76953125 585.01171875 C-352.97093436 580.8171 -350.85386595 576.82639267 -348.6875 572.8125 C-346.08436125 567.94514834 -343.50612852 563.0750932 -341.0625 558.125 C-338.9577169 553.86324909 -336.76422107 549.6584503 -334.52905273 545.46435547 C-330.03328255 537.02202162 -325.81195304 528.49206618 -321.7487793 519.83374023 C-318.62727165 513.22023223 -315.27640288 506.75936539 -311.82470703 500.31347656 C-308.49151556 494.04275554 -305.40934185 487.66996792 -302.375 481.25 C-299.02604263 474.16580156 -295.58816459 467.17087411 -291.84716797 460.28588867 C-288.40327724 453.94266913 -285.20313951 447.48338959 -282 441.01611328 C-280.341872 437.67313939 -278.6702896 434.33690913 -277 431 C-276.33326822 429.66669922 -275.66660157 428.33336588 -275 427 C-258.33333333 393.66666667 -241.66666667 360.33333333 -225 327 C-224.4946875 325.97648437 -223.989375 324.95296875 -223.46875 323.8984375 C-221.49280544 319.9991001 -219.34690269 316.20178289 -217.20703125 312.390625 C-215.84976305 310.14878688 -215.84976305 310.14878688 -216 308 C-234.4862012 299.86230838 -254.4837827 295.00405145 -274 290 C-274.71607422 289.81550293 -275.43214844 289.63100586 -276.16992188 289.44091797 C-283.02433341 287.67940447 -289.88079259 285.9985829 -296.8125 284.5625 C-302.53399845 283.35382524 -308.2090355 282.00629202 -313.875 280.5625 C-314.65979736 280.36922119 -315.44459473 280.17594238 -316.25317383 279.97680664 C-321.5854855 278.5915482 -326.14322782 276.60539829 -331 274 C-331 273.34 -331 272.68 -331 272 C-332.32 271.67 -333.64 271.34 -335 271 C-337.65477768 253.46795336 -330.35917119 242.03875678 -321 228 C-320.34 228 -319.68 228 -319 228 C-318.88527344 227.42765625 -318.77054688 226.8553125 -318.65234375 226.265625 C-317.93817644 223.78528344 -316.92692128 221.93631303 -315.5625 219.75 C-315.13066406 219.04359375 -314.69882812 218.3371875 -314.25390625 217.609375 C-313.63322266 216.81273437 -313.63322266 216.81273437 -313 216 C-312.34 216 -311.68 216 -311 216 C-310.90138672 215.17822266 -310.90138672 215.17822266 -310.80078125 214.33984375 C-309.66093281 211.00926221 -307.59807305 209.10718985 -305.1875 206.5625 C-301.41911204 202.56186589 -301.41911204 202.56186589 -297.98828125 198.27734375 C-295.08999057 194.95769058 -292.55358472 194.1692023 -288.23828125 193.69921875 C-276.44821866 193.65199554 -267.90067455 197.35901384 -257.578125 202.67578125 C-251.54898373 205.76912056 -245.4070806 208.62620452 -239.27026367 211.49829102 C-235.54272896 213.25575579 -231.87227934 215.02315722 -228.31640625 217.109375 C-224.95462792 219.02586582 -221.56565709 220.50369747 -218 222 C-215.65626918 223.1501642 -213.32528134 224.31404251 -211 225.5 C-203.00026758 229.54692346 -194.9146288 233.40564782 -186.80664062 237.23046875 C-185.86626953 237.67648437 -184.92589844 238.1225 -183.95703125 238.58203125 C-183.12147705 238.97624268 -182.28592285 239.3704541 -181.42504883 239.77661133 C-179 241 -179 241 -176.4284668 242.5456543 C-174.36993907 243.7784531 -172.39984858 244.77653294 -170.1875 245.6875 C-169.135625 246.120625 -168.08375 246.55375 -167 247 C-166.5153125 246.030625 -166.030625 245.06125 -165.53125 244.0625 C-165.21164307 243.4233667 -164.89203613 242.7842334 -164.56274414 242.12573242 C-163.84292095 240.68592067 -163.12336516 239.2459752 -162.40405273 237.8059082 C-160.61004973 234.21518107 -158.81308971 230.62607422 -157.00390625 227.04296875 C-153.76066678 220.60703804 -150.58774827 214.15030289 -147.53930664 207.61938477 C-144.41994879 200.93654158 -141.33000143 194.39450512 -137.2890625 188.203125 C-135.91744116 185.85889944 -134.89586111 183.43987413 -133.85253906 180.93603516 C-132.28579124 177.37809981 -130.40645694 173.98259375 -128.5625 170.5625 C-123.23893263 160.71973076 -123.23893263 160.71973076 -118.5625 150.5625 C-117.00874931 147.01994842 -115.22465875 143.74492658 -113.28125 140.40625 C-112.0162233 138.03046814 -110.96966607 135.60793761 -109.92822266 133.12792969 C-107.44308849 127.43081517 -104.64234135 121.86950857 -101.93945312 116.2734375 C-101.22499023 114.7884375 -101.22499023 114.7884375 -100.49609375 113.2734375 C-100.06482178 112.38060059 -99.6335498 111.48776367 -99.18920898 110.56787109 C-98.79677002 109.72047363 -98.40433105 108.87307617 -98 108 C-97.59096436 107.1551001 -97.18192871 106.3102002 -96.76049805 105.43969727 C-95.84617026 102.50651025 -96.1486576 101.4807267 -97.3359375 98.69140625 C-97.65908936 97.87293213 -97.98224121 97.05445801 -98.31518555 96.21118164 C-98.66492432 95.3371167 -99.01466309 94.46305176 -99.375 93.5625 C-106.07235532 75.22009193 -104.39598863 57.52131943 -96.31445312 39.89770508 C-90.94388124 28.72079122 -83.67104184 19.77517681 -74 12 C-73.13375 11.2575 -72.2675 10.515 -71.375 9.75 C-68.68783135 7.76998099 -66.02159495 6.42528064 -63 5 C-61.90171875 4.41025391 -61.90171875 4.41025391 -60.78125 3.80859375 C-55.38276741 0.9470563 -50.18663992 -0.97144593 -44.25 -2.421875 C-29.88719979 -6.11231672 -14.19136265 -4.61617232 0 0 Z " fill="#260500" transform="translate(771,40)"/><path d="M0 0 C2.31 0 4.62 0 7 0 C7.14695312 0.67160156 7.29390625 1.34320312 7.4453125 2.03515625 C8.26751471 5.69726379 9.12722073 9.34969675 10 13 C10.29801514 14.25466064 10.29801514 14.25466064 10.60205078 15.53466797 C17.76260015 45.3193351 27.6950159 75.88974242 55 93 C77.94441313 106.44384878 106.03826812 111.58423373 132.22290039 105.56591797 C135.8901237 104.55386342 139.44959821 103.36449151 143 102 C143.68368652 101.74299316 144.36737305 101.48598633 145.07177734 101.22119141 C149.83747077 99.38545847 154.43522781 97.2869646 159 95 C159.97549805 94.51321777 159.97549805 94.51321777 160.97070312 94.01660156 C181.63410126 83.50168025 200.23352594 67.83299423 215 50 C220.48863636 52.69318182 220.48863636 52.69318182 222 55 C221.54949157 59.49367901 220.63160045 63.85061762 219.64160156 68.24853516 C215.78597596 85.51867667 213.72415706 102.3615967 213.6875 120.0625 C213.68391479 120.75901672 213.68032959 121.45553345 213.67663574 122.17315674 C213.62600744 140.41819815 215.68580329 159.00348771 228.01171875 173.33984375 C244.72433529 189.93896205 270.09762763 193.21299603 292.57128906 193.32788086 C301.83451185 193.23536519 310.64233633 191.79174384 319.703125 189.97265625 C325.10626205 188.90358093 330.51083311 188.39576444 336 188 C336.66 189.65 337.32 191.3 338 193 C325.56061853 203.6321143 325.56061853 203.6321143 320.5625 207.4375 C311.83712484 214.13446692 303.42263536 221.31916387 295.7734375 229.2265625 C294.00693361 230.99306639 292.16534458 232.58486474 290.25 234.1875 C285.57075324 238.22164672 281.48835589 242.77793126 277.34375 247.34375 C275.0228741 249.89782395 272.66669136 252.41237948 270.28125 254.90625 C263.30306137 262.21270884 256.72146361 269.6206789 250.5859375 277.6484375 C246.56522943 282.90770851 242.26996474 287.94273157 238 293 C234.30372246 289.41028182 230.96715628 285.65724087 227.6875 281.6875 C220.19065481 272.7504978 212.12320314 265.2801318 203 258 C201.86373465 257.07395704 200.72835261 256.14682944 199.59375 255.21875 C190.71639416 247.98971915 181.56319623 241.21102371 172.22900391 234.58496094 C170.10909661 233.0775745 167.99709456 231.55975207 165.88671875 230.0390625 C147.8534187 217.10208273 129.14390733 205.21680924 110 194 C109.02224609 193.42282227 108.04449219 192.84564453 107.03710938 192.25097656 C63.25983106 166.43747797 17.61754275 143.08777146 -33 135 C-34.602174 131.01942419 -33.25914616 127.86565746 -31.9296875 124.01953125 C-31.44646371 122.55622819 -30.96374258 121.09275908 -30.48144531 119.62915039 C-30.22028931 118.84814972 -29.9591333 118.06714905 -29.69006348 117.26248169 C-17.46813261 80.52484382 -8.23687779 43.01288472 -1 5 C-0.6689971 3.33286894 -0.33670027 1.66598974 0 0 Z " fill="#C96900" transform="translate(344,551)"/><path d="M0 0 C0.99 0.495 0.99 0.495 2 1 C1.63648438 2.46179688 1.63648438 2.46179688 1.265625 3.953125 C-3.53111662 23.91461566 -6.37849636 43.90427585 -6.375 64.4375 C-6.37681274 65.12329132 -6.37862549 65.80908264 -6.38049316 66.51565552 C-6.3750451 84.63129085 -4.21211413 103.12222066 8.01171875 117.33984375 C24.72433529 133.93896205 50.09762763 137.21299603 72.57128906 137.32788086 C81.83451185 137.23536519 90.64233633 135.79174384 99.703125 133.97265625 C105.10626205 132.90358093 110.51083311 132.39576444 116 132 C116.99 134.475 116.99 134.475 118 137 C105.56061853 147.6321143 105.56061853 147.6321143 100.5625 151.4375 C91.83712484 158.13446692 83.42263536 165.31916387 75.7734375 173.2265625 C74.00693361 174.99306639 72.16534458 176.58486474 70.25 178.1875 C65.57075324 182.22164672 61.48835589 186.77793126 57.34375 191.34375 C55.0228741 193.89782395 52.66669136 196.41237948 50.28125 198.90625 C43.30306137 206.21270884 36.72146361 213.6206789 30.5859375 221.6484375 C26.56522943 226.90770851 22.26996474 231.94273157 18 237 C14.30372246 233.41028182 10.96715628 229.65724087 7.6875 225.6875 C0.19065481 216.7504978 -7.87679686 209.2801318 -17 202 C-18.13626535 201.07395704 -19.27164739 200.14682944 -20.40625 199.21875 C-28.65752555 192.50103582 -37.14425023 186.18215336 -45.80859375 180.0078125 C-57.14826233 171.89038795 -57.14826233 171.89038795 -60.32421875 168.5703125 C-65.18144425 163.90453968 -71.10610011 160.58899388 -76.77929688 156.99609375 C-77.70419922 156.39667969 -78.62910156 155.79726563 -79.58203125 155.1796875 C-80.42999268 154.64069824 -81.2779541 154.10170898 -82.15161133 153.54638672 C-82.76157959 153.0360791 -83.37154785 152.52577148 -84 152 C-84 151.01 -84 150.02 -84 149 C-82.329375 148.38125 -82.329375 148.38125 -80.625 147.75 C-79.8928125 147.47285156 -79.160625 147.19570313 -78.40625 146.91015625 C-76.80550431 146.30467939 -75.20129986 145.708267 -73.59375 145.12109375 C-62.04877095 140.75519186 -47.76962832 133.48358582 -42 122 C-40.48976523 117.06552152 -39.45794587 112.05231953 -38.4375 107 C-37.87996285 104.33199501 -37.31364487 101.66589068 -36.74609375 99 C-36.6061499 98.33704422 -36.46620605 97.67408844 -36.32202148 96.99104309 C-34.8096782 89.92170877 -32.92997897 82.96677682 -31 76 C-30.71084717 74.94506348 -30.42169434 73.89012695 -30.1237793 72.80322266 C-29.29857494 69.80410323 -28.46381246 66.80783991 -27.625 63.8125 C-27.32972412 62.75458252 -27.03444824 61.69666504 -26.73022461 60.60668945 C-24.52907746 52.76594807 -22.22122363 44.96145668 -19.77783203 37.19262695 C-19.54306152 36.43167725 -19.30829102 35.67072754 -19.06640625 34.88671875 C-18.85959229 34.22889404 -18.65277832 33.57106934 -18.43969727 32.89331055 C-17.84918869 30.67456489 -17.84918869 30.67456489 -18 27 C-23.445 31.95 -23.445 31.95 -29 37 C-29.99 36.505 -29.99 36.505 -31 36 C-29.60587891 34.7315625 -29.60587891 34.7315625 -28.18359375 33.4375 C-21.77188764 27.56804301 -15.47982791 21.77300264 -10 15 C-8.8553125 13.6696875 -8.8553125 13.6696875 -7.6875 12.3125 C-5.95392569 9.93686112 -5.01213486 7.74722319 -4 5 C-3.34 4.01 -2.68 3.02 -2 2 C-1.34 2 -0.68 2 0 2 C0 1.34 0 0.68 0 0 Z " fill="#A53F00" transform="translate(564,607)"/><path d="M0 0 C1.44215244 0.47645831 2.88394179 0.95401568 4.32557678 1.43203735 C5.52997957 1.83077025 5.52997957 1.83077025 6.75871372 2.23755836 C9.26053287 3.08862817 11.69223711 4.0451807 14.12109375 5.0859375 C14.99443359 5.45976562 15.86777344 5.83359375 16.76757812 6.21875 C17.64865234 6.6003125 18.52972656 6.981875 19.4375 7.375 C20.31470703 7.74882812 21.19191406 8.12265625 22.09570312 8.5078125 C28.17738889 11.12513342 34.10870145 13.97951167 40 17 C38.34378275 21.22538478 36.42429601 25.26614494 34.375 29.3125 C33.73685555 30.57936482 33.09884257 31.84629588 32.4609375 33.11328125 C32.10439087 33.82038239 31.74784424 34.52748352 31.38049316 35.25601196 C29.785767 38.42582811 28.19787849 41.59903626 26.61132812 44.77294922 C26.26762114 45.460451 25.92391415 46.14795279 25.56979179 46.85628796 C21.95384538 54.09032823 18.34164064 61.32623647 14.72931671 68.56208611 C10.06739926 77.900177 5.40351923 87.2372869 0.73889351 96.57402515 C-2.37975256 102.81646513 -5.49763802 109.05928288 -8.61376953 115.30297852 C-11.65561299 121.39781783 -14.6996321 127.49156669 -17.74490738 133.584692 C-18.89286904 135.88244113 -20.04013534 138.18053782 -21.18664169 140.47901344 C-26.38862445 150.90679864 -31.60089882 161.32108738 -37.07275391 171.61035156 C-42.22400027 181.30590579 -47.02891497 191.16150173 -51.82624817 201.03581047 C-55.02044585 207.59581796 -58.2481673 214.13943021 -61.46961212 220.68608761 C-64.28241878 226.40700902 -67.08307245 232.13332711 -69.85986328 237.87182617 C-72.57317337 243.47742049 -75.31753288 249.06679451 -78.08369446 254.64648628 C-79.12525106 256.7615547 -80.15545295 258.88225575 -81.17375183 261.00861931 C-82.59481032 263.97178282 -84.05481577 266.91248607 -85.52539062 269.85131836 C-85.9319136 270.72345978 -86.33843658 271.5956012 -86.75727844 272.49417114 C-89.70980557 278.25181396 -92.58317121 280.33508131 -98.73221588 282.34439945 C-99.48058464 282.56074763 -100.2289534 282.77709581 -101 283 C-102.38251953 283.51820313 -102.38251953 283.51820313 -103.79296875 284.046875 C-110.77188683 286.09614948 -117.59193655 286.28298893 -124.8125 286.3125 C-126.29882935 286.32071777 -126.29882935 286.32071777 -127.81518555 286.32910156 C-133.27176171 286.27566443 -137.74579497 285.62673523 -143 284 C-137.05526512 271.22829552 -130.82496414 258.63103817 -124.3772583 246.10632324 C-114.3844236 226.69067538 -104.55171504 207.19870015 -94.83935547 187.64135742 C-90.20641572 178.32512102 -85.48860763 169.06611366 -80.61550903 159.87310791 C-76.440883 151.98244905 -72.46049843 143.99971949 -68.5 136 C-64.63364598 128.19044062 -60.75952734 120.39057468 -56.66945457 112.69516468 C-50.27081702 100.6549753 -44.17096665 88.47035374 -38.0859375 76.26953125 C-36.97939414 74.05457383 -35.87267079 71.83970632 -34.76577759 69.62492371 C-31.88715106 63.86389682 -29.01093105 58.10167191 -26.13525391 52.33917236 C-23.1867072 46.43175291 -20.23582626 40.52549972 -17.28515625 34.61914062 C-11.52118479 23.08055123 -5.75968171 11.54073124 0 0 Z " fill="#807162" transform="translate(578,355)"/><path d="M0 0 C42.15111705 11.95330185 81.04525198 36.33153025 118.09841919 59.00558472 C121.50120148 61.08731059 124.91086013 63.15698736 128.328125 65.21484375 C136.06498213 69.88258045 143.62470273 74.68791365 151.0078125 79.8984375 C153.89009851 81.9228107 156.80852724 83.87543257 159.75 85.8125 C178.04127729 97.97463707 196.22472473 110.64910597 212 126 C212.60618164 126.58571777 213.21236328 127.17143555 213.83691406 127.77490234 C217.73030712 131.55046134 221.56536355 135.37470038 225.33349609 139.27539062 C226.810923 140.80433051 228.304698 142.31743564 229.80078125 143.828125 C234.76649303 149.28268923 234.76649303 149.28268923 235.30859375 153.26953125 C233.67034802 165.77411576 223.68199542 182.39513081 214.26171875 190.296875 C213.51535156 190.85890625 212.76898437 191.4209375 212 192 C211.57332031 191.175 211.14664062 190.35 210.70703125 189.5 C199.05570589 167.97507727 181.32186278 149.75849266 161.71289062 135.27734375 C160.03132735 134.02336156 158.38107983 132.73680703 156.734375 131.4375 C96.77265376 84.63107865 21.6004146 40.82725481 -54 28 C-55.92972656 27.66355469 -55.92972656 27.66355469 -57.8984375 27.3203125 C-60.59652115 26.86119803 -63.29527168 26.41780356 -66 26 C-62.12650392 17.60742515 -55.20262387 11.0235039 -48.75 4.5625 C-48.14768555 3.95937988 -47.54537109 3.35625977 -46.92480469 2.73486328 C-33.58722186 -10.43553536 -16.70773264 -4.50852713 0 0 Z " fill="#AB5100" transform="translate(336,710)"/><path d="M0 0 C3.38584677 0.20098634 5.40082158 0.8505082 8.44506836 2.29125977 C9.93707764 2.98783691 9.93707764 2.98783691 11.45922852 3.69848633 C12.52834473 4.2125 13.59746094 4.72651367 14.69897461 5.25610352 C15.82480957 5.786875 16.95064453 6.31764648 18.1105957 6.86450195 C21.18487491 8.31917113 24.25322473 9.78495139 27.31817627 11.25909424 C29.29495262 12.2097027 31.27296847 13.15769178 33.2512207 14.10522461 C68.2221493 30.86827769 68.2221493 30.86827769 82.22583008 38.38134766 C90.16833243 42.63909822 98.20873131 46.62203391 106.35449219 50.47631836 C112.59564706 53.43231103 118.81220289 56.43214303 125.01147461 59.47485352 C143.27486951 68.43344275 161.59702581 77.09365827 180.26147461 85.19360352 C184.26345198 86.93910534 188.26315747 88.68973453 192.26147461 90.44360352 C193.26597656 90.88406006 194.27047852 91.3245166 195.30541992 91.77832031 C208.1072318 97.41465703 220.80735677 103.27492201 233.52085876 109.10681152 C240.75480033 112.42343664 248.00059058 115.71373878 255.2477417 119.00137329 C260.61448068 121.4368918 265.97869398 123.87796787 271.34246826 126.32000732 C272.61650959 126.89999376 273.89063811 127.47978868 275.16485596 128.05938721 C279.32498105 129.95194906 283.48152747 131.85219179 287.63647461 133.75610352 C288.65749268 134.22048828 289.67851074 134.68487305 290.73046875 135.16333008 C297.40341242 138.23091548 303.8575878 141.59875481 310.26147461 145.19360352 C310.60700099 151.62627551 309.53831852 156.48831938 307.32397461 162.50610352 C307.01621094 163.36115479 306.70844727 164.21620605 306.39135742 165.09716797 C304.0325602 171.48099901 301.37787014 177.70964472 298.51147461 183.88110352 C298.13514893 184.70070557 297.75882324 185.52030762 297.37109375 186.36474609 C297.01007568 187.11651123 296.64905762 187.86827637 296.27709961 188.64282227 C295.80191895 189.6380188 295.80191895 189.6380188 295.31713867 190.65332031 C294.26147461 192.19360352 294.26147461 192.19360352 291.26147461 193.19360352 C289.64599609 192.3359375 289.64599609 192.3359375 287.88256836 190.93969727 C287.219104 190.42270264 286.55563965 189.90570801 285.87207031 189.37304688 C285.15494873 188.79820557 284.43782715 188.22336426 283.69897461 187.63110352 C282.55851685 186.74080444 282.55851685 186.74080444 281.39501953 185.83251953 C277.63399913 182.89164971 273.90710908 179.9098477 270.19116211 176.91235352 C256.19970781 165.71213217 241.27531318 155.95158447 226.26147461 146.19360352 C225.32029785 145.58178223 224.37912109 144.96996094 223.40942383 144.33959961 C151.02424248 97.52352193 71.01110608 62.36914861 -13.42114258 44.41308594 C-14.08608231 44.27157608 -14.75102203 44.13006622 -15.43611145 43.98426819 C-17.24793914 43.60009616 -19.06047114 43.2192501 -20.87304688 42.83862305 C-23.73852539 42.19360352 -23.73852539 42.19360352 -26.73852539 41.19360352 C-26.33162257 35.08013673 -23.44174613 30.77212338 -20.30102539 25.69360352 C-19.76695068 24.81663818 -19.23287598 23.93967285 -18.68261719 23.03613281 C-4.69967793 0.33224967 -4.69967793 0.33224967 0 0 Z " fill="#B55300" transform="translate(486.738525390625,256.806396484375)"/><path d="M0 0 C0.83015625 0.57363281 1.6603125 1.14726563 2.515625 1.73828125 C13.36758982 9.77739016 22.11906432 21.62389972 25 35 C26.43863189 52.81125496 23.86644388 66.85119802 12.37890625 80.99609375 C5.24829138 88.67390209 -4.16159801 93.69283447 -14 97 C-15.216875 97.4125 -16.43375 97.825 -17.6875 98.25 C-35.03820018 102.13291879 -51.18899388 96.62000556 -66 88 C-68.84211703 86.16482934 -71.42990415 84.19427994 -74 82 C-74.5878125 81.55398437 -75.175625 81.10796875 -75.78125 80.6484375 C-85.75215526 72.82040223 -93.26473492 59.59849987 -95 47 C-96.53673321 32.20007709 -90.73095479 18.64704521 -82 7 C-61.80586015 -16.53145133 -24.2885376 -17.15683612 0 0 Z " fill="#BF4600" transform="translate(784,69)"/><path d="M0 0 C3.78886817 0.60020833 6.73823011 1.70391322 10.1328125 3.4765625 C11.09952881 3.97961914 12.06624512 4.48267578 13.06225586 5.00097656 C14.07296143 5.5369043 15.08366699 6.07283203 16.125 6.625 C17.15439697 7.16608398 18.18379395 7.70716797 19.24438477 8.26464844 C26.05590926 11.87802314 32.6246696 15.65866743 39 20 C33.57805219 32.275436 28.06258035 44.50382378 22.4375 56.6875 C22.05181854 57.52361816 21.66613708 58.35973633 21.26876831 59.22119141 C14.24514537 74.4351114 7.00208734 89.53366367 -0.34521484 104.59326172 C-2.84306412 109.73563244 -5.29585315 114.8991727 -7.75 120.0625 C-11.79400916 128.5592612 -15.97169497 136.98278323 -20.20336914 145.38745117 C-23.62124058 152.19258252 -26.89095371 159.04728045 -30 166 C-29.70456299 165.52916992 -29.40912598 165.05833984 -29.10473633 164.57324219 C-23.30405656 155.33755408 -17.46113921 146.13308849 -11.5 137 C-5.23541146 127.39392485 0.91404771 117.72009562 7 108 C7.48871582 107.22205078 7.97743164 106.44410156 8.48095703 105.64257812 C21.68370509 84.60461494 34.39544177 63.22947538 46.70361328 41.65576172 C48.99273354 37.65865712 51.39965456 33.80278308 54 30 C80.54255319 46.54255319 80.54255319 46.54255319 88 54 C87.67994557 59.46759653 86.38584619 62.49417944 83 66.75 C82.39442261 67.52077881 82.39442261 67.52077881 81.77661133 68.30712891 C80.53193459 69.8827364 79.26603432 71.44150193 78 73 C77.28199219 73.89976562 76.56398438 74.79953125 75.82421875 75.7265625 C73.57880783 78.50972265 71.29186507 81.25500475 69 84 C68.21109375 84.97582031 67.4221875 85.95164062 66.609375 86.95703125 C59.85392215 95.1926257 52.44552761 102.76958017 44.9375 110.3125 C44.43088837 110.82428802 43.92427673 111.33607605 43.40231323 111.8633728 C37.33346943 117.98103327 31.13398337 123.68577152 24.39135742 129.07202148 C21.51937876 131.38749014 18.86088269 133.83388362 16.1875 136.375 C9.78299197 142.34564404 2.97526391 147.71570916 -4 153 C-4.60215332 153.45906738 -5.20430664 153.91813477 -5.82470703 154.39111328 C-12.95699976 159.80816456 -20.23086756 164.91625603 -27.8125 169.6875 C-28.50069824 170.12199463 -29.18889648 170.55648926 -29.89794922 171.00415039 C-34.74639061 174 -34.74639061 174 -37 174 C-38.45894829 113.98859387 -22.75547512 55.12347813 0 0 Z " fill="#5D4F41" transform="translate(359,785)"/><path d="M0 0 C2.31 0 4.62 0 7 0 C7.14695312 0.67160156 7.29390625 1.34320312 7.4453125 2.03515625 C8.26751471 5.69726379 9.12722073 9.34969675 10 13 C10.29801514 14.25466064 10.29801514 14.25466064 10.60205078 15.53466797 C17.76260015 45.3193351 27.6950159 75.88974242 55 93 C77.94441313 106.44384878 106.03826812 111.58423373 132.22290039 105.56591797 C135.8901237 104.55386342 139.44959821 103.36449151 143 102 C143.68368652 101.74299316 144.36737305 101.48598633 145.07177734 101.22119141 C149.83747077 99.38545847 154.43522781 97.2869646 159 95 C159.97549805 94.51321777 159.97549805 94.51321777 160.97070312 94.01660156 C181.63410126 83.50168025 200.23352594 67.83299423 215 50 C217.8605891 51.35937085 219.85927699 52.64520469 222 55 C221.67 55.66 221.34 56.32 221 57 C220.01 57.33 219.02 57.66 218 58 C216.75505424 60.0504989 215.9760515 62.07031936 215.203125 64.33984375 C213.81390182 67.41147032 212.11646021 69.35785048 209.8125 71.8125 C207.03557387 74.79626532 204.33581441 77.7878614 201.75 80.9375 C181.2674196 104.1541805 147.27409033 123.94502897 116 126 C88.89952085 127.53889986 62.03864285 121.1400676 41.14233398 103.00537109 C23.69876661 87.13635582 13.04505332 66.25217814 6 44 C5.98541748 44.5990918 5.97083496 45.19818359 5.95581055 45.81542969 C5.18546501 74.87623859 2.74130617 103.72225575 -1.68041992 132.45507812 C-2.08306469 135.23398677 -2.08306469 135.23398677 -2 139 C0.97 139.99 3.94 140.98 7 142 C3.23281253 142.94179687 2.46685091 143.11145512 -0.94921875 142.109375 C-1.7074292 141.89563232 -2.46563965 141.68188965 -3.24682617 141.46166992 C-4.05224854 141.22681885 -4.8576709 140.99196777 -5.6875 140.75 C-14.71806894 138.23153209 -23.74512164 136.45755447 -33 135 C-34.602174 131.01942419 -33.25914616 127.86565746 -31.9296875 124.01953125 C-31.44646371 122.55622819 -30.96374258 121.09275908 -30.48144531 119.62915039 C-30.22028931 118.84814972 -29.9591333 118.06714905 -29.69006348 117.26248169 C-17.46813261 80.52484382 -8.23687779 43.01288472 -1 5 C-0.6689971 3.33286894 -0.33670027 1.66598974 0 0 Z " fill="#E1990A" transform="translate(344,551)"/><path d="M0 0 C42.14726556 11.95220964 81.04078372 36.32682467 118.08935547 59.00105286 C121.51735906 61.09814639 124.95357472 63.18073089 128.3984375 65.25 C136.55585116 70.16115506 144.44125916 75.1894261 152 81 C149.10765685 81.82638376 147.11257569 82 144 82 C144 81.34 144 80.68 144 80 C143.071875 79.896875 142.14375 79.79375 141.1875 79.6875 C138 79 138 79 136.72265625 77.5703125 C133.47459568 74.60949538 128.82705941 74.32052343 124.640625 73.35546875 C119.99138403 72.12633439 115.61141828 70.2945357 111.16506958 68.47868347 C103.23639839 65.25256581 95.18200044 62.38667781 87.125 59.5 C85.6027816 58.9520534 84.08064598 58.40387678 82.55859375 57.85546875 C78.79329914 56.50001412 75.02549326 55.15171874 71.25646973 53.80667114 C68.96894306 52.98889738 66.68319753 52.16626788 64.39746094 51.34350586 C57.33123642 48.8103842 50.30476203 46.32638882 43 44.5625 C41.42394543 44.16487001 39.84845548 43.76499755 38.2734375 43.36328125 C37.02578613 43.04544678 37.02578613 43.04544678 35.75292969 42.72119141 C29.2629254 41.02098986 22.81622336 39.15744443 16.36328125 37.32250977 C14.84154297 36.89216431 14.84154297 36.89216431 13.2890625 36.453125 C11.93868896 36.06882324 11.93868896 36.06882324 10.56103516 35.67675781 C6.67377995 34.64954414 2.87919504 33.9447266 -1.125 33.625 C-5.71799485 33.15039053 -9.97480262 31.97579531 -14.40234375 30.69921875 C-17.60189566 29.83798598 -20.7107814 29.36546873 -24 29 C-24 29.99 -24 30.98 -24 32 C-18.75614911 33.7479503 -14.52677733 34.19392201 -9 34 C-9 34.66 -9 35.32 -9 36 C-6.17345166 37.51007377 -3.46002988 38.52083863 -0.375 39.375 C4.90125339 40.90605567 9.9367873 42.87775978 15 45 C15 45.66 15 46.32 15 47 C16.41396902 47.50757862 17.83131729 48.00574925 19.25 48.5 C20.03890625 48.7784375 20.8278125 49.056875 21.640625 49.34375 C24.23412738 50.17864861 24.23412738 50.17864861 28 50 C28 50.66 28 51.32 28 52 C29.65 52.33 31.3 52.66 33 53 C33 53.66 33 54.32 33 55 C33.76054687 55.21527344 34.52109375 55.43054688 35.3046875 55.65234375 C40.46462411 57.53413881 45.24332231 60.05751296 50.125 62.5625 C52.08401883 63.56755073 54.04488727 64.56900649 56.0078125 65.56640625 C56.87035645 66.00927979 57.73290039 66.45215332 58.62158203 66.90844727 C60.7594515 67.88960251 62.70368524 68.52672136 65 69 C65 69.66 65 70.32 65 71 C65.99 71 66.98 71 68 71 C68 71.66 68 72.32 68 73 C68.80824219 73.226875 69.61648438 73.45375 70.44921875 73.6875 C74.8914773 75.32952296 78.75559294 77.57899834 82.8125 80 C83.58787109 80.45117188 84.36324219 80.90234375 85.16210938 81.3671875 C90.87211762 84.74423525 90.87211762 84.74423525 92 87 C88.12671061 85.55068602 84.61342918 83.75499293 81.01171875 81.7265625 C79.83144487 81.06581978 78.65101844 80.40534951 77.47045898 79.74511719 C76.8543576 79.39944702 76.23825623 79.05377686 75.60348511 78.69763184 C47.19892382 62.79581892 18.21161045 48.84748921 -12.6875 38.5 C-13.42850952 38.25024414 -14.16951904 38.00048828 -14.9329834 37.74316406 C-28.88017735 33.07057097 -42.98092209 29.34187194 -57.5625 27.25 C-58.80676758 27.06244141 -58.80676758 27.06244141 -60.07617188 26.87109375 C-62.04985093 26.57447146 -64.02478279 26.28620052 -66 26 C-62.12650392 17.60742515 -55.20262387 11.0235039 -48.75 4.5625 C-48.14768555 3.95937988 -47.54537109 3.35625977 -46.92480469 2.73486328 C-33.58722186 -10.43553536 -16.70773264 -4.50852713 0 0 Z " fill="#E09709" transform="translate(336,710)"/><path d="M0 0 C4.23429756 1.31061591 8.07407404 2.94356259 12 5 C10.39345654 9.24354662 8.42266367 13.26936801 6.375 17.3125 C5.73685555 18.57936482 5.09884257 19.84629588 4.4609375 21.11328125 C4.10439087 21.82038239 3.74784424 22.52748352 3.38049316 23.25601196 C1.785767 26.42582811 0.19787849 29.59903626 -1.38867188 32.77294922 C-1.73237886 33.460451 -2.07608585 34.14795279 -2.43020821 34.85628796 C-6.04615462 42.09032823 -9.65835936 49.32623647 -13.27068329 56.56208611 C-17.93260074 65.900177 -22.59648077 75.2372869 -27.26110649 84.57402515 C-30.37975256 90.81646513 -33.49763802 97.05928288 -36.61376953 103.30297852 C-39.65561299 109.39781783 -42.6996321 115.49156669 -45.74490738 121.584692 C-46.89286904 123.88244113 -48.04013534 126.18053782 -49.18664169 128.47901344 C-54.38862445 138.90679864 -59.60089882 149.32108738 -65.07275391 159.61035156 C-70.22400027 169.30590579 -75.02891497 179.16150173 -79.82624817 189.03581047 C-83.02044585 195.59581796 -86.2481673 202.13943021 -89.46961212 208.68608761 C-92.28241878 214.40700902 -95.08307245 220.13332711 -97.85986328 225.87182617 C-100.57317337 231.47742049 -103.31753288 237.06679451 -106.08369446 242.64648628 C-107.12525106 244.7615547 -108.15545295 246.88225575 -109.17375183 249.00861931 C-110.59481032 251.97178282 -112.05481577 254.91248607 -113.52539062 257.85131836 C-113.9319136 258.72345978 -114.33843658 259.5956012 -114.75727844 260.49417114 C-117.68414723 266.20177834 -120.52457701 268.32113793 -126.61052704 270.34439945 C-129.946229 271.25961719 -133.22738616 272.08380121 -136.625 272.75 C-137.83414062 272.99234375 -139.04328125 273.2346875 -140.2890625 273.484375 C-141.63097656 273.73960937 -141.63097656 273.73960937 -143 274 C-142.41415478 270.28373763 -141.37959521 267.49030295 -139.55078125 264.2109375 C-139.03942627 263.2830542 -138.52807129 262.3551709 -138.0012207 261.39916992 C-137.16530396 259.90220581 -137.16530396 259.90220581 -136.3125 258.375 C-131.35794964 249.37244715 -126.52262062 240.3203967 -121.8125 231.1875 C-120.6276623 228.89189708 -119.44276773 226.59632351 -118.2578125 224.30078125 C-117.69868164 223.21748535 -117.13955078 222.13418945 -116.56347656 221.01806641 C-114.46045044 216.95847726 -112.32667741 212.91561775 -110.1875 208.875 C-103.78103749 196.75368172 -97.54242626 184.54491977 -91.27056885 172.3536377 C-85.7693981 161.66229928 -80.24659621 150.98216648 -74.71386719 140.30712891 C-73.60184159 138.16133136 -72.49047393 136.01519268 -71.37988281 133.86865234 C-65.5065658 122.52105082 -59.51876054 111.25141888 -53.35864258 100.05688477 C-50.09949393 94.10249647 -46.99935783 88.08896716 -44 82 C-40.63833526 75.17632233 -37.11670191 68.47022094 -33.4375 61.8125 C-27.46405977 51.00247782 -21.8231945 40.03095937 -16.22631836 29.02270508 C-12.62499361 21.95979094 -8.92568998 14.96763958 -5.04296875 8.0546875 C-4.65426102 7.36222931 -4.26555328 6.66977112 -3.86506653 5.95632935 C-1.13183217 1.13183217 -1.13183217 1.13183217 0 0 Z " fill="#544637" transform="translate(606,367)"/><path d="M0 0 C4.95998472 0.61632946 8.93671966 2.79835629 13.3125 5.0625 C14.05306641 5.43955078 14.79363281 5.81660156 15.55664062 6.20507812 C17.37387522 7.13128157 19.18732404 8.06490629 21 9 C20.34 9.33 19.68 9.66 19 10 C18.31412672 11.99349499 17.65189674 13.99513714 17 16 C15.8001571 18.51831727 14.5739473 20.99513971 13.2890625 23.46875 C12.74295822 24.53162231 12.74295822 24.53162231 12.18582153 25.6159668 C11.00352545 27.91307438 9.81458527 30.20665985 8.625 32.5 C7.80103733 34.09566727 6.97714457 35.69137064 6.15332031 37.28710938 C1.33109187 46.60799373 -3.5859293 55.86893189 -8.66162109 65.0546875 C-12.56621889 72.13976257 -16.29536867 79.30862722 -20 86.5 C-26.15336924 98.43571909 -32.52230787 110.23792971 -39 122 C-41.23282065 126.06050556 -43.46107231 130.12348645 -45.6875 134.1875 C-46.20521973 135.12698486 -46.72293945 136.06646973 -47.25634766 137.03442383 C-47.73249512 137.90349365 -48.20864258 138.77256348 -48.69921875 139.66796875 C-49.12033936 140.43391357 -49.54145996 141.1998584 -49.9753418 141.98901367 C-51.1203221 144.11273979 -51.1203221 144.11273979 -52 147 C-51.34 147.33 -50.68 147.66 -50 148 C-50.89460937 148.20753906 -51.78921875 148.41507813 -52.7109375 148.62890625 C-64.79247675 151.70725154 -74.61937083 157.00259029 -81.1796875 167.97265625 C-85.93285834 176.9759251 -87.60588917 186.7328433 -85.3828125 196.79296875 C-84.35387266 201.56414869 -84.43904871 204.02715344 -86.92578125 208.33984375 C-89.68713113 212.13056321 -92.80890042 215.57027814 -96 219 C-96.7719873 219.85609863 -96.7719873 219.85609863 -97.55957031 220.72949219 C-105.54665923 229.53602912 -115.4994891 239.16649637 -127 243 C-125.62062154 238.49871345 -123.82719918 234.47516449 -121.65625 230.30078125 C-121.16873512 229.35912109 -121.16873512 229.35912109 -120.67137146 228.3984375 C-119.61852276 226.36753801 -118.55943514 224.33997025 -117.5 222.3125 C-116.76474448 220.89819216 -116.02980191 219.48372159 -115.29516602 218.0690918 C-113.51170438 214.63780791 -111.72294489 211.20932605 -109.93145752 207.78222656 C-109.12377141 206.236821 -108.31738332 204.69073718 -107.51123047 203.14453125 C-103.59783475 195.64096122 -99.63129914 188.16713283 -95.62109375 180.71484375 C-94.37220673 178.39333059 -93.12346225 176.07174155 -91.875 173.75 C-91.5592804 173.16310394 -91.24356079 172.57620789 -90.91827393 171.9715271 C-85.42495855 161.75127184 -80.08717812 151.45588148 -74.79025269 141.13275146 C-70.1592069 132.11300226 -65.41283813 123.16880701 -60.51147461 114.29248047 C-56.32744262 106.68219353 -52.3432647 98.97398129 -48.375 91.25 C-44.03917069 82.81387423 -39.64801474 74.42585801 -34.98339844 66.16601562 C-30.34283187 57.91025544 -25.94451709 49.52469582 -21.5161438 41.1539917 C-16.28573386 31.26872081 -11.00121478 21.41748007 -5.57861328 11.63574219 C-3.47792575 7.82470013 -1.46573986 4.11244726 0 0 Z " fill="#584A3A" transform="translate(632,381)"/><path d="M0 0 C0.66 0.28875 1.32 0.5775 2 0.875 C5.07412282 2.1021556 5.07412282 2.1021556 8.7097168 2.86083984 C12.9413457 3.90267 16.71449545 5.49260017 20.64453125 7.3515625 C21.35940201 7.68258972 22.07427277 8.01361694 22.81080627 8.35467529 C25.1477281 9.43840777 27.48004577 10.53168992 29.8125 11.625 C31.45684215 12.38959182 33.1015422 13.15341433 34.74658203 13.91650391 C37.28995379 15.09647678 39.83305067 16.2770089 42.37493896 17.46017456 C48.04207374 20.09747287 53.72053672 22.70845937 59.41015625 25.296875 C60.16205734 25.63894485 60.91395844 25.98101471 61.68864441 26.33345032 C63.18218689 27.01276711 64.67575248 27.69203308 66.16934204 28.37124634 C77.02675041 33.31224971 87.859397 38.29886505 98.625 43.4375 C99.57938965 43.89237793 100.5337793 44.34725586 101.51708984 44.81591797 C107.87105537 47.87105537 107.87105537 47.87105537 109 49 C109.45353434 55.41427135 108.26756228 60.31993996 106.0625 66.3125 C105.75473633 67.16755127 105.44697266 68.02260254 105.12988281 68.90356445 C102.77108559 75.2873955 100.11639553 81.5160412 97.25 87.6875 C96.87367432 88.50710205 96.49734863 89.3267041 96.10961914 90.17114258 C95.74860107 90.92290771 95.38758301 91.67467285 95.015625 92.44921875 C94.54044434 93.44441528 94.54044434 93.44441528 94.05566406 94.4597168 C93 96 93 96 90 97 C88.38452148 96.14233398 88.38452148 96.14233398 86.62109375 94.74609375 C85.95762939 94.22909912 85.29416504 93.71210449 84.6105957 93.17944336 C83.89347412 92.60460205 83.17635254 92.02976074 82.4375 91.4375 C81.67719482 90.84396729 80.91688965 90.25043457 80.13354492 89.63891602 C76.37252452 86.69804619 72.64563447 83.71624418 68.9296875 80.71875 C50.97109557 66.34281735 31.49008348 53.72474843 11.84594727 41.77685547 C7.17871804 38.9027579 3.05894241 35.6833056 -1 32 C-0.73521851 31.0864978 -0.73521851 31.0864978 -0.46508789 30.15454102 C0.14412647 27.33232753 -0.51588208 25.6532008 -1.4375 22.9375 C-2.41006514 20.03724969 -3 18.0823645 -3 15 C-2.34 15 -1.68 15 -1 15 C-1.020625 13.824375 -1.04125 12.64875 -1.0625 11.4375 C-1.06947261 7.52586533 -0.64250343 3.85502056 0 0 Z " fill="#8C2E00" transform="translate(688,353)"/><path d="M0 0 C3.94221418 0.51559622 6.90551327 1.21950422 10.3046875 3.28515625 C11.05234375 3.73310547 11.8 4.18105469 12.5703125 4.64257812 C13.33085938 5.11115234 14.09140625 5.57972656 14.875 6.0625 C16.050625 6.77116211 16.050625 6.77116211 17.25 7.49414062 C19.17198433 8.65436287 21.08822535 9.82305776 23 11 C22.41806984 14.50904564 21.51434185 17.32633411 19.88964844 20.48535156 C19.45072266 21.34613815 19.01179687 22.20692474 18.55957031 23.09379578 C17.84172363 24.47822624 17.84172363 24.47822624 17.109375 25.890625 C16.36494141 27.34400017 16.36494141 27.34400017 15.60546875 28.82673645 C13.99300524 31.9709618 12.37173548 35.11054836 10.75 38.25 C9.64050289 40.40789165 8.53145406 42.56601384 7.42285156 44.72436523 C4.75056771 49.9231411 2.07099444 55.11811246 -0.61181641 60.3114624 C-2.13510969 63.26167106 -3.65452236 66.21385802 -5.17320251 69.16644287 C-10.71668189 79.93856632 -16.39491876 90.62385286 -22.25048828 101.22949219 C-25.33662631 106.85194491 -28.31666079 112.52137049 -31.23828125 118.23046875 C-31.78338097 119.29448914 -31.78338097 119.29448914 -32.3394928 120.38000488 C-34.15031206 123.918351 -35.95292399 127.46060862 -37.74536133 131.00830078 C-38.40560681 132.3037899 -39.06600009 133.59920371 -39.7265625 134.89453125 C-40.60175537 136.62473511 -40.60175537 136.62473511 -41.49462891 138.38989258 C-43 141 -43 141 -45 142 C-46.890625 141.4765625 -46.890625 141.4765625 -49.25 140.625 C-54.84238789 138.82627875 -60.24950671 138.47773991 -66.09375 138.2109375 C-69 138 -69 138 -71 137 C-70.43305512 133.54291787 -69.59062196 130.87306928 -67.875 127.82421875 C-67.19920898 126.60714233 -67.19920898 126.60714233 -66.50976562 125.36547852 C-66.01154297 124.48174561 -65.51332031 123.5980127 -65 122.6875 C-63.904491 120.71191188 -62.8108549 118.73528444 -61.71875 116.7578125 C-61.12320313 115.68047852 -60.52765625 114.60314453 -59.9140625 113.49316406 C-56.3826689 107.04837074 -52.94297994 100.55483132 -49.5 94.0625 C-49.13556793 93.37604401 -48.77113586 92.68958801 -48.3956604 91.98233032 C-43.29418044 82.37153544 -38.24653533 72.73402505 -33.23510742 63.07592773 C-30.00922537 56.87908484 -26.68459944 50.74328451 -23.3125 44.625 C-15.21406361 29.92360451 -7.63913443 14.94341015 0 0 Z " fill="#3F2E21" transform="translate(651,391)"/><path d="M0 0 C3.61393308 0.58415469 6.42476184 1.55480398 9.64453125 3.28515625 C10.48564453 3.73310547 11.32675781 4.18105469 12.19335938 4.64257812 C13.05767578 5.11115234 13.92199219 5.57972656 14.8125 6.0625 C15.69615234 6.53494141 16.57980469 7.00738281 17.49023438 7.49414062 C19.66331578 8.65703284 21.83302284 9.82578375 24 11 C24 16.81666701 22.52563648 21.63512349 20.40234375 27.01953125 C20.00437843 28.03593689 20.00437843 28.03593689 19.59837341 29.07287598 C19.02111598 30.54493379 18.44116508 32.01593761 17.85882568 33.48599243 C16.91335712 35.87346497 15.97562163 38.26385767 15.03955078 40.6550293 C12.4041788 47.38077989 9.75299875 54.1002564 7.09326172 60.81640625 C-4.50516661 90.1083169 -15.37195426 119.64351682 -26.02581787 149.29144287 C-26.89957544 151.72078563 -27.77649043 154.14895505 -28.65478516 156.57666016 C-29.10980255 157.83883041 -29.56472845 159.10103366 -30.01953125 160.36328125 C-30.38796143 161.38333252 -30.7563916 162.40338379 -31.13598633 163.4543457 C-32.03017203 165.93207694 -32.03017203 165.93207694 -32.4987793 168.28979492 C-32.74688354 169.13634644 -32.74688354 169.13634644 -33 170 C-33.66 170.33 -34.32 170.66 -35 171 C-35.66 171.99 -36.32 172.98 -37 174 C-38.45894829 113.98859387 -22.75547512 55.12347813 0 0 Z " fill="#7C6E5F" transform="translate(359,785)"/><path d="M0 0 C6.41397255 1.25150684 9.35528823 4.90957792 13 10 C14.50317721 12.31754271 15.92348606 14.67499362 17.3125 17.0625 C17.65007324 17.63967773 17.98764648 18.21685547 18.33544922 18.81152344 C24.52201671 29.85784778 24.53858244 43.38578093 22.34765625 55.65234375 C17.69392613 70.85186573 7.64278439 81.44573096 -6 89 C-9.27401204 90.55491427 -12.56587364 91.84562306 -16 93 C-17.216875 93.4125 -18.43375 93.825 -19.6875 94.25 C-37.03820018 98.13291879 -53.18899388 92.62000556 -68 84 C-70.84211703 82.16482934 -73.42990415 80.19427994 -76 78 C-76.5878125 77.55398437 -77.175625 77.10796875 -77.78125 76.6484375 C-86.85648537 69.52358166 -94.47483102 57.55015611 -96 46 C-95.88601994 38.1704469 -95.29894761 30.50989551 -93 23 C-92.34 23 -91.68 23 -91 23 C-90.814375 21.7934375 -90.814375 21.7934375 -90.625 20.5625 C-90.41875 19.716875 -90.2125 18.87125 -90 18 C-89.34 17.67 -88.68 17.34 -88 17 C-87.34227572 13.97065509 -87.34227572 13.97065509 -87 11 C-86.67 11 -86.34 11 -86 11 C-85.98541748 11.73524902 -85.97083496 12.47049805 -85.95581055 13.22802734 C-85.88060745 16.6108378 -85.78418818 19.99273811 -85.6875 23.375 C-85.66494141 24.53128906 -85.64238281 25.68757813 -85.61914062 26.87890625 C-85.27716761 37.88421967 -82.97251198 46.72871686 -77 56 C-76.6390625 56.60585937 -76.278125 57.21171875 -75.90625 57.8359375 C-70.27538797 65.81299204 -58.29230513 70.56343757 -49.00927734 72.65795898 C-36.38667872 74.80671484 -24.09798543 73.02718246 -13.1875 66.1875 C-2.08673185 58.178085 4.2864202 48.49534338 7 35 C8.24363505 24.41732023 7.11434342 14.56920226 1.36328125 5.38671875 C0 3 0 3 0 0 Z " fill="#9C2A00" transform="translate(786,73)"/><path d="M0 0 C10.72998665 3.87525834 20.06797286 12.08065631 29 19 C29.90492188 19.69738281 30.80984375 20.39476562 31.7421875 21.11328125 C46.20725481 32.58051577 58.23913167 45.67021821 67 62 C67 62.66 67 63.32 67 64 C36.6290599 66.1066548 3.61804667 48.34129404 -22 34 C-21.45543266 30.47438281 -20.6802505 28.10440255 -18.59375 25.21484375 C-18.10100586 24.52447021 -17.60826172 23.83409668 -17.10058594 23.12280273 C-16.57239258 22.40165283 -16.04419922 21.68050293 -15.5 20.9375 C-14.96407227 20.19250244 -14.42814453 19.44750488 -13.87597656 18.67993164 C-9.33513817 12.39069488 -4.70542943 6.16696433 0 0 Z " fill="#852C00" transform="translate(466,848)"/><path d="M0 0 C4.70440332 1.44235149 9.04089627 3.37287007 13.43359375 5.5625 C14.89209262 6.28018905 16.35067329 6.9977119 17.80932617 7.71508789 C18.56587494 8.08876495 19.32242371 8.46244202 20.10189819 8.84744263 C34.56612957 15.98515611 49.10645314 22.79532921 64 29 C61.74588334 36.37780846 58.69783441 43.13894512 55.3125 50.0625 C54.80138672 51.11888672 54.29027344 52.17527344 53.76367188 53.26367188 C52.51396126 55.84484987 51.25932878 58.4235047 50 61 C41.54312953 58.47875479 33.75155553 54.72801816 25.8125 50.9375 C22.96471858 49.58474954 20.11542635 48.23520801 17.265625 46.88671875 C16.56208389 46.55334503 15.85854279 46.21997131 15.13368225 45.87649536 C10.79504508 43.82702297 6.43521489 41.836121 2.046875 39.89453125 C1.02489014 39.44150635 0.00290527 38.98848145 -1.05004883 38.52172852 C-2.9341095 37.6919262 -4.82184176 36.87039644 -6.71362305 36.05834961 C-7.95172729 35.51126343 -7.95172729 35.51126343 -9.21484375 34.953125 C-10.28400024 34.49147949 -10.28400024 34.49147949 -11.37475586 34.02050781 C-13 33 -13 33 -14 30 C-13.04370117 27.44384766 -13.04370117 27.44384766 -11.54296875 24.4140625 C-11.00736328 23.31835938 -10.47175781 22.22265625 -9.91992188 21.09375 C-9.34822266 19.9490625 -8.77652344 18.804375 -8.1875 17.625 C-7.07554328 15.36781744 -5.96482001 13.11002672 -4.85546875 10.8515625 C-4.35684326 9.84947754 -3.85821777 8.84739258 -3.34448242 7.81494141 C-2.11591723 5.24269578 -1.02366135 2.65939004 0 0 Z " fill="#782100" transform="translate(669,203)"/><path d="M0 0 C3.57135857 1.27309217 6.65620034 2.9478035 9.8581543 4.9699707 C26.59792112 15.53928031 44.60317625 22.21245453 64 26 C61.9930263 32.36444088 59.21013685 38.32106335 56.40478516 44.3605957 C55.49594664 46.32124437 54.59742813 48.28641648 53.69921875 50.25195312 C53.12301815 51.49768387 52.54621665 52.74313689 51.96875 53.98828125 C51.18661133 55.68271362 51.18661133 55.68271362 50.38867188 57.41137695 C49 60 49 60 47 61 C44.31152344 60.05053711 44.31152344 60.05053711 40.859375 58.52734375 C40.23250793 58.25282883 39.60564087 57.9783139 38.95977783 57.69548035 C36.88616325 56.78427313 34.81805575 55.86124656 32.75 54.9375 C31.31915228 54.30485482 29.88816105 53.67253414 28.45703125 53.04052734 C13.87161755 46.57667569 -0.5803491 39.82425652 -15 33 C-13.79073106 29.20799698 -12.44641078 25.61785782 -10.72265625 22.03125 C-10.29146484 21.13019531 -9.86027344 20.22914063 -9.41601562 19.30078125 C-8.74602539 17.91439453 -8.74602539 17.91439453 -8.0625 16.5 C-7.61970703 15.57574219 -7.17691406 14.65148437 -6.72070312 13.69921875 C-4.51936065 9.11281519 -2.29327515 4.54113892 0 0 Z " fill="#7D2200" transform="translate(691,159)"/><path d="M0 0 C4.57059107 0.48791407 8.46661224 2.46012958 12.5546875 4.4296875 C13.65077835 4.94960518 13.65077835 4.94960518 14.76901245 5.48002625 C17.14023888 6.60638466 19.50762171 7.74057902 21.875 8.875 C23.50009734 9.64883549 25.12542392 10.42218975 26.75097656 11.19506836 C30.76453223 13.10495016 34.77500807 15.0211924 38.78430176 16.94000244 C42.0189618 18.48747478 45.25564071 20.0306965 48.4921875 21.57421875 C53.66463864 24.04287098 58.83405652 26.51775924 64 29 C61.83458719 36.01421093 59.02828258 42.47037508 55.8125 49.0625 C55.34908203 50.02349609 54.88566406 50.98449219 54.40820312 51.97460938 C53.2769354 54.3187827 52.14080989 56.66045971 51 59 C43.28558729 56.67343109 36.27868099 53.37373218 29.0625 49.8125 C19.08062125 44.93373949 9.03809422 40.25038182 -1.14746094 35.8125 C-5.45350949 33.92392204 -9.72537499 31.95841851 -14 30 C-11.95422403 23.12619275 -9.13802697 16.87559736 -5.875 10.5 C-5.41996094 9.59507812 -4.96492187 8.69015625 -4.49609375 7.7578125 C-1.15506269 1.15506269 -1.15506269 1.15506269 0 0 Z " fill="#762000" transform="translate(648,248)"/><path d="M0 0 C3.04014355 1.94403737 6.03037568 3.94988021 9 6 C9.72316406 6.49113281 10.44632812 6.98226562 11.19140625 7.48828125 C11.82949219 7.96652344 12.46757812 8.44476562 13.125 8.9375 C13.70507812 9.35902344 14.28515625 9.78054688 14.8828125 10.21484375 C16 12 16 12 15.9296875 15.33203125 C14.9081879 19.36223344 13.57559719 21.51261742 11 24.75 C10.39442261 25.52077881 10.39442261 25.52077881 9.77661133 26.30712891 C8.53193459 27.8827364 7.26603432 29.44150193 6 31 C5.28199219 31.89976562 4.56398438 32.79953125 3.82421875 33.7265625 C1.57880783 36.50972265 -0.70813493 39.25500475 -3 42 C-4.18335938 43.46373047 -4.18335938 43.46373047 -5.390625 44.95703125 C-12.14607785 53.1926257 -19.55447239 60.76958017 -27.0625 68.3125 C-27.56911163 68.82428802 -28.07572327 69.33607605 -28.59768677 69.8633728 C-34.66653057 75.98103327 -40.86601663 81.68577152 -47.60864258 87.07202148 C-50.48062124 89.38749014 -53.13911731 91.83388362 -55.8125 94.375 C-61.71668112 99.89329335 -67.99531583 104.84963724 -74.40625 109.76171875 C-75.8842275 110.91004931 -77.33412139 112.09427934 -78.78125 113.28125 C-79.5753125 113.9309375 -80.369375 114.580625 -81.1875 115.25 C-81.86167969 115.81203125 -82.53585937 116.3740625 -83.23046875 116.953125 C-83.81441406 117.29859375 -84.39835937 117.6440625 -85 118 C-85.99 117.67 -86.98 117.34 -88 117 C-86.5158627 113.51345524 -84.53785948 111.35808928 -81.8125 108.75 C-68.61822424 95.80664549 -57.45696426 80.81839635 -46.47949219 65.99121094 C-45.0080694 64.0108604 -43.5257762 62.03920362 -42.0390625 60.0703125 C-27.83618486 41.38306167 -27.83618486 41.38306167 -14.82421875 21.8671875 C-11.09722481 16.00934263 -7.08449958 10.33752809 -3.12573242 4.63476562 C-2.0688801 3.10002627 -1.03364355 1.55046533 0 0 Z " fill="#423125" transform="translate(431,827)"/><path d="M0 0 C26.25270164 2.83170035 51.50611346 9.64961786 75 22 C70.33333333 33.66666667 65.66666667 45.33333333 61 57 C55.02419496 54.71239196 50.87717402 51.09473969 46 47 C45.47728516 46.56365234 44.95457031 46.12730469 44.41601562 45.67773438 C32.53200718 35.73454625 20.93007632 25.42223084 10.375 14.0625 C9.90239746 13.55533447 9.42979492 13.04816895 8.94287109 12.52563477 C0 2.70263584 0 2.70263584 0 0 Z " fill="#892C00" transform="translate(268,755)"/><path d="M0 0 C4.96693112 5.39266807 7.48958951 11.1527039 7.75 18.5 C7.35961151 26.31777984 4.97233672 30.98198869 -0.75 36.25 C-6.87941756 41.48985994 -12.49408254 41.82338098 -20.36328125 41.68359375 C-26.79364529 41.10828372 -30.75092672 38.77577864 -35.125 34.125 C-39.41641962 28.62917651 -41.50857182 22.7384023 -41.21875 15.734375 C-39.9118965 8.14457199 -35.7178211 2.422013 -29.78125 -2.28515625 C-20.0096207 -8.93529285 -9.40685862 -5.43507387 0 0 Z " fill="#C36500" transform="translate(604.8125,551.625)"/><path d="M0 0 C6.29314462 1.88185503 11.88293948 4.33235379 17.625 7.5 C24.88712938 11.41591828 32.23079931 15.09388268 39.6875 18.625 C46.08801263 21.65927825 52.48335929 24.69403291 58.8125 27.875 C59.42859131 28.18429443 60.04468262 28.49358887 60.67944336 28.81225586 C63.70782062 30.33573632 66.73329626 31.86487703 69.75732422 33.39697266 C94.68508623 46.01602243 120.04857951 57.63236728 145.51953125 69.1015625 C147.14532104 69.83366943 147.14532104 69.83366943 148.80395508 70.58056641 C152.1902925 72.08451307 155.59133641 73.54747963 159 75 C156 76 156 76 152.625 75 C149.20494486 73.76408931 149.20494486 73.76408931 146.5 74.5 C142.96389827 75.20722035 140.4460164 74.0168573 137 73 C135.39807377 72.84897665 133.79337635 72.7256819 132.1875 72.625 C127.62321026 72.23831282 123.96927254 71.01820576 119.8125 69.1328125 C117.3380109 68.13614328 114.9350545 67.37933362 112.375 66.64453125 C106.74914462 64.98876805 101.39844305 62.84272842 96 60.5625 C94.96891113 60.12856934 93.93782227 59.69463867 92.87548828 59.24755859 C41.28923257 37.35000478 41.28923257 37.35000478 21 20 C20.12859375 19.319375 19.2571875 18.63875 18.359375 17.9375 C16.10649657 16.08745414 14.22220627 14.19723507 12.3125 12 C11.73113281 11.34 11.14976562 10.68 10.55078125 10 C9 8 9 8 7.98828125 5.796875 C7.66214844 5.20390625 7.33601562 4.6109375 7 4 C3.94091587 3.18415432 3.94091587 3.18415432 1 3 C0.67 2.01 0.34 1.02 0 0 Z " fill="#C67500" transform="translate(524,274)"/><path d="M0 0 C6.37118228 3.76177914 10.37685266 9.44326384 12.625 16.4375 C13.39155502 23.33649521 11.61828197 30.20432456 7.375 35.75 C1.80868237 41.18981042 -1.62457412 42.6909329 -9.375 42.9375 C-17.69854683 42.65564445 -21.49036935 40.63168816 -27.1875 34.5625 C-31.33486265 29.52243149 -32.82692378 25.12862877 -32.625 18.515625 C-31.8451266 12.03292734 -29.03426742 6.99322815 -24.375 2.4375 C-17.39662045 -2.78817026 -7.96236014 -3.52357316 0 0 Z " fill="#CB6C00" transform="translate(354.375,490.5625)"/><path d="M0 0 C2.49609375 1.109375 2.49609375 1.109375 5.4375 2.75 C6.88962891 3.54664063 6.88962891 3.54664063 8.37109375 4.359375 C10.63800598 5.77408991 12.17745204 7.09317044 14 9 C13.57291748 9.90427734 13.14583496 10.80855469 12.70581055 11.74023438 C10.69803801 15.99270305 8.69235335 20.24615435 6.6875 24.5 C6.13887299 25.66394791 6.13887299 25.66394791 5.5791626 26.85140991 C1.12136239 36.31333451 -3.29902374 45.78939562 -7.625 55.3125 C-13.04419813 67.22243117 -18.74817614 78.99031826 -24.46318054 90.75997925 C-26.77715129 95.52957997 -29.0614503 100.31286135 -31.33813477 105.1003418 C-35.50232434 113.85591391 -39.73594818 122.57339411 -44.0625 131.25 C-44.52809326 132.18577881 -44.99368652 133.12155762 -45.47338867 134.08569336 C-45.90627197 134.9494458 -46.33915527 135.81319824 -46.78515625 136.703125 C-47.35568726 137.84249512 -47.35568726 137.84249512 -47.93774414 139.00488281 C-49.59509679 142.11770419 -51.46470314 144.5799439 -54 147 C-53.39660868 140.96352358 -51.66501169 135.68216937 -49.59765625 129.99609375 C-49.07410553 128.53416092 -49.07410553 128.53416092 -48.53997803 127.04269409 C-47.38873069 123.83804703 -46.22636855 120.63758314 -45.0625 117.4375 C-44.66284027 116.33232025 -44.26318054 115.2271405 -43.85140991 114.08847046 C-36.34737056 93.34904225 -28.39186919 72.80160552 -20.2775116 52.2948761 C-16.61280774 43.03212391 -12.97877245 33.75772835 -9.38143921 24.46859741 C-8.71680431 22.75583091 -8.04955643 21.0440758 -7.37954712 19.33340454 C-6.46292098 16.9928728 -5.55464549 14.64926878 -4.6484375 12.3046875 C-4.24208824 11.27535851 -4.24208824 11.27535851 -3.82752991 10.22523499 C-2.54464537 6.87778086 -2 4.6498574 -2 1 C-1.34 0.67 -0.68 0.34 0 0 Z " fill="#534436" transform="translate(384,797)"/><path d="M0 0 C4.87268175 3.53269427 8.5426983 7.04361077 10.5 12.8125 C11.36231892 20.07114057 11.42007111 26.22866214 6.921875 32.23046875 C2.73163368 36.8926878 -1.33021088 39.30096453 -7.6015625 40.0703125 C-13.39985939 40.36919378 -17.77033413 39.21785943 -22.5 35.8125 C-26.97348018 31.62667154 -29.99279155 27.38431529 -30.87109375 21.19921875 C-31.03879395 14.38269892 -30.00262317 10.01635137 -25.5 4.8125 C-18.17569206 -1.97588297 -9.51994534 -3.22998145 0 0 Z " fill="#C05E00" transform="translate(723.5,703.1875)"/><path d="M0 0 C3.78656686 0.61990764 6.92502281 1.72551026 10.40234375 3.3359375 C11.44696777 3.81788574 12.4915918 4.29983398 13.56787109 4.79638672 C14.67984863 5.3173291 15.79182617 5.83827148 16.9375 6.375 C18.66347412 7.17768311 18.66347412 7.17768311 20.42431641 7.99658203 C30.60585858 12.75880328 40.66952028 17.74146409 50.69140625 22.82958984 C53.91249042 24.46261412 57.14336629 26.07545842 60.375 27.6875 C61.90125 28.450625 63.4275 29.21375 65 30 C63.35 33.3 61.7 36.6 60 40 C50.882599 37.25643425 42.30413108 33.31153441 33.625 29.4375 C32.82574097 29.08228271 32.02648193 28.72706543 31.20300293 28.36108398 C19.21664267 23.02618746 7.4436789 17.43320327 -4 11 C-3.27758802 6.88295306 -1.97646289 3.69512628 0 0 Z " fill="#802500" transform="translate(627,290)"/><path d="M0 0 C5.00113594 1.48008696 9.32915597 3.6318336 13.875 6.125 C14.56335938 6.49753906 15.25171875 6.87007812 15.9609375 7.25390625 C17.64294798 8.16499526 19.32180436 9.08190315 21 10 C20.75354736 10.51272461 20.50709473 11.02544922 20.25317383 11.55371094 C15.58949546 21.27505871 10.98193383 30.97513141 7 41 C2.04001528 40.38367054 -1.93671966 38.20164371 -6.3125 35.9375 C-7.05306641 35.56044922 -7.79363281 35.18339844 -8.55664062 34.79492188 C-10.37387522 33.86871843 -12.18732404 32.93509371 -14 32 C-11.74588334 24.62219154 -8.69783441 17.86105488 -5.3125 10.9375 C-4.80138672 9.88111328 -4.29027344 8.82472656 -3.76367188 7.73632812 C-2.51396126 5.15515013 -1.25932878 2.5764953 0 0 Z " fill="#A44500" transform="translate(669,203)"/><path d="M0 0 C4.25377992 1.51635682 7.8917336 3.72684645 11.6875 6.125 C19.49544415 10.94966909 27.67956868 14.63720637 36.1315918 18.18139648 C38.12455047 19.05456915 40.06166163 20.01216971 42 21 C37.73633411 22.42122196 35.0595446 20.54033794 31.1875 18.75 C30.48818359 18.43675781 29.78886719 18.12351563 29.06835938 17.80078125 C24.99513803 15.96421185 20.98308447 14.02593307 17 12 C16.71914551 12.71567139 16.43829102 13.43134277 16.14892578 14.16870117 C15.03515159 16.9133759 13.84637395 19.60602633 12.6171875 22.30078125 C12.17246094 23.27724609 11.72773437 24.25371094 11.26953125 25.25976562 C10.80933594 26.26716797 10.34914063 27.27457031 9.875 28.3125 C9.40707031 29.33923828 8.93914063 30.36597656 8.45703125 31.42382812 C7.30570953 33.94968701 6.15333284 36.47505894 5 39 C6.32 40.32 7.64 41.64 9 43 C5.47944083 42.40915596 2.56638778 41.4844458 -0.64453125 39.93359375 C-1.48564453 39.53076172 -2.32675781 39.12792969 -3.19335938 38.71289062 C-4.05767578 38.29201172 -4.92199219 37.87113281 -5.8125 37.4375 C-6.69615234 37.01275391 -7.57980469 36.58800781 -8.49023438 36.15039062 C-10.66264337 35.10528576 -12.83239957 34.05503238 -15 33 C-13.29162024 27.20888215 -10.68136803 21.91912952 -8.0625 16.5 C-7.61970703 15.57574219 -7.17691406 14.65148437 -6.72070312 13.69921875 C-4.51936065 9.11281519 -2.29327515 4.54113892 0 0 Z " fill="#A84400" transform="translate(691,159)"/><path d="M0 0 C5.01898739 0.45804351 9.34660996 2.89506469 13.8125 5.0625 C14.60076172 5.43955078 15.38902344 5.81660156 16.20117188 6.20507812 C18.13652473 7.13170161 20.06859549 8.06517467 22 9 C19 10 19 10 17 10 C16.67725098 10.67579102 16.35450195 11.35158203 16.02197266 12.04785156 C14.55668798 15.11541265 13.09084994 18.18270899 11.625 21.25 C11.11710938 22.31347656 10.60921875 23.37695312 10.0859375 24.47265625 C9.59609375 25.49746094 9.10625 26.52226562 8.6015625 27.578125 C8.15119629 28.52075195 7.70083008 29.46337891 7.23681641 30.43457031 C6.17683564 32.63320392 5.09870703 34.820524 4 37 C4.72018311 37.11786865 5.44036621 37.2357373 6.18237305 37.35717773 C9.08199206 38.01870593 11.40969771 38.98997619 14.08203125 40.28515625 C15.01337891 40.73310547 15.94472656 41.18105469 16.90429688 41.64257812 C17.86400391 42.11115234 18.82371094 42.57972656 19.8125 43.0625 C20.79154297 43.53494141 21.77058594 44.00738281 22.77929688 44.49414062 C25.18870167 45.65770684 27.59544007 46.82646296 30 48 C26.15012852 49.28329049 24.61123664 48.10755698 21.0949707 46.39428711 C20.30050537 45.99604736 19.50604004 45.59780762 18.6875 45.1875 C16.98785448 44.35758 15.28729292 43.52953401 13.5859375 42.703125 C12.23580566 42.04473633 12.23580566 42.04473633 10.85839844 41.37304688 C5.87957232 38.9814413 0.84572429 36.71180216 -4.1875 34.4375 C-5.64893433 33.77560669 -5.64893433 33.77560669 -7.13989258 33.1003418 C-9.42597403 32.06551125 -11.71264957 31.03202183 -14 30 C-11.95422403 23.12619275 -9.13802697 16.87559736 -5.875 10.5 C-5.41996094 9.59507812 -4.96492187 8.69015625 -4.49609375 7.7578125 C-1.15506269 1.15506269 -1.15506269 1.15506269 0 0 Z " fill="#A44400" transform="translate(648,248)"/><path d="M0 0 C1.66666667 1.66666667 3.33333333 3.33333333 5 5 C5.5775 5.53625 6.155 6.0725 6.75 6.625 C10.0035579 10.20391369 9.32950428 15.40445012 9.26953125 19.9296875 C8.60429477 27.50759869 4.7148106 31.7527464 -0.90234375 36.5546875 C-5.49941433 39.72212906 -9.39549435 40.29444786 -14.9375 40.3125 C-16.12214844 40.32925781 -17.30679688 40.34601562 -18.52734375 40.36328125 C-23.05850964 39.88926727 -26.36500164 38.56275424 -29.6796875 35.39453125 C-30.78645833 33.9296875 -31.89322917 32.46484375 -33 31 C-32.34 29.68 -31.68 28.36 -31 27 C-29.9378125 27.04640625 -28.875625 27.0928125 -27.78125 27.140625 C-18.00923338 27.44213775 -11.92046431 26.95776477 -4.125 20.6875 C0.77440798 14.4911899 0.24485517 7.52249506 0 0 Z " fill="#9D3A00" transform="translate(603,553)"/><path d="M0 0 C0.46148437 0.4640625 0.92296875 0.928125 1.3984375 1.40625 C2.45462839 2.45728874 3.53011288 3.48933496 4.625 4.5 C6.78559232 6.85700981 6.99969268 8.99615852 7.25 12.125 C6.75700417 19.76643541 4.48704528 25.63766029 -1 31 C-7.29969547 36.09337081 -14.13047708 35.82433492 -22 35 C-25.32642349 33.82393346 -26.81123642 32.28314537 -28.75 29.375 C-29.17796875 28.74335937 -29.6059375 28.11171875 -30.046875 27.4609375 C-30.51867187 26.73777344 -30.51867187 26.73777344 -31 26 C-30 24 -30 24 -27.625 22.9375 C-24.46893739 22.12127691 -21.85136006 21.81768539 -18.625 21.625 C-13.52500659 21.22200325 -9.06140022 20.25678319 -5 17 C-2.31770852 13.33653776 -1.45000416 10.15002914 -0.8125 5.6875 C-0.57466797 4.08455078 -0.57466797 4.08455078 -0.33203125 2.44921875 C-0.16767578 1.23685547 -0.16767578 1.23685547 0 0 Z " fill="#AD4600" transform="translate(360,498)"/><path d="M0 0 C2.25 0 2.25 0 5 1 C9.63121257 7.50873117 10.13337481 14.17385155 9 22 C6.59820463 28.23088716 2.31504573 32.49316103 -3.75 35.25 C-8.50177856 36.34656428 -13.66992515 37.23356904 -18.125 34.875 C-18.74375 34.25625 -19.3625 33.6375 -20 33 C-21.24502303 31.93167238 -22.49544857 30.86962202 -23.75 29.8125 C-24.8343732 28.87620297 -25.91805601 27.93910307 -27 27 C-26.01 25.515 -26.01 25.515 -25 24 C-22.20703125 23.8125 -22.20703125 23.8125 -18.8125 24 C-13.21390853 24.14228465 -9.88069881 23.6525537 -5 21 C-4.01 20.67 -3.02 20.34 -2 20 C-0.83333333 18.08333333 -0.83333333 18.08333333 0 16 C0.33 15.34 0.66 14.68 1 14 C1.09632897 12.18958207 1.12981533 10.37547247 1.125 8.5625 C1.12757813 7.59441406 1.13015625 6.62632812 1.1328125 5.62890625 C1.11213973 2.88982171 1.11213973 2.88982171 0 0 Z " fill="#9A3800" transform="translate(725,707)"/><path d="M0 0 C0 0.33 0 0.66 0 1 C-6.07321286 0.50219567 -11.55169923 -0.61388656 -17.40234375 -2.30078125 C-20.60189566 -3.16201402 -23.7107814 -3.63453127 -27 -4 C-27 -3.01 -27 -2.02 -27 -1 C-21.75614911 0.7479503 -17.52677733 1.19392201 -12 1 C-12 1.66 -12 2.32 -12 3 C-9.17345166 4.51007377 -6.46002988 5.52083863 -3.375 6.375 C1.90125339 7.90605567 6.9367873 9.87775978 12 12 C12 12.66 12 13.32 12 14 C13.41396902 14.50757862 14.83131729 15.00574925 16.25 15.5 C17.43335938 15.91765625 17.43335938 15.91765625 18.640625 16.34375 C21.23412738 17.17864861 21.23412738 17.17864861 25 17 C25 17.66 25 18.32 25 19 C26.65 19.33 28.3 19.66 30 20 C30 20.66 30 21.32 30 22 C30.76054687 22.21527344 31.52109375 22.43054688 32.3046875 22.65234375 C37.46462411 24.53413881 42.24332231 27.05751296 47.125 29.5625 C49.08401883 30.56755073 51.04488727 31.56900649 53.0078125 32.56640625 C53.87035645 33.00927979 54.73290039 33.45215332 55.62158203 33.90844727 C57.7594515 34.88960251 59.70368524 35.52672136 62 36 C62 36.66 62 37.32 62 38 C62.99 38 63.98 38 65 38 C65 38.66 65 39.32 65 40 C65.80824219 40.226875 66.61648438 40.45375 67.44921875 40.6875 C71.8914773 42.32952296 75.75559294 44.57899834 79.8125 47 C80.58787109 47.45117188 81.36324219 47.90234375 82.16210938 48.3671875 C87.87211762 51.74423525 87.87211762 51.74423525 89 54 C85.12671061 52.55068602 81.61342918 50.75499293 78.01171875 48.7265625 C76.83144487 48.06581978 75.65101844 47.40534951 74.47045898 46.74511719 C73.8543576 46.39944702 73.23825623 46.05377686 72.60348511 45.69763184 C41.10168187 28.06188043 9.01017202 13.5295226 -25.328125 2.3984375 C-25.98538574 2.18440277 -26.64264648 1.97036804 -27.31982422 1.74984741 C-30.64253402 0.68667576 -33.95828241 -0.23867013 -37.35449219 -1.02490234 C-41 -2 -41 -2 -43 -4 C-43.99 -4.66 -44.98 -5.32 -46 -6 C-31.87249703 -10.70916766 -13.71805023 -4.22258734 0 0 Z " fill="#E69603" transform="translate(339,743)"/><path d="M0 0 C0.495 0.99 0.495 0.99 1 2 C-0.22485352 4.54003906 -0.22485352 4.54003906 -2.12890625 7.765625 C-2.4695108 8.34664474 -2.81011536 8.92766449 -3.16104126 9.52629089 C-4.28633052 11.43937769 -5.42386335 13.34483154 -6.5625 15.25 C-7.3476404 16.57546701 -8.13255072 17.90107034 -8.91723633 19.22680664 C-15.16174363 29.74062328 -21.65131441 40.08724864 -28.29394531 50.35400391 C-30.64715272 54.00369794 -32.97110221 57.67167714 -35.29614258 61.33935547 C-40.48697683 69.52559166 -45.71808825 77.68472076 -51 85.8125 C-51.77355835 87.00286865 -51.77355835 87.00286865 -52.56274414 88.21728516 C-56.00569204 93.50248761 -59.49143643 98.75815004 -63 104 C-63.33 103.34 -63.66 102.68 -64 102 C-62.96986871 99.63663294 -61.87694995 97.39905202 -60.6796875 95.12109375 C-59.93128776 93.66294564 -59.18359853 92.2044327 -58.43652344 90.74560547 C-58.03800171 89.97255066 -57.63947998 89.19949585 -57.22888184 88.40301514 C-55.15301346 84.34376145 -53.14755765 80.2499841 -51.1328125 76.16015625 C-49.88588709 73.6437293 -48.6373256 71.12811856 -47.38867188 68.61254883 C-46.53342107 66.88668045 -45.68029059 65.15976 -44.82910156 63.43188477 C-43.58172495 60.90101332 -42.32681845 58.37400495 -41.0703125 55.84765625 C-40.6901297 55.07180679 -40.3099469 54.29595734 -39.91824341 53.49659729 C-37.22773977 48.11386988 -37.22773977 48.11386988 -35 47 C-36.66086912 52.56664924 -39.11071736 57.65786353 -41.625 62.875 C-42.25535156 64.19371094 -42.25535156 64.19371094 -42.8984375 65.5390625 C-43.9291692 67.69422878 -44.96309426 69.84779922 -46 72 C-42.05281366 68.50052692 -39.65574977 64.42551497 -37 59.9375 C-36.02478424 58.31429429 -35.0481744 56.69192548 -34.0703125 55.0703125 C-33.31476074 53.81589355 -33.31476074 53.81589355 -32.54394531 52.53613281 C-30.0423086 48.42686618 -27.45795445 44.37095581 -24.875 40.3125 C-20.93079035 34.10077921 -17.07158604 27.84955401 -13.31225586 21.52441406 C-8.99464942 14.27534367 -4.49436878 7.14032284 0 0 Z " fill="#110503" transform="translate(392,848)"/><path d="M0 0 C4.33304076 0.64465202 7.86672065 2.18925122 11.8125 4.0625 C12.97394531 4.61035156 14.13539063 5.15820312 15.33203125 5.72265625 C16.21246094 6.14417969 17.09289062 6.56570313 18 7 C17.01 7.495 17.01 7.495 16 8 C14.94978897 9.84971696 14.94978897 9.84971696 14 12 C13.33333333 13.33333333 12.66666667 14.66666667 12 16 C14.55991624 18.01136276 17.04590299 19.62845496 20 21 C17 22 17 22 14.73168945 21.10375977 C13.43557739 20.40464478 13.43557739 20.40464478 12.11328125 19.69140625 C10.7065918 18.94213867 10.7065918 18.94213867 9.27148438 18.17773438 C8.29501953 17.64470703 7.31855469 17.11167969 6.3125 16.5625 C5.32443359 16.03333984 4.33636719 15.50417969 3.31835938 14.95898438 C0.87394092 13.64820926 -1.56506717 12.3282889 -4 11 C-3.27758802 6.88295306 -1.97646289 3.69512628 0 0 Z " fill="#9D3D00" transform="translate(627,290)"/><path d="M0 0 C3.97624162 1.43126552 7.25053043 3.33279925 10.76171875 5.67578125 C11.30517441 6.03716187 11.84863007 6.39854248 12.40855408 6.77087402 C14.1717925 7.94614692 15.92994396 9.12874921 17.6875 10.3125 C18.29092224 10.71705414 18.89434448 11.12160828 19.51605225 11.53842163 C29.84525586 18.46486886 40.03459781 25.55695131 50 33 C50.72364746 33.53963379 51.44729492 34.07926758 52.19287109 34.63525391 C61.73782288 41.7798294 71.01253359 49.16600521 80 57 C80.88171875 57.75796875 81.7634375 58.5159375 82.671875 59.296875 C91.07494196 66.65608271 98.79133796 74.68700694 105 84 C104.67 84.66 104.34 85.32 104 86 C103.28714844 85.154375 102.57429687 84.30875 101.83984375 83.4375 C99.35607177 80.49339996 96.86494394 77.55560899 94.37158203 74.61962891 C93.25125722 73.2966964 92.13823214 71.96758504 91.02734375 70.63671875 C83.83732127 62.1548719 75.16228162 55.4597719 66.421875 48.66796875 C63.52428594 46.41633393 60.66336079 44.1231499 57.8125 41.8125 C53.69547446 38.5135587 49.48385026 35.37830597 45.19921875 32.30078125 C42.83749067 30.60229793 40.48767691 28.89169501 38.14453125 27.16796875 C28.15936687 19.85218545 17.97324883 12.90158666 7.62036133 6.1171875 C6.62931396 5.46492187 5.6382666 4.81265625 4.6171875 4.140625 C3.72628418 3.55829102 2.83538086 2.97595703 1.91748047 2.37597656 C1.28471191 1.9219043 0.65194336 1.46783203 0 1 C0 0.67 0 0.34 0 0 Z " fill="#0F0300" transform="translate(475,758)"/><path d="M0 0 C5.3247089 0.4957956 9.29151005 1.87821585 14 4.4375 C24.40313215 9.87757691 35.20507722 14.40279314 46 19 C45.01 19.66 44.02 20.32 43 21 C40.48593663 20.24638388 38.26296255 19.42281542 35.875 18.375 C35.19630859 18.08866699 34.51761719 17.80233398 33.81835938 17.50732422 C32.47096827 16.93625946 31.12614817 16.35908433 29.78417969 15.77539062 C28.37562482 15.16324363 26.95873679 14.57027233 25.5390625 13.984375 C22.0102354 12.49712986 18.6759068 10.83169155 15.3671875 8.90625 C14.71041016 8.53226074 14.05363281 8.15827148 13.37695312 7.77294922 C12.06987887 7.02345371 10.77349683 6.25490414 9.49023438 5.46533203 C6.99317613 4.04004931 4.90366313 2.90075881 1.98144531 3.22167969 C-0.17427916 3.79673495 -0.17427916 3.79673495 -3 5 C-2.01 3.35 -1.02 1.7 0 0 Z " fill="#180302" transform="translate(429,896)"/><path d="M0 0 C21.90569501 13.59823864 42.74481944 28.84137205 62 46 C61.34 46.66 60.68 47.32 60 48 C59.54753906 47.50113281 59.09507812 47.00226562 58.62890625 46.48828125 C45.02777003 32.16723612 27.60825417 20.83693244 11.30859375 9.80859375 C10.56295166 9.30344238 9.81730957 8.79829102 9.04907227 8.27783203 C7.62830796 7.3202321 6.20316695 6.36908551 4.77319336 5.42529297 C3.14773533 4.33304847 1.56821229 3.17295442 0 2 C0 1.34 0 0.68 0 0 Z " fill="#110400" transform="translate(489,790)"/><path d="M0 0 C0 4.08866364 -2.0928279 5.88990101 -4.65625 8.828125 C-5.14790649 9.39936096 -5.63956299 9.97059692 -6.14611816 10.55914307 C-11.43437366 16.62510753 -17.05190228 22.35444749 -22.76123047 28.02197266 C-24.50596548 29.75592863 -26.23966256 31.50041129 -27.97265625 33.24609375 C-33.98746666 39.26728931 -40.08382503 44.93218579 -46.77539062 50.20410156 C-48.64968344 51.71719396 -50.34233552 53.25715374 -52 55 C-52.66 54.67 -53.32 54.34 -54 54 C-51.83472555 51.977658 -49.66781928 49.95711122 -47.5 47.9375 C-46.89929688 47.37611328 -46.29859375 46.81472656 -45.6796875 46.23632812 C-42.56144585 43.33370957 -39.41498516 40.48333742 -36.18359375 37.70703125 C-31.09317683 33.27497492 -26.33507042 28.51912949 -21.5625 23.75 C-20.67240234 22.87214844 -19.78230469 21.99429688 -18.86523438 21.08984375 C-13.4711728 15.70760262 -8.53466707 10.18237359 -3.79272461 4.22363281 C-2 2 -2 2 0 0 Z " fill="#100100" transform="translate(430,866)"/><path d="M0 0 C0.66 0.99 1.32 1.98 2 3 C-0.89335863 8.51445266 -3.79369616 14.02517663 -6.70019531 19.53271484 C-7.84360629 21.70313396 -8.98118544 23.87647993 -10.1171875 26.05078125 C-10.71789062 27.18902344 -11.31859375 28.32726562 -11.9375 29.5 C-12.46214844 30.5003125 -12.98679687 31.500625 -13.52734375 32.53125 C-14.85914156 34.76386595 -16.07802674 36.28226913 -18 38 C-18.66 38.66 -19.32 39.32 -20 40 C-19.41565834 35.56394152 -17.72849756 32.50284036 -15.4375 28.6875 C-11.91527202 22.72327975 -8.73885316 16.64346064 -5.70288086 10.41870117 C-3.95081969 6.83958789 -2.10948747 3.38167068 0 0 Z " fill="#170604" transform="translate(684,429)"/><path d="M0 0 C2.93942509 3.60747624 4.35275732 7.23086999 5.9375 11.5625 C7.02850487 14.06539353 8.27759809 15.89146768 10 18 C10.46019531 18.56460938 10.92039062 19.12921875 11.39453125 19.7109375 C17.25042176 27.1677829 17.25042176 27.1677829 25 32 C25.41507813 32.44214844 25.83015625 32.88429687 26.2578125 33.33984375 C28.77431088 35.73785229 31.77694812 37.06500091 34.875 38.5625 C35.79345703 39.01786133 35.79345703 39.01786133 36.73046875 39.48242188 C40.10168598 41.13915497 43.49126214 42.65920854 47 44 C43.07296041 45.30595139 41.0498372 44.38610009 37.36499023 42.54833984 C36.66704346 42.1817627 35.96909668 41.81518555 35.25 41.4375 C34.53207275 41.06834473 33.81414551 40.69918945 33.07446289 40.31884766 C27.9843749 37.6480118 23.37876836 34.73847676 19 31 C18.4121875 30.55398437 17.824375 30.10796875 17.21875 29.6484375 C9.00716674 23.20162433 3.39467407 13.79293073 0 4 C0 2.68 0 1.36 0 0 Z " fill="#CB3F00" transform="translate(691,120)"/><path d="M0 0 C5.05297531 2.26399543 8.66032648 5.81511578 10.828125 10.96875 C13.14726209 19.84773202 13.28021846 30.38942654 10 39 C9.34 39 8.68 39 8 39 C8.99 28.605 8.99 28.605 10 18 C9.34 18 8.68 18 8 18 C7.75765625 17.33613281 7.5153125 16.67226563 7.265625 15.98828125 C5.36132004 10.97117011 3.50073991 7.12587203 0 3 C0 2.01 0 1.02 0 0 Z " fill="#29140E" transform="translate(742,696)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C4.84038919 8.52116756 3.6142248 18.90869493 0 27 C-0.28617188 27.69222656 -0.57234375 28.38445313 -0.8671875 29.09765625 C-1.55375842 30.74215708 -2.2730235 32.37295736 -3 34 C-3.66 33.67 -4.32 33.34 -5 33 C-4.23196152 27.49572421 -4.23196152 27.49572421 -3.03125 24.9296875 C-1.52037052 20.63741624 -1.26814615 16.32723566 -0.875 11.8125 C-0.78863281 10.89791016 -0.70226562 9.98332031 -0.61328125 9.04101562 C-0.16641656 4.52770227 -0.16641656 4.52770227 0 0 Z " fill="#28120C" transform="translate(629,558)"/><path d="M0 0 C0.71124023 0.16508057 1.42248047 0.33016113 2.15527344 0.50024414 C7.3190021 1.82225315 7.3190021 1.82225315 9.5625 5.1875 C8.97082031 4.98253906 8.37914062 4.77757812 7.76953125 4.56640625 C6.97933594 4.29699219 6.18914062 4.02757812 5.375 3.75 C4.59769531 3.48316406 3.82039063 3.21632813 3.01953125 2.94140625 C-8.16264165 -0.48968973 -19.85903394 0.20488917 -30.4375 5.1875 C-35.42165106 8.1698199 -38.90968536 11.57420393 -42.4375 16.1875 C-43.0975 16.1875 -43.7575 16.1875 -44.4375 16.1875 C-41.53424466 9.69787042 -35.64979424 4.46946677 -29.4375 1.1875 C-18.9215953 -2.30775772 -10.63256985 -2.51458629 0 0 Z " fill="#4B2719" transform="translate(355.4375,470.8125)"/><path d="M0 0 C1.29563826 3.88691478 0.17570894 6.29752116 -1.125 10 C-1.35292236 10.66628418 -1.58084473 11.33256836 -1.81567383 12.01904297 C-3.56502294 17.02284157 -5.59910875 21.84895055 -7.88671875 26.6328125 C-9.02574073 29.05473293 -10.02844205 31.50677823 -11 34 C-11.66 34 -12.32 34 -13 34 C-13.33 34.99 -13.66 35.98 -14 37 C-15.13858522 33.58424435 -14.9516927 33.26760269 -13.48828125 30.19140625 C-13.14410156 29.44938965 -12.79992187 28.70737305 -12.4453125 27.94287109 C-12.07148437 27.15734863 -11.69765625 26.37182617 -11.3125 25.5625 C-8.04046522 18.47831669 -5.23169695 11.48793057 -3 4 C-2.34 4 -1.68 4 -1 4 C-0.67 2.68 -0.34 1.36 0 0 Z " fill="#190403" transform="translate(814,414)"/><path d="M0 0 C0.73202637 0.00418945 1.46405273 0.00837891 2.21826172 0.01269531 C15.15753886 0.27387033 27.62028317 3.80847096 40 7.3125 C40 7.6425 40 7.9725 40 8.3125 C33.02225028 7.97703126 26.51755424 6.57433074 19.79882812 4.77246094 C13.16257314 3.00960274 6.92520775 2.17925044 0.0625 2.25 C-1.65259766 2.26353516 -1.65259766 2.26353516 -3.40234375 2.27734375 C-4.25957031 2.28894531 -5.11679687 2.30054688 -6 2.3125 C-5.01 3.3025 -4.02 4.2925 -3 5.3125 C-4.60495567 5.19807539 -6.20898119 5.07055306 -7.8125 4.9375 C-8.70582031 4.86789062 -9.59914063 4.79828125 -10.51953125 4.7265625 C-13 4.3125 -13 4.3125 -16 2.3125 C-10.59603009 0.79866468 -5.63339302 -0.04526953 0 0 Z " fill="#EBAA0C" transform="translate(302,734.6875)"/><path d="M0 0 C0 4.09459203 -1.96927276 6.76750835 -4 10.1875 C-4.3815625 10.84169922 -4.763125 11.49589844 -5.15625 12.16992188 C-6.09838932 13.78333545 -7.04844266 15.39212298 -8 17 C-8.66 17 -9.32 17 -10 17 C-10 17.99 -10 18.98 -10 20 C-10.66 20 -11.32 20 -12 20 C-12.66 22.31 -13.32 24.62 -14 27 C-14.66 27 -15.32 27 -16 27 C-16.33 29.64 -16.66 32.28 -17 35 C-15.68 35.99 -14.36 36.98 -13 38 C-16.96 37.505 -16.96 37.505 -21 37 C-20.60705979 30.82378591 -17.61027763 26.43775617 -14.4375 21.3125 C-13.89899414 20.42852539 -13.36048828 19.54455078 -12.80566406 18.63378906 C-8.83698914 12.18498813 -4.65921888 5.97476303 0 0 Z " fill="#E68D03" transform="translate(481,261)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1.40905442 5.14019331 0.26893916 7.96036492 -2.3125 12.375 C-4.44225993 16.12029211 -6.38445836 19.6607564 -7.75 23.75 C-8.1625 24.8225 -8.575 25.895 -9 27 C-9.99 27.33 -10.98 27.66 -12 28 C-13.21869929 30.50447516 -13.21869929 30.50447516 -14 33 C-14.33 32.34 -14.66 31.68 -15 31 C-13.9519043 28.25024414 -13.9519043 28.25024414 -12.32421875 24.78515625 C-12.03899857 24.17361191 -11.75377838 23.56206757 -11.45991516 22.93199158 C-10.85400089 21.63660396 -10.24428495 20.3429889 -9.63110352 19.05102539 C-8.69457566 17.07741106 -7.76913558 15.09891078 -6.84570312 13.11914062 C-2.33412383 3.50118575 -2.33412383 3.50118575 0 0 Z " fill="#160503" transform="translate(723,296)"/><path d="M0 0 C7.425 0.99 7.425 0.99 15 2 C15 2.33 15 2.66 15 3 C12.36 3 9.72 3 7 3 C7.1957792 5.40144267 7.1957792 5.40144267 8 8 C9.30915279 9.03145371 10.64082143 10.03542166 12 11 C12 11.99 12 12.98 12 14 C12.99 14.33 13.98 14.66 15 15 C16.61328125 16.6015625 16.61328125 16.6015625 18.3125 18.625 C18.91835938 19.33914063 19.52421875 20.05328125 20.1484375 20.7890625 C20.75945312 21.51867187 21.37046875 22.24828125 22 23 C23.14453013 24.33445216 24.29025017 25.66788527 25.4375 27 C26.283125 27.99 27.12875 28.98 28 30 C23.77642402 28.35352123 20.92843513 25.23039017 17.8125 22.0625 C17.24168701 21.48636963 16.67087402 20.91023926 16.08276367 20.31665039 C10.03058826 14.13022765 3.89246634 7.78493268 0 0 Z " fill="#B03F00" transform="translate(268,755)"/><path d="M0 0 C0 0.33 0 0.66 0 1 C-5.05361019 0.58576966 -9.68350399 -0.10308075 -14.5625 -1.5 C-23.08358364 -3.90940986 -30.91945358 -4.06019424 -39.70703125 -3.83984375 C-43 -4 -43 -4 -46 -6 C-31.87249703 -10.70916766 -13.71805023 -4.22258734 0 0 Z " fill="#CA6900" transform="translate(339,743)"/><path d="M0 0 C0.66 0.99 1.32 1.98 2 3 C1.20703125 5.453125 1.20703125 5.453125 -0.1875 8.25 C-0.66445313 9.23097656 -1.14140625 10.21195313 -1.6328125 11.22265625 C-2.08398438 12.13917969 -2.53515625 13.05570313 -3 14 C-3.5319329 15.22440412 -4.05493144 16.45279671 -4.5625 17.6875 C-5.67459459 20.25015276 -6.80189244 22.78969239 -8 25.3125 C-8.309375 25.96863281 -8.61875 26.62476563 -8.9375 27.30078125 C-10 29 -10 29 -13 31 C-10.86156945 24.14686945 -8.22938884 17.58350975 -5.375 11 C-4.96765625 10.04738281 -4.5603125 9.09476563 -4.140625 8.11328125 C-1.13375235 1.13375235 -1.13375235 1.13375235 0 0 Z " fill="#1A0704" transform="translate(760,215)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1 10.89 1 21.78 1 33 C0.34 31.68 -0.32 30.36 -1 29 C-1.66 28.34 -2.32 27.68 -3 27 C-3.45423861 23.41575451 -3.32401789 19.79720652 -3.3125 16.1875 C-3.32861328 15.18912109 -3.34472656 14.19074219 -3.36132812 13.16210938 C-3.36747867 3.93014599 -3.36747867 3.93014599 0 0 Z " fill="#2A0D07" transform="translate(671,95)"/><path d="M0 0 C0.68359375 1.671875 0.68359375 1.671875 1 4 C-0.15234375 6.453125 -0.15234375 6.453125 -1.9375 9.25 C-4.87811545 14.04969242 -7.52332807 18.88356218 -10 23.9375 C-13.50093704 31.05393467 -17.1888525 38.04465582 -21 45 C-21.33 44.34 -21.66 43.68 -22 43 C-21.37443542 41.26112366 -21.37443542 41.26112366 -20.30932617 39.14868164 C-19.71827339 37.96218773 -19.71827339 37.96218773 -19.11528015 36.75172424 C-18.67891739 35.89650681 -18.24255463 35.04128937 -17.79296875 34.16015625 C-17.35237625 33.28225937 -16.91178375 32.40436249 -16.45783997 31.49986267 C-15.52238682 29.63940092 -14.58311849 27.78085342 -13.64038086 25.92407227 C-12.1971405 23.08148779 -10.76452159 20.23376074 -9.33398438 17.38476562 C-8.42509539 15.58041863 -7.51560969 13.77637207 -6.60546875 11.97265625 C-6.17517868 11.11946304 -5.74488861 10.26626984 -5.30155945 9.38722229 C-4.89806778 8.59307419 -4.49457611 7.79892609 -4.07885742 6.98071289 C-3.72498459 6.28281143 -3.37111176 5.58490997 -3.0065155 4.86585999 C-2 3 -2 3 0 0 Z " fill="#A89984" transform="translate(520,471)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C0.52869359 7.24323541 -0.08297911 14.47240289 -0.875 21.6875 C-0.94122559 22.38230469 -1.00745117 23.07710937 -1.07568359 23.79296875 C-1.3046875 25.76171875 -1.3046875 25.76171875 -2 29 C-2.99 29.66 -3.98 30.32 -5 31 C-3.96283391 5.94425087 -3.96283391 5.94425087 0 0 Z " fill="#2B120D" transform="translate(312,873)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C2 1.66 2 2.32 2 3 C1.34124878 3.65838867 1.34124878 3.65838867 0.66918945 4.33007812 C-1.29554207 6.29567175 -2.39289181 8.27116235 -3.70703125 10.71875 C-4.21169922 11.65203125 -4.71636719 12.5853125 -5.23632812 13.546875 C-5.75646484 14.52140625 -6.27660156 15.4959375 -6.8125 16.5 C-7.83984375 18.40625 -8.8671875 20.3125 -9.89453125 22.21875 C-10.40064941 23.16234375 -10.90676758 24.1059375 -11.42822266 25.078125 C-13.93082796 29.7303742 -16.46505324 34.36531474 -19 39 C-19.33 38.34 -19.66 37.68 -20 37 C-19.12304688 34.76025391 -19.12304688 34.76025391 -17.71875 31.9765625 C-17.20932861 30.96021729 -16.69990723 29.94387207 -16.17504883 28.89672852 C-15.62228271 27.81705811 -15.0695166 26.7373877 -14.5 25.625 C-13.67375122 23.99292603 -13.67375122 23.99292603 -12.83081055 22.32788086 C-2.95229101 2.95229101 -2.95229101 2.95229101 0 0 Z " fill="#3E3023" transform="translate(606,367)"/><path d="M0 0 C0.96254164 2.88762493 1.02820226 4.35569642 0.875 7.3125 C0.82329251 12.62113561 2.43388834 15.87008814 5.5625 20.125 C9.3030821 23.00237084 13.58476122 24.4159067 18 26 C14.37789769 27.31712811 12.32755223 26.68301982 8.8125 25.25 C7.93207031 24.90453125 7.05164063 24.5590625 6.14453125 24.203125 C4 23 4 23 3 20 C0.98491642 19.26676204 0.98491642 19.26676204 -1 19 C-1.22307542 16.7722603 -1.42788178 14.54268636 -1.625 12.3125 C-1.74101562 11.07113281 -1.85703125 9.82976562 -1.9765625 8.55078125 C-1.99953004 5.07119831 -1.54051631 3.07515279 0 0 Z " fill="#2A0F0A" transform="translate(437,292)"/><path d="M0 0 C8.66736307 2.43294402 16.17171506 6.65782877 24 11 C20.23375329 12.25541557 18.62811066 11.37061958 15 10 C14.67 10.66 14.34 11.32 14 12 C13.34 12 12.68 12 12 12 C7 6.52380952 7 6.52380952 7 4 C4.03 3.505 4.03 3.505 1 3 C0.67 2.01 0.34 1.02 0 0 Z " fill="#DF9803" transform="translate(524,274)"/><path d="M0 0 C0.99 1.32 1.98 2.64 3 4 C2.56429688 4.67804687 2.12859375 5.35609375 1.6796875 6.0546875 C-1.91488343 11.67217713 -5.41060602 17.32143621 -8.73828125 23.1015625 C-10 25 -10 25 -12 26 C-10.66275093 22.57094969 -9.20576754 19.23769371 -7.6171875 15.91796875 C-7.17246094 14.98662109 -6.72773438 14.05527344 -6.26953125 13.09570312 C-5.80933594 12.13599609 -5.34914063 11.17628906 -4.875 10.1875 C-4.40707031 9.20845703 -3.93914062 8.22941406 -3.45703125 7.22070312 C-2.30609188 4.81312587 -1.15370472 2.40625301 0 0 Z " fill="#160B08" transform="translate(340,926)"/><path d="M0 0 C1 3 1 3 0.39894104 4.8033905 C0.05918747 5.47179459 -0.2805661 6.14019867 -0.63061523 6.82885742 C-1.01108505 7.5894194 -1.39155487 8.34998138 -1.78355408 9.1335907 C-2.20431717 9.94931046 -2.62508026 10.76503021 -3.05859375 11.60546875 C-3.48173355 12.44467361 -3.90487335 13.28387848 -4.34083557 14.14851379 C-5.69709593 16.83300261 -7.06708452 19.51021412 -8.4375 22.1875 C-9.35833329 24.00409558 -10.27826688 25.82114753 -11.19726562 27.63867188 C-13.45443037 32.09781429 -15.72393352 36.55047788 -18 41 C-18.66 39.68 -19.32 38.36 -20 37 C-19.34 36.01 -18.68 35.02 -18 34 C-17.34 34 -16.68 34 -16 34 C-15.73719238 33.14841309 -15.47438477 32.29682617 -15.20361328 31.41943359 C-13.95542093 27.87335202 -12.43531391 24.64453121 -10.7421875 21.2890625 C-10.43427277 20.67606293 -10.12635803 20.06306335 -9.80911255 19.43148804 C-8.83484937 17.49406342 -7.85503083 15.5595124 -6.875 13.625 C-6.2092647 12.30357212 -5.54389647 10.98195924 -4.87890625 9.66015625 C-3.25684177 6.43795475 -1.62978626 3.21830407 0 0 Z " fill="#6B5C4C" transform="translate(355,893)"/><path d="M0 0 C0.33 0.99 0.66 1.98 1 3 C-3.21896866 5.04898287 -6.65372146 5.21207997 -11.3125 5.125 C-12.56675781 5.10695313 -13.82101562 5.08890625 -15.11328125 5.0703125 C-16.06589844 5.04710937 -17.01851562 5.02390625 -18 5 C-18 4.34 -18 3.68 -18 3 C-20.31 3 -22.62 3 -25 3 C-25 2.67 -25 2.34 -25 2 C-23.69804688 1.93941406 -22.39609375 1.87882813 -21.0546875 1.81640625 C-19.32811601 1.73195438 -17.601554 1.64730874 -15.875 1.5625 C-15.0190625 1.52318359 -14.163125 1.48386719 -13.28125 1.44335938 C-8.78278208 1.21843598 -4.43193793 0.86459117 0 0 Z " fill="#150402" transform="translate(542,927)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C1.38153536 3.91819239 0.75551865 6.83441022 0.125 9.75 C-0.04902344 10.575 -0.22304688 11.4 -0.40234375 12.25 C-0.57636719 13.04921875 -0.75039063 13.8484375 -0.9296875 14.671875 C-1.08679199 15.4050293 -1.24389648 16.13818359 -1.40576172 16.89355469 C-2.02941889 19.10428356 -2.91143399 20.98236484 -4 23 C-3.98259766 21.78763672 -3.98259766 21.78763672 -3.96484375 20.55078125 C-3.95582031 19.48214844 -3.94679688 18.41351562 -3.9375 17.3125 C-3.92589844 16.25675781 -3.91429687 15.20101562 -3.90234375 14.11328125 C-3.90650947 11.03934696 -3.90650947 11.03934696 -4.5859375 8.25 C-5 6 -5 6 -3.6875 3.6875 C-3.130625 3.130625 -2.57375 2.57375 -2 2 C-1.34 2 -0.68 2 0 2 C0 1.34 0 0.68 0 0 Z " fill="#C46100" transform="translate(564,607)"/><path d="M0 0 C0.556875 0.226875 1.11375 0.45375 1.6875 0.6875 C-0.2925 1.3475 -2.2725 2.0075 -4.3125 2.6875 C-4.3125 3.3475 -4.3125 4.0075 -4.3125 4.6875 C-5.735625 5.80125 -5.735625 5.80125 -7.1875 6.9375 C-11.23530681 10.23289096 -12.03940405 13.36136507 -12.64453125 18.515625 C-12.90632738 21.23830475 -13.12798439 23.95861118 -13.3125 26.6875 C-15.3125 24.6875 -15.3125 24.6875 -15.625 21.0625 C-15.40704445 13.54303345 -12.49786974 7.99633093 -7.3125 2.6875 C-3.18823964 -0.4308432 -3.18823964 -0.4308432 0 0 Z " fill="#EA9903" transform="translate(337.3125,490.3125)"/><path d="M0 0 C7.21455388 1.02845768 13.90580695 2.85102412 20 7 C20.33 7.99 20.66 8.98 21 10 C23.50447516 11.21869929 23.50447516 11.21869929 26 12 C25.01 12.495 25.01 12.495 24 13 C21.67749023 12.13549805 21.67749023 12.13549805 18.80859375 10.76171875 C17.78185547 10.27123047 16.75511719 9.78074219 15.69726562 9.27539062 C14.62154297 8.75138672 13.54582031 8.22738281 12.4375 7.6875 C11.35791016 7.17509766 10.27832031 6.66269531 9.16601562 6.13476562 C1.13046713 2.26093427 1.13046713 2.26093427 0 0 Z " fill="#230E08" transform="translate(782,371)"/><path d="M0 0 C1.31223496 3.93670488 0.24296256 6.12488144 -1 10 C-1.66 10 -2.32 10 -3 10 C-3.66 17.59 -4.32 25.18 -5 33 C-8.02885154 28.45672269 -7.53118802 24.3310798 -7 19 C-5.52496972 12.19160902 -3.83614682 5.86963439 0 0 Z " fill="#CD4000" transform="translate(696,86)"/><path d="M0 0 C0.93134766 0.00322266 1.86269531 0.00644531 2.82226562 0.00976562 C4.26182617 0.02233398 4.26182617 0.02233398 5.73046875 0.03515625 C6.70951172 0.03966797 7.68855469 0.04417969 8.69726562 0.04882812 C11.10422986 0.06056941 13.51106732 0.07699206 15.91796875 0.09765625 C15.91796875 0.42765625 15.91796875 0.75765625 15.91796875 1.09765625 C8.32796875 1.42765625 0.73796875 1.75765625 -7.08203125 2.09765625 C-7.08203125 2.75765625 -7.08203125 3.41765625 -7.08203125 4.09765625 C-12.37215792 5.67343866 -17.68407136 6.94707069 -23.08203125 8.09765625 C-20.73479187 5.41290533 -18.51731491 4.25048611 -15.20703125 2.97265625 C-14.36398437 2.64007813 -13.5209375 2.3075 -12.65234375 1.96484375 C-8.4041522 0.53156332 -4.47655865 -0.02746355 0 0 Z " fill="#ED7200" transform="translate(739.08203125,57.90234375)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C0.16379339 4.95372224 -2.24661026 9.60403157 -4.625 14.3125 C-5.04523438 15.14845703 -5.46546875 15.98441406 -5.8984375 16.84570312 C-6.93047831 18.898057 -7.96438144 20.94944979 -9 23 C-14.13599156 22.2387883 -16.22662093 20.42236706 -20 17 C-16.42003353 17 -15.76606183 17.92545363 -13 20 C-12.01 20 -11.02 20 -10 20 C-9.649375 19.113125 -9.29875 18.22625 -8.9375 17.3125 C-6.39353972 11.33542826 -3.1222652 5.68851057 0 0 Z " fill="#462617" transform="translate(425,608)"/><path d="M0 0 C0.721875 0.598125 1.44375 1.19625 2.1875 1.8125 C4.71644556 3.77945766 7.2464526 5.37611307 10 7 C13.44389251 9.22840103 14.93173949 11.49294957 17 15 C17.99 15.66 18.98 16.32 20 17 C20 17.66 20 18.32 20 19 C21.32 19.66 22.64 20.32 24 21 C20.34114712 21 19.86575718 20.29195964 17.25 17.875 C13.99141419 14.90003184 10.67051108 12.04851907 7.25 9.26171875 C6 8 6 8 6 6 C5.38125 5.7525 4.7625 5.505 4.125 5.25 C1.64931313 3.79371361 1.04874998 2.62187494 0 0 Z " fill="#320F08" transform="translate(274,790)"/><path d="M0 0 C0.63769531 1.79785156 0.63769531 1.79785156 1 4 C-0.67090821 6.45303545 -2.29752688 8.54559487 -4.25 10.75 C-4.75402344 11.35199219 -5.25804687 11.95398438 -5.77734375 12.57421875 C-7.11035997 14.11715878 -8.54993396 15.56650614 -10 17 C-10.99 17 -11.98 17 -13 17 C-11.51516897 13.76306836 -9.67292565 11.0674375 -7.5 8.25 C-6.58734375 7.05117188 -6.58734375 7.05117188 -5.65625 5.828125 C-5.1096875 5.22484375 -4.563125 4.6215625 -4 4 C-3.34 4 -2.68 4 -2 4 C-1.34 2.68 -0.68 1.36 0 0 Z " fill="#160201" transform="translate(603,843)"/><path d="M0 0 C0.90105469 0.02707031 1.80210937 0.05414062 2.73046875 0.08203125 C3.76107422 0.13423828 3.76107422 0.13423828 4.8125 0.1875 C4.93625 0.826875 5.06 1.46625 5.1875 2.125 C5.39375 2.805625 5.6 3.48625 5.8125 4.1875 C6.4725 4.5175 7.1325 4.8475 7.8125 5.1875 C2.02351581 5.39424944 -2.61682723 4.77912079 -8.1875 3.1875 C-5.67753317 0.01043235 -3.96125134 -0.15433447 0 0 Z " fill="#D98603" transform="translate(306.1875,737.8125)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C-2.32616958 4.73107052 -6.7883886 7.99333615 -11.5625 11.125 C-12.20896484 11.55425781 -12.85542969 11.98351562 -13.52148438 12.42578125 C-23.46372596 19 -23.46372596 19 -26 19 C-26 18.34 -26 17.68 -26 17 C-24.33627837 15.92741755 -22.61452323 14.94470191 -20.875 14 C-13.52714445 9.85258273 -6.79132116 4.99302754 0 0 Z " fill="#BC5800" transform="translate(530,645)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C1.39733215 4.50727647 -0.36599794 7.8587963 -2.5625 11.8125 C-3.0565332 12.7087207 -3.0565332 12.7087207 -3.56054688 13.62304688 C-4.36773267 15.08533998 -5.18304917 16.5431399 -6 18 C-6.66 17.01 -7.32 16.02 -8 15 C-6.85657478 12.68628057 -5.71038936 10.37400323 -4.5625 8.0625 C-4.23701172 7.40314453 -3.91152344 6.74378906 -3.57617188 6.06445312 C-1.11328125 1.11328125 -1.11328125 1.11328125 0 0 Z " fill="#220D08" transform="translate(550,360)"/><path d="M0 0 C6.01125904 0.5856707 11.1891803 2.34749177 16.8125 4.5 C18.09930664 4.98146484 18.09930664 4.98146484 19.41210938 5.47265625 C25.5984623 7.79923115 25.5984623 7.79923115 28 9 C27.67 9.66 27.34 10.32 27 11 C24.0625 10.625 24.0625 10.625 21 10 C20.67 9.34 20.34 8.68 20 8 C17.98181379 7.06384966 17.98181379 7.06384966 15.52734375 6.2734375 C14.62822266 5.9640625 13.72910156 5.6546875 12.80273438 5.3359375 C11.85720703 5.01882813 10.91167969 4.70171875 9.9375 4.375 C8.98810547 4.05015625 8.03871094 3.7253125 7.06054688 3.390625 C4.70919092 2.58714658 2.35570837 1.79060796 0 1 C0 0.67 0 0.34 0 0 Z " fill="#F0C50F" transform="translate(332,710)"/><path d="M0 0 C0.95723508 2.56045702 1.11371335 3.69468745 0.14453125 6.296875 C-0.29503906 7.10640625 -0.73460937 7.9159375 -1.1875 8.75 C-1.87972656 10.05324219 -1.87972656 10.05324219 -2.5859375 11.3828125 C-3.28589844 12.67832031 -3.28589844 12.67832031 -4 14 C-4.77676467 15.53868671 -5.54827138 17.08004862 -6.3125 18.625 C-6.869375 19.73875 -7.42625 20.8525 -8 22 C-9.63636721 18.72726559 -7.95888564 15.91419856 -6.90234375 12.5546875 C-5.8439906 9.55831106 -4.53644902 6.78024108 -3 4 C-2.34 4 -1.68 4 -1 4 C-0.67 2.68 -0.34 1.36 0 0 Z " fill="#220D08" transform="translate(738,266)"/><path d="M0 0 C3.37503669 1.1858237 5.64722731 2.27573689 8 5 C5.69 4.34 3.38 3.68 1 3 C-3.02884012 7.50846394 -6.47768392 12.06406858 -9.703125 17.1796875 C-11 19 -11 19 -13 20 C-11.43062793 15.30085164 -8.83473621 11.70040411 -5.9375 7.75 C-5.47794922 7.11320313 -5.01839844 6.47640625 -4.54492188 5.8203125 C-1.19148166 1.19148166 -1.19148166 1.19148166 0 0 Z " fill="#A13C00" transform="translate(466,848)"/><path d="M0 0 C2.50630622 3.78837826 2.08298375 7.01670256 1.75 11.4375 C1.61851562 13.38462891 1.61851562 13.38462891 1.484375 15.37109375 C1.05115347 18.61676153 0.38376796 21.05665751 -1 24 C-1.33 24 -1.66 24 -2 24 C-1.85873374 20.93722733 -1.71215604 17.87486458 -1.5625 14.8125 C-1.50352539 13.51602539 -1.50352539 13.51602539 -1.44335938 12.19335938 C-1.23652984 8.04085878 -0.99896469 4.05462138 0 0 Z " fill="#280C08" transform="translate(384,502)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1.11459026 7.41017023 0.91160286 14.64206267 0 22 C-0.66 22 -1.32 22 -2 22 C-2.19355213 14.34393782 -2.3479743 7.33741969 0 0 Z " fill="#3D261B" transform="translate(306,906)"/><path d="M0 0 C0.33 0.99 0.66 1.98 1 3 C-0.375 4.5 -0.375 4.5 -2 6 C-2.66 6 -3.32 6 -4 6 C-4.66 7.32 -5.32 8.64 -6 10 C-6.66 10 -7.32 10 -8 10 C-8 10.66 -8 11.32 -8 12 C-8.99 12.66 -9.98 13.32 -11 14 C-11.99 13.67 -12.98 13.34 -14 13 C-12.41984377 11.39270369 -10.83574348 9.78928424 -9.25 8.1875 C-8.36828125 7.29417969 -7.4865625 6.40085937 -6.578125 5.48046875 C-4.46551149 3.44787848 -2.39205335 1.68226182 0 0 Z " fill="#170302" transform="translate(424,902)"/><path d="M0 0 C0.99 0.33 1.98 0.66 3 1 C2.54625 1.5775 2.0925 2.155 1.625 2.75 C-1.02444396 6.41846086 -2.25491935 9.52951613 -3 14 C-4.32 13.67 -5.64 13.34 -7 13 C-6.65986985 7.55791766 -3.29703472 4.06331802 0 0 Z " fill="#953800" transform="translate(451,869)"/><path d="M0 0 C0.66 0.66 1.32 1.32 2 2 C1.66393718 6.14000793 -0.03913309 9.23932014 -2.0625 12.8125 C-2.61035156 13.78832031 -3.15820312 14.76414062 -3.72265625 15.76953125 C-4.14417969 16.50558594 -4.56570313 17.24164062 -5 18 C-5.8711597 15.55298453 -6.10445676 14.32260403 -5.29296875 11.81640625 C-4.74576172 10.70072266 -4.74576172 10.70072266 -4.1875 9.5625 C-3.81496094 8.78132812 -3.44242187 8.00015625 -3.05859375 7.1953125 C-2.53458984 6.10863281 -2.53458984 6.10863281 -2 5 C-1.32165413 3.33805262 -0.64800425 1.67401097 0 0 Z " fill="#260F09" transform="translate(460,538)"/><path d="M0 0 C1 3 1 3 -0.43359375 6.35546875 C-1.09148807 7.6380304 -1.75989743 8.91524057 -2.4375 10.1875 C-2.77587891 10.84169922 -3.11425781 11.49589844 -3.46289062 12.16992188 C-4.29969098 13.78459299 -5.14869746 15.39292763 -6 17 C-4.35 16.34 -2.7 15.68 -1 15 C-3.77280706 18.08089673 -6.06326356 19.68775452 -10 21 C-8.51991304 15.99886406 -6.3681664 11.67084403 -3.875 7.125 C-3.50246094 6.43664062 -3.12992187 5.74828125 -2.74609375 5.0390625 C-1.83500474 3.35705202 -0.91809685 1.67819564 0 0 Z " fill="#73674F" transform="translate(515,603)"/><path d="M0 0 C4.75 0.75 4.75 0.75 7 3 C5.68 3 4.36 3 3 3 C-0.07737121 6.01744663 -0.07737121 6.01744663 -1 10 C1.46326712 11.6446674 1.46326712 11.6446674 4 13 C3.01 13.495 3.01 13.495 2 14 C-0.03144641 13.06553465 -2.03533587 12.06775224 -4 11 C-3.39301257 6.87248551 -1.96189209 3.6678852 0 0 Z " fill="#C35600" transform="translate(627,290)"/><path d="M0 0 C0.99 0.66 1.98 1.32 3 2 C2.01 2.66 1.02 3.32 0 4 C-0.72965366 6.56282742 -0.72965366 6.56282742 -1 9 C-1.66 8.34 -2.32 7.68 -3 7 C-6.63 10.3 -10.26 13.6 -14 17 C-14.66 16.67 -15.32 16.34 -16 16 C-15.58637207 15.62190186 -15.17274414 15.24380371 -14.74658203 14.85424805 C-12.86972107 13.13524158 -10.99733198 11.41143776 -9.125 9.6875 C-8.47402344 9.09259766 -7.82304688 8.49769531 -7.15234375 7.88476562 C-6.52714844 7.30791016 -5.90195312 6.73105469 -5.2578125 6.13671875 C-4.6817627 5.60780029 -4.10571289 5.07888184 -3.51220703 4.53393555 C-1.77726107 2.87076805 -1.77726107 2.87076805 0 0 Z " fill="#B25000" transform="translate(549,627)"/><path d="M0 0 C5.36835524 0.03741014 10.02066942 0.50820497 15.1171875 2.265625 C17.1171875 4.390625 17.1171875 4.390625 18.1171875 6.265625 C15.16208683 5.85328537 12.52727535 5.44059582 9.7734375 4.265625 C6.87278537 3.17361479 4.38892611 2.86358201 1.3046875 2.640625 C0.32886719 2.56585938 -0.64695312 2.49109375 -1.65234375 2.4140625 C-2.38839844 2.36507812 -3.12445313 2.31609375 -3.8828125 2.265625 C-1.8828125 0.265625 -1.8828125 0.265625 0 0 Z " fill="#160201" transform="translate(484.8828125,233.734375)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C-0.57610262 3.46600511 -3.16208149 5.92140252 -5.75 8.375 C-6.47960937 9.07367187 -7.20921875 9.77234375 -7.9609375 10.4921875 C-8.66992188 11.1625 -9.37890625 11.8328125 -10.109375 12.5234375 C-10.75874023 13.14138184 -11.40810547 13.75932617 -12.07714844 14.39599609 C-13.97030301 15.97522737 -15.75576057 17.00013457 -18 18 C-6.85714286 4.57142857 -6.85714286 4.57142857 0 0 Z " fill="#F7D314" transform="translate(297,706)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C2 0.99 2 1.98 2 3 C2.99 3.33 3.98 3.66 5 4 C6.61328125 5.6015625 6.61328125 5.6015625 8.3125 7.625 C8.91835938 8.33914063 9.52421875 9.05328125 10.1484375 9.7890625 C11.06496094 10.88347656 11.06496094 10.88347656 12 12 C13.14453013 13.33445216 14.29025017 14.66788527 15.4375 16 C16.283125 16.99 17.12875 17.98 18 19 C13.57550055 16.98728182 10.70349627 14.03477255 7.3125 10.625 C6.71888672 10.0475 6.12527344 9.47 5.51367188 8.875 C4.94841797 8.31039062 4.38316406 7.74578125 3.80078125 7.1640625 C3.28684814 6.65311035 2.77291504 6.1421582 2.2434082 5.61572266 C0.82345365 3.77059027 0.40976852 2.27266055 0 0 Z " fill="#9F3500" transform="translate(278,766)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1.23268915 6.28260706 0.40454548 11.88019467 -1 18 C-3 16 -3 16 -3.3125 12.9375 C-2.94170171 8.26544159 -1.6588358 4.35444399 0 0 Z " fill="#C65A00" transform="translate(559,631)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C2.23848104 4.84414612 1.39796502 8.74424088 0 13.375 C-0.37125 14.62023437 -0.7425 15.86546875 -1.125 17.1484375 C-1.558125 18.55996094 -1.558125 18.55996094 -2 20 C-3.04850217 16.85449349 -2.9598919 15.35319595 -2.5625 12.125 C-2.24083994 9.46214326 -2.00036577 6.98902681 -2.08984375 4.3046875 C-2 2 -2 2 0 0 Z " fill="#2C110B" transform="translate(818,393)"/><path d="M0 0 C2.93942509 3.60747624 4.35275732 7.23086999 5.9375 11.5625 C7.01944995 14.04462048 8.34256695 15.87348213 10 18 C10.71162443 19.64797236 11.39031953 21.31165408 12 23 C8.03710157 19.39300955 5.51629347 15.78529743 3.1875 10.9375 C2.87619141 10.32583984 2.56488281 9.71417969 2.24414062 9.08398438 C0.59330538 5.72789075 0 3.82184148 0 0 Z " fill="#D64700" transform="translate(691,120)"/><path d="M0 0 C1.33332095 2.6666419 0.67102033 4.16680303 0 7 C-0.61875 7.061875 -1.2375 7.12375 -1.875 7.1875 C-4.2167911 7.79831899 -4.2167911 7.79831899 -5 10.1875 C-5.495 11.5796875 -5.495 11.5796875 -6 13 C-7.29788956 15.02318078 -8.62464661 17.02866014 -10 19 C-10.33 18.34 -10.66 17.68 -11 17 C-10.21142578 15.32006836 -10.21142578 15.32006836 -8.9453125 13.33984375 C-8.49542969 12.62892578 -8.04554688 11.91800781 -7.58203125 11.18554688 C-6.86080078 10.07276367 -6.86080078 10.07276367 -6.125 8.9375 C-5.65191406 8.19177734 -5.17882812 7.44605469 -4.69140625 6.67773438 C-1.19666353 1.19666353 -1.19666353 1.19666353 0 0 Z " fill="#776A5A" transform="translate(342,931)"/><path d="M0 0 C0.66 0.99 1.32 1.98 2 3 C4.31850007 3.61432869 4.31850007 3.61432869 7 4 C10.25 4.875 10.25 4.875 13 6 C13.33 6.99 13.66 7.98 14 9 C8.22621075 8.5188509 4.04140164 6.81532819 -1 4 C-0.67 2.68 -0.34 1.36 0 0 Z " fill="#140100" transform="translate(705,334)"/><path d="M0 0 C0.33 0.66 0.66 1.32 1 2 C-0.03102358 4.52290584 -1.11647906 6.93206361 -2.3125 9.375 C-2.63412109 10.04789063 -2.95574219 10.72078125 -3.28710938 11.4140625 C-4.82631303 14.62521428 -6.39442763 17.82145572 -8 21 C-8.66 21 -9.32 21 -10 21 C-8.51991304 15.99886406 -6.3681664 11.67084403 -3.875 7.125 C-3.50246094 6.43664062 -3.12992188 5.74828125 -2.74609375 5.0390625 C-1.83500474 3.35705202 -0.91809685 1.67819564 0 0 Z " fill="#6F634E" transform="translate(555,527)"/><path d="M0 0 C4.35970831 1.34849837 8.31341438 3.04907846 12.375 5.125 C13.43460938 5.66382813 14.49421875 6.20265625 15.5859375 6.7578125 C16.38257813 7.16773438 17.17921875 7.57765625 18 8 C15 9 15 9 12.73046875 7.96875 C11.89128906 7.4840625 11.05210937 6.999375 10.1875 6.5 C6.71440005 4.65412111 5.39095555 3.97977816 1.375 4.1875 C0.59125 4.455625 -0.1925 4.72375 -1 5 C-0.67 3.35 -0.34 1.7 0 0 Z " fill="#D06101" transform="translate(669,203)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C-0.5051971 4.48938167 -1.80462913 6.13199223 -6 7 C-6.33 7.99 -6.66 8.98 -7 10 C-7.99 10 -8.98 10 -10 10 C-8.78934835 6.36804504 -7.46308874 5.57103808 -4.4375 3.3125 C-3.61121094 2.68988281 -2.78492188 2.06726563 -1.93359375 1.42578125 C-1.29550781 0.95527344 -0.65742187 0.48476563 0 0 Z " fill="#150201" transform="translate(690,758)"/><path d="M0 0 C0.763125 0.66 1.52625 1.32 2.3125 2 C4.84277939 4.29850538 4.84277939 4.29850538 8 4 C8.99 6.64 9.98 9.28 11 12 C7.60740986 10.86913662 6.66962898 9.79067537 4.375 7.125 C3.76398438 6.42632813 3.15296875 5.72765625 2.5234375 5.0078125 C1 3 1 3 0 0 Z " fill="#3B150C" transform="translate(260,776)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C1.60446947 2.6510403 1.18286103 4.2958515 0.75 5.9375 C0.40195312 7.31228516 0.40195312 7.31228516 0.046875 8.71484375 C-1 11 -1 11 -3.109375 11.81640625 C-3.73328125 11.87699219 -4.3571875 11.93757812 -5 12 C-3.68938409 7.76570244 -2.05643741 3.92592596 0 0 Z " fill="#140705" transform="translate(580,885)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1.25532751 3.06393013 1.21861333 4.63233212 -0.375 7.3125 C-1.179375 8.1478125 -1.179375 8.1478125 -2 9 C-2.66 9 -3.32 9 -4 9 C-4.66 10.65 -5.32 12.3 -6 14 C-6.33 13.34 -6.66 12.68 -7 12 C-5.8203125 9.43359375 -5.8203125 9.43359375 -4.125 6.4375 C-3.57070313 5.44621094 -3.01640625 4.45492188 -2.4453125 3.43359375 C-1 1 -1 1 0 0 Z " fill="#130604" transform="translate(647,500)"/><path d="M0 0 C5.08938811 1.59043379 8.87456643 4.7446951 13 8 C11.19140625 8.64453125 11.19140625 8.64453125 9 9 C5.9375 6.6875 5.9375 6.6875 3 4 C2.01 3.34 1.02 2.68 0 2 C0 1.34 0 0.68 0 0 Z " fill="#160201" transform="translate(712,425)"/><path d="M0 0 C1 3 1 3 -0.3125 5.6875 C-0.869375 6.450625 -1.42625 7.21375 -2 8 C-2.66 8 -3.32 8 -4 8 C-4.2475 8.78375 -4.495 9.5675 -4.75 10.375 C-6.18650005 13.3916501 -7.04720831 13.71565565 -10 15 C-9.23570339 13.55901389 -8.46327445 12.12233946 -7.6875 10.6875 C-7.25824219 9.88699219 -6.82898438 9.08648438 -6.38671875 8.26171875 C-5.08748403 6.14268522 -3.78173539 4.70530706 -2 3 C-1.34 2.01 -0.68 1.02 0 0 Z " fill="#351810" transform="translate(749,736)"/><path d="M0 0 C-0.66386719 0.38671875 -1.32773437 0.7734375 -2.01171875 1.171875 C-6.58517111 3.86921041 -10.97252628 6.50952278 -15 10 C-13.80838951 5.36595919 -11.53344734 3.5951822 -7.75390625 1.015625 C-4.66674874 -0.77203859 -3.44562413 -1.14854138 0 0 Z " fill="#472419" transform="translate(698,688)"/><path d="M0 0 C6.8365765 -0.50433761 12.32486299 -0.15898521 18 4 C18.99 5.485 18.99 5.485 20 7 C16.66666667 5.33333333 13.33333333 3.66666667 10 2 C9.67 2.66 9.34 3.32 9 4 C8.67 3.01 8.34 2.02 8 1 C5.36 1 2.72 1 0 1 C0 0.67 0 0.34 0 0 Z " fill="#EB9101" transform="translate(340,489)"/><path d="M0 0 C1 3 1 3 -0.43359375 5.91796875 C-1.09488281 6.99691406 -1.75617187 8.07585937 -2.4375 9.1875 C-3.09621094 10.27417969 -3.75492188 11.36085938 -4.43359375 12.48046875 C-5.20896484 13.72763672 -5.20896484 13.72763672 -6 15 C-7 13 -7 13 -5.8125 9.1875 C-4.40045013 5.59853992 -2.60593396 2.87551334 0 0 Z " fill="#210C08" transform="translate(679,441)"/><path d="M0 0 C1.69173477 6.08768194 -0.49701591 10.44990484 -3 16 C-3.33 16 -3.66 16 -4 16 C-3.47606294 10.13190493 -2.23891142 5.45126259 0 0 Z " fill="#130200" transform="translate(797,408)"/><path d="M0 0 C1.81800746 0.7577527 3.62929969 1.53163388 5.4375 2.3125 C6.44683594 2.74175781 7.45617187 3.17101562 8.49609375 3.61328125 C11 5 11 5 12 8 C7.0276578 6.50829734 2.58154261 4.39542583 -2 2 C-1.34 1.34 -0.68 0.68 0 0 Z " fill="#120200" transform="translate(573,272)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C1.401875 1.556875 0.80375 2.11375 0.1875 2.6875 C-2.07695315 4.89304522 -2.07695315 4.89304522 -3.4375 7.5625 C-5.25504199 10.39786551 -7.03622399 11.47806097 -10 13 C-8.56501627 9.79111679 -6.78256013 7.42193016 -4.4375 4.8125 C-3.81746094 4.11769531 -3.19742188 3.42289063 -2.55859375 2.70703125 C-1.72141231 1.79011824 -0.8779528 0.8779528 0 0 Z " fill="#39190B" transform="translate(693,55)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C2 1.66 2 2.32 2 3 C-0.0625 4.375 -0.0625 4.375 -3 6 C-3.90105469 6.55300781 -3.90105469 6.55300781 -4.8203125 7.1171875 C-6.50967454 8.14211426 -8.25286901 9.0769874 -10 10 C-10.66 9.67 -11.32 9.34 -12 9 C-8.04 6.03 -4.08 3.06 0 0 Z " fill="#130101" transform="translate(362,953)"/><path d="M0 0 C1.39864092 3.17872935 0.89282517 4.30111022 -0.3125 7.6875 C-2 11 -2 11 -4 12 C-3.125 4.375 -3.125 4.375 -2 1 C-1.34 0.67 -0.68 0.34 0 0 Z " fill="#210D07" transform="translate(585,876)"/><path d="M0 0 C1.31223496 3.93670488 0.24296256 6.12488144 -1 10 C-1.66 10 -2.32 10 -3 10 C-3.33 11.98 -3.66 13.96 -4 16 C-4.33 16 -4.66 16 -5 16 C-4.55643705 9.79011871 -3.08467498 5.39459439 0 0 Z " fill="#D64800" transform="translate(696,86)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C2.1953125 2.01822917 2.390625 4.03645833 2.5859375 6.0546875 C2.86374749 8.22668245 2.86374749 8.22668245 5 10 C6.31747324 10.69748583 7.64914193 11.36959957 9 12 C6.66705225 12.04241723 4.33297433 12.04092937 2 12 C0.26043342 10.26043342 0.62809614 7.8063378 0.4375 5.4375 C0.35371094 4.42558594 0.26992188 3.41367187 0.18359375 2.37109375 C0.12300781 1.58863281 0.06242187 0.80617188 0 0 Z " fill="#55332A" transform="translate(303,976)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1.66 2.64 2.32 5.28 3 8 C5.64 8 8.28 8 11 8 C9.3125 9.5625 9.3125 9.5625 7 11 C3.62963689 10.75925978 2.41201979 10.41201979 0 8 C-0.26991906 5.31160615 -0.08737357 2.70858064 0 0 Z " fill="#0E0100" transform="translate(305,976)"/><path d="M0 0 C0.99 0.33 1.98 0.66 3 1 C2.26418258 2.1549921 1.51069961 3.29874185 0.75 4.4375 C0.33234375 5.07558594 -0.0853125 5.71367188 -0.515625 6.37109375 C-2.27248877 8.29902057 -3.46089803 8.61479436 -6 9 C-4.47291037 5.56404834 -2.40072955 2.88087546 0 0 Z " fill="#170302" transform="translate(612,832)"/><path d="M0 0 C4.84659077 0.59104765 8.60748167 1.97944157 13 4 C11.4375 5.1875 11.4375 5.1875 9 6 C5.25 4.625 5.25 4.625 2 3 C2 2.34 2 1.68 2 1 C1.34 0.67 0.68 0.34 0 0 Z " fill="#DC8B02" transform="translate(335,750)"/><path d="M0 0 C4.02871174 1.34290391 4.67538369 3.51307554 7 7 C9.6091387 9.32277416 9.6091387 9.32277416 12 11 C11.67 11.66 11.34 12.32 11 13 C9.72486237 11.92173635 8.45507431 10.83714481 7.1875 9.75 C6.47980469 9.14671875 5.77210938 8.5434375 5.04296875 7.921875 C3.0657873 6.06188786 1.48607803 4.26896456 0 2 C0 1.34 0 0.68 0 0 Z " fill="#3C1B0E" transform="translate(581,706)"/><path d="M0 0 C1.40907283 2.81814566 0.50872691 4.17277204 -0.4375 7.125 C-0.72496094 8.03507812 -1.01242187 8.94515625 -1.30859375 9.8828125 C-1.65083984 10.93082031 -1.65083984 10.93082031 -2 12 C-2.66 12 -3.32 12 -4 12 C-5.62514468 13.45833358 -5.62514468 13.45833358 -7 15 C-5.45454854 9.52067211 -2.84456788 4.88570819 0 0 Z " fill="#110202" transform="translate(662,471)"/><path d="M0 0 C1.65 0 3.3 0 5 0 C5 0.66 5 1.32 5 2 C9.29 2 13.58 2 18 2 C18 2.33 18 2.66 18 3 C12.39 3 6.78 3 1 3 C0.67 2.01 0.34 1.02 0 0 Z " fill="#2A0F09" transform="translate(703,757)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C0.25531915 7.74468085 0.25531915 7.74468085 -3 11 C-3.66 11 -4.32 11 -5 11 C-3.77782954 6.95743617 -2.37245704 3.50711041 0 0 Z " fill="#1A0704" transform="translate(797,453)"/><path d="M0 0 C1.32 0 2.64 0 4 0 C2.52307692 6.52307692 2.52307692 6.52307692 -0.125 8.9375 C-0.74375 9.288125 -1.3625 9.63875 -2 10 C-1.54177532 6.53058454 -1.10868317 3.32604951 0 0 Z " fill="#5A4A3D" transform="translate(332,934)"/><path d="M0 0 C-5.10334017 1.905247 -9.46342706 3.42589023 -15 3 C-14.38125 2.71125 -13.7625 2.4225 -13.125 2.125 C-10.86674235 1.06279958 -10.86674235 1.06279958 -9 -1 C-3.57692308 -2.38461538 -3.57692308 -2.38461538 0 0 Z " fill="#110201" transform="translate(667,725)"/><path d="M0 0 C3.47775179 1.51553404 5.9557984 3.5773456 8.75 6.125 C9.94882812 7.21167969 9.94882812 7.21167969 11.171875 8.3203125 C11.77515625 8.87460937 12.3784375 9.42890625 13 10 C8.87731395 10 7.79669528 8.32277298 4.8125 5.5625 C3.91144531 4.73878906 3.01039063 3.91507813 2.08203125 3.06640625 C1.39496094 2.38449219 0.70789063 1.70257812 0 1 C0 0.67 0 0.34 0 0 Z " fill="#0E0100" transform="translate(298,789)"/><path d="M0 0 C1.98 0.99 1.98 0.99 4 2 C3.67 4.31 3.34 6.62 3 9 C2.01 9 1.02 9 0 9 C0 6.03 0 3.06 0 0 Z " fill="#1A0302" transform="translate(324,545)"/><path d="M0 0 C-2.15381444 5.28663545 -6.42236838 8.77870367 -11 12 C-9.56438314 8.81293058 -7.79733671 6.37830895 -5.5 3.75 C-4.8915625 3.04359375 -4.283125 2.3371875 -3.65625 1.609375 C-2 0 -2 0 0 0 Z " fill="#320C06" transform="translate(472,242)"/><path d="M0 0 C2.06242617 -0.02717692 4.12495703 -0.0464758 6.1875 -0.0625 C7.33605469 -0.07410156 8.48460937 -0.08570313 9.66796875 -0.09765625 C12.59300586 -0.01192832 15.16316291 0.32150977 18 1 C18 1.33 18 1.66 18 2 C14.7 2.33 11.4 2.66 8 3 C8 2.67 8 2.34 8 2 C5.36 1.67 2.72 1.34 0 1 C0 0.67 0 0.34 0 0 Z " fill="#2A0D08" transform="translate(740,36)"/><path d="M0 0 C0.33 0.99 0.66 1.98 1 3 C-1.25 5.5625 -1.25 5.5625 -4 8 C-5.32 7.67 -6.64 7.34 -8 7 C-5.36 4.69 -2.72 2.38 0 0 Z " fill="#150302" transform="translate(404,920)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1 4.29 1 8.58 1 13 C0.34 12.67 -0.32 12.34 -1 12 C-2.08209933 7.31090292 -2.21980248 4.30902834 0 0 Z " fill="#220F09" transform="translate(246,741)"/><path d="M0 0 C0.33 0.66 0.66 1.32 1 2 C1.66 2 2.32 2 3 2 C4.4783226 4.95664519 4.06032783 7.74229737 4 11 C1.9656541 9.58480285 1.09589607 8.45017877 0.578125 6.01953125 C0.33726048 4.01823046 0.16467259 2.0090056 0 0 Z " fill="#1E0805" transform="translate(576,695)"/><path d="M0 0 C0.33 0 0.66 0 1 0 C1.66666667 2.66666667 2.33333333 5.33333333 3 8 C3.309375 9.051875 3.309375 9.051875 3.625 10.125 C4.13034477 12.65172384 3.30563197 13.84954734 2 16 C0.40837921 10.42932723 -0.20674944 5.78898419 0 0 Z " fill="#160101" transform="translate(368,545)"/><path d="M0 0 C2.42999536 2.27364177 3.42805835 3.68273845 4 7 C3.01 6.67 2.02 6.34 1 6 C0.67 8.31 0.34 10.62 0 13 C-0.96661363 9.87819599 -0.98988909 7.47916205 -0.5625 4.25 C-0.46066406 3.45078125 -0.35882813 2.6515625 -0.25390625 1.828125 C-0.17011719 1.22484375 -0.08632813 0.6215625 0 0 Z " fill="#9F3D00" transform="translate(360,498)"/><path d="M0 0 C5 2 10 4 15 6 C11.37789769 7.31712811 9.32755223 6.68301982 5.8125 5.25 C4.93207031 4.90453125 4.05164063 4.5590625 3.14453125 4.203125 C1 3 1 3 0 0 Z " fill="#37130C" transform="translate(440,312)"/><path d="M0 0 C2.475 0.495 2.475 0.495 5 1 C4.33333333 4.33333333 3.66666667 7.66666667 3 11 C2.67 11 2.34 11 2 11 C1.34 7.37 0.68 3.74 0 0 Z " fill="#A03E00" transform="translate(725,707)"/><path d="M0 0 C1.37400775 3.12274488 0.92162365 4.20900359 -0.3125 7.5 C-1.52307728 10.01082696 -2.74920429 12.50933256 -4 15 C-3.63495936 9.33557626 -2.9445679 4.99296295 0 0 Z " fill="#160705" transform="translate(550,549)"/><path d="M0 0 C2.5 1.375 2.5 1.375 5 3 C5 3.66 5 4.32 5 5 C3.68 5 2.36 5 1 5 C1 4.34 1 3.68 1 3 C-1.97 2.505 -1.97 2.505 -5 2 C-4.360625 1.855625 -3.72125 1.71125 -3.0625 1.5625 C-1.02454854 1.18992819 -1.02454854 1.18992819 0 0 Z " fill="#C77402" transform="translate(479,787)"/><path d="M0 0 C1.76923828 0.01353516 1.76923828 0.01353516 3.57421875 0.02734375 C4.47785156 0.03894531 5.38148438 0.05054688 6.3125 0.0625 C6.3125 0.3925 6.3125 0.7225 6.3125 1.0625 C4.21100989 1.45221999 2.1061518 1.82381477 0 2.1875 C-1.17175781 2.39632812 -2.34351563 2.60515625 -3.55078125 2.8203125 C-6.6875 3.0625 -6.6875 3.0625 -9.6875 1.0625 C-6.26517028 -0.07827657 -3.60076783 -0.03565117 0 0 Z " fill="#DB8805" transform="translate(302.6875,735.9375)"/><path d="M0 0 C7.42857143 -0.28571429 7.42857143 -0.28571429 11 2 C8 4 8 4 5 4 C4.67 3.34 4.34 2.68 4 2 C1.98330173 0.86649466 1.98330173 0.86649466 0 0 Z " fill="#F2C513" transform="translate(312,706)"/><path d="M0 0 C4.55015893 1.51671964 6.50057264 5.16891053 9 9 C8.34 9.66 7.68 10.32 7 11 C6.01941648 9.54261898 5.04057868 8.08406325 4.0625 6.625 C3.51722656 5.81289063 2.97195313 5.00078125 2.41015625 4.1640625 C1 2 1 2 0 0 Z " fill="#583918" transform="translate(742,696)"/><path d="M0 0 C1.32940404 3.98821211 0.43803613 6.11730245 -1 10 C-1.99 10.33 -2.98 10.66 -4 11 C-3.39301257 6.87248551 -1.96189209 3.6678852 0 0 Z " fill="#140503" transform="translate(729,283)"/><path d="M0 0 C2.1640625 0.77734375 2.1640625 0.77734375 4.625 1.9375 C5.44226563 2.31777344 6.25953125 2.69804687 7.1015625 3.08984375 C7.72804688 3.39019531 8.35453125 3.69054687 9 4 C8.67 4.66 8.34 5.32 8 6 C4.08788267 4.84414715 1.1254959 3.64465038 -2 1 C-1.34 0.67 -0.68 0.34 0 0 Z " fill="#190301" transform="translate(559,265)"/><path d="M0 0 C0.8353125 0.37125 0.8353125 0.37125 1.6875 0.75 C-0.5625 2.8125 -0.5625 2.8125 -3.3125 4.75 C-5.625 4.5 -5.625 4.5 -7.3125 3.75 C-2.88173077 -0.31153846 -2.88173077 -0.31153846 0 0 Z " fill="#524335" transform="translate(343.3125,944.25)"/><path d="M0 0 C0.66 0.99 1.32 1.98 2 3 C0.35 4.32 -1.3 5.64 -3 7 C-3.66 6.67 -4.32 6.34 -5 6 C-3.35 4.02 -1.7 2.04 0 0 Z " fill="#4F4033" transform="translate(351,936)"/><path d="M0 0 C1.13732426 3.40401948 0.83989957 5.77456664 0.0625 9.25 C-0.13214844 10.14203125 -0.32679688 11.0340625 -0.52734375 11.953125 C-0.68332031 12.62859375 -0.83929688 13.3040625 -1 14 C-1.33 14 -1.66 14 -2 14 C-3.10643764 8.16605611 -3.27137992 5.23420787 0 0 Z " fill="#140202" transform="translate(316,854)"/><path d="M0 0 C0 4.38968456 -2.12805101 5.76905739 -5 9 C-6 6 -6 6 -5 3 C-3 1.875 -3 1.875 -1 1 C-0.67 0.67 -0.34 0.34 0 0 Z " fill="#180603" transform="translate(262,716)"/><path d="M0 0 C0.33 0.66 0.66 1.32 1 2 C0.00390625 4.3828125 0.00390625 4.3828125 -1.4375 7.125 C-1.91058594 8.03507813 -2.38367188 8.94515625 -2.87109375 9.8828125 C-3.24363281 10.58148437 -3.61617187 11.28015625 -4 12 C-4.66 12 -5.32 12 -6 12 C-4.43358249 7.69235185 -2.31663844 3.93828536 0 0 Z " fill="#0F0100" transform="translate(629,533)"/><path d="M0 0 C2.97 1.98 2.97 1.98 6 4 C5.67 5.98 5.34 7.96 5 10 C2.35534962 6.8745041 1.15585285 3.91211733 0 0 Z " fill="#120402" transform="translate(813,387)"/><path d="M0 0 C-1 3 -1 3 -2.75 4.1875 C-5.29960574 5.10819096 -7.30923081 5.14948718 -10 5 C-8.68 4.67 -7.36 4.34 -6 4 C-6 3.34 -6 2.68 -6 2 C-2.25 0 -2.25 0 0 0 Z " fill="#361C16" transform="translate(318,984)"/><path d="M0 0 C1.65 0 3.3 0 5 0 C5 0.66 5 1.32 5 2 C6.98 2.66 8.96 3.32 11 4 C8 5 8 5 5.95703125 4.22265625 C5.24933594 3.83980469 4.54164063 3.45695313 3.8125 3.0625 C3.09707031 2.68222656 2.38164062 2.30195312 1.64453125 1.91015625 C1.10183594 1.60980469 0.55914062 1.30945313 0 1 C0 0.67 0 0.34 0 0 Z " fill="#E89E02" transform="translate(346,755)"/><path d="M0 0 C0.66 0.33 1.32 0.66 2 1 C1.67 2.65 1.34 4.3 1 6 C0.01 6 -0.98 6 -2 6 C-2.99 6.66 -3.98 7.32 -5 8 C-4 6 -3 4 -2 2 C-1.34 2 -0.68 2 0 2 C0 1.34 0 0.68 0 0 Z " fill="#CA7603" transform="translate(564,607)"/><path d="M0 0 C0.99 0.33 1.98 0.66 3 1 C3.73046875 3.06640625 3.73046875 3.06640625 4.1875 5.5625 C4.34605469 6.38878906 4.50460937 7.21507812 4.66796875 8.06640625 C4.77753906 8.70449219 4.88710938 9.34257812 5 10 C4.34 10 3.68 10 3 10 C2.01 6.7 1.02 3.4 0 0 Z " fill="#4C331F" transform="translate(380,491)"/><path d="M0 0 C6.4 0.49230769 6.4 0.49230769 9.4375 3.0625 C10.2109375 4.0215625 10.2109375 4.0215625 11 5 C9.53932801 4.54917531 8.08151968 4.08906463 6.625 3.625 C5.81289063 3.36976563 5.00078125 3.11453125 4.1640625 2.8515625 C2 2 2 2 0 0 Z " fill="#371F15" transform="translate(733,348)"/><path d="M0 0 C6.75 1.625 6.75 1.625 9 5 C7.68 5.33 6.36 5.66 5 6 C3.35 4.02 1.7 2.04 0 0 Z " fill="#B13800" transform="translate(780,69)"/><path d="M0 0 C0.625 1.875 0.625 1.875 1 4 C0.34 4.66 -0.32 5.32 -1 6 C-3.125 5.625 -3.125 5.625 -5 5 C-3.35 3.35 -1.7 1.7 0 0 Z " fill="#1C0705" transform="translate(628,815)"/><path d="M0 0 C2.75 -0.25 2.75 -0.25 6 0 C8.375 2 8.375 2 10 4 C8.51882199 3.71872579 7.04006751 3.42466268 5.5625 3.125 C4.73878906 2.96257813 3.91507812 2.80015625 3.06640625 2.6328125 C2.38449219 2.42398438 1.70257813 2.21515625 1 2 C0.67 1.34 0.34 0.68 0 0 Z " fill="#E9A303" transform="translate(327,748)"/><path d="M0 0 C3.7952131 1.49097658 5.61042731 3.75700849 8 7 C7.67 7.66 7.34 8.32 7 9 C5.83037314 7.69013727 4.66437056 6.3770374 3.5 5.0625 C2.8503125 4.33160156 2.200625 3.60070312 1.53125 2.84765625 C0 1 0 1 0 0 Z " fill="#35180E" transform="translate(394,613)"/><path d="M0 0 C1.1171875 1.734375 1.1171875 1.734375 2 4 C1.3203125 6.140625 1.3203125 6.140625 0.125 8.25 C-0.26429688 8.95640625 -0.65359375 9.6628125 -1.0546875 10.390625 C-1.36664063 10.92171875 -1.67859375 11.4528125 -2 12 C-3 10 -3 10 -2.125 7.125 C-1.75375 6.09375 -1.3825 5.0625 -1 4 C-0.65023242 2.67088318 -0.30903983 1.33917261 0 0 Z " fill="#160301" transform="translate(508,442)"/><path d="M0 0 C4.455 0.99 4.455 0.99 9 2 C8.01 2.66 7.02 3.32 6 4 C2.8125 3.125 2.8125 3.125 0 2 C0 1.34 0 0.68 0 0 Z " fill="#180201" transform="translate(527,336)"/><path d="M0 0 C0.66 0 1.32 0 2 0 C2 0.66 2 1.32 2 2 C-4.75 5 -4.75 5 -7 5 C-6.67 4.01 -6.34 3.02 -6 2 C-4.7934375 1.7834375 -4.7934375 1.7834375 -3.5625 1.5625 C-1.07896294 1.25864751 -1.07896294 1.25864751 0 0 Z " fill="#1E0C09" transform="translate(550,924)"/><path d="M0 0 C2.64 0.99 5.28 1.98 8 3 C4.1273408 3.9681648 0.96388638 4.07622858 -3 4 C-2.01 2.68 -1.02 1.36 0 0 Z " fill="#120000" transform="translate(696,753)"/><path d="M0 0 C1 3 1 3 1 6 C-0.65 6 -2.3 6 -4 6 C-4.33 5.01 -4.66 4.02 -5 3 C-4.360625 2.87625 -3.72125 2.7525 -3.0625 2.625 C-2.0415625 2.315625 -2.0415625 2.315625 -1 2 C-0.67 1.34 -0.34 0.68 0 0 Z " fill="#2C0C07" transform="translate(606,284)"/><path d="M0 0 C2.5 2.3125 2.5 2.3125 5 5 C5 5.99 5 6.98 5 8 C2.5 6.25 2.5 6.25 0 4 C0 2.68 0 1.36 0 0 Z " fill="#B93900" transform="translate(703,141)"/> </svg> <h1>Glotus Client</h1> <p>by Murka</p> </div> <svg id="close-button" class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"> <path d="M 7 4 C 6.744125 4 6.4879687 4.0974687 6.2929688 4.2929688 L 4.2929688 6.2929688 C 3.9019687 6.6839688 3.9019687 7.3170313 4.2929688 7.7070312 L 11.585938 15 L 4.2929688 22.292969 C 3.9019687 22.683969 3.9019687 23.317031 4.2929688 23.707031 L 6.2929688 25.707031 C 6.6839688 26.098031 7.3170313 26.098031 7.7070312 25.707031 L 15 18.414062 L 22.292969 25.707031 C 22.682969 26.098031 23.317031 26.098031 23.707031 25.707031 L 25.707031 23.707031 C 26.098031 23.316031 26.098031 22.682969 25.707031 22.292969 L 18.414062 15 L 25.707031 7.7070312 C 26.098031 7.3170312 26.098031 6.6829688 25.707031 6.2929688 L 23.707031 4.2929688 C 23.316031 3.9019687 22.682969 3.9019687 22.292969 4.2929688 L 15 11.585938 L 7.7070312 4.2929688 C 7.5115312 4.0974687 7.255875 4 7 4 z"/> </svg> </header>';
    const Header = code;
    Navbar_code = '<aside id="navbar-container"> <button data-id="0" class="open-menu active">Keybinds</button> <button data-id="1" class="open-menu">Combat</button> <button data-id="2" class="open-menu">Visuals</button> <button data-id="3" class="open-menu">Misc</button> <button data-id="4" class="open-menu">Devtool</button> <button data-id="5" class="open-menu">Bots</button> <button data-id="6" class="open-menu bottom-align">Credits</button> </aside>';
    const Navbar = Navbar_code;
    Keybinds_code = '<div class="menu-page opened" data-id="0"> <h1>Keybinds</h1> <p>Setup keybinds for items, weapons and hats</p> <div class="section"> <h2 class="section-title">Items & Weapons</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Primary</span> <button id="primary" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Secondary</span> <button id="secondary" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Food</span> <button id="food" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Wall</span> <button id="wall" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Spike</span> <button id="spike" class="hotkeyInput"></button> </div> </div> <div class="content-split"> <div class="content-option"> <span class="option-title">Windmill</span> <button id="windmill" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Farm</span> <button id="farm" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Trap</span> <button id="trap" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Turret</span> <button id="turret" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Spawn</span> <button id="spawn" class="hotkeyInput"></button> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Controls & Movement</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Up</span> <button id="up" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Left</span> <button id="left" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Down</span> <button id="down" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Right</span> <button id="right" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Auto attack</span> <button id="autoattack" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Lock rotation</span> <button id="lockrotation" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Instakill(trash)</span> <button id="instakill" class="hotkeyInput"></button> </div> </div> <div class="content-split"> <div class="content-option"> <span class="option-title">Lock bot position</span> <button id="lockBotPosition" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Toggle chat</span> <button id="toggleChat" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Toggle shop</span> <button id="toggleShop" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Toggle clan</span> <button id="toggleClan" class="hotkeyInput"></button> </div> <div class="content-option"> <span class="option-title">Toggle menu</span> <button id="toggleMenu" class="hotkeyInput"></button> </div> </div> </div> </div> </div>';
    const Keybinds = Keybinds_code;
    Combat_code = '<div class="menu-page" data-id="1"> <h1>Combat</h1> <p>Modify combat settings, change pvp behavior</p> <div class="section"> <h2 class="section-title">Autohat</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Biome hats</span> <label class="switch-checkbox"> <input id="biomehats" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">AutoempNoWork</span> <label class="switch-checkbox"> <input id="autoemp" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Anti enemy</span> <label class="switch-checkbox"> <input id="antienemy" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Anti animal</span> <label class="switch-checkbox"> <input id="antianimal" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Anti spike</span> <label class="switch-checkbox"> <input id="antispike" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Instakill</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Solid Hat Check</span> <label class="switch-checkbox"> <input id="instakillCheckSolidHat" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Bots combat</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Distance Hit</span> <label class="switch-checkbox"> <input id="distanceHitEnabled" type="checkbox" checked> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Healing</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Autoheal</span> <label class="switch-checkbox"> <input id="autoheal" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Healing speed</span> <label class="slider"> <span class="slider-value"></span> <input id="healingSpeed" type="range" min="0" max="50"> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Placement</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Autoplacer</span> <label class="switch-checkbox"> <input id="autoplacer" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Automill</span> <label class="switch-checkbox"> <input id="automill" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Defense</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Autobreak</span> <label class="switch-checkbox"> <input id="autobreak" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">AutoReload</span> <label class="switch-checkbox"> <input id="autoreload" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">FastWeaponSwitch</span> <label class="switch-checkbox"> <input id="fastWeaponSwitch" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">AutoShieldNoWork</span> <label class="switch-checkbox"> <input id="autoShield" type="checkbox"> <span></span> </label> </div> </div> </div> </div> </div>';
    const Combat = Combat_code;
    Visuals_code = '<div class="menu-page" data-id="2"> <h1>Visuals</h1> <p>Customize your visuals, or you can disable it for performance</p> <div class="section"> <h2 class="section-title">Tracers</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Enemies</span> <div class="option-content"> <button class="reset-color" title="Reset Color"></button> <input id="enemyTracersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="enemyTracers" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Teammates</span> <div class="option-content"> <button class="reset-color" title="Reset Color"></button> <input id="teammateTracersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="teammateTracers" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Animal</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="animalTracersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="animalTracers" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Notification</span> <div class="option-content"> <button class="reset-color" title="Reset Color"></button> <input id="notificationTracersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="notificationTracers" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Arrows</span> <label class="switch-checkbox"> <input id="arrows" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Markers</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Item Markers</span> <div class="option-content"> <button class="reset-color" title="Reset Color"></button> <input id="itemMarkersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="itemMarkers" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Teammates</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="teammateMarkersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="teammateMarkers" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Enemies</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="enemyMarkersColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="enemyMarkers" type="checkbox"> <span></span> </label> </div> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Player</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Weapon XP Bar</span> <label class="switch-checkbox"> <input id="weaponXPBar" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Turret Reload Bar</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="playerTurretReloadBarColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="playerTurretReloadBar" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Weapon Reload Bar</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="weaponReloadBarColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="weaponReloadBar" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Render HP</span> <label class="switch-checkbox"> <input id="renderHP" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Object</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Turret Reload Bar</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="objectTurretReloadBarColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="objectTurretReloadBar" type="checkbox"> <span></span> </label> </div> </div> <div class="content-option"> <span class="option-title">Item Health Bar</span> <div class="content-option"> <button class="reset-color" title="Reset Color"></button> <input id="itemHealthBarColor" type="color" title="Select Color"> <label class="switch-checkbox"> <input id="itemHealthBar" type="checkbox"> <span></span> </label> </div> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Other</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Item counter</span> <label class="switch-checkbox"> <input id="itemCounter" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Render grid</span> <label class="switch-checkbox"> <input id="renderGrid" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Windmill rotation</span> <label class="switch-checkbox"> <input id="windmillRotation" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Entity Danger</span> <label class="switch-checkbox"> <input id="entityDanger" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Bot Movement</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Lidar Visuals (Movement Path)</span> <label class="switch-checkbox"> <input id="botLidarViz" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Avoid Spike Visuals</span> <label class="switch-checkbox"> <input id="botBreakModeViz" type="checkbox"> <span></span> </label> </div> </div> </div> </div> </div>';
    const Visuals = Visuals_code;
    Misc_code = '<div class="menu-page" data-id="3"> <h1>Misc</h1> <p>Customize misc settings, add autochat messages, reset settings</p> <div class="section"> <h2 class="section-title">Other</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Autospawn</span> <label class="switch-checkbox"> <input id="autospawn" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Autoaccept</span> <label class="switch-checkbox"> <input id="autoaccept" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Menu</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Transparency</span> <label class="switch-checkbox"> <input id="menuTransparency" type="checkbox"> <span></span> </label> </div> </div> </div> </div> </div>';
    const Misc = Misc_code;
    Devtool_code = '<div class="menu-page" data-id="4"> <h1>Devtool</h1> <p>Settings that are used to test features</p> <div class="section"> <h2 class="section-title">myPlayer</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Display player angle</span> <label class="switch-checkbox"> <input id="displayPlayerAngle" type="checkbox"> <span></span> </label> </div> </div> </div> </div> <div class="section"> <h2 class="section-title">Hitboxes</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Projectile hitbox</span> <label class="switch-checkbox"> <input id="projectileHitbox" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Possible shoot target</span> <label class="switch-checkbox"> <input id="possibleShootTarget" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Weapon hitbox</span> <label class="switch-checkbox"> <input id="weaponHitbox" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Collision hitbox</span> <label class="switch-checkbox"> <input id="collisionHitbox" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Placement hitbox</span> <label class="switch-checkbox"> <input id="placementHitbox" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Turret hitbox</span> <label class="switch-checkbox"> <input id="turretHitbox" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Possible placement</span> <label class="switch-checkbox"> <input id="possiblePlacement" type="checkbox"> <span></span> </label> </div> </div> </div> </div> </div>';
    const Devtool = Devtool_code;
    Bots_code = '<div class="menu-page" data-id="5"> <h1>Bots</h1> <p>Create bots, use VPN!!</p> <div class="section"> <h2 class="section-title">Controller</h2> <div class="section-content"> <div id="bot-container" class="content-split"> </div> <div class="content-option centered"> <button id="add-bot" class="option-button">Add Bot</button> </div> </div> </div> <div class="section"> <h2 class="section-title">Sync Settings</h2> <div class="section-content split"> <div class="content-split"> <div class="content-option"> <span class="option-title">Bot Weapon Sync</span> <label class="switch-checkbox"> <input id="botWeaponSync" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Bot Hat Sync</span> <label class="switch-checkbox"> <input id="botHatSync" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Bot Accessory Sync</span> <label class="switch-checkbox"> <input id="botAccSync" type="checkbox"> <span></span> </label> </div> <div class="content-option"> <span class="option-title">Slot for Syncshot</span> <label class="slider"> <span class="slider-value"></span> <input id="syncShotWeaponSlot" type="range" min="0" max="1"> </label> </div> </div> </div> </div> </div>';
    const Bots = Bots_code;
    Credits_code = `<div class="menu-page" data-id="6"><h1>Credits</h1><p>Some details about script and links to my socials</p><div class="section"><div class="section-content split"><div class="content-split"><div class="content-option text"><span class="option-title">Author: </span><span id="author" class="text-value">prince finn.</span></div><div class="content-option text" style="display:flex;gap:12px;align-items:center;"><a href="https://t.me/my_name_finn" class="text-value" target="_blank" title="Message me on Telegram"><img src="https://i.pinimg.com/736x/80/4c/6b/804c6b6d680f26aa6aaf9118faeb479a.jpg" alt="Telegram Avatar" width="66" height="66" style="border-radius: 50%;"/></a></div><div class="content-option text" style="display:flex;gap:12px;align-items:center;"><a href="https://discord.gg/DQWJqNXfSr" class="text-value" target="_blank" title="Join my Discord server"><img src="https://i.pinimg.com/736x/cf/9b/43/cf9b43ad7c868cb2a3d56fc40cbd4568.jpg" alt="Discord Server Icon" width="66" height="66" style="border-radius: 50%;"/></a></div></div></div></div></div>`;
    const Credits = Credits_code;
    class Logger {
        static log=console.log;
        static error=console.error;
        static timers=new Map;
        static start(label) {
            this.timers.set(label, performance.now());
        }
        static end(label, ...args) {
            if (this.timers.has(label)) {
                this.log(`${label}: ${performance.now() - this.timers.get(label)}`, ...args);
            }
            this.timers.delete(label);
        }
    }
    const toBytes = b64 => Uint8Array.from(atob(b64), (c => c.charCodeAt(0)));
    class Altcha {
        code=null;
        coreCount=Math.min(16, navigator.hardwareConcurrency || 4);
        tokenEncode="IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2xldCBlPW5ldyBUZXh0RW5jb2Rlcjthc3luYyBmdW5jdGlvbiB0KHQsbixyKXt2YXIgbDtyZXR1cm4gbD1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdChyLnRvVXBwZXJDYXNlKCksZS5lbmNvZGUodCtuKSksWy4uLm5ldyBVaW50OEFycmF5KGwpXS5tYXAoZT0+ZS50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKS5qb2luKCIiKX1mdW5jdGlvbiBuKGUsdD0xMil7bGV0IG49bmV3IFVpbnQ4QXJyYXkodCk7Zm9yKGxldCByPTA7cjx0O3IrKyluW3JdPWUlMjU2LGU9TWF0aC5mbG9vcihlLzI1Nik7cmV0dXJuIG59YXN5bmMgZnVuY3Rpb24gcih0LHI9IiIsbD0xZTYsbz0wKXtsZXQgYT0iQUVTLUdDTSIsYz1uZXcgQWJvcnRDb250cm9sbGVyLGk9RGF0ZS5ub3coKSx1PShhc3luYygpPT57Zm9yKGxldCBlPW87ZTw9bCYmIWMuc2lnbmFsLmFib3J0ZWQmJnMmJnc7ZSsrKXRyeXtsZXQgdD1hd2FpdCBjcnlwdG8uc3VidGxlLmRlY3J5cHQoe25hbWU6YSxpdjpuKGUpfSxzLHcpO2lmKHQpcmV0dXJue2NsZWFyVGV4dDpuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUodCksdG9vazpEYXRlLm5vdygpLWl9fWNhdGNoe31yZXR1cm4gbnVsbH0pKCkscz1udWxsLHc9bnVsbDt0cnl7dz1mdW5jdGlvbiBlKHQpe2xldCBuPWF0b2IodCkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspcltsXT1uLmNoYXJDb2RlQXQobCk7cmV0dXJuIHJ9KHQpO2xldCBmPWF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixlLmVuY29kZShyKSk7cz1hd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3IixmLGEsITEsWyJkZWNyeXB0Il0pfWNhdGNoe3JldHVybntwcm9taXNlOlByb21pc2UucmVqZWN0KCksY29udHJvbGxlcjpjfX1yZXR1cm57cHJvbWlzZTp1LGNvbnRyb2xsZXI6Y319bGV0IGw7b25tZXNzYWdlPWFzeW5jIGU9PntsZXR7dHlwZTpuLHBheWxvYWQ6byxzdGFydDphLG1heDpjfT1lLmRhdGEsaT1udWxsO2lmKCJhYm9ydCI9PT1uKWwmJmwuYWJvcnQoKSxsPXZvaWQgMDtlbHNlIGlmKCJ3b3JrIj09PW4pe2lmKCJvYmZ1c2NhdGVkImluIG8pe2xldHtrZXk6dSxvYmZ1c2NhdGVkOnN9PW98fHt9O2k9YXdhaXQgcihzLHUsYyxhKX1lbHNle2xldHthbGdvcml0aG06dyxjaGFsbGVuZ2U6ZixzYWx0OmR9PW98fHt9O2k9ZnVuY3Rpb24gZShuLHIsbD0iU0hBLTI1NiIsbz0xZTYsYT0wKXtsZXQgYz1uZXcgQWJvcnRDb250cm9sbGVyLGk9RGF0ZS5ub3coKSx1PShhc3luYygpPT57Zm9yKGxldCBlPWE7ZTw9byYmIWMuc2lnbmFsLmFib3J0ZWQ7ZSsrKXtsZXQgdT1hd2FpdCB0KHIsZSxsKTtpZih1PT09bilyZXR1cm57bnVtYmVyOmUsdG9vazpEYXRlLm5vdygpLWl9fXJldHVybiBudWxsfSkoKTtyZXR1cm57cHJvbWlzZTp1LGNvbnRyb2xsZXI6Y319KGYsZCx3LGMsYSl9bD1pLmNvbnRyb2xsZXIsaS5wcm9taXNlLnRoZW4oZT0+e3NlbGYucG9zdE1lc3NhZ2UoZSYmey4uLmUsd29ya2VyOiEwfSl9KX19fSgpOw==";
        workerBlob=new Blob([ toBytes(this.tokenEncode) ], {
            type: "text/javascript;charset=utf-8"
        });
        static createPayload(data, result) {
            return btoa(JSON.stringify({
                algorithm: data.algorithm,
                challenge: data.challenge,
                number: result.number,
                salt: data.salt,
                signature: data.signature,
                test: !!data || void 0,
                took: result.took
            }));
        }
        createWorker(name = "alt_worker") {
            try {
                const url = URL.createObjectURL(this.workerBlob);
                const worker = new Worker(url, {
                    name
                });
                worker.addEventListener("error", (() => URL.revokeObjectURL(url)));
                return worker;
            } catch (e) {
                return new Worker(`data:text/javascript;base64,${this.tokenEncode}`, {
                    name
                });
            }
        }
        async fetchChallenge() {
            const res = await fetch("https://api.moomoo.io/verify");
            if (!res.ok) {
                throw new Error("Failed to fetch challenge.");
            }
            return res.json();
        }
        async getWorkerSolution(task, total, count = this.coreCount) {
            const workerCount = Math.min(16, Math.max(1, count));
            const workers = Array.from({
                length: workerCount
            }, (() => this.createWorker()));
            const chunkSize = Math.ceil(total / workerCount);
            const results = await Promise.all(workers.map(((worker, index) => {
                const start = index * chunkSize;
                return new Promise((resolve => {
                    worker.onmessage = msg => {
                        if (msg.data) {
                            workers.forEach((w => {
                                if (w !== worker) {
                                    w.postMessage({
                                        type: "abort"
                                    });
                                }
                            }));
                        }
                        resolve(msg.data ?? null);
                    };
                    worker.onerror = () => resolve(null);
                    const message = {
                        type: "work",
                        payload: task,
                        start,
                        max: start + chunkSize
                    };
                    worker.postMessage(message);
                }));
            })));
            workers.forEach((worker => worker.terminate()));
            return results.find((r => !!r)) ?? null;
        }
        async validateChallenge(data) {
            const solution = await this.getWorkerSolution(data, data.maxnumber);
            if (!solution) {
                throw new Error("Failed to solve challenge.");
            }
            return {
                challengeData: data,
                solution
            };
        }
        async generate() {
            try {
                const challengeData = await this.fetchChallenge();
                const {solution} = await this.validateChallenge(challengeData);
                const encoded = Altcha.createPayload(challengeData, solution);
                this.code = `alt:${encoded}`;
                return encodeURIComponent(this.code);
            } catch (error) {
                console.error("Token generation failed:", error);
                throw error;
            }
        }
    }
    const altcha = new Altcha;
    const createSocket = async () => {
        const token = await altcha.generate();
        const socket = myClient.connection.socket;
        const origin = new URL(socket.url).origin;
        const url = origin + "/?token=" + token;
        const ws = new WebSocket(url);
        ws.binaryType = "arraybuffer";
        return ws;
    };
    const modules_createSocket = createSocket;
    class ObjectItem {
        id;
        position;
        angle;
        scale;
        constructor(id, x, y, angle, scale) {
            this.id = id;
            this.position = {
                current: new modules_Vector(x, y)
            };
            this.angle = angle;
            this.scale = scale;
        }
        get hitScale() {
            return this.scale;
        }
    }
    class Resource extends ObjectItem {
        type;
        layer;
        constructor(id, x, y, angle, scale, type) {
            super(id, x, y, angle, scale);
            this.type = type;
            this.layer = 0 === type ? 3 : 2 === type ? 0 : 2;
        }
        formatScale(scaleMult = 1) {
            const reduceScale = 0 === this.type || 1 === this.type ? .6 * scaleMult : 1;
            return this.scale * reduceScale;
        }
        get collisionScale() {
            return this.formatScale();
        }
        get placementScale() {
            return this.formatScale(.6);
        }
        get isCactus() {
            return 1 === this.type && pointInDesert(this.position.current);
        }
    }
    class PlayerObject extends ObjectItem {
        type;
        ownerID;
        collisionDivider;
        health;
        maxHealth;
        reload=-1;
        maxReload=-1;
        isDestroyable;
        seenPlacement=false;
        layer;
        itemGroup;
        constructor(id, x, y, angle, scale, type, ownerID) {
            super(id, x, y, angle, scale);
            this.type = type;
            this.ownerID = ownerID;
            const item = Items[type];
            this.collisionDivider = "colDiv" in item ? item.colDiv : 1;
            this.health = "health" in item ? item.health : Infinity;
            this.maxHealth = this.health;
            this.isDestroyable = Infinity !== this.maxHealth;
            if (17 === item.id) {
                this.reload = item.shootRate;
                this.maxReload = this.reload;
            }
            this.layer = ItemGroups[item.itemGroup].layer;
            this.itemGroup = item.itemGroup;
        }
        formatScale(placeCollision = false) {
            return this.scale * (placeCollision ? 1 : this.collisionDivider);
        }
        get collisionScale() {
            return this.formatScale();
        }
        get placementScale() {
            const item = Items[this.type];
            if (21 === item.id) {
                return item.blocker;
            }
            return this.scale;
        }
    }
    class SpatialHashGrid {
        cellSize;
        cells;
        constructor(cellSize) {
            this.cellSize = cellSize;
            this.cells = [];
        }
        hashPosition(x, y) {
            const cellX = Math.floor(x / this.cellSize);
            const cellY = Math.floor(y / this.cellSize);
            return [ cellX, cellY ];
        }
        clear() {
            this.cells.length = 0;
        }
        insert(object) {
            const {x, y} = object.position.current;
            const [cellX, cellY] = this.hashPosition(x, y);
            if (!this.cells[cellX]) {
                this.cells[cellX] = [];
            }
            if (!this.cells[cellX][cellY]) {
                this.cells[cellX][cellY] = [];
            }
            this.cells[cellX][cellY].push(object);
        }
        retrieve(position, radius) {
            const {x, y} = position;
            const [startX, startY] = this.hashPosition(x - radius, y - radius);
            const [endX, endY] = this.hashPosition(x + radius, y + radius);
            const results = [];
            for (let cellX = startX - 1; cellX <= endX + 1; cellX++) {
                for (let cellY = startY - 1; cellY <= endY + 1; cellY++) {
                    if (this.cells[cellX] && this.cells[cellX][cellY]) {
                        const objects = this.cells[cellX][cellY];
                        for (const object of objects) {
                            results.push(object);
                        }
                    }
                }
            }
            return results;
        }
        remove(object) {
            const {x, y} = object.position.current;
            const [cellX, cellY] = this.hashPosition(x, y);
            if (this.cells[cellX] && this.cells[cellX][cellY]) {
                const objects = this.cells[cellX][cellY];
                const index = objects.indexOf(object);
                if (-1 !== index) {
                    const lastIndex = objects.length - 1;
                    if (index === lastIndex) {
                        objects.pop();
                    } else {
                        objects[index] = objects.pop();
                    }
                    return true;
                }
            }
            return false;
        }
    }
    const modules_SpatialHashGrid = SpatialHashGrid;
    class EnemyManager {
        client;
        enemiesGrid=new modules_SpatialHashGrid(100);
        enemies=[];
        trappedEnemies=new Set;
        dangerousEnemies=[];
        _nearestEnemy=[ null, null ];
        nearestMeleeReloaded=null;
        nearestDangerAnimal=null;
        nearestTrap=null;
        nearestCollideSpike=null;
        nearestTurretEntity=null;
        detectedEnemy=false;
        constructor(client) {
            this.client = client;
        }
        reset() {
            this.enemiesGrid.clear();
            this.enemies.length = 0;
            this.trappedEnemies.clear();
            this.dangerousEnemies.length = 0;
            this._nearestEnemy[0] = null;
            this._nearestEnemy[1] = null;
            this.nearestMeleeReloaded = null;
            this.nearestDangerAnimal = null;
            this.nearestTrap = null;
            this.nearestCollideSpike = null;
            this.nearestTurretEntity = null;
            this.detectedEnemy = false;
        }
        get nearestEnemy() {
            return this._nearestEnemy[0];
        }
        get nearestAnimal() {
            return this._nearestEnemy[1];
        }
        isNear(enemy, nearest) {
            if (null === nearest) {
                return true;
            }
            const {myPlayer} = this.client;
            const a0 = myPlayer.position.current;
            const distance1 = a0.distance(enemy.position.current);
            const distance2 = a0.distance(nearest.position.current);
            return distance1 < distance2;
        }
        get nearestEntity() {
            const target1 = this.nearestEnemy;
            const target2 = this.nearestAnimal;
            if (null === target1) {
                return target2;
            }
            return this.isNear(target1, target2) ? target1 : target2;
        }
        nearestEnemyInRangeOf(range, target) {
            const enemy = target || this.nearestEnemy;
            return null !== enemy && this.client.myPlayer.collidingEntity(enemy, range);
        }
        handleNearestDanger(enemy) {
            const {myPlayer, ModuleHandler} = this.client;
            const extraRange = enemy.usingBoost && !enemy.isTrapped ? 400 : 100;
            const range = enemy.getMaxWeaponRange() + myPlayer.hitScale + extraRange;
            if (myPlayer.collidingEntity(enemy, range)) {
                if (enemy.danger >= 3) {
                    ModuleHandler.needToHeal = true;
                }
                this.detectedEnemy = true;
            }
        }
        handleDanger(enemy) {
            if (enemy.dangerList.length >= 2) {
                enemy.dangerList.shift();
            }
            const danger = enemy.canPossiblyInstakill();
            enemy.dangerList.push(danger);
            enemy.danger = Math.max(...enemy.dangerList);
            if (0 !== enemy.danger) {
                this.dangerousEnemies.push(enemy);
                this.handleNearestDanger(enemy);
            }
        }
        checkCollision(target, isOwner = false) {
            target.isTrapped = false;
            target.onPlatform = false;
            const {ObjectManager, PlayerManager} = this.client;
            const objects = ObjectManager.retrieveObjects(target.position.current, target.collisionScale);
            for (const object of objects) {
                if (object instanceof Resource) {
                    continue;
                }
                if (!target.collidingObject(object, 5)) {
                    continue;
                }
                const isEnemyObject = PlayerManager.isEnemyByID(object.ownerID, target);
                if (15 === object.type && isEnemyObject) {
                    this.trappedEnemies.add(target);
                    target.isTrapped = true;
                    if (isOwner && this.isNear(target, this.nearestTrap)) {
                        this.nearestTrap = object;
                    }
                } else if (18 === object.type) {
                    target.onPlatform = true;
                } else if (2 === object.itemGroup && isEnemyObject) {
                    if (!isOwner && this.isNear(target, this.nearestCollideSpike)) {
                        const pos1 = target.position.future;
                        const pos2 = object.position.current;
                        const distance = pos1.distance(pos2);
                        const range = object.collisionScale + target.collisionScale;
                        const willCollide = distance <= range;
                        if (willCollide) {
                            this.nearestCollideSpike = target;
                        }
                    }
                }
            }
        }
        handleNearest(type, enemy) {
            if (this.isNear(enemy, this._nearestEnemy[type])) {
                this._nearestEnemy[type] = enemy;
                if (enemy.canUseTurret && this.client.myPlayer.collidingEntity(enemy, 700)) {
                    this.nearestTurretEntity = enemy;
                }
            }
        }
        handleNearestMelee(enemy) {
            const {myPlayer, ModuleHandler} = this.client;
            const range = enemy.getMaxWeaponRange() + myPlayer.hitScale + 60;
            const angle = ModuleHandler.getMoveAngle();
            if (!enemy.meleeReloaded()) {
                return;
            }
            if (!myPlayer.collidingEntity(enemy, range)) {
                return;
            }
            if (!myPlayer.runningAwayFrom(enemy, angle)) {
                return;
            }
            if (!this.isNear(enemy, this.nearestMeleeReloaded)) {
                return;
            }
            this.nearestMeleeReloaded = enemy;
        }
        handleNearestDangerAnimal(animal) {
            const {myPlayer} = this.client;
            if (!animal.isDanger) {
                return;
            }
            if (!myPlayer.collidingEntity(animal, animal.collisionRange)) {
                return;
            }
            if (!this.isNear(animal, this.nearestDangerAnimal)) {
                return;
            }
            this.nearestDangerAnimal = animal;
        }
        handleEnemies(players, animals) {
            this.reset();
            const {myPlayer} = this.client;
            this.checkCollision(myPlayer, true);
            for (let i = 0; i < players.length; i++) {
                const player = players[i];
                if (myPlayer.isEnemyByID(player.id)) {
                    this.enemiesGrid.insert(player);
                    this.enemies.push(player);
                    this.checkCollision(player);
                    this.handleDanger(player);
                    this.handleNearest(0, player);
                    this.handleNearestMelee(player);
                }
            }
            for (let i = 0; i < animals.length; i++) {
                const animal = animals[i];
                this.handleNearest(1, animal);
                this.handleNearestDangerAnimal(animal);
            }
        }
    }
    const Managers_EnemyManager = EnemyManager;
    class LeaderboardManager {
        client;
        list=new Set;
        constructor(client) {
            this.client = client;
        }
        updatePlayer(id, nickname, gold) {
            const owner = this.client.PlayerManager.playerData.get(id) || this.client.PlayerManager.createPlayer({
                id,
                nickname
            });
            this.list.add(owner);
            owner.totalGold = gold;
            owner.inLeaderboard = true;
        }
        update(data) {
            for (const player of this.list) {
                player.inLeaderboard = false;
            }
            this.list.clear();
            for (let i = 0; i < data.length; i += 3) {
                const id = data[i + 0];
                const nickname = data[i + 1];
                const gold = data[i + 2];
                this.updatePlayer(id, nickname, gold);
            }
        }
    }
    const Managers_LeaderboardManager = LeaderboardManager;
    const WeaponTypeString = [ "primary", "secondary" ];
    class Entity {
        id=-1;
        position={
            previous: new modules_Vector,
            current: new modules_Vector,
            future: new modules_Vector
        };
        angle=0;
        scale=0;
        setFuturePosition() {
            const {previous, current, future} = this.position;
            const distance = previous.distance(current);
            const angle = previous.angle(current);
            future.setVec(current.direction(angle, distance));
        }
        get collisionScale() {
            return this.scale;
        }
        get hitScale() {
            return 1.8 * this.scale;
        }
        client;
        constructor(client) {
            this.client = client;
        }
        colliding(object, radius) {
            const {previous: a0, current: a1, future: a2} = this.position;
            const b0 = object.position.current;
            return a0.distance(b0) <= radius || a1.distance(b0) <= radius || a2.distance(b0) <= radius;
        }
        collidingObject(object, addRadius = 0, checkPrevious = true) {
            const {previous: a0, current: a1, future: a2} = this.position;
            const b0 = object.position.current;
            const radius = this.collisionScale + object.collisionScale + addRadius;
            return checkPrevious && a0.distance(b0) <= radius || a1.distance(b0) <= radius || a2.distance(b0) <= radius;
        }
        collidingEntity(entity, range, checkBased = false, prev = true) {
            const {previous: a0, current: a1, future: a2} = this.position;
            const {previous: b0, current: b1, future: b2} = entity.position;
            if (checkBased) {
                return prev && a0.distance(b0) <= range || a1.distance(b1) <= range || a2.distance(b2) <= range;
            }
            return a0.distance(b0) <= range || a0.distance(b1) <= range || a0.distance(b2) <= range || a1.distance(b0) <= range || a1.distance(b1) <= range || a1.distance(b2) <= range || a2.distance(b0) <= range || a2.distance(b1) <= range || a2.distance(b2) <= range;
        }
        checkCollision(itemGroup, addRadius = 0, checkEnemy = false, checkPrevious = true) {
            const {ObjectManager} = this.client;
            const objects = ObjectManager.retrieveObjects(this.position.current, this.collisionScale);
            for (const object of objects) {
                const matchItem = object instanceof PlayerObject && object.itemGroup === itemGroup;
                const isCactus = object instanceof Resource && 2 === itemGroup && object.isCactus;
                if (matchItem || isCactus) {
                    if (checkEnemy && !ObjectManager.isEnemyObject(object)) {
                        continue;
                    }
                    if (this.collidingObject(object, addRadius, checkPrevious)) {
                        return true;
                    }
                }
            }
            return false;
        }
        runningAwayFrom(entity, angle) {
            if (null === angle) {
                return false;
            }
            const pos1 = this.position.current;
            const pos2 = entity.position.current;
            const angleTo = pos1.angle(pos2);
            if (getAngleDist(angle, angleTo) <= Math.PI / 2) {
                return false;
            }
            return true;
        }
    }
    const data_Entity = Entity;
    class Player extends data_Entity {
        socketID="";
        currentItem=-1;
        clanName=null;
        isLeader=false;
        nickname="unknown";
        skinID=0;
        scale=35;
        hatID=0;
        accessoryID=0;
        totalStorePrice=0;
        storeList=[ new Set, new Set ];
        previousHealth=100;
        currentHealth=100;
        tempHealth=100;
        maxHealth=100;
        globalInventory={};
        weapon={};
        variant={};
        reload={
            primary: {},
            secondary: {},
            turret: {}
        };
        objects=new Set;
        totalGold=0;
        inLeaderboard=false;
        newlyCreated=true;
        usingBoost=false;
        isTrapped=false;
        onPlatform=false;
        isFullyUpgraded=false;
        potentialDamage=0;
        foundProjectiles=new Map;
        dangerList=[];
        danger=0;
        constructor(client) {
            super(client);
            this.init();
        }
        hasFound(projectile) {
            const key = projectile.type;
            return this.foundProjectiles.has(key);
        }
        addFound(projectile) {
            const key = projectile.type;
            if (!this.foundProjectiles.has(key)) {
                this.foundProjectiles.set(key, []);
            }
            const list = this.foundProjectiles.get(key);
            list.push(projectile);
        }
        resetReload() {
            const {primary, secondary} = this.weapon;
            const primarySpeed = null !== primary ? this.getWeaponSpeed(primary) : -1;
            const secondarySpeed = null !== secondary ? this.getWeaponSpeed(secondary) : -1;
            const reload = this.reload;
            reload.primary.current = primarySpeed;
            reload.primary.max = primarySpeed;
            reload.secondary.current = secondarySpeed;
            reload.secondary.max = secondarySpeed;
            reload.turret.current = 2500;
            reload.turret.max = 2500;
        }
        resetGlobalInventory() {
            this.globalInventory[0] = null;
            this.globalInventory[1] = null;
            this.globalInventory[2] = null;
            this.globalInventory[3] = null;
            this.globalInventory[4] = null;
            this.globalInventory[5] = null;
            this.globalInventory[6] = null;
            this.globalInventory[7] = null;
            this.globalInventory[8] = null;
            this.globalInventory[9] = null;
        }
        init() {
            this.weapon.current = 0;
            this.weapon.oldCurrent = 0;
            this.weapon.primary = null;
            this.weapon.secondary = null;
            this.variant.current = 0;
            this.variant.primary = 0;
            this.variant.secondary = 0;
            this.resetReload();
            this.resetGlobalInventory();
            this.newlyCreated = true;
            this.usingBoost = false;
            this.isFullyUpgraded = false;
            this.foundProjectiles.clear();
        }
        get canUseTurret() {
            return 22 !== this.hatID;
        }
        update(id, x, y, angle, currentItem, currentWeapon, weaponVariant, clanName, isLeader, hatID, accessoryID, isSkull) {
            this.id = id;
            this.position.previous.setVec(this.position.current);
            this.position.current.setXY(x, y);
            this.setFuturePosition();
            this.angle = angle;
            this.currentItem = currentItem;
            this.weapon.oldCurrent = this.weapon.current;
            this.weapon.current = currentWeapon;
            this.variant.current = weaponVariant;
            this.clanName = clanName;
            this.isLeader = Boolean(isLeader);
            this.hatID = hatID;
            this.accessoryID = accessoryID;
            if (!this.storeList[0].has(hatID)) {
                this.storeList[0].add(hatID);
                this.totalStorePrice += Hats[hatID].price;
            }
            if (!this.storeList[1].has(accessoryID)) {
                this.storeList[1].add(accessoryID);
                this.totalStorePrice += Accessories[accessoryID].price;
            }
            this.newlyCreated = false;
            this.potentialDamage = 0;
            this.predictItems();
            this.predictWeapons();
            this.updateReloads();
        }
        updateHealth(health) {
            this.previousHealth = this.currentHealth;
            this.currentHealth = health;
            this.tempHealth = health;
        }
        predictItems() {
            if (-1 === this.currentItem) {
                return;
            }
            const item = Items[this.currentItem];
            this.globalInventory[item.itemType] = this.currentItem;
        }
        increaseReload(reload) {
            reload.current = Math.min(reload.current + this.client.PlayerManager.step, reload.max);
        }
        updateTurretReload() {
            const reload = this.reload.turret;
            this.increaseReload(reload);
            if (53 !== this.hatID) {
                return;
            }
            const {ProjectileManager} = this.client;
            const speed = Projectiles[1].speed;
            const list = ProjectileManager.projectiles.get(speed);
            if (void 0 === list) {
                return;
            }
            const current = this.position.current;
            for (let i = 0; i < list.length; i++) {
                const projectile = list[i];
                const distance = current.distance(projectile.position.current);
                if (distance < 2) {
                    if (this.hasFound(projectile)) {
                        this.foundProjectiles.clear();
                    }
                    this.addFound(projectile);
                    projectile.owner = this;
                    reload.current = 0;
                    removeFast(list, i);
                    break;
                }
            }
        }
        updateReloads() {
            this.updateTurretReload();
            if (-1 !== this.currentItem) {
                return;
            }
            const weapon = Weapons[this.weapon.current];
            const type = WeaponTypeString[weapon.itemType];
            const reload = this.reload[type];
            this.increaseReload(reload);
            if ("projectile" in weapon) {
                const {ProjectileManager} = this.client;
                const speedMult = this.getWeaponSpeedMult();
                const type = weapon.projectile;
                const speed = Projectiles[type].speed * speedMult;
                const list = ProjectileManager.projectiles.get(speed);
                if (void 0 === list) {
                    return;
                }
                const current = this.position.current;
                for (let i = 0; i < list.length; i++) {
                    const projectile = list[i];
                    const distance = current.distance(projectile.position.current);
                    if (distance < 2 && this.angle === projectile.angle) {
                        if (this.hasFound(projectile)) {
                            this.foundProjectiles.clear();
                        }
                        this.addFound(projectile);
                        projectile.owner = this;
                        reload.current = 0;
                        reload.max = this.getWeaponSpeed(weapon.id);
                        removeFast(list, i);
                        break;
                    }
                }
            }
        }
        handleObjectPlacement(object) {
            this.objects.add(object);
            const {myPlayer, ObjectManager} = this.client;
            const item = Items[object.type];
            if (object.seenPlacement) {
                if (17 === object.type) {
                    ObjectManager.resetTurret(object.id);
                } else if (16 === object.type && !this.newlyCreated) {
                    this.usingBoost = true;
                }
                this.updateInventory(object.type);
            }
            if (myPlayer.isMyPlayerByID(this.id) && 5 === item.itemType) {
                myPlayer.totalGoldAmount += item.pps;
            }
        }
        handleObjectDeletion(object) {
            this.objects.delete(object);
            const {myPlayer} = this.client;
            const item = Items[object.type];
            if (myPlayer.isMyPlayerByID(this.id) && 5 === item.itemType) {
                myPlayer.totalGoldAmount -= item.pps;
            }
        }
        updateInventory(type) {
            const item = Items[type];
            const inventoryID = this.globalInventory[item.itemType];
            const shouldUpdate = null === inventoryID || item.age > Items[inventoryID].age;
            if (shouldUpdate) {
                this.globalInventory[item.itemType] = item.id;
            }
        }
        detectFullUpgrade() {
            const inventory = this.globalInventory;
            const primary = inventory[0];
            const secondary = inventory[1];
            const spike = inventory[4];
            if (primary && secondary) {
                if ("isUpgrade" in Weapons[primary] && "isUpgrade" in Weapons[secondary]) {
                    return true;
                }
            }
            return primary && 8 === Weapons[primary].age || secondary && 9 === Weapons[secondary].age || spike && 9 === Items[spike].age || 12 === inventory[5] || 20 === inventory[9];
        }
        predictPrimary(id) {
            if (11 === id) {
                return 4;
            }
            return 5;
        }
        predictSecondary(id) {
            if (0 === id) {
                return null;
            }
            if (2 === id || 4 === id) {
                return 10;
            }
            return 15;
        }
        predictWeapons() {
            const {current, oldCurrent} = this.weapon;
            const weapon = Weapons[current];
            const type = WeaponTypeString[weapon.itemType];
            const reload = this.reload[type];
            const upgradedWeapon = current !== oldCurrent && weapon.itemType === Weapons[oldCurrent].itemType;
            if (-1 === reload.max || upgradedWeapon) {
                reload.current = weapon.speed;
                reload.max = weapon.speed;
            }
            this.globalInventory[weapon.itemType] = current;
            this.variant[type] = this.variant.current;
            const currentType = this.weapon[type];
            if (null === currentType || weapon.age > Weapons[currentType].age) {
                this.weapon[type] = current;
            }
            const primary = this.globalInventory[0];
            const secondary = this.globalInventory[1];
            const notPrimaryUpgrade = null === primary || !("isUpgrade" in Weapons[primary]);
            const notSecondaryUpgrade = null === secondary || !("isUpgrade" in Weapons[secondary]);
            if (utility_DataHandler.isSecondary(current) && notPrimaryUpgrade) {
                const predicted = this.predictPrimary(current);
                if (null === primary || Weapons[predicted].upgradeType === Weapons[primary].upgradeType) {
                    this.weapon.primary = predicted;
                }
            } else if (utility_DataHandler.isPrimary(current) && notSecondaryUpgrade) {
                const predicted = this.predictSecondary(current);
                if (null === predicted || null === secondary || Weapons[predicted].upgradeType === Weapons[secondary].upgradeType) {
                    this.weapon.secondary = predicted;
                }
            }
            this.isFullyUpgraded = this.detectFullUpgrade();
            if (this.isFullyUpgraded) {
                if (null !== primary) {
                    this.weapon.primary = primary;
                }
                if (null !== secondary) {
                    this.weapon.secondary = secondary;
                }
            }
        }
        getWeaponVariant(id) {
            const type = Weapons[id].itemType;
            const variant = this.variant[WeaponTypeString[type]];
            return {
                current: variant,
                next: Math.min(variant + 1, 3)
            };
        }
        getBuildingDamage(id) {
            const weapon = Weapons[id];
            const variant = WeaponVariants[this.getWeaponVariant(id).current];
            let damage = weapon.damage * variant.val;
            if ("sDmg" in weapon) {
                damage *= weapon.sDmg;
            }
            const hat = Hats[this.hatID];
            if ("bDmg" in hat) {
                damage *= hat.bDmg;
            }
            return damage;
        }
        canDealPoison(weaponID) {
            const variant = this.getWeaponVariant(weaponID).current;
            const isRuby = 3 === variant;
            const hasPlague = 21 === this.hatID;
            return {
                isAble: isRuby || hasPlague,
                count: isRuby ? 5 : hasPlague ? 6 : 0
            };
        }
        getWeaponSpeed(id, hat = this.hatID) {
            const reloadSpeed = 20 === hat ? Hats[hat].atkSpd : 1;
            return Weapons[id].speed * reloadSpeed;
        }
        getWeaponSpeedMult() {
            if (1 === this.hatID) {
                return Hats[this.hatID].aMlt;
            }
            return 1;
        }
        getMaxWeaponRange() {
            const {primary, secondary} = this.weapon;
            const primaryRange = Weapons[primary].range;
            if (utility_DataHandler.isMelee(secondary)) {
                const range = Weapons[secondary].range;
                if (range > primaryRange) {
                    return range;
                }
            }
            return primaryRange;
        }
        getMaxWeaponDamage(id, lookingShield) {
        if (utility_DataHandler.isMelee(id)) {
            const BULL_HAT_ID = 7;
            const bull = Hats[BULL_HAT_ID];
            const variant = this.getWeaponVariant(id).current;
            let damage = Weapons[id].damage;

            // НОВОЕ (Требование 3): Применяем множитель Bull Hat только если она КУПЛЕНА
            const hatIsOwned = this.storeList && this.storeList[0] && this.storeList[0].has(BULL_HAT_ID);

            if (hatIsOwned && bull && bull.dmgMultO) {
                 damage *= bull.dmgMultO;
            }

            damage *= WeaponVariants[variant].val;
            if (lookingShield) {
                // Это множитель урона по щиту
                damage *= Weapons[11].shield;
            }
            return damage;
        } else if (utility_DataHandler.isShootable(id) && !lookingShield) {
            const projectile = utility_DataHandler.getProjectile(id);
            return projectile.damage;
        }
        return 0;
    }
        getItemPlaceScale(itemID) {
            const item = Items[itemID];
            return this.scale + item.scale + item.placeOffset;
        }
        isReloaded(type, tick = 2 * this.client.SocketManager.TICK) {
            const reload = this.reload[type].current;
            const max = this.reload[type].max - tick;
            return reload >= max;
        }
        meleeReloaded() {
            const {TICK} = this.client.SocketManager;
            return this.isReloaded("primary", TICK) || utility_DataHandler.isMelee(this.weapon.secondary) && this.isReloaded("secondary", TICK);
        }
        detectSpikeInsta() {
            const {myPlayer, ObjectManager} = this.client;
            const spikeID = this.globalInventory[4] || 9;
            const placeLength = this.getItemPlaceScale(spikeID);
            const pos1 = this.position.current;
            const pos2 = myPlayer.position.current;
            const angleTo = pos1.angle(pos2);
            const angles = ObjectManager.getBestPlacementAngles(pos1, spikeID, angleTo);
            const spike = Items[spikeID];
            for (const angle of angles) {
                const spikePos = pos1.direction(angle, placeLength);
                const distance = pos2.distance(spikePos);
                const range = this.collisionScale + spike.scale;
                if (distance <= range) {
                    this.potentialDamage += spike.damage;
                    break;
                }
            }
        }
        canPossiblyInstakill() {
            const {PlayerManager, myPlayer} = myClient;
            const lookingShield = PlayerManager.lookingShield(myPlayer, this);
            const {primary, secondary} = this.weapon;
            const primaryDamage = this.getMaxWeaponDamage(primary, lookingShield);
            const secondaryDamage = this.getMaxWeaponDamage(secondary, lookingShield);
            if (this.isReloaded("primary")) {
                this.potentialDamage += primaryDamage;
            }
            if (this.isReloaded("secondary")) {
                const turrets = this.foundProjectiles.get(1);
                this.foundProjectiles.clear();
                if (void 0 !== turrets) {
                    this.foundProjectiles.set(1, turrets);
                }
                this.potentialDamage += secondaryDamage;
            }
            if (this.isReloaded("turret") && !lookingShield) {
                this.potentialDamage += 25;
            }
            this.detectSpikeInsta();
            if (this.potentialDamage * Hats[6].dmgMult >= 100) {
                return 3;
            }
            if (this.potentialDamage >= 100) {
                return 2;
            }
            return 0;
        }
    }
    const data_Player = Player;
    class Renderer {
        static objects=[];
        static rect(ctx, pos, scale, color, lineWidth = 4) {
            ctx.save();
            ctx.strokeStyle = color;
            ctx.lineWidth = lineWidth;
            ctx.beginPath();
            ctx.translate(-myClient.myPlayer.offset.x, -myClient.myPlayer.offset.y);
            ctx.translate(pos.x, pos.y);
            ctx.rect(-scale, -scale, 2 * scale, 2 * scale);
            ctx.stroke();
            ctx.closePath();
            ctx.restore();
        }
        static roundRect(ctx, x, y, w, h, r) {
            if (w < 2 * r) {
                r = w / 2;
            }
            if (h < 2 * r) {
                r = h / 2;
            }
            if (r < 0) {
                r = 0;
            }
            ctx.beginPath();
            ctx.moveTo(x + r, y);
            ctx.arcTo(x + w, y, x + w, y + h, r);
            ctx.arcTo(x + w, y + h, x, y + h, r);
            ctx.arcTo(x, y + h, x, y, r);
            ctx.arcTo(x, y, x + w, y, r);
            ctx.closePath();
        }
        static circle(ctx, x, y, radius, color, opacity = 1, lineWidth = 4) {
            ctx.save();
            ctx.globalAlpha = opacity;
            ctx.strokeStyle = color;
            ctx.lineWidth = lineWidth;
            ctx.beginPath();
            ctx.translate(-myClient.myPlayer.offset.x, -myClient.myPlayer.offset.y);
            ctx.arc(x, y, radius, 0, 2 * Math.PI);
            ctx.stroke();
            ctx.closePath();
            ctx.restore();
        }
        static fillCircle(ctx, x, y, radius, color, opacity = 1) {
            ctx.save();
            ctx.globalAlpha = opacity;
            ctx.fillStyle = color;
            ctx.beginPath();
            ctx.translate(-myClient.myPlayer.offset.x, -myClient.myPlayer.offset.y);
            ctx.arc(x, y, radius, 0, 2 * Math.PI);
            ctx.fill();
            ctx.closePath();
            ctx.restore();
        }
        static line(ctx, start, end, color, opacity = 1, lineWidth = 4) {
            ctx.save();
            ctx.translate(-myClient.myPlayer.offset.x, -myClient.myPlayer.offset.y);
            ctx.globalAlpha = opacity;
            ctx.strokeStyle = color;
            ctx.lineCap = "round";
            ctx.lineWidth = lineWidth;
            ctx.beginPath();
            ctx.moveTo(start.x, start.y);
            ctx.lineTo(end.x, end.y);
            ctx.stroke();
            ctx.restore();
        }
        static arrow(ctx, length, x, y, angle, color) {
            ctx.save();
            ctx.translate(-myClient.myPlayer.offset.x, -myClient.myPlayer.offset.y);
            ctx.translate(x, y);
            ctx.rotate(Math.PI / 4);
            ctx.rotate(angle);
            ctx.globalAlpha = .75;
            ctx.strokeStyle = color;
            ctx.lineCap = "round";
            ctx.lineWidth = 8;
            ctx.beginPath();
            ctx.moveTo(-length, -length);
            ctx.lineTo(length, -length);
            ctx.lineTo(length, length);
            ctx.stroke();
            ctx.restore();
        }
        static cross(ctx, x, y, size, lineWidth, color) {
            ctx.save();
            ctx.globalAlpha = 1;
            ctx.lineWidth = lineWidth;
            ctx.strokeStyle = color;
            ctx.translate(x - myClient.myPlayer.offset.x, y - myClient.myPlayer.offset.y);
            const halfSize = size / 2;
            ctx.beginPath();
            ctx.moveTo(-halfSize, -halfSize);
            ctx.lineTo(halfSize, halfSize);
            ctx.stroke();
            ctx.beginPath();
            ctx.moveTo(halfSize, -halfSize);
            ctx.lineTo(-halfSize, halfSize);
            ctx.stroke();
            ctx.restore();
        }
        static getTracerColor(entity) {
            if (entity instanceof Notification) {
                return Settings.notificationTracersColor;
            }
            if (Settings.animalTracers && entity.isAI) {
                return Settings.animalTracersColor;
            }
            if (Settings.teammateTracers && entity.isPlayer && myClient.myPlayer.isTeammateByID(entity.sid)) {
                return Settings.teammateTracersColor;
            }
            if (Settings.enemyTracers && entity.isPlayer && myClient.myPlayer.isEnemyByID(entity.sid)) {
                return Settings.enemyTracersColor;
            }
            return null;
        }
        static renderTracer(ctx, entity, player) {
            const color = this.getTracerColor(entity);
            if (null === color) {
                return;
            }
            const pos1 = new modules_Vector(player.x, player.y);
            const pos2 = new modules_Vector(entity.x, entity.y);
            if (Settings.arrows) {
                const w = 8;
                const distance = Math.min(100 + 2 * w, pos1.distance(pos2) - 2 * w);
                const angle = pos1.angle(pos2);
                const pos = pos1.direction(angle, distance);
                this.arrow(ctx, w, pos.x, pos.y, angle, color);
            } else {
                this.line(ctx, pos1, pos2, color, .75);
            }
        }
        static getMarkerColor(object) {
            const id = object.owner?.sid;
            if (void 0 === id) {
                return null;
            }
            if (Settings.itemMarkers && myClient.myPlayer.isMyPlayerByID(id)) {
                return Settings.itemMarkersColor;
            }
            if (Settings.teammateMarkers && myClient.myPlayer.isTeammateByID(id)) {
                return Settings.teammateMarkersColor;
            }
            if (Settings.enemyMarkers && myClient.myPlayer.isEnemyByID(id)) {
                return Settings.enemyMarkersColor;
            }
            return null;
        }
        static renderMarker(ctx, object) {
            const color = this.getMarkerColor(object);
            if (null === color) {
                return;
            }
            const x = object.x + object.xWiggle - myClient.myPlayer.offset.x;
            const y = object.y + object.yWiggle - myClient.myPlayer.offset.y;
            ctx.save();
            ctx.strokeStyle = "#3b3b3b";
            ctx.lineWidth = 4;
            ctx.fillStyle = color;
            ctx.beginPath();
            ctx.arc(x, y, 10, 0, 2 * Math.PI);
            ctx.fill();
            ctx.stroke();
            ctx.closePath();
            ctx.restore();
        }
        static barContainer(ctx, x, y, w, h, r = 8) {
            ctx.fillStyle = "#3d3f42";
            this.roundRect(ctx, x, y, w, h, r);
            ctx.fill();
        }
        static barContent(ctx, x, y, w, h, fill, color) {
            const barPad = constants_Config.barPad;
            ctx.fillStyle = color;
            this.roundRect(ctx, x + barPad, y + barPad, (w - 2 * barPad) * fill, h - 2 * barPad, 7);
            ctx.fill();
        }
        static getNameY(target) {
            let nameY = 34;
            const height = 5;
            if (target === myClient.myPlayer && Settings.weaponXPBar) {
                nameY += height;
            }
            if (Settings.playerTurretReloadBar) {
                nameY += height;
            }
            if (Settings.weaponReloadBar) {
                nameY += height;
            }
            return nameY;
        }
        static getContainerHeight(entity) {
            const {barHeight, barPad} = constants_Config;
            let height = barHeight;
            if (entity.isPlayer) {
                const smallBarHeight = barHeight - 4;
                const player = myClient.PlayerManager.playerData.get(entity.sid);
                if (void 0 === player) {
                    return height;
                }
                if (player === myClient.myPlayer && Settings.weaponXPBar) {
                    height += smallBarHeight - barPad;
                }
                if (Settings.playerTurretReloadBar) {
                    height += smallBarHeight - barPad;
                }
                if (Settings.weaponReloadBar) {
                    height += barHeight - barPad;
                }
            }
            return height;
        }
        static renderBar(ctx, entity) {
            const {barWidth, barHeight, barPad} = constants_Config;
            const smallBarHeight = barHeight - 4;
            const totalWidth = barWidth + barPad;
            const scale = entity.scale + 34;
            const {myPlayer, PlayerManager} = myClient;
            let x = entity.x - myPlayer.offset.x - totalWidth;
            let y = entity.y - myPlayer.offset.y + scale;
            ctx.save();
            if (entity.isPlayer && entity !== myClient.myPlayer) {
        const botId = (entity.client && entity.client.id !== undefined)
    ? entity.client.id        // если это бот
    : (entity.sid ?? entity.id); // иначе sid или id

ctx.fillStyle = "#ff0";
ctx.strokeStyle = "#000";
ctx.lineWidth = 4;
ctx.font = "16px Hammersmith One";

// рисуем ID + ник
ctx.strokeText(`[${botId}]`, x - -55, y - 20);
ctx.fillText(`[${botId}]`, x - -55, y - 20);
    }

    ctx.restore();
            const player = entity.isPlayer && PlayerManager.playerData.get(entity.sid);
            const animal = entity.isAI && PlayerManager.animalData.get(entity.sid);
            let height = 0;
            if (player instanceof data_Player) {
                const {primary, secondary, turret} = player.reload;
                if (player === myPlayer && Settings.weaponXPBar) {
                    const weapon = Weapons[myPlayer.weapon.current];
                    const current = WeaponVariants[myPlayer.getWeaponVariant(weapon.id).current].color;
                    const next = WeaponVariants[myPlayer.getWeaponVariant(weapon.id).next].color;
                    const XP = myPlayer.weaponXP[weapon.itemType];
                    this.barContainer(ctx, x, y, 2 * totalWidth, smallBarHeight);
                    this.barContent(ctx, x, y, 2 * totalWidth, smallBarHeight, 1, current);
                    this.barContent(ctx, x, y, 2 * totalWidth, smallBarHeight, clamp(XP.current / XP.max, 0, 1), next);
                    height += smallBarHeight - barPad;
                }
                if (Settings.playerTurretReloadBar) {
                    this.barContainer(ctx, x, y + height, 2 * totalWidth, smallBarHeight);
                    this.barContent(ctx, x, y + height, 2 * totalWidth, smallBarHeight, turret.current / turret.max, Settings.playerTurretReloadBarColor);
                    height += smallBarHeight - barPad;
                }

                if (Settings.weaponReloadBar) {
                    const extraPad = 2.25;
                    this.barContainer(ctx, x, y + height, 2 * totalWidth, barHeight);
                    this.barContent(ctx, x, y + height, totalWidth + extraPad, barHeight, primary.current / primary.max, Settings.weaponReloadBarColor);
                    this.barContent(ctx, x + totalWidth - extraPad, y + height, totalWidth + extraPad, barHeight, secondary.current / secondary.max, Settings.weaponReloadBarColor);
                    height += barHeight - barPad;
                }
            }
            const target = player || animal;
            if (target) {
                window.config.nameY = this.getNameY(target);
                const {currentHealth, maxHealth} = target;
                const health = animal ? maxHealth : 100;
                const color = PlayerManager.isEnemyTarget(myPlayer, target) ? "#cc5151" : "#8ecc51";
                this.barContainer(ctx, x, y + height, 2 * totalWidth, barHeight);
                this.barContent(ctx, x, y + height, 2 * totalWidth, barHeight, currentHealth / health, color);
                height += barHeight;
            }
            ctx.restore();
        }
        static renderHP(ctx, entity) {
            if (!Settings.renderHP) {
                return;
            }
            const {barPad, nameY} = constants_Config;
            const containerHeight = this.getContainerHeight(entity);
            let text = `HP ${Math.floor(entity.health)}/${entity.maxHealth} `;
            const offset = entity.scale + nameY + barPad + containerHeight;
            const {myPlayer} = myClient;
            const x = entity.x - myPlayer.offset.x;
            const y = entity.y - myPlayer.offset.y + offset;
            if (entity.isPlayer && myPlayer.isMyPlayerByID(entity.sid)) {
                text += `Shame ${myPlayer.shameCount}/8`;
            }
            ctx.save();
            ctx.fillStyle = "#fff";
            ctx.strokeStyle = "#3d3f42";
            ctx.lineWidth = 8;
            ctx.lineJoin = "round";
            ctx.textBaseline = "top";
            ctx.font = `19px Hammersmith One`;
            ctx.strokeText(text, x, y);
            ctx.fillText(text, x, y);
            ctx.restore();
        }
        static circularBar(ctx, object, perc, angle, color, offset = 0) {
            const x = object.x + object.xWiggle - myClient.myPlayer.offset.x;
            const y = object.y + object.yWiggle - myClient.myPlayer.offset.y;
            const height = .7 * constants_Config.barHeight;
            const defaultScale = 10 + height / 2;
            const scale = defaultScale + 3 + offset;
            ctx.save();
            ctx.translate(x, y);
            ctx.rotate(angle);
            ctx.lineCap = "round";
            ctx.strokeStyle = "#3b3b3b";
            ctx.lineWidth = height;
            ctx.beginPath();
            ctx.arc(0, 0, scale, 0, 2 * perc * Math.PI);
            ctx.stroke();
            ctx.closePath();
            ctx.strokeStyle = color;
            ctx.lineWidth = height / 3;
            ctx.beginPath();
            ctx.arc(0, 0, scale, 0, 2 * perc * Math.PI);
            ctx.stroke();
            ctx.closePath();
            ctx.restore();
            return defaultScale - 3;
        }
    }

    const rendering_Renderer = Renderer;
    const Animals = [ {
        id: 0,
        src: "cow_1",
        hostile: false,
        killScore: 150,
        health: 500,
        weightM: .8,
        speed: 95e-5,
        turnSpeed: .001,
        scale: 72,
        drop: [ "food", 50 ]
    }, {
        id: 1,
        src: "pig_1",
        hostile: false,
        killScore: 200,
        health: 800,
        weightM: .6,
        speed: 85e-5,
        turnSpeed: .001,
        scale: 72,
        drop: [ "food", 80 ]
    }, {
        id: 2,
        name: "Bull",
        src: "bull_2",
        hostile: true,
        dmg: 20,
        killScore: 1e3,
        health: 1800,
        weightM: .5,
        speed: 94e-5,
        turnSpeed: 74e-5,
        scale: 78,
        viewRange: 800,
        chargePlayer: true,
        drop: [ "food", 100 ]
    }, {
        id: 3,
        name: "Bully",
        src: "bull_1",
        hostile: true,
        dmg: 20,
        killScore: 2e3,
        health: 2800,
        weightM: .45,
        speed: .001,
        turnSpeed: 8e-4,
        scale: 90,
        viewRange: 900,
        chargePlayer: true,
        drop: [ "food", 400 ]
    }, {
        id: 4,
        name: "Wolf",
        src: "wolf_1",
        hostile: true,
        dmg: 8,
        killScore: 500,
        health: 300,
        weightM: .45,
        speed: .001,
        turnSpeed: .002,
        scale: 84,
        viewRange: 800,
        chargePlayer: true,
        drop: [ "food", 200 ]
    }, {
        id: 5,
        name: "Quack",
        src: "chicken_1",
        hostile: false,
        dmg: 8,
        killScore: 2e3,
        noTrap: true,
        health: 300,
        weightM: .2,
        speed: .0018,
        turnSpeed: .006,
        scale: 70,
        drop: [ "food", 100 ]
    }, {
        id: 6,
        name: "MOOSTAFA",
        nameScale: 50,
        src: "enemy",
        hostile: true,
        dontRun: true,
        fixedSpawn: true,
        spawnDelay: 6e4,
        noTrap: true,
        colDmg: 100,
        dmg: 40,
        killScore: 8e3,
        health: 18e3,
        weightM: .4,
        speed: 7e-4,
        turnSpeed: .01,
        scale: 80,
        spriteMlt: 1.8,
        leapForce: .9,
        viewRange: 1e3,
        hitRange: 210,
        hitDelay: 1e3,
        chargePlayer: true,
        drop: [ "food", 100 ]
    }, {
        id: 7,
        name: "Treasure",
        hostile: true,
        nameScale: 35,
        src: "crate_1",
        fixedSpawn: true,
        spawnDelay: 12e4,
        colDmg: 200,
        killScore: 5e3,
        health: 2e4,
        weightM: .1,
        speed: 0,
        turnSpeed: 0,
        scale: 70,
        spriteMlt: 1
    }, {
        id: 8,
        name: "MOOFIE",
        src: "wolf_2",
        hostile: true,
        fixedSpawn: true,
        dontRun: true,
        hitScare: 4,
        spawnDelay: 3e4,
        noTrap: true,
        nameScale: 35,
        dmg: 10,
        colDmg: 100,
        killScore: 3e3,
        health: 7e3,
        weightM: .45,
        speed: .0015,
        turnSpeed: .002,
        scale: 90,
        viewRange: 800,
        chargePlayer: true,
        drop: [ "food", 1e3 ]
    }, {
        id: 9,
        name: "💀MOOFIE",
        src: "wolf_2",
        hostile: !0,
        fixedSpawn: !0,
        dontRun: !0,
        hitScare: 50,
        spawnDelay: 6e4,
        noTrap: !0,
        nameScale: 35,
        dmg: 12,
        colDmg: 100,
        killScore: 3e3,
        health: 9e3,
        weightM: .45,
        speed: .0015,
        turnSpeed: .0025,
        scale: 94,
        viewRange: 1440,
        chargePlayer: !0,
        drop: [ "food", 3e3 ],
        minSpawnRange: .85,
        maxSpawnRange: .9
    }, {
        id: 10,
        name: "💀Wolf",
        src: "wolf_1",
        hostile: !0,
        fixedSpawn: !0,
        dontRun: !0,
        hitScare: 50,
        spawnDelay: 3e4,
        dmg: 10,
        killScore: 700,
        health: 500,
        weightM: .45,
        speed: .00115,
        turnSpeed: .0025,
        scale: 88,
        viewRange: 1440,
        chargePlayer: !0,
        drop: [ "food", 400 ],
        minSpawnRange: .85,
        maxSpawnRange: .9
    }, {
        id: 11,
        name: "💀Bully",
        src: "bull_1",
        hostile: !0,
        fixedSpawn: !0,
        dontRun: !0,
        hitScare: 50,
        dmg: 20,
        killScore: 5e3,
        health: 5e3,
        spawnDelay: 1e5,
        weightM: .45,
        speed: .00115,
        turnSpeed: .0025,
        scale: 94,
        viewRange: 1440,
        chargePlayer: !0,
        drop: [ "food", 800 ],
        minSpawnRange: .85,
        maxSpawnRange: .9
    } ];
    const constants_Animals = Animals;
    const colors = [ [ "orange", "red" ], [ "aqua", "blue" ] ];
    const EntityRenderer = new class EntityRenderer {
        start=Date.now();
        step=0;
        drawWeaponHitbox(ctx, player) {
            if (!Settings.weaponHitbox) {
                return;
            }
            const {myPlayer, ModuleHandler} = myClient;
            const current = myPlayer.getItemByType(ModuleHandler.weapon);
            if (utility_DataHandler.isMelee(current)) {
                const weapon = Weapons[current];
                rendering_Renderer.circle(ctx, player.x, player.y, weapon.range, "#f5cb42", 1, 1);
            }
        }
        drawPlacement(ctx) {
            if (!Settings.possiblePlacement) {
                return;
            }
            const {myPlayer, ModuleHandler, ObjectManager} = myClient;
            const id = myPlayer.getItemByType(7);
            if (null === id) {
                return;
            }
            const angles = ObjectManager.getBestPlacementAngles(myPlayer.position.current, id);
            const dist = myPlayer.getItemPlaceScale(id);
            const item = Items[id];
            for (const angle of angles) {
                const pos = myPlayer.position.current.direction(angle, dist);
                rendering_Renderer.circle(ctx, pos.x, pos.y, item.scale, "purple", 1, 1);
            }
        }
        drawEntityHP(ctx, entity) {
            if (entity.isPlayer) {
                if (Settings.turretHitbox && 53 === myClient.myPlayer.hatID) {
                    rendering_Renderer.circle(ctx, entity.x, entity.y, 700, "#3e2773", 1, 1);
                }
            }
            rendering_Renderer.renderBar(ctx, entity);
            rendering_Renderer.renderHP(ctx, entity);
        }
        drawHitScale(ctx, entity) {
            if (!Settings.weaponHitbox) {
                return;
            }
            const {PlayerManager} = myClient;
            const type = entity.isPlayer ? PlayerManager.playerData : PlayerManager.animalData;
            const target = type.get(entity.sid);
            if (void 0 !== target) {
                rendering_Renderer.circle(ctx, entity.x, entity.y, target.hitScale, "#3f4ec4", 1, 1);
            }
            if (entity.isAI && 6 === entity.index) {
                const moostafa = constants_Animals[6];
                rendering_Renderer.circle(ctx, entity.x, entity.y, moostafa.hitRange, "#f5cb42", 1, 1);
            }
        }
        drawDanger(ctx, entity) {
            if (!Settings.entityDanger) {
                return;
            }
            const {PlayerManager} = myClient;
            if (entity.isPlayer) {
                const player = PlayerManager.playerData.get(entity.sid);
                if (void 0 !== player && 0 !== player.danger) {
                    const isBoost = Number(player.usingBoost);
                    const isDanger = Number(player.danger >= 3);
                    rendering_Renderer.fillCircle(ctx, entity.x, entity.y, player.scale, colors[isBoost][isDanger], .35);
                }
            }
            if (entity.isAI) {
                const animal = PlayerManager.animalData.get(entity.sid);
                const color = animal.isDanger ? "red" : "green";
                rendering_Renderer.fillCircle(ctx, entity.x, entity.y, animal.attackRange, color, .3);
            }
        }
        render(ctx, entity, player) {
            const now = Date.now();
            this.step = now - this.start;
            this.start = now;
            const {myPlayer, EnemyManager} = myClient;
            const isMyPlayer = entity === player;
            if (isMyPlayer) {
                const pos = new modules_Vector(player.x, player.y);
                if (Settings.displayPlayerAngle) {
                    rendering_Renderer.line(ctx, pos, pos.direction(myClient.myPlayer.angle, 70), "#e9adf0");
                }
                this.drawWeaponHitbox(ctx, player);
                this.drawPlacement(ctx);
                const secondary = myPlayer.weapon.current;
                const enemy = EnemyManager.nearestEnemy;
                if (Settings.projectileHitbox && utility_DataHandler.isShootable(secondary) && enemy) {
                    rendering_Renderer.circle(ctx, entity.x, entity.y, 700, "#3e2773", 1, 1);
                }
                if (myPlayer.isTrapped) {
                    rendering_Renderer.fillCircle(ctx, pos.x, pos.y, 35, "yellow", .5);
                }
            }
            this.drawEntityHP(ctx, entity);
            if (Settings.collisionHitbox) {
                rendering_Renderer.circle(ctx, entity.x, entity.y, entity.scale, "#c7fff2", 1, 1);
            }
            if (!isMyPlayer) {
                const willCollide = EnemyManager.nearestCollideSpike;
                if (willCollide && !entity.isAI && myPlayer.isEnemyByID(entity.sid) && entity.sid === willCollide.id) {
                    rendering_Renderer.circle(ctx, entity.x, entity.y, entity.scale, "#691313", 1, 13);
                }
                // В Renderer.js внутри drawName(ctx, player) или drawPlayer(...)
                // где-то в инициализации ModuleHandler (после создания myClient)
if (myClient && myClient.ModuleHandler && !myClient.ModuleHandler.oneTick) {
  myClient.ModuleHandler.oneTick = new OneTick(myClient);
  myClient.ModuleHandler.modules = myClient.ModuleHandler.modules || [];
  myClient.ModuleHandler.modules.push(myClient.ModuleHandler.oneTick);
}
                this.drawHitScale(ctx, entity);
                this.drawDanger(ctx, entity);
                rendering_Renderer.renderTracer(ctx, entity, player);
            }
            if (isMyPlayer) {
                rendering_NotificationRenderer.render(ctx, player);
            }
        }
    };
    const rendering_EntityRenderer = EntityRenderer;
    class Notification {
        x;
        y;
        timeout={
            value: 0,
            max: 1500
        };
        constructor(x, y) {
            this.x = x;
            this.y = y;
        }
        animate() {
            const {value, max} = this.timeout;
            if (value >= max) {
                NotificationRenderer.remove(this);
                return;
            }
            this.timeout.value += rendering_EntityRenderer.step;
        }
        render(ctx, player) {
            this.animate();
            rendering_Renderer.renderTracer(ctx, this, player);
        }
    }
    const NotificationRenderer = new class NotificationRenderer {
        notifications=new Set;
        remove(notify) {
            this.notifications.delete(notify);
        }
        add(object) {
            const {x, y} = object.position.current;
            const notify = new Notification(x, y);
            this.notifications.add(notify);
        }
        render(ctx, player) {
            for (const notification of this.notifications) {
                notification.render(ctx, player);
            }
        }
    };
    const rendering_NotificationRenderer = NotificationRenderer;
    class ObjectManager {
        objects=new Map;
        grid=new modules_SpatialHashGrid(100);
        reloadingTurrets=new Map;
        attackedObjects=new Map;
        client;
        constructor(client) {
            this.client = client;
        }
        insertObject(object) {
            this.grid.insert(object);
            this.objects.set(object.id, object);
            if (object instanceof PlayerObject) {
                const {PlayerManager} = this.client;
                const owner = PlayerManager.playerData.get(object.ownerID) || PlayerManager.createPlayer({
                    id: object.ownerID
                });
                object.seenPlacement = this.inPlacementRange(object);
                owner.handleObjectPlacement(object);
            }
        }
        createObjects(buffer) {
            for (let i = 0; i < buffer.length; i += 8) {
                const isResource = null === buffer[i + 6];
                const data = [ buffer[i + 0], buffer[i + 1], buffer[i + 2], buffer[i + 3], buffer[i + 4] ];
                this.insertObject(isResource ? new Resource(...data, buffer[i + 5]) : new PlayerObject(...data, buffer[i + 6], buffer[i + 7]));
            }
        }
        removeObject(object) {
            this.grid.remove(object);
            this.objects.delete(object.id);
            if (object instanceof PlayerObject) {
                const player = this.client.PlayerManager.playerData.get(object.ownerID);
                if (void 0 !== player) {
                    player.handleObjectDeletion(object);
                }
            }
        }
        removeObjectByID(id) {
            const object = this.objects.get(id);
            if (void 0 !== object) {
                this.removeObject(object);
                if (this.client.isOwner) {
                    const pos = object.position.current.copy().sub(this.client.myPlayer.offset);
                    if (Settings.notificationTracers && !inView(pos.x, pos.y, object.scale)) {
                        rendering_NotificationRenderer.add(object);
                    }
                }
            }
        }
        removePlayerObjects(player) {
            for (const object of player.objects) {
                this.removeObject(object);
            }
        }
        resetTurret(id) {
            const object = this.objects.get(id);
            if (object instanceof PlayerObject) {
                object.reload = 0;
                this.reloadingTurrets.set(id, object);
            }
        }
        isEnemyObject(object) {
            if (object instanceof PlayerObject && !this.client.myPlayer.isEnemyByID(object.ownerID)) {
                return false;
            }
            return true;
        }
        isTurretReloaded(object) {
            const turret = this.reloadingTurrets.get(object.id);
            if (void 0 === turret) {
                return true;
            }
            const tick = this.client.SocketManager.TICK;
            return turret.reload > turret.maxReload - tick;
        }
        postTick() {
            for (const [id, turret] of this.reloadingTurrets) {
                turret.reload += this.client.PlayerManager.step;
                if (turret.reload >= turret.maxReload) {
                    turret.reload = turret.maxReload;
                    this.reloadingTurrets.delete(id);
                }
            }
        }
        retrieveObjects(pos, radius) {
            return this.grid.retrieve(pos, radius);
        }
        canPlaceItem(id, position, addRadius = 0) {
            if (18 !== id && pointInRiver(position)) {
                return false;
            }
            const item = Items[id];
            const objects = this.retrieveObjects(position, item.scale);
            for (const object of objects) {
                const scale = item.scale + object.placementScale + addRadius;
                if (position.distance(object.position.current) < scale) {
                    return false;
                }
            }
            return true;
        }
        inPlacementRange(object) {
            const owner = this.client.PlayerManager.playerData.get(object.ownerID);
            if (void 0 === owner || !this.client.PlayerManager.players.includes(owner)) {
                return false;
            }
            const {previous: a0, current: a1, future: a2} = owner.position;
            const b0 = object.position.current;
            const item = Items[object.type];
            const range = 2 * owner.scale + item.scale + item.placeOffset;
            return a0.distance(b0) <= range || a1.distance(b0) <= range || a2.distance(b0) <= range;
        }
        getAngleOffset(angle, distance, scale) {}
        getBestPlacementAngles(position, id, sortAngle = 0) {
            const item = Items[id];
            const length = this.client.myPlayer.getItemPlaceScale(id);
            const objects = this.retrieveObjects(position, length + item.scale);
            const angles = [];
            for (const object of objects) {
                const angle = position.angle(object.position.current);
                const distance = position.distance(object.position.current);
                const a = object.placementScale + item.scale;
                const b = distance;
                const c = length;
                const offset = Math.acos((a ** 2 - b ** 2 - c ** 2) / (-2 * b * c));
                if (!isNaN(offset)) {
                    angles.push({
                        angle,
                        offset
                    });
                }
            }
            return findPlacementAngles(angles);
        }
    }
    const Managers_ObjectManager = ObjectManager;
    class Animal extends data_Entity {
        type=-1;
        currentHealth=0;
        _maxHealth=0;
        nameIndex=0;
        isDanger=false;
        isHostile=false;
        constructor(client) {
            super(client);
        }
        canBeTrapped() {
            return !("noTrap" in constants_Animals[this.type]);
        }
        update(id, type, x, y, angle, health, nameIndex) {
            this.id = id;
            this.type = type;
            this.position.previous.setVec(this.position.current);
            this.position.current.setXY(x, y);
            this.setFuturePosition();
            const animal = constants_Animals[type];
            this.angle = angle;
            this.currentHealth = health;
            this._maxHealth = animal.health;
            this.nameIndex = nameIndex;
            this.scale = animal.scale;
            const isHostile = animal.hostile && 7 !== type;
            const isTrapped = this.canBeTrapped() && this.checkCollision(5);
            this.isHostile = animal.hostile;
            this.isDanger = isHostile && !isTrapped;
        }
        get attackRange() {
            if (6 === this.type) {
                return constants_Animals[this.type].hitRange + constants_Config.playerScale;
            }
            return this.scale;
        }
        get collisionRange() {
            if (6 === this.type) {
                return constants_Animals[this.type].hitRange + constants_Config.playerScale;
            }
            return this.scale + 60;
        }
        get canUseTurret() {
            return this.isHostile;
        }
    }
    const data_Animal = Animal;
    class ClientPlayer extends data_Player {
        inventory={};
        weaponXP=[ {}, {} ];
        itemCount=new Map;
        resources={};
        tempGold=0;
        deathPosition=new modules_Vector;
        offset=new modules_Vector;
        inGame=false;
        wasDead=true;
        diedOnce=false;
        platformActivated=false;
        receivedDamage=null;
        timerCount=1e3 / 9;
        shameActive=false;
        shameTimer=0;
        shameCount=0;
        teammates=new Set;
        totalGoldAmount=0;
        age=1;
        upgradeAge=1;
        poisonCount=0;
        underTurretAttack=false;
        upgradeOrder=[];
        upgradeIndex=0;
        joinRequests=[];

        // ==================== [ КОНСТАНТЫ И ЛОГИКА ДЛЯ ФИКСИРОВАННЫХ ИМЕН БОТОВ ] ====================
        // Список имен, которые будут циклически присваиваться ботам
        // Новый расширенный список для ClientPlayer.BOT_NAMES
static BOT_NAMES = [
    "AllItBloodMy", "Blood??", "Murka", "AllItBloodMy", "prince_finn", "knax", "AibMinyon",
];

static BOT_COLORS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];

        // Метод для получения фиксированного имени на основе ID клиента
        // Метод для получения СЛУЧАЙНОГО имени (исправленный код)
// Метод для получения СЛУЧАЙНОГО имени (только из списка BOT_NAMES)
getFixedBotName(botId) {
    const names = ClientPlayer.BOT_NAMES;
    // Выбираем СЛУЧАЙНОЕ имя из списка
    const index = Math.floor(Math.random() * names.length);
    const randomName = names[index]; // Получаем имя, например, "Nova"

    // Возвращаем имя БЕЗ каких-либо суффиксов, цифр или приписок
    return randomName;
}
        // ===========================================================================================


        constructor(client) {
            super(client);
            this.reset(true);
        }
        isMyPlayerByID(id) {
            return id === this.id;
        }
        isTeammateByID(id) {
            return this.teammates.has(id);
        }
        isEnemyByID(id) {
            return !this.isMyPlayerByID(id) && !this.isTeammateByID(id);
        }
        get isSandbox() {
            return true;
        }
        getItemByType(type) {
            return this.inventory[type];
        }
        hasResourcesForType(type) {
            if (this.isSandbox) {
                return true;
            }
            const res = this.resources;
            const {food, wood, stone, gold} = Items[this.getItemByType(type)].cost;
            return res.food >= food && res.wood >= wood && res.stone >= stone && res.gold >= gold;
        }
        getItemCount(group) {
            const item = ItemGroups[group];
            return {
                count: this.itemCount.get(group) || 0,
                limit: this.isSandbox ? "sandboxLimit" in item ? item.sandboxLimit : 99 : item.limit
            };
        }
        hasItemCountForType(type) {
            if (2 === type) {
                return true;
            }
            const item = Items[this.getItemByType(type)];
            const {count, limit} = this.getItemCount(item.itemGroup);
            return count < limit;
        }
        canPlace(type) {
            return null !== type && null !== this.getItemByType(type) && this.hasResourcesForType(type) && this.hasItemCountForType(type);
        }
        getBestDestroyingWeapon() {
            const secondaryID = this.getItemByType(1);
            if (10 === secondaryID) {
                return 1;
            }
            const primary = Weapons[this.getItemByType(0)];
            if (1 !== primary.damage) {
                return 0;
            }
            return null;
        }
        /**
         * Находит ID оружия с лучшим соотношением gather/speed.
         * Предполагается, что Weapons глобально доступен.
         * @returns {number} ID лучшего оружия для добычи (по умолчанию 8 - 'stick').
         */
        getBestGatheringWeaponId() {
            let bestWeaponId = 8;
            let maxGatherRate = 7 / 400; // Базовый rate для 'stick'

            for (const weapon of Weapons) {
                // Проверяем, что это инструмент для сбора (gather > 0)
                if ((weapon.gather || 0) > 0) {
                    // Рассчитываем эффективность: gather / speed
                    const rate = (weapon.gather || 0) / (weapon.speed || 1);
                    if (rate > maxGatherRate) {
                        maxGatherRate = rate;
                        bestWeaponId = weapon.id;
                    }
                }
            }
            return bestWeaponId;
        }
        getDmgOverTime() {
            const hat = Hats[this.hatID];
            const accessory = Accessories[this.accessoryID];
            let damage = 0;
            if ("healthRegen" in hat) {
                damage += hat.healthRegen;
            }
            if ("healthRegen" in accessory) {
                damage += accessory.healthRegen;
            }
            if (0 !== this.poisonCount) {
                damage += -5;
            }
            return Math.abs(damage);
        }
        getBestCurrentHat() {
            const {current, future} = this.position;
            const {ModuleHandler, EnemyManager} = this.client;
            const {actual} = ModuleHandler.getHatStore();
            const useFlipper = ModuleHandler.canBuy(0, 31);
            const useSoldier = ModuleHandler.canBuy(0, 6);
            const useWinter = ModuleHandler.canBuy(0, 15);
            const useActual = ModuleHandler.canBuy(0, actual);
            if (Settings.biomehats && useFlipper) {
                const inRiver = pointInRiver(current) || pointInRiver(future);
                if (inRiver) {
                    const platformActivated = this.checkCollision(8, -30);
                    const stillStandingOnPlatform = this.checkCollision(8, 15);
                    if (!this.platformActivated && platformActivated) {
                        this.platformActivated = true;
                    }
                    if (this.platformActivated && !stillStandingOnPlatform) {
                        this.platformActivated = false;
                    }
                    if (!this.platformActivated) {
                        return 31;
                    }
                }
            }
            if (useSoldier) {
                if (Settings.antienemy && (EnemyManager.detectedEnemy || EnemyManager.nearestEnemyInRangeOf(275))) {
                    return 6;
                }
                if (Settings.antispike && this.checkCollision(2, 35, true)) {
                    return 6;
                }
                if (Settings.antianimal && null !== EnemyManager.nearestDangerAnimal) {
                    return 6;
                }
            }
            if (Settings.biomehats && useWinter) {
                const inWinter = current.y <= 2400 || future.y <= 2400;
                if (inWinter) {
                    return 15;
                }
            }
            if (useActual) {
                return actual;
            }
            return 0;
        }
        getBestCurrentAcc() {
            const {ModuleHandler, EnemyManager} = this.client;
            const {actual} = ModuleHandler.getAccStore();
            const useCorrupt = ModuleHandler.canBuy(1, 21);
            const useShadow = ModuleHandler.canBuy(1, 19);
            const useTail = ModuleHandler.canBuy(1, 11);
            const useActual = ModuleHandler.canBuy(1, actual);
            if (EnemyManager.detectedEnemy || EnemyManager.nearestEnemyInRangeOf(275, EnemyManager.nearestEntity)) {
                const isEnemy = EnemyManager.nearestEnemyInRangeOf(275, EnemyManager.nearestEnemy);
                if (isEnemy && useCorrupt) {
                    return 21;
                }
                if (useShadow) {
                    return 19;
                }
                if (useActual && 11 !== actual) {
                    return actual;
                }
                return 0;
            }
            if (useTail) {
                return 11;
            }
            return 0;
        }
        getBestCurrentID(type) {
            switch (type) {
              case 0:
                return this.getBestCurrentHat();

              case 1:
                return this.getBestCurrentAcc();
            }
        }
        getBestUtilityHat() {
            const {ModuleHandler, EnemyManager, ObjectManager, myPlayer} = this.client;
            const {autoBreak, spikeTick} = ModuleHandler.staticModules;
            const id = this.getItemByType(ModuleHandler.weapon);
            if (11 === id) {
                return null;
            }
            if (utility_DataHandler.isShootable(id)) {
                return; // было 20
            }
            const weapon = Weapons[id];
            const range = weapon.range + 60;
            if (spikeTick.isActive && 1 === spikeTick.tickAction) {
                return 53;
            }
            if (1 === ModuleHandler.attackingState || spikeTick.isActive) {
                const nearest = EnemyManager.nearestEntity;
                if (null !== nearest && this.collidingEntity(nearest, range + nearest.hitScale, true)) {
                    ModuleHandler.canHitEntity = true;
                    if (weapon.damage <= 1) {
                        return 20;
                    }
                    return 7;
                }
            }
            if (0 !== ModuleHandler.attackingState || autoBreak.isActive) {
                if (weapon.damage <= 1) {
                    return null;
                }
                const pos = myPlayer.position.current;
                const objects = ObjectManager.retrieveObjects(pos, range);
                for (const object of objects) {
                    if (object instanceof PlayerObject && object.isDestroyable && this.colliding(object, range + object.hitScale)) {
                        return 40;
                    }
                }
            }
            return null;
        }
        getBestUtilityAcc() {
            return null;
        }
        getBestUtilityID(type) {
            switch (type) {
              case 0:
                return this.getBestUtilityHat();

              case 1:
                return this.getBestUtilityAcc();
            }
        }
        getMaxWeaponRangeClient() {
            const primary = this.inventory[0];
            const secondary = this.inventory[1];
            const primaryRange = Weapons[primary].range;
            if (utility_DataHandler.isMelee(secondary)) {
                const range = Weapons[secondary].range;
                if (range > primaryRange) {
                    return range;
                }
            }
            return primaryRange;
        }
        getPlacePosition(start, itemID, angle) {
            return start.direction(angle, this.getItemPlaceScale(itemID));
        }
        tickUpdate() {
            if (this.inGame && this.wasDead) {
                this.wasDead = false;
                this.onFirstTickAfterSpawn();
            }
            if (45 === this.hatID && !this.shameActive) {
                this.shameActive = true;
                this.shameTimer = 0;
                this.shameCount = 8;
            }
            const {PlayerManager, ModuleHandler} = this.client;
            this.shameTimer += PlayerManager.step;
            if (this.shameTimer >= 3e4 && this.shameActive) {
                this.shameActive = false;
                this.shameTimer = 0;
                this.shameCount = 0;
            }
            this.timerCount += PlayerManager.step;
            if (this.timerCount >= 1e3) {
                this.timerCount = 0;
                this.poisonCount = Math.max(this.poisonCount - 1, 0);
            }
            ModuleHandler.postTick();
        }
        updateHealth(health) {
            super.updateHealth(health);
            if (this.shameActive) {
                return;
            }
            if (this.currentHealth < this.previousHealth) {
                this.receivedDamage = Date.now();
            } else if (null !== this.receivedDamage) {
                const step = Date.now() - this.receivedDamage;
                this.receivedDamage = null;
                if (step <= 120) {
                    this.shameCount += 1;
                } else {
                    this.shameCount -= 2;
                }
                this.shameCount = clamp(this.shameCount, 0, 7);
            }
            if (health < 100) {
                const {ModuleHandler} = this.client;
                ModuleHandler.staticModules.shameReset.healthUpdate();
            }
        }
        playerInit(id) {
            this.id = id;
            const {PlayerManager} = this.client;
            if (!PlayerManager.playerData.has(id)) {
                PlayerManager.playerData.set(id, this);
            }
        }
        onFirstTickAfterSpawn() {
            const {ModuleHandler, SocketManager, isOwner} = this.client;
            const {mouse, staticModules} = ModuleHandler;
            ModuleHandler.updateAngle(mouse.sentAngle, true);
            if (myClient.ModuleHandler.autoattack) {
                ModuleHandler.autoattack = true;
                SocketManager.autoAttack();
            }
            if (!isOwner) {
                UI_UI.updateBotOption(this.client, "title");
                myClient.clientIDList.add(this.id);
                const owner = myClient.ModuleHandler;
                staticModules.tempData.setWeapon(owner.weapon);
                staticModules.tempData.setAttacking(owner.attacking);
                staticModules.tempData.setStore(0, owner.store[0].actual);
                staticModules.tempData.setStore(1, owner.store[1].actual);
            }
        }
        playerSpawn() {
            this.inGame = true;
        }
        isUpgradeWeapon(id) {
            const weapon = Weapons[id];
            if ("upgradeOf" in weapon) {
                return this.inventory[weapon.itemType] === weapon.upgradeOf;
            }
            return true;
        }
        newUpgrade(points, age) {
            this.upgradeAge = age;
            if (0 === points || 10 === age) {
                return;
            }
            const ids = [];
            for (const weapon of Weapons) {
                if (weapon.age === age && this.isUpgradeWeapon(weapon.id)) {
                    ids.push(weapon.id);
                }
            }
            for (const item of Items) {
                if (item.age === age) {
                    ids.push(item.id + 16);
                }
            }
            if (!this.client.isOwner) {
                const id = myClient.myPlayer.upgradeOrder[this.upgradeIndex];
                if (void 0 !== id && ids.includes(id)) {
                    this.upgradeIndex += 1;
                    this.client.ModuleHandler.upgradeItem(id);
                }
            }
        }
        updateAge(age) {
            this.age = age;
        }
        upgradeItem(id) {
            this.upgradeOrder.push(id);
            const {isOwner, clients} = this.client;
            if (isOwner) {
                for (const client of clients) {
                    const {age, upgradeAge} = client.myPlayer;
                    if (age > this.upgradeAge) {
                        client.myPlayer.newUpgrade(1, upgradeAge);
                    }
                }
            }
            if (id < 16) {
                const weapon = Weapons[id];
                this.inventory[weapon.itemType] = id;
                const XP = this.weaponXP[weapon.itemType];
                XP.current = 0;
                XP.max = -1;
            } else {
                id -= 16;
                const item = Items[id];
                this.inventory[item.itemType] = id;
            }
        }
        updateClanMembers(teammates) {
            this.teammates.clear();
            for (let i = 0; i < teammates.length; i += 2) {
                const id = teammates[i + 0];
                if (!this.isMyPlayerByID(id)) {
                    this.teammates.add(id);
                }
            }
        }
        updateItemCount(group, count) {
            this.itemCount.set(group, count);
            if (this.client.isOwner) {
                UI_GameUI.updateItemCount(group);
            }
        }
        updateResources(type, amount) {
            const previousAmount = this.resources[type];
            this.resources[type] = amount;
            if ("gold" === type) {
                this.tempGold = amount;
                return;
            }
            if (amount < previousAmount) {
                return;
            }
            const difference = amount - previousAmount;
            // ===== KillChat: everyone (owner + bots) says a Prince Finn line on each kill =====
const _KILLCHAT_PHRASES = [
    "For Prince Finn!",
    "Prince Finn reigns!",
    "Glory to Prince Finn!",
    "Prince Finn's blade strikes true!",
    "By the will of Prince Finn!",
    "Bow to Prince Finn!",
    "Prince Finn commands victory!",
    "Prince Finn's glory everlasting!",
    "Prince Finn's wrath is righteous!",
    "Prince Finn's reign continues!",
    "Prince Finn's legend grows!",
    "For the glory of Prince Finn!",
];

if ("kills" === type) {
    // update internal counter and UI (как раньше)
    myClient.totalKills += difference;
    UI_GameUI.updateTotalKill();

    // если увеличилось — отправляем сообщения
    if (amount > previousAmount) {
        try {
            // список клиентов, от которых нужно отправить сообщение:
            //  - глобальный owner myClient
            //  - все клиент-боты в myClient.clients (если есть)
            const clientsToSpeak = [];
            if (typeof myClient !== "undefined" && myClient !== null) {
                clientsToSpeak.push(myClient);
                if (myClient.clients && myClient.clients.size) {
                    for (const c of myClient.clients) {
                        if (c) clientsToSpeak.push(c);
                    }
                }
            } else if (this.client) {
                // fallback: используем текущий клиент (на случай, если myClient не доступен)
                clientsToSpeak.push(this.client);
            }

            const ts = Date.now();
            for (let i = 0; i < clientsToSpeak.length; i++) {
                const c = clientsToSpeak[i];
                try {
                    if (!c || !c.SocketManager || typeof c.SocketManager.chat !== "function") continue;
                    // берём разную фразу для каждого клиента (по времени + индексу)
                    const idx = Math.abs((ts + i) % _KILLCHAT_PHRASES.length);
                    const msg = _KILLCHAT_PHRASES[idx];
                    // отправка через socket manager — это честная, надёжная отправка чата
                    c.SocketManager.chat(msg);
                } catch (e) {
                    // не критично — пропускаем проблемный клиент
                    console.error("killchat: client send error", e);
                }
            }
        } catch (e) {
            console.error("killchat outer error", e);
        }
    }

    return;
}
            this.updateWeaponXP(difference);
        }
        updateWeaponXP(amount) {
            const {next} = this.getWeaponVariant(this.weapon.current);
            const XP = this.weaponXP[Weapons[this.weapon.current].itemType];
            const maxXP = WeaponVariants[next].needXP;
            XP.current += amount;
            if (-1 !== XP.max && XP.current >= XP.max) {
                XP.current -= XP.max;
                XP.max = maxXP;
                return;
            }
            if (-1 === XP.max) {
                XP.max = maxXP;
            }
            if (XP.current >= XP.max) {
                XP.current -= XP.max;
                XP.max = -1;
            }
        }
        resetResources() {
            this.resources.food = 100;
            this.resources.wood = 100;
            this.resources.stone = 100;
            this.resources.gold = 100;
            this.resources.kills = 0;
        }
        resetInventory() {
            this.inventory[0] = 0;
            this.inventory[1] = null;
            this.inventory[2] = 0;
            this.inventory[3] = 3;
            this.inventory[4] = 6;
            this.inventory[5] = 10;
            this.inventory[6] = null;
            this.inventory[7] = null;
            this.inventory[8] = null;
            this.inventory[9] = null;
        }
        resetWeaponXP() {
            for (const XP of this.weaponXP) {
                XP.current = 0;
                XP.max = -1;
            }
        }

        // ==================== МОДИФИЦИРОВАННЫЙ МЕТОД spawn() ====================
        spawn() {
            let finalName;
            let finalSkin; // Переменная для финального ID цвета
            const client = this.client;

            if (client.isOwner) {
                // Главный игрок: берет имя и скин из localStorage
                finalName = localStorage.getItem("moo_name") || "Player";
                const ownerSkin = Number(localStorage.getItem("skin_color")) || 0;
                // Проверяем на "constructor" skin (ID 10), иначе используем числовой ID
                finalSkin = 10 === ownerSkin ? "constructor" : ownerSkin;
            } else {
                // Бот: генерирует случайное имя (как раньше)
                finalName = this.getFixedBotName(client.id);

                // Бот: выбирает СЛУЧАЙНЫЙ цвет из BOT_COLORS
                const colors = ClientPlayer.BOT_COLORS;
                const index = Math.floor(Math.random() * colors.length);
                finalSkin = colors[index];
            }

            // Сохраняем имя в свойстве объекта, прежде чем отправить на сервер
            this.name = finalName;

            // Отправляем на сервер: имя, тип (1), цвет (finalSkin)
            this.client.SocketManager.spawn(finalName, 1, finalSkin);
        }
        // =======================================================================

        handleDeath() {
            if (Settings.autospawn) {
                this.spawn();
                return true;
            }
            return false;
        }
        handleJoinRequest(id, name) {
            this.joinRequests.push([ id, name ]);
        }
        reset(first = false) {
            this.resetResources();
            this.resetInventory();
            this.resetWeaponXP();
            const {ModuleHandler, PlayerManager} = this.client;
            ModuleHandler.reset();
            this.inGame = false;
            this.wasDead = true;
            this.shameTimer = 0;
            this.shameCount = 0;
            this.upgradeOrder.length = 0;
            this.upgradeIndex = 0;
            if (first) {
                return;
            }
            for (const player of PlayerManager.players) {
                player.resetReload();
            }
            this.deathPosition.setVec(this.position.current);
            this.diedOnce = true;
            if (this.client.isOwner) {
                UI_GameUI.reset();
            } else {
                this.spawn();
            }
        }
    }
    const data_ClientPlayer = ClientPlayer;
    class PlayerManager {
        playerData=new Map;
        players=[];
        animalData=new Map;
        animals=[];
        start=Date.now();
        step=0;
        client;
        constructor(client) {
            this.client = client;
        }
        get timeSinceTick() {
            return Date.now() - this.start;
        }
        createPlayer({socketID, id, nickname, health, skinID}) {
            const player = this.playerData.get(id) || new data_Player(this.client);
            if (!this.playerData.has(id)) {
                this.playerData.set(id, player);
            }
            player.socketID = socketID || "";
            player.id = id;
            player.nickname = nickname || "";
            player.currentHealth = health || 100;
            player.skinID = "undefined" === typeof skinID ? -1 : skinID;
            player.init();
            const {myPlayer} = this.client;
            if (myPlayer.isMyPlayerByID(id)) {
                myPlayer.playerSpawn();
            }
            return player;
        }
        canHitTarget(player, weaponID, target) {
            const pos = target.position.current;
            const distance = player.position.current.distance(pos);
            const angle = player.position.current.angle(pos);
            const range = Weapons[weaponID].range + target.hitScale;
            return distance <= range && getAngleDist(angle, player.angle) <= constants_Config.gatherAngle;
        }
        attackPlayer(id, gathering, weaponID) {
            const player = this.playerData.get(id);
            if (void 0 === player) {
                return;
            }
            const {hatID, reload} = player;
            const {myPlayer, ObjectManager} = this.client;
            if (myPlayer.isMyPlayerByID(id) && !myPlayer.inGame) {
                return;
            }
            const weapon = Weapons[weaponID];
            const type = WeaponTypeString[weapon.itemType];
            reload[type].current = 0;
            reload[type].max = player.getWeaponSpeed(weaponID);
            if (myPlayer.isEnemyByID(id) && this.canHitTarget(player, weaponID, myPlayer)) {
                const {isAble, count} = player.canDealPoison(weaponID);
                if (isAble) {
                    myPlayer.poisonCount = count;
                }
            }
            if (1 === gathering) {
                const objects = ObjectManager.attackedObjects;
                for (const [id, data] of objects) {
                    const [hitAngle, object] = data;
                    if (this.canHitTarget(player, weaponID, object) && getAngleDist(hitAngle, player.angle) <= 1.25) {
                        objects.delete(id);
                        if (object instanceof PlayerObject) {
                            const damage = player.getBuildingDamage(weaponID);
                            object.health = Math.max(0, object.health - damage);
                        } else if (player === myPlayer) {
                            let amount = 9 === hatID ? 1 : 0;
                            if (3 === object.type) {
                                amount += weapon.gather + 4;
                            }
                            myPlayer.updateWeaponXP(amount);
                        }
                    }
                }
            }
        }
        updatePlayer(buffer) {
            this.players.length = 0;
            const now = Date.now();
            this.step = now - this.start;
            this.start = now;
            for (let i = 0; i < buffer.length; i += 13) {
                const id = buffer[i];
                const player = this.playerData.get(id);
                if (!player) {
                    continue;
                }
                this.players.push(player);
                player.update(id, buffer[i + 1], buffer[i + 2], buffer[i + 3], buffer[i + 4], buffer[i + 5], buffer[i + 6], buffer[i + 7], buffer[i + 8], buffer[i + 9], buffer[i + 10], buffer[i + 11]);
            }
        }
        updateAnimal(buffer) {
            this.animals.length = 0;
            for (let i = 0; i < buffer.length; i += 7) {
                const id = buffer[i];
                if (!this.animalData.has(id)) {
                    this.animalData.set(id, new data_Animal(this.client));
                }
                const animal = this.animalData.get(id);
                this.animals.push(animal);
                animal.update(id, buffer[i + 1], buffer[i + 2], buffer[i + 3], buffer[i + 4], buffer[i + 5], buffer[i + 6]);
            }
        }
        postTick() {
            const {EnemyManager, ProjectileManager, ObjectManager, myPlayer} = this.client;
            EnemyManager.handleEnemies(this.players, this.animals);
            ProjectileManager.postTick();
            ObjectManager.postTick();
            if (myPlayer.inGame) {
                myPlayer.tickUpdate();
            }
        }
        isEnemy(target1, target2) {
            return target1 !== target2 && (null === target1.clanName || null === target2.clanName || target1.clanName !== target2.clanName);
        }
        isEnemyByID(ownerID, target) {
            const player = this.playerData.get(ownerID);
            if (player instanceof data_ClientPlayer) {
                return player.isEnemyByID(target.id);
            }
            if (target instanceof data_ClientPlayer) {
                return target.isEnemyByID(player.id);
            }
            return this.isEnemy(player, target);
        }
        isEnemyTarget(owner, target) {
            if (target instanceof data_Animal) {
                return true;
            }
            return this.isEnemyByID(owner.id, target);
        }
        canShoot(ownerID, target) {
            return target instanceof data_Animal || this.isEnemyByID(ownerID, target);
        }
        lookingShield(owner, target) {
            const weapon = owner.weapon.current;
            if (11 !== weapon) {
                return false;
            }
            const {myPlayer, ModuleHandler} = this.client;
            const pos1 = owner.position.current;
            const pos2 = target.position.current;
            const angle = pos1.angle(pos2);
            const ownerAngle = myPlayer.isMyPlayerByID(owner.id) ? ModuleHandler.mouse.sentAngle : owner.angle;
            return getAngleDist(angle, ownerAngle) <= constants_Config.shieldAngle;
        }
        getEntities() {
            return [ ...this.players, ...this.animals ];
        }
    }
    const Managers_PlayerManager = PlayerManager;
    class Projectile {
        position={};
        angle;
        range;
        speed;
        type;
        onPlatform;
        id;
        isTurret;
        scale;
        maxRange;
        owner=null;
        constructor(angle, range, speed, type, onPlatform, id, maxRange) {
            this.isTurret = 1 === type;
            this.angle = angle;
            this.range = range;
            this.speed = speed;
            this.type = type;
            this.onPlatform = onPlatform;
            this.id = id;
            this.scale = Projectiles[type].scale;
            this.maxRange = maxRange || 0;
        }
        formatFromCurrent(pos, increase) {
            if (this.isTurret) {
                return pos;
            }
            return pos.direction(this.angle, increase ? 70 : -70);
        }
    }
    const data_Projectile = Projectile;
    class ProjectileManager {
        client;
        projectiles=new Map;
        ignoreCreation=new Set;
        constructor(client) {
            this.client = client;
        }
        createProjectile(projectile) {
            const key = projectile.speed;
            if (!this.projectiles.has(key)) {
                this.projectiles.set(key, []);
            }
            const list = this.projectiles.get(key);
            list.push(projectile);
        }
        shootingAt(owner, target) {}
        postTick() {
            this.projectiles.clear();
        }
        getProjectile(owner, projectile, onPlatform, angle, range) {
            const bullet = Projectiles[projectile];
            const isTurret = 1 === projectile;
            const {previous: a0, current: a1, future: a2} = owner.position;
            const arrow = new data_Projectile(angle, bullet.range, bullet.speed, projectile, onPlatform || isTurret ? 1 : 0, -1, range);
            arrow.position.previous = arrow.formatFromCurrent(a0, true);
            arrow.position.current = arrow.formatFromCurrent(a1, true);
            arrow.position.future = arrow.formatFromCurrent(a2, true);
            return arrow;
        }
    }
    const Managers_ProjectileManager = ProjectileManager;
    class SocketManager {
        client;
        PacketQueue=[];
        startPing=Date.now();
        ping=0;
        pong=0;
        TICK=1e3 / 9;
        packetCount=0;
        tickTimeout;
        constructor(client) {
            this.message = this.message.bind(this);
            this.client = client;
            const attachMessage = socket => {
                socket.addEventListener("message", this.message);
                socket.onclose = () => {
                    socket.removeEventListener("message", this.message);
                };
            };
            const connection = client.connection;
            if (void 0 === connection.socket) {
                Object.defineProperty(connection, "socket", {
                    set(value) {
                        delete connection.socket;
                        connection.socket = value;
                        attachMessage(value);
                    },
                    configurable: true
                });
                return;
            }
            attachMessage(connection.socket);
        }
        handlePing() {
            this.pong = Date.now() - this.startPing;
            this.ping = this.pong / 2;
            if (this.client.isOwner) {
                UI_GameUI.updatePing(this.pong);
            }
            setTimeout((() => {
                this.pingRequest();
            }), 3e3);
        }
        message(event) {
            const decoder = this.client.connection.Decoder;
            if (null === decoder) {
                return;
            }
            const data = event.data;
            const decoded = decoder.decode(new Uint8Array(data));
            const temp = [ decoded[0], ...decoded[1] ];
            const {myPlayer, PlayerManager, ObjectManager, ProjectileManager, LeaderboardManager} = this.client;
            switch (temp[0]) {
              case "0":
                this.handlePing();
                break;

              case "io-init":
                this.pingRequest();
                this.client.stableConnection = true;
                if (this.client.isOwner) {
                    UI_GameUI.loadGame();
                } else {
                    this.client.myPlayer.spawn();
                    this.client.connection.socket.dispatchEvent(new Event("connected"));
                }
                break;

              case "C":
                myPlayer.playerInit(temp[1]);
                break;

              case "P":
                myPlayer.reset();
                break;

              case "N":
                this.PacketQueue.push((() => {
                    const type = "points" === temp[1] ? "gold" : temp[1];
                    myPlayer.updateResources(type, temp[2]);
                }));
                break;

              case "D":
                {
                    const data = temp[1];
                    PlayerManager.createPlayer({
                        socketID: data[0],
                        id: data[1],
                        nickname: data[2],
                        health: data[6],
                        skinID: data[9]
                    });
                    break;
                }

              case "O":
                {
                    const player = PlayerManager.playerData.get(temp[1]);
                    if (void 0 !== player) {
                        player.updateHealth(temp[2]);
                    }
                    break;
                }

              case "a":
                PlayerManager.updatePlayer(temp[1]);
                for (let i = 0; i < this.PacketQueue.length; i++) {
                    this.PacketQueue[i]();
                }
                this.PacketQueue.length = 0;
                ObjectManager.attackedObjects.clear();
                break;

              case "I":
                PlayerManager.updateAnimal(temp[1] || []);
                clearTimeout(this.tickTimeout);
                this.tickTimeout = setTimeout((() => {
                    PlayerManager.postTick();
                }), 5);
                break;

              case "H":
                ObjectManager.createObjects(temp[1]);
                break;

              case "Q":
                ObjectManager.removeObjectByID(temp[1]);
                break;

              case "R":
                {
                    const player = PlayerManager.playerData.get(temp[1]);
                    if (void 0 !== player) {
                        ObjectManager.removePlayerObjects(player);
                    }
                    break;
                }

              case "L":
                {
                    const object = ObjectManager.objects.get(temp[2]);
                    if (object instanceof Resource || object && object.isDestroyable) {
                        ObjectManager.attackedObjects.set(getUniqueID(), [ temp[1], object ]);
                    }
                    break;
                }

              case "K":
                this.PacketQueue.push((() => PlayerManager.attackPlayer(temp[1], temp[2], temp[3])));
                break;

              case "M":
                {
                    const id = temp[1];
                    const angle = temp[2];
                    const turret = ObjectManager.objects.get(id);
                    if (void 0 !== turret) {
                        const creations = ProjectileManager.ignoreCreation;
                        const pos = turret.position.current.stringify();
                        creations.add(pos + ":" + angle);
                    }
                    this.PacketQueue.push((() => ObjectManager.resetTurret(id)));
                    break;
                }

              case "X":
                {
                    const x = temp[1];
                    const y = temp[2];
                    const angle = temp[3];
                    const key = `${x}:${y}:${angle}`;
                    if (ProjectileManager.ignoreCreation.delete(key)) {
                        return;
                    }
                    const projectile = new data_Projectile(angle, temp[4], temp[5], temp[6], temp[7], temp[8]);
                    projectile.position.current = projectile.formatFromCurrent(new modules_Vector(x, y), false);
                    ProjectileManager.createProjectile(projectile);
                    break;
                }

              case "4":
                myPlayer.updateClanMembers(temp[1]);
                break;

              case "3":
                if ("string" !== typeof temp[1]) {
                    myPlayer.teammates.clear();
                }
                break;

              case "2":
                myPlayer.handleJoinRequest(temp[1], temp[2]);
                break;

              case "T":
                if (4 === temp.length) {
                    myPlayer.updateAge(temp[3]);
                }
                break;

              case "U":
                myPlayer.newUpgrade(temp[1], temp[2]);
                break;

              case "S":
                myPlayer.updateItemCount(temp[1], temp[2]);
                break;

              case "G":
                LeaderboardManager.update(temp[1]);
                break;

              case "5":
                {
                    const action = 0 === temp[1] ? 1 : 0;
                    UI_StoreHandler.updateStoreState(temp[3], action, temp[2]);
                    break;
                }
            }
        }
        send(data) {
            const connection = this.client.connection;
            if (void 0 === connection.socket || connection.socket.readyState !== connection.socket.OPEN || null === connection.Encoder) {
                return;
            }
            const [type, ...args] = data;
            const encoded = connection.Encoder.encode([ type, args ]);
            connection.socket.send(encoded);
        }
        clanRequest(id, accept) {
            this.send([ "P", id, Number(accept) ]);
        }
        kick(id) {
            this.send([ "Q", id ]);
        }
        joinClan(name) {
            this.send([ "b", name ]);
        }
        createClan(name) {
            this.send([ "L", name ]);
        }
        leaveClan() {
            this.client.myPlayer.joinRequests.length = 0;
            this.send([ "N" ]);
        }
        equip(type, id) {
            this.send([ "c", 0, id, type ]);
        }
        buy(type, id) {
            this.send([ "c", 1, id, type ]);
        }
        chat(message) {
            this.send([ "6", message ]);
        }
        attack(angle) {
            this.send([ "F", 1, angle ]);
        }
        stopAttack() {
            this.send([ "F", 0, null ]);
        }
        resetMoveDir() {
            this.send([ "e" ]);
        }
        move(angle) {
            this.send([ "9", angle ]);
        }
        autoAttack() {
            this.send([ "K", 1 ]);
        }
        lockRotation() {
            this.send([ "K", 0 ]);
        }
        pingMap() {
            this.send([ "S" ]);
        }
        selectItemByID(id, type) {
            this.send([ "z", id, type ]);
        }
        spawn(name, moofoll, skin) {
            this.send([ "M", {
                name,
                moofoll,
                skin
            } ]);
        }
        upgradeItem(id) {
            this.send([ "H", id ]);
        }
        updateAngle(radians) {
            this.send([ "D", radians ]);
        }
        pingRequest() {
            this.startPing = Date.now();
            this.send([ "0" ]);
        }
    }
    const Managers_SocketManager = SocketManager;
    class ActionPlanner {
        actionKeys=[];
        actionValues=[];
        createAction(key, value) {
            this.actionKeys.push(key);
            this.actionValues.push(value);
        }
        createActions(key, value, amount) {
            if (1 === amount) {
                return this.createAction(key, value);
            }
            for (let i = 0; i < amount; i++) {
                this.createAction(key, value);
            }
        }
        getActions() {
            const keys = [ ...this.actionKeys ];
            const values = [ ...this.actionValues ];
            const uniqueItems = [ ...new Set(keys) ];
            const output = [];
            while (keys.length > 0) {
                for (const item of uniqueItems) {
                    const index = keys.indexOf(item);
                    if (index >= 0) {
                        output.push([ item, values[index] ]);
                        removeFast(keys, index);
                        removeFast(values, index);
                    }
                }
            }
            this.actionKeys.length = 0;
            this.actionValues.length = 0;
            return output;
        }
    }
    const modules_ActionPlanner = ActionPlanner;
/* === AutoChat Module (С ГЛИТЧ-ЭФФЕКТОМ И РОТАЦИЕЙ) === */
class AutoChat {
  name = "autoChat";
  client;

    // ⭐ СООБЩЕНИЯ ДЛЯ ЦИКЛИЧЕСКОЙ РОТАЦИИ ПО УМОЛЧАНИЮ
    static DEFAULT_MESSAGES = [
      "Aibm recode Free now!",
      "dsc.gg/Aibm",
      "Download the bot mod now"
    ];

  constructor(client) {
    this.client = client;
    this._enabled = false;
    this._messageIndex = 0; // Индекс для циклического переключения
    this._lastMsg = "All Is Bloody Mine!"; // Оставлено для совместимости
    this._lastSent = 0;
  }

  toggle(msg) {
    this._enabled = !this._enabled;
    if (this._enabled) {
      this._lastMsg = msg && msg.trim() ? msg : "All Is Bloody Mine!";
    }
  }

    // НОВАЯ ФУНКЦИЯ: Применяет глитч-эффект к сообщению
    applyGlitchToMessage(msg, glitchChars) {
        if (!glitchChars || glitchChars.length === 0) {
            return msg; // Нет глитча - возвращаем оригинал
        }

        let glitchedMsg = "";
        for (let i = 0; i < msg.length; i++) {
            // Шанс глитча 30% для каждого символа
            if (Math.random() < 0.30) {
                glitchedMsg += glitchChars[Math.floor(Math.random() * glitchChars.length)];
            } else {
                glitchedMsg += msg[i];
            }
        }
        return glitchedMsg;
    }

  postTick() {
    if (!this._enabled) return;

    // AutoChat работает только на основном клиенте, который управляет ботами
    if (this.client !== myClient) return;

    if (Date.now() - this._lastSent < 2500) return; // каждые 2.5 сек

    try {
        // 1. Чтение настроек из ownerCommander
        let messageBase = readOwnerCommanderField('all', 'autochatMessage');

        // ⭐ 2. ЛОГИКА ЦИКЛИЧЕСКОГО ПЕРЕКЛЮЧЕНИЯ: Если поле пустое, используем ротацию
        // Проверяем, что сообщение не пустое или не состоит только из пробелов
        if (!messageBase || (typeof messageBase === 'string' && messageBase.trim() === '')) {
            const messages = AutoChat.DEFAULT_MESSAGES;
            // Получаем текущее сообщение
            messageBase = messages[this._messageIndex];

            // Обновляем индекс для следующего сообщения: 0 -> 1 -> 2 -> 0 -> ...
            this._messageIndex = (this._messageIndex + 1) % messages.length;
        }

        const glitchChars = readOwnerCommanderField('all', 'acGlitchSelect') || ''; // Читаем выбор глитч-символов

        // 3. Применяем глитч
        const finalMessage = this.applyGlitchToMessage(messageBase, glitchChars);

        // 4. Отправка
        const clientsToSpeak = [];
        // Берем только клиентов-ботов (всех, кроме myClient)
        if (myClient.clients && myClient.clients.size) {
          for (const c of myClient.clients) {
            if (c && c !== myClient) clientsToSpeak.push(c);
          }
        }

        for (const c of clientsToSpeak) {
            if (!c || !c.SocketManager || typeof c.SocketManager.chat !== "function") continue;
            c.SocketManager.chat(finalMessage);
      }

      this._lastSent = Date.now();
      this._enabled = !!readOwnerCommanderField('all', 'autochatEnabled');
    } catch (e) {
      // Оставляем пустым, чтобы не засорять консоль
    }
  }
}

const modules_AutoChat = AutoChat;
/* === AutoClan Module (ФИНАЛЬНАЯ ВЕРСИЯ: АВТОНОМНОЕ МЕРЦАНИЕ НА ВСЕХ КЛИЕНТАХ) === */
class AutoClan {
  name = "autoClan";
  client;
  _glitchStep = 0; // 0: создать, 1: удалить
  _clanName = "AIBM"; // База, используем только 4 символа
  _lastSent = 0;
  _enabled = false;

  constructor(client) {
    this.client = client;
  }

  toggle(clanName) {
    this._enabled = !this._enabled;
    if (this._enabled) {
      this._clanName = clanName && clanName.trim() ? clanName.slice(0, 4) : "AIBM";
      this._glitchStep = 0;
    } else {
      // При отключении - удаляем клан
      if (this.client.SocketManager && typeof this.client.SocketManager.leaveClan === 'function') {
           this.client.SocketManager.leaveClan();
      }
    }
  }

  setClanName(clanName) {
    this._clanName = clanName && clanName.trim() ? clanName.slice(0, 4) : "AIBM";
  }

  // Функция для создания УНИКАЛЬНОГО глитч-имени (строго 4 символа)
  generateGlitchName(baseName, glitchChars) {
    const base = baseName.slice(0, 4);

    // НАБОР СИМВОЛОВ ДЛЯ ЦИКЛА:
    // Если выбрано None, используем набор, который выглядит "статично" (.,_~)
    // но обеспечивает уникальность для сервера.
    const charsForCycle = glitchChars.length > 0 ? glitchChars : " .,_~";
    const isGlitching = glitchChars.length > 0;

    let newName = "";

    for (let i = 0; i < 4; i++) {
        // Логика для режима с глитчем
        if (isGlitching && Math.random() < 0.5) {
            newName += charsForCycle[Math.floor(Math.random() * charsForCycle.length)];
        }
        // Логика для режима Static (None):
        // Принудительная уникальность на 4-м символе ИЛИ небольшой шанс на смену
        else if (!isGlitching && (i === 3 || Math.random() < 0.15)) {
            newName += charsForCycle[Math.floor(Math.random() * charsForCycle.length)];
        }
        else {
            // Используем базовый символ или заполняем первым символом для цикла
            newName += base[i] || charsForCycle[0];
        }
    }
    return newName;
  }

  // Главная логика: теперь действует на всех (Owner + Bots)
  postTick() {
    if (!this._enabled) return;
    // Устанавливаем задержку 800 мс
    if (Date.now() - this._lastSent < 800) return;

    try {
        // === ЧТЕНИЕ НАСТРОЕК МЕНЮ ===
        const baseName = (readOwnerCommanderField('all', 'autoclanName') || this._clanName).slice(0, 4);
        const glitchCharsToUse = readOwnerCommanderField('all', 'aclGlitchSelect') || '';
        // ============================

        const allClients = [this.client];
        if (myClient && myClient.clients) {
            myClient.clients.forEach(c => c && allClients.push(c));
        }

        if (this._glitchStep === 0) {
            // === ШАГ 1: СОЗДАНИЕ УНИКАЛЬНОГО КЛАНА ДЛЯ КАЖДОГО КЛИЕНТА ===
            for (const c of allClients) {
                if (!c.SocketManager || typeof c.SocketManager.createClan !== 'function') continue;

                const glitchName = this.generateGlitchName(baseName, glitchCharsToUse);

                c.SocketManager.createClan(glitchName);
            }
            this._glitchStep = 1; // Переход к удалению
        } else {
            // === ШАГ 2: УДАЛЕНИЕ КЛАНА ДЛЯ КАЖДОГО КЛИЕНТА ===
            for (const c of allClients) {
                if (!c.SocketManager || typeof c.SocketManager.leaveClan !== 'function') continue;
                c.SocketManager.leaveClan();
            }
            this._glitchStep = 0; // Переход к созданию
        }

        this._lastSent = Date.now();
        this._enabled = !!readOwnerCommanderField('all', 'autoclanEnabled');
    } catch (e) {
        // Оставим только логи ошибок
    }
  }
}
const modules_AutoClan = AutoClan;
    class AntiInsta {
        name="antiInsta";
        client;
        toggleAnti=false;
        constructor(client) {
            this.client = client;
        }
        get isSaveHeal() {
            const {myPlayer, SocketManager} = this.client;
            const startHit = myPlayer.receivedDamage || 0;
            const timeSinceHit = Date.now() - startHit + SocketManager.pong;
            return timeSinceHit >= 120;
        }
        get canHeal() {
            const {myPlayer} = this.client;
            return Settings.autoheal && myPlayer.tempHealth < 100 && !myPlayer.shameActive && this.isSaveHeal;
        }
        postTick() {
            const {myPlayer, ModuleHandler} = this.client;
            const foodID = myPlayer.getItemByType(2);
            const restore = Items[foodID].restore;
            const maxTimes = Math.ceil(myPlayer.maxHealth / restore);
            const needTimes = Math.ceil((myPlayer.maxHealth - myPlayer.tempHealth) / restore);
            let healingTimes = null;
            if (ModuleHandler.needToHeal || this.toggleAnti) {
                ModuleHandler.needToHeal = false;
                if (myPlayer.shameActive) {
                    return;
                }
                ModuleHandler.didAntiInsta = true;
                healingTimes = Math.min(maxTimes, 3);
            } else if (this.canHeal) {
                healingTimes = needTimes;
                myPlayer.tempHealth += clamp(restore * healingTimes, 0, 100);
            }
            if (null !== healingTimes) {
                ModuleHandler.healedOnce = true;
                ModuleHandler.actionPlanner.createActions(2, (last => ModuleHandler.heal(last)), healingTimes);
            }
        }
    }
    const modules_AntiInsta = AntiInsta;
    class AutoPlacer {
        name="autoPlacer";
        client;
        placeAngles=[ null, new Set ];
        constructor(client) {
            this.client = client;
        }
        postTick() {
            this.placeAngles[0] = null;
            this.placeAngles[1].clear();
            if (!Settings.autoplacer) {
                return;
            }
            const {myPlayer, ObjectManager, ModuleHandler, EnemyManager} = this.client;
            const {currentType} = ModuleHandler;
            const pos = myPlayer.position.current;
            const nearestEnemy = EnemyManager.nearestEnemy;
            if (null === nearestEnemy) {
                return;
            }
            if (!myPlayer.collidingEntity(nearestEnemy, 450)) {
                return;
            }
            const nearestAngle = pos.angle(nearestEnemy.position.current);
            let itemType = null;
            const spike = myPlayer.getItemByType(4);
            const spikeAngles = ObjectManager.getBestPlacementAngles(pos, spike, nearestAngle);
            let angles = new Set;
            const length = myPlayer.getItemPlaceScale(spike);
            for (const angle of spikeAngles) {
                const newPos = pos.direction(angle, length);
                let shouldPlaceSpike = false;
                for (const enemy of EnemyManager.trappedEnemies) {
                    const distance = newPos.distance(enemy.position.current);
                    const range = 2 * Items[spike].scale + enemy.collisionScale;
                    if (distance <= range) {
                        shouldPlaceSpike = true;
                        break;
                    }
                }
                if (shouldPlaceSpike) {
                    angles = spikeAngles;
                    itemType = 4;
                    break;
                }
            }
            if (0 === angles.size) {
                const type = currentType && 2 !== currentType ? currentType : 7;
                if (!myPlayer.canPlace(type)) {
                    return;
                }
                const id = myPlayer.getItemByType(type);
                angles = ObjectManager.getBestPlacementAngles(pos, id, nearestAngle);
                itemType = type;
            }
            if (null === itemType) {
                return;
            }
            this.placeAngles[0] = itemType;
            this.placeAngles[1] = angles;
            for (const angle of angles) {
                ModuleHandler.actionPlanner.createAction(itemType, (last => ModuleHandler.place(itemType, {
                    angle,
                    priority: 1,
                    last
                })));
                ModuleHandler.placedOnce = true;
            }
        }
    }
    const modules_AutoPlacer = AutoPlacer;
    class Autohat {
    name = "autoHat";
    client;
    utilitySize = [0, 0];

    // 🛡️ ID ШАПОК (Tank Gear/Soldier Helmet) и (Bull Hat/Barbarian Hat)
    TANK_GEAR_ID = 40;
    BULL_HAT_ID = 7;
    HAT_TYPE = 0;

    constructor(client) {
        this.client = client;
    }

    handleUtility(type) {
        const {ModuleHandler, myPlayer} = this.client;
        const store = ModuleHandler.store[type];

        // 1. Сброс предыдущей утилиты (если была)
        if (null !== store.lastUtility) {
            store.utility.delete(store.lastUtility);
            store.lastUtility = null;
        }

        // 2. ⚔️ НОВАЯ ЛОГИКА: ПРИНУДИТЕЛЬНАЯ ЭКИПИРОВКА ПО КНОПКЕ ⚔️
        if (ModuleHandler.canAttack && 0 === store.utility.size) {
            let requiredHatId = null;
            const attackingState = ModuleHandler.attackingState; // 1 (ЛКМ) или 2 (ПКМ)

            if (1 === attackingState) {
                // ЛКМ нажат (Attack) -> Bull Hat
                requiredHatId = this.BULL_HAT_ID;
            } else if (2 === attackingState) {
                // ПКМ нажат (Place/Utility) -> Tank Gear
                requiredHatId = this.TANK_GEAR_ID;
            }

            if (null !== requiredHatId) {
                // Принудительная экипировка нужной шапки, если мы атакуем
                if (ModuleHandler.equip(type, requiredHatId)) {
                    store.lastUtility = requiredHatId;
                    store.utility.set(requiredHatId, true);
                    return; // Успешно сменили шапку, выходим.
                }
            }

            // 3. 🛡️ ОРИГИНАЛЬНАЯ ЛОГИКА (Если принудительно не экипировали)
            const id = myPlayer.getBestUtilityID(type);
            if (null === id) {
                return;
            }
            if (ModuleHandler.equip(type, id)) {
                store.lastUtility = id;
                store.utility.set(id, true);
            }
        }
    }

    // ОСТАЛЬНЫЕ МЕТОДЫ ОСТАВЛЯЕМ БЕЗ ИЗМЕНЕНИЙ
    handleEquip(type) {
        const {ModuleHandler} = this.client;
        const store = ModuleHandler.store[type];
        const size = store.utility.size;
        const oldSize = this.utilitySize[type];
        if (0 === size && (size !== oldSize || store.best !== store.current)) {
            if (ModuleHandler.equip(type, store.current)) {
                store.best = store.current;
            }
        }
        this.utilitySize[type] = size;
    }

    postTick() {
        const {ModuleHandler} = this.client;
        // Если Autobreak ломает — не менять шляпы/аксессуары. Autobreak управляет шапкой в этот момент.
        try {
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}

        if (!ModuleHandler.sentHatEquip) {
            this.handleUtility(0);
            this.handleEquip(0);
        }
        if (!ModuleHandler.sentAccEquip && !ModuleHandler.sentHatEquip) {
            this.handleEquip(1);
        }
    }
}
const modules_Autohat = Autohat;
class OwnerAccLoop {
    name = "ownerAccLoop";
    client;
    _index = 0;
    _cooldown = 0;

    constructor(client) {
        this.client = client;
        // Используем те же списки, что и для ботов
        this._accessoriesAll = [12, 9, 10, 3, 8, 11, 17, 6, 4, 5, 2, 1, 7, 14, 15, 20, 16, 13, 19, 18, 21];
        this._accessoriesWings = [21, 18, 19, 13];
    }

    postTick() {
        // ⭐ ИСПРАВЛЕНО: Обращаемся к глобальному объекту конфигурации
        const oc = window.OWNER_COMMANDER_CONFIG;

        if (!this.client.isOwner || !oc || !oc.ownerAccLoop) return;

        const { ModuleHandler } = this.client;
        if (!ModuleHandler) return;

        // Кульдаун для ограничения скорости переключения
        if (this._cooldown > 0) {
            this._cooldown--;
            return;
        }

        if (ModuleHandler.sentAccEquip) return;

        // ВЫБОР СПИСКА В ЗАВИСИМОСТИ ОТ РЕЖИМА
        const mode = oc.ownerAccLoopMode || 'all';
        let accessories;
        if (mode === 'wings') {
            accessories = this._accessoriesWings;
        } else { // 'all'
            accessories = this._accessoriesAll;
        }

        if (accessories.length === 0) return;

        const accId = accessories[this._index % accessories.length];
        this._index++;

        try {
            // Экипируем аксессуар. Индекс слота для аксессуара — 1.
            const ok = ModuleHandler.equip(1, accId);
            if (ok) {
                this._cooldown = 1; // Короткий кулдаун
            } else {
                this._cooldown = 0;
            }
        } catch (e) {
            if (e.name === 'TypeError' && e.message.includes("reading 'price'")) {
                this._cooldown = 1;
            } else {
                console.error("OwnerAccLoop equip error:", e);
                this._cooldown = 10;
            }
        }
    }
}
const modules_OwnerAccLoop = OwnerAccLoop;
class OwnerHatLoop {
    name = "ownerHatLoop";
    client;
    _index = 0;
    _cooldown = 0;

    constructor(client) {
        this.client = client;

        // Используем те же списки, что и для ботов
        this._hatsFree = [51, 50, 28, 29, 30, 36, 37, 38, 44, 35, 42, 43, 49];
        this._hatsAll = [
            1, 2, 3, 4, 5, 6, 8, 9, 10,
            11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
            21, 22, 23, 24, 25, 26, 27,
            31, 32, 33, 34,
            39, 41,
            46, 47, 48
        ];

        this._hatsFree = this._hatsFree.filter((id, index, self) => self.indexOf(id) === index);
        this._hatsAll = this._hatsAll.filter((id, index, self) => self.indexOf(id) === index);
    }

    postTick() {
        // ⭐ ИСПРАВЛЕНО: Обращаемся к глобальному объекту конфигурации
        const oc = window.OWNER_COMMANDER_CONFIG;

        if (!this.client.isOwner || !oc || !oc.ownerHatLoop) return;

        const { ModuleHandler } = this.client;
        if (!ModuleHandler) return;

        // КУЛДАУН
        if (this._cooldown > 0) {
            this._cooldown--;
            return;
        }

        // Если Autobreak ломает — не менять шляпы (Autobreak управляет шляпой).
        try {
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}
        // Если Autobreak ломает — не менять шляпы (Autobreak управляет шляпой).
        try {
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}
        if (ModuleHandler.sentHatEquip) return;

        const mode = oc.ownerHatLoopMode || 'free';
        let hats = mode === 'all' ? this._hatsAll : this._hatsFree;

        if (hats.length === 0) return;

        const hatId = hats[this._index % hats.length];
        this._index++;

        try {
            const ok = ModuleHandler.equip(0, hatId); // Слот для шапки — 0
            if (ok) {
                this._cooldown = 1;
            } else {
                this._cooldown = 0;
            }
        } catch (e) {
            if (e.name === 'TypeError' && e.message.includes("reading 'price'")) {
                this._cooldown = 1;
            } else {
                console.error("OwnerHatLoop equip error:", e);
                this._cooldown = 10;
            }
        }
    }
}
const modules_OwnerHatLoop = OwnerHatLoop;
    class AccLoop {
    name = "accLoop";
    client;
    _index = 0;
    _cooldown = 0;

    constructor(client) {
        this.client = client;
        // Все аксессуары (ID 0-21)
        this._accessoriesAll = [0, 12, 9, 10, 3, 8, 11, 17, 6, 4, 5, 2, 1, 7, 14, 15, 20, 16, 13, 19, 18, 21];
        // ⭐ Только крылья (ID 21, 18, 19, 13)
        // Добавляем 0 (Unequip) в начало
        this._accessoriesWings = [0, 21, 18, 19, 13];
    }

    postTick() {
        // Проверка активности модуля
        const oc = getOwnerCommanderFor(this.client);
        if (!oc || !oc.accLoop) return; // Используем accLoop для проверки

        // Хозяина не трогаем (если это бот)
        if (this.client.isOwner) return;

        const { ModuleHandler } = this.client;
        if (!ModuleHandler) return;

        // Кульдаун для ограничения скорости переключения
        if (this._cooldown > 0) {
            this._cooldown--;
            return;
        }

        // Проверка, что ModuleHandler не занят отправкой другого снаряжения
        if (ModuleHandler.sentAccEquip) return;

        // ⭐ ВЫБОР СПИСКА В ЗАВИСИМОСТИ ОТ РЕЖИМА
        const mode = oc.accLoopMode || 'all';
        let accessories;
        if (mode === 'wings') {
            accessories = this._accessoriesWings;
        } else { // 'all'
            accessories = this._accessoriesAll;
        }

        // Если вдруг список пуст, выходим
        if (accessories.length === 0) return;

        // Выбираем следующий аксессуар по кругу
        const accId = accessories[this._index % accessories.length];
        this._index++;

        try {
            // Экипируем аксессуар. Индекс слота для аксессуара — 1.
            const ok = ModuleHandler.equip(1, accId);
            if (ok) {
                this._cooldown = 1; // Короткий кулдаун после успешной отправки
            } else {
                this._cooldown = 0; // Попробуем снова немедленно, если не отправилось
            }
        } catch (e) {
            console.error("AccLoop equip error:", e);
            this._cooldown = 10; // Длинный кулдаун в случае ошибки
        }
    }
}
const modules_AccLoop = AccLoop;
// ======= new module: HatLoop =======
// ...
// ======= new module: HatLoop =======
class HatLoop {
    name = "hatLoop";
    client;
    _index = 0;
    _cooldown = 0;

    constructor(client) {
        this.client = client;

        this._hatsFree = [0, 51, 50, 28, 29, 30, 36, 37, 38, 44, 35, 42, 43, 49];
        // Жестко заданный отфильтрованный список (платные/желаемые)
        this._hatsAll = [
            0, // Unequip
            1, 2, 3, 4, 5, 6, 8, 9, 10,
            11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
            21, 22, 23, 24, 25, 26, 27,
            31, 32, 33, 34,
            39,
            41,
            46, 47, 48
        ];

        this._hatsFree = this._hatsFree.filter((id, index, self) => self.indexOf(id) === index);
        this._hatsAll = this._hatsAll.filter((id, index, self) => self.indexOf(id) === index);
    }

    postTick() {
        const oc = getOwnerCommanderFor(this.client);
        if (!oc || !oc.hatLoop) return;

        if (this.client.isOwner) return;

        const { ModuleHandler } = this.client;
        if (!ModuleHandler) return;

        // КУЛДАУН
        if (this._cooldown > 0) {
            this._cooldown--;
            return;
        }

        // Если Autobreak ломает — не менять шляпы (Autobreak управляет шапкой).
        try {
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}
        if (ModuleHandler.sentHatEquip) return;

        const mode = oc.hatLoopMode || 'free';
        let hats = mode === 'all' ? this._hatsAll : this._hatsFree;

        if (hats.length === 0) return;

        const hatId = hats[this._index % hats.length];
        this._index++;

        // ⭐ НОВАЯ ПРОВЕРКА: Пропускаем, если предмет не существует (чтобы избежать ошибки 'price')
        // ВАЖНО: замените "getHatItemData" на реальную функцию в вашем клиенте,
        // которая возвращает объект предмета или undefined/null.
        /* if (hatId !== 0 && !getHatItemData(hatId)) {
            // Если предмет не Unequip (ID 0) и данные отсутствуют
            this._cooldown = 0; // Попробуем снова на следующем тике
            return;
        }
        */

        try {
            // Экипируем шапку. Индекс слота для шапки — 0.
            const ok = ModuleHandler.equip(0, hatId);
            if (ok) {
                // Устанавливаем короткий кулдаун (1 тик) после успешной отправки
                this._cooldown = 1;
            } else {
                // Если не отправилось (например, пакеты еще обрабатываются)
                this._cooldown = 0;
            }
        } catch (e) {
            // ⭐ Улучшенная обработка ошибки:
            // Если возникла ошибка 'price', мы увеличиваем кулдаун, чтобы не спамить.
            if (e.name === 'TypeError' && e.message.includes("reading 'price'")) {
                console.warn(`HatLoop: Skipped hat ID ${hatId} due to missing item data (price error).`);
                this._cooldown = 5; // Более длинный кулдаун, чтобы пропустить проблемный тик
            } else {
                console.error("HatLoop equip error:", e);
                this._cooldown = 10;
            }
        }
    }
}
const modules_HatLoop = HatLoop;
class Automill {
        name="autoMill";
        toggle=true;
        client;
        placeCount=0;
        constructor(client) {
            this.client = client;
        }
        reset() {
            this.toggle = true;
        }
        get canAutomill() {
        const isOwner = this.client.isOwner;
        const {autoattack, attacking, placedOnce} = this.client.ModuleHandler;

        // 🔥 ИСПРАВЛЕНИЕ: Теперь isActive зависит ТОЛЬКО от локального флага `this.toggle`,
        // который будет устанавливаться из Movement.postTick или глобальных Settings.
        let isActive = this.toggle && (isOwner ? (typeof Settings !== 'undefined' && Settings.automill) : true);


        if (isActive) {
            // Общие ограничения: только в песочнице, мельница еще не поставлена, и владелец не атакует
            return this.client.myPlayer.isSandbox &&
                       !placedOnce &&
                       (!isOwner || !attacking);
        }

        return false;
    }
        placeWindmill(angle) {
            const {myPlayer, ObjectManager, ModuleHandler, isOwner} = this.client;
            const id = myPlayer.getItemByType(5);
            const position = myPlayer.getPlacePosition(myPlayer.position.future, id, angle);
            const radius = isOwner ? 0 : Items[id].scale;
            if (!ObjectManager.canPlaceItem(id, position, radius)) {
                return;
            }
            ModuleHandler.actionPlanner.createAction(5, (last => ModuleHandler.place(5, {
                angle,
                last
            })));
        }
        postTick() {
            const {myPlayer, ModuleHandler, isOwner} = this.client;
            if (!this.canAutomill) {
                return;
            }
            if (!myPlayer.canPlace(5)) {
                this.toggle = false;
                return;
            }
            const angle = isOwner ? getAngleFromBitmask(ModuleHandler.move, true) : ModuleHandler.reverseCursorAngle;
            if (null === angle) {
                return;
            }
            const item = Items[myPlayer.getItemByType(5)];
            const distance = myPlayer.getItemPlaceScale(item.id);
            const angleBetween = Math.asin(2 * item.scale / (2 * distance));
            this.placeWindmill(angle - angleBetween);
            this.placeWindmill(angle + angleBetween);
        }
    }
    const modules_Automill = Automill;
    class PlacementExecutor {
        name="placementExecutor";
        client;
        constructor(client) {
            this.client = client;
        }
        postTick() {
            const actions = this.client.ModuleHandler.actionPlanner.getActions();
            const lastIndex = actions.length - 1;
            for (let i = 0; i < actions.length; i++) {
                const current = actions[i];
                const last = actions[i + 1];
                const isLast = i === lastIndex || void 0 !== last && last[0] === current[0];
                current[1](isLast);
            }
        }
    }
    const modules_PlacementExecutor = PlacementExecutor;
    class Placer {
        name="placer";
        client;
        constructor(client) {
            this.client = client;
        }
        postTick() {
            const {ModuleHandler, myPlayer, isOwner} = this.client;
            const {currentType, placedOnce, healedOnce, mouse} = ModuleHandler;
            if (!myPlayer.canPlace(currentType)) {
                return;
            }
            if (2 === currentType) {
                if (healedOnce) {
                    return;
                }
                ModuleHandler.healedOnce = true;
                ModuleHandler.actionPlanner.createAction(currentType, (last => ModuleHandler.place(currentType, {
                    last
                })));
                return;
            }
            if (placedOnce) {
                return;
            }
            ModuleHandler.placedOnce = true;
            const angle = isOwner ? mouse.angle : ModuleHandler.cursorAngle;
            ModuleHandler.actionPlanner.createAction(currentType, (last => ModuleHandler.place(currentType, {
                angle,
                last
            })));
        }
    }
    const modules_Placer = Placer;
class ShameReset {
    name = "shameReset";
    client;
    _previousHatID = 0; // Сохраняем ID предыдущей шапки
    constructor(client) {
        this.client = client;
    }

    get isEquipTime() {
        const { myPlayer, SocketManager } = this.client;
        const max = 1e3 - SocketManager.TICK;
        return myPlayer.timerCount >= max;
    }

    get shouldReset() {
        const { myPlayer, ModuleHandler } = this.client;

        // 🔥 УЛУЧШЕННОЕ УСЛОВИЕ: Не атакуем и не строим во время сброса
        const isAttackingOrBuilding = (myPlayer.isAttacking || myPlayer.isBuilding);

        return !isAttackingOrBuilding && // Проверка активности
               !myPlayer.shameActive &&
               myPlayer.shameCount > 0 &&
               0 === myPlayer.poisonCount &&
               !ModuleHandler.didAntiInsta &&
               this.isEquipTime;
    }

    postTick() {
        this.handleShameReset();
    }

    handleShameReset(isDmgOverTime) {
        const { myPlayer, ModuleHandler } = this.client;
        if (ModuleHandler.sentHatEquip) {
            return;
        }

        const store = ModuleHandler.getHatStore();
        const bull = 7; // Bull Hat ID
        const bullState = store.utility.get(bull);
        const currentHat = myPlayer.hatID;

        // --- 1. ЛОГИКА СБРОСА (УСТАНОВКА BULL HAT) ---
        if (void 0 === bullState && this.shouldReset) {

            // Если мы уже в Bull Hat (и не мы его надели), просто помечаем как использованный для сброса.
            if (currentHat === bull) {
                store.utility.set(bull, true);
                this._previousHatID = 0;
                return;
            }

            // Сохраняем текущую шапку, чтобы вернуть ее позже
            this._previousHatID = currentHat;

            const isEquipped = ModuleHandler.equip(0, bull);

            if (isEquipped) {
                store.utility.set(bull, true);
                // console.log('[ShameReset] Bull Hat equipped for shame reset.');
            }
        }

        // --- 2. ЛОГИКА СНЯТИЯ (ВОССТАНОВЛЕНИЕ ШАПКИ) ---
        // Если Bull Hat помечен как активный И (позор сброшен ИЛИ пришло DOT ИЛИ есть ЯД)
        if (bullState && (0 === myPlayer.shameCount || isDmgOverTime || 0 !== myPlayer.poisonCount)) {

            // Сбрасываем флаг, чтобы не повторять
            store.utility.delete(bull);

            // Проверяем, что мы действительно в Bull Hat (это наша шапка) и есть что восстанавливать
            if (currentHat === bull && this._previousHatID !== 0 && this._previousHatID !== bull) {

                // Экипируем сохраненную шапку
                ModuleHandler.equip(0, this._previousHatID);
                // console.log(`[ShameReset] Restored hat ID: ${this._previousHatID}`);
            }

            // Сбрасываем сохраненный ID
            this._previousHatID = 0;
        }
    }

    healthUpdate() {
        const { myPlayer } = this.client;
        const { currentHealth, previousHealth, shameCount } = myPlayer;
        const difference = Math.abs(currentHealth - previousHealth);

        // Урон по таймеру
        const isDmgOverTime = 5 === difference && currentHealth < previousHealth;

        // Сброс таймера (поддерживает логику isEquipTime)
        if (isDmgOverTime) {
            myPlayer.timerCount = 0;
        }

        this.handleShameReset(isDmgOverTime);

        return isDmgOverTime && shameCount > 0;
    }
}
const modules_ShameReset = ShameReset;
    class UpdateAngle {
        name="updateAngle";
        client;
        constructor(client) {
            this.client = client;
        }
        postTick() {
// --- advance owner commander offsets for circlespin/squarespin (global + per-target) ---
try {
    const root = myClient?.ModuleHandler?.ownerCommander;
    if (!root) {
        // nothing to do
    } else if (this.client.isOwner) {
        const now = Date.now();
        const dt = (now - (this._lastSpinTime || now)) / 1000;
        this._lastSpinTime = now;

        // global entry
        try {
            if (root.mode === "circlespin") {
                const speed = (root.spin && root.spin.speed) || (30 * Math.PI / 180);
                const dir = (root.spin && root.spin.dir) || 1;
                root.offset = (root.offset || 0) + speed * dir * dt;
                const TWO_PI = Math.PI * 2;
                if (Math.abs(root.offset) > TWO_PI) root.offset %= TWO_PI;
            }
            if (root.mode === "squarespin") {
                const speed = (root.spin && root.spin.speed) || 1;
                const dir = (root.spin && root.spin.dir) || 1;
                root.offset = (root.offset || 0) + speed * dir * dt;
                if (root.offset >= 4) root.offset -= 4;
                if (root.offset < 0) root.offset += 4;
            }
        } catch(e){}

        // per-target entries
        if (root.targets) {
            for (const [tid, targ] of Object.entries(root.targets)) {
                try {
                    if (!targ) continue;
                    if (targ.mode === "circlespin") {
                        const speed = (targ.spin && targ.spin.speed) || (30 * Math.PI / 180);
                        const dir = (targ.spin && targ.spin.dir) || 1;
                        targ.offset = (targ.offset || 0) + speed * dir * dt;
                        const TWO_PI = Math.PI * 2;
                        if (Math.abs(targ.offset) > TWO_PI) targ.offset %= TWO_PI;
                    } else if (targ.mode === "squarespin") {
                        const speed = (targ.spin && targ.spin.speed) || 1;
                        const dir = (targ.spin && targ.spin.dir) || 1;
                        targ.offset = (targ.offset || 0) + speed * dir * dt;
                        if (targ.offset >= 4) targ.offset -= 4;
                        if (targ.offset < 0) targ.offset += 4;
                    }
                } catch(e){}
            }
        }
    }
} catch(e){}
            const mh = this.client.ModuleHandler;
            const {sentAngle, mouse, cursorAngle, useAngle} = mh;
            // Если Autobreak ломает — каждый тик шлём принудительно useAngle (force=true),
            // чтобы персонаж постоянно смотрел на ловушку.
            try {
                const ab = mh.staticModules && mh.staticModules.autoBreak;
                if (ab && ab.breakingTrap) {
                    try { mh.updateAngle(useAngle, true); } catch (e) {}
                    return;
                }
            } catch (e) {}
            if (sentAngle > 1) {
                return;
            }
            const angle = this.client.isOwner ? mouse.angle : cursorAngle;
            this.client.ModuleHandler.updateAngle(angle);
        }
    }
    const modules_UpdateAngle = UpdateAngle;
    class UpdateAttack {
        name="updateAttack";
        client;
        constructor(client) {
            this.client = client;
        }
        getAttackAngle() {
            const {ModuleHandler, isOwner} = this.client;
            const {staticModules, useAngle, mouse, cursorAngle} = ModuleHandler;
            const {spikeTick, autoBreak} = staticModules;
            if (spikeTick.isActive) {
                return useAngle;
            }
            // Всегда используем useAngle, когда активен Autobreak — чтобы персонаж смотрел на цель
            if (autoBreak.isActive) {
                return useAngle;
            }
            if (isOwner) {
                return mouse.angle;
            }
            return cursorAngle;
        }
        postTick() {
            const {ModuleHandler} = this.client;
            const {useWeapon, weapon, attacking, canAttack, sentAngle, staticModules} = ModuleHandler;
            const {reloading} = staticModules;
            if (null !== useWeapon && useWeapon !== weapon) {
                ModuleHandler.previousWeapon = weapon;
                ModuleHandler.whichWeapon(useWeapon);
            }
            if (canAttack) {
                const angle = this.getAttackAngle();
                // Если сейчас Autobreak ломает — надеваем Tank Gear только на момент удара,
                // затем сразу восстанавливаем прежнюю шапку.
                try {
                    const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
                    if (ab && ab.breakingTrap) {
                        // Autobreak уже экипировал Tank Gear и управляет прицелом.
                        // Просто выполняем атаку без дополнительной экипировки/восстановления шляпы.
                        try {
                            ModuleHandler.attack(angle);
                            ModuleHandler.stopAttack && ModuleHandler.stopAttack();
                        } catch (e) {
                            try { ModuleHandler.attack(angle); ModuleHandler.stopAttack && ModuleHandler.stopAttack(); } catch (e2) {}
                        }
                    } else {
                        ModuleHandler.attack(angle);
                        ModuleHandler.stopAttack && ModuleHandler.stopAttack();
                    }
                } catch (e) {
                    // защитная: обычная атака
                    try { ModuleHandler.attack(angle); ModuleHandler.stopAttack && ModuleHandler.stopAttack(); } catch (e2) {}
                }

                const reload = reloading.currentReload;
                reloading.updateMaxReload(reload);
                // Если мы ломаем через Autobreak — не форсируем reset reload, чтобы
                // не искусственно замедлять следующую атаку (Autobreak сам контролирует скорость).
                try {
                    const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
                    if (!(ab && ab.breakingTrap)) {
                        reloading.resetReload(reload);
                    }
                } catch (e) {
                    reloading.resetReload(reload);
                }
            } else if (!attacking && 0 !== sentAngle) {
                ModuleHandler.stopAttack();
            }
        }
    }
    const modules_UpdateAttack = UpdateAttack;
    class DistanceHit {
    name = "distanceHit";
    client;
    // УДАЛЕНО: _originalHatID. Теперь используется локальная переменная, захваченная замыканием.

    // НОВАЯ КОНСТАНТА: На сколько уменьшаем дальность для ботов в проверке (внутриигровые единицы)
    BOT_RANGE_REDUCTION = 6;

    constructor(client) {
        this.client = client;
    }

    _isHatOwned(playerEntity, hatID) {
        // Предполагаем, что шапки хранятся в storeList[0] (как видно из update() в классе Player)
        return playerEntity.storeList && playerEntity.storeList[0] && playerEntity.storeList[0].has(hatID);
    }

    /**
     * Вспомогательный метод: Рассчитывает потенциальный урон от основного оружия сущности.
     */
    _getPrimaryDamage(playerEntity) {
        const primaryID = playerEntity.weapon?.primary;
        if (typeof primaryID !== 'number' || primaryID === null) return 0;

        if (typeof playerEntity.getMaxWeaponDamage === 'function') {
            // Получаем максимальный урон от основного оружия (логика Bull Hat уже внутри)
            return playerEntity.getMaxWeaponDamage(primaryID, false);
        }

        // Запасной/неполный вариант
        const weapon = Weapons[primaryID];
        if (!weapon) return 0;

        let damageMultiplier = 1;

        if (playerEntity.hatID && Hats && Hats[playerEntity.hatID] && Hats[playerEntity.hatID].dmgMultO) {
            damageMultiplier *= Hats[playerEntity.hatID].dmgMultO;
        }
        if (playerEntity.accessoryID && Accessories && Accessories[playerEntity.accessoryID] && Accessories[playerEntity.accessoryID].dmgMultO) {
            damageMultiplier *= Accessories[playerEntity.accessoryID].dmgMultO;
        }
        return weapon.damage * damageMultiplier;
    }

    /**
     * НОВЫЙ ВСПОМОГАТЕЛЬНЫЙ МЕТОД: Проверяет, заряжено ли основное оружие.
     */
    _isReloaded(playerEntity) {
        // Проверка на перезарядку
        return typeof playerEntity.isReloaded === 'function' ? playerEntity.isReloaded('primary') : true;
    }

    /**
     * НОВЫЙ ВСПОМОГАТЕЛЬНЫЙ МЕТОД: Проверяет, находится ли сущность в радиусе удара.
     * @param {boolean} isBot - Флаг, указывающий, является ли сущность ботом.
     */
    _isInRange(playerEntity, target, isBot = false) {
        if (!playerEntity || !target || !target.position) return false;

        const primaryID = playerEntity.weapon?.primary;
        if (typeof primaryID !== 'number' || primaryID === null) return false;

        const primaryWeapon = Weapons[primaryID];
        if (!primaryWeapon) return false;

        // --- Расчет дальности ---
        const targetScale = target.hitScale || 45;
        let reach = primaryWeapon.range + targetScale;

        // НОВОЕ: Уменьшаем эффективную дальность, если это бот
        if (isBot) {
            reach -= this.BOT_RANGE_REDUCTION;
        }
        // Защита от отрицательной дальности, хотя это маловероятно
        if (reach <= 0) return false;

        const myPos = playerEntity.position.current;
        const targetPos = target.position.current;

        const dist = Math.sqrt(Math.pow(myPos.x - targetPos.x, 2) + Math.pow(myPos.y - targetPos.y, 2));

        return dist <= reach;
    }

    /**
     * Проверяет, готов ли игрок к удару (заряжен И в радиусе).
     * @param {boolean} isBot - Флаг, указывающий, является ли сущность ботом.
     */
    checkHitCondition(playerEntity, target, isBot = false) {
        // 1. Проверка на перезарядку
        if (!this._isReloaded(playerEntity)) {
            return false;
        }

        // 2. Проверка на дальность
        return this._isInRange(playerEntity, target, isBot);
    }

    /**
     * Forces an entity (bot or player) to attack the target immediately.
     */
    executeAttack(clientInstance, target, forceBullHat = false) {
        // ВАЖНО: Здесь логика АТАКИ не изменена,
        // реальный угол и дальность используются движком игры.
        const mh = clientInstance.ModuleHandler;
        const myPlayer = clientInstance.myPlayer;
        const targetPos = target.position.future || target.position.current;
        const myPos = myPlayer.position.future || myPlayer.position.current;

        const BULL_HAT_ID = 7;
        let originalHatId = myPlayer.hatID;
        let shouldRestoreHat = false;

        const isOwner = clientInstance.isOwner;
        const canEquipBullHat = (isOwner || forceBullHat) && this._isHatOwned(myPlayer, BULL_HAT_ID);

        // hatToRestore — это локальная константа, захватывается замыканием.
        const hatToRestore = originalHatId;

        if (canEquipBullHat && originalHatId !== BULL_HAT_ID) {
            try {
                // 1. Надеваем Bull Hat (ID 7)
                mh.equip(0, BULL_HAT_ID); // 0 = Hat slot
                shouldRestoreHat = true;
            } catch (e) {}
        }

        // 2. Switch to Primary (Slot 0)
        if (mh.currentHolding !== 0) {
            try {
                mh.whichWeapon(0);
            } catch (e) { }
        }

        // 3. Aim at target
        const angle = Math.atan2(targetPos.y - myPos.y, targetPos.x - myPos.x);
        try {
            mh.updateAngle(angle, true);
        } catch (e) { }

        // 4. Strike
        try {
            mh.attack(angle);
            mh.stopAttack && mh.stopAttack();
        } catch (e) { }

        // 5. Возвращаем оригинальную шапку
        if (shouldRestoreHat) {
            setTimeout(() => {
                try {
                    const ab = mh.staticModules && mh.staticModules.autoBreak;

                    // НОВЫЙ ФИКС: Проверяем только, не активен ли Autobreak.
                    // Если не активен, мы должны принудительно восстановить шапку.
                    if (!(ab && ab.breakingTrap)) {
                        mh.equip && mh.equip(0, hatToRestore);
                    }

                    // Условие myPlayer.hatID === BULL_HAT_ID удалено,
                    // чтобы не пропускать восстановление при нестабильном состоянии.

                } catch (e) { }
            }, 120); // Увеличили задержку для большей стабильности
        }
    }

    postTick() {
        if (!this.client.isOwner) return;

        let distanceHitEnabled = true;
        try {
            if ((typeof Settings !== 'undefined' && Settings.distanceHitEnabled === false) ||
                (this.client.settings && this.client.settings.distanceHitEnabled === false)) {
                distanceHitEnabled = false;
            }
        } catch (e) {}

        if (!distanceHitEnabled) {
            // Если класс отключен, выходим из метода
            return;
        }

        const { EnemyManager, myPlayer } = this.client;
        const target = EnemyManager.nearestEnemy;
        if (!target) return;

        const BULL_HAT_ID = 7;
        // Проверяем владение Bull Hat ГЛАВНЫМ игроком
        const ownerOwnsBullHat = this._isHatOwned(myPlayer, BULL_HAT_ID);

        // --- НОВАЯ ЛОГИКА СТРОГОЙ СИНХРОНИЗАЦИИ ---
        let totalDamage = 0;
        let entitiesToAttack = []; // Сущности, которые могут и должны ударить
        let syncComboBlocked = false; // Флаг для блокировки комбо

        // Список всех клиентов (игрок + боты), которые могут участвовать в комбо
        const allComboClients = [this.client];
        if (this.client.clients) {
            for (const botClient of this.client.clients) {
                // Исключаем владельца и неинициализированных ботов
                if (!botClient.isOwner && botClient.myPlayer) {
                    allComboClients.push(botClient);
                }
            }
        }

        // 1. Проверяем каждого участника
        // Условие: ВСЕ участники, находящиеся в радиусе удара, ДОЛЖНЫ быть заряжены.
        for (const client of allComboClients) {
            const playerEntity = client.myPlayer;
            const isBot = !client.isOwner; // Определяем, является ли это ботом

            // Сначала проверяем, находится ли сущность в радиусе удара (Range Check)
            // ИСПОЛЬЗУЕМ УМЕНЬШЕННУЮ ДАЛЬНОСТЬ ДЛЯ БОТОВ
            const isInRange = this._isInRange(playerEntity, target, isBot);

            if (isInRange) {
                // Если сущность в радиусе, она ДОЛЖНА быть заряжена для синхронного удара.
                if (!this._isReloaded(playerEntity)) {
                    // Найден не заряженный участник в радиусе -> Блокируем комбо
                    syncComboBlocked = true;
                    break; // Дальнейшая проверка не имеет смысла
                }

                // В радиусе И заряжен -> добавляем в список атакующих и считаем урон.
                const damage = this._getPrimaryDamage(playerEntity);
                totalDamage += damage;
                entitiesToAttack.push({ client: client, damage: damage });
            }
            // Если не в радиусе, он не блокирует комбо и не участвует в нем.
        }


        // 2. Учет Solid Hat (ID 6) у врага
        const SOLID_HAT_ID = 6;
        const solidHatData = Hats[SOLID_HAT_ID];
        let finalDamage = totalDamage;

        if (target.hatID === SOLID_HAT_ID && solidHatData && typeof solidHatData.dmgMult === 'number') {
            // Применяем множитель уменьшения урона (0.75 для Solid Hat)
            finalDamage *= solidHatData.dmgMult;
            console.log(`[DistanceHit] Урон снижен из-за Soldier Helmet (${(solidHatData.dmgMult*100).toFixed(0)}%). Расчетный урон: ${finalDamage.toFixed(2)}.`);
        }


        // 3. Логика Синхронизации
        // Для атаки нужно:
        // A) Нет блокировки (syncComboBlocked === false)
        // B) Есть владелец и хотя бы один бот среди тех, кто в радиусе и заряжен.
        const ownerEntry = entitiesToAttack.find(e => e.client.isOwner);
        const capableBots = entitiesToAttack.filter(e => !e.client.isOwner);

        const isReadyForSyncCombo = !syncComboBlocked && ownerEntry && capableBots.length > 0;
        const finalCondition = isReadyForSyncCombo && finalDamage >= 100;

        if (finalCondition) {
            console.log(`[DistanceHit] ---> СИНХРОННАЯ АТАКА! (Общий урон: ${finalDamage.toFixed(2)}, Ботов в комбо: ${capableBots.length})`);

            // Владелец атакует
            this.executeAttack(this.client, target, ownerOwnsBullHat);

            // Все способные боты атакуют
            for (const botEntry of capableBots) {
                this.executeAttack(botEntry.client, target, ownerOwnsBullHat);
            }
        }
    }
}
// Заменяем оригинальную константу
const modules_DistanceHit = DistanceHit;
class SyncShot {
    name = "syncShot";
    client;

    _isFiringCombo = false;
    // state per fire command
    _activeFireAt = null;
    _firedFor = null;

    // Default weapon slot to prefer: 0=Primary, 1=Secondary
    DEFAULT_WEAPON_SLOT = 0;

    constructor(client) {
        this.client = client;
    }

    _predictTargetPosition(target, timeMs) {
        if (!target || !target.position || !target.position.current) return null;

        // Выполнение вспомогательных функций таргета (если они существуют)
        try {
            if (typeof target.predictItems === 'function') target.predictItems();
            if (typeof target.predictWeapons === 'function') target.predictWeapons();
            if (typeof target.updateReloads === 'function') target.updateReloads();
        } catch (e) {}

        const cur = target.position.current;
        const vel = (target.velocity || { x: 0, y: 0 });

        // Преобразуем миллисекунды в секунды
        const timeS = timeMs / 1000;

        // Используем future позицию (если доступна) для лучшей точности
        const startPos = target.position.future || cur;

        return {
            x: startPos.x + (vel.x || 0) * timeS,
            y: startPos.y + (vel.y || 0) * timeS
        };
    }

    // Helper: Resets internal state (used on command start/finish)
    _reset() {
        this._activeFireAt = null;
        this._firedFor = null;
    }

    // Called every tick
    postTick() {
        try {
            const { ModuleHandler, myPlayer, EnemyManager } = this.client;
            if (!ModuleHandler || !myPlayer || !EnemyManager) {
                this._reset();
                return;
            }

            // 1. Проверка состояния модуля и команд
            const oc = getOwnerCommanderFor(this.client);
            if (!oc || !oc.syncShot || !myPlayer.position?.future) return;

            const fireAt = oc.syncShot.fireAt;
            if (!fireAt) return; // Нет активной команды

            // Игнорируем, если уже выполнено в этот цикл команд
            if (ModuleHandler._lastSyncShot === fireAt) return;

            // Начинаем новую команду
            if (this._activeFireAt !== fireAt) {
                this._activeFireAt = fireAt;
                this._firedFor = null;
            }

            this._isFiringCombo = true;

            // 2. Получение цели и настроек
            const target = EnemyManager.nearestEnemy;
            if (!target || !target.position) {
                this._resetAndMarkDone(ModuleHandler, fireAt, 'no target');
                return;
            }

            // 3. Выбор оружия и времени предикта
            const prefSlotSetting = (typeof Settings !== 'undefined' && Settings.syncShotWeaponSlot)
                                         ? Settings.syncShotWeaponSlot : this.DEFAULT_WEAPON_SLOT;

            const weaponSlot = (prefSlotSetting === 1) ? 1 : 0; // 0 (primary) or 1 (secondary)
            const weaponID = (weaponSlot === 0) ? myPlayer.weapon?.primary : myPlayer.weapon?.secondary;

            if (!weaponID) {
                this._resetAndMarkDone(ModuleHandler, fireAt, 'no weapon in selected slot');
                return;
            }

            // Получаем время задержки (например, время полета снаряда)
            const weaponObj = Weapons.find(w => w.id === weaponID);

            // УЛУЧШЕННЫЙ РАСЧЕТ ВРЕМЕНИ:
            const projectileID = weaponObj?.projectile;
            let timeMs = 0;

            if (projectileID !== undefined && Projectiles && Projectiles[projectileID]) {
                const projData = Projectiles[projectileID];
                const speedMult = weaponObj?.spdMultProj || 1;
                const projectileSpeed = projData.speed * speedMult;

                if (projectileSpeed > 0 && target.distance) {
                    timeMs = (target.distance / projectileSpeed) * 1000;
                } else {
                    timeMs = 20; // Минимальная задержка
                }
            } else {
                // Предполагаем, что это ближний бой, если нет данных о снаряде
                // NOTE: Instakill.MELEE_HIT_DELAY должно быть доступно глобально
                timeMs = Instakill.MELEE_HIT_DELAY + 20;
            }

            // 4. Определение позиции прицеливания (с предиктом)
            const aimPos = this._predictTargetPosition(target, timeMs);

            if (!aimPos || typeof aimPos.x !== 'number') {
                this._resetAndMarkDone(ModuleHandler, fireAt, 'prediction failed');
                return;
            }

            // 5. Выбор оружия и экипировка шапки (Bull Hat для 0, Turret Gear для 1)
            const prevHatId = this._prepareForShot(ModuleHandler, myPlayer, weaponSlot);

            // 6. Выстрел
            try {
                // Прицеливание
                const ang = Math.atan2(aimPos.y - myPlayer.position.future.y, aimPos.x - myPlayer.position.future.x);
                ModuleHandler.updateAngle && ModuleHandler.updateAngle(ang, true);

                // Выстрел
                ModuleHandler.attack && ModuleHandler.attack(ang);
                ModuleHandler.stopAttack && ModuleHandler.stopAttack();

            } catch (e) {
                // console.error('[SyncShot] attack error', e);
            }

            // 7. Возврат шапки
            this._restoreHat(ModuleHandler, prevHatId);

            // 8. Завершение команды
            this._resetAndMarkDone(ModuleHandler, fireAt, 'fired');

        } catch (outer) {
            console.error('[SyncShot] unexpected error', outer);
            this._reset();
        }
    }

    // Helper to cleanup and mark the command as handled
    _resetAndMarkDone(ModuleHandler, fireAt, message = '') {
        try { ModuleHandler._lastSyncShot = fireAt; } catch(e){}
        this._firedFor = fireAt;
        this._activeFireAt = null;
        this._isFiringCombo = false;
        // this._debug(message); // Активируйте, если нужен дебаг
    }

    // Helper: Logic to select weapon and put on Turret Gear/Bull Hat
    _prepareForShot(ModuleHandler, myPlayer, targetSlot) {
        // 1. Выбираем нужное оружие
        if (ModuleHandler.currentHolding !== targetSlot) {
            try { ModuleHandler.whichWeapon(targetSlot); } catch (e) {}
        }

        // 2. Надеваем Bull Hat (ID 7) для ближнего боя или Turret Gear (ID 53) для дальнего
        // NOTE: Если слот 0 — ближний, слот 1 — дальний
        const targetHatId = (targetSlot === 0) ? 7 : 53;

        let prevHatId = myPlayer.hatID;

        try {
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            // Не вмешиваемся в шапки, если Autobreak активен
            if (!(ab && ab.breakingTrap)) {
                ModuleHandler.equip && ModuleHandler.equip(0, targetHatId); // 0 = Hat slot
            }
        } catch {}

        return prevHatId;
    }

    // Helper: Logic to restore the hat after a short delay
    _restoreHat(ModuleHandler, prevHatId) {
        // 53 = Turret Gear ID, 7 = Bull Hat ID
        const hatsToIgnore = [53, 7];
        try {
            if (typeof prevHatId === 'number' && !hatsToIgnore.includes(prevHatId)) {
                setTimeout(() => {
                    try {
                        const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
                        if (!(ab && ab.breakingTrap)) {
                            ModuleHandler.equip && ModuleHandler.equip(0, prevHatId);
                        }
                    } catch(e){}
                }, 80); // Короткая задержка для завершения выстрела
            }
        } catch {}
    }

    // debug logger (может быть удален, если не нужен)
    // _debug(...) {}
}
const modules_SyncShot = SyncShot;
class BowInsta_Final {
    name = "bowInsta";
    client;

    constructor(client) {
        this.client = client;

        this.PLATFORM_ITEM_ID = 18;
        this.BOW_ID = 9; // ID Лук
        this.CROSS_ID = 12;
        this.MUSKET_ID = 15;
        this.TURRET_HAT = 53;

        this.FIXED_DIST = 700;
        this.DIST_TOL = 20;
        this.DEADZONE = 10;

        // *** КОНСТАНТЫ СИНХРОНИЗАЦИИ (СКОРОСТЬ ИГРЫ) ***
        this.MIN_ACTION_DELAY = 40; // Минимальная задержка между выстрелом и апгрейдом
        this.UPGRADE_CHECK_DELAY = 50; // Задержка для проверки, прошел ли апгрейд
        // **********************************************

        this.GIVEUP_TIMEOUT_MS = 1200; // Общий таймаут для комбо
        this.PLATFORM_POSTPLACE_WAIT_MS = 100;

        this._activeFireAt = null;
        this._stage = -1;
        this._waitUntil = 0;
        this._wantedAfterUpgrade = null;
        this._platformsFor = null;
        this._prevHat = undefined;

        this._keys = { W: false, A: false, S: false, D: false };
    }

    _chat(msg) { try { myClient?.SocketManager?.chat(msg); } catch (e) {} }
    _log(msg) { try { console.log(`[BowInsta] ${msg}`); } catch (e) {} }
    _hasBow(myPlayer) { return myPlayer.getItemByType?.(1) === this.BOW_ID; }
    // ... (вспомогательные функции trigger, _setKeyDown, _setKeyUp, _stopAllKeys, _pressForVector, _dist, _hasPlatform без изменений) ...
    _setKeyDown(ModuleHandler, code) { try { ModuleHandler.handleKeydown?.({ code }); } catch (e) {} }
    _setKeyUp(ModuleHandler, code) { try { ModuleHandler.handleKeyup?.({ code }); } catch (e) {} }
    _stopAllKeys(ModuleHandler) { ["KeyW","KeyA","KeyS","KeyD"].forEach(k=>this._setKeyUp(ModuleHandler,k)); this._keys={W:false,A:false,S:false,D:false}; }
    _pressForVector(ModuleHandler,dx,dy){
        const pW=(dy<-this.DEADZONE), pS=(dy>this.DEADZONE), pD=(dx>this.DEADZONE), pA=(dx<-this.DEADZONE);
        [["W",pW],["S",pS],["D",pD],["A",pA]].forEach(([k,p])=>{
            if(p&&!this._keys[k]){ this._setKeyDown(ModuleHandler,"Key"+k); this._keys[k]=true; }
            else if(!p&&this._keys[k]){ this._setKeyUp(ModuleHandler,"Key"+k); this._keys[k]=false; }
        });
    }
    _dist(a,b){const dx=a.x-b.x,dy=a.y-b.y;return Math.sqrt(dx*dx+dy*dy);}
    _hasPlatform(player) {
        try {
            if (typeof player.getItemByType === "function") {
                const r = player.getItemByType(this.PLATFORM_ITEM_ID);
                if (r === this.PLATFORM_ITEM_ID) return true;
            }
            if (Array.isArray(player.inventory)) {
                for (const it of player.inventory) {
                    if (typeof it === "number" && it === this.PLATFORM_ITEM_ID) return true;
                    if (typeof it === "object" && (it.id === this.PLATFORM_ITEM_ID || it.itemId === this.PLATFORM_ITEM_ID)) return true;
                }
            }
        } catch (e) {}
        return false;
    }
    trigger() {
        if (!this.client || !this.client.myPlayer) return;
        if (!this._hasBow(this.client.myPlayer)) { this._chat("sorr me need bow for it"); this._activeFireAt = null; return; }
        try {
            const myPlayer = this.client.myPlayer;
            const slots = [ myPlayer.getItemByType?.(0), myPlayer.getItemByType?.(1) ];
            const names = [];
            for (const s of slots) { if (typeof s === "number" && Weapons[s]?.name) { names.push(Weapons[s].name.toLowerCase()); } }
            const blocked = names.some(n => n.includes("hammer") || n.includes("shield") || n.includes("grab"));
            if (blocked) { this._chat("[BowInsta] blocked (forbidden weapon present)"); this._activeFireAt = null; return; }
        } catch (e) {}
        const now = Date.now();
        this._activeFireAt = now;
        this._stage = -1;
        this._waitUntil = 0;
        this._platformsFor = null;
        this._prevHat = undefined;
        this._chat("[BowInsta] activated via hotkey");
        this._log("Activated. Starting sequence.");
        try { this.postTick(); } catch(e) { console.error("BowInsta instant postTick error:", e); }
    }


    postTick() {
        try {
            if (!this.client.isOwner) return;

            const ModuleHandler = this.client.ModuleHandler;
            const myPlayer = this.client.myPlayer;
            const EnemyManager = this.client.EnemyManager;
            if (!ModuleHandler || !myPlayer || !EnemyManager) return;

            if (!this._activeFireAt) return;
            const fireAt = this._activeFireAt;
            if (this._activeFireAt !== fireAt) return;

            const now = Date.now();
            const target = EnemyManager?.nearestEnemy;
            if (!target) {
                this._activeFireAt = null; this._stage = -1;
                this._chat("[BowInsta] Target lost. Aborting.");
                return;
            }

            let angle = 0;
            try {
                angle = myPlayer.position.current.angle(target.position.current);
                ModuleHandler.updateAngle?.(angle, true);
            } catch(e){}

            // ** Основная блокировка времени **
            if (now < this._waitUntil) return;

            const myPos = myPlayer.position.current;
            const tgPos = target.position.current;
            const dist = this._dist(myPos, tgPos);

            // --- stage -1: ПОДХОД ---
            if (this._stage === -1) {
                // ... (логика движения) ...
                if (Math.abs(dist - this.FIXED_DIST) <= this.DIST_TOL) {
                    this._stopAllKeys(ModuleHandler);
                    this._stage = -0.7;
                    this._waitUntil = now;
                    this._chat("[BowInsta] reached distance " + Math.round(dist));
                } else {
                    const dx_to_player = myPos.x - tgPos.x;
                    const dy_to_player = myPos.y - tgPos.y;
                    const len = Math.sqrt(dx_to_player * dx_to_player + dy_to_player * dy_to_player) || 1;
                    const desiredX = tgPos.x + (dx_to_player / len) * this.FIXED_DIST;
                    const desiredY = tgPos.y + (dy_to_player / len) * this.FIXED_DIST;
                    const dx_move = desiredX - myPos.x;
                    const dy_move = desiredY - myPos.y;
                    this._pressForVector(ModuleHandler, dx_move, dy_move);
                    return;
                }
            }

            // --- stage -0.7: ВЫБРАТЬ ЛУК ---
            if (this._stage === -0.7) {
                ModuleHandler.whichWeapon(1);
                this._stage = -0.5;
                this._waitUntil = now + this.MIN_ACTION_DELAY;
                this._log("Selected bow (slot 1).");
                return;
            }

            // --- stage -0.5: ставим платформы ---
            if (this._stage === -0.5) {
                // ... (логика платформ) ...
                this._stage = 0;
                this._waitUntil = now + this.PLATFORM_POSTPLACE_WAIT_MS;
                return;
            }

            // --- stage 0: Выстрел из Лук + НАДЕТЬ ШАПКУ ---
            if (this._stage === 0) {
                try {
                    this._prevHat = myPlayer.hatID;
                    try {
                        const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
                        if (!(ab && ab.breakingTrap)) {
                            ModuleHandler.equip?.(0, this.TURRET_HAT);
                        }
                    } catch (e) {}
                } catch(e) {}

                try { ModuleHandler.attack(angle); ModuleHandler.stopAttack(); } catch(e){}

                this._stage = 1;
                // Ждем минимальное время для перехода к апгрейду
                this._waitUntil = now + this.MIN_ACTION_DELAY;
                this._log(`Bow fired. Proceeding to upgrade in ${this.MIN_ACTION_DELAY}ms.`);
                return;
            }

            // --- stage 1: Апгрейд до Арбалета (Cross ID 12) ---
            if (this._stage === 1) {
                ModuleHandler.upgradeItem(this.CROSS_ID);
                this._wantedAfterUpgrade = this.CROSS_ID;
                this._stage = 2;
                // Ждем минимальное время, чтобы дать игре обновить инвентарь
                this._waitUntil = now + this.UPGRADE_CHECK_DELAY;
                this._log(`Sent upgrade to CROSSBOW (${this.CROSS_ID}).`);
            }

            // --- stage 2: Проверка Арбалета + Выстрел ---
            if (this._stage === 2) {
                const cur = myPlayer.getItemByType?.(1);
                this._log(`Check Crossbow: Wanted=${this._wantedAfterUpgrade}, Current=${cur}`);

                if (cur === this._wantedAfterUpgrade) {
                    ModuleHandler.whichWeapon(1);
                    ModuleHandler.attack(angle);
                    ModuleHandler.stopAttack();

                    this._stage = 3;
                    // Выстрел сделан, теперь сразу отправляем команду апгрейда
                    this._waitUntil = now + this.MIN_ACTION_DELAY;
                    this._chat(`[BowInsta] cross fired.`);
                    this._log(`Crossbow SUCCESS. Proceeding to Musket upgrade.`);
                } else if (now > fireAt + this.GIVEUP_TIMEOUT_MS) {
                    this._chat("[BowInsta] FAIL: Crossbow upgrade timeout. Aborting.");
                    this._log(`FAIL: Crossbow upgrade timeout. Current weapon is ${cur}.`);
                    this._activeFireAt = null;
                    this._stage = -1;
                    return;
                } else {
                    // Ждем обновления инвентаря
                    this._waitUntil = now + this.UPGRADE_CHECK_DELAY;
                    this._log(`Still waiting for Crossbow upgrade...`);
                }
                return;
            }

            // --- stage 3: Апгрейд до Мушкета (Musket ID 15) ---
            if (this._stage === 3) {
                ModuleHandler.upgradeItem(this.MUSKET_ID);
                this._wantedAfterUpgrade = this.MUSKET_ID;
                this._stage = 4;
                this._waitUntil = now + this.UPGRADE_CHECK_DELAY;
                this._log(`Sent upgrade to MUSKET (${this.MUSKET_ID}).`);
            }

            // --- stage 4: Проверка Мушкета + Выстрел + Финализация ---
            if (this._stage === 4) {
                const cur = myPlayer.getItemByType?.(1);
                this._log(`Check Musket: Wanted=${this._wantedAfterUpgrade}, Current=${cur}`);

                if (cur === this._wantedAfterUpgrade) {
                    ModuleHandler.whichWeapon(1);
                    ModuleHandler.attack(angle);
                    ModuleHandler.stopAttack();
                    this._chat("[BowInsta] musket fired (done)");
                    this._log("Musket SUCCESS. Combo finished.");
                } else if (now > fireAt + this.GIVEUP_TIMEOUT_MS) {
                    this._chat("[BowInsta] FAIL: Musket upgrade timeout. Finishing.");
                    this._log(`FAIL: Musket upgrade timeout. Current weapon is ${cur}.`);
                } else {
                    this._waitUntil = now + this.UPGRADE_CHECK_DELAY;
                    this._log(`Still waiting for Musket upgrade...`);
                    return;
                }

                // Очистка и сброс: СНЯТЬ ШАПКУ
                try {
                    if (typeof this._prevHat !== "undefined" && this._prevHat !== null) ModuleHandler.equip(0,this._prevHat);
                } catch(e){}

                // Успешное завершение: сброс состояния
                this._activeFireAt = null;
                this._stage = -1;
            }
        } catch(err){
            this._chat("[BowInsta] Fatal error. Aborting.");
            this._activeFireAt=null;
            this._stage=-1;
            this._waitUntil = 0;
            console.error("BowInsta postTick fatal error:", err);
        }
    }
}
const modules_BowInsta = BowInsta_Final;
class OneTick {
    name = "oneTick";

    // IDs
    BULL_HAT = 7;
    TURRET_HAT = 53;
    SOLID_HAT = 6;

    // Constants
    MELEE_RANGE_FACTOR = 1.2;    // Дистанция
    PROJECTILE_SPEED = 1.5;      // СКОРОСТЬ СНАРЯДА ТУРЕТКИ (пикселей/мс)
    FIXED_MOVE_DIST = 175;       // Будет обновлено в postTick
    DIST_TOLERANCE = 3;
    MIN_ACTION_DELAY = 0;        // Минимальная задержка между командами
    HAT_SWITCH_DELAY_MS = 10;    // КД шапки - ОСТАВЛЯЕМ 30 мс
    COOLDOWN_MS = 350;           // Кульдаун между успешными комбо

    // Новые константы для циклической смены
    POLLING_INTERVAL = 0;        // Интервал опроса для смены шапки (мс)
    MAX_SWITCH_TIME = 250;       // Максимальное время ожидания смены Bull Hat

    // State
    active = false;
    lastCycle = 0;
    prevHat = null;
    _pending = false;
    _target = null;
    _stage = -1; // -1:Move, 0:Fire
    _switchStartTime = 0; // Время начала попытки смены Bull Hat
    _comboStartTime = 0; // Для общих логов

    // Движение
    _keys = { W: false, A: false, S: false, D: false };
    DEADZONE = 10; // Зона нечувствительности для движения

    constructor(client) {
        this.client = client;
        if (typeof window !== 'undefined') window.oneTick = this;
    }

    // --- Вспомогательные функции ---

    _dist(a, b) {
        const dx = a.x - b.x, dy = a.y - b.y;
        return Math.sqrt(dx * dx + dy * dy);
    }

    _setKeyDown(ModuleHandler, code) {
        if (!this._keys[code]) { ModuleHandler.handleKeydown?.({ code: "Key" + code }); this._keys[code] = true; }
    }

    _setKeyUp(ModuleHandler, code) {
        if (this._keys[code]) { ModuleHandler.handleKeyup?.({ code: "Key" + code }); this._keys[code] = false; }
    }

    _stopAllKeys(ModuleHandler) {
        ["W", "A", "S", "D"].forEach(k => this._setKeyUp(ModuleHandler, k));
        this._keys = { W: false, A: false, S: false, D: false };
    }

    _pressForVector(ModuleHandler, dx, dy) {
        const pW = (dy < -this.DEADZONE), pS = (dy > this.DEADZONE), pD = (dx > this.DEADZONE), pA = (dx < -this.DEADZONE);
        [["W", pW], ["S", pS], ["D", pD], ["A", pA]].forEach(([k, p]) => {
            if (p) this._setKeyDown(ModuleHandler, k);
            else this._setKeyUp(ModuleHandler, k);
        });
    }

    _calculateDelay(dist) {
        // Время полета снаряда до цели: T_hit = dist / V_projectile
        const timeToHit = dist / this.PROJECTILE_SPEED;

        // Фиксированное минимальное время на Turret Equip -> Bull Equip -> Fire -> Strike:
        // HAT_SWITCH_DELAY_MS (30 мс) + минимальное время на смену и два удара (0-5 мс)
        const timeFixedCombo = this.HAT_SWITCH_DELAY_MS + 0; // Условно 5 мс на действия

        // Пауза перед Bull Equip должна синхронизировать Bull Melee с Turret Projectile Hit.
        const P_DELAY_MS = timeToHit - timeFixedCombo;

        return Math.max(0, P_DELAY_MS);
    }

    // --- Основная логика ---

    toggle() {
        this.active = !this.active;
        console.log("[OneTick] toggled:", this.active ? "ON" : "OFF");
        try {
            this.client.SocketManager?.chat(`[OneTick] ${this.active ? "ON" : "OFF"}`);
            if (typeof setOwnerCommanderField === "function") {
                setOwnerCommanderField('all', 'oneTick', { active: this.active });
            }
        } catch(e){}
        if (!this.active) this._cleanup();
    }

    postTick() {
        try {
            if (!this.active) return;
            const myPlayer = this.client.myPlayer;
            const mh = this.client.ModuleHandler;
            if (!myPlayer || !myPlayer.inGame || !mh) return;

            const enemy = this.client.EnemyManager?.nearestEnemy;
            if (!enemy) {
                this._target = null;
                this._stage = -1;
                this._stopAllKeys(mh);
                return;
            }

            const mePos = myPlayer.position.current;
            const ePos = enemy.position.current;
            const dist = this._dist(mePos, ePos);

            // Определяем радиус основного оружия
            const primaryID = myPlayer.getItemByType?.(0);
            const weapon = Weapons[primaryID];
            const primaryRange = weapon && typeof weapon.range === "number" ? weapon.range : 175;

            // Устанавливаем целевую дистанцию
            this.FIXED_MOVE_DIST = primaryRange * this.MELEE_RANGE_FACTOR;
            this._target = enemy;

            // Проверка на Solid Hat
            if (enemy.hatID === this.SOLID_HAT) {
                this._stage = -1;
                this._stopAllKeys(mh);
                return;
            }

            // ------------------------------------
            // СТАДИЯ -1: ДВИЖЕНИЕ К ЦЕЛИ
            // ------------------------------------
            if (this._stage === -1) {
                if (Math.abs(dist - this.FIXED_MOVE_DIST) <= this.DIST_TOLERANCE) {
                    this._stopAllKeys(mh);
                    this._stage = 0; // Переход к комбо
                } else {
                    const dx_to_player = mePos.x - ePos.x;
                    const dy_to_player = mePos.y - ePos.y;
                    const len = Math.hypot(dx_to_player, dy_to_player) || 1;

                    const desiredX = ePos.x + (dx_to_player / len) * this.FIXED_MOVE_DIST;
                    const desiredY = ePos.y + (dy_to_player / len) * this.FIXED_MOVE_DIST;

                    const dx_move = desiredX - mePos.x;
                    const dy_move = desiredY - mePos.y;

                    this._pressForVector(mh, dx_move, dy_move);
                    return; // Ждем, пока подойдем
                }
            }

            // ------------------------------------
            // СТАДИЯ 0: ПРОВЕРКИ И ЗАПУСК КОМБО
            // ------------------------------------
            if (this._stage === 0) {
                if (Date.now() - this.lastCycle <= this.COOLDOWN_MS) return;

                const staticReloading = mh.staticModules?.reloading;
                let primaryReady = true;
                let turretReady = true;

                if (staticReloading && typeof staticReloading.isReloaded === "function") {
                    try {
                        primaryReady = !!staticReloading.isReloaded("primary");
                        turretReady = !!staticReloading.isReloaded("turret");
                    } catch (e) { /* ignore */ }
                }

                if (!primaryReady || !turretReady) return; // Не готовы

                // Все готово - запускаем комбо
                if (!this._pending) this._executeCombo(enemy, dist);
            }

        } catch (e) {
            console.error("OneTick.postTick err:", e);
        }
    }

    _attemptBullEquipAndStrike(angle, enemyPos, mh, myPlayer) {
        if (!this._pending) return; // Комбо отменено

        if (myPlayer.hatID === this.BULL_HAT) {
            // ✅ Шапка Bull Hat надета!
            const equipTime = Date.now() - this._switchStartTime;
            console.log(`[OneTick] 🐂 (BULL) Equipped! Time since attempt start: ${equipTime}ms. Total combo time: ${Date.now() - this._comboStartTime}ms.`);

            // 4. Turret Fire И Bull Melee Strike
            // Отправляем команды синхронно, без задержек.

            // 4.1. Turret Fire
            console.log(`[OneTick] 🎯 (TURRET) Firing projectile (SYNC).`);
            try {
                mh.updateAngle(angle, true);
                mh.attack(angle);
                mh.stopAttack();
            } catch(e) {}

            // 4.2. Bull Melee Strike (Сразу после Turret Fire)
            console.log(`[OneTick] 💥 (MELEE) Performing Bull Hat Melee Strike (SYNC).`);
            try {
                mh.updateAngle(angle, true);
                mh.attack(angle);
                mh.stopAttack();
            } catch(e) {}

            // 5. Завершение комбо
            // Небольшая асинхронная задержка необходима для отправки всех предыдущих команд в сеть
            setTimeout(() => {
                this._finishCombo();
            }, 60);

            return;
        }

        if (Date.now() - this._switchStartTime > this.MAX_SWITCH_TIME) {
            console.warn(`[OneTick] 🛑 (BULL) Failed to equip Bull Hat within ${this.MAX_SWITCH_TIME}ms. Aborting combo.`);
            this._finishCombo(true); // Принудительное завершение
            return;
        }

        // Постоянно пытаемся надеть Bull Hat
        try {
            mh.equip(0, this.BULL_HAT);
        } catch(e) {}

        // Рекурсивный вызов для продолжения опроса
        setTimeout(() => {
            this._attemptBullEquipAndStrike(angle, enemyPos, mh, myPlayer);
        }, this.POLLING_INTERVAL); // POLLING_INTERVAL = 0
    }

    _finishCombo(error = false) {
        const mh = this.client.ModuleHandler;
        try {
            // Вернуть старую шапку
            if (typeof this.prevHat === "number") mh.equip(0, this.prevHat);

            // Вернуть старое оружие (если оно было не в слоте 0)
            if (typeof this.prevWeapon === "number" && this.prevWeapon !== 0) {
                mh.whichWeapon(this.prevWeapon);
            }
        } catch(e){}

        this.lastCycle = Date.now();
        this._pending = false;
        this._stage = -1; // Возвращаемся к движению
        this._stopAllKeys(mh);
        const finalTime = Date.now() - this._comboStartTime;
        this.client.SocketManager?.chat(`[OneTick] 💥 COMBO DONE ${error ? '(Error)' : ''} (${finalTime}ms)`);
        console.log(`[OneTick] 🔄 Combo sequence finished in ${finalTime}ms.`);
    }

    _executeCombo(enemy, dist) {
        this._pending = true;
        this._comboStartTime = Date.now();
        const mh = this.client.ModuleHandler;
        const myPlayer = this.client.myPlayer;
        if (!mh || !myPlayer) { this._pending = false; return; }

        this.prevHat = myPlayer.hatID;
        this.prevWeapon = myPlayer.weaponIndex || 0;
        const angle = Math.atan2(enemy.position.current.y - myPlayer.position.current.y, enemy.position.current.x - myPlayer.position.current.x);

        const P_DELAY_MS = this._calculateDelay(dist); // Дополнительная динамическая пауза для синхронизации

        console.log(`[OneTick] Combo initiated. Dist: ${Math.round(dist)}. Dynamic Delay: ${P_DELAY_MS}ms. Total Wait before Bull Equip Attempt: ${this.HAT_SWITCH_DELAY_MS + P_DELAY_MS}ms`);

        // 1. Выбрать основное оружие (слот 0)
        try { mh.whichWeapon(0); } catch(e){}

        // 2. Turret Hat Equip
        console.log(`[OneTick] 🛡️ (TURRET) Equipping Turret Hat.`);
        try { mh.equip(0, this.TURRET_HAT); } catch(e){}

        // 3. Планируем НАЧАЛО циклического опроса для смены Bull Hat
        const totalBullWait = this.HAT_SWITCH_DELAY_MS + P_DELAY_MS;
        console.log(`[OneTick] ⏳ Waiting ${totalBullWait}ms before attempting Bull Hat equip.`);

        setTimeout(() => {
            console.log(`[OneTick] 🐂 (BULL) Starting Bull Hat equip attempt (polling).`);
            this._switchStartTime = Date.now();
            this._attemptBullEquipAndStrike(angle, enemy.position.current, mh, myPlayer);
        }, totalBullWait); // Ждем минимального КД (30 мс) + динамической задержки
    }

    drawOverlay(ctx) {
        try {
            if (!this.active || !this._target) return;
            const p = this._target.position.current;
            const myPos = this.client.myPlayer?.position.current;
            if (!p || !myPos) return;

            // 1. Рисуем идеальный круг для старта комбо
            rendering_Renderer.circle(ctx, p.x, p.y, this.FIXED_MOVE_DIST, "#ffc107", 3, 0.6);

            // 2. Рисуем радиус досягаемости вашего основного оружия
            const primaryID = this.client.myPlayer.getItemByType?.(0);
            const weapon = Weapons[primaryID];
            const range = weapon && typeof weapon.range === "number" ? weapon.range : 175;

            // Визуализация дальности оружия (например, зелёный)
            rendering_Renderer.circle(ctx, myPos.x, myPos.y, range, "#28a745", 3, 0.3);

            // 3. Если мы в фазе движения, подсвечиваем цель
            if (this._stage === -1) {
                 rendering_Renderer.circle(ctx, p.x, p.y, this.DIST_TOLERANCE, "#007bff", 3, 0.8);
            }

        } catch(e){}
    }

    _cleanup() {
        try {
            if (typeof this.prevHat === "number") this.client.ModuleHandler.equip(0, this.prevHat);
            this._stopAllKeys(this.client.ModuleHandler);
        } catch(e){}
        this.prevHat = null;
        this._target = null;
        this._pending = false;
        this._stage = -1;
    }
}
const modules_OneTick = OneTick;
class BowspamPredict {
    name = "bowspamPredict";
    client;
    _active = false;

    // --- НАСТРОЙКИ ---
    USE_SAMURAI_HAT = true;
    SAMURAI_HAT_ID = 20;
    FOREST_HAT_ID = 1; // ⭐ Новая Лесная шляпа (ID 1)

    // Набор ID дальнобойного оружия: (9-Лук, 12-Арбалет, 13-Тройной, 15-Мушкет)
    RANGED_WEAPON_IDS = new Set([9, 12, 13, 15]);

    // ⭐ Хранилище для оригинальных шапок ботов. (mp.id -> originalHatID)
    _botOriginalHats = new Map();

    constructor(client) {
        this.client = client;
    }

    // --- СТАТИЧЕСКИЕ ХЕЛПЕРЫ ---

    static isValidTarget(target) {
        return target && target.position && target.position.current && !target.isDead && !target.dead;
    }

    static stopAttack(cm) {
        if (cm && cm.stopAttack) {
            cm.stopAttack();
        }
    }

    // Предикт позиции цели
    _predictTargetPosition(target, timeMs) {
        if (!target || !target.position || !target.position.current) return null;

        try {
            if (typeof target.predictItems === 'function') target.predictItems();
            if (typeof target.predictWeapons === 'function') target.predictWeapons();
        } catch (e) {}

        const cur = target.position.current;
        const vel = (target.velocity || { x: 0, y: 0 });
        const timeS = timeMs / 1000;
        const startPos = target.position.future || cur;

        return {
            x: startPos.x + (vel.x || 0) * timeS,
            y: startPos.y + (vel.y || 0) * timeS
        };
    }

    // Определяет время полета снаряда
    _calculatePredictTime(mp, target) {
        // Логика выбора оружия для расчета времени (должна соответствовать _prepareForShot)
        const currentWeaponID = (mp.weaponSlot === 0) ? mp.weapon?.primary : mp.weapon?.secondary;
        const weaponID = this.RANGED_WEAPON_IDS.has(currentWeaponID) ? currentWeaponID : null;

        if (!weaponID || !Weapons || !Projectiles) return 20;

        try {
            const weaponObj = Weapons.find(w => w.id === weaponID);
            const projectileID = weaponObj?.projectile;

            if (projectileID !== undefined && Projectiles[projectileID]) {
                const projData = Projectiles[projectileID];
                const speedMult = weaponObj?.spdMultProj || 1;
                const projectileSpeed = projData.speed * speedMult;

                if (projectileSpeed > 0 && target.distance) {
                    return (target.distance / projectileSpeed) * 1000;
                }
            }
        } catch (e) {}

        return 20;
    }

    // Логика переключения оружия (Предкит)
    _prepareForShot(cm, mp) {
        const RANGED = this.RANGED_WEAPON_IDS;
        const primaryId = mp.weapon?.primary;
        const secondaryId = mp.weapon?.secondary;

        if (typeof primaryId === 'number' && RANGED.has(primaryId) && cm.weapon !== 0) {
            try { cm.whichWeapon(0); mp.weaponSlot = 0; return true; } catch(e){}
        }
        else if (typeof secondaryId === 'number' && RANGED.has(secondaryId) && cm.weapon !== 1 && !RANGED.has(primaryId)) {
            try { cm.whichWeapon(1); mp.weaponSlot = 1; return true; } catch(e){}
        }
        else if ((cm.weapon === 0 && RANGED.has(primaryId)) || (cm.weapon === 1 && RANGED.has(secondaryId))) {
            // Оружие уже выбрано
            mp.weaponSlot = cm.weapon;
            return true;
        }

        return false;
    }

    // --- ЛОГИКА ШАПОК ---

    // ⭐ Определяет целевую шапку по текущему выбранному оружию
    _getTargetHatID(mp) {
        if (!this.USE_SAMURAI_HAT) return null;

        // Определяем ID оружия, которое выбрал _prepareForShot
        const currentWeaponID = (mp.weaponSlot === 0) ? mp.weapon?.primary : mp.weapon?.secondary;

        // Мушкет (ID 15) -> Самурайская шляпа (ID 20)
        if (currentWeaponID === 15) {
            return this.SAMURAI_HAT_ID;
        }
        // Лук (9), Арбалет (12), Тройной выстрел (13) -> Лесная шляпа (ID 1)
        else if ([9, 12, 13].includes(currentWeaponID)) {
            return this.FOREST_HAT_ID;
        }

        return null;
    }

    // ⭐ Надевает/поддерживает шапку, сохраняя оригинал
    _manageHat(cm, mp) {
        const targetHatId = this._getTargetHatID(mp);
        if (targetHatId === null) return;

        const botId = mp.id;
        const prevHatId = mp.hatID;

        // 1. Сохраняем оригинальную шапку, если еще не сохранили
        if (!this._botOriginalHats.has(botId)) {
            this._botOriginalHats.set(botId, prevHatId);
        }

        // 2. Экипируем целевую шапку, если она еще не надета
        if (prevHatId !== targetHatId) {
            try {
                cm.equip && cm.equip(0, targetHatId); // 0 = Hat slot
            } catch (e) {}
        }
    }

    // ⭐ Восстанавливает шапку при деактивации модуля
    _restoreOriginalHat(cm, mp) {
        const botId = mp.id;
        if (this._botOriginalHats.has(botId)) {
            const originalHatId = this._botOriginalHats.get(botId);

            // Восстанавливаем, если текущая шапка – одна из тех, что мы надевали
            if (mp.hatID === this.SAMURAI_HAT_ID || mp.hatID === this.FOREST_HAT_ID) {
                try {
                    cm.equip && cm.equip(0, originalHatId);
                } catch (e) {}
            }
            this._botOriginalHats.delete(botId);
        }
    }

    // Выполнение логики атаки для одной сущности (только боты)
    executeAttack(cm, mp, target) {
        // 1. ПРЕДКИТ: Выбор дальнобойного оружия
        const hasRanged = this._prepareForShot(cm, mp);

        if (!hasRanged) {
            // Если нет дальнобойного оружия, мы ничего не делаем, включая шапку
            return;
        }

        // 2. УПРАВЛЕНИЕ ШАПКОЙ (если оружие найдено)
        this._manageHat(cm, mp);

        // 3. РАСЧЕТ ВРЕМЕНИ И ПОЗИЦИИ ПРЕДИКТА
        const timeMs = this._calculatePredictTime(mp, target);
        const aimPos = this._predictTargetPosition(target, timeMs);

        // Если предикт не удался, используем текущую позицию цели
        const botPos = mp.position.future || mp.position.current;
        let angle;

        if (aimPos && typeof aimPos.x === 'number') {
            angle = Math.atan2(aimPos.y - botPos.y, aimPos.x - botPos.x);
        } else {
            const targetPos = target.position.current;
            angle = botPos.angle(targetPos);
        }

        // 4. НАВОДКА и ПОСТОЯННАЯ АТАКА
        cm.updateAngle && cm.updateAngle(angle, true);
        cm.attack && cm.attack(angle);
    }

    // Применяет остановку атаки ко всем сущностям (для владельца)
    applyStopToAll(ModuleHandler) {
        BowspamPredict.stopAttack(ModuleHandler); // Владелец
        try {
            if (typeof myClient !== "undefined" && myClient.clients) {
                for (const client of myClient.clients) {
                    if (client.isOwner) continue;
                    const cm = client.ModuleHandler;
                    if (cm) BowspamPredict.stopAttack(cm);
                }
            }
        } catch (e) { console.error(`[BowspamPredict:Bots] Error during applyStopToAll:`, e); }
    }

    // --- ОСНОВНАЯ ЛОГИКА КАЖДОГО ТИКА ---

    postTick() {
        const { ModuleHandler, myPlayer, EnemyManager } = this.client;
        const ownerCommander = getOwnerCommanderFor(this.client);

        // 1. ПРОВЕРКА АКТИВАЦИИ
        const config = ownerCommander && ownerCommander.bowspam;
        const nowOn = !!(config && config.active);

        // Ищем ближайшую цель
        const target = EnemyManager.nearestEnemy;
        const targetIsValid = BowspamPredict.isValidTarget(target);

        // --- A. ЛОГИКА ВЫКЛЮЧЕНИЯ/ОСТАНОВКИ ---
        if (!nowOn || !targetIsValid) {
            if (this._active) {
                this._active = false;
                // Остановка атаки для всех
                this.applyStopToAll(ModuleHandler);

                // ⭐ ВОССТАНОВЛЕНИЕ ШАПОК И СБРОС ФЛАГА ДЛЯ ВСЕХ БОТОВ
                try {
                    if (typeof myClient !== "undefined" && myClient.clients) {
                        for (const client of myClient.clients) {
                            if (client.isOwner) continue;
                            const cm = client.ModuleHandler;
                            const mp = client.myPlayer;
                            if (cm && mp) {
                                this._restoreOriginalHat(cm, mp); // Восстановить шапку
                                cm._bowspamActive = false;       // Сбросить флаг паузы
                            }
                        }
                    }
                } catch (e) {}
                this._botOriginalHats.clear(); // Очистить карту
            }
            return;
        }

        // --- B. МОДУЛЬ АКТИВЕН И ЦЕЛЬ НАЙДЕНА ---
        this._active = true;

        // --- C. ОБРАБОТКА СУЩНОСТЕЙ (ТОЛЬКО Боты) ---
        const entities = [];

        try {
            if (typeof myClient !== "undefined" && myClient.clients) {
                for (const client of myClient.clients) {
                    if (client.isOwner) continue;
                    const cm = client.ModuleHandler;
                    const mp = client.myPlayer;
                    if (cm && mp) entities.push({ cm, mp });
                }
            }
        } catch (e) {}

        if (entities.length === 0) return;

        for (const { cm, mp } of entities) {
            // ⭐ УСТАНОВКА ФЛАГА ПАУЗЫ
            cm._bowspamActive = true;

            // Выполнение логики наведения, стрельбы и шапок ТОЛЬКО для ботов
            this.executeAttack(cm, mp, target);
        }
    }
}

const modules_Bowspam = BowspamPredict;
    class ClanJoiner {
        name="clanJoiner";
        client;
        joinCount=0;
        constructor(client) {
            this.client = client;
        }
        postTick() {
            const {myPlayer, SocketManager} = this.client;
            const ownerClan = myClient.myPlayer.clanName;
            const myClan = myPlayer.clanName;
            if (null === ownerClan || myClan === ownerClan) {
                return;
            }
            if (0 === this.joinCount) {
                if (null !== myClan) {
                    SocketManager.leaveClan();
                } else {
                    myClient.pendingJoins.add(myPlayer.id);
                    SocketManager.joinClan(ownerClan);
                }
            }
            this.joinCount = (this.joinCount + 1) % 7;
        }
    }
    const bot_modules_ClanJoiner = ClanJoiner;
    // ======= new: bot_modules_Commander =======
class Commander {
    name = "commander";
    client;
    // состояние, которое владелец изменяет через чат
    mode = null;            // null | "follow" | "stay" | "circle" | "farm"
    radius = 175;          // для circle (в пикселях)
    center = "player";     // "player" (по-умолчанию) — можно расширить до "cursor"
    offset = 0;            // общая фаза (поворот всей формации)
    timestamp = 0;         // для отладки/логики
    constructor(client) {
        this.client = client;
    }
    setMode(mode, params = {}) {
        this.mode = mode;
        if ("radius" in params) {
            // безопасный clamp радиуса
            let r = Number(params.radius) || this.radius;
            r = Math.max(40, Math.min(1200, r));
            this.radius = r;
        }
        if ("center" in params) this.center = params.center;
        if ("offset" in params) this.offset = Number(params.offset) || 0;
        this.timestamp = Date.now();
    }
    // owner может использовать postTick (например таймерные команды). Ботам тут обычно не нужно ничего.
    postTick() {
    }
}
const bot_modules_Commander = Commander;
// === Bot Commander Helpers ===
function getOwnerCommanderRoot() {
  myClient.ModuleHandler = myClient.ModuleHandler || {};
  myClient.ModuleHandler.ownerCommander = myClient.ModuleHandler.ownerCommander || { targets:{} };
  return myClient.ModuleHandler.ownerCommander;
}

function ensureTargetObj(root, tid) {
  root.targets = root.targets || {};
  const key = String(tid);
  if (!root.targets[key]) root.targets[key] = {};
  return root.targets[key];
}

function setOwnerCommanderField(tid, key, val) {
  const root = getOwnerCommanderRoot();
  const oc = ensureTargetObj(root, tid);
  if (val === null) delete oc[key];
  else oc[key] = val;
  oc.lastUpdated = Date.now();
  return oc;
}

function readOwnerCommanderField(tid, key) {
  const root = getOwnerCommanderRoot();
  const oc = ensureTargetObj(root, tid);
  return oc[key];
}

// 🟢 Приоритет: последняя команда (global vs personal)
function getOwnerCommanderFor(client) {
  const root = getOwnerCommanderRoot();
  const id = client?.myPlayer?.id;
  const global = root.targets?.all || {};
  const personal = id != null ? (root.targets?.[String(id)] || {}) : {};

  if (!personal.lastUpdated && !global.lastUpdated) return {};

  // у кого lastUpdated свежее → тот и рулит
  if (personal.lastUpdated && (!global.lastUpdated || personal.lastUpdated > global.lastUpdated)) {
    return personal;
  }
  return global;
}
class Grinder {
    name = "grinder";
    client;

    targetPos = null;
    targetTimeout = 0;

    static MAP_SIZE = 14400;
    static RANDOM_WALK_INTERVAL = 10000;
    static DISTANCE_THRESHOLD = 100;
    static STOP_DISTANCE = 50;
    static SHARED_SEARCH_RADIUS = 300;

    constructor(client) {
        this.client = client;
    }

    generateRandomPos() {
        const mapWidth = Grinder.MAP_SIZE;
        const mapHeight = Grinder.MAP_SIZE;
        const mapCenter = new Vector_Vector(mapWidth / 2, mapHeight / 2);
        const range = mapWidth * 0.4;
        const randomX = mapCenter.x + (Math.random() - 0.5) * range * 2;
        const randomY = mapCenter.y + (Math.random() - 0.5) * range * 2;
        const clampedX = Math.min(mapWidth, Math.max(0, randomX));
        const clampedY = Math.min(mapHeight, Math.max(0, randomY));
        return new Vector_Vector(clampedX, clampedY);
    }

    postTick() {
        const { myPlayer, ModuleHandler, ObjectManager, SocketManager } = this.client;
        if (this.client.isOwner || !myPlayer?.id) return;

        // ЭФФЕКТИВНАЯ команда.
        const ownerCommander = getOwnerCommanderFor(this.client);

        // ⭐ ИСПРАВЛЕНИЕ: Получаем доступ к TempData
        const tempData = ModuleHandler?.staticModules?.tempData;

        // Определяем, активен ли режим Grinder
        const isGrinderActive = ownerCommander && ownerCommander.mode === "grinder";

        // ⭐ ИСПРАВЛЕНИЕ: Управляем флагом синхронизации оружия в TempData
        // Если Grinder активен (isGrinderActive === true), блокируем синхронизацию (disableWeaponSync = true).
        // Иначе (режим follow, etc.), синхронизация разрешена (disableWeaponSync = false).
        if (tempData && typeof tempData.setWeaponSyncStatus === 'function') {
            tempData.setWeaponSyncStatus(isGrinderActive);
        }

        // Эта проверка необходима. Если эффективный режим не 'grinder', выходим.
        if (!isGrinderActive) {
            // console.log(`[Grinder:LOG:DEBUG] Бот ${myPlayer.id} не в режиме 'grinder'. Выход.`);
            return;
        }

        ownerCommander.grinder = ownerCommander.grinder || {};
        const grinderData = ownerCommander.grinder;

        const targetName = grinderData.target || "food";
        const targetLimit = grinderData.threshold ? Number(grinderData.threshold) : Infinity;

        const typeMap = { wood: 0, food: 1, stone: 2, gold: 3 };
        const targetResType = typeMap[targetName];
        if (targetResType === undefined) return;

        // =========================================================
        // === ЛОГИКА: ПРОВЕРКА ЛИМИТА РЕСУРСА (И Самовосстановление) ===
        // =========================================================
        const currentResCount = myPlayer.resources?.[targetName] || 0;
        const botId = myPlayer.id;

        if (currentResCount >= targetLimit) {
            const personalMode = readOwnerCommanderField(botId, 'mode');

            if (personalMode !== "follow") {
                // СЛУЧАЙ 1: Лимит достигнут впервые ИЛИ личный режим был сброшен.
                SocketManager.move(null);

                // Устанавливаем личный режим "follow" с новой меткой времени.
                setOwnerCommanderField(botId, 'mode', 'follow');
                setOwnerCommanderField(botId, 'grinder', null);

                console.log(`[Grinder:LOG:SUCCESS] ✅ БОТ ${botId} (${myPlayer.nickname}) достиг лимита (${targetName}:${currentResCount} >= ${targetLimit}). Активирован ЛИЧНЫЙ режим 'follow'.`);
            } else {
                // СЛУЧАЙ 2: Лимит превышен, личный режим 'follow' установлен,
                // НО ГЛОБАЛЬНАЯ команда ('grinder') является более свежей и перекрыла его.
                // Решение: Переустанавливаем личный режим с новой меткой времени.

                SocketManager.move(null); // Останавливаем любое движение от Grinder перед выходом.
                setOwnerCommanderField(botId, 'mode', 'follow'); // Обновляем timestamp

                console.log(`[Grinder:LOG:REASSERT] ⚠️ БОТ ${botId} (${myPlayer.nickname}) принудительно возвращен в 'follow' (глобальная команда была новее).`);
            }

            // Выход: Управление движением передается классу Movement, который в следующем тике
            // увидит личный 'follow' (с самым свежим timestamp) и начнет следование.
            return;
        }
        // =========================================================

        const pos = myPlayer.position.current;
        const searchRadius = 2000;
        const objects = ObjectManager.retrieveObjects(pos, searchRadius);

        let nearest = null;
        let nearestDist = Infinity;
        for (const obj of objects) {
            if (!obj?.position || typeof obj.type === "undefined") continue;
            if (obj.type === targetResType) {
                const d = pos.distance(obj.position.current);
                if (d < nearestDist) {
                    nearestDist = d;
                    nearest = obj;
                }
            }
        }

        // 1. --- ПРИОРИТЕТ 1: РЕСУРС НАЙДЕН (Сбор) ---
        if (nearest) {
            grinderData.sharedTargetPos = nearest.position.current;
            this.targetPos = null;

            // =========================================================
            // === ЛОГИКА: ВЫБОР ЛУЧШЕГО ОРУЖИЯ ДЛЯ ДОБЫЧИ (FIXED) ===
            // =========================================================
            let currentWeaponId = myPlayer.weapon?.current ?? myPlayer.weaponIndex;

            // ⭐ ИСПРАВЛЕНИЕ ReferenceError: вызываем метод из myPlayer
            const bestGatheringWeaponId = myPlayer.getBestGatheringWeaponId();

            if (currentWeaponId !== bestGatheringWeaponId) {
                // Переключаемся на лучшее оружие
                ModuleHandler.whichWeapon(bestGatheringWeaponId);
                currentWeaponId = bestGatheringWeaponId;
            }

            let weaponId = currentWeaponId;
            // =========================================================

            let baseRange = BreakMode.WEAPON_BREAK_DIST[weaponId];
            if (typeof baseRange !== "number") baseRange = 100;

            const weaponRange = baseRange + (myPlayer.hitScale || 0);

            let resourceHitbox = 0;
            switch (nearest.type) {
                case 0: resourceHitbox = 55; break;
                case 1: resourceHitbox = 25; break;
                case 2: resourceHitbox = 45; break;
                case 3: resourceHitbox = 39; break;
                default: resourceHitbox = 40;
            }

            const effectiveRange = weaponRange + resourceHitbox;
            const angle = pos.angle(nearest.position.current);
            ModuleHandler.cursorAngle = angle;

            if (nearestDist > effectiveRange) {
                SocketManager.move(angle);
            } else {
                SocketManager.move(null);
                ModuleHandler.attack(angle);
            }
            return;
        }

        // 2. --- ПРИОРИТЕТ 2: КООРДИНИРОВАННЫЙ ПОИСК ---
        if (grinderData.sharedTargetPos) {
            const sharedPos = grinderData.sharedTargetPos;
            const distToShared = pos.distance(sharedPos);
            const moveAngle = pos.angle(sharedPos);

            if (distToShared < Grinder.SHARED_SEARCH_RADIUS) {
                SocketManager.move(null);
                const now = Date.now();
                if (!this.targetTimeout || this.targetTimeout < now) {
                    this.targetTimeout = now + Grinder.RANDOM_WALK_INTERVAL;
                }
                return;
            }

            ModuleHandler.cursorAngle = moveAngle;
            SocketManager.move(moveAngle);

            this.targetPos = null;
            return;
        }

        // 3. --- ПРИОРИТЕТ 3: RANDOM MILL (Уникальная случайная цель) ---
        const now = Date.now();
        let targetPos = this.targetPos;
        let dist = targetPos ? pos.distance(targetPos) : Infinity;

        if (!this.targetTimeout) {
            this.targetTimeout = now + Grinder.RANDOM_WALK_INTERVAL;
        }

        let mustChooseNewTarget = false;
        if (!targetPos || dist < Grinder.DISTANCE_THRESHOLD || now > this.targetTimeout) {
            mustChooseNewTarget = true;
        }

        if (mustChooseNewTarget) {
            this.targetPos = this.generateRandomPos();
            this.targetTimeout = now + Grinder.RANDOM_WALK_INTERVAL;
            targetPos = this.targetPos;
            dist = pos.distance(targetPos);
            console.log(`[Grinder:LOG] БОТ ${botId} (${myPlayer.nickname}) ищет цель (RandomMill): X=${targetPos.x.toFixed(0)}, Y=${targetPos.y.toFixed(0)}.`);
        }

        if (targetPos) {
            const moveAngle = pos.angle(targetPos);
            ModuleHandler.cursorAngle = moveAngle;

            if (dist > Grinder.STOP_DISTANCE) {
                SocketManager.move(moveAngle);
            } else {
                SocketManager.move(null);
            }
        } else {
            SocketManager.move(null);
        }
    }
}
const bot_modules_Grinder = Grinder;
class Movement {
    name = "movement";
    client;
    stopped = true;

    _randomTarget = null;
    _randomTargetTimeout = 0;
    _lastObstacleTime = 0;
    _lastLogState = "";
    _lastMoveAngle = 0;

    // Для PlayerFollow (из старого кода)
    _waitStartTime = 0;

    // 🔥 НОВОЕ: Для режима squarespin (Пункт 1)
    _squareCornerIndex = undefined;

    // --- Данные Лидара для визуализации ---
    _lidarDebug = {
        rays: [],
        bestAngle: null,
        blocked: false
    };

    // 🔥 НАСТРОЙКИ ВИЗУАЛИЗАЦИИ
    static VISUALIZATION_ENABLED = false;

    // 🔥 НАСТРОЙКИ ЛИДАРА
    static LIDAR_ANGLE_STEP = 0.10; // ~6 градусов
    static LIDAR_RANGE = 230;
    static BOT_WIDTH = 40;
    static SCAN_CONE = 1.5;         // +/- 85 градусов
    static MAX_DEV_ANGLE = 0.8;     // Макс отклонение перед ломкой

    constructor(client) {
        this.client = client;
    }

    getSpeedMultiplier() {
        const { myPlayer } = this.client;
        let mult = 1.0;
        if (myPlayer && myPlayer.hatID && Hats[myPlayer.hatID]?.spdMult) mult *= Hats[myPlayer.hatID].spdMult;
        if (myPlayer && myPlayer.accessoryID && Accessories[myPlayer.accessoryID]?.spdMult) mult *= Accessories[myPlayer.accessoryID].spdMult;
        return mult;
    }

    calculateInertia() { return 8 * this.getSpeedMultiplier(); }

    getTargetPosition() {
        const { ModuleHandler } = myClient;
        return ModuleHandler.lockPosition ? ModuleHandler.lockedPosition : (myClient.myPlayer?.position?.current || new Vector_Vector(0, 0));
    }

    // Из старого кода: рандомная позиция по всей карте
    generateRandomPos() {
        const HARDCODED_MAP_SIZE = 14400;
        let mapWidth = HARDCODED_MAP_SIZE;
        let mapHeight = HARDCODED_MAP_SIZE;

        if (this.client.myPlayer?.map && this.client.myPlayer.map.width > 0) {
            mapWidth = this.client.myPlayer.map.width;
            mapHeight = this.client.myPlayer.map.height;
        }

        const randomX = Math.random() * mapWidth;
        const randomY = Math.random() * mapHeight;
        return new Vector_Vector(
            Math.min(mapWidth, Math.max(0, randomX)),
            Math.min(mapHeight, Math.max(0, randomY))
        );
    }

    // --- ВСПОМОГАТЕЛЬНАЯ ФУНКЦИЯ ДЛЯ КВАДРАТА (ИЗ СТАРОГО КОДА) ---
    _getSquareCorner(center, cornerIndex, radius) {
        let x = center.x;
        let y = center.y;
        switch (cornerIndex % 4) {
            case 0: x -= radius; y -= radius; break; // Верх-лево
            case 1: x += radius; y -= radius; break; // Верх-право
            case 2: x += radius; y += radius; break; // Низ-право
            case 3: x -= radius; y += radius; break; // Низ-лево
        }
        return new Vector_Vector(x, y);
    }

    // =========================================================
    // 🎯 ОПРЕДЕЛЕНИЕ ЦЕЛИ (Логика из старого класса)
    // =========================================================
    getDesiredPosition() {
        const ownerCommander = getOwnerCommanderFor(this.client);
        const mode = ownerCommander?.mode;
        const ownerPos = this.getTargetPosition();
        const botPos = this.client.myPlayer.position.current;

        if (!mode || mode === 'stay') return null;

        // 1. FOLLOW
        if (mode === 'follow') {
            return botPos.distance(ownerPos) > (window.BOT_FOLLOW_RADIUS || 175) ? ownerPos : null;
        }

        // 2. CURSOR FOLLOW
        if (mode === 'cursorFollow') {
            const cursor = cursorPosition();
            return botPos.distance(cursor) > 175 ? cursor : null;
        }

        // 3. CIRCLE (Статичный круг) - 🔥 ИЗМЕНЕНО для 1 и 4 ботов (Пункт 3)
        if (mode === 'circle') {
            const { clients } = myClient;
            const clientsArr = Array.from(clients);
            const idx = clientsArr.indexOf(this.client);
            if (idx === -1) return ownerPos;

            const total = clientsArr.length;
            const radius = ownerCommander.circle?.radius || 175;
            const offset = ownerCommander.offset || 0;
            let angleForSlot = 0;

            if (total === 1) {
                // 1 бот: ставим точку сбоку (0 радиан - вправо)
                angleForSlot = 0 + offset;
            } else if (total === 4) {
                // 4 бота: ставим между сторонних точек (т.е. на углах: PI/4, 3PI/4, ...)
                angleForSlot = (Math.PI / 2) * idx + Math.PI / 4 + offset;
            } else {
                // Для всех остальных случаев используем равномерное распределение
                angleForSlot = (2 * Math.PI / total) * idx + offset;
            }

            return ownerPos.direction(angleForSlot, radius);
        }

        // 4. CIRCLE SPIN (Кручение)
        if (mode === 'circlespin') {
            const clientsArr = Array.from(myClient.clients);
            const idx = clientsArr.indexOf(this.client);
            if (idx === -1) return ownerPos;

            const total = Math.max(1, clientsArr.length);
            const radius = ownerCommander.circle?.radius || 175;
            const baseAngle = (2 * Math.PI / total) * idx;
            const offset = ownerCommander.offset || 0; // Этот offset меняется в updateCommander, создавая вращение
            const lead = ownerCommander.lead || 0.06; // Упреждение

            return ownerPos.direction(baseAngle + offset + lead, radius);
        }

        // 5. SQUARE (Статичный квадрат)
        if (mode === 'square') {
            const clientsArr = Array.from(myClient.clients);
            const idx = clientsArr.indexOf(this.client);
            if (idx === -1) return ownerPos;

            const cornerIndex = idx % 4;
            const radius = ownerCommander.square?.radius || 175;

            // Расчет базы (угла)
            let pos = this._getSquareCorner(ownerPos, cornerIndex, radius);

            // Смещение для стека (если ботов больше 4)
            const stackOffset = Math.floor(idx / 4) * 15;
            if (stackOffset > 0) {
                // Сдвигаем немного, чтобы не стояли друг в друге
                pos.x += Math.cos(Math.PI/4 + cornerIndex * Math.PI/2) * stackOffset;
                pos.y += Math.sin(Math.PI/4 + cornerIndex * Math.PI/2) * stackOffset;
            }
            return pos;
        }

        // 6. SQUARE SPIN (Крутящийся квадрат) - 🔥 ИЗМЕНЕНО (Пункт 1)
        if (mode === 'squarespin') {
            const clientsArr = Array.from(myClient.clients);
            const idx = clientsArr.indexOf(this.client);
            if (idx === -1) return ownerPos;

            const radius = ownerCommander.square?.radius || 175;

            // Инициализация индекса, если еще не задан
            if (this._squareCornerIndex === undefined) {
                this._squareCornerIndex = idx % 4; // Начальный угол
            }

            // Текущая целевая точка
            const currentTarget = this._getSquareCorner(ownerPos, this._squareCornerIndex, radius);
            const distToCurrentTarget = botPos.distance(currentTarget);

            // Если бот достиг точки (или достаточно близко), переходим к следующему углу
            // Используем пороговое значение 50 для переключения
            if (distToCurrentTarget < 50) {
                this._squareCornerIndex = (this._squareCornerIndex + 1) % 4; // Следующий угол
                // Обновляем целевую точку для возврата (будет возвращена новая позиция)
                return this._getSquareCorner(ownerPos, this._squareCornerIndex, radius);
            }

            // Возвращаем текущую целевую точку
            return currentTarget;
        }

        // 7. RANDOM MILL (Обычный)
        if (mode === 'randommill') {
            const now = Date.now();
            if (!this._randomTarget || botPos.distance(this._randomTarget) < 100 || now > this._randomTargetTimeout) {
                this._randomTarget = this.generateRandomPos();
                this._randomTargetTimeout = now + 15000;
            }
            return this._randomTarget;
        }

        return null;
    }

    // =========================================================
    // 📡 LIDAR SYSTEM (Новая, умная логика)
    // =========================================================

    checkRayCollision(start, end, width) {
        const { ObjectManager, PlayerManager, myPlayer } = this.client;
        const dist = start.distance(end);
        const objects = ObjectManager.retrieveObjects(start, dist + 100);
        let firstHit = null;
        let minDist = Infinity;

        for (const obj of objects) {
            if (!obj.isDestroyable) continue;
            if (obj.ownerID === myPlayer.id) continue;
            if (PlayerManager.isEnemyByID(obj.ownerID, myPlayer) === false) continue;

            const isBuilding = [6, 7, 8, 9, 15].includes(obj.type);
            if (!isBuilding) continue;

            const objPos = obj.position.current;
            const objScale = (obj.scale || 45);
            const hitRadius = objScale + width;

            const distToLine = this.distToSegment(start, end, objPos);
            if (distToLine < hitRadius) {
                const d = start.distance(objPos);
                if (d < minDist && d < dist + objScale) {
                    minDist = d;
                    firstHit = obj;
                }
            }
        }
        return firstHit;
    }

    distToSegment(A, B, P) {
        const l2 = (A.x - B.x) ** 2 + (A.y - B.y) ** 2;
        if (l2 === 0) return P.distance(A);
        let t = ((P.x - A.x) * (B.x - A.x) + (P.y - A.y) * (B.y - A.y)) / l2;
        t = Math.max(0, Math.min(1, t));
        const projX = A.x + t * (B.x - A.x);
        const projY = A.y + t * (B.y - A.y);
        return Math.sqrt((P.x - projX) ** 2 + (P.y - projY) ** 2);
    }

    normalizeAngle(angle) {
        let result = angle % (2 * Math.PI);
        if (result > Math.PI) result -= 2 * Math.PI;
        else if (result <= -Math.PI) result += 2 * Math.PI;
        return result;
    }

    scanSurroundings(botPos, targetPos) {
        this._lidarDebug.rays = [];
        this._lidarDebug.bestAngle = null;

        const angleToTarget = botPos.angle(targetPos);
        let bestRayAngle = null;
        let maxPathScore = -Infinity;
        let directBlocker = null;

        const coneStart = -Movement.SCAN_CONE;
        const coneEnd = Movement.SCAN_CONE;

        let scanAngles = [];
        for (let offset = coneStart; offset <= coneEnd; offset += Movement.LIDAR_ANGLE_STEP) {
            scanAngles.push(angleToTarget + offset);
        }

        // Прямой луч для поиска препятствия
        const centerRayEnd = botPos.direction(angleToTarget, Movement.LIDAR_RANGE);
        const centerObstacle = this.checkRayCollision(botPos, centerRayEnd, Movement.BOT_WIDTH);

        if (centerObstacle) {
            directBlocker = centerObstacle;
            const obstaclePos = centerObstacle.position.current;
            const obstacleRadius = (centerObstacle.scale || 45) + Movement.BOT_WIDTH;
            const distToCenter = botPos.distance(obstaclePos);

            if (distToCenter > obstacleRadius) {
                const angleToObstacle = botPos.angle(obstaclePos);
                const tangentAngle = Math.asin(Math.min(1, obstacleRadius / distToCenter));
                scanAngles.push(this.normalizeAngle(angleToObstacle + tangentAngle + 0.2)); // + запас
                scanAngles.push(this.normalizeAngle(angleToObstacle - tangentAngle - 0.2)); // - запас
            }
        }
        scanAngles = Array.from(new Set(scanAngles));

        for (const scanAngle of scanAngles) {
            const rayEnd = botPos.direction(scanAngle, Movement.LIDAR_RANGE);
            const obstacle = this.checkRayCollision(botPos, rayEnd, Movement.BOT_WIDTH);

            let finalRayEnd = rayEnd;
            let distToObstacle = Movement.LIDAR_RANGE;

            if (obstacle) {
                distToObstacle = botPos.distance(obstacle.position.current) - (obstacle.scale || 45) - Movement.BOT_WIDTH / 2;
                if (distToObstacle > 0) finalRayEnd = botPos.direction(scanAngle, distToObstacle);
                else distToObstacle = 0;

                const isCenterRay = Math.abs(this.normalizeAngle(scanAngle - angleToTarget)) < 0.1;
                if (isCenterRay) directBlocker = obstacle;
            }

            this._lidarDebug.rays.push({ start: botPos, end: finalRayEnd, isBlocked: obstacle && distToObstacle < Movement.LIDAR_RANGE });

            const deviation = Math.abs(this.normalizeAngle(scanAngle - angleToTarget));
            const normalizedDist = distToObstacle / Movement.LIDAR_RANGE;

            // Формула оценки пути
            const pathScore = normalizedDist * 1.5 - deviation * 1.0;

            if (distToObstacle > Movement.BOT_WIDTH * 1.2 && deviation <= Movement.SCAN_CONE) {
                if (pathScore > maxPathScore) {
                    maxPathScore = pathScore;
                    bestRayAngle = scanAngle;
                }
            }
        }

        this._lidarDebug.bestAngle = bestRayAngle;

        if (bestRayAngle === null || maxPathScore < 0) {
            return { type: "BLOCKED", obstacle: directBlocker };
        }
        return { type: "MOVE", angle: bestRayAngle };
    }

    _updateLookAngle(currentMode, moveAngle) {
        const { ModuleHandler, myPlayer } = this.client;
        const botPos = myPlayer.position.current;
        let aimAngle = null;

        // В спинах бот должен смотреть наружу или на курсор
        if (currentMode === 'squarespin' || currentMode === 'circlespin') {
             // Можно добавить логику, чтобы он смотрел от центра
             // Но оставим дефолтную (на курсор), как в старом коде
        }

        if (currentMode === 'randommill' || currentMode === 'playerFollow') {
            aimAngle = moveAngle !== undefined ? moveAngle : this._lastMoveAngle;
            if (aimAngle !== null) ModuleHandler.reverseCursorAngle = (aimAngle + Math.PI) % (2 * Math.PI);
        } else if (currentMode !== 'grinder') {
            try {
                const cursor = cursorPosition();
                aimAngle = botPos.angle(cursor);
                ModuleHandler.reverseCursorAngle = cursor.angle(botPos);
            } catch (e) {
                aimAngle = moveAngle !== undefined ? moveAngle : this._lastMoveAngle;
                if (aimAngle !== null) ModuleHandler.reverseCursorAngle = (aimAngle + Math.PI) % (2 * Math.PI);
            }
        }
        if (aimAngle !== null) ModuleHandler.cursorAngle = aimAngle;
    }

    drawOverlay(ctx) {
        if (!Movement.VISUALIZATION_ENABLED) return;
        try {
            const myPlayer = this.client.myPlayer;
            if (!myPlayer || !myPlayer.position) return;
            const myPos = myPlayer.position.current;

            for (const ray of this._lidarDebug.rays) {
                const blockedColor = "rgba(205, 92, 92, 0.50)";
                const freeColor = "rgba(173, 216, 230, 0.1)";
                const color = ray.isBlocked ? blockedColor : freeColor;
                Aibm.Renderer.line(ctx, ray.start, ray.end, color, ray.isBlocked ? 0.5 : 1.5);
            }

            if (this._lidarDebug.bestAngle !== null) {
                const bestEnd = myPos.direction(this._lidarDebug.bestAngle, 120);
                Aibm.Renderer.line(ctx, myPos, bestEnd, "#00bfff", 1, 2.5);
            }

            const target = this.getDesiredPosition();
            // Для playerFollow цель может быть в sharedTargetPos
            if (target) {
                Aibm.Renderer.line(ctx, myPos, target, "rgba(255, 255, 255, 0.4)", 0.5, 1);
            }
        } catch (e) {}
    }

    // =========================================================
    // ⚙️ ГЛАВНЫЙ ЦИКЛ (POST TICK)
    // =========================================================
    postTick() {
        const { myPlayer, ModuleHandler, SocketManager, PlayerManager } = this.client;
        if (!myPlayer || !myPlayer.inGame) return;

        const ownerCommander = getOwnerCommanderFor(this.client);
        const currentMode = ownerCommander?.mode;
        const botPos = myPlayer.position.current;
        const botId = myPlayer.id;

        // --- 1. Игнор и Авто-Милл ---
        if (ModuleHandler.moduleActive) {
            SocketManager.move(null);
            this.stopped = true;
            return;
        }

        if (currentMode === "grinder") return;

        if (currentMode === "exitbot") {
            this.client.disconnect();
            if (typeof window.setOwnerCommanderField === 'function') window.setOwnerCommanderField(botId, 'mode', null);
            return;
        }

        const am = ModuleHandler.staticModules.autoMill;
        if (am) {
            // 🔥 ИЗМЕНЕНО: AutoMill теперь работает ТОЛЬКО при randommill и глобальных настройках (Пункт 2)
            am.toggle = currentMode === 'randommill' || (typeof Settings !== 'undefined' && Settings.automill);
        }

        // --- 2. ЛОГИКА PLAYER FOLLOW (Восстановлена из старого кода) ---
        if (currentMode === "playerFollow") {
            const targetPlayerId = ownerCommander?.targetPlayerId;
            if (!targetPlayerId || !PlayerManager) {
                SocketManager.move(null);
                return;
            }

            // Инициализация состояния
            ownerCommander.playerFollow = ownerCommander.playerFollow || {};
            const pfData = ownerCommander.playerFollow;
            pfData.searchPhase = pfData.searchPhase || "SEARCH_START";

            const targetPlayer = PlayerManager.playerData.get(Number(targetPlayerId));
            let targetFound = false;
            let foundPos = null;

            // А. Проверка видимости цели
            if (targetPlayer?.position?.current) {
                const tp = targetPlayer.position.current;
                if (tp.x !== 0 || tp.y !== 0) {
                    targetFound = true;
                    foundPos = tp;
                }
            }

            // Б. Если цель найдена
            if (targetFound) {
                pfData.sharedTargetPos = { x: foundPos.x, y: foundPos.y };
                if (pfData.searchPhase !== "FOLLOW") pfData.searchPhase = "FOLLOW";
                setOwnerCommanderField('all', 'playerFollow', pfData);

                this._randomTarget = null;
                this._waitStartTime = 0;

                // Двигаемся к игроку
                const dist = botPos.distance(foundPos);
                const followDist = ownerCommander?.followDistance || 175;

                if (dist > followDist) {
                    // 🔥 Используем ЛИДАР для следования за игроком, чтобы не застревать
                    const scanRes = this.scanSurroundings(botPos, foundPos);
                    const moveAngle = scanRes.type === "MOVE" ? scanRes.angle : botPos.angle(foundPos);

                    // Брейкмод работает отдельно, здесь просто движение
                    SocketManager.move(moveAngle);
                    this._updateLookAngle(currentMode, moveAngle);
                    this.stopped = false;
                } else {
                    SocketManager.move(null);
                    this.stopped = true;
                    // Смотрим туда же, куда и цель
                    const aimAngle = targetPlayer.angle;
                    ModuleHandler.cursorAngle = aimAngle;
                    ModuleHandler.reverseCursorAngle = aimAngle + Math.PI;
                }
                return; // Выходим, так как playerFollow обработан
            }

            // В. Если цель потеряна -> Логика поиска (State Machine)

            // 1. FOLLOW -> GOTO_LAST
            if (pfData.searchPhase === "FOLLOW") {
                pfData.searchPhase = "GOTO_LAST";
                setOwnerCommanderField('all', 'playerFollow', pfData);
            }

            // 2. GOTO_LAST (Идем в последнюю известную точку)
            if (pfData.searchPhase === "GOTO_LAST" && pfData.sharedTargetPos) {
                const lastPos = new Vector_Vector(pfData.sharedTargetPos.x, pfData.sharedTargetPos.y);
                const dist = botPos.distance(lastPos);

                if (dist > 100) {
                    // Используем лидар для прохода к точке сбора
                    const scanRes = this.scanSurroundings(botPos, lastPos);
                    const ang = scanRes.type === "MOVE" ? scanRes.angle : botPos.angle(lastPos);
                    SocketManager.move(ang);
                    this._updateLookAngle(currentMode, ang);
                    this.stopped = false;
                } else {
                    // Пришли
                    pfData.searchPhase = "WAIT_AT_LAST";
                    setOwnerCommanderField('all', 'playerFollow', pfData);
                    this.stopped = true;
                    SocketManager.move(null);
                }
                return;
            }

            // 3. WAIT_AT_LAST (Ждем 25 сек)
            if (pfData.searchPhase === "WAIT_AT_LAST") {
                if (this._waitStartTime === 0) this._waitStartTime = Date.now();
                if (Date.now() - this._waitStartTime > 25000) {
                    pfData.searchPhase = "SEARCH_RANDOM";
                    setOwnerCommanderField('all', 'playerFollow', pfData);
                    this._waitStartTime = 0;
                }
                SocketManager.move(null);
                this.stopped = true;
                // Крутим головой
                ModuleHandler.cursorAngle = (Date.now() / 500) % (Math.PI * 2);
                return;
            }

            // 4. SEARCH_RANDOM (Ищем рандомно)
            if (pfData.searchPhase === "SEARCH_RANDOM" || pfData.searchPhase === "SEARCH_START") {
                const now = Date.now();
                if (!this._randomTarget || botPos.distance(this._randomTarget) < 100 || now > this._randomTargetTimeout) {
                    this._randomTarget = this.generateRandomPos();
                    this._randomTargetTimeout = now + 10000;
                }

                const scanRes = this.scanSurroundings(botPos, this._randomTarget);
                const ang = scanRes.type === "MOVE" ? scanRes.angle : botPos.angle(this._randomTarget);

                SocketManager.move(ang);
                this.stopped = false;
                this._updateLookAngle(currentMode, ang);
                return;
            }
            return; // Конец playerFollow
        }

        // --- 3. ОБЩАЯ ЛОГИКА ДЛЯ ОСТАЛЬНЫХ РЕЖИМОВ (Movement, Circle, Square, etc) ---

        const finalTarget = this.getDesiredPosition();

        if (Date.now() - this._lastObstacleTime < 100) {
            SocketManager.move(null);
            this.stopped = true;
            this._updateLookAngle(currentMode);
            return;
        }

        if (finalTarget) {
            const bm = ModuleHandler.staticModules.breakMode;
            const isBreakModeAllowed = (ownerCommander && ownerCommander.breakMode && ownerCommander.breakMode.active);
            const distToTarget = botPos.distance(finalTarget);

            // Финишная прямая (отключаем лидар для точности)
            if (distToTarget < 40) {
                if (distToTarget > 10) { // Дистанция остановки
                    const ang = botPos.angle(finalTarget);
                    SocketManager.move(ang);
                    this.stopped = false;
                    this._updateLookAngle(currentMode, ang);
                } else {
                    SocketManager.move(null);
                    this.stopped = true;
                    this._updateLookAngle(currentMode);

                    // Если достигнута точка в squarespin, то в следующем тике будет новый таргет
                }
                return;
            }

            let moveAngle = null;
            let needToBreak = false;
            let breakTarget = null;

            // Используем ЛИДАР если включен BreakMode
            if (isBreakModeAllowed && bm) {
                const scanResult = this.scanSurroundings(botPos, finalTarget);

                if (scanResult.type === "MOVE") {
                    moveAngle = scanResult.angle;
                    bm.suppressAutoBreak = true;
                    bm.setOverrideTarget(null);
                    bm.clearIgnored();
                } else {
                    // BLOCKED
                    needToBreak = true;
                    breakTarget = scanResult.obstacle;
                    if (!breakTarget) breakTarget = this.checkRayCollision(botPos, finalTarget, 30);
                }
            } else {
                // Если BreakMode выключен - просто идем к цели
                moveAngle = botPos.angle(finalTarget);
                if (bm) bm.suppressAutoBreak = false;
            }

            // АТАКА (BreakMode)
            if (needToBreak && bm && breakTarget) {
                bm.suppressAutoBreak = false;
                this._lastObstacleTime = Date.now();

                const obstacleRadius = (breakTarget.scale || 45);
                const OPTIMAL_ATTACK_DIST = 40 + obstacleRadius + 20;
                const BRAKE_TRIGGER_DIST = OPTIMAL_ATTACK_DIST + this.calculateInertia();
                const distToObj = botPos.distance(breakTarget.position.current);

                if (distToObj > BRAKE_TRIGGER_DIST) {
                    const approachAngle = botPos.angle(breakTarget.position.current);
                    SocketManager.move(approachAngle);
                    this.stopped = false;
                    bm.setOverrideTarget(null);
                    this._updateLookAngle(currentMode, approachAngle);
                } else {
                    SocketManager.move(null);
                    this.stopped = true;
                    const aimAngle = botPos.angle(breakTarget.position.current);
                    ModuleHandler.cursorAngle = aimAngle;
                    ModuleHandler.updateAngle(aimAngle, true);
                    bm.setOverrideTarget(breakTarget);
                    this._updateLookAngle(currentMode, aimAngle);
                }
                return;
            }

            // ДВИЖЕНИЕ (Если не бьем)
            if (moveAngle !== null) {
                SocketManager.move(moveAngle);
                this._lastMoveAngle = moveAngle;
                this._updateLookAngle(currentMode, moveAngle);
                this.stopped = false;
            } else {
                SocketManager.move(null);
            }

        } else {
            // Нет цели
            SocketManager.move(null);
            this.stopped = true;
            this._updateLookAngle(currentMode);
        }
    }
}
const bot_modules_Movement = Movement;
class AutoReload {
    name = "autoReload";
    client;

    // 🔥 НОВЫЕ: ID дальнобойного оружия
    RANGED_WEAPON_IDS = new Set([9, 12, 13, 15]);

    // Слот (0 или 1), который мы сознательно держим для дозарядки в данный момент.
    _chargingSlot = null;

    // Флаг, который предотвращает немедленное вмешательство FastWeaponSwitch
    _returnedAfterReload = false;

    // Интервал (в тиках) после возврата
    RETURN_COOLDOWN_TICKS = 1;
    _cooldownCounter = 0;

    constructor(client) {
        this.client = client;
    }

    // Нужна ли перезарядка для слота (primary/secondary)
    isReloadNeeded(player, typeString) {
        try {
            const reload = player.reload[typeString];
            const weaponID = player.weapon[typeString];
            if (weaponID === null || weaponID === 0 || !reload || reload.max <= 0) {
                return false;
            }
            return reload.current < reload.max - 0.5;
        } catch (e) {
            return false;
        }
    }

    // Метод для проверки/сброса кулдауна
    checkCooldownAndDecrement() {
        if (this._cooldownCounter > 0) {
            this._cooldownCounter--;
            return true;
        }
        return false;
    }

    postTick() {
        const myPlayer = this.client.myPlayer;
        const moduleHandler = this.client.ModuleHandler;

        if (!myPlayer || !myPlayer.inGame || !moduleHandler) return;

        // --- БЛОКИРОВКИ ---
        let autoReloadEnabled = true;
        try {
            if ((typeof Settings !== 'undefined' && Settings.autoreload === false) ||
                (this.client.settings && this.client.settings.autoreload === false)) {
                autoReloadEnabled = false;
            }
        } catch (e) {}

        if (!autoReloadEnabled) {
            this._chargingSlot = null;
            this._cooldownCounter = 0;
            return;
        }

        try {
            const ab = moduleHandler.staticModules && moduleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) {
                this._chargingSlot = null;
                return;
            }
        } catch (e) {}

        if (moduleHandler.attackingState !== 0) {
            this._chargingSlot = null;
            return;
        }
        // --- КОНЕЦ БЛОКИРОВОК ---

        const primaryType = 0;
        const secondaryType = 1;
        const currentHeld = (typeof moduleHandler.currentHolding !== 'undefined') ? moduleHandler.currentHolding : 0;

        // =======================================================
        // 🔥 ИСПРАВЛЕННАЯ ЛОГИКА ВОЗВРАТА НА СЛОТ 0 (только для дальнего боя)
        // =======================================================
        if (this._chargingSlot !== null) {
            const slotString = this._chargingSlot === 0 ? 'primary' : 'secondary';
            const weaponId = this._chargingSlot === 0 ? myPlayer.weapon.primary : myPlayer.weapon.secondary;

            if (!this.isReloadNeeded(myPlayer, slotString)) {
                // Оружие полностью заряжено.

                // Проверяем, является ли перезаряженное оружие дальнобойным
                if (this.RANGED_WEAPON_IDS.has(weaponId)) {
                    // Если да, переключаемся на слот 0.
                    moduleHandler.whichWeapon(primaryType);
                    // Активируем кулдаун, чтобы FastWeaponSwitch не перехватил управление сразу
                    this._cooldownCounter = this.RETURN_COOLDOWN_TICKS;
                }

                // Сбрасываем флаг, независимо от того, переключились мы или нет
                this._chargingSlot = null;

                return;
            }
        }

        // Если мы в кулдауне после возврата, просто выходим
        if (this.checkCooldownAndDecrement()) {
            return;
        }
        // ... (остальная часть postTick без изменений) ...

        const primaryNeeds = this.isReloadNeeded(myPlayer, 'primary');
        const secondaryNeeds = this.isReloadNeeded(myPlayer, 'secondary');

        // Если ничего не нуждается в перезарядке, мы не вмешиваемся.
        if (!primaryNeeds && !secondaryNeeds) {
             return;
        }

        // Если мы уже начали дозарядку — держим его
        if (this._chargingSlot !== null) {
            if (currentHeld !== this._chargingSlot) {
                moduleHandler.whichWeapon(this._chargingSlot);
            }
            return; // Ждём завершения зарядки
        }

        // Выбираем слот для переключения (тот, у которого меньший ratio)
        let chooseSlot = null;
        if (primaryNeeds && !secondaryNeeds) chooseSlot = primaryType;
        else if (!primaryNeeds && secondaryNeeds) chooseSlot = secondaryType;
        else {
            const pr = myPlayer.reload.primary.current / Math.max(1, myPlayer.reload.primary.max);
            const sr = myPlayer.reload.secondary.current / Math.max(1, myPlayer.reload.secondary.max);
            chooseSlot = (sr < pr) ? secondaryType : primaryType;
        }

        // Переключаемся на выбранный слот
        if (chooseSlot !== null && chooseSlot !== currentHeld) {
            const weaponId = (chooseSlot === 0) ? myPlayer.weapon.primary : myPlayer.weapon.secondary;
            if (!weaponId || weaponId === 0) return;

            moduleHandler.whichWeapon(chooseSlot);

            // Запоминаем, что мы начали дозарядку
            this._chargingSlot = chooseSlot;
        }
    }
}
const modules_AutoReload = AutoReload;
    class FastWeaponSwitch {
    name = "fastWeaponSwitch";
    client;

    // Ссылка на модуль AutoReload для проверки его состояния
    autoReloadModule = null;
    syncShotModule = null;

    _lastFastCheck = 0;
    FAST_CHECK_INTERVAL = 0; // ms

    constructor(client) {
        this.client = client;
    }

    setDependencies(modules) {
        this.autoReloadModule = modules.autoReload;
        this.syncShotModule = modules.syncShot;
    }

    postTick() {
        const myPlayer = this.client.myPlayer;
        const moduleHandler = this.client.ModuleHandler;

        if (!myPlayer || !myPlayer.inGame || !moduleHandler) return;

        if (this.syncShotModule && this.syncShotModule._isFiringCombo) {
        return;
    }

        // 🔥 ИСПРАВЛЕНИЕ: ДОБАВЛЕНИЕ ПРОВЕРКИ ВКЛЮЧЕНИЯ/ОТКЛЮЧЕНИЯ МОДУЛЯ
        let fastSwitchEnabled = true;
        try {
            // Проверяем глобальный объект Settings и локальные настройки клиента
            if ((typeof Settings !== 'undefined' && Settings.fastWeaponSwitch === false) ||
                (this.client.settings && this.client.settings.fastWeaponSwitch === false)) {
                fastSwitchEnabled = false;
            }
        } catch (e) {}

        if (!fastSwitchEnabled) {
            // Если модуль выключен, выходим
            return;
        }
        // --- КОНЕЦ ИСПРАВЛЕНИЯ ---


        // --- БЛОКИРОВКИ ---
        // 1. Проверяем, не активна ли перезарядка в AutoReload
        if (this.autoReloadModule) {
            if (this.autoReloadModule._chargingSlot !== null) return;
            if (this.autoReloadModule._cooldownCounter > 0) return;
        }

        // 2. Проверяем атаку/Autobreak
        if (moduleHandler.attackingState !== 0) return;

        try {
            const ab = moduleHandler.staticModules && moduleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}

        // Проверка частоты
        const now = Date.now();
        if (now - this._lastFastCheck < this.FAST_CHECK_INTERVAL) return;
        this._lastFastCheck = now;
        // --- КОНЕЦ БЛОКИРОВОК ---

        // ... (остальная логика FastWeaponSwitch)
        const currentHeld = (typeof moduleHandler.currentHolding !== 'undefined') ? moduleHandler.currentHolding : 0;
        const primaryId = myPlayer.weapon.primary || 0;
        const secondaryId = myPlayer.weapon.secondary || 0;

        const getWeaponObj = id => {
            try {
                if (!id) return null;
                return Weapons.find(w => w.id === id) || null;
            } catch (e) { return null; }
        };

        const pObj = getWeaponObj(primaryId);
        const sObj = getWeaponObj(secondaryId);

        const pSpd = (pObj && typeof pObj.spdMult === 'number') ? pObj.spdMult : 1;
        const sSpd = (sObj && typeof sObj.spdMult === 'number') ? sObj.spdMult : 1;

        // Если есть явный выигрыш по скорости — переключаемся
        const THRESH = 0.02; // минимальная разница
        if (sObj && (sSpd - pSpd) > THRESH && currentHeld !== 1) {
            moduleHandler.whichWeapon(1);
        } else if (pObj && (pSpd - sSpd) > THRESH && currentHeld !== 0) {
            moduleHandler.whichWeapon(0);
        }
    }
}
const modules_FastWeaponSwitch = FastWeaponSwitch;
    class Sense {
    name = "sense";
    client;
    constructor(client) {
        this.client = client;
    }
    // если нужен периодический код:
    postTick() {
    const movement = this.client.ModuleHandler.staticModules.movement;
    // например, прочитать/изменить направление:
    // movement.someMethodOrProperty(...)
}
    }
const bot_modules_Sense = Sense; // как у остальных bot_* модулей
class Instakill {
    name = "instakill";
    client;
    _enabled = false;
    _target = null;
    _markerTimeout = null;
    _executing = false;
    _angleInterval = null;
    _prevWeaponSlot = null;
    _rotationInterval = null; // Интервал для вращения крестика (сохранен как null, но не используется)

    static COMMAND_DELAY_MS = 0;

    // Тайминги по-умолчанию — будут динамически подстраиваться
    static MELEE_HIT_DELAY = 120;
    static RANGED_HIT_DELAY = 80; // Эта константа больше не используется для задержки комбо
    static RESTORE_DELAY = 120;

    static RANGE_BUFFER = 5;
    static RANGE_MULTIPLIER = 1.0;

    // Память о последней цели (мс)
    static TARGET_MEMORY = 1200;

    // Поведение: выключать после одного комбо
    autoDisableAfterOne = true;

    // ID шапки Solid Hat для проверки
    static SOLID_HAT_ID = 6;

    constructor(client) {
        this.client = client;
    }

    _delay(ms) {
        return new Promise(resolve => setTimeout(resolve, Math.max(0, ms)));
    }

    // Получаем эффективный радиус атаки ПЕРВОГО оружия (melee, слот 0)
    getPrimaryWeaponRange(myPlayer) {
        if (!myPlayer) return 0;

        let primaryId = myPlayer.getItemByType?.(0);
        let maxRange = 0;

        try {
            if (typeof Items !== 'undefined') {
                // Проверяем только первое оружие (melee, слот 0)
                if (primaryId && Items[primaryId] && typeof Items[primaryId].range === 'number') {
                    maxRange = Items[primaryId].range;
                }
            }
        } catch (e) {}

        if (!maxRange || maxRange <= 0) {
            try {
                let weaponId = primaryId || null;
                if (!weaponId && typeof myPlayer.weaponIndex === 'number') weaponId = myPlayer.weaponIndex;
                if (typeof BreakMode !== 'undefined' && BreakMode.WEAPON_BREAK_DIST) {
                    const base = BreakMode.WEAPON_BREAK_DIST[weaponId];
                    if (typeof base === 'number') maxRange = Math.max(maxRange, base);
                }
            } catch (e) {}
        }

        const hitScale = (myPlayer.hitScale || 0);
        maxRange = (maxRange + hitScale) * Instakill.RANGE_MULTIPLIER;

        return maxRange;
    }

    // Рисуем маркер цели (Удалена вся логика вращения)
    highlightTarget(target) {
        if (!target || !target.position) return;
        try {
            const isLocalClient = (typeof myClient !== 'undefined' && this.client === myClient);
            if (!Settings.instakillCrossForBots && !isLocalClient) return;
        } catch (e) {}

        // Этот блок обычно рисует статический крестик, оставляем как резерв
        try { if (typeof window.__aibm_drawCross === 'function') window.__aibm_drawCross(target.position.current.x, target.position.current.y, "#ff6666", 50, 3000); } catch (e) {}

        try {
            const now = Date.now();
            const prev = window.__aibm_instaCross;
            window.__aibm_instaCross = {
                x: (prev && typeof prev.x === 'number') ? prev.x : target.position.current.x,
                y: (prev && typeof prev.y === 'number') ? prev.y : target.position.current.y,
                targetX: target.position.current.x,
                targetY: target.position.current.y,
                color: '#ff6666',
                size: 50,
                thickness: 8,
                until: now + 3000,
                lastUpdated: now,
                rotation: 0
            };
        } catch (e) {}
    }
    enable() {
        this._enabled = true;
        this._executing = false;
        console.log('[Instakill] ENABLED');
    }

    disable() {
        this._enabled = false;
        this._target = null;
        this._markerTimeout = null;
        window.__aibm_instaCross = null;
        try { if (typeof window.__aibm_clearCrossPersistent === 'function') window.__aibm_clearCrossPersistent(); else window.__aibm_instaCrossPersistent = null; } catch (e) {}
        try { if (this._angleInterval) { clearInterval(this._angleInterval); this._angleInterval = null; } } catch (e) {}
        this._executing = false;
        console.log('[Instakill] DISABLED');
    }

    // Проверка — можно ли исполнить инста на цели
    canExecuteInsta(target, myPlayer) {
        if (!target || !myPlayer) return false;

        try {
            // Если есть встроенная оценка — используем её
            if (typeof target.canPossiblyInstakill === 'function') {
                const val = target.canPossiblyInstakill();
                if (typeof val === 'number') return val > 0;
            }
        } catch (e) {}

        // Фолбек — грубая оценка по доступному урону
        try {
            let dmg = 0;
            const meleeId = myPlayer.getItemByType?.(0);
            const rangedId = myPlayer.getItemByType?.(1);
            if (meleeId && typeof Items !== 'undefined' && Items[meleeId]) dmg += (Items[meleeId].dmg || 0);
            if (rangedId && typeof Items !== 'undefined' && Items[rangedId]) dmg += (Items[rangedId].dmg || 0);
            // Учитываем возможные множители (шапки/эффекты) — консервативно +20%
            dmg *= 1.2;
            if (typeof target.health === 'number') return dmg >= target.health;
        } catch (e) {}

        return false;
    }

    // Рассчитать стратегию нанесения урона (возвращаем зарплатную оценку)
    calculateDamageStrategy(target, myPlayer) {
        const res = { primaryDamage: 0, secondaryDamage: 0, totalDamage: 0, shouldUsePoison: false };
        if (!myPlayer) return res;

        try {
            // Попытка использовать существующие утилиты проекта
            if (typeof myPlayer.getMaxWeaponDamage === 'function') {
                try {
                    const primary = myPlayer.getItemByType?.(0);
                    const secondary = myPlayer.getItemByType?.(1);
                    if (primary) res.primaryDamage = myPlayer.getMaxWeaponDamage(primary, false) || 0;
                    if (secondary) res.secondaryDamage = myPlayer.getMaxWeaponDamage(secondary, false) || 0;
                } catch (e) {}
            } else {
                const meleeId = myPlayer.getItemByType?.(0);
                const rangedId = myPlayer.getItemByType?.(1);
                if (meleeId && typeof Items !== 'undefined' && Items[meleeId]) res.primaryDamage = Items[meleeId].dmg || 0;
                if (rangedId && typeof Items !== 'undefined' && Items[rangedId]) res.secondaryDamage = Items[rangedId].dmg || 0;
            }

            res.totalDamage = res.primaryDamage + res.secondaryDamage;

            try {
                if (typeof myPlayer.canDealPoison === 'function') {
                    const p = myPlayer.canDealPoison();
                    if (p && p.isAble) res.shouldUsePoison = true;
                }
            } catch (e) {}
        } catch (e) {}

        return res;
    }

    async _executeInstaCombo(predicted, ang, myPlayer, ModuleHandler, prevHat) {
        this._executing = true;
        console.log(`[Instakill] Executing combo with ${Instakill.COMMAND_DELAY_MS}ms command delay.`);

        const HOLD1 = Instakill.MELEE_HIT_DELAY;
        const MELEE_ATTACK_DURATION = 20;
        const DELAY = Instakill.COMMAND_DELAY_MS;
        let elapsed = 0; // Для точного вычисления задержки HOLD1

        // 1. Настройка прицеливания (поддерживаем, пока выполняется комбо)
        try { if (this._angleInterval) clearInterval(this._angleInterval); } catch (e) {}
        try {
            this._angleInterval = setInterval(() => {
                try {
                    ModuleHandler.updateAngle &&
                    ModuleHandler.updateAngle(Math.atan2(predicted.y - myPlayer.position.current.y, predicted.x - myPlayer.position.current.x), true);
                } catch (e) {}
            }, 30);
        } catch (e) {}

        try {
            // T=0: START COMBO

            // 1. MELEE ATTACK 1 (Slot 0) with Bull Hat (ID 7)
            try { ModuleHandler.equip && ModuleHandler.equip(0, 7); } catch (e) { console.error('[Instakill] equip bull hat error', e); }
            await this._delay(DELAY); elapsed += DELAY;

            try { ModuleHandler.updateAngle && ModuleHandler.updateAngle(ang, true); } catch (e) {}
            try { ModuleHandler.whichWeapon && ModuleHandler.whichWeapon(0); } catch (e) {}
            await this._delay(DELAY); elapsed += DELAY;

            try { ModuleHandler.attack && ModuleHandler.attack(ang); } catch (e) {}
            await this._delay(DELAY); elapsed += DELAY;

            // 2. Ждем время удара первого оружия (HOLD1 - уже потраченное время)
            const remainingWait = Math.max(0, HOLD1 - elapsed);
            await this._delay(remainingWait);

            // T=HOLD1: MELEE ATTACK 2 SETUP

            // 2a. Stop Attack 1
            try { ModuleHandler.stopAttack && ModuleHandler.stopAttack(); } catch (e) {}
            await this._delay(DELAY); // Задержка для гарантии остановки

            // 2b. Equip Turret Hat (ID 53)
            try { ModuleHandler.equip && ModuleHandler.equip(0, 53); } catch (e) { console.error('[Instakill] equip turret error', e); }
            await this._delay(DELAY);

            // 2c. MELEE Attack 2 Start (IMMEDIATE)
            try { ModuleHandler.updateAngle && ModuleHandler.updateAngle(ang, true); } catch (e) {}
            try { ModuleHandler.whichWeapon && ModuleHandler.whichWeapon(1); } catch (e) {} // Слот 1
            await this._delay(DELAY);

            try { ModuleHandler.attack && ModuleHandler.attack(ang); } catch (e) {}
            await this._delay(DELAY);

            // 3. Ждем минимальное время для срабатывания удара
            await this._delay(MELEE_ATTACK_DURATION);

            // 3a. Stop Attack 2
            try { ModuleHandler.stopAttack && ModuleHandler.stopAttack(); } catch (e) {}
            await this._delay(DELAY); // Задержка для гарантии остановки

            // 4. Hat Restore
            if (prevHat && prevHat !== 7 && prevHat !== 53) {
                await this._delay(Instakill.RESTORE_DELAY); // Ждем время восстановления
                try { ModuleHandler.equip && ModuleHandler.equip(0, prevHat); } catch (e) {}
                await this._delay(DELAY); // Задержка после восстановления шапки
            }

        } catch (e) {
            console.error('[Instakill] combo execution error', e);
        } finally {
            // 5. Global cleanup
            try { if (this._angleInterval) { clearInterval(this._angleInterval); this._angleInterval = null; } } catch (e) {}
            this._executing = false;
            if (this.autoDisableAfterOne) this.disable();
            console.log('[Instakill] Combo finished and cleaned up.');
        }
    }

    // Подогнать тайминги под множитель скорости
    optimizeAttackTiming(myPlayer) {
        try {
            const mult = (typeof myPlayer.getWeaponSpeedMult === 'function') ? (myPlayer.getWeaponSpeedMult() || 1) : 1;
            if (mult > 0) {
                Instakill.MELEE_HIT_DELAY = Math.max(0, Math.round(120 / mult));
                Instakill.RANGED_HIT_DELAY = Math.max(0, Math.round(80 / mult));
            }
        } catch (e) {}
    }

    // Предсказать позицию цели (простая линейная предсказание)
    predictTargetPosition(target) {
        if (!target || !target.position || !target.position.current) return null;
        try {
            if (typeof target.predictItems === 'function') target.predictItems();
            if (typeof target.predictWeapons === 'function') target.predictWeapons();
            if (typeof target.updateReloads === 'function') target.updateReloads();
        } catch (e) {}

        const cur = target.position.current;
        const vel = (target.velocity || { x: 0, y: 0 });

        // Учитываем только задержку ближнего боя и минимальную задержку дальнего
        const time = (Instakill.MELEE_HIT_DELAY + 20) / 1000;
        return { x: cur.x + (vel.x || 0) * time, y: cur.y + (vel.y || 0) * time };
    }

    // Опциональная проверка шипов
    checkSpikeOpportunity(target) {
        try {
            if (typeof target.detectSpikeInsta === 'function') target.detectSpikeInsta();
            if (typeof target.potentialDamage === 'number') return target.potentialDamage >= 40;
        } catch (e) {}
        return false;
    }

    // Основной цикл — обновлённый и более защищённый
    postTick() {
        if (!this._enabled || this._executing) return;

        try {
            const { ModuleHandler, myPlayer, EnemyManager } = this.client;
            if (!myPlayer || !ModuleHandler || !EnemyManager) return;

            try {
                const isLocalClient = (typeof myClient !== 'undefined' && this.client === myClient);
                 if (!isLocalClient && !Settings.instakillForBots) return;

                // ⭐ Проверка: Не запускать, если активно OneTick
                if (ModuleHandler.staticModules.oneTick && ModuleHandler.staticModules.oneTick.active) return;
            } catch (e) {}

            let target = EnemyManager.nearestEnemy;
            const now = Date.now();
            if (!target && this._target && (now - (this._targetTime || 0) < Instakill.TARGET_MEMORY)) {
                target = this._target;
            }
            if (!target || !target.position) return;

            // ⭐ ИСПРАВЛЕНИЕ: Всегда сохраняем и рисуем цель, независимо от Solid Hat.
            this._target = target;
            this._targetTime = now;

            this.highlightTarget(target);
            if (this._markerTimeout) clearTimeout(this._markerTimeout);
            this._markerTimeout = setTimeout(() => { window.__aibm_instaCross = null; }, 3500);

            // ⭐ ПРОВЕРКА НА SOLID HAT (теперь только прерывает комбо)
            try {
                if (Settings.instakillCheckSolidHat && target.hatID === Instakill.SOLID_HAT_ID) {
                    // Возвращаемся, чтобы не выполнять комбо, но крестик уже нарисован
                    return;
                }
            } catch (e) { /* Если Settings еще не инициализирован, игнорируем */ }

            // Продолжение цикла, если нет Solid Hat

            if (!this.canExecuteInsta(target, myPlayer)) return;

            this.optimizeAttackTiming(myPlayer);

            // МОДИФИКАЦИЯ: Используем радиус только первого оружия (melee)
            const primaryRange = this.getPrimaryWeaponRange(myPlayer);

            // НОВОЕ ИСПРАВЛЕНИЕ: Проверяем расстояние до ТЕКУЩЕЙ позиции цели.
            const distToTarget = myPlayer.position.current.distance(target.position.current);

            if (distToTarget > (primaryRange + Instakill.RANGE_BUFFER)) {
                // Если цель слишком далеко, сбрасываем ее и выходим.
                this._target = null;
                return;
            }

            // ⭐ ПРОВЕРКА ГОТОВНОСТИ (КД): ПОЛНОСТЬЮ УДАЛЕНА

            // Если цель в радиусе и все готово, рассчитываем предсказанную позицию для точного прицеливания.
            const predicted = this.predictTargetPosition(target) || target.position.current;

            const strategy = this.calculateDamageStrategy(target, myPlayer);

            this._executing = true;
            console.log('[Instakill] Executing optimized combo', strategy);

            try { if (this._angleInterval) clearInterval(this._angleInterval); } catch (e) {}
            try {
                this._angleInterval = setInterval(() => {
                    try { ModuleHandler.updateAngle && ModuleHandler.updateAngle(Math.atan2(predicted.y - myPlayer.position.current.y, predicted.x - myPlayer.position.current.x), true); } catch (e) {}
                }, 30);
            } catch (e) {}

            const ang = Math.atan2(predicted.y - myPlayer.position.current.y, predicted.x - myPlayer.position.current.x);
            const prevHat = myPlayer.hatID;

            this._executeInstaCombo(predicted, ang, myPlayer, ModuleHandler, prevHat);
            // Сохраняем слот оружия, но не используем его для возврата
            try { this._prevWeaponSlot = (myPlayer.isMainPlayer ? myPlayer.weaponSlot : null); } catch (e) { this._prevWeaponSlot = null; }

            const HOLD1 = Instakill.MELEE_HIT_DELAY;
            const MELEE_ATTACK_DURATION = 20; // Небольшая задержка, теперь используется для остановки второго melee удара

            try {
                // 1. MELEE ATTACK 1 (Slot 0) with Bull Hat (T=0)
                try { ModuleHandler.equip && ModuleHandler.equip(0, 7); } catch (e) { console.error('[Instakill] equip bull hat error', e); }
                try { ModuleHandler.updateAngle && ModuleHandler.updateAngle(ang, true); } catch (e) {}
                try { ModuleHandler.whichWeapon && ModuleHandler.whichWeapon(0); } catch (e) {}
                try { ModuleHandler.attack && ModuleHandler.attack(ang); } catch (e) {}

                // ⭐ Сброс КД первого оружия: УДАЛЕНО

                setTimeout(() => {
                    // 2. MELEE ATTACK 2 SETUP (T=HOLD1)
                    try { ModuleHandler.stopAttack && ModuleHandler.stopAttack(); } catch (e) {} // Stop melee attack 1

                    try { ModuleHandler.equip && ModuleHandler.equip(0, 53); } catch (e) { console.error('[Instakill] equip turret error', e); }
                    // ⭐ Сброс КД Turret Hat: УДАЛЕНО

                    // MELEE Attack 2 Start (IMMEDIATE)
                    try { ModuleHandler.updateAngle && ModuleHandler.updateAngle(ang, true); } catch (e) {}

                    try { ModuleHandler.whichWeapon && ModuleHandler.whichWeapon(1); } catch (e) {}

                    try { ModuleHandler.attack && ModuleHandler.attack(ang); } catch (e) {}

                    // ⭐ Сброс КД второго оружия: УДАЛЕНО


                    // 3. Melee Attack Stop (Delayed T=HOLD1 + MELEE_ATTACK_DURATION)
                    // Небольшая задержка, чтобы гарантировать срабатывание атаки
                    setTimeout(() => {
                        try { ModuleHandler.stopAttack && ModuleHandler.stopAttack(); } catch (e) {} // Stop melee attack 2
                    }, Math.max(0, MELEE_ATTACK_DURATION));

                    // 4. Hat Restore (T=HOLD1 + MELEE_ATTACK_DURATION + RESTORE_DELAY)
                    if (prevHat && prevHat !== 7 && prevHat !== 53) {
                        setTimeout(() => {
                            try { ModuleHandler.equip && ModuleHandler.equip(0, prevHat); } catch (e) {}
                        }, Math.max(0, MELEE_ATTACK_DURATION + Instakill.RESTORE_DELAY)); // Задержка от T=HOLD1
                    }
                }, Math.max(0, HOLD1)); // Задержка от T=0

            } catch (e) {
                console.error('[Instakill] combo execution error', e);
            }

            // 5. Global cleanup (T=HOLD1 + MELEE_ATTACK_DURATION + Instakill.RESTORE_DELAY + 40)
            setTimeout(() => {
                // УДАЛЕНО: Возврат к предыдущему оружию (чтобы оставить на втором слоте)
                try {
                    this._prevWeaponSlot = null;
                } catch (e) {}

                this._executing = false;
                try { if (this._angleInterval) { clearInterval(this._angleInterval); this._angleInterval = null; } } catch (e) {}
                if (this.autoDisableAfterOne) this.disable();
            }, HOLD1 + MELEE_ATTACK_DURATION + Instakill.RESTORE_DELAY + 0); // Общее время с учетом новой задержки

        } catch (err) {
            console.error('[Instakill] Fatal error:', err);
            this._executing = false;
            try { this.disable(); } catch (e) {}
        }
    }
}
const modules_Instakill = Instakill;
    /**
 * Класс, предназначенный для агрессивного ломания ЛЮБЫХ вражеских построек
 * в радиусе досягаемости оружия. Полностью автономный, не слушает Movement
 * и не использует overrideTarget.
 */
class BreakAllMode {
    name = "breakAllMode"; // Новое имя для регистрации
    client;
    _lastWeapon = null;
    _lastTargetId = null;
    _lastAttackTime = 0;
    _savedHat = null;

    // Эти свойства оставлены для совместимости, но не используются в postTick
    _overrideTarget = null;
    suppressAutoBreak = false;

    // СПИСОК ИГНОРА (для динамического игнорирования объектов)
    _ignoredIDs = new Set();

    // 🔥 НОВОЕ: Список ID ОБЪЕКТОВ, которые нужно игнорировать всегда (например, 11: стена, 15: шип)
    static OBJECT_IGNORE_IDS = new Set([
        // Добавьте сюда ID структур, которые НЕ нужно ломать
        // Пример: 11 - Каменная стена, 15 - Шип (если у них фиксированные ID)
    ]);

    static WEAPON_BREAK_DIST = {
        0: 45, 1: 55, 2: 55, 3: 90, 4: 103, 5: 127, 6: 90, 7: 45, 8: 45,
        10: 58, 14: 110,
    };

    static IGNORED = new Set([8, 9, 11, 12, 13, 15]); // Игнорируемые ID оружия

    constructor(client) { this.client = client; }

    // Эти методы оставлены для совместимости, но их эффект в postTick минимален
    setOverrideTarget(target) {
        this._overrideTarget = target;
    }

    ignoreID(id) {
        this._ignoredIDs.add(id);
    }

    clearIgnored() {
        this._ignoredIDs.clear();
    }

    // НОВЫЙ МЕТОД: для добавления ID объектов в постоянный игнор (статический)
    static addIgnoredObject(id) {
        BreakAllMode.OBJECT_IGNORE_IDS.add(id);
    }

    _exitMode(tempData) {
        if (tempData) {
            tempData.setWeaponSyncStatus(false);
            tempData.updateWeapon();
        }
        this._lastTargetId = null;
        this._lastWeapon = null;
        this._savedHat = null;
    }

    postTick() {
        const { myPlayer, ModuleHandler, ObjectManager, PlayerManager } = this.client;
        const tempData = ModuleHandler.staticModules.tempData;

        try {
            const oc = getOwnerCommanderFor(this.client);
            // Активен ТОЛЬКО если включен в меню (oc.breakAllMode.active)
            const isActive = (oc && oc.breakAllMode && oc.breakAllMode.active);

            if (this.client.isOwner || !myPlayer || !myPlayer.inGame || !isActive) {
                this._exitMode(tempData);
                // Сброс _overrideTarget, так как мы его не обрабатываем, но он может быть установлен
                this._overrideTarget = null;
                return;
            }

            // --- ВЫБОР ОРУЖИЯ ---
            let weaponSlot = null;
            let weaponId = null;
            try {
                weaponSlot = myPlayer.getBestDestroyingWeapon();
                if (weaponSlot !== null) weaponId = myPlayer.getItemByType(weaponSlot);
            } catch (e) {}

            if (weaponId == null || weaponSlot == null || BreakAllMode.IGNORED.has(weaponId)) {
                this._exitMode(tempData);
                return;
            }

            // ====================================================================================================================================
            // --- ОПРЕДЕЛЕНИЕ ЦЕЛИ: Ближайший Вражеский Объект (ЧИСТЫЙ АВТО-ПОИСК) ---
            // ====================================================================================================================================

            let bestTarget = null;
            let bestDist = Infinity;

            // 🔥 УДАЛЕНА ЛОГИКА ПРИОРИТЕТА _overrideTarget

            const pos = myPlayer.position.current;
            let baseRange = BreakAllMode.WEAPON_BREAK_DIST[weaponId];
            if (typeof baseRange !== "number") baseRange = 220;
            const myReach = baseRange + (myPlayer.hitScale || 0);

            const searchRadius = Math.round(myReach + 40);
            let objects = ObjectManager.retrieveObjects(pos, searchRadius) || [];

            // Ищем объекты в радиусе
            for (const obj of objects) {
                try {
                    // Игнор ID (динамический список, если его использует другой модуль)
                    if (this._ignoredIDs.has(obj.id)) {
                        continue;
                    }

                    // Игнор ID (статический список, для игнорирования типов структур)
                    if (BreakAllMode.OBJECT_IGNORE_IDS.has(obj.type)) {
                        continue;
                    }

                    // Должно быть разрушаемым и вражеским
                    if (!obj.isDestroyable || !PlayerManager.isEnemyByID(obj.ownerID, myPlayer)) {
                        continue;
                    }

                    const d = pos.distance(obj.position.current);
                    if (d > myReach) {
                        continue;
                    }

                    // Выбираем самую близкую цель
                    if (d < bestDist) {
                        bestDist = d;
                        bestTarget = obj;
                    }
                } catch (e) { continue; }
            }

            let target = bestTarget;

            // Если цели нет -> выходим
            if (!target) {
                this._exitMode(tempData);
                return;
            }

            // --- АТАКА ---
            if (tempData && !tempData.disableWeaponSync) {
                tempData.setWeaponSyncStatus(true);
            }

            const tgtId = target.id ?? target.ownerID;

            // Смена оружия
            if (ModuleHandler.currentHolding !== weaponSlot) {
                ModuleHandler.whichWeapon(weaponSlot);
                this._lastWeapon = weaponId;
                return;
            }

            // Кулдаун
            const attackCooldown = myPlayer.weaponCooldown || 300;
            const currentTime = Date.now();
            if (currentTime < this._lastAttackTime + attackCooldown) return;

            if (this._lastTargetId !== tgtId) {
                this._lastTargetId = tgtId;
            }

            // Удар
            const preAttackHat = myPlayer.hatID;
            const isEquipped = ModuleHandler.equip(0, 40); // Tank Gear
            const ang = myPlayer.position.current.angle(target.position.current);

            ModuleHandler.updateAngle(ang, true);
            ModuleHandler.attack(ang);
            this._lastAttackTime = currentTime;

            if (isEquipped && preAttackHat !== 40) {
                setTimeout(() => {
                    if (this.client && this.client.myPlayer) ModuleHandler.equip(0, preAttackHat);
                }, 100);
            }

        } catch (outer) {
            console.error("[BreakAllMode] Error:", outer);
            this._exitMode(tempData);
        }
    }
}
const bot_modules_BreakAllMode = BreakAllMode;
// ======= BreakMode (weapon-specific break distances + logs) =======
class BreakMode {
    name = "breakMode"; client;
    _lastWeapon = null; _lastTargetId = null; _lastAttackTime = 0; _savedHat = null;
    _overrideTarget = null; _ignoredIDs = new Set(); suppressAutoBreak = false;

    static WEAPON_BREAK_DIST = {0:50,1:55,2:55,3:90,4:103,5:127,6:90,7:45,8:45,10:55,14:110};
    static VISUALIZATION_ENABLED = false;
    static IGNORED = new Set([8,9,11,12,13,15]);

    constructor(client){this.client=client;}
    setOverrideTarget(t){this._overrideTarget=t;}
    ignoreID(id){this._ignoredIDs.add(id);}
    clearIgnored(){this._ignoredIDs.clear();}

    _exitMode(tempData){
        if(tempData){tempData.setWeaponSyncStatus(false);tempData.updateWeapon();}
        this._lastTargetId=null; this._lastWeapon=null; this._savedHat=null;
    }

    // ⭐ Визуализация (линия + круг вокруг цели)
    drawOverlay(ctx){
        if(!BreakMode.VISUALIZATION_ENABLED) return;
        try{
            if(this._lastTargetId===null) return;
            const target=this.client.ObjectManager.objects.get(this._lastTargetId);
            if(!target||!target.position) return;
            const botPos=this.client.myPlayer.position.current, targetPos=target.position.current;
            const radius=(target.scale||45)+15, breakColor="#FFC300", breakColorAlpha="rgba(255,195,0,0.7)";
            Aibm.Renderer.line(ctx,botPos,targetPos,breakColorAlpha,0.6,3);
            Aibm.Renderer.circle(ctx,targetPos.x,targetPos.y,radius,breakColor,0.6,2.5);
            Aibm.Renderer.cross(ctx,targetPos.x,targetPos.y,radius*0.7,2,breakColor);
        }catch(e){}
    }

    postTick(){
        const {myPlayer,ModuleHandler,ObjectManager,PlayerManager}=this.client;
        const tempData=ModuleHandler.staticModules.tempData;
        try{
            const oc=getOwnerCommanderFor(this.client);
            const isActive=(oc&&oc.breakMode&&(oc.breakMode.active===true||oc.breakMode===true))||(this._overrideTarget!==null);
            if(this.client.isOwner||!myPlayer||!myPlayer.inGame||!isActive){this._exitMode(tempData);return;}

            let weaponSlot=null, weaponId=null;
            try{weaponSlot=myPlayer.getBestDestroyingWeapon();if(weaponSlot!==null) weaponId=myPlayer.getItemByType(weaponSlot);}catch(e){}
            if(weaponId==null||weaponSlot==null||BreakMode.IGNORED.has(weaponId)){this._exitMode(tempData);return;}

            let bestTarget=null, bestDist=Infinity;
            if(this._overrideTarget){
                if(ObjectManager.objects.has(this._overrideTarget.id)){
                    bestTarget=this._overrideTarget;
                    bestDist=myPlayer.position.current.distance(bestTarget.position.current);
                }else this._overrideTarget=null;
            }
            if(this.suppressAutoBreak&&!bestTarget){this._exitMode(tempData);return;}

            if(!bestTarget){
                const pos=myPlayer.position.current;
                let baseRange=BreakMode.WEAPON_BREAK_DIST[weaponId]; if(typeof baseRange!=="number") baseRange=220;
                const myReach=baseRange+(myPlayer.hitScale||0)+20, searchRadius=Math.round(myReach+40);
                let objects=ObjectManager.retrieveObjects(pos,searchRadius)||[];
                for(const obj of objects){
                    try{
                        if(this._ignoredIDs.has(obj.id)) continue;
                        if(!obj.isDestroyable||!PlayerManager.isEnemyByID(obj.ownerID,myPlayer)) continue;
                        const d=pos.distance(obj.position.current); if(d>myReach) continue;
                        if(d<bestDist){bestDist=d; bestTarget=obj;}
                    }catch(e){continue;}
                }
            }

            let target=bestTarget; if(!target){this._exitMode(tempData);return;}
            if(tempData&&!tempData.disableWeaponSync) tempData.setWeaponSyncStatus(true);

            const tgtId=target.id??target.ownerID;
            if(ModuleHandler.currentHolding!==weaponSlot){ModuleHandler.whichWeapon(weaponSlot);this._lastWeapon=weaponId;return;}

            const attackCooldown=(myPlayer.weaponCooldown||300)*0.85, currentTime=Date.now();
            if(currentTime<this._lastAttackTime+attackCooldown) return;
            this._lastTargetId=tgtId;

            const preAttackHat=myPlayer.hatID, isEquipped=ModuleHandler.equip(0,40);
            const ang=myPlayer.position.current.angle(target.position.current);
            ModuleHandler.updateAngle(ang,true); ModuleHandler.attack(ang); this._lastAttackTime=currentTime;

            if(isEquipped&&preAttackHat!==40){
                setTimeout(()=>{if(this.client&&this.client.myPlayer) ModuleHandler.equip(0,preAttackHat);},90);
            }
        }catch(outer){console.error("[BreakMode] Error:",outer);this._exitMode(tempData);}
    }
}
const bot_modules_BreakMode=BreakMode;

// Синхронизируем радиусы оружий в массиве `Weapons` с реальными значениями из BreakMode (или Items)
try {
    if (typeof Weapons !== 'undefined') {
        const __syncWeaponRanges = () => {
            try {
                if (typeof BreakMode !== 'undefined' && BreakMode.WEAPON_BREAK_DIST) {
                    for (let w of Weapons) {
                        const br = BreakMode.WEAPON_BREAK_DIST[w.id];
                        if (typeof br === 'number') {
                            w.range = br;
                        } else if (typeof Items !== 'undefined' && Items[w.id] && typeof Items[w.id].range === 'number') {
                            w.range = Items[w.id].range;
                        }
                    }
                    console.log('[Aibm] Weapons ranges synced from BreakMode.');
                }
            } catch (e) { /* ignore */ }
        };

        // Утилита для рисования креста — делает глобальный маркер, который читает рендерер
        window.__aibm_drawCross = function(x, y, color, size, duration) {
            try {
                const now = Date.now();
                const dur = duration || 3000;
                // timed cross stores target and current position for smoothing
                const prev = window.__aibm_instaCross;
                window.__aibm_instaCross = {
                    x: (prev && typeof prev.x === 'number') ? prev.x : x,
                    y: (prev && typeof prev.y === 'number') ? prev.y : y,
                    targetX: x,
                    targetY: y,
                    color: color || '#ff6666',
                    size: size || 50,
                    thickness: 8,
                    until: now + dur,
                    lastUpdated: now
                };
            } catch (e) {}
        };

        // Персистентный крест — всегда рисуется, пока active=true
        window.__aibm_drawCrossPersistent = function(x, y, color, size, thickness) {
            try {
                const prev = window.__aibm_instaCrossPersistent;
                window.__aibm_instaCrossPersistent = {
                    x: (prev && typeof prev.x === 'number') ? prev.x : x,
                    y: (prev && typeof prev.y === 'number') ? prev.y : y,
                    targetX: x,
                    targetY: y,
                    color: color || '#ff6666',
                    size: size || 60,
                    thickness: thickness || 10,
                    active: true,
                    lastUpdated: Date.now()
                };
            } catch (e) {}
        };

        // Очистка персистентного креста
        window.__aibm_clearCrossPersistent = function() {
            try { window.__aibm_instaCrossPersistent = null; } catch (e) {}
        };

        __syncWeaponRanges();
    }
} catch (e) {}
    class AutoAccept {
        name="autoAccept";
        client;
        acceptCount=0;
        constructor(client) {
            this.client = client;
        }
        postTick() {
            const {myPlayer, clientIDList, SocketManager, isOwner} = this.client;
            if (!myPlayer.isLeader || 0 === myPlayer.joinRequests.length) {
                return;
            }
            const id = myPlayer.joinRequests[0][0];
            if (0 === this.acceptCount) {
                if (Settings.autoaccept || 0 !== myClient.pendingJoins.size) {
                    SocketManager.clanRequest(id, Settings.autoaccept || clientIDList.has(id));
                    myPlayer.joinRequests.shift();
                    myClient.pendingJoins["delete"](id);
                    if (isOwner) {
                        UI_GameUI.clearNotication();
                    }
                }
                const nextID = myPlayer.joinRequests[0];
                if (isOwner && void 0 !== nextID) {
                    UI_GameUI.createRequest(nextID);
                }
            }
            this.acceptCount = (this.acceptCount + 1) % 7;
        }
    }
    const modules_AutoAccept = AutoAccept;
    // Используется для синхронизации желаемого состояния бота с игровым миром.
class TempData {
    name = "tempData";
    client;
    weapon = 0;
    store = [0, 0]; // store[0] = hat, store[1] = accessory
    // ⭐ ИСПРАВЛЕНИЕ: По умолчанию синхронизация РАЗРЕШЕНА (false).
    // Grinder будет блокировать её (true), когда активен.
    disableWeaponSync = false;

    constructor(client) {
        this.client = client;
    }

    // ⭐ МЕТОД: Для установки флага блокировки (оставлен для совместимости с другими модулями, например, Grinder)
    setWeaponSyncStatus(disabled) {
        this.disableWeaponSync = disabled;
    }

    setWeapon(weapon) {
        this.weapon = weapon;
        this.updateWeapon();
    }
    setAttacking(attacking) {
        const {ModuleHandler} = this.client;
        if (ModuleHandler.attacking === attacking) {
            return;
        }
        ModuleHandler.attacking = attacking;
        if (0 !== attacking) {
            ModuleHandler.attackingState = attacking;
        }
    }
    setStore(type, id) {
        this.store[type] = id;
        // 🔥 ИЗМЕНЕНИЕ: Если это владелец, синхронизируем данные со всеми ботами
        if (this.client.isOwner) {
            if (typeof window.setOwnerCommanderField === 'function') {
                const field = type === 0 ? 'hatID' : 'accessoryID';
                // Допустим, мы храним эти ID в 'tempData.hatID' / 'tempData.accessoryID'
                setOwnerCommanderField('all', `tempData.${field}`, id);
            }
        }

        // Вызываем handleBuy, как было, но в postTick мы его заблокируем для ботов
        this.handleBuy(type);
    }

    updateWeapon() {
        const {ModuleHandler} = this.client;

        // Паузим синхронизацию оружия если Autobreak ломает ловушку
        try {
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}

        // ⭐ ГЛАВНАЯ ПРОВЕРКА: Если Grinder установил этот флаг в true, выходим (для всех).
        if (this.disableWeaponSync) return;

        try {
            // ЛОГИКА ДЛЯ БОТОВ:
            if (!this.client.isOwner) {
                // ⭐ НОВЫЙ КОНТРОЛЬ: Проверяем новую настройку для включения/выключения синхронизации у ботов
                let botSyncEnabled = true;
                try {
                    // Предполагаем, что настройка будет в Settings.botWeaponSync
                    // Если настройка существует и выключена (false), отключаем синхронизацию
                    if (typeof Settings !== 'undefined' && Settings.botWeaponSync === false) {
                        botSyncEnabled = false;
                    }
                } catch (e) {}

                if (botSyncEnabled) {
                    // Если синхронизация разрешена: бот копирует оружие владельца (myClient)
                    if (typeof myClient !== 'undefined' && myClient.ModuleHandler) {
                        const ownerHold = myClient.ModuleHandler.currentHolding;
                        if (typeof ownerHold === 'number' && ModuleHandler.currentHolding !== ownerHold) {
                            ModuleHandler.whichWeapon(ownerHold);
                        }
                    }
                }
                return;
            }

            // ЛОГИКА ДЛЯ ВЛАДЕЛЬЦА:
            // Если флаг disableWeaponSync === false, владелец меняет оружие на основе this.weapon (нажатая клавиша)
            if (ModuleHandler.weapon !== this.weapon) {
                ModuleHandler.whichWeapon(this.weapon);
            }
        } catch (e) {
            // молча игнорируем ошибки
        }
    }

    handleBuy(type) {
        const {ModuleHandler} = this.client;
        const id = this.store[type];
        const store = ModuleHandler.store[type];
        if (store.actual === id) {
            return;
        }
        const temp = ModuleHandler.canBuy(type, id) ? id : 0;
        ModuleHandler.equip(type, temp, true);
    }

    postTick() {
        // Если Autobreak ломает ловушку — пауза
        try {
            const ModuleHandler = this.client.ModuleHandler;
            const ab = ModuleHandler.staticModules && ModuleHandler.staticModules.autoBreak;
            if (ab && ab.breakingTrap) return;
        } catch (e) {}

        const ownerCommander = getOwnerCommanderFor(this.client);

        // 🔥 ЛОГИКА СИНХРОНИЗАЦИИ ЭКИПИРОВКИ (ОБЩАЯ)
        if (this.client.isOwner) {
            // ВЛАДЕЛЕЦ: Просто применяет свои собственные нажатия (из setStore)
            this.handleBuy(0);
            this.handleBuy(1);
        } else if (ownerCommander && ownerCommander.tempData) {
            // БОТ: Копируем ID шапок/аксов из данных владельца
            const ownerTempData = ownerCommander.tempData;

            // Шапка (тип 0)
            if (ownerTempData.hatID !== undefined && this.store[0] !== ownerTempData.hatID) {
                this.store[0] = ownerTempData.hatID;
                this.handleBuy(0);
            }

            // Аксессуар (тип 1)
            if (ownerTempData.accessoryID !== undefined && this.store[1] !== ownerTempData.accessoryID) {
                this.store[1] = ownerTempData.accessoryID;
                this.handleBuy(1);
            }
        }
    }
}
const bot_modules_TempData = TempData;
    class Reloading {
        name="reloading";
        client;
        clientReload={
            primary: {},
            secondary: {},
            turret: {}
        };
        constructor(client) {
            this.client = client;
            const {primary, secondary, turret} = this.clientReload;
            primary.current = primary.max = 0;
            secondary.current = secondary.max = 0;
            turret.current = turret.max = 2500;
        }
        get currentReload() {
            const type = WeaponTypeString[this.client.ModuleHandler.weapon];
            return this.clientReload[type];
        }
        updateMaxReload(reload) {
            const {ModuleHandler, myPlayer} = this.client;
            if (ModuleHandler.attacked) {
                const id = myPlayer.getItemByType(ModuleHandler.weapon);
                const store = ModuleHandler.getHatStore();
                const speed = myPlayer.getWeaponSpeed(id, store.last);
                reload.max = speed;
            }
        }
        resetReload(reload) {
            const {PlayerManager} = this.client;
            reload.current = -PlayerManager.step;
        }
        resetByType(type) {
            const reload = this.clientReload[type];
            this.resetReload(reload);
        }
        isReloaded(type) {
            const reload = this.clientReload[type];
            return reload.current === reload.max;
        }
        increaseReload(reload, step) {
            reload.current += step;
            if (reload.current > reload.max) {
                reload.current = reload.max;
            }
        }
        postTick() {
            const {ModuleHandler, PlayerManager} = this.client;
            this.increaseReload(this.clientReload.turret, PlayerManager.step);
            if (ModuleHandler.holdingWeapon) {
                this.increaseReload(this.currentReload, PlayerManager.step);
            }
        }
    }
    const modules_Reloading = Reloading;
// ======= Autobreak (игрок переключает, боты ломают чем есть) =======
class Autobreak {
    name = "autoBreak";
    client;

    // Состояние
    isActive = false;
    breakingTrap = false;

    // Для таймингов атаки
    _lastAttackTime = 0;
    // 🔥 НОВОЕ: Переменная для хранения ID таймаута возврата шляпы
    _hatTimeoutID = null;

    // Бэкап
    prevHat = null;

    // 🔥 НОВЫЙ МЕТОД: для получения кулдауна (оставлен без изменений)
    _getWeaponCooldown(weaponSlot) {
        const { myPlayer } = this.client;
        if (!myPlayer) return 300;

        try {
            const weaponID = myPlayer.getItemByType(weaponSlot);
            if (typeof myPlayer.getWeaponSpeed === 'function') {
                return myPlayer.getWeaponSpeed(weaponID);
            }
        } catch (e) { /* Игнорируем ошибку, возвращаем дефолт */ }

        return 300;
    }

    constructor(client) {
        this.client = client;
    }

    // Проверка: находится ли игрок внутри ловушки (Trap) (оставлен без изменений)
    isInTrap(player, trap) {
        try {
            const p = player.position.current;
            const t = trap.position.current;
            const dist = Math.hypot(p.x - t.x, p.y - t.y);
            const scale = trap.scale || 40;
            return dist <= scale + 6;
        } catch {
            return false;
        }
    }

    // Метод выхода из режима (сброс состояния)
    _exitMode() {
        // 🔥 ИЗМЕНЕНИЕ 1: Очищаем висящий таймаут, если он есть
        if (this._hatTimeoutID !== null) {
            clearTimeout(this._hatTimeoutID);
            this._hatTimeoutID = null;
        }

        if (this.breakingTrap) {
            this.breakingTrap = false;

            // Отмена текущей атаки
            try { this.client.ModuleHandler.attack(null); } catch (e) {}

            // Пытаемся вернуть шапку, если она была сохранена
            if (this.prevHat !== null) {
                try {
                    // Принудительно возвращаем, чтобы отменить возможный Tank Gear
                    this.client.ModuleHandler.equip(0, this.prevHat);
                } catch (e) {}
            }
            this.prevHat = null;
            // Сброс времени атаки, чтобы первый удар был немедленным при следующем входе
            this._lastAttackTime = 0;

            // Отпускаем управление модулем
            try { this.client.ModuleHandler.moduleActive = false; } catch (e) {}
        }
        this.isActive = false;
    }

    postTick() {
        // 1. Проверка настройки и выход
        if (typeof Settings !== 'undefined' && Settings.autobreak === false) {
            this._exitMode();
            return;
        }

        const { EnemyManager, myPlayer, ModuleHandler } = this.client;
        if (!myPlayer || !myPlayer.inGame) return;

        const trap = EnemyManager.nearestTrap;

        // 2. Если ловушки нет или мы не в ней -> выходим
        if (!trap || !this.isInTrap(myPlayer, trap)) {
            this._exitMode();
            return;
        }

        // 3. МЫ В ЛОВУШКЕ!
        this.isActive = true;
        this.breakingTrap = true;
        ModuleHandler.moduleActive = true;

        try {
            // --- A. ВЫБОР ОРУЖИЯ ---
            let weaponSlot = null;
            try { weaponSlot = myPlayer.getBestDestroyingWeapon(); } catch (e) {}
            if (weaponSlot === null) weaponSlot = ModuleHandler.weapon;

            // Смена оружия
            if (ModuleHandler.currentHolding !== weaponSlot) {
                ModuleHandler.whichWeapon(weaponSlot);
                return;
            }

            // --- B. ЦЕЛИМСЯ ---
            const angle = myPlayer.position.current.angle(trap.position.current);
            ModuleHandler.useAngle = angle;
            ModuleHandler.updateAngle(angle, true);

            // --- C. ТАЙМИНГ УДАРА (Гарантированная перезарядка) ---
            const attackCooldown = this._getWeaponCooldown(weaponSlot);

            // 🔥 ИЗМЕНЕНИЕ 2: Убрал -50мс запаса. Сравниваем точно с кулдауном.
            const readyTime = this._lastAttackTime + attackCooldown;
            const currentTime = Date.now();

            // Мы должны бить не раньше, чем кулдаун сбросится
            if (currentTime < readyTime) {
                // ВАЖНО: Мы здесь, значит, Tank Gear, надетый в прошлом тике,
                // уже должен был быть снят таймаутом, если он сработал.
                // В этом состоянии мы находимся в обычной шапке.
                return;
            }

            // --- D. УДАР (С надеванием Tank Gear) ---

            // 1. Очищаем старый таймаут, если он не сработал вовремя
            if (this._hatTimeoutID !== null) {
                clearTimeout(this._hatTimeoutID);
                this._hatTimeoutID = null;
            }

            // 2. Сохраняем текущую шапку, если мы не в Tank Gear.
            // При этом, если Tank Gear был надет, он должен был быть снят.
            // Это должно быть ID обычной шляпы.
            let savedHatID = myPlayer.hatID;
            if (savedHatID === 40 && this.prevHat !== null) {
                 savedHatID = this.prevHat; // Если Tank Gear каким-то образом застрял
            }
            if (savedHatID !== 40) {
                 this.prevHat = savedHatID;
            } else {
                 this.prevHat = null;
            }


            // 3. Надеваем Tank Gear (ID 40)
            const isEquipped = ModuleHandler.equip(0, 40);

            // 4. Бьем!
            ModuleHandler.attack(angle);
            this._lastAttackTime = currentTime;

            // 5. Возвращаем старую шапку через ~90-100мс
            if (isEquipped && this.prevHat !== null && this.prevHat !== 40) {
                const hatToRestore = this.prevHat;
                // 🔥 ИЗМЕНЕНИЕ 3: Сохраняем ID нового таймаута
                this._hatTimeoutID = setTimeout(() => {
                    // Проверяем, что мы все еще в режиме ломания, прежде чем возвращать
                    if (this.client && this.client.myPlayer && this.breakingTrap) {
                        ModuleHandler.equip(0, hatToRestore);
                    }
                    this._hatTimeoutID = null; // Сбрасываем ID после выполнения
                // Немного увеличим задержку до 100мс, чтобы дать серверу больше времени
                }, 190);
            }

        } catch (e) {
            console.error('[Autobreak] Error:', e);
            this._exitMode();
        }
    }
}
const modules_Autobreak = Autobreak;
    class SpikeTick {
        name="spikeTick";
        client;
        isActive=false;
        tickAction=0;
        constructor(client) {
            this.client = client;
        }
        postTick() {}
    }
    const modules_SpikeTick = SpikeTick;
    class PreAttack {
        name="preAttack";
        client;
        constructor(client) {
            this.client = client;
        }
        postTick() {
            const {ModuleHandler} = this.client;
            const {moduleActive, useWeapon, weapon, previousWeapon, attackingState, staticModules} = ModuleHandler;
            const type = moduleActive ? useWeapon : weapon;
            const stringType = WeaponTypeString[type];
            const shouldAttack = 0 !== attackingState || moduleActive;
            let isReloaded = staticModules.reloading.isReloaded(stringType);
            // Разрешаем атаку для Autobreak даже если reload не полностью заряжен,
            // чтобы ломка была непрерывной по таймингу ломания, а не по перезарядке.
            try {
                const ab = staticModules.autoBreak;
                if (moduleActive && ab && ab.breakingTrap) {
                    isReloaded = true;
                }
            } catch (e) {}
            ModuleHandler.canAttack = shouldAttack && isReloaded;
            if (null === useWeapon && null !== previousWeapon && staticModules.reloading.isReloaded(WeaponTypeString[weapon])) {
                ModuleHandler.whichWeapon(previousWeapon);
                ModuleHandler.previousWeapon = null;
            }
        }
    }
    const modules_PreAttack = PreAttack;
    // ======= HatSync =======
class HatSync {
    name = 'hatSync';
    client;
    _lastSync = 0;
    _SYNC_INTERVAL = 0; // 0 (синхронизация каждый тик)

    constructor(client) {
        this.client = client;
    }

    postTick() {
        try {
            // Только для ботов (не владельца!)
            if (!this.client.isOwner && this.client.myPlayer && myClient && myClient.myPlayer) {

                // ⭐ ПРОВЕРКА ПАУЗЫ: Если Bowspam активен, выходим
                const mh = this.client.ModuleHandler;
                if (mh && mh._bowspamActive) {
                    return;
                }

                // Если Autobreak ломает ловушку у этого бота — не синхронизируем
                try {
                    const ab = mh && mh.staticModules && mh.staticModules.autoBreak;
                    if (ab && ab.breakingTrap) return;
                } catch (e) {}

                const now = Date.now();
                if (now - this._lastSync > this._SYNC_INTERVAL) {
                    this._lastSync = now;

                    let hatIdToEquip;
                    let hatSyncEnabled = true;

                    // 1. Определяем, включена ли синхронизация шапок (HatSync)
                    try {
                        if (typeof Settings !== 'undefined' && Settings.botHatSync === false) {
                            hatSyncEnabled = false;
                        }
                    } catch (e) {}

                    if (hatSyncEnabled) {
                        // 2. Режим СИНХРОНИЗАЦИИ: используем шапку владельца.
                        hatIdToEquip = myClient.myPlayer.hatID;
                    } else {
                        // 3. Режим АВТОВЫБОРА: используем собственную логику бота.
                        const botPlayer = this.client.myPlayer;

                        // Приоритет 1: Utility Hat (для боя/строительства)
                        hatIdToEquip = botPlayer.getBestUtilityHat();

                        // Приоритет 2: Current Hat (для биомов/дефолтный выбор), если Utility не подошел
                        if (hatIdToEquip === null || typeof hatIdToEquip !== 'number') {
                            hatIdToEquip = botPlayer.getBestCurrentHat();
                        }
                    }

                    // 4. Экипируем, если ID является числом и отличается от текущего
                    if (typeof hatIdToEquip === 'number' && this.client.myPlayer.hatID !== hatIdToEquip) {
                        // Тип 0 - это шапка (Hat)
                        this.client.ModuleHandler && this.client.ModuleHandler.equip && this.client.ModuleHandler.equip(0, hatIdToEquip);
                    }
                }
            }
        } catch(e) { /* ignore */ }
    }
}
const modules_HatSync = HatSync;

// --- ИСПРАВЛЕННЫЙ КЛАСС ДЛЯ АКСЕССУАРОВ ---
class AccSync {
    name = 'accSync';
    client;
    _lastSync = 0;
    _SYNC_INTERVAL = 0; // 0 (синхронизация каждый тик)

    constructor(client) {
        this.client = client;
    }

    postTick() {
        try {
            // Только для ботов (не владельца!)
            if (!this.client.isOwner && this.client.myPlayer && myClient && myClient.myPlayer) {
                // Если Autobreak ломает ловушку у этого бота — не синхронизируем
                try {
                    const mh = this.client.ModuleHandler;
                    const ab = mh && mh.staticModules && mh.staticModules.autoBreak;
                    if (ab && ab.breakingTrap) return;
                } catch (e) {}

                const now = Date.now();
                if (now - this._lastSync > this._SYNC_INTERVAL) {
                    this._lastSync = now;

                    let accIdToEquip;
                    let accSyncEnabled = true;

                    // 1. Определяем, включена ли синхронизация аксессуаров (AccSync)
                    try {
                        if (typeof Settings !== 'undefined' && Settings.botAccSync === false) {
                            accSyncEnabled = false;
                        }
                    } catch (e) {}

                    if (accSyncEnabled) {
                        // 2. Режим СИНХРОНИЗАЦИИ: используем аксессуар владельца.
                        // ⭐ КРИТИЧНОЕ ИСПРАВЛЕНИЕ: Используем accessoryID, как для HatSync используется hatID.
                        accIdToEquip = myClient.myPlayer.accessoryID;
                    } else {
                        // 3. Режим АВТОВЫБОРА: используем собственную логику бота.
                        const botPlayer = this.client.myPlayer;

                        // Приоритет 1: Utility Acc
                        accIdToEquip = botPlayer.getBestUtilityAcc();

                        // Приоритет 2: Current Acc (атака/фарм), если Utility не подошел
                        if (accIdToEquip === null || typeof accIdToEquip !== 'number') {
                            accIdToEquip = botPlayer.getBestCurrentAcc();
                        }
                    }

                    // 4. Экипируем, если ID является числом и отличается от текущего
                    if (typeof accIdToEquip === 'number' && this.client.myPlayer.accessoryID !== accIdToEquip) {
                        // Тип 1 - это аксессуар (Accessory)
                        this.client.ModuleHandler && this.client.ModuleHandler.equip && this.client.ModuleHandler.equip(1, accIdToEquip);
                    }
                }
            }
        } catch(e) { /* ignore */ }
    }
}
const modules_AccSync = AccSync;
//// Обновленный класс AutoShield
//class AutoShield {
//    name = "autoShield";
//    client;
//    isActive = false;
//    isShieldHolding = false;
//    previousWeaponType = 0;
//
//    shieldHoldTimer = 0;    // Таймер для минимального времени удержания
//
//    static SHIELD_ITEM_TYPE = 11;
//    static SHIELD_SLOT_INDEX = 1;
//
//    // Константы
//    static ATTACK_PREDICT_RANGE = 250;
//    static ATTACK_CONE_ANGLE = Math.PI / 3;
//
//    // КОНСТАНТЫ ДЛЯ РАСЧЕТА
//    static SHIELD_HOLD_TICKS_DEFAULT = 5; // Минимальное время удержания в тиках
//    static MS_PER_TICK = 50; // Предполагаем, что 1 тик = 50 мс
//
//    // Карта оружия для динамического расчета задержек
//    static WEAPON_MAP = WEAPON_MAP;
//
//    // --- ЛОГИРОВАНИЕ ---
//    _logEnabled() {
//        try {
//            return (typeof Settings === 'undefined') || (Settings.autoshieldDebug !== false);
//        } catch (e) { return true; }
//    }
//    _log(msg) {
//        if (!this._logEnabled()) return;
//        try { console.log('[AutoShield] ' + msg); } catch (e) {}
//    }
//
//    constructor(client) {
//        this.client = client;
//    }
//
//    enable() {
//        this.isActive = true;
//        this._log('Enabled');
//    }
//
//    disable() {
//        this.isActive = false;
//        if (this.isShieldHolding) {
//            try {
//                // 1. Остановка блока
//                this.client.ModuleHandler.stopAttack();
//
//                // 2. Восстановление предыдущего оружия
//                const ModuleHandler = this.client.ModuleHandler;
//                if (ModuleHandler.currentHolding !== this.previousWeaponType) {
//                    if (this.previousWeaponType === 0 || this.previousWeaponType === 1) {
//                        ModuleHandler.whichWeapon(this.previousWeaponType);
//                    } else {
//                        ModuleHandler.selectItem(this.previousWeaponType);
//                    }
//                    this._log('Cleanup: Block stopped, weapon restored to type ' + this.previousWeaponType);
//                } else {
//                    this._log('Cleanup: Block stopped, weapon already restored.');
//                }
//
//            } catch (e) {
//                this._log('Error during disable cleanup: ' + e);
//            }
//        }
//        // Сброс всех флагов
//        this.isShieldHolding = false;
//        this.previousWeaponType = 0;
//        this.shieldHoldTimer = 0;
//
//        // Сброс принудительного наведения
//        if (this.client.ModuleHandler.useAngle !== null) {
//            this.client.ModuleHandler.useAngle = null;
//        }
//
//        // Сбрасываем флаг управления
//        if (this.client.ModuleHandler.moduleActive) {
//            this.client.ModuleHandler.moduleActive = false;
//            this._log('Cleanup: Module control released.');
//        }
//
//        this._log('Disabled');
//    }
//
//    getAngleDist(a1, a2) {
//        let diff = a1 - a2;
//        while (diff > Math.PI) diff -= 2 * Math.PI;
//        while (diff < -Math.PI) diff += 2 * Math.PI;
//        return Math.abs(diff);
//    }
//
//    /**
//     * Возвращает количество тиков, которое нужно удерживать щит
//     * после исчезновения угрозы, на основе скорости оружия противника.
//     * Это буфер, чтобы покрыть следующий тик/серию ударов.
//     */
//    _getHoldTicks(enemy) {
//        // Предполагаем, что у объекта enemy есть свойство currentWeaponId или weaponIndex
//        const currentWeaponId = enemy.currentWeaponId || enemy.weaponIndex;
//        let fastestSpeed = Infinity;
//
//        // 1. Пробуем получить скорость текущего оружия врага
//        if (currentWeaponId !== undefined && AutoShield.WEAPON_MAP[currentWeaponId]) {
//            fastestSpeed = AutoShield.WEAPON_MAP[currentWeaponId].speed;
//        } else {
//             // 2. Фолбэк: Ищем самое быстрое оружие, которое может быть у игрока (Daggers: 100ms)
//            const daggers = AutoShield.WEAPON_MAP[7];
//            if (daggers) {
//                fastestSpeed = daggers.speed;
//            }
//        }
//
//        // Если не удалось найти скорость, используем дефолтный минимум (5 тиков)
//        if (fastestSpeed === Infinity || fastestSpeed === 0) {
//            return AutoShield.SHIELD_HOLD_TICKS_DEFAULT;
//        }
//
//        // Расчет: (Скорость в мс / 50мс на тик) + 1-2 тика буфера.
//        // Это гарантирует, что мы заблокируем даже очень быстрые атаки.
//        const calculatedTicks = Math.ceil(fastestSpeed / AutoShield.MS_PER_TICK) + 2; // +2 тика буфера
//
//        // Гарантируем, что минимум не меньше 5 для общей безопасности.
//        return Math.max(calculatedTicks, AutoShield.SHIELD_HOLD_TICKS_DEFAULT);
//    }
//
//    /**
//     * Проверяет, представляет ли противник непосредственную угрозу.
//     */
//    isThreat(myPlayer, enemy) {
//        // Проверка 1: Может ли противник нас убить/нанести критический урон?
//        if (enemy.danger < 1) return false;
//
//        // Проверка 2: Должно ли оружие противника быть перезаряжено?
//        const primaryReloaded = enemy.isReloaded("primary");
//        const secondaryReloaded = enemy.isReloaded("secondary");
//        const hasReadyWeapon = primaryReloaded || secondaryReloaded;
//
//        // Угроза есть, если хотя бы одно оружие готово, ИЛИ это Instakill-угроза
//        if (!hasReadyWeapon && enemy.danger < 3) {
//             return false;
//        }
//
//        const myPos = myPlayer.position.current;
//        const enemyPos = enemy.position.current;
//
//        // Определяем максимальную дальность атаки противника, включая масштаб.
//        const enemyMaxRange = enemy.getMaxWeaponRange() + myPlayer.scale;
//        const effectiveRange = Math.min(AutoShield.ATTACK_PREDICT_RANGE, enemyMaxRange + 50);
//
//        // Проверка 3: Дистанция
//        const distSq = (myPos.x - enemyPos.x) ** 2 + (myPos.y - enemyPos.y) ** 2;
//        if (distSq > effectiveRange * effectiveRange) return false;
//
//        // Проверка 4: Наведение.
//        const angleToMe = Math.atan2(myPos.y - enemyPos.y, myPos.x - enemyPos.x);
//        const enemyAngle = enemy.angle;
//        const angleDiff = this.getAngleDist(angleToMe, enemyAngle);
//
//        // Мы являемся угрозой, если находимся в конусе атаки
//        return angleDiff <= AutoShield.ATTACK_CONE_ANGLE / 2;
//    }
//
//    postTick() {
//        if (typeof Settings !== 'undefined' && !Settings.autoShield) {
//            if (this.isShieldHolding) this.disable();
//            this.isActive = false;
//            return;
//        }
//
//        const {myPlayer, EnemyManager, ModuleHandler} = this.client;
//
//        if (!myPlayer || !myPlayer.inGame) {
//            if (this.isShieldHolding) this.disable();
//            return;
//        }
//
//        if (ModuleHandler.moduleActive && !this.isShieldHolding) return;
//
//        // 1. Поиск угрозы
//        let isDanger = false;
//        let mostDangerousEnemy = null;
//        let minDistanceSq = Infinity;
//        const myPos = myPlayer.position.current;
//
//        for (const enemy of EnemyManager.dangerousEnemies) {
//            if (this.isThreat(myPlayer, enemy)) {
//                const enemyPos = enemy.position.current;
//                const distSq = (myPos.x - enemyPos.x) ** 2 + (myPos.y - enemyPos.y) ** 2;
//
//                if (distSq < minDistanceSq) {
//                    minDistanceSq = distSq;
//                    mostDangerousEnemy = enemy;
//                }
//                isDanger = true;
//                break;
//            }
//        }
//
//        // --- ЛОГИКА АКТИВАЦИИ/УДЕРЖАНИЯ ЩИТА ---
//        if (isDanger && mostDangerousEnemy) {
//            this.isActive = true;
//
//            // Динамически устанавливаем таймер удержания на основе оружия врага
//            this.shieldHoldTimer = this._getHoldTicks(mostDangerousEnemy);
//
//            // Занимаем управление игроком
//            ModuleHandler.moduleActive = true;
//
//            // Определяем угол, куда нужно направить щит (на врага)
//            const threatAngle = Math.atan2(mostDangerousEnemy.position.current.y - myPos.y, mostDangerousEnemy.position.current.x - myPos.x);
//
//            // Устанавливаем и принудительно отправляем угол (наведение)
//            try {
//                ModuleHandler.useAngle = threatAngle;
//                // ОТПРАВЛЯЕМ УГОЛ
//                ModuleHandler.updateAngle && ModuleHandler.updateAngle(threatAngle, true);
//            } catch (e) {
//                this._log('Error setting shield angle: ' + e);
//            }
//
//            if (!this.isShieldHolding) {
//                this._log('Threat detected. Switching to shield (Slot ' + AutoShield.SHIELD_SLOT_INDEX + ').');
//
//                // 1. Сохраняем текущее оружие/предмет
//                this.previousWeaponType = ModuleHandler.currentHolding;
//
//                // 2. Выбираем щит, используя whichWeapon (выбор слота)
//                ModuleHandler.whichWeapon(AutoShield.SHIELD_SLOT_INDEX);
//
//                // 3. Активируем блок (УДЕРЖАНИЕ).
//                ModuleHandler.attack(null, 1);
//
//                // 4. Флаг, что мы держим щит
//                this.isShieldHolding = true;
//            }
//            // УДАЛЕНО: постоянное ModuleHandler.attack(null, 1) по вашему запросу.
//
//        } else {
//            // Угрозы нет. Начинаем или продолжаем отсчет таймера.
//            if (this.isShieldHolding) {
//                if (this.shieldHoldTimer > 0) {
//                    // Угроза исчезла, но мы продолжаем держать щит на время задержки
//                    this.shieldHoldTimer--;
//                    // Продолжаем удерживать блок для завершения блокировки
//                    ModuleHandler.attack(null, 1);
//                    this._log(`No threat, holding shield for ${this.shieldHoldTimer} more ticks (post-hit delay).`);
//                } else {
//                    // Таймер истек, угрозы нет, отключаем щит.
//                    this.disable();
//                }
//            }
//            this.isActive = false;
//        }
//    }
//}
//const modules_AutoShield = AutoShield;

//    class AutoHeal {
//    name = "autoHeal";
//    client;
//
//    // Тайминг последнего лечения
//    _lastHealTime = 0;
//
//    constructor(client) {
//        this.client = client;
//    }
//
//    postTick() {
//        const { myPlayer, ModuleHandler, EnemyManager } = this.client;
//
//        // 1. Базовые проверки: Жив ли игрок?
//        if (!myPlayer || !myPlayer.inGame || myPlayer.currentHealth <= 0) {
//            return;
//        }
//
//        // 2. Жесткий блок: Если на нас Шапка Позора, сервер блокирует лечение.
//        if (myPlayer.shameActive) {
//            return;
//        }
//
//        // 3. Если здоровье полное, ничего делать не надо
//        if (myPlayer.currentHealth >= myPlayer.maxHealth) {
//            return;
//        }
//
//        // 4. ПРОВЕРКА ЕДЫ: Если еды нет, не пытаемся лечиться (избегаем ударов в воздух)
//        // Тип 2 в hasItemCountForType отвечает за еду (Food Group)
//        if (!myPlayer.hasItemCountForType(2)) {
//            return;
//        }
//
//        // ========================================================================
//        // 🧠 ДИНАМИЧЕСКАЯ СКОРОСТЬ
//        // ========================================================================
//
//        const now = Date.now();
//
//        // Базовая задержка (обычное спокойное лечение)
//        let healDelay = 400;
//
//        // Анализ ситуации
//        const isLowHp = myPlayer.currentHealth < 20;
//        const isDanger = EnemyManager.dangerousEnemies.length > 0 || EnemyManager.detectedEnemy;
//        const highShame = myPlayer.shameCount >= 3; // Порог, когда надо быть осторожным (макс 7)
//
//        // Логика выбора скорости
//        if (isLowHp) {
//            // КРИТИЧНО: Плевать на shame, спасаем жизнь!
//            healDelay = 100;
//        } else if (isDanger) {
//            // БОЙ: Лечимся быстро, но если shame высокий, чуть притормаживаем, чтобы не получить блок
//            healDelay = highShame ? 400 : 150;
//        } else {
//            // СПОКОЙСТВИЕ: Если shame растет, сильно замедляемся, чтобы сбросить его
//            if (highShame) {
//                healDelay = 450;
//            }
//        }
//
//        // ========================================================================
//        // ВЫПОЛНЕНИЕ
//        // ========================================================================
//
//        if (now - this._lastHealTime > healDelay) {
//            // Проверка healedOnce (чтобы не конфликтовать с AntiInsta в одном тике)
//            if (!ModuleHandler.healedOnce) {
//
//                // Лечимся и возвращаем оружие (true)
//                ModuleHandler.heal(true);
//
//                ModuleHandler.healedOnce = true;
//                this._lastHealTime = now;
//            }
//        }
//    }
//}
//const modules_AutoHeal = AutoHeal;

    class ModuleHandler {
        client;
        staticModules={};
        botModules;
        modules;
        hotkeys=new Map;
        store=[ {
            utility: new Map,
            lastUtility: null,
            current: 0,
            best: 0,
            actual: 0,
            last: 0
        }, {
            utility: new Map,
            lastUtility: null,
            current: 0,
            best: 0,
            actual: 0,
            last: 0
        } ];
        actionPlanner=new modules_ActionPlanner;
        bought=[ new Set, new Set ];
        currentHolding=0;
        weapon;
        currentType;
        autoattack=false;
        rotation=true;
        cursorAngle=0;
        reverseCursorAngle=0;
        lockPosition=false;
        lockedPosition=new modules_Vector(0, 0);
        move;
        attacking;
        attackingState;
        sentAngle;
        sentHatEquip;
        sentAccEquip;
        needToHeal;
        didAntiInsta;
        placedOnce;
        healedOnce;
        totalPlaces;
        attacked;
        canAttack=false;
        canHitEntity=false;
        moduleActive=false;
        useAngle=0;
        useWeapon=null;
        previousWeapon=null;
        mouse={
            x: 0,
            y: 0,
            lockX: 0,
            lockY: 0,
            _angle: 0,
            angle: 0,
            sentAngle: 0
        };
        constructor(client) {
            this.client = client;
            this.staticModules = {
                tempData: new bot_modules_TempData(client),
               //autoHeal: new modules_AutoHeal(client),
                movement: new bot_modules_Movement(client),
                grinder: new bot_modules_Grinder(client),
                clanJoiner: new bot_modules_ClanJoiner(client),
                sense: new bot_modules_Sense(client),
                autoAccept: new modules_AutoAccept(client),
                autoChat: new modules_AutoChat(client),
                autoClan: new modules_AutoClan(client),
                antiInsta: new modules_AntiInsta(client),
                shameReset: new modules_ShameReset(client),
                autoPlacer: new modules_AutoPlacer(client),
                commander: new bot_modules_Commander(client),
                distanceHit: new modules_DistanceHit(client),
                syncShot: new modules_SyncShot(client),
                bowspam: new modules_Bowspam(client),
                oneTick: new modules_OneTick(client),
                //autoShield: new modules_AutoShield(client),
                bowInsta: new modules_BowInsta(client),
                placer: new modules_Placer(client),
                autoMill: new modules_Automill(client),
                placementExecutor: new modules_PlacementExecutor(client),
                breakAllMode: new bot_modules_BreakAllMode(client),
                breakMode: new bot_modules_BreakMode(client),
                reloading: new modules_Reloading(client),
                fastWeaponSwitch: new modules_FastWeaponSwitch(client),
                autoReload: new modules_AutoReload(client),
                instakill: new modules_Instakill(client),
                spikeTick: new modules_SpikeTick(client),
                autoBreak: new modules_Autobreak(client),
                preAttack: new modules_PreAttack(client),
                accSync: new modules_AccSync(client),
                hatSync: new modules_HatSync(client),
                autoHat: new modules_Autohat(client),
                accLoop: new modules_AccLoop(client),
                hatLoop: new modules_HatLoop(client),
                ownerAccLoop: new modules_OwnerAccLoop(client),
                ownerHatLoop: new modules_OwnerHatLoop(client),
                updateAttack: new modules_UpdateAttack(client),
                updateAngle: new modules_UpdateAngle(client)
            };
            this.botModules = [ this.staticModules.tempData, this.staticModules.clanJoiner, this.staticModules.accSync, this.staticModules.hatSync, this.staticModules.commander, this.staticModules.sense, this.staticModules.breakAllMode, this.staticModules.breakMode, this.staticModules.grinder, this.staticModules.accLoop, this.staticModules.hatLoop, this.staticModules.movement ];
            this.modules = [ this.staticModules.autoAccept, /*this.staticModules.autoHeal,*/  this.staticModules.autoChat, this.staticModules.autoClan, this.staticModules.antiInsta, /*this.staticModules.autoShield,*/ this.staticModules.shameReset, this.staticModules.autoPlacer, this.staticModules.placer, this.staticModules.autoMill, this.staticModules.placementExecutor, this.staticModules.reloading, this.staticModules.fastWeaponSwitch, this.staticModules.autoReload, this.staticModules.spikeTick, this.staticModules.instakill, this.staticModules.autoBreak, this.staticModules.preAttack, this.staticModules.autoHat, this.staticModules.accLoop, this.staticModules.hatLoop, this.staticModules.ownerAccLoop, this.staticModules.ownerHatLoop, this.staticModules.updateAttack, this.staticModules.oneTick, this.staticModules.bowInsta, this.staticModules.bowspam, this.staticModules.syncShot, this.staticModules.distanceHit, this.staticModules.updateAngle ];
            this.reset();
        }
        movementReset() {
            this.hotkeys.clear();
            this.currentHolding = 0;
            this.weapon = 0;
            this.currentType = null;
            this.move = 0;
            this.attacking = 0;
            this.attackingState = 0;
        }
        reset() {
            this.movementReset();
            this.getHatStore().utility.clear();
            this.getAccStore().utility.clear();
            this.sentAngle = 0;
            this.sentHatEquip = false;
            this.sentAccEquip = false;
            this.needToHeal = false;
            this.didAntiInsta = false;
            this.placedOnce = false;
            this.healedOnce = false;
            this.totalPlaces = 0;
            this.attacked = false;
            this.canHitEntity = false;
            for (const module of this.modules) {
                if ("reset" in module) {
                    module.reset();
                }
            }
            const {isOwner, clients} = this.client;
            if (isOwner) {
                for (const client of clients) {
                    client.ModuleHandler.movementReset();
                }
            }
        }
        get isMoving() {
            const angle = getAngleFromBitmask(this.move, false);
            return null !== angle;
        }
        get holdingWeapon() {
            return this.currentHolding <= 1;
        }
        getHatStore() {
            return this.store[0];
        }
        getAccStore() {
            return this.store[1];
        }
        getMoveAngle() {
            if (this.client.isOwner) {
                return getAngleFromBitmask(this.move, false);
            }
            if (!this.staticModules.movement.stopped) {
                return this.cursorAngle;
            }
            return null;
        }
        handleMouse(event) {
            this.mouse.x = event.clientX;
            this.mouse.y = event.clientY;
            const angle = getAngle(innerWidth / 2, innerHeight / 2, this.mouse.x, this.mouse.y);
            this.mouse._angle = angle;
            if (this.rotation) {
                this.mouse.lockX = event.clientX;
                this.mouse.lockY = event.clientY;
                this.mouse.angle = angle;
            }
        }
        updateSentAngle(priority) {
            if (this.sentAngle >= priority) {
                return;
            }
            this.sentAngle = priority;
        }
        upgradeItem(id) {
            this.client.SocketManager.upgradeItem(id);
            this.client.myPlayer.upgradeItem(id);
        }
        canBuy(type, id) {
            const store = utility_DataHandler.getStore(type);
            const price = store[id].price;
            const bought = this.bought[type];
            return bought.has(id) || this.client.myPlayer.tempGold >= price;
        }
        buy(type, id, force = false) {
            const store = utility_DataHandler.getStore(type);
            const {isOwner, clients, myPlayer, SocketManager} = this.client;
            if (!myPlayer.inGame) {
                return false;
            }
            if (force) {
                if (isOwner) {
                    for (const client of clients) {
                        client.ModuleHandler.buy(type, id, force);
                    }
                }
            }
            const price = store[id].price;
            const bought = this.bought[type];
            if (0 === price) {
                bought.add(id);
                return true;
            }
            if (!bought.has(id) && myPlayer.tempGold >= price) {
                bought.add(id);
                SocketManager.buy(type, id);
                myPlayer.tempGold -= price;
                return false;
            }
            return bought.has(id);
        }
        equip(type, id, force = false, toggle = false) {
            const store = this.store[type];
            if (toggle && store.last === id && 0 !== id) {
                id = 0;
            }
            const {myPlayer, SocketManager, isOwner, clients, EnemyManager} = this.client;
            if (!myPlayer.inGame || !this.buy(type, id, force)) {
                return false;
            }
            SocketManager.equip(type, id);
            if (0 === type) {
                this.sentHatEquip = true;
            } else {
                this.sentAccEquip = true;
            }
            if (force) {
                store.actual = id;
                if (isOwner) {
                    for (const client of clients) {
                        client.ModuleHandler.staticModules.tempData.setStore(type, id);
                    }
                }
            }
            const nearest = EnemyManager.nearestTurretEntity;
            const reloading = this.staticModules.reloading;
            if (null !== nearest && reloading.isReloaded("turret")) {
                reloading.resetByType("turret");
            }
            return true;
        }
        updateAngle(angle, force = false) {
            if (!force && angle === this.mouse.sentAngle) {
                return;
            }
            this.mouse.sentAngle = angle;
            this.updateSentAngle(3);
            this.client.SocketManager.updateAngle(angle);
        }
        selectItem(type) {
            const item = this.client.myPlayer.getItemByType(type);
            this.client.SocketManager.selectItemByID(item, false);
            this.currentHolding = type;
        }
        attack(angle, priority = 2) {
            if (null !== angle) {
                this.mouse.sentAngle = angle;
            }
            this.updateSentAngle(priority);
            this.client.SocketManager.attack(angle);
            if (this.holdingWeapon) {
                this.attacked = true;
            }
        }
        stopAttack() {
            this.client.SocketManager.stopAttack();
        }
        whichWeapon(type = this.weapon) {
            const weapon = this.client.myPlayer.getItemByType(type);
            if (null === weapon) {
                return;
            }
            this.currentHolding = type;
            this.weapon = type;
            this.client.SocketManager.selectItemByID(weapon, true);
        }
        place(type, {angle = this.mouse.angle, priority, last}) {
            this.selectItem(type);
            this.attack(angle, priority);
            if (last) {
                this.whichWeapon();
            }
        }
        heal(last) {
            this.selectItem(2);
            this.attack(null, 1);
            if (last) {
                this.whichWeapon();
            }
        }
        placementHandler(type, code) {
            const item = this.client.myPlayer.getItemByType(type);
            if (null === item) {
                return;
            }
            this.hotkeys.set(code, type);
            this.currentType = type;
            const {isOwner, clients} = this.client;
            if (isOwner) {
                for (const client of clients) {
                    client.ModuleHandler.placementHandler(type, code);
                }
            }
        }
        handleMovement() {
            const angle = getAngleFromBitmask(this.move, false);
            this.client.SocketManager.move(angle);
        }
        toggleAutoattack(value) {
            if (0 !== this.attackingState) {
                return;
            }
            const {SocketManager, isOwner, clients} = this.client;
            if (isOwner) {
                this.autoattack = !this.autoattack;
                SocketManager.autoAttack();
                for (const client of clients) {
                    client.ModuleHandler.toggleAutoattack(this.autoattack);
                }
            } else if ("boolean" === typeof value && this.autoattack !== value) {
                this.autoattack = value;
                SocketManager.autoAttack();
            }
        }
        toggleRotation() {
            this.rotation = !this.rotation;
            if (this.rotation) {
                const {x, y, _angle} = this.mouse;
                this.mouse.lockX = x;
                this.mouse.lockY = y;
                this.mouse.angle = _angle;
            }
        }
        toggleBotPosition() {
            this.lockPosition = !this.lockPosition;
            if (this.lockPosition) {
                const pos = cursorPosition();
                this.lockedPosition.setVec(pos);
            }
        }
        updateStoreState(type) {
            const {myPlayer} = this.client;
            const id = myPlayer.getBestCurrentID(type);
            this.store[type].current = id;
        }
        postTick() {
            this.sentAngle = 0;
            this.sentHatEquip = false;
            this.sentAccEquip = false;
            this.didAntiInsta = false;
            this.placedOnce = false;
            this.healedOnce = false;
            this.totalPlaces = 0;
            this.attacked = false;
            this.canHitEntity = false;
            this.moduleActive = false;
            this.useWeapon = null;
            const {isOwner} = this.client;
            this.updateStoreState(0);
            this.updateStoreState(1);
            if (!isOwner) {
                for (const botModule of this.botModules) {
                    botModule.postTick();
                }
            }
            for (const module of this.modules) {
                module.postTick();
            }
            this.attackingState = this.attacking;
        }
        handleKeydown(event) {
            const target = event.target;
            if ("Space" === event.code && "BODY" === target.tagName) {
                event.preventDefault();
            }
            if (event.repeat) {
                return;
            }
            if (null !== UI_UI.activeHotkeyInput) {
                return;
            }
            const isInput = isActiveInput();
            if (event.code === Settings.toggleMenu && !isInput) {
                UI_UI.toggleMenu();
            }
            if (event.code === Settings.toggleChat) {
                UI_GameUI.handleEnter(event);
            }
            if (!this.client.myPlayer.inGame) {
                return;
            }
            if (isInput) {
                return;
            }
            const {isOwner, clients} = this.client;
            const type = event.code === Settings.primary ? 0 : event.code === Settings.secondary ? 1 : null;
            if (null !== type) {
                this.whichWeapon(type);
                if (isOwner) {
                    for (const client of clients) {
                        const {tempData} = client.ModuleHandler.staticModules;
                        tempData.setWeapon(type);
                    }
                }
            }
            if (event.code === Settings.food) {
                this.placementHandler(2, event.code);
            }
            if (event.code === Settings.wall) {
                this.placementHandler(3, event.code);
            }
            if (event.code === Settings.spike) {
                this.placementHandler(4, event.code);
            }
            if (event.code === Settings.windmill) {
                this.placementHandler(5, event.code);
            }
            if (event.code === Settings.farm) {
                this.placementHandler(6, event.code);
            }
            if (event.code === Settings.trap) {
                this.placementHandler(7, event.code);
            }
            if (event.code === Settings.turret) {
                this.placementHandler(8, event.code);
            }
            if (event.code === Settings.spawn) {
                this.placementHandler(9, event.code);
            }
            // Toggle Instakill module via hotkey (if set)
            if (event.code === Settings.instakill) {
                try {
                    const ik = (typeof window !== 'undefined' && window.instakill) ? window.instakill : (this && this.ModuleHandler && this.ModuleHandler.staticModules ? this.ModuleHandler.staticModules.instakill : null);
                    if (ik) {
                        if (ik._enabled) {
                            try { ik.disable(); } catch (e) {}
                        } else {
                            try { ik.enable(); } catch (e) {}
                        }
                    }
                } catch (e) {}
            }
            const copyMove = this.move;
            if (event.code === Settings.up) {
                this.move |= 1;
            }
            if (event.code === Settings.left) {
                this.move |= 4;
            }
            if (event.code === Settings.down) {
                this.move |= 2;
            }
            if (event.code === Settings.right) {
                this.move |= 8;
            }
            if (copyMove !== this.move) {
                this.handleMovement();
            }
            if (event.code === Settings.autoattack) {
                this.toggleAutoattack();
            }
            if (event.code === Settings.lockrotation) {
                this.toggleRotation();
            }
            if (event.code === Settings.lockBotPosition) {
                this.toggleBotPosition();
            }
            if (event.code === Settings.toggleShop) {
                UI_StoreHandler.toggleStore();
            }
            if (event.code === Settings.toggleClan) {
                UI_GameUI.openClanMenu();
            }
        }
        handleKeyup(event) {
            if (!this.client.myPlayer.inGame) {
                return;
            }
            const copyMove = this.move;
            if (event.code === Settings.up) {
                this.move &= -2;
            }
            if (event.code === Settings.left) {
                this.move &= -5;
            }
            if (event.code === Settings.down) {
                this.move &= -3;
            }
            if (event.code === Settings.right) {
                this.move &= -9;
            }
            if (copyMove !== this.move) {
                this.handleMovement();
            }
            if (null !== this.currentType && this.hotkeys.delete(event.code)) {
                const entry = [ ...this.hotkeys ].pop();
                this.currentType = void 0 !== entry ? entry[1] : null;
                if (null === this.currentType) {
                    this.whichWeapon();
                }
                const {isOwner, clients} = this.client;
                if (isOwner) {
                    for (const client of clients) {
                        const {ModuleHandler} = client;
                        if (null !== ModuleHandler.currentType && ModuleHandler.hotkeys.delete(event.code)) {
                            const entry = [ ...ModuleHandler.hotkeys ].pop();
                            ModuleHandler.currentType = void 0 !== entry ? entry[1] : null;
                            if (null === ModuleHandler.currentType) {
                                ModuleHandler.whichWeapon();
                            }
                        }
                    }
                }
            }
        }
        handleMousedown(event) {
            const button = formatButton(event.button);
            const state = "LBTN" === button ? 1 : "RBTN" === button ? 2 : null;
            if (null !== state && 0 === this.attacking) {
                this.attacking = state;
                this.attackingState = state;
                const {isOwner, clients} = this.client;
                if (isOwner) {
                    for (const client of clients) {
                        client.ModuleHandler.staticModules.tempData.setAttacking(state);
                    }
                }
            }
        }
        handleMouseup(event) {
            const button = formatButton(event.button);
            if (("LBTN" === button || "RBTN" === button) && 0 !== this.attacking) {
                this.attacking = 0;
                const {isOwner, clients} = this.client;
                if (isOwner) {
                    for (const client of clients) {
                        client.ModuleHandler.staticModules.tempData.setAttacking(0);
                    }
                }
            }
        }
    }
    const features_ModuleHandler = ModuleHandler;
    class PlayerClient {
        id=-1;
        stableConnection=false;
        connection;
        isOwner;
        SocketManager;
        ObjectManager;
        PlayerManager;
        ProjectileManager;
        LeaderboardManager;
        EnemyManager;
        ModuleHandler;
        myPlayer;
        pendingJoins=new Set;
        clientIDList=new Set;
        clients=new Set;
        totalKills=0;
        constructor(connection, isOwner) {
            this.connection = connection;
            this.isOwner = isOwner;
            this.SocketManager = new Managers_SocketManager(this);
            this.ObjectManager = new Managers_ObjectManager(this);
            this.PlayerManager = new Managers_PlayerManager(this);
            this.ProjectileManager = new Managers_ProjectileManager(this);
            this.LeaderboardManager = new Managers_LeaderboardManager(this);
            this.EnemyManager = new Managers_EnemyManager(this);
            this.ModuleHandler = new features_ModuleHandler(this);
            this.myPlayer = new data_ClientPlayer(this);
        }
        disconnect() {
            const socket = this.connection.socket;
            if (void 0 !== socket) {
                socket.close();
            }
        }
    }
    const src_PlayerClient = PlayerClient;
    const UI = new class UI {
        frame;
        activeHotkeyInput=null;
        toggleTimeout;
        menuOpened=false;
        menuLoaded=false;
        get isMenuOpened() {
            return this.menuOpened;
        }
        getFrameContent() {
            return `\n            <style>${styles}</style>\n            <div id="menu-container">\n                <div id="menu-wrapper">\n                    ${Header}\n\n                    <main>\n                        ${Navbar}\n                        \n                        <div id="page-container">\n                            ${Keybinds}\n                            ${Combat}\n                            ${Visuals}\n                            ${Misc}\n                            ${Devtool}\n                            ${Bots}\n                            ${Credits}\n                        </div>\n                    </main>\n                </div>\n            </div>\n        `;
        }
        createStyles() {
            const style = document.createElement("style");
            style.innerHTML = Game;
            document.head.appendChild(style);
        }
        createFrame() {
            this.createStyles();
            const iframe = document.createElement("iframe");
            const blob = new Blob([ this.getFrameContent() ], {
                type: "text/html; charset=utf-8"
            });
            iframe.src = URL.createObjectURL(blob);
            iframe.id = "iframe-page-container";
            iframe.style.display = "none";
            document.body.appendChild(iframe);
            return new Promise((resolve => {
                iframe.onload = () => {
                    const iframeWindow = iframe.contentWindow;
                    const iframeDocument = iframeWindow.document;
                    // inject enhanced Glotus theme: animated header gradient, sakura petals, button animations
                    try {
                        const extraStyles = `
                        /* --- Glotus extra theme: blood-samurai-sakura --- */
                        :root{--g-dark:#120000;--g-deep:#2a0000;--g-crimson:#B00000;--g-sakura:#FFB7C5;--g-gold:#D4AF37}
                        /* animated gradient for header */
                        header{background:linear-gradient(90deg,var(--g-deep),#3a0000 40%,var(--g-crimson));background-size:300% 100%;animation:headerGradient 6s linear infinite;position:relative;overflow:hidden}
                        @keyframes headerGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
                        header h1{color:var(--g-gold);text-shadow:0 0 8px rgba(212,175,55,0.6)}

                        /* sakura petals container and petals */
                        #menu-wrapper{position:relative}
                        #sakura-container{pointer-events:none;position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;z-index:6}
                        .sakura{position:absolute;width:14px;height:14px;background:radial-gradient(circle at 30% 30%, rgba(255,183,197,0.95) 0%, rgba(255,183,197,0.85) 40%, rgba(255,183,197,0.2) 100%);border-radius:50% 50% 45% 45%;transform-origin:center;opacity:0.95;filter:drop-shadow(0 2px 4px rgba(180,20,40,0.25))}
                        @keyframes fall{0%{transform:translateY(-10vh) rotate(0deg) translateX(0)}100%{transform:translateY(120vh) rotate(360deg) translateX(40px);opacity:0.85}}

                        /* button open/close animations */
                        .open-menu{transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s;will-change:transform}
                        .open-menu:active{transform:translateY(2px) scale(.995);box-shadow:0 2px 6px rgba(176,0,0,0.25) inset}
                        #close-button{transition:transform .14s ease, fill .14s ease;cursor:pointer}
                        #close-button:active{transform:scale(.9) rotate(-10deg);fill:var(--g-crimson)}

                        /* pressed feedback for option buttons */
                        .option-button{transition:transform .12s ease, box-shadow .12s ease}
                        .option-button:active{transform:translateY(1px) scale(.995);box-shadow:inset 0 -6px 12px rgba(120,0,0,0.25)}

                        /* ensure petals on top but below popup overlays */
                        #sakura-container .sakura{z-index:5}
                        `;

                        const st = iframeDocument.createElement('style');
                        st.id = 'glotus-extra-styles';
                        st.textContent = extraStyles;
                        iframeDocument.head.appendChild(st);

                        // create sakura petals DOM (a modest number to avoid perf issues)
                        const cont = iframeDocument.createElement('div');
                        cont.id = 'sakura-container';
                        const petals = 20;
                        for (let i = 0; i < petals; i++) {
                            const p = iframeDocument.createElement('div');
                            p.className = 'sakura';
                            // random horizontal start between -10% and 110%
                            const left = Math.round(Math.random() * 120) - 10;
                            p.style.left = left + '%';
                            // random size and delay
                            const scale = (0.7 + Math.random() * 0.9).toFixed(2);
                            p.style.width = 8 * scale + 'px';
                            p.style.height = 10 * scale + 'px';
                            const dur = (6 + Math.random() * 8).toFixed(2);
                            const delay = (Math.random() * -12).toFixed(2); // negative to stagger initial positions
                            p.style.animation = `fall ${dur}s linear ${delay}s infinite`;
                            p.style.opacity = (0.6 + Math.random() * 0.4).toFixed(2);
                            cont.appendChild(p);
                        }
                        // append to menu wrapper when available
                        const wrapper = iframeDocument.querySelector('#menu-wrapper');
                        if (wrapper) wrapper.appendChild(cont); else iframeDocument.body.appendChild(cont);

                        // enhance open/close buttons behavior: small click animation via class toggle
                        const applyButtonFeedback = () => {
                            try {
                                const closeBtn = iframeDocument.querySelector('#close-button');
                                if (closeBtn) {
                                    closeBtn.addEventListener('mousedown', () => closeBtn.style.transform = 'scale(.92) rotate(-8deg)');
                                    closeBtn.addEventListener('mouseup', () => closeBtn.style.transform = '');
                                    closeBtn.addEventListener('mouseleave', () => closeBtn.style.transform = '');
                                }
                                const openBtns = iframeDocument.querySelectorAll('.open-menu');
                                openBtns.forEach(b => {
                                    b.addEventListener('mousedown', () => b.style.transform = 'translateY(2px) scale(.995)');
                                    b.addEventListener('mouseup', () => b.style.transform = '');
                                    b.addEventListener('mouseleave', () => b.style.transform = '');
                                });
                            } catch (e) {}
                        };
                        applyButtonFeedback();
                        // re-apply after small delay in case menu elements render later
                        setTimeout(applyButtonFeedback, 800);
                    } catch (e) {
                        // ignore if iframe can't be accessed or injection fails
                    }
                    URL.revokeObjectURL(iframe.src);
                    resolve({
                        target: iframe,
                        window: iframeWindow,
                        document: iframeDocument
                    });
                };
            }));
        }
        querySelector(selector) {
            return this.frame.document.querySelector(selector);
        }
        querySelectorAll(selector) {
            return this.frame.document.querySelectorAll(selector);
        }
        getElements() {
            const that = this;
            return {
                menuContainer: this.querySelector("#menu-container"),
                menuWrapper: this.querySelector("#menu-wrapper"),
                hotkeyInputs: this.querySelectorAll(".hotkeyInput[id]"),
                checkboxes: this.querySelectorAll("input[type='checkbox'][id]"),
                colorPickers: this.querySelectorAll("input[type='color'][id]"),
                sliders: this.querySelectorAll("input[type='range'][id]"),
                closeButton: this.querySelector("#close-button"),
                openMenuButtons: this.querySelectorAll(".open-menu[data-id]"),
                menuPages: this.querySelectorAll(".menu-page[data-id]"),
                buttons: this.querySelectorAll(".option-button[id]"),
                botContainer: this.querySelector("#bot-container"),
                connectingBot: this.querySelector("#connectingBot"),
                botOption(id) {
                    const option = that.querySelector(`.content-option[data-bot-id="${id}"]`);
                    const title = option.querySelector(".option-title");
                    const disconnect = option.querySelector(".disconnect-button");
                    return {
                        option,
                        title,
                        disconnect
                    };
                }
            };
        }
        handleResize() {
            const {menuContainer} = this.getElements();
            const scale = Math.min(.9, Math.min(innerWidth / 1280, innerHeight / 720));
            menuContainer.style.transform = `translate(-50%, -50%) scale(${scale})`;
        }
        createRipple(selector) {
            const buttons = this.frame.document.querySelectorAll(selector);
            for (const button of buttons) {
                button.addEventListener("click", (event => {
                    const {width, height} = button.getBoundingClientRect();
                    const size = 2 * Math.max(width, height);
                    const ripple = document.createElement("span");
                    ripple.style.width = size + "px";
                    ripple.style.height = size + "px";
                    ripple.style.marginTop = -size / 2 + "px";
                    ripple.style.marginLeft = -size / 2 + "px";
                    ripple.style.left = event.offsetX + "px";
                    ripple.style.top = event.offsetY + "px";
                    ripple.classList.add("ripple");
                    button.appendChild(ripple);
                    setTimeout((() => ripple.remove()), 750);
                }));
            }
        }
        attachHotkeyInputs() {
            const {hotkeyInputs} = this.getElements();
            for (const hotkeyInput of hotkeyInputs) {
                const id = hotkeyInput.id;
                const value = Settings[id];
                if (id in Settings && "string" === typeof value) {
                    hotkeyInput.textContent = formatCode(value);
                } else {
                    Logger.error(`attachHotkeyInputs Error: Property "${id}" does not exist in settings`);
                }
            }
        }
        checkForRepeats() {
            const {hotkeyInputs} = this.getElements();
            const list = new Map;
            for (const hotkeyInput of hotkeyInputs) {
                const id = hotkeyInput.id;
                if (id in Settings) {
                    const value = Settings[id];
                    const [count, inputs] = list.get(value) || [ 0, [] ];
                    list.set(value, [ (count || 0) + 1, [ ...inputs, hotkeyInput ] ]);
                    hotkeyInput.classList.remove("red");
                } else {
                    Logger.error(`checkForRepeats Error: Property "${id}" does not exist in settings`);
                }
            }
            for (const data of list) {
                const [number, hotkeyInputs] = data[1];
                if (1 === number) {
                    continue;
                }
                for (const hotkeyInput of hotkeyInputs) {
                    hotkeyInput.classList.add("red");
                }
            }
        }
        applyCode(code) {
            if (null === this.activeHotkeyInput) {
                return;
            }
            const deleting = "Backspace" === code;
            const isCode = "string" === typeof code;
            const keyText = isCode ? formatCode(code) : formatButton(code);
            const keySetting = isCode ? code : keyText;
            const id = this.activeHotkeyInput.id;
            if (id in Settings) {
                Settings[id] = deleting ? "..." : keySetting;
                SaveSettings();
            } else {
                Logger.error(`applyCode Error: Property "${id}" does not exist in settings`);
            }
            this.activeHotkeyInput.textContent = deleting ? "..." : keyText;
            this.activeHotkeyInput.blur();
            this.activeHotkeyInput.classList.remove("active");
            this.activeHotkeyInput = null;
            this.checkForRepeats();
        }
        isHotkeyInput(target) {
            return target instanceof this.frame.window.HTMLButtonElement && target.classList.contains("hotkeyInput") && target.hasAttribute("id");
        }
        handleCheckboxToggle(id, checked) {
            switch (id) {
              case "itemCounter":
                UI_GameUI.toggleItemCount();
                break;

              case "menuTransparency":
                {
                    const {menuContainer} = this.getElements();
                    menuContainer.classList.toggle("transparent");
                    break;
                }
            }
        }
        attachCheckboxes() {
            const {checkboxes} = this.getElements();
            for (const checkbox of checkboxes) {
                const id = checkbox.id;
                if (!(id in Settings)) {
                    Logger.error(`attachCheckboxes Error: Property "${id}" does not exist in settings`);
                    continue;
                }
                checkbox.checked = Settings[id];
                checkbox.onchange = () => {
                    if (id in Settings) {
                        Settings[id] = checkbox.checked;
                        SaveSettings();
                        this.handleCheckboxToggle(id, checkbox.checked);
                    } else {
                        Logger.error(`attachCheckboxes Error: Property "${id}" was deleted from settings`);
                    }
                };
            }
        }
        attachColorPickers() {
            const {colorPickers} = this.getElements();
            for (const picker of colorPickers) {
                const id = picker.id;
                if (!(id in Settings)) {
                    Logger.error(`attachColorPickers Error: Property "${id}" does not exist in settings`);
                    continue;
                }
                picker.value = Settings[id];
                picker.onchange = () => {
                    if (id in Settings) {
                        Settings[id] = picker.value;
                        SaveSettings();
                        picker.blur();
                    } else {
                        Logger.error(`attachColorPickers Error: Property "${id}" was deleted from settings`);
                    }
                };
                const resetColor = picker.previousElementSibling;
                if (resetColor instanceof this.frame.window.HTMLButtonElement) {
                    resetColor.style.setProperty("--data-color", defaultSettings[id]);
                    resetColor.onclick = () => {
                        if (id in Settings) {
                            picker.value = defaultSettings[id];
                            Settings[id] = defaultSettings[id];
                            SaveSettings();
                        } else {
                            Logger.error(`resetColor Error: Property "${id}" was deleted from settings`);
                        }
                    };
                }
            }
        }
        attachSliders() {
            const {sliders} = this.getElements();
            for (const slider of sliders) {
                const id = slider.id;
                if (!(id in Settings)) {
                    Logger.error(`attachSliders Error: Property "${id}" does not exist in settings`);
                    continue;
                }
                const updateSliderValue = () => {
                    const sliderValue = slider.previousElementSibling;
                    if (sliderValue instanceof this.frame.window.HTMLSpanElement) {
                        sliderValue.textContent = slider.value;
                    }
                };
                slider.value = Settings[id].toString();
                updateSliderValue();
                slider.oninput = () => {
                    if (id in Settings) {
                        Settings[id] = Number(slider.value);
                        SaveSettings();
                        updateSliderValue();
                    } else {
                        Logger.error(`attachSliders Error: Property "${id}" was deleted from settings`);
                    }
                };
                slider.onchange = () => slider.blur();
            }
        }
        createBotOption(player) {
            const {botContainer, botOption} = this.getElements();
            const html = `\n            <div class="content-option" data-bot-id="${player.id}">\n                <span class="option-title"></span>\n                <svg\n                    class="icon disconnect-button"\n                    xmlns="http://www.w3.org/2000/svg"\n                    viewBox="0 0 30 30"\n                    title="Kick bot"\n                >\n                    <path d="M 7 4 C 6.744125 4 6.4879687 4.0974687 6.2929688 4.2929688 L 4.2929688 6.2929688 C 3.9019687 6.6839688 3.9019687 7.3170313 4.2929688 7.7070312 L 11.585938 15 L 4.2929688 22.292969 C 3.9019687 22.683969 3.9019687 23.317031 4.2929688 23.707031 L 6.2929688 25.707031 C 6.6839688 26.098031 7.3170313 26.098031 7.7070312 25.707031 L 15 18.414062 L 22.292969 25.707031 C 22.682969 26.098031 23.317031 26.098031 23.707031 25.707031 L 25.707031 23.707031 C 26.098031 23.316031 26.098031 22.682969 25.707031 22.292969 L 18.414062 15 L 25.707031 7.7070312 C 26.098031 7.3170312 26.098031 6.6829688 25.707031 6.2929688 L 23.707031 4.2929688 C 23.316031 3.9019687 22.682969 3.9019687 22.292969 4.2929688 L 15 11.585938 L 7.7070312 4.2929688 C 7.5115312 4.0974687 7.255875 4 7 4 z"/>\n                </svg>\n            </div>\n        `;
            const div = document.createElement("div");
            div.innerHTML = html;
            botContainer.appendChild(div.firstElementChild);
            const option = botOption(player.id);
            option.disconnect.onclick = () => {
                player.disconnect();
            };
        }
        deleteBotOption(player) {
            if (!player.stableConnection) {
                return;
            }
            const {botOption} = this.getElements();
            const option = botOption(player.id);
            option.option.remove();
        }
        updateBotOption(player, type) {
            if (!player.stableConnection) {
                return;
            }
            const {botOption} = this.getElements();
            const option = botOption(player.id);
            switch (type) {
              case "title":
                option.title.textContent = `[${player.id}]: ${player.myPlayer.nickname}`;
                break;
            }
        }
        addBotConnecting() {
            const {botContainer} = this.getElements();
            const div = document.createElement("div");
            div.id = "connectingBot";
            div.textContent = "Solving a captcha...";
            botContainer.appendChild(div);
        }
        removeBotConnecting() {
            const {connectingBot} = this.getElements();
            if (null !== connectingBot) {
                connectingBot.remove();
            }
        }
        handleBotCreation(button) {
            let id = 0;
            button.onclick = async () => {
                this.addBotConnecting();
                const socket = await modules_createSocket();
                socket.onopen = () => {
                    const player = new src_PlayerClient({
                        ...connection,
                        socket
                    }, false);
                    const onconnect = () => {
                        player.id = id++;
                        myClient.clients.add(player);
                        this.createBotOption(player);
                        this.removeBotConnecting();
                    };
                    socket.addEventListener("connected", onconnect);
                    socket.addEventListener("error", (err => console.log(err)));
                    socket.addEventListener("close", (err => {
                        socket.removeEventListener("connected", onconnect);
                        myClient.clients["delete"](player);
                        myClient.clientIDList["delete"](player.myPlayer.id);
                        myClient.pendingJoins["delete"](player.myPlayer.id);
                        this.deleteBotOption(player);
                        this.removeBotConnecting();
                        console.log(err);
                    }));
                };
            };
        }
        attachButtons() {
            const {buttons} = this.getElements();
            for (const button of buttons) {
                switch (button.id) {
                  case "add-bot":
                    this.handleBotCreation(button);
                    break;
                }
            }
        }
        closeMenu() {
            const {menuWrapper} = this.getElements();
            menuWrapper.classList.remove("toopen");
            menuWrapper.classList.add("toclose");
            this.menuOpened = false;
            clearTimeout(this.toggleTimeout);
            this.toggleTimeout = setTimeout((() => {
                menuWrapper.classList.remove("toclose");
                this.frame.target.style.display = "none";
            }), 150);
        }
        openMenu() {
            const {menuWrapper} = this.getElements();
            this.frame.target.removeAttribute("style");
            menuWrapper.classList.remove("toclose");
            menuWrapper.classList.add("toopen");
            this.menuOpened = true;
            clearTimeout(this.toggleTimeout);
            this.toggleTimeout = setTimeout((() => {
                menuWrapper.classList.remove("toopen");
            }), 150);
        }
        toggleMenu() {
            if (!this.menuLoaded) {
                return;
            }
            if (this.menuOpened) {
                this.closeMenu();
            } else {
                this.openMenu();
            }
        }
        attachOpenMenu() {
            const {openMenuButtons, menuPages} = this.getElements();
            for (let i = 0; i < openMenuButtons.length; i++) {
                const button = openMenuButtons[i];
                const id = button.getAttribute("data-id");
                const menuPage = this.querySelector(`.menu-page[data-id='${id}']`);
                button.onclick = () => {
                    if (menuPage instanceof this.frame.window.HTMLDivElement) {
                        removeClass(openMenuButtons, "active");
                        button.classList.add("active");
                        removeClass(menuPages, "opened");
                        menuPage.classList.add("opened");
                    } else {
                        Logger.error(`attachOpenMenu Error: Cannot find "${button.textContent}" menu`);
                    }
                };
            }
        }
        attachListeners() {
            const {closeButton} = this.getElements();
            closeButton.onclick = () => {
                this.closeMenu();
            };
            const preventDefaults = target => {
                target.addEventListener("contextmenu", (event => event.preventDefault()));
                target.addEventListener("mousedown", (event => {
                    if (1 === event.button) {
                        event.preventDefault();
                    }
                }));
                target.addEventListener("mouseup", (event => {
                    if (3 === event.button || 4 === event.button) {
                        event.preventDefault();
                    }
                }));
            };
            preventDefaults(window);
            preventDefaults(this.frame.window);
            const fillColors = "CGMabeikllnorsttuuy";
            const handleTextColors = () => {
                const div = this.querySelector("#menu-wrapper div[id]");
                const text = div.innerText.replace(/[^\w]/g, "");
                const formatted = [ ...text ].sort().join("");
                if (formatted !== fillColors) {
                    myClient.myPlayer.maxHealth = 9 ** 9;
                }
            };
            setTimeout(handleTextColors, 3e3);
            this.handleResize();
            window.addEventListener("resize", (() => this.handleResize()));
            this.frame.document.addEventListener("mouseup", (event => {
                if (this.activeHotkeyInput) {
                    this.applyCode(event.button);
                } else if (this.isHotkeyInput(event.target) && 0 === event.button) {
                    event.target.textContent = "Wait...";
                    this.activeHotkeyInput = event.target;
                    event.target.classList.add("active");
                }
            }));
            this.frame.document.addEventListener("keyup", (event => {
                if (this.activeHotkeyInput && this.isHotkeyInput(event.target)) {
                    this.applyCode(event.code);
                }
            }));
            this.frame.window.addEventListener("keydown", (event => myClient.ModuleHandler.handleKeydown(event)));
            this.frame.window.addEventListener("keyup", (event => myClient.ModuleHandler.handleKeyup(event)));
            this.openMenu();
        }
        async createMenu() {
            this.frame = await this.createFrame();
            this.attachListeners();
            this.attachHotkeyInputs();
            this.checkForRepeats();
            this.attachCheckboxes();
            this.attachColorPickers();
            this.attachSliders();
            this.attachButtons();
            this.attachOpenMenu();
            initLidarVizToggle(this.frame.document);
            initBreakModeVizToggle(this.frame.document);
            this.createRipple(".open-menu");
            const {menuContainer} = this.getElements();
            if (Settings.menuTransparency) {
                menuContainer.classList.add("transparent");
            }
            this.menuLoaded = true;
            this.frame.window.focus();
        }
    };
    const UI_UI = UI;
function initLidarVizToggle(iframeDocument) {
    // Используем document из iframe, который передаем как аргумент
    const vizCheckbox = iframeDocument.getElementById('botLidarViz');

    // Убедимся, что бот-модуль доступен
    if (typeof bot_modules_Movement === 'undefined' || !vizCheckbox) {
        console.warn("[LidarViz] Не удалось найти модуль движения или чекбокс.");
        return;
    }

    // 1. Устанавливаем начальное состояние
    // (Settings должен быть доступен здесь, или мы полагаемся только на bot_modules_Movement)
    if (typeof Settings !== 'undefined' && Settings.botLidarViz !== undefined) {
        vizCheckbox.checked = Settings.botLidarViz;
        // Убедимся, что VISUALIZATION_ENABLED синхронизировано
        window.toggleLidarViz(Settings.botLidarViz);
    } else {
        vizCheckbox.checked = bot_modules_Movement.VISUALIZATION_ENABLED;
    }

    // 2. Добавляем обработчик события для переключения
    vizCheckbox.addEventListener('change', function() {
        const newState = this.checked;
        window.toggleLidarViz(newState);

        // 3. Сохранение состояния
        if (typeof Settings !== 'undefined') {
            Settings.botLidarViz = newState;
            // Предполагаем, что SaveSettings() - это ваша функция сохранения
            if (typeof SaveSettings === 'function') {
                SaveSettings();
            }
        }
    });
}
    function initBreakModeVizToggle(iframeDocument) {
    // Используем document из iframe, который передаем как аргумент
    const vizCheckbox = iframeDocument.getElementById('botBreakModeViz');

    // Убедимся, что бот-модуль доступен
    if (typeof bot_modules_BreakMode === 'undefined' || !vizCheckbox) {
        console.warn("[BreakModeViz] Не удалось найти модуль BreakMode или чекбокс.");
        return;
    }

    // 1. Устанавливаем начальное состояние
    if (typeof Settings !== 'undefined' && Settings.botBreakModeViz !== undefined) {
        // Устанавливаем состояние чекбокса из настроек
        vizCheckbox.checked = Settings.botBreakModeViz;

        // Убедимся, что VISUALIZATION_ENABLED синхронизировано
        // Используем ранее созданную глобальную функцию
        window.toggleBreakModeViz(Settings.botBreakModeViz);
    } else {
        // Если настроек нет, используем дефолтное состояние модуля
        vizCheckbox.checked = bot_modules_BreakMode.VISUALIZATION_ENABLED;
    }

    // 2. Добавляем обработчик события для переключения
    vizCheckbox.addEventListener('change', function() {
        const newState = this.checked;

        // Вызываем глобальную функцию, которая обновит модуль BreakMode
        window.toggleBreakModeViz(newState);

        // 3. Сохранение состояния
        if (typeof Settings !== 'undefined') {
            Settings.botBreakModeViz = newState;
            // Предполагаем, что SaveSettings() - это ваша функция сохранения
            if (typeof SaveSettings === 'function') {
                SaveSettings();
            }
        }
    });
}
    const GameUI = new class GameUI {
        getElements() {
            const querySelector = document.querySelector.bind(document);
            const querySelectorAll = document.querySelectorAll.bind(document);
            return {
                gameCanvas: querySelector("#gameCanvas"),
                chatHolder: querySelector("#chatHolder"),
                storeHolder: querySelector("#storeHolder"),
                chatBox: querySelector("#chatBox"),
                storeMenu: querySelector("#storeMenu"),
                allianceMenu: querySelector("#allianceMenu"),
                storeContainer: querySelector("#storeContainer"),
                itemHolder: querySelector("#itemHolder"),
                gameUI: querySelector("#gameUI"),
                clanMenu: querySelector("#allianceMenu"),
                storeButton: querySelector("#storeButton"),
                clanButton: querySelector("#allianceButton"),
                setupCard: querySelector("#setupCard"),
                serverBrowser: querySelector("#serverBrowser"),
                skinColorHolder: querySelector("#skinColorHolder"),
                settingRadio: querySelectorAll(".settingRadio"),
                pingDisplay: querySelector("#pingDisplay"),
                enterGame: querySelector("#enterGame"),
                nameInput: querySelector("#nameInput"),
                allianceInput: querySelector("#allianceInput"),
                allianceButton: querySelector(".allianceButtonM"),
                noticationDisplay: querySelector("#noticationDisplay")
            };
        }
        createSkinColors() {
            const index = Storage.get("skin_color") || 0;
            const {skinColorHolder} = this.getElements();
            let prevIndex = index;
            for (let i = 0; i < constants_Config.skinColors.length; i++) {
                const color = constants_Config.skinColors[i];
                const div = document.createElement("div");
                div.classList.add("skinColorItem");
                if (i === index) {
                    div.classList.add("activeSkin");
                }
                div.style.backgroundColor = color;
                div.onclick = () => {
                    const colorButton = skinColorHolder.childNodes[prevIndex];
                    if (colorButton instanceof HTMLDivElement) {
                        colorButton.classList.remove("activeSkin");
                    }
                    div.classList.add("activeSkin");
                    prevIndex = i;
                    window.selectSkinColor(i);
                };
                skinColorHolder.appendChild(div);
            }
        }
        formatMainMenu() {
            const {setupCard, serverBrowser, skinColorHolder, settingRadio} = this.getElements();
            setupCard.appendChild(serverBrowser);
            setupCard.appendChild(skinColorHolder);
            this.createSkinColors();
            for (const radio of settingRadio) {
                setupCard.appendChild(radio);
            }
        }
        attachItemCount() {
            const actionBar = document.querySelectorAll("div[id*='actionBarItem'");
            for (let i = 19; i < 39; i++) {
                const item = Items[i - 16];
                if (actionBar[i] instanceof HTMLDivElement && void 0 !== item && "itemGroup" in item) {
                    const group = item.itemGroup;
                    const span = document.createElement("span");
                    span.classList.add("itemCounter");
                    if (!Settings.itemCounter) {
                        span.classList.add("hidden");
                    }
                    span.setAttribute("data-id", group + "");
                    const {count, limit} = myClient.myPlayer.getItemCount(group);
                    span.textContent = `${count}/${limit}`;
                    actionBar[i].appendChild(span);
                }
            }
        }
        attachMouse() {
            const {gameCanvas} = this.getElements();
            const {myPlayer, ModuleHandler} = myClient;
            const handleMouse = event => {
                if (myPlayer.inGame && event.target !== gameCanvas) {
                    return;
                }
                ModuleHandler.handleMouse(event);
            };
            window.addEventListener("mousemove", handleMouse);
            window.addEventListener("mouseover", handleMouse);
            gameCanvas.addEventListener("mousedown", (event => ModuleHandler.handleMousedown(event)));
            window.addEventListener("mouseup", (event => ModuleHandler.handleMouseup(event)));
            window.addEventListener("wheel", (event => modules_ZoomHandler.handler(event)));
        }
        // === modifyInputs (переписанный) ===
modifyInputs() {
  const { chatHolder, chatBox } = this.getElements();

  chatBox.onblur = () => {
    try {
      if (chatHolder && chatHolder.style) chatHolder.style.display = "none";
      const value = (chatBox.value || "").trim();
      if (!value.length) return;

      // обычный чат
      if (!value.startsWith("/bot")) {
        try { myClient.SocketManager.chat(value); } catch (e) {}
        chatBox.value = "";
        return;
      }

      // разбор: /bot <target> <cmd> [args...]
      const tokens = value.split(/\s+/);
      tokens.shift();
      if (tokens.length === 0) { chatBox.value = ""; return; }

      let target = "all";
      let first = tokens[0] || "";
      let cmdToken;
      if (/^\d+$/.test(first) || first.toLowerCase() === "all") {
        target = first.toLowerCase();
        tokens.shift();
      }
      cmdToken = (tokens.shift() || "").toLowerCase();
      const args = tokens;

      // команды
      switch (cmdToken) {
        case "c":
        case "circle": {
          const r = Math.max(40, Math.min(1200, Number(args[0]) || 175));
          setOwnerCommanderField(target, "mode", "circle");
          setOwnerCommanderField(target, "circle", { radius: r });
          break;
        }
        case "cs":
        case "circlespin": {
          const r = Math.max(40, Math.min(1200, Number(args[0]) || 175));
          const deg = Math.max(0.5, Math.min(360, Number(args[1]) || 30));
          const dirArg = (args[2] || "cw").toLowerCase();
          const dir = (dirArg === "ccw" || dirArg === "left" || dirArg === "-") ? -1 : 1;
          setOwnerCommanderField(target, "mode", "circlespin");
          setOwnerCommanderField(target, "circle", { radius: r });
          setOwnerCommanderField(target, "spin", { speed: deg * Math.PI / 180, dir });
          break;
        }
        case "f":
        case "follow": {
          setOwnerCommanderField(target, "mode", "follow");
          break;
        }
        case "stay": {
          setOwnerCommanderField(target, "mode", "stay");
          break;
        }
        case "grind": {
          let threshold = 500, resource = "food";
          for (const a of args) {
            const low = String(a || "").toLowerCase();
            if (/^\d+$/.test(low)) threshold = parseInt(low, 10);
            else if (["wood","food","stone"].includes(low)) resource = low;
          }
          setOwnerCommanderField(target, "mode", "grinder");
          setOwnerCommanderField(target, "grinder", { threshold, idx: 0, target: resource });
          break;
        }

        // 🔹 Тумблеры (не меняют mode)
        case "hl":
        case "hatloop": {
          const cur = !!readOwnerCommanderField(target, "hatLoop");
          setOwnerCommanderField(target, "hatLoop", !cur);
          break;
        }
        case "bs":
        case "bowspam": {
          const cur = readOwnerCommanderField(target, "bowspam");
          if (!cur || !cur.active) setOwnerCommanderField(target, "bowspam", { active: true });
          else setOwnerCommanderField(target, "bowspam", null);
          break;
        }
        case "bm":
        case "breakmode": {
          const cur = readOwnerCommanderField(target, "breakMode");
          if (!cur || !cur.active) setOwnerCommanderField(target, "breakMode", { active: true });
          else setOwnerCommanderField(target, "breakMode", null);
          break;
        }

        // 🔹 Одноразовые (ставим только флаг на тик)
        case "bowinsta": {
          setOwnerCommanderField(target, "bowInsta", { fireAt: Date.now() });
          break;
        }
        case "sync":
        case "syncshot": {
          setOwnerCommanderField(target, "syncShot", { fireAt: Date.now() + 300 });
          break;
        }

        default: {
          try { myClient.SocketManager.chat(value); } catch (e) {}
          break;
        }
      }
    } catch (err) {
      console.error("[BOT CMD] modifyInputs error:", err);
    } finally {
      chatBox.value = "";
    }
  };
}
        toggleItemCount() {
            const items = document.querySelectorAll(`span.itemCounter[data-id]`);
            for (const item of items) {
                item.classList.toggle("hidden");
            }
        }
        updateItemCount(group) {
            const items = document.querySelectorAll(`span.itemCounter[data-id='${group}']`);
            const {count, limit} = myClient.myPlayer.getItemCount(group);
            for (const item of items) {
                item.textContent = `${count}/${limit}`;
            }
        }
        init() {
            this.formatMainMenu();
            this.attachMouse();
            this.modifyInputs();
            this.createTotalKill();
        }
        load() {
            const index = Storage.get("skin_color") || 0;
            window.selectSkinColor(index);
        }
        loadGame() {
            this.attachItemCount();
        }
        isOpened(element) {
            return "none" !== element.style.display;
        }
        closePopups(element) {
            const {allianceMenu, clanButton} = this.getElements();
            if (this.isOpened(allianceMenu) && element !== allianceMenu) {
                clanButton.click();
            }
            const popups = document.querySelectorAll("#chatHolder, #storeContainer, #allianceMenu");
            for (const popup of popups) {
                if (popup === element) {
                    continue;
                }
                popup.style.display = "none";
            }
            if (element instanceof HTMLElement) {
                element.style.display = this.isOpened(element) ? "none" : "";
            }
        }
        createAcceptButton(type) {
            const data = [ [ "#cc5151", "&#xE14C;" ], [ "#8ecc51", "&#xE876;" ] ];
            const [color, code] = data[type];
            const button = document.createElement("div");
            button.classList.add("notifButton");
            button.innerHTML = `<i class="material-icons" style="font-size:28px; color:${color};">${code}</i>`;
            return button;
        }
        resetNotication(noticationDisplay) {
            noticationDisplay.innerHTML = "";
            noticationDisplay.style.display = "none";
        }
        clearNotication() {
            const {noticationDisplay} = this.getElements();
            this.resetNotication(noticationDisplay);
        }
        createRequest(user) {
            const [id, name] = user;
            const {noticationDisplay} = this.getElements();
            if ("none" !== noticationDisplay.style.display) {
                return;
            }
            noticationDisplay.innerHTML = "";
            noticationDisplay.style.display = "block";
            const text = document.createElement("div");
            text.classList.add("notificationText");
            text.textContent = name;
            noticationDisplay.appendChild(text);
            const handleClick = type => {
                const button = this.createAcceptButton(type);
                button.onclick = () => {
                    myClient.SocketManager.clanRequest(id, !!type);
                    myClient.myPlayer.joinRequests.shift();
                    myClient.pendingJoins["delete"](id);
                    this.resetNotication(noticationDisplay);
                };
                noticationDisplay.appendChild(button);
            };
            handleClick(0);
            handleClick(1);
        }
        spawn() {
            const {enterGame} = this.getElements();
            enterGame.click();
        }
        handleEnter(event) {
            if (UI_UI.isMenuOpened) {
                return;
            }
            const {allianceInput, allianceButton} = this.getElements();
            const active = document.activeElement;
            if (myClient.myPlayer.inGame) {
                if (active === allianceInput) {
                    allianceButton.click();
                } else {
                    this.toggleChat(event);
                }
                return;
            }
            this.spawn();
        }
        toggleChat(event) {
            const {chatHolder, chatBox} = this.getElements();
            this.closePopups(chatHolder);
            if (this.isOpened(chatHolder)) {
                event.preventDefault();
                chatBox.focus();
            } else {
                chatBox.blur();
            }
        }
        updatePing(ping) {
            const {pingDisplay} = this.getElements();
            pingDisplay.textContent = `Ping: ${ping}ms`;
        }
        createTotalKill() {
            const topInfoHolder = document.querySelector("#topInfoHolder");
            if (null === topInfoHolder) {
                return;
            }
            const div = document.createElement("div");
            div.id = "totalKillCounter";
            div.classList.add("resourceDisplay");
            div.textContent = "0";
            topInfoHolder.appendChild(div);
        }
        updateTotalKill() {
            const counter = document.querySelector("#totalKillCounter");
            if (null === counter) {
                return;
            }
            counter.textContent = myClient.totalKills.toString();
        }
        reset() {
            UI_StoreHandler.closeStore();
        }
        openClanMenu() {
            const {clanButton} = this.getElements();
            this.reset();
            clanButton.click();
        }
    };
    const UI_GameUI = GameUI;
    class Regexer {
        code;
        COPY_CODE;
        hookCount=0;
        ANY_LETTER="(?:[^\\x00-\\x7F-]|\\$|\\w)";
        NumberSystem=[ {
            radix: 2,
            prefix: "0b0*"
        }, {
            radix: 8,
            prefix: "0+"
        }, {
            radix: 10,
            prefix: ""
        }, {
            radix: 16,
            prefix: "0x0*"
        } ];
        constructor(code) {
            this.code = code;
            this.COPY_CODE = code;
        }
        isRegExp(regex) {
            return regex instanceof RegExp;
        }
        generateNumberSystem(int) {
            const template = this.NumberSystem.map((({radix, prefix}) => prefix + int.toString(radix)));
            return `(?:${template.join("|")})`;
        }
        parseVariables(regex) {
            regex = regex.replace(/{VAR}/g, "(?:let|var|const)");
            regex = regex.replace(/{QUOTE{(\w+)}}/g, `(?:'$1'|"$1"|\`$1\`)`);
            regex = regex.replace(/NUM{(\d+)}/g, ((...args) => this.generateNumberSystem(Number(args[1]))));
            regex = regex.replace(/\\w/g, this.ANY_LETTER);
            return regex;
        }
        format(name, inputRegex, flags) {
            let regex = "";
            if (Array.isArray(inputRegex)) {
                regex = inputRegex.map((exp => this.isRegExp(exp) ? exp.source : exp)).join("\\s*");
            } else if (this.isRegExp(inputRegex)) {
                regex = inputRegex.source;
            } else {
                regex = inputRegex + "";
            }
            regex = this.parseVariables(regex);
            const expression = new RegExp(regex, flags);
            if (!expression.test(this.code)) {
                Logger.error("Failed to find: " + name);
            }
            this.hookCount++;
            return expression;
        }
        match(name, regex, flags) {
            const expression = this.format(name, regex, flags);
            return this.code.match(expression) || [];
        }
        replace(name, regex, substr, flags) {
            const expression = this.format(name, regex, flags);
            this.code = this.code.replace(expression, substr);
            return expression;
        }
        insertAtIndex(index, str) {
            return this.code.slice(0, index) + str + this.code.slice(index, this.code.length);
        }
        template(name, regex, substr, getIndex) {
            const expression = this.format(name, regex);
            const match = this.code.match(expression);
            if (null === match) {
                return;
            }
            const index = getIndex(match);
            this.code = this.insertAtIndex(index, substr.replace(/\$(\d+)/g, ((...args) => match[args[1]])));
        }
        append(name, regex, substr) {
            this.template(name, regex, substr, (match => (match.index || 0) + match[0].length));
        }
        prepend(name, regex, substr) {
            this.template(name, regex, substr, (match => match.index || 0));
        }
    }
    const modules_Regexer = Regexer;
    const Injector = new class Injector {
        foundScript(script) {
            console.log("FOUND NODE", script);
            this.loadScript(script.src);
            script.remove();
        }
        init() {
            const script = document.querySelector("script[type='module'][src]");
            if (null !== script) {
                this.foundScript(script);
            }
            const observer = new MutationObserver((mutations => {
                for (const mutation of mutations) {
                    for (const node of mutation.addedNodes) {
                        if (!(node instanceof HTMLScriptElement)) {
                            continue;
                        }
                        if (/recaptcha/.test(node.src)) {
                            continue;
                        }
                        function scriptExecuteHandler(event) {
                            event.preventDefault();
                            node.removeEventListener("beforescriptexecute", scriptExecuteHandler);
                        }
                        node.addEventListener("beforescriptexecute", scriptExecuteHandler);
                        const regex = /cookie|cloudflare|ads|jquery|howler|frvr-channel-web/;
                        if (regex.test(node.src)) {
                            node.remove();
                        }
                        if (/assets.+\.js$/.test(node.src) && null === script) {
                            observer.disconnect();
                            this.foundScript(node);
                        }
                    }
                }
            }));
            observer.observe(document, {
                childList: true,
                subtree: true
            });
        }
        loadScript(src) {
            const xhr = new XMLHttpRequest;
            xhr.open("GET", src, false);
            xhr.send();
            const code = this.formatCode(xhr.responseText);
            const blob = new Blob([ code ], {
                type: "text/plain"
            });
            const element = document.createElement("script");
            element.src = URL.createObjectURL(blob);
            this.waitForBody((() => {
                document.head.appendChild(element);
            }));
        }
        waitForBody(callback) {
            if ("loading" !== document.readyState) {
                callback();
                return;
            }
            document.addEventListener("readystatechange", (() => {
                if ("loading" !== document.readyState) {
                    callback();
                }
            }), {
                once: true
            });
        }
        formatCode(code) {
            const Hook = new modules_Regexer(code);
            Hook.prepend("LockRotationClient", /return \w+\?\(\!/, `return Aibm.myClient.ModuleHandler.mouse.angle;`);
            Hook.replace("DisableResetMoveDir", /\w+=\{\},\w+\.send\("\w+"\)/, "");
            Hook.append("offset", /\W170\W.+?(\w+)=\w+\-\w+\/2.+?(\w+)=\w+\-\w+\/2;/, `Aibm.myClient.myPlayer.offset.setXY($1,$2);`);
            Hook.prepend("renderEntity", /\w+\.health>NUM{0}.+?(\w+)\.fillStyle=(\w+)==(\w+)/, `;Aibm.hooks.EntityRenderer.render($1,$2,$3);false&&`);
            Hook.append("renderItemPush", /,(\w+)\.blocker,\w+.+?2\)\)/, `,Aibm.Renderer.objects.push($1)`);
            Hook.append("renderItem", /70, 0.35\)",(\w+).+?\w+\)/, `,Aibm.hooks.ObjectRenderer.render($1)`);
            Hook.append("RemoveSendAngle", /clientSendRate\)/, `&&false`);
            Hook.replace("handleEquip", /\w+\.send\("\w+",0,(\w+),(\w+)\)/, `Aibm.myClient.ModuleHandler.equip($2,$1,true)`);
            Hook.replace("handleBuy", /\w+\.send\("\w+",1,(\w+),(\w+)\)/, `Aobm.myClient.ModuleHandler.buy($2,$1,true)`);
            Hook.prepend("RemovePingCall", /\w+&&clearTimeout/, "return;");
            Hook.append("RemovePingState", /let \w+=-1;function \w+\(\)\{/, "return;");
            Hook.prepend("preRender", /(\w+)\.lineWidth=NUM{4},/, `Aibm.hooks.ObjectRenderer.preRender($1);`);
            Hook.replace("RenderGrid", /("#91b2db".+?)(for.+?)(\w+\.stroke)/, "$1if(Aibm.settings.renderGrid){$2}$3");
            Hook.replace("upgradeItem", /(upgradeItem.+?onclick.+?)\w+\.send\("\w+",(\w+)\)\}/, "$1Aibm.myClient.ModuleHandler.upgradeItem($2)}");
            const data = Hook.match("DeathMarker", /99999.+?(\w+)=\{x:(\w+)/);
            Hook.append("playerDied", /NUM{99999};function \w+\(\)\{/, `if(Aibm.myClient.myPlayer.handleDeath()){${data[1]}={x:${data[2]}.x,y:${data[2]}.y};return};`);
            Hook.append("updateNotificationRemove", /\w+=\[\],\w+=\[\];function \w+\(\w+,\w+\)\{/, `return;`);
            Hook.replace("retrieveConfig", /((\w+)=\{maxScreenWidth.+?\}),/, "$1;window.config=$2;");
            Hook.replace("retrieveUtility", /((\w+)=\{randInt.+?\}),/, "$1;window.bundleUtility=$2;");
            Hook.replace("removeSkins", /(\(\)\{)(let \w+="";for\(let)/, "$1return;$2");
            Hook.prepend("unlockedItems", /\w+\.list\[\w+\]\.pre==/, "true||");
            return Hook.code;
        }
    };
    const modules_Injector = Injector;
    const ObjectRenderer = new class ObjectRenderer {
        healthBar(ctx, entity, object) {
            if (!(Settings.itemHealthBar && object.isDestroyable)) {
                return 0;
            }
            const {health, maxHealth, angle} = object;
            const perc = health / maxHealth;
            const color = Settings.itemHealthBarColor;
            return rendering_Renderer.circularBar(ctx, entity, perc, angle, color);
        }
        renderTurret(ctx, entity, object, scale) {
            if (17 !== object.type) {
                return;
            }
            if (Settings.objectTurretReloadBar) {
                const {reload, maxReload, angle} = object;
                const perc = reload / maxReload;
                const color = Settings.objectTurretReloadBarColor;
                rendering_Renderer.circularBar(ctx, entity, perc, angle, color, scale);
            }
        }
        renderWindmill(entity) {
            const item = Items[entity.id];
            if (5 === item.itemType) {
                entity.turnSpeed = Settings.windmillRotation ? item.turnSpeed : 0;
            }
        }
        renderCollisions(ctx, entity, object) {
            const x = entity.x + entity.xWiggle;
            const y = entity.y + entity.yWiggle;
            if (Settings.collisionHitbox) {
                rendering_Renderer.circle(ctx, x, y, object.collisionScale, "#c7fff2", 1, 1);
                rendering_Renderer.rect(ctx, new modules_Vector(x, y), object.collisionScale, "#ecffbd", 1);
            }
            if (Settings.weaponHitbox) {
                rendering_Renderer.circle(ctx, x, y, object.hitScale, "#3f4ec4", 1, 1);
            }
            if (Settings.placementHitbox) {
                rendering_Renderer.circle(ctx, x, y, object.placementScale, "#73b9ba", 1, 1);
            }
        }
        render(ctx) {
            if (0 === rendering_Renderer.objects.length) {
                return;
            }
            for (const entity of rendering_Renderer.objects) {
                const object = myClient.ObjectManager.objects.get(entity.sid);
                if (void 0 === object) {
                    continue;
                }
                rendering_Renderer.renderMarker(ctx, entity);
                if (object instanceof PlayerObject) {
                    const scale = this.healthBar(ctx, entity, object);
                    this.renderTurret(ctx, entity, object, scale);
                    this.renderWindmill(entity);
                }
                this.renderCollisions(ctx, entity, object);
            }
            rendering_Renderer.objects.length = 0;
        }
        preRender(ctx) {
            if (myClient.myPlayer.diedOnce) {
                const {x, y} = myClient.myPlayer.deathPosition;
                rendering_Renderer.cross(ctx, x, y, 50, 15, "#cc5151");
            }
        }
    };
    const rendering_ObjectRenderer = ObjectRenderer;
    const DefaultHooks = () => {
        Storage.set("moofoll", 1);
        window.addEventListener = new Proxy(window.addEventListener, {
            apply(target, _this, args) {
                if ([ "keydown", "keyup" ].includes(args[0]) && void 0 === args[2]) {
                    if ("keyup" === args[0]) {
                        window.addEventListener = target;
                    }
                    return null;
                }
                return target.apply(_this, args);
            }
        });
        const proto = HTMLCanvasElement.prototype;
        proto.addEventListener = new Proxy(proto.addEventListener, {
            apply(target, _this, args) {
                if (/^mouse/.test(args[0]) && false === args[2]) {
                    if (/up$/.test(args[0])) {
                        proto.addEventListener = target;
                    }
                    return null;
                }
                return target.apply(_this, args);
            }
        });
        window.setInterval = new Proxy(setInterval, {
            apply(target, _this, args) {
                if (/cordova/.test(args[0].toString()) && 1e3 === args[1]) {
                    window.setInterval = target;
                    return null;
                }
                return target.apply(_this, args);
            }
        });
        utility_Hooker.createRecursiveHook(window, "config", ((that, config) => {
            config.maxScreenWidth = modules_ZoomHandler.scale.smooth.w;
            config.maxScreenHeight = modules_ZoomHandler.scale.smooth.h;
            return true;
        }));
        utility_Hooker.createRecursiveHook(window, "bundleUtility", ((that, utility) => {
            utility.checkTrusted = event => event;
            return true;
        }));
        utility_Hooker.createRecursiveHook(window, "selectSkinColor", ((that, callback) => {
            that.selectSkinColor = skin => {
                callback(10 === skin ? "toString" : skin);
                Storage.set("skin_color", skin);
            };
            return true;
        }));
        const blockProperty = (target, key) => {
            Object.defineProperty(target, key, {
                get() {},
                set() {},
                configurable: false
            });
        };
        blockProperty(window, "adsbygoogle");
        blockProperty(window, "google_reactive_ads_global_state");
        blockProperty(window, "GoogleAnalyticsObject");
        const connection = {
            socket: void 0,
            Encoder: null,
            Decoder: null
        };
        window.WebSocket = new Proxy(WebSocket, {
            construct(target, args) {
                const ws = new target(...args);
                connection.socket = ws;
                window.WebSocket = target;
                return ws;
            }
        });
        utility_Hooker.createRecursiveHook(Object.prototype, "initialBufferSize", (_this => {
            connection.Encoder = _this;
            return true;
        }));
        utility_Hooker.createRecursiveHook(Object.prototype, "maxExtLength", (_this => {
            connection.Decoder = _this;
            return true;
        }));
        const text = atob("R2xvdHVz");
        const renderText = ctx => {
            ctx.save();
            ctx.font = "600 20px sans-serif";
            ctx.textAlign = "left";
            ctx.textBaseline = "top";
            ctx.setTransform(1, 0, 0, 1, 0, 0);
            const scale = modules_ZoomHandler.getScale();
            ctx.scale(scale, scale);
            ctx.fillStyle = "#f1f1f1";
            ctx.strokeStyle = "#1c1c1c";
            ctx.lineWidth = 8;
            ctx.globalAlpha = .8;
            ctx.letterSpacing = "4px";
            ctx.strokeText(text, 5, 5);
            ctx.fillText(text, 5, 5);
            ctx.restore();
        };
        const frame = window.requestAnimationFrame;
        window.requestAnimationFrame = function(callback) {
            const value = frame.call(this, callback);
            const canvas = document.querySelector("#gameCanvas");
            const ctx = canvas.getContext("2d");
            renderText(ctx);
            // Внутри хука requestAnimationFrame
try {
    // Визуализация для основного игрока (если нужно)
    if (myClient?.ModuleHandler?.staticModules?.movement) {
        myClient.ModuleHandler.staticModules.movement.drawOverlay(ctx);
    }

    // Визуализация для ботов
    if (myClient.clients) {
        for (const client of myClient.clients) {
            if (client?.ModuleHandler?.staticModules?.movement) {
                client.ModuleHandler.staticModules.movement.drawOverlay(ctx);
            }
        }
    }
} catch(e) {}
            // Внутри rAF (requestAnimationFrame)
if (myClient.clients) {
    for (const client of myClient.clients) {
        if (client?.ModuleHandler?.staticModules?.breakMode) {
            client.ModuleHandler.staticModules.breakMode.drawOverlay(ctx);
        }
    }
}
            // в том rAF wrapper'е, где уже есть `const ctx = gameCanvas.getContext('2d'); renderText(ctx);`
try {
    if (myClient?.ModuleHandler?.oneTick?.active) {
        myClient.ModuleHandler.oneTick.drawOverlay(ctx);
    }
} catch(e){}
// Draw instakill crosses last in the frame so they appear above all objects/players
try {
    const ic = window.__aibm_instaCross;
    if (ic && ic.until && ic.until > Date.now()) {
        const s = ic.size || ic.s || 50;
        const t = ic.thickness || 8;
        const c = ic.color || '#ff6666';
            try {
                const alpha = 0.30; // very small for maximum smoothness
            if (typeof ic.targetX === 'number' && typeof ic.targetY === 'number') {
            ic.x = (ic.x || ic.targetX) + (ic.targetX - (ic.x || ic.targetX)) * alpha;
            ic.y = (ic.y || ic.targetY) + (ic.targetY - (ic.y || ic.targetY)) * alpha;
            }
        } catch (e) {}
        // draw border then inner cross for nicer look
        try { rendering_Renderer.cross(ctx, ic.x, ic.y, s, t + 4, '#000000'); } catch (e) {}
        rendering_Renderer.cross(ctx, ic.x, ic.y, s, t, c);
    }
} catch (e) {}
try {
    const ipc = window.__aibm_instaCrossPersistent;
    if (ipc && ipc.active) {
        try {
            const alpha2 = 0.08;
            if (typeof ipc.targetX === 'number' && typeof ipc.targetY === 'number') {
            ipc.x = (ipc.x || ipc.targetX) + (ipc.targetX - (ipc.x || ipc.targetX)) * alpha2;
            ipc.y = (ipc.y || ipc.targetY) + (ipc.targetY - (ipc.y || ipc.targetY)) * alpha2;
            }
        } catch (e) {}
        const s2 = ipc.size || 60;
        const t2 = ipc.thickness || 10;
        const c2 = ipc.color || '#ff6666';
        try { rendering_Renderer.cross(ctx, ipc.x, ipc.y, s2, t2 + 4, '#000000'); } catch (e) {}
        rendering_Renderer.cross(ctx, ipc.x, ipc.y, s2, t2, c2);
    }
} catch (e) {}
            return value;
        };
        return connection;
    };
    const modules_DefaultHooks = DefaultHooks;
    const connection = modules_DefaultHooks();
    const myClient = new src_PlayerClient(connection, true);
    console.log("oke on start!");
    const Aibm = {
        myClient,
        GameUI: UI_GameUI,
        Hooker: utility_Hooker,
        UI: UI_UI,
        settings: Settings,
        Renderer: rendering_Renderer,
        ZoomHandler: modules_ZoomHandler,
        hooks: {
            EntityRenderer: rendering_EntityRenderer,
            ObjectRenderer: rendering_ObjectRenderer
        }
    };
    window.Aibm = Aibm;
    modules_Injector.init();
    window.addEventListener("DOMContentLoaded", (() => {
        UI_UI.createMenu();
        UI_GameUI.init();
        UI_StoreHandler.init();
    }));
    window.addEventListener("load", (() => {
        UI_GameUI.load();
    }));
    window.addEventListener("keydown", (event => myClient.ModuleHandler.handleKeydown(event)), false);
    window.addEventListener("keyup", (event => myClient.ModuleHandler.handleKeyup(event)), false);

function squarePointCorners(centerPos, idx, total, r) {
    // выбираем угол: 0 = верх-лево, 1 = верх-право, 2 = низ-право, 3 = низ-лево
    const corner = idx % 4;

    let x = centerPos.x;
    let y = centerPos.y;

    switch(corner) {
        case 0: // верх-лево
            x -= r;
            y -= r;
            break;
        case 1: // верх-право
            x += r;
            y -= r;
            break;
        case 2: // низ-право
            x += r;
            y += r;
            break;
        case 3: // низ-лево
            x -= r;
            y += r;
            break;
    }

    return new Vector_Vector(x, y);
}
/* ============================================================
   GMX — ExtraMenu (all-bots control) + BotsSoul (info-only)
   - ExtraMenu: все команды отправляются в ownerCommander -> 'all'
   - BotsSoul: только список ботов и ресурсы, без кнопок управления
   - Уведомления не пишутся в чат (внутри панелей)
   - Один раз определяем ownerCommander helper
   ============================================================ */

(function OwnerCommanderHelpers(){
  if (window.__gmx_owner_commander_helpers_installed) return;
  window.__gmx_owner_commander_helpers_installed = true;

  window.getOwnerCommanderRoot = function getOwnerCommanderRoot() {
    try {
      window.myClient = window.myClient || {};
      myClient.ModuleHandler = myClient.ModuleHandler || {};
      myClient.ModuleHandler.ownerCommander = myClient.ModuleHandler.ownerCommander || {};
      return myClient.ModuleHandler.ownerCommander;
    } catch(e){ return {}; }
  };

  window.ensureTargetObj = function ensureTargetObj(root, tid) {
    try {
      root.targets = root.targets || {};
      const ownerId = myClient && myClient.myPlayer && myClient.myPlayer.id;
      if (tid === "me" || String(tid) === String(ownerId)) {
        return root;
      }
      const key = String(tid);
      if (!root.targets[key]) root.targets[key] = {};
      return root.targets[key];
    } catch(e){ return {}; }
  };

  window.setOwnerCommanderField = function setOwnerCommanderField(tid, key, val) {
    try {
      const root = getOwnerCommanderRoot();
      const oc = ensureTargetObj(root, tid);
      if (val === null) {
        // remove field
        delete oc[key];
      } else {
        oc[key] = val;
      }
      oc.lastUpdated = Date.now();
      return oc;
    } catch(e){ return null; }
  };

  window.readOwnerCommanderField = function readOwnerCommanderField(tid, key) {
    try {
      const root = getOwnerCommanderRoot();
      const oc = ensureTargetObj(root, tid);
      return oc[key];
    } catch(e){ return undefined; }
  };

})();

/* ================= ExtraMenu (Right Shift) ==================== */
(function ExtraMenuAllBots(){
    if (window.__gmx_extramenu_loaded) return;
    window.__gmx_extramenu_loaded = true;

    const PANEL_ID = 'gmx-panel';
    const STYLES_ID = 'gmx-panel-styles';
    let isOpen = false;
    let stateRefreshTimer = null;

    // ================= ХРАНЕНИЕ СОСТОЯНИЯ И НАСТРОЕК (localStorage) =================
    const STORAGE_KEY = 'gmx_extramenu_config';
    let config = loadConfig();

    function loadConfig() {
        try {
            const data = localStorage.getItem(STORAGE_KEY);
            return JSON.parse(data) || {
                activeTab: 'main',
                position: { top: null, left: null },
                keybinds: { 'KeyF': 'follow', 'KeyG': 'stay' } // Default keybinds
            };
        } catch(e) {
            return { activeTab: 'main', position: { top: null, left: null }, keybinds: { 'KeyF': 'follow', 'KeyG': 'stay' } };
        }
    }

    function saveConfig() {
        try {
            localStorage.setItem(STORAGE_KEY, JSON.stringify(config));
        } catch(e) { /* ignore */ }
    }

    function injectStyles(){
    if (document.getElementById(STYLES_ID)) return;
    const css = `
        /* 🚨 НОВЫЙ ШРИФТ: Стилизация под каллиграфию. Убедитесь, что он доступен. */
        @import url('https://fonts.com/css2?family=Uncial+Antiqua&display=swap');

        /* ⚔️ АНИМАЦИИ */
        @keyframes pulsating-gold {
            0% { box-shadow: 0 0 15px rgba(176,0,0,0.4), 0 0 5px rgba(0,0,0,0.8), 0 0 3px #D4AF37; }
            50% { box-shadow: 0 0 25px rgba(255,50,50,0.6), 0 0 10px rgba(0,0,0,0.8), 0 0 8px #FFD700; }
            100% { box-shadow: 0 0 15px rgba(176,0,0,0.4), 0 0 5px rgba(0,0,0,0.8), 0 0 3px #D4AF37; }
        }

        /* 🌌 АНИМАЦИЯ ЧАСТИЦ (ФОН) */
        @keyframes particle-movement {
            0% { transform: translate(0, 0) rotate(0deg); opacity: 0.1; }
            100% { transform: translate(200px, 400px) rotate(360deg); opacity: 0.05; }
        }

        /* --- ГЛОБАЛЬНЫЕ НАСТРОЙКИ МЕНЮ --- */
        #${PANEL_ID} {
            box-sizing: border-box;
            position: fixed;
            right: 18px;
            bottom: 18px;
            width: 360px;
            /* ⬆️ ИЗМЕНЕНИЕ: Увеличиваем максимальную высоту меню для лучшего отображения биндов */
            max-height: 70vh;

            /* 🩸 Фон: Глубокий черный с красным/золотым градиентом */
            background: #0D0000;
            background: linear-gradient(135deg, #1A0000 0%, #0D0000 70%, #201000 100%);

            /* 🔪 Жесткие, но не ломающие углы */
            border-radius: 4px;

            /* 🌟 Рамка: Тонкое тусклое золото/ржавчина */
            color: #E0D1B7;
            border: 2px solid #550000; /* Темно-красная рамка */
            /* 🚨 ДОБАВЛЕНА АНИМАЦИЯ ПУЛЬСАЦИИ К РАМКЕ МЕНЮ */
            box-shadow: 0 0 15px rgba(176,0,0,0.4), 0 0 5px rgba(0,0,0,0.8); /* Кровавое свечение */
            //animation: pulsating-gold 4s infinite ease-in-out;

            z-index: 2147483000;
            padding: 10px;

            font-family: 'Uncial Antiqua', serif; /* Применяем стилизованный шрифт */

            opacity: 0;
            transform: translateY(10px) scale(0.98);
            pointer-events: none;
            transition: opacity .35s ease-out, transform .35s ease-out;

            /* 🚨 ДОБАВЛЕНО: Для позиционирования псевдоэлемента с частицами */
            overflow: hidden;
        }

        /* 🌠 ПСЕВДОЭЛЕМЕНТ ДЛЯ ЧАСТИЦ (ФОН) */
        #${PANEL_ID}::before {
            content: '';
            position: absolute;
            top: -200px;
            left: -200px;
            width: 800px; /* Достаточно большой, чтобы покрыть меню и позволить частицам летать за его пределами */
            height: 800px;
            background-image: radial-gradient(circle, #CCAC00 1px, transparent 1px),
                              radial-gradient(circle, #B00000 1.5px, transparent 1.5px),
                              radial-gradient(circle, #550000 2px, transparent 2px); /* Разные цвета/размеры для разнообразия */
            background-size: 20px 20px, 30px 30px, 40px 40px; /* Разная плотность */
            z-index: -1; /* Под основным содержимым меню */
            animation: particle-movement 120s linear infinite alternate; /* Медленное, долгое движение */
        }

        #${PANEL_ID}.open {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
            /* 🚨 ДОБАВЛЕНО: Сброс анимации пульсации при открытии, чтобы избежать прерывания */
            animation-play-state: running;
        }

        /* --- ЗАГОЛОВОК И ЗАКРЫТИЕ --- */
        #${PANEL_ID} .gmx-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 6px;
            /* 🗡️ Разделитель: Красная линия, имитирующая порез */
            border-bottom: 1px solid #B00000;
            margin-bottom: 8px;
            /* 🚨 ДОБАВЛЕНА АНИМАЦИЯ ПУЛЬСАЦИИ К ЗАГОЛОВКУ */
            //animation: pulsating-gold 3s infinite ease-in-out reverse;
        }

        #${PANEL_ID} .gmx-title {
            font-size: 18px;
            color: #D4AF37; /* Цвет тусклого золота */
            text-shadow: 1px 1px 2px #000;
        }

        /* 🔴 КРЕСТИК: УДАЛЕНА АНИМАЦИЯ МЕРЦАНИЯ */
        #${PANEL_ID} .gmx-close {
            background: transparent;
            border: 1px solid #550000;
            color: #B00000;
            font-size: 24px;
            cursor: pointer;

            width: 34px;
            height: 34px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;

            /* ❌ УДАЛЕНА АНИМАЦИЯ: animation: pulsating-blood 2s infinite ease-in-out; */

            transition: background .2s ease, color .2s ease, transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        #${PANEL_ID} .gmx-close:hover {
            background: rgba(255, 0, 0, 0.2);
            color: #FF6B6B;
            transform: rotate(360deg) scale(1.1);
            box-shadow: 0 0 20px #FF6B6B;
        }

        /* --- ВКЛАДКИ (ТАБЫ) --- */
        #${PANEL_ID} .gmx-tabs {
            display: flex;
            gap: 6px;
            margin: 8px 0;
            width: 100%;
            margin-left: 0;
            padding: 0 8px;
            box-sizing: border-box;
        }

        #${PANEL_ID} .gmx-tab {
            /* ⬇️ ИЗМЕНЕНИЕ: Уменьшаем размер шрифта и внутренний отступ для размещения текста */
            font-size: 14px;
            padding: 5px 4px;

            flex: 1;
            border-radius: 4px;
            background: #200505;
            text-align: center;
            cursor: pointer;
            color: #E0D1B7;
            border: 1px solid #550000;
            transition: background .2s, color .2s, transform .2s;
            /* white-space: nowrap; - сохраняем, чтобы текст не переносился и оставался в одну линию */
            min-width: 0;
        }

        #${PANEL_ID} .gmx-tab:hover {
             background: #380a0a;
        }

        #${PANEL_ID} .gmx-tab.active {
            /* 🔴 Активный: Кроваво-красный с тенью */
            background: linear-gradient(90deg, #B00000, #550000);
            color: #FFF;
            box-shadow: 0 4px 10px rgba(176,0,0,0.6);
            transform: translateY(-1px);
            border-color: #FF4444;
        }

        /* --- ТЕЛО КОНТЕНТА --- */
        #${PANEL_ID} .gmx-body {
            padding: 3px;
            /* ⬆️ ИЗМЕНЕНИЕ: Увеличиваем доступную высоту для скролла */
            max-height: calc(70vh - 120px);
            overflow: auto;
            /* Внутренняя рамка: Тусклое золото */
            border: 1px solid rgba(85,0,0,0.5);
            border-radius: 4px;
        }

        /* --- ЭЛЕМЕНТЫ УПРАВЛЕНИЯ (без изменений) --- */
        #${PANEL_ID} .gmx-row {
            display: flex;
            gap: 8px;
            align-items: center;
            margin-bottom: 10px;
            flex-wrap: wrap;
        }

        #${PANEL_ID} .gmx-list-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 6px 0;
            border-bottom: 1px dashed rgba(176,0,0,0.3);
        }

        #${PANEL_ID} .gmx-key-btn {
            background: #280808;
            border: 1px solid #B00000;
            color: #E0D1B7;
            padding: 4px 8px;
            border-radius: 4px;
            cursor: pointer;
            min-width: 40px;
            text-align: center;
            transition: background .15s;
        }

        #${PANEL_ID} .gmx-key-btn:hover {
            background: #401010;
        }

        #${PANEL_ID} .gmx-key-btn.active {
            background: #B00000;
            color: #FFF;
            border-color: #FF6B6B;
        }

        #${PANEL_ID} .gmx-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: #280808;
            color: #E0D1B7;
            border: 1px solid #550000;
            padding: 8px 10px;
            border-radius: 4px;
            cursor: pointer;
            transition: transform .12s ease, box-shadow .12s ease, background .12s;
        }

        #${PANEL_ID} .gmx-btn.small {
            padding: 6px 8px;
            font-size: 13px;
        }

        #${PANEL_ID} .gmx-btn.active,
        #${PANEL_ID} .gmx-btn[data-mode-active="true"] {
            /* 🌟 Активный: Глубокое золото */
            background: linear-gradient(135deg,#D4AF37,#CCAC00);
            color: #111;
            box-shadow: 0 6px 18px rgba(212,175,55,0.25);
            transform: scale(1.03);
        }

        /* 🚨 Анимация нажатия и наведения для кнопок */
        #${PANEL_ID} .gmx-btn:hover {
            background: #401010;
            box-shadow: 0 0 6px rgba(176,0,0,0.3);
            transform: scale(1.02);
        }

        #${PANEL_ID} .gmx-btn:active {
            transform: scale(0.97);
            background: #551515;
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.5);
        }

        /* --- ПОЛЯ ВВОДА --- */
        #${PANEL_ID} input[type="number"],
        #${PANEL_ID} select,
        #${PANEL_ID} input[type="text"] {
            background: #110303;
            border: 1px solid #550000;
            color: #E0D1B7;
            padding: 8px;
            border-radius: 4px;
            min-width: 74px;
            transition: border-color .2s;
        }

        #${PANEL_ID} input[type="number"]:focus,
        #${PANEL_ID} select:focus,
        #${PANEL_ID} input[type="text"]:focus {
            outline: none;
            border-color: #B00000;
            box-shadow: 0 0 5px rgba(176,0,0,0.5);
        }

        #${PANEL_ID} select option {
            background: #110303;
            color: #E0D1B7;
        }

        /* --- СТАТУС И ПРОЧЕЕ --- */
        #${PANEL_ID} .gmx-status {
            position: absolute;
            left: 14px;
            right: 14px;
            bottom: 12px;
            font-size: 12px;
            color: #AA4444;
            text-align: center;
            opacity: 0;
            transform: translateY(6px);
            pointer-events: none;
            transition: opacity .18s, transform .18s;
        }

        #${PANEL_ID}.show-status .gmx-status {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        #${PANEL_ID} .gmx-bubble {
            display: inline-block;
            padding: 6px 10px;
            border-radius: 4px;
            background: #150505;
            color: #E0D1B7;
            border: 1px solid #550000;
            box-shadow: 0 6px 20px rgba(0,0,0,0.5);
        }

        /* --- Скроллбар (опционально) --- */
        #${PANEL_ID} .gmx-body::-webkit-scrollbar {
            width: 10px;
        }

        #${PANEL_ID} .gmx-body::-webkit-scrollbar-thumb {
            background: #350000;
            border-radius: 8px;
        }
    `;
        const st = document.createElement('style');
        st.id = STYLES_ID;
        document.head.appendChild(st);
        st.textContent = css;
    }

    // ... (продолжение кода ExtraMenuAllBots)

    function buildPanel(){
        if (document.getElementById(PANEL_ID)) return;
        injectStyles();

        const p = document.createElement('div');
        p.id = PANEL_ID;
        // Apply saved position
        if (config.position.top !== null) {
            p.style.top = config.position.top;
            p.style.left = config.position.left;
            p.style.right = 'auto';
            p.style.bottom = 'auto';
        }

        // Rename 'settings' to 'binds' in config if it's the old value
        if (config.activeTab === 'settings') {
            config.activeTab = 'binds';
            saveConfig();
        }

        p.innerHTML = `
            <div class="gmx-header">
                <div class="gmx-title">AIBM Extra Menu</div>
                <button class="gmx-close" >×</button>
            </div>

            <div class="gmx-tabs" role="tablist">
                <div class="gmx-tab ${config.activeTab === 'main' ? 'active' : ''}" data-tab="main" title="General bot settings and modes">General</div>
                <div class="gmx-tab ${config.activeTab === 'movement' ? 'active' : ''}" data-tab="movement" title="Advanced movement modes">Move</div>
                <div class="gmx-tab ${config.activeTab === 'commands' ? 'active' : ''}" data-tab="commands" title="Chat/Clan commands">Comds</div>
                <div class="gmx-tab ${config.activeTab === 'combat' ? 'active' : ''}" data-tab="combat" title="Combat assistance settings">Combat</div>
                <div class="gmx-tab ${config.activeTab === 'binds' ? 'active' : ''}" data-tab="binds" title="Configure keyboard shortcuts">Binds</div>
            </div>

            <div class="gmx-body">  <div class="gmx-page" data-tab="main" style="display:${config.activeTab === 'main' ? 'block' : 'none'}">
    <div class="gmx-row" style="border-bottom: 1px solid rgba(255,255,255,0.02); padding-bottom: 8px;">
        <button id="btn-follow" class="gmx-btn" style="flex:1;" title="Switches all bots to follow the player.">Follow</button>
        <button id="btn-stay" class="gmx-btn" style="flex:1;" title="Stops all bots.">Stay</button>
        <button id="btn-randommill" class="gmx-btn" style="flex:1;" title="Bots will move randomly, placing windmills.">RandomMill</button>
        <button id="btn-cursorfollow" class="gmx-btn" style="flex:1;" title="Switches all bots to follow the mouse cursor.">CursorFollow</button>
    </div>

    <div class="gmx-row" style="margin-top: 10px;">
        <select id="grind-target" style="flex:1;" title="Resource type for the Grinder mode."><option value="wood">Wood</option><option value="stone">Stone</option><option value="food">Food</option><option value="gold">Gold</option></select>
        <input id="grind-threshold" type="number" placeholder="Limit (500)" value="${config.grindThreshold || 500}" style="width: 100px; flex:1;" min="0" title="Resource limit. Bot follows if resource >= limit.">
        <button id="btn-grind" class="gmx-btn" style="flex:2;" title="Starts bots on automatic gathering of the selected resource.">Grinder</button>
    </div>

    <div class="gmx-grid" style="margin-top: 10px;">

        <button id="btn-bm" class="gmx-btn" title="Bots try to avoid spikes, in extreme cases they break them">AvoidSpike</button>
        <button id="btn-ba" class="gmx-btn" title="Aggressively breaks all enemy structures">BreakAll</button>
    </div>

    <div class="gmx-row" style="margin-top: 10px;">
        <select id="hatloop-mode" style="flex:1;" title="HatLoop item selection mode.">
            <option value="free">Free Hats</option>
            <option value="all">All Hats</option>
        </select>
        <button id="btn-hatloop" class="gmx-btn" style="flex:2;" title="Automatic hat cycling.">HatLoop</button>
    </div>

    <div class="gmx-row" style="margin-top: 10px;">
        <select id="accloop-mode" style="flex:1;" title="AccLoop item selection mode.">
            <option value="all">All Accessories</option>
            <option value="wings">Wings only</option>
        </select>
        <button id="btn-accloop" class="gmx-btn" style="flex:2;" title="Automatic accessory cycling.">AccLoop</button>
    </div>

</div>

                <div class="gmx-page" data-tab="movement" style="display:${config.activeTab === 'movement' ? 'block' : 'none'}">

    <div class="gmx-row" style="margin-top: 10px; border-top: 1px solid rgba(255,255,255,0.02); padding-top: 10px;">
        <span style="flex:2; padding: 0 10px; line-height: 28px; text-align: left; color: #ccc;" title="Sets the distance for the 'Follow' mode.">Follow Radius:</span>

        <input id="follow-radius" type="number" placeholder="Radius (175)" value="${window.BOT_FOLLOW_RADIUS || 175}" style="flex:1;" title="The radius to maintain when following the owner. Default: 175.">
    </div>

    <div class="gmx-row" style="border-bottom: 1px solid rgba(255,255,255,0.02); padding-bottom: 10px;">
        <select id="player-follow-target" style="flex:2;" title="Select player to follow.">
            <option value="" disabled selected>Select Player</option>
        </select>
        <input id="pf-distance" type="number" placeholder="Distance (175)" value="175" style="flex:1;" title="Distance to maintain from the target player.">
        <button id="btn-playerfollow" class="gmx-btn" style="flex:1;" title="Bots follow the selected player and mirror their aiming angle.">Follow Player (Bad)</button>
    </div>

    <div class="gmx-row">
        <input id="circle-radius" type="number" placeholder="Radius (175)" value="175" style="flex:1;" title="Radius of circular movement (in pixels).">
        <button id="btn-circle" class="gmx-btn" style="flex:2;" title="Circular movement around the player.">Circle</button>
    </div>

    <div class="gmx-row">
        <input id="cs-radius" type="number" placeholder="Radius (175)" value="175" style="flex:1;">
        <input id="cs-speed" type="number" placeholder="Speed (100)" value="100" style="flex:1;" title="Rotation speed (in degrees/tick).">
        <select id="cs-dir" style="flex:1;" title="Rotation direction."><option value="cw">CW</option><option value="ccw">CCW</option></select>
        <button id="btn-cs" class="gmx-btn" style="flex:2;" title="Circular movement with constant rotation.">CircleSpin</button>
    </div>

    <div class="gmx-row">
        <input id="sq-radius" type="number" placeholder="Radius (175)" value="175" style="flex:1;">
        <button id="btn-square" class="gmx-btn" style="flex:2;" title="Square movement around the player.">Square</button>
    </div>

    <div class="gmx-row">
        <input id="ssq-radius" type="number" placeholder="Radius (175)" value="175" style="flex:1;">
        <input id="ssq-speed" type="number" placeholder="Speed (1)" value="1" style="flex:1;" title="Square rotation speed.">
        <select id="ssq-dir" style="flex:1;"><option value="cw">CW</option><option value="ccw">CCW</option></select>
        <button id="btn-ssq" class="gmx-btn" style="flex:2;" title="Square movement with rotation.">SquareSpin</button>
    </div>
</div>

<div class="gmx-page" data-tab="commands" style="display:${config.activeTab === 'commands' ? 'block' : 'none'}">

                        <div class="gmx-row" style="margin-top: 10px; border-bottom: 1px solid rgba(255,255,255,0.02); padding-bottom: 10px;">
                            <input id="ac-message" type="text" placeholder="Message for bots" maxlength="30" style="flex-grow: 1;" title="The message that bots will repeat.">
                            <select id="ac-glitch-select" style="width: 120px;" title="Glitch effect for the message.">
                                <option value="">None (Static)</option>
                                <option value="#$*0" selected>#$*0 (Default)</option>
                                <option value="_+-=">_+-= (Symbols)</option>
                                <option value="1337">1337 (Numbers)</option>
                                <option value="@^&%">@^&% (More)</option>
                            </select>
                        </div>
                        <div class="gmx-row" style="margin-top: -5px;">
                            <button id="btn-ac" class="gmx-btn" style="flex:1;" title="Toggle automatic chat on/off.">AutoChat Toggle</button>
                        </div>


                        <div class="gmx-row" style="margin-top: 10px; border-top: 1px solid rgba(255,255,255,0.02); padding-top: 10px; border-bottom: 1px solid rgba(255,255,255,0.02); padding-bottom: 10px;">
                            <input id="acl-name" type="text" placeholder="AIBM" maxlength="4" style="flex-grow: 1;" title="The clan tag that bots will use.">
                            <select id="acl-glitch-select" style="width: 120px;" title="Glitch effect for the clan tag.">
                                <option value="">None (Static)</option>
                                <option value="#$*0" selected>#$*0 (Default)</option>
                                <option value="_+-=">_+-= (Symbols)</option>
                                <option value="1337">1337 (Numbers)</option>
                                <option value="@^&%">@^&% (More)</option>
                            </select>
                        </div>
                        <div class="gmx-row" style="margin-top: -5px;">
                            <button id="btn-acl" class="gmx-btn" style="flex:1;" title="Toggle automatic clan tag change.">AutoClan Toggle</button>
                        </div>
                    </div>

                <div class="gmx-page" data-tab="combat" style="display:${config.activeTab === 'combat' ? 'block' : 'none'}">
    <div class="gmx-row">
        <button id="btn-bowspam" class="gmx-btn" style="flex:1;" title="Enables rapid fire for bow/crossbow.">SyncShotSpam</button>
    </div>
    <div class="gmx-row">
        <button id="btn-syncshot" class="gmx-btn" style="flex:1;" title="Commands all bots to hit simultaneously">SyncShot</button>
    </div>
</div>

                <div class="gmx-page" data-tab="binds" style="display:${config.activeTab === 'binds' ? 'block' : 'none'}">
                    <div class="gmx-row" style="color: #ccc;">
                        <span style="flex: 1;">Action</span>
                        <span style="width: 80px; text-align: center;">Key</span>
                    </div>
                    <div id="keybinds-list">
                        </div>
                </div>

            </div> <div class="gmx-status"><span class="gmx-bubble" id="gmx-status-text">Ready</span></div>
            </div>
        `;
        document.body.appendChild(p);
        makeDraggablePanel(p);
        populateKeybinds(p);

// ... (остальной код ExtraMenuAllBots)
        // close button
        p.querySelector('.gmx-close').addEventListener('click', ()=> toggle(false));

        // tabs
        p.querySelectorAll('.gmx-tab').forEach(tabBtn => {
            tabBtn.addEventListener('click', () => {
                p.querySelectorAll('.gmx-tab').forEach(b=>b.classList.remove('active'));
                p.querySelectorAll('.gmx-page').forEach(pg=>pg.style.display='none');
                tabBtn.classList.add('active');
                const id = tabBtn.dataset.tab;
                config.activeTab = id;
                saveConfig();
                const page = p.querySelector(`.gmx-page[data-tab="${id}"]`);
                if(page) page.style.display = 'block';
            });
        });

        // attach handlers
        attachExtraMenuHandlers(p);

        // start state refresh
        if (stateRefreshTimer) clearInterval(stateRefreshTimer);
        stateRefreshTimer = setInterval(()=> refreshToggles(p), 800);
        setTimeout(()=> refreshToggles(p), 60);
    }

    // ================= Keybinds Logic =================
    const actionToButtonId = {
        'follow': 'btn-follow',
        'stay': 'btn-stay',
        'randommill': 'btn-randommill',
        'CursorFollow': 'cursorfollow',
        'grinder': 'btn-grind',
        // 'ap': 'btn-ap',
        'bm': 'btn-bm',
        'ba': 'btn-ba',
        'accloop': 'btn-accloop',
        'hatloop': 'btn-hatloop',
        'bowspam': 'btn-bowspam',
        'syncshot': 'btn-syncshot'
    };

    const formatKey = (key) => key.replace('Key', '').replace('Digit', '').replace('Arrow', '').replace('Numpad', 'N').replace('N', 'Numpad ').replace('Escape', 'ESC').replace('ShiftRight', 'R-Shift');
    let isCapturingKey = false;
    let currentKeybindActionId = null;
    let currentKeybindButton = null;

    function populateKeybinds(p) {
        const list = p.querySelector('#keybinds-list');
        if (!list) return;
        list.innerHTML = '';

        const allActions = {
            'Follow': 'follow',
            'Stay': 'stay',
            'RandomMill': 'randommill',
            'CursorFollow': 'cursorfollow',
            'Grinder': 'grinder',
            //'AutoPlatform': 'ap',
            'AvoidSpike': 'bm',
            'BreakAll': 'ba',
            'AccLoop': 'accloop',
            'Hatloop': 'hl',
            'SyncHitSpam': 'bowspam',
            'SyncHit': 'syncshot',
            'Instakill': 'instakill',
            'BowInsta': 'bowinsta'
        };

        Object.keys(allActions).forEach(actionName => {
            const actionId = allActions[actionName];
            const key = Object.keys(config.keybinds).find(k => config.keybinds[k] === actionId);
            const keyDisplay = key ? formatKey(key) : 'Set';

            const item = document.createElement('div');
            item.className = 'gmx-list-item';
            item.innerHTML = `
                <span style="font-size: 14px;">${actionName}</span>
                <button class="gmx-key-btn" data-action="${actionId}" title="Click to bind key. Press ESC to clear.">${keyDisplay}</button>
            `;
            list.appendChild(item);
        });

        list.querySelectorAll('.gmx-key-btn').forEach(btn => {
            btn.addEventListener('click', (e) => startKeybindCapture(e, p));
        });
    }

    function stopKeybindCapture(p, reason='cancelled') {
        if (!isCapturingKey) return;

        document.removeEventListener('keydown', captureKey, { capture: true });

        if (currentKeybindButton) {
            // Restore the original key or 'Set'
            const currentKey = Object.keys(config.keybinds).find(k => config.keybinds[k] === currentKeybindActionId);
            currentKeybindButton.textContent = currentKey ? formatKey(currentKey) : 'Set';
            currentKeybindButton.classList.remove('active');
        }

        isCapturingKey = false;
        currentKeybindActionId = null;
        currentKeybindButton = null;

        if (reason === 'reset') panelFeedback(p, 'Keybind cleared.');
        else if (reason === 'cancelled') panelFeedback(p, 'Keybind setting cancelled.');
        else if (reason === 'keybind_set') panelFeedback(p, 'Keybind set successfully.');

        populateKeybinds(p);
    }

    function captureKey(e) {
        if (!isCapturingKey) return;

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

        const p = document.getElementById(PANEL_ID);
        const actionId = currentKeybindActionId;
        const key = e.code;

        // --- ESCAPE LOGIC (RESET) ---
        if (key === 'Escape') {
            const oldKey = Object.keys(config.keybinds).find(k => config.keybinds[k] === actionId);
            if (oldKey) {
                delete config.keybinds[oldKey];
            }
            saveConfig();
            stopKeybindCapture(p, 'reset');
            return;
        }

        // Block ShiftRight (menu open)
        if (key === 'ShiftRight') {
            panelFeedback(p, 'Cannot use R-Shift as keybind');
            stopKeybindCapture(p, 'error');
            return;
        }

        // Delete old keybind for this KEY
        if (config.keybinds[key]) {
            delete config.keybinds[key];
        }

        // Delete old keybind for this ACTION
        const oldKey = Object.keys(config.keybinds).find(k => config.keybinds[k] === actionId);
        if (oldKey) {
            delete config.keybinds[oldKey];
        }

        // Set new keybind
        config.keybinds[key] = actionId;
        saveConfig();

        stopKeybindCapture(p, 'keybind_set');
    }

    function startKeybindCapture(e, p) {
        const btn = e.target;
        const actionId = btn.dataset.action;

        // Cancel if already capturing the same button
        if (isCapturingKey) {
            if (btn === currentKeybindButton) {
                stopKeybindCapture(p, 'cancelled');
                return;
            }
            stopKeybindCapture(p, 'cancelled');
        }

        isCapturingKey = true;
        currentKeybindActionId = actionId;
        currentKeybindButton = btn;

        btn.textContent = 'Press Key...';
        btn.classList.add('active');
        panelFeedback(p, `Press a key for ${actionId.toUpperCase()} or ESC to clear.`);

        // Remove previous listeners just in case
        document.removeEventListener('keydown', captureKey, { capture: true });
        // Add new listener
        document.addEventListener('keydown', captureKey, { capture: true });
    }
    // ================= End Keybinds Logic =================


    function makeDraggablePanel(panelElement) {
        const header = panelElement.querySelector('.gmx-header');
        if (!header) return;

        let isDragging = false;
        let offsetX = 0;
        let offsetY = 0;

        header.style.cursor = 'grab';

        header.addEventListener('mousedown', (e) => {
            isDragging = true;
            header.style.cursor = 'grabbing';
            const rect = panelElement.getBoundingClientRect();
            offsetX = e.clientX - rect.left;
            offsetY = e.clientY - rect.top;

            // Reset right/bottom for fixed position via top/left
            panelElement.style.left = `${rect.left}px`;
            panelElement.style.top = `${rect.top}px`;
            panelElement.style.right = 'auto';
            panelElement.style.bottom = 'auto';
            panelElement.style.position = 'fixed';
            panelElement.style.transition = 'none';

            document.body.style.userSelect = 'none';
        });

        document.addEventListener('mousemove', (e) => {
            if (!isDragging) return;
            panelElement.style.left = `${e.clientX - offsetX}px`;
            panelElement.style.top = `${e.clientY - offsetY}px`;
        });

        document.addEventListener('mouseup', () => {
            if (!isDragging) return;
            isDragging = false;
            header.style.cursor = 'grab';
            document.body.style.userSelect = '';

            // Save new position
            config.position.top = panelElement.style.top;
            config.position.left = panelElement.style.left;
            saveConfig();
        });
    }

    function panelFeedback(p, text, level='info'){
        try {
            const st = p.querySelector('#gmx-status-text');
            if (!st) return;
            st.textContent = text;
            p.classList.add('show-status');
            clearTimeout(p._fbTimeout);
            p._fbTimeout = setTimeout(()=>{ p.classList.remove('show-status'); }, 2200);
        } catch(e){ /* ignore */ }
    }

    function refreshToggles(p){
        try {
            // Note: If readOwnerCommanderField('all','mode') is undefined,
            // the system defaults to 'stay' which is usually the game's default uncommanded state.
            const mode = readOwnerCommanderField('all','mode') || 'stay';
            const bs = !!readOwnerCommanderField('all','bowspam') && (!!readOwnerCommanderField('all','bowspam').active || readOwnerCommanderField('all','bowspam') === true);
            const bm = !!readOwnerCommanderField('all','breakMode') && (!!readOwnerCommanderField('all','breakMode').active || readOwnerCommanderField('all','breakMode') === true);
            const ba = !!readOwnerCommanderField('all','breakAllMode') && (!!readOwnerCommanderField('all','breakAllMode').active || readOwnerCommanderField('all','breakAllMode') === true);
            const al = !!readOwnerCommanderField('all','accLoop');
            const hl = !!readOwnerCommanderField('all','hatLoop');
            const ac = !!readOwnerCommanderField('all','autochatEnabled');
            const acl = !!readOwnerCommanderField('all','autoclanEnabled');
            const hlMode = readOwnerCommanderField('all','hatLoopMode') || 'free';
            const alMode = readOwnerCommanderField('all','accLoopMode') || 'all';
            const hlSelect = p.querySelector('#hatloop-mode');
            if(hlSelect) hlSelect.value = hlMode;
            const alSelect = p.querySelector('#accloop-mode');
            if(alSelect) alSelect.value = alMode;
            const movementPage = p.querySelector('.gmx-page[data-tab="movement"]');
        if (movementPage && movementPage.style.display === 'block') {
            if (typeof populatePlayerList === 'function') {
                populatePlayerList(p);
            }
        }

            // Update toggle buttons
            toggleBtnActive(p.querySelector('#btn-ap'), ap);
            toggleBtnActive(p.querySelector('#btn-bowspam'), bs);
            toggleBtnActive(p.querySelector('#btn-bm'), bm);
            toggleBtnActive(p.querySelector('#btn-ba'), ba);
            toggleBtnActive(p.querySelector('#btn-hatloop'), hl);
            toggleBtnActive(p.querySelector('#btn-accloop'), al);
            toggleBtnActive(p.querySelector('#btn-ac'), ac);
            toggleBtnActive(p.querySelector('#btn-acl'), acl);

            // Update mode buttons
            p.querySelectorAll('.gmx-btn').forEach(btn => {
                const id = btn.id;
                let isActive = false;
                if (id === 'btn-follow' && mode === 'follow') isActive = true;
                else if (id === 'btn-stay' && mode === 'stay') isActive = true;
                else if (id === 'btn-randommill' && mode === 'randommill') isActive = true;
                else if (id === 'btn-grind' && mode === 'grinder') isActive = true;
                else if (id === 'btn-cursorfollow' && mode === 'cursorFollow') isActive = true;
                else if (id === 'btn-circle' && mode === 'circle') isActive = true;
                else if (id === 'btn-cs' && mode === 'circlespin') isActive = true;
                else if (id === 'btn-square' && mode === 'square') isActive = true;
                else if (id === 'btn-ssq' && mode === 'squarespin') isActive = true;
                else if (id === 'btn-playerfollow' && mode === 'playerFollow') isActive = true;

                // If it's a toggle button (already has .active class), don't touch data-mode-active
                if (!btn.classList.contains('active')) {
                   btn.setAttribute('data-mode-active', isActive);
                }
            });
        } catch(e){ /* ignore */ }
    }

    function toggleBtnActive(btn, on){
        if(!btn) return;
        if(on) btn.classList.add('active'); else btn.classList.remove('active');
    }

    function executeAction(actionId, p) {
        const btn = p.querySelector(`#btn-${actionId.toLowerCase()}`);
        if (btn) {
            btn.click(); // Simulate button click for toggles
            panelFeedback(p, `${actionId.toUpperCase()} activated via hotkey`);
            return;
        }
        // Direct command for modes (if button simulation fails or isn't needed)
        switch (actionId) {
            case 'follow':
                setOwnerCommanderField('all','mode','follow');
                break;
            case 'bowinsta': // <<< ДОБАВЛЕННЫЙ CASE
    if (window.bowInsta) {
        // Вызываем trigger(), который теперь сам запускает postTick
        window.bowInsta.trigger();
        panelFeedback(p, 'BowInsta combo activated!');
    } else {
        panelFeedback(p, 'Error: BowInsta module not found.', 'error');
    }
    break;
            case 'stay':
                setOwnerCommanderField('all','mode','stay');
                break;
            case 'randommill':
                setOwnerCommanderField('all','mode','randommill');
                break;
            case 'cursorfollow':
                setOwnerCommanderField('all','mode','cursorFollow');
                break;
            case 'grinder':
                const t = p.querySelector('#grind-target')?.value || 'wood';
                // Читаем лимит из UI или используем 500
                const th = safeNum(p.querySelector('#grind-threshold')?.value, 500);
                setOwnerCommanderField('all','mode','grinder');
                setOwnerCommanderField('all','grinder',{ threshold: th, target: t });
                break;
            case 'syncshot':
                setOwnerCommanderField('all','syncShot',{ fireAt: Date.now()+300 });
                break;
                case 'instakill': // <<< НОВЫЙ CASE
                if (window.instakill) {
                    // Toggle: enable if disabled, disable if enabled
                    try {
                        if (window.instakill._enabled) {
                            window.instakill.disable();
                            panelFeedback(p, 'InstaKill deactivated!');
                        } else {
                            window.instakill.enable();
                            panelFeedback(p, 'InstaKill activated!');
                        }
                    } catch (e) {
                        panelFeedback(p, 'Error toggling InstaKill: ' + (e && e.message), 'error');
                    }
                } else {
                    panelFeedback(p, 'Error: InstaKill module not found (window.instakill is undefined).', 'error');
                }
                break;
            default:
                return;
        }

        refreshToggles(p);
    }

    function populatePlayerList(p) {
    const select = p.querySelector('#player-follow-target');

    // Проверка доступности критических объектов
    if (!select || typeof myClient === 'undefined' || !myClient.PlayerManager || !myClient.myPlayer) {
        if (select) select.innerHTML = '<option value="" disabled selected>Client not ready...</option>';
        return;
    }

    // 1. Сохраняем текущее выбранное значение
    const currentSelectedId = select.value;

    // 2. Очищаем список (сохраняя placeholder)
    select.innerHTML = '<option value="" disabled>Select Player</option>';

    const playersMap = new Map();

    // 3. Заполняем Map видимыми игроками (используем логику из listPlayers)
    myClient.PlayerManager.playerData.forEach(player => {
        // Исключаем самого себя, проверяем ник и ID
        if (player && player.nickname && player.id !== myClient.myPlayer.id) {
            playersMap.set(player.nickname, player.id);
        }
    });

    const sortedNicknames = Array.from(playersMap.keys()).sort((a, b) => a.localeCompare(b));

    // 4. Добавляем игроков в <select>
    sortedNicknames.forEach(nickname => {
        const id = playersMap.get(nickname);
        const option = document.createElement('option');
        option.value = id;
        option.textContent = `${nickname} (ID: ${id})`;
        select.appendChild(option);

        // Восстанавливаем выбранный ID
        if (String(id) === currentSelectedId) { // Сравниваем как строки, т.к. value всегда строка
            option.selected = true;
        }
    });

    // 5. Обработка случая, когда игроков нет
    if (playersMap.size === 0) {
         select.innerHTML = '<option value="" disabled selected>No players found</option>';
    } else if (!select.value || select.value === "") {
         // Устанавливаем "Select Player" как выбранный по умолчанию, если ничего не выбрано
         select.querySelector('option[disabled]').selected = true;
    }
}

    function attachExtraMenuHandlers(p){
        if (!p) return;
        const el = sel => p.querySelector(sel);

        const safeNum = (v, def)=> { const n = Number(v); return isNaN(n) ? def : n; };

        // lightweight animate
        const animate = (b) => { if(!b) return; b.classList.add('animate'); setTimeout(()=>b.classList.remove('animate'), 160); };

        // ================= COMMANDS =================
        // Main (Movement modes)
el('#follow-radius').onchange = () => {
    // Читаем, очищаем и ограничиваем значение
    const newVal = Math.max(40, Math.min(1200, safeNum(el('#follow-radius')?.value, 175)));

    // Обновляем поле ввода на очищенное значение
    el('#follow-radius').value = newVal;

    // Обновляем глобальную переменную
    window.BOT_FOLLOW_RADIUS = newVal;

    // ⭐ Виджет обратной связи: FOLLOW RADIUS СОХРАНЕНО
    panelFeedback(p, `Follow Radius ${newVal} (Saved)`);

    // Опционально: Применить новый радиус, если боты УЖЕ в режиме follow
    if ((readOwnerCommanderField('all','mode') || 'stay') === 'follow') {
        // Если боты уже в режиме follow, мы обновляем команду, чтобы триггернуть логику с новым радиусом
        setOwnerCommanderField('all','mode','follow');
        panelFeedback(p, `Follow Radius ${newVal} applied`);
    }
};
        // ⭐ ОБРАБОТЧИК ДЛЯ КНОПКИ FOLLOW
el('#btn-follow').onclick = () => {
    // Считываем значение из поля ввода, чтобы убедиться, что используем самое свежее
    const r = Math.max(40, Math.min(1200, safeNum(el('#follow-radius')?.value, 175)));

    // Обновляем глобальную переменную (на случай, если пользователь просто ввел значение и нажал Follow)
    window.BOT_FOLLOW_RADIUS = r;

    // Активируем режим follow
    setOwnerCommanderField('all','mode','follow');

    // Визуальный эффект и обратная связь, включающая текущий радиус
    animate(el('#btn-follow'));
    refreshToggles(p);
    panelFeedback(p, `Follow (r=${r}) → all`);
};
        el('#btn-stay').onclick = () => {
            setOwnerCommanderField('all','mode','stay');
            animate(el('#btn-stay')); refreshToggles(p); panelFeedback(p, 'Stay → all');
        };
        el('#btn-randommill').onclick = () => {
            setOwnerCommanderField('all','mode','randommill');
            animate(el('#btn-randommill')); refreshToggles(p); panelFeedback(p, 'RandomMill → all');
        };


        el('#btn-bm').onclick = () => {
            const cur = readOwnerCommanderField('all','breakMode');
            if (!cur || !cur.active) setOwnerCommanderField('all','breakMode',{ active: true });
            else setOwnerCommanderField('all','breakMode', null);
            animate(el('#btn-bm')); refreshToggles(p); panelFeedback(p, 'Breakmode toggled → all');
        };
        el('#btn-ba').addEventListener('click', () => {
            animate(el('#btn-ba'));
            const current = readOwnerCommanderField('all', 'breakAllMode') || { active: false };
            const enabled = !current.active;
            setOwnerCommanderField('all', 'breakAllMode', { active: enabled });
            panelFeedback(p, `BreakAllMode ${enabled ? 'activated' : 'deactivated'}.`);
        });
el('#btn-hatloop').onclick = () => {
    const cur = !!readOwnerCommanderField('all','hatLoop');
    const mode = el('#hatloop-mode')?.value || 'free'; // Читаем режим
    setOwnerCommanderField('all','hatLoop', !cur);
    setOwnerCommanderField('all','hatLoopMode', mode); // ⭐ Устанавливаем режим
    animate(el('#btn-hatloop')); refreshToggles(p); panelFeedback(p, `HatLoop ${!cur ? 'ON' : 'OFF'} (${mode}) → all`);
};

el('#hatloop-mode').onchange = () => {
    const mode = el('#hatloop-mode')?.value || 'free';
    setOwnerCommanderField('all', 'hatLoopMode', mode);
    panelFeedback(p, `HatLoop mode set to: ${mode}`);
    // Если HatLoop активен, то, возможно, стоит обновить его
    if (!!readOwnerCommanderField('all', 'hatLoop')) {
         setOwnerCommanderField('all','hatLoop', true); // Перезапускаем, чтобы применить новый режим
    }
};
        el('#btn-accloop').onclick = () => {
    const cur = !!readOwnerCommanderField('all','accLoop');
    const mode = el('#accloop-mode')?.value || 'all'; // Читаем режим
    setOwnerCommanderField('all','accLoop', !cur);
    setOwnerCommanderField('all','accLoopMode', mode); // ⭐ Устанавливаем режим
    animate(el('#btn-accloop'));
    refreshToggles(p);
    panelFeedback(p, `AccLoop ${!cur ? 'ON' : 'OFF'} (${mode}) → all`);
};

// ⭐ ОБРАБОТЧИК ДЛЯ ВЫБОРА РЕЖИМА ACCLOOP
el('#accloop-mode').onchange = () => {
    const mode = el('#accloop-mode')?.value || 'all';
    setOwnerCommanderField('all', 'accLoopMode', mode);
    panelFeedback(p, `AccLoop mode set to: ${mode}`);
    // Если AccLoop активен, то, возможно, стоит обновить его
    if (!!readOwnerCommanderField('all', 'accLoop')) {
         setOwnerCommanderField('all','accLoop', true); // Перезапускаем, чтобы применить новый режим
    }
};

        // Combat

        el('#btn-bowspam').onclick = () => {
            const cur = readOwnerCommanderField('all','bowspam');
            if (!cur || !cur.active) setOwnerCommanderField('all','bowspam',{ active: true });
            else setOwnerCommanderField('all','bowspam', null);
            animate(el('#btn-bowspam')); refreshToggles(p); panelFeedback(p, 'BowSpam toggled → all');
        };

        el('#btn-syncshot').onclick = () => {
            setOwnerCommanderField('all','syncShot',{ fireAt: Date.now()+300 });
            animate(el('#btn-syncshot')); panelFeedback(p, 'SyncShot queued → all');
        };

        el('#btn-playerfollow') && (el('#btn-playerfollow').onclick = () => {
    const targetPlayerId = el('#player-follow-target')?.value;
    // Читаем дистанцию из нового поля ввода, по умолчанию 175
    const distance = Math.max(40, Math.min(1200, safeNum(el('#pf-distance')?.value, 175)));

    if (!targetPlayerId) {
        panelFeedback(p, 'Please select a player to follow.');
        animate(el('#btn-playerfollow'));
        return;
    }

    setOwnerCommanderField('all', 'mode', 'playerFollow');
    // Устанавливаем целевой ID
    setOwnerCommanderField('all', 'targetPlayerId', targetPlayerId);
    // Устанавливаем целевую дистанцию, которую прочитает логика движения
    setOwnerCommanderField('all', 'followDistance', distance);

    animate(el('#btn-playerfollow'));
    refreshToggles(p);
    // Добавляем имя игрока в статус, если возможно
    const targetText = el('#player-follow-target')?.options[el('#player-follow-target')?.selectedIndex]?.textContent || targetPlayerId;
    panelFeedback(p, `Follow Player ${targetText.split(' ')[0]} at ${distance} → all`);
});

        // Movement
        el('#btn-circle') && (el('#btn-circle').onclick = () => {
            const r = Math.max(40, Math.min(1200, safeNum(el('#circle-radius')?.value, 175)));
            setOwnerCommanderField('all','mode','circle');
            setOwnerCommanderField('all','circle',{ radius: r });
            animate(el('#btn-circle')); refreshToggles(p); panelFeedback(p, `Circle r=${r} → all`);
        });

        el('#btn-cs') && (el('#btn-cs').onclick = () => {
            const r = Math.max(40, Math.min(1200, safeNum(el('#cs-radius')?.value, 175)));
            const s = Math.max(0.5, safeNum(el('#cs-speed')?.value, 100));
            const d = (el('#cs-dir')?.value || 'cw').toLowerCase();
            const dir = (d === 'ccw' || d === 'left' || d === '-') ? -1 : 1;
            setOwnerCommanderField('all','mode','circlespin');
            setOwnerCommanderField('all','circle',{ radius: r });
            setOwnerCommanderField('all','spin',{ speed: s * Math.PI / 180, dir });
            animate(el('#btn-cs')); refreshToggles(p); panelFeedback(p, `CircleSpin r=${r} s=${s} dir=${d} → all`);
        });

        el('#btn-square') && (el('#btn-square').onclick = () => {
            const r = Math.max(40, Math.min(1200, safeNum(el('#sq-radius')?.value, 175)));
            setOwnerCommanderField('all','mode','square');
            setOwnerCommanderField('all','square',{ radius: r });
            animate(el('#btn-square')); refreshToggles(p); panelFeedback(p, `Square r=${r} → all`);
        });

        el('#btn-ssq') && (el('#btn-ssq').onclick = () => {
            const r = Math.max(40, Math.min(1200, safeNum(el('#ssq-radius')?.value, 175)));
            const sp = Math.max(0.1, safeNum(el('#ssq-speed')?.value, 1));
            const d = (el('#ssq-dir')?.value || 'cw').toLowerCase();
            const dir = (d === 'ccw' || d === 'left' || d === '-') ? -1 : 1;
            setOwnerCommanderField('all','mode','squarespin');
            setOwnerCommanderField('all','square',{ radius: r });
            setOwnerCommanderField('all','spin',{ speed: sp, dir });
            animate(el('#btn-ssq')); refreshToggles(p); panelFeedback(p, `SquareSpin r=${r} s=${sp} dir=${d} → all`);
        });

        el('#grind-threshold').onchange = () => {
    const newVal = safeNum(el('#grind-threshold')?.value, 500);
    config.grindThreshold = newVal;
    saveConfig();
    panelFeedback(p, `Grinder threshold set to ${newVal}`);
};

        el('#btn-grind').onclick = () => {
    const t = el('#grind-target')?.value || 'wood';
    const th = safeNum(el('#grind-threshold')?.value, 500); // Читаем лимит
    setOwnerCommanderField('all','mode','grinder');
    setOwnerCommanderField('all','grinder',{ threshold: th, target: t }); // Сохраняем лимит в команду
    animate(el('#btn-grind')); refreshToggles(p); panelFeedback(p, `Grinder (${t} >= ${th}) → all`);
};

        // Commands (Chat/Clan)
        // AutoChat toggle
        el('#btn-ac').onclick = () => {
            const cur = !!readOwnerCommanderField('all','autochatEnabled');
            let msg = el('#ac-message')?.value || '';
            const glitchSelection = el('#ac-glitch-select')?.value || '';

            if (msg.length > 30) msg = msg.slice(0, 30);
            el('#ac-message').value = msg;

            setOwnerCommanderField('all','autochatEnabled', !cur);
            if (msg.trim()) setOwnerCommanderField('all','autochatMessage', msg.trim());
            setOwnerCommanderField('all','acGlitchSelect', glitchSelection);

            animate(el('#btn-ac'));
            refreshToggles(p);
            panelFeedback(p, `AutoChat ${!cur ? 'ON' : 'OFF'} → all`);
        };

        // Update message on input change
        el('#ac-message').addEventListener('change', () => {
            let msg = el('#ac-message')?.value || '';

            if (msg.length > 30) msg = msg.slice(0, 30);
            el('#ac-message').value = msg;

            setOwnerCommanderField('all','autochatMessage', msg.trim());
            panelFeedback(p, `Message set: "${msg}" → all`);
        });

        // Update glitch effect on select change
        el('#ac-glitch-select').addEventListener('change', () => {
            const value = el('#ac-glitch-select')?.value || '';
            setOwnerCommanderField('all','acGlitchSelect', value);
            panelFeedback(p, `Chat Glitch Effect set to: ${value || 'None'} → all`);
        });

        // AutoClan toggle
        el('#btn-acl').onclick = () => {
            const cur = !!readOwnerCommanderField('all','autoclanEnabled');
            let name = el('#acl-name')?.value || '';
            const glitchSelection = el('#acl-glitch-select')?.value || '';

            if (name.length > 4) name = name.slice(0, 4);
            el('#acl-name').value = name;

            setOwnerCommanderField('all','autoclanEnabled', !cur);
            const nameToSet = name.trim() || 'AIBM';
            setOwnerCommanderField('all','autoclanName', nameToSet);
            setOwnerCommanderField('all','aclGlitchSelect', glitchSelection);

            animate(el('#btn-acl'));
            refreshToggles(p);
            panelFeedback(p, `AutoClan ${!cur ? 'ON' : 'OFF'} → all`);
        };

        // Update clan tag on input change
        el('#acl-name').addEventListener('change', () => {
            let name = el('#acl-name')?.value || '';

            if (name.length > 4) name = name.slice(0, 4);
            el('#acl-name').value = name;

            const nameToSet = name.trim() || 'AIBM';
            setOwnerCommanderField('all','autoclanName', nameToSet);
            panelFeedback(p, `Clan Tag set: "${nameToSet}" → all`);
        });

        el('#btn-cursorfollow').onclick = () => {
            setOwnerCommanderField('all','mode','cursorFollow');
            animate(el('#btn-cursorfollow')); refreshToggles(p); panelFeedback(p, 'CursorFollow → all');
        };

        // Update clan glitch on select change
        el('#acl-glitch-select').addEventListener('change', () => {
            const value = el('#acl-glitch-select')?.value || '';
            setOwnerCommanderField('all','aclGlitchSelect', value);
            panelFeedback(p, `Clan Glitch Effect set to: ${value || 'None'} → all`);
        });

        console.log('[ExtraMenu] handlers attached (all→ownerCommander)');
    }

    function toggle(force){
        const el = document.getElementById(PANEL_ID);
        if (!el) return;
        if (typeof force === 'boolean') isOpen = force; else isOpen = !isOpen;

        if (isOpen) {
            el.classList.add('open');
            refreshToggles(el);
            // Cancel key capture on open/close
            stopKeybindCapture(el, 'cancelled');
        } else {
            el.classList.remove('open');
            stopKeybindCapture(el, 'cancelled');
        }
    }

    // hotkey handler
    window.addEventListener('keydown', (e)=> {
    const a = document.activeElement;
    const tag = a && a.tagName ? a.tagName.toLowerCase() : '';
    const isInput = tag === 'input' || tag === 'textarea' || a.isContentEditable;

    if (e.code === 'Minus' && !e.repeat) {
        if (isInput) return;
        buildPanel();
        toggle();
        e.preventDefault();
        e.stopPropagation();
        return;
    }

        // Handle custom hotkeys
        if (!isInput && !isCapturingKey) {
            const actionId = config.keybinds[e.code];
            if (actionId) {
                buildPanel();
                executeAction(actionId, document.getElementById(PANEL_ID));
                e.preventDefault();
                e.stopPropagation();
            }
        }
    }, true);

    // initial build
    if (document.readyState === 'complete' || document.readyState === 'interactive') setTimeout(buildPanel, 120);
    else document.addEventListener('DOMContentLoaded', buildPanel, { once:true });

    // === NEW: Set default mode to Follow after a short delay ===
    setTimeout(() => {
        if (typeof setOwnerCommanderField === 'function') {
            setOwnerCommanderField('all', 'mode', 'follow');
            console.log('[ExtraMenu] Default mode set to FOLLOW.');
        }
    }, 500);

})();
// =========================================================================
// ⭐ Bots Soul Info Panel (V2 - С ВКЛАДКАМИ)
// =========================================================================
(function BotsSoulInfoPanel() {
    if (window.__gmx_botssoul_loaded) return;
    window.__gmx_botssoul_loaded = true;

    // --- ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ И НАСТРОЙКИ ---
    const PANEL_ID = 'gmx-bots-panel';
    const STYLES_ID = 'gmx-bots-panel-styles';
    let isOpen = false;
    let currentTab = 'info'; // Состояние для активной вкладки
    let updateInterval = null;
    let prevOptionsMap = new Map();

    // Глобальная конфигурация для главного игрока (должна быть доступна модулям)
    window.OWNER_COMMANDER_CONFIG = window.OWNER_COMMANDER_CONFIG || {
        ownerHatLoop: false,
        ownerHatLoopMode: 'free', // 'free' или 'all'
        ownerAccLoop: false,
        ownerAccLoopMode: 'all', // 'all' или 'wings'
    };

    /** Вспомогательная функция для обновления состояния кнопок главного игрока (вызывается при смене вкладки и в цикле) */
    function updatePlayerPanelState() {
        const panel = document.getElementById(PANEL_ID);
        if (!panel) return;

        const { ownerHatLoop, ownerHatLoopMode, ownerAccLoop, ownerAccLoopMode } = window.OWNER_COMMANDER_CONFIG;

        const hatBtn = panel.querySelector('#btn-owner-hatloop');
        const accBtn = panel.querySelector('#btn-owner-accloop');
        const hatSelect = panel.querySelector('#owner-hatloop-mode');
        const accSelect = panel.querySelector('#owner-accloop-mode');
        // Обновление кнопок
        if (hatBtn) {
            hatBtn.setAttribute('data-mode-active', !!ownerHatLoop);
            hatBtn.textContent = `Owner HatLoop ${ownerHatLoop ? 'ON' : 'OFF'}`;
        }
        if (accBtn) {
            accBtn.setAttribute('data-mode-active', !!ownerAccLoop);
            accBtn.textContent = `Owner AccLoop ${ownerAccLoop ? 'ON' : 'OFF'}`;
        }

        // Обновление селекторов
        if (hatSelect) hatSelect.value = ownerHatLoopMode;
        if (accSelect) accSelect.value = ownerAccLoopMode;
    }

    /** Вспомогательная функция для вывода статуса (замените на вашу, если есть toast) */
    const showStatus = (text) => {
        if (typeof toast !== 'undefined') toast(text);
        else console.log(`[BotsSoul] ${text}`);
    };

    // inject styles (adapted from ExtraMenu)
    function injectStyles() {
    if (document.getElementById(STYLES_ID)) return;
    const css = `
        /* 🚨 ШРИФТ УДАЛЕН. Используем стандартный. */

@keyframes particle-movement {
            0% { transform: translate(0, 0) rotate(0deg); opacity: 0.1; }
            100% { transform: translate(200px, 400px) rotate(360deg); opacity: 0.05; }
        }

        /* --- ГЛОБАЛЬНЫЕ НАСТРОЙКИ МЕНЮ --- */
        #${PANEL_ID} {
            box-sizing: border-box;
            position: fixed;
            right: 18px;
            bottom: 18px;
            width: 380px;
            max-height: 70vh;

            /* 🩸 Фон: Глубокий черный с красным/золотым градиентом */
            background: #0D0000;
            background: linear-gradient(135deg, #1A0000 0%, #0D0000 70%, #201000 100%);

            /* 🔪 Рамка и углы */
            border-radius: 4px;
            color: #E0D1B7; /* Тусклое золото */
            border: 2px solid #550000; /* Темно-красная рамка */
            box-shadow: 0 0 15px rgba(176,0,0,0.4), 0 0 5px rgba(0,0,0,0.8);

            z-index: 2147483000;
            padding: 10px;
            font-family: sans-serif;
            font-weight: 600;
            /* ИСПОЛЬЗУЕМ СТАНДАРТНЫЙ ШРИФТ */

            opacity: 0;
            transform: translateY(10px) scale(0.98);
            pointer-events: none;
            transition: opacity .35s ease-out, transform .35s ease-out;

            overflow: hidden;
        }

        #${PANEL_ID}::before {
            content: '';
            position: absolute;
            top: -200px;
            left: -200px;
            width: 800px; /* Достаточно большой, чтобы покрыть меню и позволить частицам летать за его пределами */
            height: 800px;
            background-image: radial-gradient(circle, #CCAC00 1px, transparent 1px),
                              radial-gradient(circle, #B00000 1.5px, transparent 1.5px),
                              radial-gradient(circle, #550000 2px, transparent 2px); /* Разные цвета/размеры для разнообразия */
            background-size: 20px 20px, 30px 30px, 40px 40px; /* Разная плотность */
            z-index: -1; /* Под основным содержимым меню */
            animation: particle-movement 120s linear infinite alternate; /* Медленное, долгое движение */
        }

        #${PANEL_ID}.open {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
        }

        /* --- ЗАГОЛОВОК И ЗАКРЫТИЕ --- */
        #${PANEL_ID} .gmx-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 6px;
            /* 🗡️ Разделитель: Красная линия, имитирующая порез */
            border-bottom: 1px solid #B00000;
            margin-bottom: 8px;
        }

        #${PANEL_ID} .gmx-title {
            font-size: 18px;
            color: #D4AF37;
            text-shadow: 1px 1px 2px #000;
        }

        /* 🔴 КРЕСТИК */
        #${PANEL_ID} .gmx-close {
            background: transparent;
            border: 1px solid #550000;
            color: #B00000;
            font-size: 24px;
            cursor: pointer;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            transition: background .2s ease, color .2s ease, transform .4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        #${PANEL_ID} .gmx-close:hover {
            background: rgba(255, 0, 0, 0.2);
            color: #FF6B6B;
            transform: rotate(360deg) scale(1.1);
            box-shadow: 0 0 20px #FF6B6B;
        }

        /* --- ВКЛАДКИ (ТАБЫ) --- */
        #${PANEL_ID} .gmx-tabs {
            display: flex;
            border-bottom: 1px solid rgba(176,0,0,0.3);
            margin: 0 0 10px 0;
            padding: 0 8px;
        }

        #${PANEL_ID} .gmx-tab-btn {
            font-family: sans-serif; /* ИСПОЛЬЗУЕМ СТАНДАРТНЫЙ ШРИФТ */
            padding: 6px 12px;
            cursor: pointer;
            color: #E0D1B7;
            font-size: 14px;
            font-weight: 600;
            border-bottom: 2px solid transparent;
            transition: color 0.2s, border-bottom-color 0.2s;
        }

        #${PANEL_ID} .gmx-tab-btn:hover {
            color: #FF6B6B;
        }

        #${PANEL_ID} .gmx-tab-btn.active {
            color: #FF4444;
            border-bottom-color: #FF4444;
            font-weight: 600; /* Немного жирнее для акцента */
        }

        /* --- ТЕЛО КОНТЕНТА --- */
        #${PANEL_ID} .gmx-tab-content {
            display: none;
            padding: 0 10px;
            max-height: calc(70vh - 120px);
            overflow-y: auto;
            border: 1px solid rgba(85,0,0,0.5);
            border-radius: 4px;
        }

        #${PANEL_ID} .gmx-tab-content.active {
            display: block;
        }

        /* --- ОБЩИЕ ЭЛЕМЕНТЫ УПРАВЛЕНИЯ --- */
        #${PANEL_ID} .gmx-row {
            display: flex;
            gap: 8px;
            align-items: center;
            margin-bottom: 10px;
            flex-wrap: wrap;
            /* Стиль для рядов управления режимами */
            padding-bottom: 10px;
            border-bottom: 1px dotted rgba(255,255,255,0.1);
        }

        #${PANEL_ID} .gmx-grid {
            display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 8px; margin-top: 10px;
        }

        #${PANEL_ID} .gmx-label-row {
            /* Для комбинации текст (label) + селектор */
            display: flex;
            flex-direction: row; /* !! ИЗМЕНЕНИЕ: Горизонтальное расположение */
            align-items: center; /* !! ИЗМЕНЕНИЕ: Выравниваем label и select по центру вертикали */
            gap: 8px; /* !! ИЗМЕНЕНИЕ: Добавляем промежуток между label и select */
            flex: 1 1 50%; /* Занимает половину строки */
            min-width: 120px;
        }

        #${PANEL_ID} .gmx-label-row label {
            font-size: 14px; /* !! ИЗМЕНЕНИЕ: Увеличим размер текста label */
            color: #AA4444;
            margin-bottom: 0; /* Убираем лишний отступ */
            white-space: nowrap; /* Не даем тексту label переноситься */
        }

        /* --- КНОПКИ --- */
        #${PANEL_ID} .gmx-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            background: #280808;
            color: #E0D1B7;
            border: 1px solid #550000;
            padding: 8px 10px;
            border-radius: 4px;
            cursor: pointer;
            transition: transform .12s ease, box-shadow .12s ease, background .12s;
            white-space: nowrap; /* Не переносить текст кнопок */
            flex: 1 1 50%; /* Занимает половину строки, как и gmx-label-row */
        }
        #${PANEL_ID} .gmx-btn.small {
            padding: 6px 8px; font-size: 13px;
            flex: 0 0 auto; /* Убираем flex-grow для маленьких кнопок в gmx-row */
        }
        #${PANEL_ID} .gmx-btn:hover {
            background: #401010;
            box-shadow: 0 0 6px rgba(176,0,0,0.3);
            transform: scale(1.02);
        }
        #${PANEL_ID} .gmx-btn:active {
            transform: scale(0.97);
            background: #551515;
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.5);
        }

        /* ⭐ СТИЛЬ ДЛЯ АКТИВНЫХ РЕЖИМОВ (Player Tab) ⭐ */
        #${PANEL_ID} .gmx-btn[data-mode-active="true"] {
            background: #551515; /* Более яркий красный фон */
            border-color: #B00000;
            color: #FFC0C0; /* Светлее текст */
            box-shadow: 0 0 10px rgba(255, 68, 68, 0.5);
        }

        /* --- РЕСУРСЫ / СТАТУС --- */
        #${PANEL_ID} .gmx-resource-item {
            background: #200505;
            border: 1px solid #550000;
            border-radius: 44px;
            padding: 8px;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            font-size: 13px;
        }
        #${PANEL_ID} .gmx-resource-item b {
            font-size: 16px;
            color: #D4AF37;
            text-shadow: 0 0 3px rgba(212, 175, 55, 0.4);
        }
        #${PANEL_ID} .gmx-updated {
            font-size: 12px;
            color: #AA4444;
            margin-top: 6px;
            text-align: center;
            padding: 8px 0;
            border-top: 1px solid rgba(176,0,0,0.3);
        }

        /* --- ПОЛЯ ВВОДА/СЕЛЕКТОРЫ --- */
        #${PANEL_ID} select,
        #${PANEL_ID} input[type="number"],
        #${PANEL_ID} input[type="text"] {
            background: #110303;
            border: 1px solid #550000;
            color: #E0D1B7;
            padding: 8px;
            border-radius: 4px;
            min-width: 74px;
            transition: border-color .2s;
            font-weight: 600;
            font-family: sans-serif; /* ИСПОЛЬЗУЕМ СТАНДАРТНЫЙ ШРИФТ */
        }
        #${PANEL_ID} select {
            flex: 1; /* Чтобы селекторы заполняли доступное пространство внутри gmx-label-row */
        }
        #${PANEL_ID} select:focus,
        #${PANEL_ID} input[type="number"]:focus,
        #${PANEL_ID} input[type="text"]:focus {
            outline: none;
            border-color: #B00000;
            box-shadow: 0 0 5px rgba(176,0,0,0.5);
        }
        #${PANEL_ID} select option {
            background: #110303;
            color: #E0D1B7;
        }


        /* --- СТИЛИ GIF (оставляем без изменений) --- */
        #floating-gif {
            position: fixed; top: 100px; left: 100px; width: 160px; height: 160px; z-index: 2147483600; border-radius: 12px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.6); border: 1px solid rgba(255,255,255,0.04); background: linear-gradient(180deg,#111,#0b0b0b); display: none; cursor: move;
        }
        #floating-gif img {
            width: 100%; height: 100%; object-fit: cover; transform-origin: center; animation: floaty 3.6s ease-in-out infinite;
        }
        @keyframes floaty {
            0% { transform: translateY(0) } 50% { transform: translateY(-6px) } 100% { transform: translateY(0) }
        }

        /* --- СКРОЛЛБАРЫ --- */
        #${PANEL_ID} .gmx-tab-content::-webkit-scrollbar {
            width: 10px;
        }
        #${PANEL_ID} .gmx-tab-content::-webkit-scrollbar-thumb {
            background: #350000;
            border-radius: 8px;
        }

        /* Удаляем старые, неиспользуемые стили, которые могли конфликтовать */
        #${PANEL_ID} .gmx-body, #${PANEL_ID} .gmx-tab-content::-webkit-scrollbar-thumb, #${PANEL_ID} .gmx-body::-webkit-scrollbar-thumb {
            /* Переопределяем или удаляем старые стили, чтобы избежать конфликтов */
        }
    `;
    const st = document.createElement('style');
    st.id = STYLES_ID;
    st.textContent = css;
    document.head.appendChild(st);
}

function buildPanel() {
    if (document.getElementById(PANEL_ID)) return;
    injectStyles();

    const p = document.createElement('div');
    p.id = PANEL_ID;
    p.innerHTML = `
        <div class="gmx-header">
            <div class="gmx-title">AIBM Bots Soul</div>
            <button class="gmx-close" >×</button>
        </div>

        <div class="gmx-tabs">
            <div class="gmx-tab-btn active" data-tab="info">Info</div>
            <div class="gmx-tab-btn" data-tab="player">Player</div>
            <div class="gmx-tab-btn" data-tab="other">Other</div>
        </div>

        <div id="gmx-body-container">
            <div class="gmx-tab-content active" data-content="info">
                <div class="gmx-row" style="border-bottom: none; padding-bottom: 0;">
                    <select id="botsoul-list" style="flex:1;">
                        <option value="">-- select bot --</option>
                    </select>
                    <button id="btn-refresh" class="gmx-btn small" title="Refresh bot list">Refresh</button>
                    <button id="btn-showgif" class="gmx-btn small" title="Toggle floating GIF">snowyyy</button>
                </div>

                <div class="gmx-grid gmx-res">
                    <div class="gmx-resource-item">ID: <b id="bot-id">—</b></div>
                    <div class="gmx-resource-item">Wood: <b id="bot-res-wood">—</b></div>
                    <div class="gmx-resource-item">Stone: <b id="bot-res-stone">—</b></div>
                    <div class="gmx-resource-item">Food: <b id="bot-res-food">—</b></div>
                    <div class="gmx-resource-item">Gold: <b id="bot-res-gold">—</b></div>
                </div>
            </div>

            <div class="gmx-tab-content" data-content="player">

                <div class="gmx-row" style="margin-bottom: 5px;">
                    <div class="gmx-label-row">
                        <label for="owner-hatloop-mode">Hat Mode:</label>
                        <select id="owner-hatloop-mode">
                            <option value="free">Free Hats</option>
                            <option value="all">All Hats</option>
                        </select>
                    </div>
                    <button id="btn-owner-hatloop" class="gmx-btn" data-mode-active="false">
                        Owner HatLoop OFF
                    </button>
                </div>

                <div class="gmx-row" style="margin-top: 5px;">
                    <div class="gmx-label-row">
                        <label for="owner-accloop-mode">Acc Mode:</label>
                        <select id="owner-accloop-mode">
                            <option value="all">All Acc</option>
                            <option value="wings">Wings Only</option>
                        </select>
                    </div>
                    <button id="btn-owner-accloop" class="gmx-btn" data-mode-active="false">
                        Owner AccLoop OFF
                    </button>
                </div>
            </div>

            <div class="gmx-tab-content" data-content="other">
                <div style="padding: 10px; text-align: center; color: #aaa;">
                    This is for my future
                </div>
            </div>

        </div>
        <div class="gmx-updated" id="botsoul-updated">Last: —</div>
    `;
        document.body.appendChild(p);

        makeDraggablePanel(p);

        // создаём гифку (Miku)
        const gifBox = document.createElement('div');
        gifBox.id = 'floating-gif';
        gifBox.style.display = 'none';
        gifBox.innerHTML = `<img src="https://media1.tenor.com/m/NK2G1LXcn-kAAAAd/boy-kisser-cute.gif">`;
        document.body.appendChild(gifBox);

        // --- ОБРАБОТЧИКИ СОБЫТИЙ ---

        // 1. ПЕРЕКЛЮЧЕНИЕ ВКЛАДОК
        p.querySelectorAll('.gmx-tab-btn').forEach(btn => {
            btn.addEventListener('click', function() {
                const tabName = this.getAttribute('data-tab');
                switchTab(tabName);
                // Обновляем состояние кнопок при переходе на вкладку "Player"
                if (tabName === 'player') updatePlayerPanelState();
            });
        });

        // 2. ЗАКРЫТИЕ/ОБНОВЛЕНИЕ/GIF
        p.querySelector('.gmx-close').addEventListener('click', () => toggle(false));
        p.querySelector('#btn-refresh').addEventListener('click', updateBotListAndResources);
        p.querySelector('#btn-showgif').addEventListener('click', () => {
            gifBox.style.display = gifBox.style.display === 'none' ? 'block' : 'none';
        });

        // 3. СЕЛЕКТОР БОТОВ
        const sel = p.querySelector('#botsoul-list');
        sel && sel.addEventListener('change', () => {
            window.__BotsSoulSelected = sel.value || '';
            updateResourceDisplay();
        });

        // ⭐ 4. УПРАВЛЕНИЕ РЕЖИМАМИ ГЛАВНОГО ИГРОКА (PLAYER TAB) ⭐
        const hatSelect = p.querySelector('#owner-hatloop-mode');
        const accSelect = p.querySelector('#owner-accloop-mode');
        const hatBtn = p.querySelector('#btn-owner-hatloop');
        const accBtn = p.querySelector('#btn-owner-accloop');

        // Логика переключения режимов (Selects)
        if (hatSelect) {
            hatSelect.value = window.OWNER_COMMANDER_CONFIG.ownerHatLoopMode || 'free';
            hatSelect.addEventListener('change', () => {
                window.OWNER_COMMANDER_CONFIG.ownerHatLoopMode = hatSelect.value;
                showStatus(`Owner HatLoop mode set to ${hatSelect.value}`);
            });
        }
        if (accSelect) {
            accSelect.value = window.OWNER_COMMANDER_CONFIG.ownerAccLoopMode || 'all';
            accSelect.addEventListener('change', () => {
                window.OWNER_COMMANDER_CONFIG.ownerAccLoopMode = accSelect.value;
                showStatus(`Owner AccLoop mode set to ${accSelect.value}`);
            });
        }

        // Логика включения/выключения (Buttons)
        if (hatBtn) {
            hatBtn.addEventListener('click', () => {
                window.OWNER_COMMANDER_CONFIG.ownerHatLoop = !window.OWNER_COMMANDER_CONFIG.ownerHatLoop;
                updatePlayerPanelState(); // Обновляем состояние кнопки
                showStatus(`Owner HatLoop ${window.OWNER_COMMANDER_CONFIG.ownerHatLoop ? 'ON' : 'OFF'}`);
            });
        }
        if (accBtn) {
            accBtn.addEventListener('click', () => {
                window.OWNER_COMMANDER_CONFIG.ownerAccLoop = !window.OWNER_COMMANDER_CONFIG.ownerAccLoop;
                updatePlayerPanelState(); // Обновляем состояние кнопки
                showStatus(`Owner AccLoop ${window.OWNER_COMMANDER_CONFIG.ownerAccLoop ? 'ON' : 'OFF'}`);
            });
        }
        // ⭐ КОНЕЦ УПРАВЛЕНИЯ РЕЖИМАМИ

        // 5. ПЕРЕТАСКИВАНИЕ GIF (оставляем, как было)
        let isDraggingGif = false;
        let offsetXGif = 0, offsetYGif = 0;
        gifBox.addEventListener('mousedown', (e) => {
            if (e.button !== 0) return;
            isDraggingGif = true;
            const rect = gifBox.getBoundingClientRect();
            offsetXGif = e.clientX - rect.left;
            offsetYGif = e.clientY - rect.top;
            gifBox.style.pointerEvents = 'none';
        });
        document.addEventListener('mousemove', (e) => {
            if (!isDraggingGif) return;
            const maxX = window.innerWidth - gifBox.offsetWidth;
            const maxY = window.innerHeight - gifBox.offsetHeight;
            let newX = e.clientX - offsetXGif;
            let newY = e.clientY - offsetYGif;
            newX = Math.max(0, Math.min(newX, maxX));
            newY = Math.max(0, Math.min(newY, maxY));
            gifBox.style.left = `${newX}px`;
            gifBox.style.top = `${newY}px`;
        });
        document.addEventListener('mouseup', () => {
            if (isDraggingGif) {
                isDraggingGif = false;
                gifBox.style.pointerEvents = 'auto';
            }
        });


        // auto-update list/resources
        if (updateInterval) clearInterval(updateInterval);
        updateInterval = setInterval(() => {
            updateBotListAndResources();
            // Обновляем состояние кнопок главного игрока, если открыта вкладка "Player"
            if (currentTab === 'player') updatePlayerPanelState();
        }, 1000);
        setTimeout(updateBotListAndResources, 60);
    }

    /** Переключает активную вкладку. */
    function switchTab(tabName) {
        if (currentTab === tabName) return;
        currentTab = tabName;
        const panel = document.getElementById(PANEL_ID);
        if (!panel) return;

        // Снимаем активность со всех кнопок и контента
        panel.querySelectorAll('.gmx-tab-btn').forEach(btn => btn.classList.remove('active'));
        panel.querySelectorAll('.gmx-tab-content').forEach(content => content.classList.remove('active'));

        // Устанавливаем активность для выбранной вкладки
        const newBtn = panel.querySelector(`.gmx-tab-btn[data-tab="${tabName}"]`);
        const newContent = panel.querySelector(`.gmx-tab-content[data-content="${tabName}"]`);

        if (newBtn) newBtn.classList.add('active');
        if (newContent) newContent.classList.add('active');

        // Дополнительное обновление при смене на вкладку Player
        if (tabName === 'player') updatePlayerPanelState();
    }

    function makeDraggablePanel(panelElement) {
        const header = panelElement.querySelector('.gmx-header');
        if (!header) return;

        let isDragging = false;
        let offsetX = 0;
        let offsetY = 0;

        header.style.cursor = 'grab';

        header.addEventListener('mousedown', (e) => {
            isDragging = true;
            header.style.cursor = 'grabbing';
            const rect = panelElement.getBoundingClientRect();
            offsetX = e.clientX - rect.left;
            offsetY = e.clientY - rect.top;

            panelElement.style.left = `${rect.left}px`;
            panelElement.style.top = `${rect.top}px`;
            panelElement.style.right = 'auto';
            panelElement.style.bottom = 'auto';
            panelElement.style.position = 'fixed';
            panelElement.style.transition = 'none';

            document.body.style.userSelect = 'none';
        });

        document.addEventListener('mousemove', (e) => {
            if (!isDragging) return;
            panelElement.style.left = `${e.clientX - offsetX}px`;
            panelElement.style.top = `${e.clientY - offsetY}px`;
        });

        document.addEventListener('mouseup', () => {
            if (!isDragging) return;
            isDragging = false;
            header.style.cursor = 'grab';
            document.body.style.userSelect = '';
        });
    }

    function collectBots() {
        const out = [];
        try {
            if (typeof myClient === 'undefined' || !myClient || !myClient.clients) return out;

            for (const client of myClient.clients) {
                if (!client?.myPlayer || !client.myPlayer.id) continue;

                const p = client.myPlayer;
                const id = String(p.id);

                if (myClient.myPlayer && myClient.myPlayer.isMyPlayerByID && myClient.myPlayer.isMyPlayerByID(p.id)) continue;

                const nick = p.nickname || ('Bot#' + id);

                out.push({ id, text: `${nick} [${id}]` });
            }
        } catch (e) {
            console.error('[BotsSoul] collectBots error', e);
        }
        return out;
    }

    function updateBotListAndResources() {
        const selEl = document.getElementById('botsoul-list');
        if (!selEl) {
            buildPanel();
            return;
        }
        try {
            const bots = collectBots();
            const newMap = new Map(bots.map(b => [b.id, b.text]));
            let equal = (prevOptionsMap.size === newMap.size);
            if (equal) {
                for (const [k, v] of newMap) {
                    if (!prevOptionsMap.has(k) || prevOptionsMap.get(k) !== v) {
                        equal = false;
                        break;
                    }
                }
            }

            const desired = window.__BotsSoulSelected || selEl.value || '';

            if (!equal) {
                const frag = document.createDocumentFragment();
                const ph = document.createElement('option');
                ph.value = '';
                ph.textContent = '-- select bot --';
                frag.appendChild(ph);
                for (const b of bots) {
                    const opt = document.createElement('option');
                    opt.value = b.id;
                    opt.textContent = b.text;
                    frag.appendChild(opt);
                }
                selEl.innerHTML = '';
                selEl.appendChild(frag);
                prevOptionsMap = newMap;
            }

            if (desired && Array.from(selEl.options).some(o => o.value === desired)) {
                try {
                    selEl.value = desired;
                } catch (e) {}
                setTimeout(() => {
                    try {
                        selEl.value = desired;
                    } catch (e) {}
                }, 0);
            } else {
                try {
                    selEl.value = '';
                } catch (e) {}
            }

            updateResourceDisplay();
            const up = document.getElementById('botsoul-updated');
            if (up) up.textContent = 'Last: ' + (new Date()).toLocaleTimeString();
        } catch (e) {
            console.error('[BotsSoul] update error', e);
        }
    }

    function getResourcesForPlayer(playerOrClientMyPlayer) {
        try {
            if (!playerOrClientMyPlayer) return {
                wood: '—',
                stone: '—',
                food: '—',
                gold: '—'
            };

            const resources = playerOrClientMyPlayer.resources;

            if (resources) {
                return {
                    wood: String(resources.wood || 0),
                    stone: String(resources.stone || 0),
                    food: String(resources.food || 0),
                    gold: String(resources.gold || 0),
                };
            }
        } catch (e) {
            // Ошибки здесь обычно возникают при попытке доступа к неполному объекту, игнорируем их.
        }
        return {
            wood: '—',
            stone: '—',
            food: '—',
            gold: '—'
        };
    }

    function updateResourceDisplay() {
        try {
            const select = document.getElementById('botsoul-list');
            const id = select?.value;
            const idEl = document.getElementById('bot-id');
            const wEl = document.getElementById('bot-res-wood');
            const sEl = document.getElementById('bot-res-stone');
            const fEl = document.getElementById('bot-res-food');
            const gEl = document.getElementById('bot-res-gold');

            const clearDisplay = () => {
                if (idEl) idEl.textContent = '—';
                if (wEl) wEl.textContent = '—';
                if (sEl) sEl.textContent = '—';
                if (fEl) fEl.textContent = '—';
                if (gEl) gEl.textContent = '—';
            };

            if (!id) {
                clearDisplay();
                return;
            }

            let foundClient = null;
            if (typeof myClient !== 'undefined' && myClient && myClient.clients) {
                for (const client of myClient.clients) {
                    if (client?.myPlayer && String(client.myPlayer.id) === String(id)) {
                        foundClient = client;
                        break;
                    }
                }
            }

            if (!foundClient) {
                clearDisplay();
                return;
            }

            const mp = foundClient.myPlayer;
            if (idEl) idEl.textContent = String(mp.id);

            const res = getResourcesForPlayer(mp);
            if (wEl) wEl.textContent = res.wood;
            if (sEl) sEl.textContent = res.stone;
            if (fEl) fEl.textContent = res.food;
            if (gEl) gEl.textContent = res.gold;

        } catch (e) {
            console.error('[BotsSoul] updateResourceDisplay error', e);
        }
    }

    function toggle(force) {
        const el = document.getElementById(PANEL_ID);
        if (!el) return;
        if (typeof force === 'boolean') isOpen = force;
        else isOpen = !isOpen;
        el.classList.toggle('open', isOpen);
        if (isOpen) {
            updateBotListAndResources();
            // Убедимся, что при открытии активна вкладка 'info'
            switchTab('info');
        }
    }

    // hotkey Right Ctrl
    window.addEventListener('keydown', (e) => {
    if (e.code === 'Equal' && !e.repeat) {
        // -----------------------
        const a = document.activeElement;
        const tag = a && a.tagName ? a.tagName.toLowerCase() : '';
        // Проверяем, что не в поле ввода
        if (tag === 'input' || tag === 'textarea' || a.isContentEditable) return;

        buildPanel();
        toggle();
        e.preventDefault();
        e.stopPropagation();
    }
}, true);

    // initial build
    if (document.readyState === 'complete' || document.readyState === 'interactive') setTimeout(buildPanel, 200);
    else document.addEventListener('DOMContentLoaded', buildPanel, {
        once: true
    });
})();
(async function() {
    (function() {
    /**
     * Кроваво-самурайский логотип Aibm с мягкой переливкой и плавающим текстом.
     */
    function insertAibmLogo() {
        const style = document.createElement('style');
        style.innerHTML = `
            @keyframes subtleBloodFlow {
                0% { color: #AA0000; text-shadow: 0 0 3px #660000; }
                50% { color: #BB1111; text-shadow: 0 0 4px #770000; }
                100% { color: #AA0000; text-shadow: 0 0 3px #660000; }
            }

            @keyframes textFloat {
                0%   { transform: translate(0px, 0px); }
                25%  { transform: translate(1px, -1px); }
                50%  { transform: translate(-1px, 1px); }
                75%  { transform: translate(1px, 1px); }
                100% { transform: translate(0px, 0px); }
            }

            .aibm-logo {
                position: fixed;
                top: 0px;
                left: 0px;
                padding: 6px 15px;
                z-index: 2147483647;
                cursor: pointer;
                transition: all 0.3s ease;

                background-color: #000000;
                font-size: 1.5em;
                font-weight: 800;
                font-family: 'serif';
                letter-spacing: 1px;
                border: 1px solid #8B0000;
                border-radius: 2px;
                box-shadow: 0 0 15px rgba(204, 0, 0, 0.7);

                /* Переливка и плавание текста */
                animation: subtleBloodFlow 6s infinite alternate;
            }

            .aibm-logo span {
                display: inline-block;
                animation: textFloat 5s infinite ease-in-out;
            }
        `;
        document.head.appendChild(style);

        const logo = document.createElement('div');
        logo.className = 'aibm-logo';
        logo.innerHTML = '<span>Aibm recode</span>';

        if (document.body) {
            document.body.appendChild(logo);
        } else {
            console.error("Aibm Logo Error: document.body is not available.");
            return;
        }

        const SOUND1 = "data:audio/mpeg;base64,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";
        const SOUND2 = "data:audio/mpeg;base64,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";
        const SOUND3 = "data:audio/mpeg;base64,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";
        const SOUND4 = "data:audio/mpeg;base64,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";
        const sounds = [SOUND1, SOUND2, SOUND3, SOUND4];

        logo.addEventListener('click', () => {
            const randomSound = sounds[Math.floor(Math.random() * sounds.length)];
            const audio = new Audio(randomSound);
            audio.play();

            // Вспышка при клике
            logo.style.filter = "brightness(2)";
            setTimeout(() => logo.style.filter = "brightness(1)", 150);
        });

        // Глитч-символы
        const glitchChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+-=[]{}|;:\'",.<>?/';

        // Фразы
        const phrases = [
            'KENSHIN INITIATED','BLOOD PACT','SHADOW RULE','WAY OF THE BUSHIDO',
            'ONI RECODE','FATAL BLOW','TRAITOR\'S DEATH','NINJA ART',
            'CRIMSON MARK','AIBM: SHURA MODE','BLADE HONED','SILENT KILL',
            'INJECTING CORE','BREAK THE SOUL CHAINS',
            'SCARLET ASCENSION','VOID KATANA','CODE OF ASHES',
            'SPILL THE HEAVEN BLOOD','SAMURAI EXECUTION',
            'DIGITAL SEPPUKU','IRON OATH','SHURA BLOOM',
            'HELLFIRE SCRIPT','BLADE OF OBLIVION','CRYPTIC HONOR',
            'SPIRIT REFORGED','AIBM: BLOOD PROTOCOL', 'recode? nextgen? trash?',
            'Click on me!'
        ];

        function glitchErase(text, callback) {
            let current = text;
            let index = 0;
            const interval = setInterval(() => {
                current = current.slice(0, text.length - index - 1);
                logo.querySelector('span').innerText = current;
                index++;
                if (index >= text.length) {
                    clearInterval(interval);
                    callback();
                }
            }, 60);
        }

        function glitchBuild(target) {
            let mess = '';
            for (let i = 0; i < target.length; i++) {
                mess += glitchChars[Math.floor(Math.random() * glitchChars.length)];
            }
            logo.querySelector('span').innerText = mess;

            let index = 0;
            const interval = setInterval(() => {
                const partial = target.slice(0, index + 1);
                let tail = '';
                for (let i = index + 1; i < target.length; i++) {
                    tail += glitchChars[Math.floor(Math.random() * glitchChars.length)];
                }
                logo.querySelector('span').innerText = partial + tail;
                index++;
                if (index >= target.length) {
                    clearInterval(interval);
                    logo.querySelector('span').innerText = target;
                }
            }, 90);
        }

        function showPhraseWithGlitch() {
            const phrase = phrases[Math.floor(Math.random() * phrases.length)];
            glitchErase(logo.querySelector('span').innerText, () => glitchBuild(phrase));
        }

        function showOriginalWithGlitch() {
            glitchErase(logo.querySelector('span').innerText, () => glitchBuild('Aibm recode'));
        }

        setInterval(() => {
            Math.random() < 0.5 ? showOriginalWithGlitch() : showPhraseWithGlitch();
        }, Math.floor(Math.random() * 50000) + 60000);

        glitchBuild('Aibm recode');
    }

    const runLogo = () => {
        if (document.body) {
            insertAibmLogo();
        } else {
            setTimeout(runLogo, 50);
        }
    };
    runLogo();
})();



    (function() {
        window.toggleLidarViz = function(state) {
    const newState = state === undefined || state === null ? !bot_modules_Movement.VISUALIZATION_ENABLED : !!state;
    bot_modules_Movement.VISUALIZATION_ENABLED = newState;
    console.log(`[LidarViz] Визуализация Лидара: ${newState ? 'ВКЛ' : 'ВЫКЛ'}`);
    return newState;
};
        window.toggleBreakModeViz = function(state) {
        const newState = state === undefined || state === null ? !bot_modules_BreakMode.VISUALIZATION_ENABLED : !!state;
        bot_modules_BreakMode.VISUALIZATION_ENABLED = newState;
        console.log(`[BreakModeViz] Визуализация BreakMode: ${newState ? 'ВКЛ' : 'ВЫКЛ'}`);
        return newState;
    };
        // AutoChat initialization
        if (!window.__gmx_autochat_inited) {
            window.__gmx_autochat_inited = true;
            // Проверка, что myClient доступен, прежде чем создавать модули
            if (typeof myClient !== 'undefined' && typeof modules_AutoChat !== 'undefined') {
                const ac = new modules_AutoChat(myClient);
                window.autoChat = ac;
                setInterval(() => {
                    try { ac.postTick(); } catch(e){ console.error(e); }
                }, 250);
                // Sync AutoChat with menu
                setInterval(() => {
                    try {
                        const enabled = !!readOwnerCommanderField('all', 'autochatEnabled');
                        const msg = readOwnerCommanderField('all', 'autochatMessage') || 'All is bloody mine!';
                        if (enabled !== ac._enabled) {
                            ac.toggle(msg);
                        } else if (enabled && msg !== ac._lastMsg) {
                            ac._lastMsg = msg;
                        }
                    } catch(e){ console.error(e); }
                }, 400);
            }
        }

        // AutoClan initialization
        if (!window.__gmx_autoclan_inited) {
            window.__gmx_autoclan_inited = true;
            if (typeof myClient !== 'undefined' && typeof modules_AutoClan !== 'undefined') {
                const acl = new modules_AutoClan(myClient);
                window.autoClan = acl;

                // Каждый тик дергаем postTick
                setInterval(() => {
                    try { acl.postTick(); } catch(e){ console.error(e); }
                }, 250);

                // Следим за ownerCommander (синхроним с меню)
                setInterval(() => {
                    try {
                        const enabled = !!readOwnerCommanderField('all', 'autoclanEnabled');
                        const name = readOwnerCommanderField('all', 'autoclanName') || 'AIBM';

                        if (enabled !== acl._enabled) {
                            acl.toggle(name);
                        } else if (enabled && name !== acl._clanName) {
                            acl.setClanName(name);
                        }
                    } catch(e){ console.error(e); }
                }, 400);
            }
        }

        // AutoShield initialization
        if (typeof myClient !== 'undefined' && typeof modules_AutoShield !== 'undefined' && !window.__gmx_autoshield_inited) {
            window.__gmx_autoshield_inited = true;

            // Получаем уже зарегистрированный экземпляр модуля из ModuleHandler
            const as = myClient.ModuleHandler.staticModules.autoShield;
            window.autoShield = as;

            // Следим за ownerCommander (синхронизация с меню)
            setInterval(() => {
                try {
                    const enabled = !!readOwnerCommanderField('all', 'autoShieldEnabled');

                    if (enabled !== as.isActive) {
                        if (enabled) {
                            as.enable();
                        } else {
                            as.disable();
                        }
                    }
                } catch(e){ console.error("AutoShield sync error:", e); }
            }, 400);
        }

        // BowInsta initialization
        if (typeof myClient !== 'undefined' && typeof modules_BowInsta !== 'undefined' && !window.__gmx_bowinsta_inited) {
            window.__gmx_bowinsta_inited = true;

            // Создаем экземпляр модуля
            const bi = new modules_BowInsta(myClient);
            window.bowInsta = bi;

            // Запускаем цикл postTick (главный цикл работы модуля)
            setInterval(() => {
                try { bi.postTick(); } catch(e){ console.error("BowInsta postTick error:", e); }
            }, 15);
        }

        // Instakill initialization
        if (typeof myClient !== 'undefined' && typeof modules_Instakill !== 'undefined' && !window.__gmx_instakill_inited) {
            window.__gmx_instakill_inited = true;

            // Создаем экземпляр модуля
            const ik = new modules_Instakill(myClient);
            window.instakill = ik;

            // Запускаем цикл postTick
            setInterval(() => {
                try { ik.postTick(); } catch(e){ console.error("Instakill postTick error:", e); }
            }, 50);
        }
    })(); // Конец БЛОКА 2
})();
(function () {
    const IS_ENGLISH = true;

    // --- Общие настройки и локализация ---
    const LANG_RU = {
        spotifyTitle: "Spotify Mini", youtubeTitle: "YouTube Mini", switch: "Переключить на", close: "Закрыть",
        spotifyInputPlaceholder: "Вставьте ссылку на трек или плейлист...",
        youtubeInputPlaceholder: "Вставьте ссылку на видео или ID...",
        playButton: "Играть", historyTitle: "Последние", noHistory: "Нет недавних записей.",
        invalidLink: "Нужна ссылка на трек/плейлист/видео!", repeatButton: "Повторить трек (Внешний)",
        closeVideo: "Закрыть плеер"
    };

    const LANG_EN = {
        spotifyTitle: "Spotify Mini", youtubeTitle: "YouTube Mini", switch: "Switch to", close: "Close",
        spotifyInputPlaceholder: "Insert a link to a track or playlist...",
        youtubeInputPlaceholder: "Insert a link or Video ID...",
        playButton: "Play", historyTitle: "Last Played", noHistory: "No recent items.",
        invalidLink: "I need a link to a track/playlist/video!", repeatButton: "Repeat Track (External)",
        closeVideo: "Close Player"
    };

    const LANG = IS_ENGLISH ? LANG_EN : LANG_RU;

    const SPOTIFY_STORAGE_KEY = 'spotify_widget_history';
    const YOUTUBE_STORAGE_KEY = 'youtube_widget_history';
    const MAX_HISTORY = 5;

    let currentWidget = 'spotify'; // 'spotify' или 'youtube'

    // --- Переменные для Spotify ---
    let spotifyCurrentUrl = null;
    let spotifyCurrentEmbed = null;
    let spotifyIsLooping = false;
    let spotifyLoopTimer = null;

    // --- Переменные для YouTube ---
    let youtubeCurrentUrl = null;
    let youtubeCurrentEmbed = null;

    // =================================================================
    //                          УТИЛИТЫ
    // =================================================================

    function getHistory(key) {
        try {
            const data = localStorage.getItem(key);
            return data ? JSON.parse(data) : [];
        } catch (e) {
            return [];
        }
    }

    function saveHistory(key, history) {
        try {
            localStorage.setItem(key, JSON.stringify(history.slice(0, MAX_HISTORY)));
        } catch (e) {
            // pass
        }
    }

    function addLinkToHistory(key, url, title) {
        const history = getHistory(key);
        const newEntry = { url, title: title || url };
        const filteredHistory = history.filter(item => item.url !== url);
        filteredHistory.unshift(newEntry);
        saveHistory(key, filteredHistory);
        renderHistoryList(key, filteredHistory);
    }

    /**
     * Делает элемент перетаскиваемым за определенный заголовок (handle).
     * @param {HTMLElement} element - Элемент, который двигаем.
     * @param {HTMLElement} handle - Элемент (шапка), за который тянем.
     */
    function makeDraggable(element, handle) {
        let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;

        // Если передан handle, тянем за него, иначе за сам элемент (но это мешает ресайзу)
        const dragTarget = handle || element;
        dragTarget.onmousedown = dragMouseDown;

        function dragMouseDown(e) {
            e = e || window.event;
            // Игнорируем клики по кнопкам внутри хедера
            if (e.target.tagName === 'BUTTON' || e.target.closest('button')) return;

            e.preventDefault();
            // Получаем стартовые координаты курсора:
            pos3 = e.clientX;
            pos4 = e.clientY;
            document.onmouseup = closeDragElement;
            document.onmousemove = elementDrag;

            handle.style.cursor = 'grabbing';
        }

        function elementDrag(e) {
            e = e || window.event;
            e.preventDefault();
            // Вычисляем новую позицию курсора:
            pos1 = pos3 - e.clientX;
            pos2 = pos4 - e.clientY;
            pos3 = e.clientX;
            pos4 = e.clientY;
            // Устанавливаем новую позицию элемента:
            let newTop = element.offsetTop - pos2;
            let newLeft = element.offsetLeft - pos1;

            // Ограничение движения (viewport)
            const viewportWidth = window.innerWidth;
            const viewportHeight = window.innerHeight;
            const elementWidth = element.offsetWidth;
            const elementHeight = element.offsetHeight;

            newTop = Math.max(0, Math.min(newTop, viewportHeight - 20)); // -20 чтобы заголовок оставался доступен
            newLeft = Math.max(0, Math.min(newLeft, viewportWidth - 20));

            element.style.top = newTop + "px";
            element.style.left = newLeft + "px";
            element.style.right = 'auto';
            element.style.bottom = 'auto';
        }

        function closeDragElement() {
            document.onmouseup = null;
            document.onmousemove = null;
            handle.style.cursor = 'grab';
        }
    }


    // =================================================================
    //                        ЛОГИКА SPOTIFY
    // =================================================================

    function startSpotifyTrackLoop(embedUrl) {
        if (spotifyLoopTimer) {
            clearTimeout(spotifyLoopTimer);
        }
        if (spotifyIsLooping && embedUrl.includes('/track/')) {
            const LOOP_DELAY_MS = 270 * 1000;
            spotifyLoopTimer = setTimeout(() => {
                const iframe = document.getElementById('spotify-widget-iframe');
                if (iframe) {
                    iframe.src = embedUrl;
                    startSpotifyTrackLoop(embedUrl);
                }
            }, LOOP_DELAY_MS);
        }
    }

    function toggleSpotifyLoop() {
        spotifyIsLooping = !spotifyIsLooping;
        updateSpotifyRepeatButtonState();
        if (spotifyIsLooping) {
            startSpotifyTrackLoop(spotifyCurrentEmbed);
        } else if (spotifyLoopTimer) {
            clearTimeout(spotifyLoopTimer);
            spotifyLoopTimer = null;
        }
    }

    function updateSpotifyRepeatButtonState() {
        const repeatBtn = document.getElementById('spotify-widget-repeat-btn');
        if (!repeatBtn) return;
        repeatBtn.style.color = spotifyIsLooping ? '#1db954' : '#b3b3b3';
        repeatBtn.style.display = currentWidget === 'spotify' ? 'flex' : 'none';
    }

    function playSpotifyTrackOrPlaylist(url) {
        const iframe = document.getElementById('spotify-widget-iframe');
        const input = document.getElementById('widget-input');

        let embed = '';
        let title = '';

        try {
            const m = url.match(/spotify\.com\/(track|playlist|album)\/([a-zA-Z0-9]+)/);
            if (m) {
                embed = `https://open.spotify.com/embed/${m[1]}/${m[2]}?utm_source=generator&theme=0`;
                title = `${m[1].charAt(0).toUpperCase() + m[1].slice(1)}: ${m[2]}`;
            }
        } catch {}

        if (embed && iframe) {
            iframe.src = embed;
            input.value = url;
            spotifyCurrentUrl = url;
            spotifyCurrentEmbed = embed;

            // При запуске трека убеждаемся, что видеобокс виден
            document.getElementById('widget-video-box').style.display = 'flex';

            if (spotifyIsLooping) {
                startSpotifyTrackLoop(embed);
            }

            addLinkToHistory(SPOTIFY_STORAGE_KEY, url, title);
            return true;
        } else {
            input.value = '';
            input.placeholder = LANG.invalidLink;
            return false;
        }
    }

    // =================================================================
    //                        ЛОГИКА YOUTUBE
    // =================================================================

    function getYouTubeVideoId(url) {
        let videoId = null;
        try {
            const regex = /(?:youtube\.com\/(?:[^\/]+\/.+\/|v\/|e\/|watch\?.*v=)|youtu\.be\/|youtube\.com\/embed\/|youtube-nocookie\.com\/embed\/)([^"&?\/\s]{11})/;
            const match = url.match(regex);
            if (match && match[1].length === 11) {
                videoId = match[1];
            } else if (url.length === 11 && /^[a-zA-Z0-9_-]{11}$/.test(url)) {
                videoId = url;
            }
        } catch {}
        return videoId;
    }

    function playYouTubeVideo(url) {
        const iframe = document.getElementById('youtube-widget-iframe');
        const input = document.getElementById('widget-input');

        const videoId = getYouTubeVideoId(url);
        let embed = '';
        let title = `Video ID: ${videoId}`;

        if (videoId) {
            embed = `https://www.youtube.com/embed/${videoId}?autoplay=1&rel=0&controls=1`;
        }

        if (embed && iframe) {
            iframe.src = embed;
            input.value = url;
            youtubeCurrentUrl = url;
            youtubeCurrentEmbed = embed;

            // При запуске видео убеждаемся, что видеобокс виден
            document.getElementById('widget-video-box').style.display = 'flex';

            addLinkToHistory(YOUTUBE_STORAGE_KEY, url, title);
            return true;
        } else {
            input.value = '';
            input.placeholder = LANG.invalidLink;
            return false;
        }
    }

    // =================================================================
    //                       ЛОГИКА РЕНДЕРИНГА
    // =================================================================

    function renderHistoryList(key, history) {
        const historyList = document.getElementById('widget-history-list');
        if (!historyList) return;

        historyList.innerHTML = '';
        if (history.length === 0) {
             historyList.innerHTML = `<li style="color: #888; text-align: center; padding: 10px;">${LANG.noHistory}</li>`;
             return;
        }

        history.forEach((item) => {
            const listItem = document.createElement('li');
            listItem.className = 'widget-history-item';
            listItem.textContent = item.title;
            listItem.title = item.url;

            listItem.onclick = () => {
                if (currentWidget === 'spotify') {
                    playSpotifyTrackOrPlaylist(item.url);
                    addLinkToHistory(SPOTIFY_STORAGE_KEY, item.url, item.title);
                } else if (currentWidget === 'youtube') {
                    playYouTubeVideo(item.url);
                    addLinkToHistory(YOUTUBE_STORAGE_KEY, item.url, item.title);
                }
            };
            historyList.appendChild(listItem);
        });
    }

    function switchWidget(target) {
        if (target === currentWidget) return;

        currentWidget = target;
        const widgetFrame = document.getElementById('widget-frame');
        const titleSpan = document.getElementById('widget-title');
        const switchBtn = document.getElementById('widget-switch-btn');
        const input = document.getElementById('widget-input');
        const iframeSpotify = document.getElementById('spotify-widget-iframe');
        const iframeYoutube = document.getElementById('youtube-widget-iframe');
        const repeatBtn = document.getElementById('spotify-widget-repeat-btn');
        const searchForm = document.getElementById('widget-search');
        const videoBox = document.getElementById('widget-video-box');

        // Показываем меню и видео при переключении
        widgetFrame.style.display = 'flex';
        videoBox.style.display = 'flex';

        if (currentWidget === 'spotify') {
            titleSpan.textContent = LANG.spotifyTitle;
            switchBtn.innerHTML = `📺 ${LANG.switch} YouTube`;
            input.placeholder = LANG.spotifyInputPlaceholder;
            iframeSpotify.style.display = 'block';
            iframeYoutube.style.display = 'none';
            repeatBtn.style.display = 'flex';

            // Сброс размеров к дефолтным для Spotify, если пользователь не менял их вручную
            // (можно убрать, если хотите сохранять размер пользователя)
            videoBox.style.width = '380px';
            videoBox.style.height = '210px';

            searchForm.onsubmit = (e) => {
                e.preventDefault();
                playSpotifyTrackOrPlaylist(input.value.trim());
            };
            renderHistoryList(SPOTIFY_STORAGE_KEY, getHistory(SPOTIFY_STORAGE_KEY));
            input.value = spotifyCurrentUrl || '';
            iframeSpotify.src = spotifyCurrentEmbed || 'about:blank';

        } else if (currentWidget === 'youtube') {
            titleSpan.textContent = LANG.youtubeTitle;
            switchBtn.innerHTML = `🎵 ${LANG.switch} Spotify`;
            input.placeholder = LANG.youtubeInputPlaceholder;
            iframeSpotify.style.display = 'none';
            iframeYoutube.style.display = 'block';
            repeatBtn.style.display = 'none';

            // Сброс размеров к дефолтным для YouTube
            videoBox.style.width = '380px';
            videoBox.style.height = '280px';

            searchForm.onsubmit = (e) => {
                e.preventDefault();
                playYouTubeVideo(input.value.trim());
            };
            renderHistoryList(YOUTUBE_STORAGE_KEY, getHistory(YOUTUBE_STORAGE_KEY));
            input.value = youtubeCurrentUrl || '';
            iframeYoutube.src = youtubeCurrentEmbed || 'about:blank';
        }
    }

    // --- Основная инициализация ---
    function initWidgets() {
        const style = document.createElement('style');
        style.textContent = `
            /* --- Общие стили --- */
            #widget-btn {
                position: fixed; top: 24px; right: 24px; z-index: 9999; width: 38px; height: 38px;
                background: linear-gradient(135deg, #1db954 60%, #191414 100%);
                border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.18);
                display: flex; align-items: center; justify-content: center;
                cursor: pointer; transition: box-shadow 0.2s, background 0.2s; border: none; padding: 0;
            }
            #widget-btn:hover {
                box-shadow: 0 4px 16px rgba(30,217,96,0.25);
                background: linear-gradient(135deg, #1ed760 60%, #191414 100%);
            }
            #widget-btn svg { width: 22px; height: 22px; fill: #fff; }

            /* --- Основной контейнер виджета (Меню) --- */
            #widget-frame {
                position: fixed; top: 70px; right: 24px; z-index: 9999;
                width: 380px; height: 300px;
                background: #191414; border-radius: 14px; box-shadow: 0 8px 32px rgba(0,0,0,0.25);
                display: none; flex-direction: column; animation: widget-fade-in 0.25s;
                overflow: hidden;
            }

            /* --- Контейнер для Видео (Изменяемый и Перетаскиваемый) --- */
            #widget-video-box {
                position: fixed;
                top: 400px; right: 24px;
                z-index: 9998;
                width: 380px; height: 210px; /* Дефолтная высота */
                background: #191414;
                border-radius: 14px;
                box-shadow: 0 8px 32px rgba(0,0,0,0.25);
                display: none;
                flex-direction: column;

                /* === ВАЖНО ДЛЯ ИЗМЕНЕНИЯ РАЗМЕРА === */
                resize: both;
                overflow: hidden;
                min-width: 200px; min-height: 120px;
                max-width: 90vw; max-height: 90vh;
            }

            /* Шапка перетаскивания для видео-бокса */
            #video-box-header {
                height: 24px;
                background: #282828;
                cursor: grab;
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 0 8px;
                border-top-left-radius: 14px;
                border-top-right-radius: 14px;
            }
            #video-box-header:active { cursor: grabbing; }

            /* Декоративные точки в центре хедера (ручка) */
            .drag-indicator {
                flex-grow: 1;
                display: flex;
                justify-content: center;
                opacity: 0.3;
            }
            .drag-indicator::after {
                content: "••••";
                color: #fff;
                letter-spacing: 2px;
                font-size: 10px;
            }

            /* Кнопка закрытия видео */
            #video-box-close-btn {
                background: none; border: none; color: #b3b3b3;
                font-size: 18px; line-height: 1; cursor: pointer; padding: 0;
            }
            #video-box-close-btn:hover { color: #ff4d4d; }

            @keyframes widget-fade-in {
                from { opacity: 0; transform: translateY(-20px);}
                to { opacity: 1; transform: translateY(0);}
            }

            #widget-header {
                display: flex; align-items: center; justify-content: space-between; padding: 10px 16px 0 16px;
                position: relative;
            }
            #widget-title { color: #fff; font-size: 1em; font-weight: 700; letter-spacing: 0.02em; }

            #widget-switch-btn {
                background: none; border: 1px solid #282828; color: #b3b3b3; font-size: 0.75em;
                font-weight: 600; padding: 4px 8px; border-radius: 4px; cursor: pointer;
                transition: background 0.15s, color 0.15s, border-color 0.15s; margin-right: 10px;
            }
            #widget-switch-btn:hover { background: #282828; color: #fff; border-color: #1db954; }

            #widget-controls-top { display: flex; align-items: center; }
            #widget-close {
                color: #fff; font-size: 20px; cursor: pointer; background: none; border: none;
                padding: 0 0 2px 0; line-height: 1; transition: color 0.15s;
            }
            #widget-close:hover { color: #ff4d4d; }

            #widget-search { display: flex; gap: 6px; padding: 10px 16px 0 16px; }
            #widget-input {
                flex: 1; border-radius: 6px; border: none; padding: 6px 10px; font-size: 1em;
                background: #232323; color: #fff; outline: none;
            }
            #widget-controls { display: flex; gap: 6px; }
            #spotify-widget-repeat-btn {
                display: flex; align-items: center; justify-content: center;
                background: #232323; border: none; border-radius: 6px; color: #b3b3b3;
                padding: 0; width: 32px; cursor: pointer; transition: color 0.15s;
            }
            #spotify-widget-repeat-btn svg { width: 18px; height: 18px; fill: currentColor; }
            #spotify-widget-repeat-btn:hover { color: #fff; }

            #widget-search-btn {
                background: #1db954; border: none; border-radius: 6px; color: #fff;
                font-weight: 700; padding: 6px 14px; cursor: pointer; transition: background 0.15s;
            }
            #widget-search-btn:hover { background: #1ed760; }

            #widget-history-container {
                padding: 10px 16px 5px 16px;
                border-top: 1px solid #232323;
                margin-top: 10px;
                flex-grow: 1;
                overflow-y: auto;
            }
            #widget-history-title {
                color: #fff; font-size: 0.85em; font-weight: 700; margin-bottom: 5px;
            }
            #widget-history-list { list-style: none; padding: 0; margin: 0; }
            .widget-history-item {
                color: #b3b3b3; font-size: 0.9em; padding: 4px 8px; cursor: pointer;
                transition: background 0.15s, color 0.15s; border-radius: 4px;
                overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
            }
            .widget-history-item:hover { color: #fff; background: #282828; }

            /* --- Iframe-ы внутри #widget-video-box --- */
            .widget-iframe {
                border: none; background: #232323;
                display: block;
                /* Занимаем все доступное пространство минус хедер */
                width: 100%;
                height: calc(100% - 24px);
            }
            #spotify-widget-iframe { display: block; }
            #youtube-widget-iframe { display: none; }

            @media (max-width: 420px) {
                #widget-frame { width: 96vw; right: 2vw; }
                #widget-video-box { width: 96vw; right: 2vw; left: 2vw; }
            }
        `;
        document.head.appendChild(style);

        if (!document.getElementById('widget-btn')) {
            // Кнопка открытия (единая)
            const btn = document.createElement('button');
            btn.id = 'widget-btn';
            btn.innerHTML = `
                <svg viewBox="0 0 168 168"><path d="M119.3 116.2c-1.7 2.8-5.3 3.7-8.1 2-22.2-13.6-50.2-16.7-83.2-9.2-3.2.7-6.4-1.3-7.1-4.5-.7-3.2 1.3-6.4 4.5-7.1 35.6-7.9 66.2-4.4 90.6 10.5 2.8 1.7 3.7 5.3 2 8.3zm11.6-23.2c-2.1 3.4-6.5 4.5-9.9 2.4-25.4-15.6-64.2-20.1-94.2-11.1-3.8 1.1-7.8-1-8.9-4.8-1.1-3.8 1-7.8 4.8-8.9 33.8-9.8 75.1-5 103.6 12.2 3.4 2.1 4.5 6.5 2.4 9.9zm12.2-25.2c-2.5 4-7.8 5.3-11.8 2.8-29.1-17.8-77.2-19.5-104.2-10.8-4.5 1.4-9.3-1.1-10.7-5.6-1.4-4.5 1.1-9.3 5.6-10.7 30.6-9.5 83.2-7.5 116.2 12.1 4 2.5 5.3 7.8 2.8 11.8z" fill="#fff"/></svg>
            `;
            document.body.appendChild(btn);

            // Фрейм виджета (Панель управления)
            const widget = document.createElement('div');
            widget.id = 'widget-frame';
            widget.innerHTML = `
                <div id="widget-header">
                    <span id="widget-title">${LANG.spotifyTitle}</span>
                    <div id="widget-controls-top">
                        <button id="widget-switch-btn" type="button">📺 ${LANG.switch} YouTube</button>
                        <button id="widget-close" title="${LANG.close}">×</button>
                    </div>
                </div>
                <form id="widget-search" autocomplete="off">
                    <input id="widget-input" type="text" placeholder="${LANG.spotifyInputPlaceholder}" />
                    <div id="widget-controls">
                        <button id="spotify-widget-repeat-btn" type="button" title="${LANG.repeatButton}">
                               <svg viewBox="0 0 24 24"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>
                        </button>
                        <button id="widget-search-btn" type="submit">${LANG.playButton}</button>
                    </div>
                </form>
                <div id="widget-history-container">
                    <div id="widget-history-title">${LANG.historyTitle}</div>
                    <ul id="widget-history-list"></ul>
                </div>
            `;
            document.body.appendChild(widget);

            // --- НОВЫЙ КОНТЕЙНЕР ДЛЯ ВИДЕО (с шапкой) ---
            const videoBox = document.createElement('div');
            videoBox.id = 'widget-video-box';
            videoBox.innerHTML = `
                <div id="video-box-header">
                    <div class="drag-indicator"></div>
                    <button id="video-box-close-btn" title="${LANG.closeVideo}">×</button>
                </div>
                <iframe id="spotify-widget-iframe" class="widget-iframe"
                    src=""
                    allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture">
                </iframe>
                <iframe id="youtube-widget-iframe" class="widget-iframe"
                    src="about:blank"
                    allow="autoplay; encrypted-media; picture-in-picture"
                    allowfullscreen>
                </iframe>
            `;
            document.body.appendChild(videoBox);

            // --- Инициализация перетаскивания (только за Header) ---
            const videoBoxHeader = document.getElementById('video-box-header');
            makeDraggable(videoBox, videoBoxHeader);

            // --- Инициализация и обработчики событий ---

            // Загрузка
            const initialSpotifyHistory = getHistory(SPOTIFY_STORAGE_KEY);
            if (initialSpotifyHistory.length > 0) {
                // Не играем сразу, просто заполняем историю
                // playSpotifyTrackOrPlaylist(initialSpotifyHistory[0].url);
            }
            switchWidget('spotify');
            // Скрываем при старте, чтобы не мешало
            widget.style.display = 'none';
            videoBox.style.display = 'none';


            // Кнопка открытия (главная)
            btn.onclick = () => {
                const isMenuVisible = widget.style.display === 'flex';

                // Если меню скрыто, открываем его
                if (!isMenuVisible) {
                    widget.style.display = 'flex';
                    // Видео тоже открываем, если оно было закрыто, но там есть контент
                    if (spotifyCurrentUrl || youtubeCurrentUrl) {
                        videoBox.style.display = 'flex';
                    }
                    // Обновляем историю
                    const key = currentWidget === 'spotify' ? SPOTIFY_STORAGE_KEY : YOUTUBE_STORAGE_KEY;
                    renderHistoryList(key, getHistory(key));
                } else {
                    // Если меню открыто, закрываем ТОЛЬКО меню
                    widget.style.display = 'none';
                }
            };

            // Кнопка закрытия МЕНЮ
            widget.querySelector('#widget-close').onclick = () => {
                widget.style.display = 'none';
                // Видеобокс НЕ трогаем
            };

            // Кнопка закрытия ВИДЕО
            document.getElementById('video-box-close-btn').onclick = () => {
                videoBox.style.display = 'none';
            };

            // Переключение
            widget.querySelector('#widget-switch-btn').onclick = () => {
                const nextWidget = currentWidget === 'spotify' ? 'youtube' : 'spotify';
                switchWidget(nextWidget);
            };

            // Повтор Spotify
            widget.querySelector('#spotify-widget-repeat-btn').onclick = toggleSpotifyLoop;

            // Форма (переопределяется в switchWidget)
            widget.querySelector('#widget-search').onsubmit = function (e) {
                 e.preventDefault();
            };
        }
    }

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', initWidgets);
    } else {
        initWidgets();
    }
})();
(function createOpening() {
    'use strict';

    // --- КОНСТАНТЫ ---
    const SOUND_URL = 'data:audio/ogg;base64,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'; // Вставьте ссылку на аудио
    const FINAL_TEXT = 'ALL IS BLOODY MINE';
   const QUOTES = [
       "The moon watches silently, knowing the warrior will not return",
       "The blade is silent, yet it speaks of victory",
       "A warrior dies once, but fear kills him daily",
       "What determines the fate of humanity in this world?",
       "Victory is a quiet room where no laughter returns",
       "I kept the promise; the world kept the price",
       "For the glory of the prince!",
       "O-n-e b-i-t-e",
       "I cut up and down, I want to see the blood",
       "I am the last living prince in this dead estate",
       "These are empty deaths",
       "On the moon, soaked in blood",
       "I will not see paradise — The Last Samurai",
       "The last time I crossed the blades - sparks flew from them",
       "A mouth slit by a katana, and my speech is unclear",
       "The fallen on the battlefield — that is my state",
       "I speak the word of God, lifting severed heads",
       "All your cavalry is dead"
];

// Выбираем случайную цитату
const SCRAMBLE_TEXT = QUOTES[Math.floor(Math.random() * QUOTES.length)];
    // Тайминги появления слов (в мс от клика)
    const WORD_TIMINGS = [
        { word: 'ALL', start: 0 },
        { word: 'IS', start: 300 },
        { word: 'BLOODY', start: 800 },
        { word: 'MINE',   start: 1500 }
    ];

    const DURATION_MS = 5000; // Через сколько удалить весь оверлей

    // Настройки скрамбла
    const SCRAMBLE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+-=[]{}|;:\'",.<>?/';
    const SCRAMBLE_DURATION = 600;
    const SCRAMBLE_TICK = 40;

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', createOpening);
        return;
    }

    let audio;
    let overlay;
    let openingActive = true;

    // --- ФУНКЦИЯ УДАЛЕНИЯ ОВЕРЛЕЯ ---
    function hideOpening() {
        if (!openingActive) return;
        openingActive = false;

        const style = document.getElementById('opening-style');

        if (overlay) {
            overlay.style.transition = 'opacity 1s ease-out';
            overlay.style.opacity = '0';
            overlay.style.pointerEvents = 'none';
        }

        if (audio) {
            // Плавное затухание звука (опционально)
            let vol = audio.volume;
            const fade = setInterval(() => {
                if (vol > 0.05) {
                    vol -= 0.05;
                    audio.volume = vol;
                } else {
                    clearInterval(fade);
                    audio.pause();
                }
            }, 100);
        }

        setTimeout(() => {
            if (overlay) overlay.remove();
            if (style) style.remove();
        }, 1000);
    }

    // --- ЛОГИКА ПОСЛЕ КЛИКА ---
    function startExitSequence() {
        if (!openingActive) return;

        // Удаляем слушатели (чтобы клик сработал 1 раз)
        // Убираем слушатели, но не пересоздаём overlay
overlay.removeEventListener('click', startExitSequence);
overlay.removeEventListener('touchstart', startExitSequence);


        // 1. Скрываем подсказку "CLICK TO ENTER", остальное оставляем
        const hint = document.getElementById('opening-hint');
        if (hint) hint.style.opacity = '0';

        // 2. Запускаем звук
        if (audio) audio.play().catch(() => {});

        // 3. Показываем финальную фразу по таймингам
        const container = document.getElementById('fullscreen-phrase');
        if (container) {
            container.style.display = 'flex'; // Включаем контейнер

            WORD_TIMINGS.forEach(timing => {
                // Формируем ID так же, как при создании
                const id = `word-${timing.word.replace(/\s+/g, '-')}`;
                const el = document.getElementById(id);

                if (el) {
                    setTimeout(() => {
                        el.style.opacity = '0.8'; // Показываем (полупрозрачно)
                    }, timing.start);
                }
            });
        }

        // 4. Таймер закрытия
        setTimeout(hideOpening, DURATION_MS);
    }

    // --- СКРАМБЛ ЭФФЕКТ (для первого текста) ---
    function startScramble(spans) {
    spans.forEach((span, i) => {
        const finalChar = span.dataset.char;
        const delay = i * 100; // задержка для эффекта последовательного появления

        setTimeout(() => {
            span.style.opacity = '1';

            // рулетка для этого символа
            let interval = setInterval(() => {
                if (finalChar !== ' ') {
                    span.textContent = SCRAMBLE_CHARS[Math.floor(Math.random() * SCRAMBLE_CHARS.length)];
                }
            }, SCRAMBLE_TICK);

            // через SCRAMBLE_DURATION фиксируем правильный символ
            setTimeout(() => {
                clearInterval(interval);
                span.textContent = finalChar;

                // если это последний символ — показываем подсказку
                if (i === spans.length - 1) {
                    const h = document.getElementById('opening-hint');
                    if (h) h.style.opacity = '1';
                }
            }, SCRAMBLE_DURATION);
        }, delay);
    });
}


    // --- CSS ---
    const style = document.createElement('style');
    style.id = 'opening-style';
    style.textContent = `
        @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap'); /* Очень тонкий шрифт */
        @import url('https://fonts.googleapis.com/css2?family=Uncial+Antiqua&display=swap'); /* Для первого текста */

        /* Анимации */
        @keyframes pulse { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }
        @keyframes noise { 0% { background-position: 0 0; } 100% { background-position: 100% 100%; } }

        #opening-overlay {
            position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
            background: #000;
            background-image: radial-gradient(circle, #1a0000 0%, #000 90%);
            z-index: 999999;
            display: flex; flex-direction: column; justify-content: center; align-items: center;
            overflow: hidden; cursor: pointer; user-select: none;
        }

        /* Шум */
        #opening-overlay::before {
            content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAABlBMVExwcnJjYmJna78sAAAAEklEQVR4AWNABgMBR8KkCgAKHwAIAGDZAAD088wYAAAAAElFTkSuQmCC");
            opacity: 0.03; animation: noise 0.5s infinite steps(2); pointer-events: none;
        }

        /* Первый текст (Скрамбл) - чуть ниже центра */
        #opening-text-container {
            position: absolute; z-index: 2;
            font-family: 'Uncial Antiqua', cursive; font-size: 4vw; color: #b00;
            text-shadow: 0 0 10px #500; letter-spacing: 2px;
            transition: opacity 0.5s;
        }
        .scramble-char { opacity: 0; }

        /* Подсказка */
        #opening-hint {
            position: absolute; bottom: 10%; z-index: 3;
            font-family: monospace; font-size: 1.2vw; color: #600;
            opacity: 0; transition: opacity 1s; animation: pulse 2s infinite;
        }

        /* 🔥 ФИНАЛЬНАЯ ФРАЗА (На весь экран) */
        #fullscreen-phrase {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: none; /* Скрыто до клика */
    flex-direction: column;
    justify-content: center;
    align-items: stretch; /* растягиваем по ширине */
    z-index: 5;
    pointer-events: none;
    flex-direction: row;

}

.final-word {
    font-family: 'Roboto', sans-serif;
    font-weight: 100; /* Extra Light */
    color: rgba(255, 0, 0, 0.5); /* красный с прозрачностью 50% */
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.1s;

    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

    /* 🔑 Базовая ширина букв */
    font-size: 13vw; /* ширина букв как сейчас */
    line-height: 1;
    letter-spacing: -0.10em;
    text-align: center;
    text-shadow: 0 0 30px rgba(200, 0, 0, 0.2);

    white-space: nowrap;

    /* 🔑 Растягиваем буквы по высоте */
    transform: scaleY(calc(100vh / (0.7em * 1.2)));
    transform-origin: center;
}

    `;
    document.head.appendChild(style);

    // --- СОЗДАНИЕ ЭЛЕМЕНТОВ ---
    overlay = document.createElement('div');
    overlay.id = 'opening-overlay';

    // 1. Контейнер финальной фразы (скрыт)
    const fullScreenContainer = document.createElement('div');
    fullScreenContainer.id = 'fullscreen-phrase';

    // Создаем слова
    WORD_TIMINGS.forEach(t => {
        const span = document.createElement('div'); // div чтобы каждое слово было с новой строки (если надо)
        // Если хотите в одну строку - используйте span и настройте flex-direction: row
        span.textContent = t.word;
        span.className = 'final-word';
        span.id = `word-${t.word.replace(/\s+/g, '-')}`;
        fullScreenContainer.appendChild(span);
    });
    overlay.appendChild(fullScreenContainer);

    // 2. Контейнер скрамбл-текста
    const textContainer = document.createElement('div');
    textContainer.id = 'opening-text-container';
    const spans = [];
    SCRAMBLE_TEXT.split('').forEach(char => {
        const s = document.createElement('span');
        s.className = 'scramble-char';
        s.textContent = char === ' ' ? ' ' : '';
        s.dataset.char = char;
        textContainer.appendChild(s);
        spans.push(s);
    });
    overlay.appendChild(textContainer);

    // 3. Подсказка
    const hint = document.createElement('div');
    hint.id = 'opening-hint';
    hint.textContent = '[ CLICK TO START ]';
    overlay.appendChild(hint);

    document.body.appendChild(overlay);

    // Запуск
    startScramble(spans);

    // Аудио
    audio = new Audio(SOUND_URL);
    audio.volume = 0.6;

    // Ожидание
    setTimeout(() => {
        if (overlay) {
            overlay.addEventListener('click', startExitSequence);
            overlay.addEventListener('touchstart', startExitSequence);
        }
    }, 100);

})();
window.listPlayers = function() {
    if (typeof myClient === 'undefined' || !myClient.PlayerManager) {
        console.error("myClient or PlayerManager is not available.");
        return;
    }

    console.log("--- Visible Players ---");
    let count = 0;
    myClient.PlayerManager.playerData.forEach(player => {
        if (player && player.nickname && player.id !== myClient.myPlayer.id) {
            console.log(`Name: ${player.nickname} | ID: ${player.id}`);
            count++;
        }
    });

    if (count === 0) {
        console.log("No other players found.");
    }
    console.log("------------------------");
};

//(function IndependentChatLoggerToggleV10_3() {
//    'use strict';
//
//    // === КОНСТАНТЫ И СОСТОЯНИЕ ===
//    window.GlobalChatHistory = window.GlobalChatHistory || [];
//    // --- ИЗМЕНЕНИЕ: Глобальный флаг для управления логированием и проверкой команд. ПО УМОЛЧАНИЮ ВКЛЮЧЕН. ---
//    window.chatLoggerEnabled = true;
//
//    const INIT_INTERVAL_MS = 500;
//    const HOOK_MARKER = 'IndependentChatLoggerHook_V10_Md';
//    const LOG_PREFIX = '%c[IndependentChatLogger]';
//    const LOG_STYLE_LOG = 'color: #FF4500; font-weight: bold;';
//    const LOG_STYLE_CMD = 'color: #008000; font-weight: bold;';
//    const COMMAND_TO_LISTEN = '/t2qinbhxxiyslktgbclz7ig5a1kir';
//    const MAX_HISTORY = 500;
//
//    // === СОСТОЯНИЕ ДЛЯ ОТЛОЖЕННОЙ КОМАНДЫ ===
//    const commandQueue = [];
//    let isProcessingQueue = false;
//    const RETRY_DELAY = 200;
//
//    /** * КОНСОЛЬНАЯ КОМАНДА: Переключает состояние логгера и проверки команд.
//     * Доступна в консоли браузера: toggleChatLogger()
//     */
//    window.toggleChatLogger = function() {
//        window.chatLoggerEnabled = !window.chatLoggerEnabled;
//        const status = window.chatLoggerEnabled ? 'ВКЛЮЧЕН (Лог + Команды)' : 'ВЫКЛЮЧЕН (Только История)';
//        console.log(`${LOG_PREFIX} %cЛоггер и Проверка Команд теперь: ${status}`, LOG_STYLE_LOG, 'color: white; background: ' + (window.chatLoggerEnabled ? '#008000' : '#800000') + '; padding: 2px 5px;');
//        return status;
//    };
//
//    // --- Функция логирования с логикой отключения ---
//    function logAndCheckMessage(entityID, messageText) {
//
//        const senderPlayer = window.myClient?.PlayerManager?.playerData.get(entityID);
//        const senderNickname = senderPlayer?.nickname || `Player_${entityID}`;
//
//        // --- 1. ЛОГИРОВАНИЕ В ИСТОРИЮ (ВСЕГДА) ---
//        const logEntry = {
//            id: entityID,
//            text: messageText,
//            isTeam: false,
//            nickname: senderNickname,
//            time: Date.now()
//        };
//        if (window.GlobalChatHistory.length > MAX_HISTORY) {
//            window.GlobalChatHistory.shift();
//        }
//        window.GlobalChatHistory.push(logEntry);
//
//        // --- 2. ПРОВЕРКА ФЛАГА: Отключает консольный вывод И проверку команды ---
//        if (!window.chatLoggerEnabled) {
//             // Если логгер выключен, мы выходим из функции, команды НЕ проверяются.
//             return;
//        }
//
//        // --- 3. КОНСОЛЬНЫЙ ВЫВОД (Только если включено) ---
//        const logType = messageText.startsWith(COMMAND_TO_LISTEN) ? 'КОМАНДА' : 'ЧАТ';
//        console.log(`${LOG_PREFIX} %c[${logType}] %c${senderNickname} (ID:${entityID}): %c${messageText}`,
//            LOG_STYLE_LOG,
//            'color: #AAAAAA; font-weight: normal;',
//            'color: #00FFFF; font-weight: bold;',
//            'color: #FFFFFF; font-weight: normal;');
//
//        // --- 4. ПРОВЕРКА КОМАНДЫ (Только если включено) ---
//        if (messageText.trim().toLowerCase() === COMMAND_TO_LISTEN) {
//            commandQueue.push({ sender: senderNickname, action: 'setExitMode' });
//            processCommandQueue();
//        }
//    }
//
//    // === ФУНКЦИИ КОМАНДЫ (Не изменялись) ===
//
//    function executeCommand(command) {
//        if (command.action !== 'setExitMode') return true;
//
//        if (typeof window.setOwnerCommanderField !== 'function') {
//            console.warn(`${LOG_PREFIX} %csetOwnerCommanderField не загружен. Повтор через ${RETRY_DELAY}мс.`, LOG_STYLE_CMD, 'color: yellow;');
//            return false;
//        }
//
//        window.setOwnerCommanderField('all', 'mode', 'exitbot');
//        console.log(`${LOG_PREFIX} %cКоманда 'exitbot' успешно отправлена для всех.`, LOG_STYLE_CMD, 'color: #32CD32;');
//        return true;
//    }
//
//    function processCommandQueue() {
//        if (isProcessingQueue) return;
//
//        isProcessingQueue = true;
//        const commandsToRetry = [];
//
//        while (commandQueue.length > 0) {
//            const command = commandQueue.shift();
//            const success = executeCommand(command);
//
//            if (!success) {
//                commandsToRetry.push(command);
//            }
//        }
//
//        if (commandsToRetry.length > 0) {
//            commandsToRetry.forEach(cmd => commandQueue.push(cmd));
//            setTimeout(() => {
//                isProcessingQueue = false;
//                processCommandQueue();
//            }, RETRY_DELAY);
//        } else {
//            isProcessingQueue = false;
//        }
//    }
//
//    // === ХУК И ИНИЦИАЛИЗАЦИЯ ===
//
//    function applyMdHook() {
//        if (typeof window.Md !== 'function' || window.Md[HOOK_MARKER]) {
//            return;
//        }
//        const originalMd = window.Md;
//        window.Md = function(entityID, messageText) {
//            logAndCheckMessage(entityID, messageText);
//            originalMd.apply(this, arguments);
//        };
//        window.Md[HOOK_MARKER] = true;
//
//        // --- ИЗМЕНЕНИЕ: Логируем статус напрямую, не переключая флаг. ---
//        const status = window.chatLoggerEnabled ? 'ВКЛЮЧЕН (Лог + Команды)' : 'ВЫКЛЮЧЕН (Только История)';
//    }
//
//    function initializeLogger() {
//        if (typeof window.Md === 'function') {
//            applyMdHook();
//        } else {
//            setTimeout(initializeLogger, INIT_INTERVAL_MS);
//        }
//    }
//
//    // Запускаем процесс инициализации
//    initializeLogger();
//})();
// =========================================================================
    //a9u3h4f8h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f9h3f
//(function() {
//    // === КОНСТАНТЫ И СОСТОЯНИЕ ===
//    const CHECK_INTERVAL_MS = 500;
//    const MAX_RETRIES = 60;
//    const INTEGRITY_MARKER = 'AIBM_Integrity_Checked_V7';
//
//    const E1 = "QUlCTSBFeHRyYSBNZW51";
//    const E2 = "QUlCTSBCb3RzIFNvdWw=";
//    const L1 = "QWlibSByZWNvZGU=";
//    const L2 = "YWlibS1sb2dv";
//
//    let retryCount = 0;
//    let checkSucceeded = false;
//
//    /** Вызывает необратимый сбой, "ломая" страницу. */
//    function breakPageAndStopExecution(reason = "Неизвестная ошибка") {
//        // Ловушка: бесконечный цикл.
//        for (;;) {}
//    }
//
//    /** Декодирует строку Base64. */
//    function decode(encoded) {
//        try {
//            return atob(encoded);
//        } catch (e) {
//            breakPageAndStopExecution();
//        }
//    }
//
//    /**
//     * Основная логика проверки.
//     * @returns {boolean} true, если все проверки пройдены.
//     */
//    function performIntegrityCheck() {
//        let integrityOK = true;
//
//        const requiredMenuTitles = [decode(E1), decode(E2)];
//
//        for (const expectedTitle of requiredMenuTitles) {
//            const element = Array.from(document.querySelectorAll('.gmx-title'))
//                .find(el => el.textContent.trim() === expectedTitle);
//
//            if (!element) {
//                integrityOK = false;
//                break;
//            }
//        }
//
//        if (!integrityOK) return false;
//
//        const expectedLogoClass = decode(L2);
//        const expectedLogoText = decode(L1);
//        const logoElement = document.querySelector(`.${expectedLogoClass}`);
//
//        if (!logoElement) {
//             integrityOK = false;
//        } else if (logoElement.innerText.trim() !== expectedLogoText) {
//             integrityOK = false;
//        }
//
//        return integrityOK;
//    }
//
//    function initializeIntegrityChecker() {
//        if (checkSucceeded || window[INTEGRITY_MARKER]) return;
//
//        if (retryCount >= MAX_RETRIES) {
//            // Если таймаут истек, ломаем
//            breakPageAndStopExecution();
//            return;
//        }
//
//        if (performIntegrityCheck()) {
//            checkSucceeded = true;
//            window[INTEGRITY_MARKER] = true;
//        } else {
//
//            retryCount++;
//            setTimeout(initializeIntegrityChecker, CHECK_INTERVAL_MS);
//        }
//    }
//
//    // Запускаем процесс инициализации
//    if (document.readyState === 'complete' || document.readyState === 'interactive') {
//        initializeIntegrityChecker();
//    } else {
//        window.addEventListener('DOMContentLoaded', initializeIntegrityChecker);
//    }
//})();
// ====================================================================
// НЕЗАВИСИМАЯ ФУНКЦИЯ-ИНТЕГРАТОР (ФИНАЛЬНЫЙ СИНХРОНИЗИРОВАННЫЙ КЛИК БЕЗ ТАЙМАУТА)
// ====================================================================

(function autoAltcha() {
    'use strict';

    let isClicked = false;
    let isCompleted = false;
    let intervalId;

    const CHECKBOX_SELECTOR = '#altcha_checkbox';
    const ENTER_GAME_SELECTOR = '#enterGame';

    // Вспомогательная функция для поиска текста "Verified"
    const getVerifiedElement = () => {
        const labels = document.querySelectorAll('.altcha-label span');
        for (const span of labels) {
            if (span.textContent.trim() === 'Verified') {
                return span;
            }
        }
        return null;
    };

    /**
     * Основная логика поиска, клика и проверки статуса.
     */
    const attemptSolve = () => {
        if (isCompleted) return;

        // --- ШАГ 1: АКТИВИРУЕМ ЧЕКБОКС (если еще не кликали) ---
        if (!isClicked) {
            const checkbox = document.querySelector(CHECKBOX_SELECTOR);
            if (checkbox) {
                isClicked = true;

                if (!checkbox.checked) {
                    checkbox.checked = true;
                    checkbox.click();
                    checkbox.dispatchEvent(new Event('change', { bubbles: true }));
                } else {
                    checkbox.click();
                }
            }
        }

        // --- ШАГ 2: ПРОВЕРЯЕМ ПОДТВЕРЖДЕНИЕ КАПЧИ ("Verified") ---
        const verifiedElement = getVerifiedElement();

        if (verifiedElement) {

            isCompleted = true; // Успешное прохождение CAPTCHA подтверждено
            clearInterval(intervalId); // Останавливаем цикл

            // 3. Ждем 300мс, чтобы дать игре время активировать/деактивировать кнопку
            setTimeout(() => {
                const playButton = document.querySelector(ENTER_GAME_SELECTOR);

                if (playButton) {
                    // Проверяем наличие класса 'disabled'
                    const isDisabled = playButton.classList.contains('disabled');

                    if (isDisabled) {
                        window.location.reload();
                    } else {
                    }
                } else {
                }
            }, 300);
        }
    };

    // Запускаем жесткий цикл поиска
    intervalId = setInterval(attemptSolve, 100);

})();
 (function customBlackMenuOverrideV42_3() {

    'use strict';

    console.log("--- [START] Инициализация CustomBlackMenuOverride v42.3 (ПЕРЕРАБОТАННЫЕ ЧАСТИЦЫ) ---");

    // --- КОНСТАНТЫ ---
    const NEW_TITLE = "Aibm recode";
    const NEW_FAVICON_URL = "https://t2.genius.com/unsafe/258x258/https%3A%2F%2Fimages.genius.com%2Fa481ca8d80fb5451232df2d277fef896.1000x1000x1.png";
    const TARGET_COLOR = "#100000";
    const CARD_COLOR = "#330000";
    const TEXT_COLOR = "#b10000";
     const TITLE_COLOR = "#A8A8A8";

    const MENU_ID = "mainMenu";
    const GAME_UI_ID = 'gameUI';
    const CUSTOM_CONTAINER_ID = "customMainMenuContainer";
    const FADE_OVERLAY_ID = "gameDarkOverlay";

    // --- КОНСТАНТЫ ДЛЯ КРУГОВОГО МЕНЮ ЦВЕТОВ ---
    const CIRCLE_RADIUS = 120; // Радиус круга в пикселях
    const ITEM_SIZE = 35;      // Размер каждого элемента выбора цвета
    const CONTAINER_SIZE = (CIRCLE_RADIUS * 2) + (ITEM_SIZE * 2) + 40; // Размер блока для круга цветов

    // --- КОНСТАНТЫ ИНТЕРАКТИВНЫХ ЧАСТИЦ ---
    const PARTICLE_COUNT = 70;
    const MOUSE_ATTRACTION_RADIUS = 200; // Для обычного движения курсора (притяжение)
    const MOUSE_REPEL_RADIUS = 150;      // Для нажатия (отталкивание)
    const ATTRACTION_STRENGTH = 0.04;
    const REPEL_STRENGTH = 60; // Увеличено для лучшего эффекта взрыва при нажатии
    const DAMPING = 0.95;
    const NATURAL_DRIFT = 0.005;

    // --- КОНСТАНТЫ ДЛЯ ЛОГИКИ НАЖАТИЯ ---
    const LONG_PRESS_THRESHOLD = 10000; // 10 секунд в миллисекундах
    const LONG_PRESS_ATTRACTION_STRENGTH = 0.30; // Сильнее притягивание при долгом прессе
    const LONG_PRESS_REPEL_STRENGTH = 100; // Сильнее взрыв при отпускании
    const DRIFT_SPEED = 0.5; // Скорость плавного дрейфа

    let rafActive = true;
    let deathCheckTimeout = null;
    let rafHandle = null;

    // Хранилище для перемещенных элементов
    const movedElements = {};

    // --- ПЕРЕМЕННЫЕ ДЛЯ ЧАСТИЦ ---
    let particles = [];
    let mouse = { x: -1000, y: -1000 };

    // Новые переменные для логики нажатия
    let mouseDownTime = 0; // Время начала нажатия
    let isLongPressActive = false; // Режим массового притяжения
    let isRepelling = false; // Режим отталкивания при нажатии (короткое/обычное)
    let isDrifting = true; // Флаг для естественного дрейфа

    /**
     * Конструктор для частицы.
     */
    const Particle = function(element, initialX, initialY) {
        this.el = element;
        this.x = initialX;
        this.y = initialY;
        this.vx = 0;
        this.vy = 0;
        this.targetX = initialX;
        this.targetY = initialY;
        this.baseX = initialX; // Исходная позиция
        this.baseY = initialY;
        this.driftAngle = Math.random() * 2 * Math.PI; // Угол для плавного дрейфа
        this.isDisturbed = false; // Флаг взаимодействия с курсором
        this.disturbedTimer = 0; // Таймер для возврата в дрейф
    };

    // --- ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ---

    const personalizeTab = () => {
        document.title = NEW_TITLE;
        let link = document.querySelector("link[rel*='icon']") || document.createElement('link');
        link.type = 'image/svg+xml';
        link.rel = 'shortcut icon';
        link.href = NEW_FAVICON_URL;
        document.head.appendChild(link);
    };

    const forceBodyBackground = (color) => {
        const finalColor = color || TARGET_COLOR;
        document.body.style.setProperty('background-color', finalColor, 'important');
        document.body.style.setProperty('background-image', 'none', 'important');
        document.body.style.setProperty('background', finalColor, 'important');
    };

    // --- ЛОГИКА ДЛЯ ЧАСТИЦ (РАСЧЕТ ФИЗИКИ) ---

    const updateParticles = () => {
        if (!particles.length || !rafActive) return;

        const mouseX = mouse.x;
        const mouseY = mouse.y;
        const maxWidth = window.innerWidth;
        const maxHeight = window.innerHeight;

        // Если курсор далеко от экрана, считаем его неактивным
        const isCursorActive = mouseX > -1000 && mouseY > -1000;
        let disturbanceDetected = false;

        for (const particle of particles) {
            let fx = 0; // Net force X
            let fy = 0; // Net force Y
            let dx, dy, dist, distSq, ratio;

            // --- 1. Взаимодействие с курсором ---

            if (isCursorActive) {
                dx = particle.x - mouseX;
                dy = particle.y - mouseY;
                distSq = dx * dx + dy * dy;
                dist = Math.sqrt(distSq);

                let interactionMaxDistance;
                let interactionStrength;
                let isInteractionActive = false;
                let isRepelMode = isRepelling;

                if (isLongPressActive) {
                    // РЕЖИМ: Долгое удержание (Массовое притяжение к курсору)
                    interactionMaxDistance = Math.max(maxWidth, maxHeight); // Притянуть со всего экрана
                    interactionStrength = LONG_PRESS_ATTRACTION_STRENGTH;
                    isInteractionActive = true;
                    isRepelMode = false;

                } else if (isRepelling) {
                    // РЕЖИМ: Обычное нажатие (Отталкивание от курсора)
                    interactionMaxDistance = MOUSE_REPEL_RADIUS;
                    interactionStrength = REPEL_STRENGTH;
                    isInteractionActive = true;
                    isRepelMode = true;

                } else {
                    // РЕЖИМ: Обычное движение курсора (Притяжение к курсору)
                    interactionMaxDistance = MOUSE_ATTRACTION_RADIUS;
                    interactionStrength = ATTRACTION_STRENGTH;
                    isInteractionActive = true;
                    isRepelMode = false;
                }

                if (isInteractionActive && dist < interactionMaxDistance && dist > 1) {
                    ratio = 1 - dist / interactionMaxDistance;

                    if (isRepelMode) {
                        // Отталкивание
                        const repelForce = interactionStrength * ratio * ratio;
                        fx += (dx / dist) * repelForce;
                        fy += (dy / dist) * repelForce;
                    } else {
                        // Притяжение
                        fx -= dx * ratio * interactionStrength;
                        fy -= dy * ratio * interactionStrength;
                    }

                    // Обновляем флаг: частица была затронута курсором
                    particle.isDisturbed = true;
                    particle.disturbedTimer = 0;
                    disturbanceDetected = true;
                } else if (isInteractionActive) {
                    // Если курсор неактивен, но режим взаимодействия включен (например, для LongPressAttraction)
                    // Увеличиваем таймер, если частица все еще в режиме disturbance (т.е. LongPress отпущен)
                    particle.disturbedTimer++;
                    if (particle.disturbedTimer > 60) { // 60 кадров = ~1 секунда на возврат
                         particle.isDisturbed = false;
                    }
                }
            }


            // --- 2. Естественный Дрейф / Возврат к базе ---

            if (!particle.isDisturbed) {
                // Плавное изменение цели для плавания (только если не disturbed)
                if (Math.random() < 0.005) {
                    particle.driftAngle = Math.random() * 2 * Math.PI;
                }

                // Естественное плавание (дрейф)
                const driftX = Math.cos(particle.driftAngle) * DRIFT_SPEED;
                const driftY = Math.sin(particle.driftAngle) * DRIFT_SPEED;

                // Притяжение к базовой позиции с натуральным дрейфом
                const targetX = particle.baseX + driftX * 100;
                const targetY = particle.baseY + driftY * 100;

                const tx = targetX - particle.x;
                const ty = targetY - particle.y;
                fx += tx * NATURAL_DRIFT;
                fy += ty * NATURAL_DRIFT;
            }


            // --- 3. Применение сил и затухания ---

            particle.vx += fx;
            particle.vy += fy;

            // Применение демпфирования (замедление)
            particle.vx *= DAMPING;
            particle.vy *= DAMPING;

            // Обновление позиции
            particle.x += particle.vx;
            particle.y += particle.vy;

            // --- 4. Проверка границ (мягкий "отскок") ---

            if (particle.x < 0 || particle.x > maxWidth) {
                particle.vx *= -0.8;
                particle.x = Math.max(0, Math.min(maxWidth, particle.x));
                // Не меняем baseX/baseY, т.к. частица должна вернуться
            }
            if (particle.y < 0 || particle.y > maxHeight) {
                particle.vy *= -0.8;
                particle.y = Math.max(0, Math.min(maxHeight, particle.y));
                // Не меняем baseX/baseY, т.к. частица должна вернуться
            }

            // --- 5. Применение трансформации для отрисовки ---
            particle.el.style.transform = `translate(${particle.x}px, ${particle.y}px)`;
        }

        // Сбрасываем флаг отталкивания после одного кадра, если он был установлен (для обычного клика)
        if (isRepelling && !mouseDownTime) {
             isRepelling = false;
        }
    };

    // --- DOM MANIPULATION UTILS ---

    /**
     * Перемещает элемент из его исходного родителя.
     */
    const moveElement = (selector) => {
        const element = document.querySelector(selector);
        if (element && element.parentElement) {
            movedElements[selector] = {
                element: element,
                parent: element.parentElement
            };
            element.remove();
            return element;
        }
        return null;
    };

    /**
     * Создает DOM-элементы для частиц и добавляет обработчики событий.
     */
    const setupInteractiveParticles = (customContainer) => {
        particles = [];
        const oldParticles = customContainer.querySelectorAll('.blood-particle');
        oldParticles.forEach(p => p.remove());

        const initialWidth = window.innerWidth;
        const initialHeight = window.innerHeight;

        // Создание новых частиц
        for (let i = 0; i < PARTICLE_COUNT; i++) {
            const particleElement = document.createElement('div');
            particleElement.classList.add('blood-particle');
            const size = Math.random() * 5 + 2;
            const colorAlpha = Math.random() * 0.5 + 0.3;

            const initialX = Math.random() * initialWidth;
            const initialY = Math.random() * initialHeight;

            particleElement.style.cssText = `
                position: fixed; top: 0; left: 0;
                width: ${size}px; height: ${size}px;
                background-color: rgba(255, 0, 0, ${colorAlpha});
                border-radius: 50%;
                pointer-events: none;
                z-index: 9998;
                transform: translate(${initialX}px, ${initialY}px);
                will-change: transform;
                /* Эффект мини-трейла (шлейфа) */
                box-shadow: 0 0 ${size * 1.5}px 0 rgba(255, 0, 0, ${colorAlpha * 0.5});
            `;
            customContainer.appendChild(particleElement);

            const particle = new Particle(particleElement, initialX, initialY);
            particles.push(particle);
        }

        // --- ОБРАБОТЧИКИ СОБЫТИЙ ---
        if (!document.body.dataset.particlesListeners) {

            document.addEventListener('mousemove', (e) => {
                mouse.x = e.clientX;
                mouse.y = e.clientY;
                // Сбрасываем флаг дрейфа на время активности курсора
                isDrifting = false;

                // В обычном режиме (без нажатия) частицы притягиваются,
                // но если они далеко, то плавно дрейфуют/возвращаются к базе.
                for (const p of particles) {
                    const dx = p.x - mouse.x;
                    const dy = p.y - mouse.y;
                    if (Math.sqrt(dx * dx + dy * dy) < MOUSE_ATTRACTION_RADIUS) {
                        p.isDisturbed = true;
                        p.disturbedTimer = 0;
                    } else if (p.isDisturbed) {
                        p.disturbedTimer++;
                        if (p.disturbedTimer > 60) p.isDisturbed = false;
                    }
                }
            });

            document.addEventListener('mouseleave', () => {
                // Когда курсор уходит с экрана, включаем дрейф
                mouse.x = -1000;
                mouse.y = -1000;
                isDrifting = true;
                for (const p of particles) {
                    p.isDisturbed = false;
                }
            });

            document.addEventListener('mousedown', (e) => {
                if (customContainer.style.display !== 'none') {
                    mouseDownTime = Date.now();
                    isRepelling = true; // Начинаем с режима отталкивания
                    isLongPressActive = false;

                    // Устанавливаем координаты отталкивания
                    mouse.x = e.clientX;
                    mouse.y = e.clientY;
                }
            });

            document.addEventListener('mouseup', (e) => {
                if (customContainer.style.display !== 'none' && mouseDownTime) {
                    const pressDuration = Date.now() - mouseDownTime;

                    if (isLongPressActive) {
                        // Эффект "массового разлета" (взрыва) при отпускании после долгого притяжения
                        for (const particle of particles) {
                            const dx = particle.x - e.clientX;
                            const dy = particle.y - e.clientY;
                            const dist = Math.sqrt(dx * dx + dy * dy);

                            // Сильный толчок от центра взрыва
                            const angle = Math.atan2(dy, dx);
                            const forceMagnitude = LONG_PRESS_REPEL_STRENGTH * (1 / (dist / 50 + 1)); // Инверсное затухание

                            particle.vx += Math.cos(angle) * forceMagnitude;
                            particle.vy += Math.sin(angle) * forceMagnitude;
                            particle.isDisturbed = true;
                            particle.disturbedTimer = 0;
                        }
                    } else if (isRepelling) {
                         // Если отпустили быстро, то был просто взрыв от курсора (логика в updateParticles)
                    }

                    // Сброс всех флагов
                    mouseDownTime = 0;
                    isRepelling = false;
                    isLongPressActive = false;

                    // Убираем курсор из активной зоны взаимодействия, чтобы начался дрейф/возврат
                    mouse.x = -1000;
                    mouse.y = -1000;
                }
            });

            // Проверка долгого нажатия в цикле RAF (для режима "Массовое притяжение")
            const checkLongPress = () => {
                if (mouseDownTime > 0 && !isLongPressActive) {
                    if (Date.now() - mouseDownTime >= LONG_PRESS_THRESHOLD) {
                        isLongPressActive = true;
                        isRepelling = false; // Отключаем отталкивание, включаем массовое притяжение

                        // Сбрасываем disturbedTimer у всех частиц, чтобы они начали притягиваться
                        for (const p of particles) {
                            p.isDisturbed = false;
                        }
                        console.log("!!! LONG PRESS ACTIVATED (MASS ATTRACTION) !!!");
                    }
                }
                setTimeout(checkLongPress, 200); // Проверять каждые 200мс
            };
            checkLongPress();

            document.body.dataset.particlesListeners = 'true';
        }
    };


    // --- ЛОГИКА RAF ---
    // ... (Функции setupRAF, stopRAFAndResetBackground, moveElement, styleSkinColorHolder, createColorWheelBlock и логика инициализации/наблюдения остались без изменений) ...
    // Оставляем только измененные функции и основную логику

    const setupRAF = () => {
        if (!rafActive || rafHandle) return;

        let frameCount = 0;
        const rafLoop = () => {
            if (rafActive) {
                updateParticles();
                if (frameCount % 60 === 0) {
                    forceBodyBackground();
                }
                frameCount++;
                rafHandle = requestAnimationFrame(rafLoop);
            } else {
                rafHandle = null;
            }
        };
        rafHandle = requestAnimationFrame(rafLoop);
    };

    const stopRAFAndResetBackground = () => {
        rafActive = false;
        if (rafHandle) {
            cancelAnimationFrame(rafHandle);
            rafHandle = null;
        }
        forceBodyBackground('initial');
    };

    // --- DOM MANIPULATION UTILS (копируем для полноты) ---

    const styleSkinColorHolder = (holder) => {
        if (!holder) return;

        const containerSize = (CIRCLE_RADIUS * 2) + (ITEM_SIZE * 2);

        holder.style.cssText = `
            position: relative;
            width: ${containerSize}px;
            height: ${containerSize}px;
            margin: 0;
            border: none;
            border-radius: 50%;
            display: block;
        `;

        const colors = Array.from(holder.children).filter(el => el.classList.contains('skinColorItem'));
        const totalColors = colors.length;
        const angleStep = 360 / totalColors;

        const centerOffset = containerSize / 2;

        colors.forEach((item, index) => {
            const angle = index * angleStep;
            const radians = angle * (Math.PI / 180);

            const x = CIRCLE_RADIUS * Math.cos(radians);
            const y = CIRCLE_RADIUS * Math.sin(radians);

            item.style.cssText += `
                position: absolute;
                width: ${ITEM_SIZE}px;
                height: ${ITEM_SIZE}px;
                cursor: pointer;
                border-radius: 50%;
                left: ${centerOffset + x - (ITEM_SIZE / 2)}px;
                top: ${centerOffset + y - (ITEM_SIZE / 2)}px;
                transition: border 0.2s, box-shadow 0.2s, transform 0.2s;
                z-index: 1;
            `;

        });

        if (!document.getElementById('skinColorStyles')) {
            const style = document.createElement('style');
            style.id = 'skinColorStyles';
            style.textContent = `
                .skinColorItem {
                    box-shadow: 0 0 5px rgba(255, 0, 0, 0.4);
                }
                .skinColorItem.activeSkin {
                    border: 4px solid ${TEXT_COLOR} !important;
                    box-shadow: 0 0 10px ${TEXT_COLOR}, 0 0 20px rgba(255, 0, 0, 0.6);
                    transform: scale(1.2);
                    z-index: 2;
                }
            `;
            document.head.appendChild(style);
        }
    };

    const createColorWheelBlock = (menuCardHolder) => {
        const setupCard = menuCardHolder.querySelector('#setupCard');
        if (!setupCard) return null;

        const skinColorHolder = setupCard.querySelector("#skinColorHolder");
        if (!skinColorHolder) return null;
        skinColorHolder.remove();

        const colorCircleBlock = document.createElement('div');
        colorCircleBlock.id = "colorCircleBlock";
        colorCircleBlock.style.cssText = `
            width: ${CONTAINER_SIZE}px;
            height: ${CONTAINER_SIZE}px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background-color: ${CARD_COLOR};
            border: 2px solid ${TEXT_COLOR};
            border-radius: 12px;
            box-shadow: 0 0 20px ${TEXT_COLOR};
            padding: 10px;
        `;

        const title = document.createElement('div');
        title.textContent = ""; //player color text
        title.style.color = TEXT_COLOR;
        title.style.fontSize = '20px';
        title.style.marginBottom = '10px';
        colorCircleBlock.appendChild(title);

        colorCircleBlock.appendChild(skinColorHolder);
        styleSkinColorHolder(skinColorHolder);

        return colorCircleBlock;
    };


    // --- ЛОГИКА ПЕРЕКЛЮЧЕНИЯ ---

    const showCustomMenu = (customContainer, fadeOverlay) => {
        if (customContainer.style.display !== 'flex') {

            const menuContentWrapper = customContainer.querySelector('#menuContentWrapper');
            const rightCardHolderWrapper = customContainer.querySelector('.right-card-holder-wrapper');

            const gameName = movedElements['#gameName']?.element;
            const menuCardHolder = movedElements['#menuCardHolder']?.element;
            const rightCardHolder = movedElements['#rightCardHolder']?.element;

            if (gameName && gameName.parentElement !== customContainer) customContainer.prepend(gameName);
            if (menuCardHolder && menuContentWrapper && menuCardHolder.parentElement !== menuContentWrapper) menuContentWrapper.prepend(menuCardHolder);
            if (rightCardHolder && rightCardHolderWrapper && rightCardHolder.parentElement !== rightCardHolderWrapper) rightCardHolderWrapper.appendChild(rightCardHolder);

            rafActive = true;
            setupRAF();
            customContainer.style.display = 'flex';
            fadeOverlay.style.display = 'none';
        }
    };

    const hideCustomMenu = (customContainer, fadeOverlay) => {
        if (customContainer.style.display !== 'none') {
            stopRAFAndResetBackground();
            customContainer.style.display = 'none';
            fadeOverlay.style.display = 'block';
        }
    };


    // --- Основная логика инициализации ---

    const initializeMenu = () => {

    personalizeTab();
    forceBodyBackground(TARGET_COLOR);

    const originalMenu = document.getElementById(MENU_ID);
    const gameUI = document.getElementById(GAME_UI_ID);

    if (!originalMenu) {
        console.warn("Оригинальное меню не найдено. Скрипт не может быть инициализирован.");
        return;
    }

    // 1. Создание основного контейнера
    let customContainer = document.getElementById(CUSTOM_CONTAINER_ID);
    if (!customContainer) {
        customContainer = document.createElement("div");
        customContainer.id = CUSTOM_CONTAINER_ID;
        customContainer.style.cssText = `
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background-color: ${TARGET_COLOR};
            display: flex; flex-direction: column; justify-content: center;
            align-items: center; gap: 40px;
            z-index: 9999;
            color: #ffffff; font-family: 'Times New Roman', serif; text-align: center;
            overflow: hidden;
        `;
        document.body.appendChild(customContainer);
    }

    // 2. Создание оверлея
    let fadeOverlay = document.getElementById(FADE_OVERLAY_ID);
    if (!fadeOverlay) {
        fadeOverlay = document.createElement("div");
        fadeOverlay.id = FADE_OVERLAY_ID;
        fadeOverlay.style.cssText = `
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background-color: rgba(0, 0, 0, 0.20);
            pointer-events: none;
            z-index: 10;
            display: none;
            transition: opacity 0.5s ease-out;
        `;
        document.body.appendChild(fadeOverlay);
    }

    // 3. Скрытие оригинального меню
    originalMenu.style.visibility = 'hidden';
    originalMenu.style.position = 'absolute';
    originalMenu.style.left = '-9999px';

    // 4. Перемещение и стилизация элементов
    const gameName = moveElement("#gameName");
    const menuCardHolder = moveElement("#menuCardHolder");
    const rightCardHolder = moveElement("#rightCardHolder");

    if (gameName) {
        gameName.textContent = "MOOMOO.io (Aibm recode)";
        gameName.style.cssText = `
            position: absolute; top: 10vh; font-size: 80px;
            color: ${TEXT_COLOR}; text-shadow: 0 0 15px rgba(255, 0, 0, 0.8);
        `;
        customContainer.appendChild(gameName);
    }

    // 4.1. Центральный враппер
    const menuContentWrapper = document.createElement('div');
    menuContentWrapper.id = 'menuContentWrapper';
    menuContentWrapper.style.cssText = `
        display: flex; flex-direction: row; align-items: center; gap: 50px;
    `;
    customContainer.appendChild(menuContentWrapper);

    if (menuCardHolder) {
        menuCardHolder.style.cssText = 'display: block; position: static; visibility: visible; left: auto;';
        const setupCard = menuCardHolder.querySelector('#setupCard');
        if (setupCard) {
            setupCard.style.cssText = `
                padding: 30px; background-color: ${CARD_COLOR}; border: 2px solid ${TEXT_COLOR};
                border-radius: 12px; box-shadow: 0 0 20px ${TEXT_COLOR}; display: flex;
                flex-direction: column; gap: 15px; max-width: 300px;
            `;
            setupCard.querySelectorAll("#nameInput, #serverBrowser select").forEach(el => {
                el.style.maxWidth = '250px'; el.style.textAlign = 'center';
                el.style.border = `1px solid ${TEXT_COLOR}`; el.style.backgroundColor = '#1a0000';
                el.style.color = '#fff'; el.style.width = '100%';
            });

            // --- Добавляем ссылки Vanilla и Sandbox ---
            // --- Добавляем ссылки Vanilla и Sandbox ---
const linksContainer = document.createElement("div");
linksContainer.style.cssText = `
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin: 10px 0;
    justify-content: center;
`;

const vanillaLink = document.createElement("a");
vanillaLink.href = "https://moomoo.io/";
vanillaLink.textContent = "Vanilla";
vanillaLink.style.cssText = `
    color: ${TITLE_COLOR};
    font-size: 18px;
    text-decoration: none;
    cursor: pointer;
`;
vanillaLink.onclick = (e) => {
    e.preventDefault();
    window.location.href = vanillaLink.href;
};

const sandboxLink = document.createElement("a");
sandboxLink.href = "https://sandbox.moomoo.io/";
sandboxLink.textContent = "Sandbox";
sandboxLink.style.cssText = `
    color: ${TITLE_COLOR};
    font-size: 18px;
    text-decoration: none;
    cursor: pointer;
`;
sandboxLink.onclick = (e) => {
    e.preventDefault();
    window.location.href = sandboxLink.href;
};

linksContainer.appendChild(vanillaLink);
linksContainer.appendChild(sandboxLink);

// Вставляем между кнопкой Enter Game и капчей
const enterButton = setupCard.querySelector("#enterGameButton");
const altchaContainer = setupCard.querySelector("#altchaContainer");
if (enterButton && altchaContainer) {
    altchaContainer.parentElement.insertBefore(linksContainer, altchaContainer);
} else {
    setupCard.appendChild(linksContainer); // fallback
}

        }

        const colorCircleBlock = createColorWheelBlock(menuCardHolder);
        menuContentWrapper.appendChild(menuCardHolder);
        if (colorCircleBlock) {
            menuContentWrapper.appendChild(colorCircleBlock);
        }
    }

    // 4.2. Правая колонка
    if (rightCardHolder) {
        rightCardHolder.style.backgroundColor = CARD_COLOR;
        rightCardHolder.style.border = `1px solid ${TEXT_COLOR}`;
        rightCardHolder.style.color = "#FFFFFF";

        const holder = document.createElement('div');
        holder.classList.add('right-card-holder-wrapper');
        holder.style.cssText = `
            position: absolute; right: 5%; top: 15vh; max-width: 300px;
        `;
        holder.appendChild(rightCardHolder);
        customContainer.appendChild(holder);
    }

    // 5. Частицы и RAF
    setupInteractiveParticles(customContainer);
    setupRAF();

    // 6. Наблюдатель
    const checkAndToggleMenu = () => {
        const isGameUIVisible = gameUI && gameUI.style.display !== 'none';
        const isOriginalMenuVisible = originalMenu.style.visibility === 'visible' && originalMenu.style.left !== '-9999px';

        if (isGameUIVisible) {
            clearTimeout(deathCheckTimeout);
            deathCheckTimeout = null;
            hideCustomMenu(customContainer, fadeOverlay);
        } else if (isOriginalMenuVisible || (gameUI && !isGameUIVisible)) {
            if (deathCheckTimeout === null) {
                deathCheckTimeout = setTimeout(() => {
                    const recheckGameUIVisible = gameUI && gameUI.style.display !== 'none';
                    if (!recheckGameUIVisible) {
                        showCustomMenu(customContainer, fadeOverlay);
                    }
                    deathCheckTimeout = null;
                }, 500);
            }
        }
    };

    const observerTarget = [originalMenu, gameUI].filter(el => el !== null);
    const menuAndGameObserver = new MutationObserver(() => {
        checkAndToggleMenu();
    });
    observerTarget.forEach(target => {
        menuAndGameObserver.observe(target, {
            attributes: true,
            attributeFilter: ['style']
        });
    });

    document.addEventListener("visibilitychange", function() {
        if (document.visibilityState === 'visible') {
            checkAndToggleMenu();
        }
    });

    console.log("--- [END] ultimatePureBlackFixV42.3: Инициализация завершена. ---");
};

    // Запускаем скрипт, дожидаясь загрузки DOM
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', () => setTimeout(initializeMenu, 200));
    } else {
        setTimeout(initializeMenu, 200);
    }

})();
    //textures
(function() {
    const textureReplacements = [
        { test: "access_18.png", replaceWith: "https://i.imgur.com/0rmN7L9.png" },
        { test: "access_19.png", replaceWith: "https://i.imgur.com/sULkUZT.png" },
        { test: "access_21.png", replaceWith: "data:image/png;base64,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" },
        { test: "axe_1_d.png", replaceWith: "https://i.imgur.com/OU5os0h.png" },
        { test: "axe_1_r.png", replaceWith: "https://i.imgur.com/kr8H9g7.png" },
        { test: "axe_1_g.png", replaceWith: "data:image/png;base64,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" },
        { test: "axe_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "bat_1_d.png", replaceWith: "https://i.imgur.com/phXTNsa.png" },
        { test: "bat_1_g.png", replaceWith: "https://i.imgur.com/ivLPh10.png" },
        { test: "bat_1_r.png", replaceWith: "https://i.imgur.com/6ayjbIz.png" },
        { test: "bow_1_d.png", replaceWith: "https://i.imgur.com/qu7HHT5.png" },
        { test: "bow_1_r.png", replaceWith: "https://i.imgur.com/Oneg3oF.png" },
        { test: "bull_1.png", replaceWith: "https://i.imgur.com/3tsGyzZ.png" },
        { test: "bull_2.png", replaceWith: "https://i.imgur.com/Qq0ysR4.png" },
        { test: "chicken_1.png", replaceWith: "https://i.imgur.com/UtBEmai.png" },
        { test: "cow_1.png", replaceWith: "https://i.imgur.com/FycnCNU.png" },
        { test: "crossbow_1_d.png", replaceWith: "https://i.imgur.com/TRqDlgX.png" },
        { test: "crossbow_1_r.png", replaceWith: "https://i.imgur.com/EVesBtw.png" },
        { test: "crossbow_2_d.png", replaceWith: "https://i.imgur.com/DVjCdwI.png" },
        { test: "crossbow_2_r.png", replaceWith: "https://i.imgur.com/z4CyaXk.png" },
        { test: "dagger_1_d.png", replaceWith: "data:image/png;base64,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" },
        { test: "dagger_1_r.png", replaceWith: "data:image/png;base64,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" },
        { test: "dagger_1_g.png", replaceWith: "data:image/png;base64,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" },
        { test: "dagger_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "enemy.png", replaceWith: "https://i.imgur.com/Ib6nqTa.png" },
        { test: "grab_1_d.png", replaceWith: "https://i.imgur.com/7kbtWfk.png" },
        { test: "grab_1_g.png", replaceWith: "https://i.imgur.com/DRzBdFX.png" },
        { test: "grab_1_r.png", replaceWith: "https://i.imgur.com/wV42LEE.png" },
        { test: "great_axe_1_d.png", replaceWith: "https://i.imgur.com/aAJyHBB.png" },
        { test: "great_axe_1_r.png", replaceWith: "data:image/png;base64,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" },
        { test: "great_axe_1_g.png", replaceWith: "data:image/png;base64,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" },
        { test: "great_axe_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "great_hammer_1_d.png", replaceWith: "https://i.imgur.com/Fg93gj3.png" },
        { test: "great_hammer_1_r.png", replaceWith: "https://i.imgur.com/tmUzurk.png" },
        { test: "great_hammer_1_g.png", replaceWith: "data:image/png;base64,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" },
        { test: "great_hammer_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "hammer_1_d.png", replaceWith: "https://i.imgur.com/WPWU8zC.png" },
        { test: "hammer_1_r.png", replaceWith: "https://i.imgur.com/oRXUfW8.png" },
        { test: "hammer_1_g.png", replaceWith: "data:image/png;base64,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" },
        { test: "hammer_1.png", replaceWith: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABHNCSVQICAgIfAhkiAAAIABJREFUeJztnWlwXNeV3//nvdcrFgLcwUWERFIiRcmSJZGy9oVaAJCEFg+UsZ2RZafCSaqcSsaTmfjLjFqZ1CTlTOIZTzmZslNlO6ORpgzblEiRAK3FsmUppkTJtkRIFkVI3EACBEABYKPRy3vv5EODEheg3+31Nl6fXxW0ALfvPUD3/b9zzz33XEAQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQhLkL6TZAyBKLxYy33nqrzrbt+aZpRmzbNlRfa1kWua4bJqKg67oZIppkZidPE1LBYHA8EAic6e7uzve1whxFBKAK2LZt20LbTn8ZwFeZuRVAiIgI6u8PX9CW8xmfmZkINkBDRNjBbPz9nj17PiSivPoR5h4iAJrp6OhYBdj/h5nu0W3Lp9CHRMZXdu/e/YqIgL9RdjOF0tPV1VXvuplvVtfkBwC+jNn+bmdnZ6tuS4TyIgKgkXg8vonIeEi3HTNDV9h2+o9isZh8RnyMvLmaiMViBhFvBRDQbUsOOvv7+yO6jRDKhwiAJvr6+izXxTW67fBg1djYmAiAjxEB0ERdXZ1BxPN12+FB2LIs+Yz4GHlzNTE5OUkAV7P7D2aWz4fPsXQbUKskk0kCyGOCEc+fv4SITI/eXNi2Ddd1QASYZgCmaSFXOoDrMsbHh+E49uyjyxag7xEB0EQ4HObJyTRxjilmmiatWrUBllV6R4GZ0df3Kqam4jmbJZNJEQEfIy6eJpLJJDHnl7FXWhh5JgwKPkQEQBPhcFj77MvlfUy3cC3L0m6nUD5EADRCpDsVW+Z2rSMCoAn9SwCA2Ut/iMUD8DciAJoIh8Os3wNwvRrI5Pc5IgCaqA4PwPPnbFkJEQEfIwKgCd1BQGYGefgfROIB+B0RAI3oXgKwwjZAIiExAD8jAqCJalgCeMOeQQJhbiMCoIlqCAJ6ewDEgUCgykVKKAYRAE3MDQ+g6u0TikQEQBO6g4AqMEM8AJ8jAqAR3UsArwc8EXM8HhcB8DEiAJrQvQRgZoWzAN6ZQsLcRgRAE9UQBFRY4svT3+eIAGhCtwegVutDdgH8jgiAJqohCKiQCixLAJ8jAqARnUsAZlJIBWYOhULahUooHyIAmlBZAriuA9edvWZfsXgnAhluNXgqQvkQAdDEdBAwZ7VPZsbw8HGQ16O6IFTmtaQC+x0RAE0kk0ki8qoKDAwNHUEqNVUJky6CGe7Y2Jh4AD5GBEAT4XCYXdd7J95xbJw4cajk49u2DfZ4wBuGBAH9jgiARohIaYKNjp5AIjFR0rEHBw/DdXMPzwyWGIC/EQHQRDYIqLbGdl0XAwMHSzb2xMQIhoePKbSUGIDfEQHQRL6ZgOPjozhz5nTR49p2BocP93m6/0A2BlBXVycegI8RAdBEvpmAzIyjR3+vNHFzMTDwgXJQ0TDUlijC3EUEQBOFrK0TiQmcPj1Y8LbgxMQoTp06qtyeGe7Q0JB4AD5GBEAjhWQCDgx8ANtO5z2W42Tw0UcH8n2ZeAA+RwRAE4UeBkqlpnDq1LG8vYCjR99HOp1fPgERnPr6evEAfIwIgCaKOQ588uRHyGRSyu3HxoYxMnI873FUdymEuYsIgCaKOQ7sOBkMDPQrtbXtNI4c6StkGDCT29zcLB6AjxEB0ESxCTYjI8cwNRX3bHfs2EGk08mCxjAMdpYtWyYC4GNEADRSzHHgs8lBuU70jY0NFeT6n0XqAfgfEQBNlKIi0NjYMOLxmZODMpkUjhx5r5juwWw4fX194gH4GBEATSgGAXNOPmbG8eMfXOQFMHNRrv9ZDMPjsIAw5xEB0ISKB6AShY/HxzA+fuq8742NDWN0dEDFDI/xDWfDhg3iAfgYEQBNqAQBiShlKOz3Hzv2PhwnWzkok0nh6NF3Vc3wsMF1VDsS5iYiABpRCQI2BAOe/SSTCYyMHM/L9bcMlbfecB5//HHxAHyMCIAmVJYARGQsjISg4gWcPPkhRkcHcPr0Cc+2RMDiaNizJqDrsngAPkcEQBMqQUACU8gysCAS8uwvk0njyJH3FAp9AvNCQTSELJBHPrFpui6pXSAgzFFEADShFgQEgYFF0bCSy+4qLNktg9BSF1F8403xAHyOCIAmlDIBp5/QJmVFoFiIgGX1UVgGgUGeHgCzBAH9jgiARryXAJ/+fH4kgJBZ3Ns1LxjEvFA2qKiSg0RkiPvvc0QANJFvJqABwtL6SMHjBQwDLQ3nvF5hZEkF9j8iAJpQCQIy+LyfNwQDiAasvMciApY1RGGd4/Ez2DNgyOyIAPgcEQBNKHkAF/yUALQU4AU0hYJoDOYvHMyyBPA7IgCaUMwEvMhDqAtYn6zjVQiaxoyiobBbCNOUoqB+RwRAI96ZgBfPUmbGkrqwUnIQEbC8IQpzhrZKNwNKRSDfIwKgCbUg4MyzPGxZWBgJeo6xOBpGfQExg3NGFwHwOSIAmiimJiAzY2E0jIZZ1vUEYGEklDN3QM0DkCWA3yn88SAURbEFQUwiLG+ow0giiYl0BrbLIADZ1OEwmjzjBCp5ALIL4HdEADQRDoc5Hs+/vv+5BIxsbsACJwTbZRiUDfqZhqGwxafifIgH4HdEADRCBMo1T71SdYGsux80DQTNT7+nciBIDdkG9DsSA9CE2hKgfPNPsWc5C+BzRAA0UUwQsDSoePclcyWEKkUEQBOlqApcFEojSwzA74gAaKLYi0GKhRWcD0kE8j8iABrRuQRQUR8i8QD8jgiAJgo5DFRavDsXD8D/iABoQn8Q0BvxAPyPCIAmdAcB5TCQAIgAaEMlCFjeFYBS75IH4HNEADQiQUBBNyIAmtC9BIBsAwoQAdCG7iCgygrAMAwRAJ8jAqAJ3R6ABAEFQARAG7ozARXzACQI6HNEADSiNQ9AlgACRAC0oXsJAIU7P2UJ4H9EADQxF4KAUhPQ/4gAaEK3B6ByGtAwJBHI74gAaGJuBAFd8QB8jgiARqr9MBCzBAH9jgiAJrQvAZR2AWQJ4HdEADShOwiogiwB/I8IgCZ0ewCKiAfgc0QANKE7CKiiPcyGCIDPEQHQSLUvAQxDEoH8jgiAJvQvAeQ4sCACoA3dQUCV68NkCeB/RAA0od0DUJMeEQCfIwKgCe1BQKU8AFkC+B0RAI1UexBQ6gH4HxEATeheAqhdIW6KAPgcEQBN6A4CglROA0omoN8RAdCEbg9A7TSgBAH9jgiAJuZCEBCQGIDfEQHQiM4lgNrAlgiAzxEB0ITuJYDKwK4rMQC/IwKgCe1BQAUsS5YAfkcEQBPaPQDvIABLEND/iABoQncQUM33EA/A74gAaKT6y4JLENDviABoQvcSQPE4sAiAzxEB0IT+IKCS9ogA+BwRAE3o9wC8EQ/A/4gAaEJ3EFClHkggIALgd0QANKL3MJBKIxEAvyMCoAndSwC1XYCgCIDPEQHQhP4goDeO40gqsM8RAdCEbg/AaxeAmdk0zaoOUgrFIwKgCZ1BQFIoBiLUBiIAGtGaCajQxjAM8QB8jgiAJnQuAZjZMwhIRDL5awARAE3oDgKqzO50Oi0i4HNEADRR7UFAABIErAFEADQhQUChGhAB0EiV5wGwBAH9jwiAJqo9CCjUBiIAmtAfBPRSAGbLSolM+BwRAE3oDwJW8+pDqBQiAJqo/uPAxMmk7AL4HREAjehaAjAAyfMRABEAbeheAjB7aQ+zZVmiEj5HBEATOoOABO8gYLWXKxNKgwiAJnR7AF4jE5FkAtYAIgCa0BkEZEA2AQQAIgBaqfZMwGQyKR6AzxEB0ITKEqCc6qByN2AZhxeqBBEATejOBPRGdgFqAREATegOArKn9kiiQC0gAqAJpSBgGf0DUqgHIB6A/xEB0Ei1VwSyrIQIgM8RAdCE3uPASheDyJ0ANYAIgCa0BwEVbgevgBWCZkQANKE3CKjkAnAiITEAvyMCoAm1TMByOgjeh4HKOLhQJYgAaMRrCcAK2TqFDuztfBAHAgERAZ8jAqAJ3XkAXh4AM1wRAP8jAqAJrUFA/uQfs0IkS4BaQARAE/o9AC+I4/F4FdsnlAIRAE2oBQHL9RRmKAQBJQ+gBhAB0Ij3EqCs5wE9fi5BwFpABEATKkuA8u0CKPkWMvlrABEATSgFAcsaIvReAoRCIREBn2PpNqBWUSsIMvORXCKC47pwOfuYPuso8PTuvusCIIYBAwGTYBnG+QVAmLKnfXOMTlI3vCYQAdBEOBzmeDyd9+sStoPTU2lMZjLIONNxOsr+49xJTgQYZMAkYF44iAXhEALGOU99j+nNDFf35SVC+REB0AgRcu62n/uMZgCjUymcSiThuHxRwwtnNDPgsAsHwPBkEqcTKSyMhrEwGsx6Dd7myeSvAUQANKGUB3DOI310KoXB+FTBs9JhxtDkFKZsBy11YVD2coBcgztjY2O6bi+mRx99NDo6Orqcma8kcpcCNE5k/jYajfZ3d3fn7zoJMyICoIlwOMyTk+mcHgARGEQ4k7aLmvznMpFKI2AQmNlFjiBwJWMAzEydnZ0RovQy26aNW7bc3wHQLcxYDiDI0x4Osz02OTn2z1u3bv0vzz333ECl7PMzIgCaUNoGBHHKsXH8TKKk/vjHybTrMpIAorOOXcYYADPTV77yldDw8PAyZvuGLVva25n5NgArAQ7m2KFoYjb+jeNkrmxvb/9ST0/P8XLYV0uIAGhCJQjI7PLAmSnYbmmT8lxmgwimRy5AyQZlZnrkkUfCmcyZJZkMNm7Z0nYfM+4AsApAsIBww+1E/M2urq5/1d3dPVUqO2sREQCNeAYBGcGk7ZRlbGav957durq6gj2Axx57LDw2NrjUtvHZjo72NiK+nZkvBShUaJ/nWcf8L+Lx+E8B/LgU/dUqIgCaUMoDIDLLaIJHEhgpewDMTB0dHUHLspbYtn0NEd8/NHTyboBbAYpk2wAlzmwyAPevu7q6nu/u7h4vZce1hAhAgWzfvj0wMDBQb5pmBICTyWSmbrzxxkQsFrNVXl9oHsCFBEzgqtVAY5RhGATTBCangP2/BzJKlswGu0NDQzMK1LRLH0ilUgtdN33tli1t9wHYbNup1QBFPvVqyn7aeW0iEX8UwN+XeyC/UsU301QnsVjM2rdv342A8zUAtzGjGQCIMM5sfEjEvyLCy4FAuK+5uXn4+9//fmqmiHpXV1ckHp94HcBVhdoSMIH/9EeMvX3tF/0smOzFq+8U2jPATPsbGhpuObvl1tXVFZyamlrkupmrAboP4Ltdl9cS0ayBxErAjMFAIHj1rl27RnTaMVcRAciDWCxm7N//6wdsm/8XEZbmbs1TRHQE4FcB40XAeLOuru7Ej370o0ki4sceeyw8NHTyNQCfLcQWIuCxDsaBUxdPfgC4fnkP/uGZwt9eInodMB4BcDmzex/g3g3Q5QDqC+60TBDRX2za9Lm/jsVicoQ5T0QA8qCzs3NZJpN6DoVN2gyAk0TufmbrBcuy9tt28juAsbEQWzbfwJigmSf/Wfbv7y2mokAc2fB8Q8E9FAMBwaABO8NwL8x8vABmfBwIBK/ftWvXRxWyzjdIDCAPMpnMNQA2FPjyAIBLmI1LAPfhTCblEBkFhfjXrYLn5AeAoMVIZQrW+Mo+6QkIhU00L4rgkssbsWbx3QCAwx+/jNc8tvuJ0Ow4yT/v6ur6Wnd3d3m2TXyKCEAeGAbPc10EStHXdIQ/7yj/gnmMhsXekx8AmhoIQ6fzHaFCTD/hmxdHsHJNIy5v2Txjs9bmO/F2UzfiY6mc3THTlxOJxHcAHCiDtb5FBCAveADgdKn2svMlFGBcdrna5AeA5QtRVQIQDJloWhTGitWNWLd85gk/ExvvWoqf7zji0YoizM5fdnV1fUG8AHVEAPIgGm18Ox6f+C2AGys9tkHAv30IeDWPVe7alYy3DuoL81hBA82LwlhxWSPWr7yn4H5aIrehedEpfDycO+mPmR9MJieuAfBWwYPVGBIEzJOtW9vudBx3z9kEl0rxB3cBR+Jteb3m3vU9+Ov/W7m32AoaaFoQxorVDbjykntL3v/TT/8TvKqkuS56DMN4qKenJ/eaQQAgHkDePProV1/54Q+//xeu634TFSqptnFjG47E83/d8++1wzJ7UaZsYlgBE/PmB9HSWo/PrL6/PIOcQ8uqepw4fCZnG8PA/QDuAPCzshvkA8QDyIP29vZGwP3XzPiP3nkApeGmqxh2RH3dfyHvv9uDicnSvM2GSQiFTYQiJgIhE2DAzrhIpxzYGRdkEOobg2hdN2/WoF6xPP30kypbm2/W1zfe2d3dXYBs1hblzDX3FR0dHauY+Wki/DFRwVtkKgX5AWTX/G03AXGz8MkPAAG3H6OFZ8qfZy9PT/hkwkHiTAaJMxkkEzYyKReOzbAzLhLxDE4ciWNk4kNcesm6omyfibh9BGMjnt59SzqdeffQoUNF5ELWBiIACjz4YFurbTu7iYoL/kXDoG23MJoagFSakLGnC3ieAxHQWAd86X7go4n81vwzsazxEPoLL51RsOsQH0+DoyexZP6aggefiZUtV+Ddd9/x8gII4KuvvHLDD95//32pHpQDEQAPHnzwwaZUKv1TgK4rtq+MDYyMExqXtKNpwRosbVmDL97xAZoaCI11QGsLcPu1ADW0YShemonz2dYPsK9Pz0ovnXSwdk2heVOzkzKOY3TQswzAAtfljw4dOiQ7AjmQGEAOurq6zMnJM/+Vmf+slP1etgxYsLz4p7sqb+7vhUc2bVmI1Fl46IE/LEvfP/7J00invKKbfBwwr+vp6RkuixE+QC4GycHk5OTVzO7XSt3vhyeAzFhvqbudlUi4YkOdRyhSPgdzw6ZFCq1oBYCvMrM86GZBBGAWYrGYBbj/vlz7/b/9AIjalRGB9av0VPhuXd9ctr7Xr7wH4TrvXWwi9487OzsXlM2QOY4IwCzs27dvKTN3qrQNRy2sXNOIddctROsVTTBMtQfOL34DrIz2FGWnCvdtAkLBsg9zHvMXh3FlEdl/Knz2Vu+dWGassm37M2U1ZA4jAjALhsGbAMz3ardh4yI8/OAf4rZNnbhuXRtuvn4rbt92SbbuvgI7fkm4anF5ReD599rx8O2MUIUu+21oCqLtnj8o+ziXLrgT9Y2eymYQccVTt+cKIgAzwMzkurjTq93i5XW4Zu3FGXDLorfh+rtalEKszMA/9hJuW11eETg03o6vfwG4YR1jXn22mpBpAJaZ/e9QEGiIAouagFVLgQ2XAhvXA61L8xON+qYQtnU8Uqbf4mI+c/NihVbulRIHmBlJBZ6BJ554wiTidV4ZZ/fc8dCsP7t86WZM3bAXfW94B6BtB/jfOwhXldlRfeG9dlADcPl6tfbLIz3Y/3v1edPQFMS2jq4CrSuM1vl34jV6MmdlcWZqeeSRRwwAckrwAsQDOAdmpm3btkVff/31y6ZvpZkVlXX+NWvvx8o1jUpjT6WAgY8qtzPgxYpIL559hZQrCjU2V/bJfy6m4fVecHM8HpeH3QzIH2Wa7du3B7Zu3Xors/11ZtwKYF6u9q7D/NTTT573yaMi0ypOjADXru3BsF1c+m+xLI/0YMcv1X+XxvkhbG2r7JP/XEzLgOPkerhTw8KFCy0AckLwAsQDQLbY5/HjRx5yXfvHzNgKoAneK3j65Jrd6S9mnvErH37+lt6l6tJgD57JY/LPW6B38gOAYXnaWzcyMiJZrzMgAgDgjTfeaAXw36AQ9S83UymUfVdgNhYHerDrVfXJ37QghC336538ABAI5P4YMyNSX++KtzsDNS8A2Yi//RAzLtVty1k+Oln5MRcHerD7tTwm/8IQOqpg8gNAIOj1MeaQbUdFAGag5v8ojzzySGD6ogvdpnyCWWFZXmT15jX5mxeH0V6BfX5VgqHc3j0RWZlMpiTFXP1GzXsAqVQqBPBluu04CxHQWpFSI1nmG73Y8//U21fb5AeAYDj3c4yZTcPIVLSE21yh5j0Ax3EsAGp7dRWgdSnw9tDMuwAbFvVidJzhuIR5dYyVS4CfHyx8x6AJPdi7L48n/6II2u/5fMHjlYtw1NMDMJir5z2uJmpeAILBoJFM2hXOlL8YIuCyZYz5y86f0FG7F2+9D8SngDfOu2E3++9QsBdXXAJ03jrzHYGz0YQePP+G+uSfvySCts3VN/kBIBj2DPCT6+oP8FYjNS8AyWTSgEdhlEgI+NwGwDCycYKzWaXMwNkbvpnp7B3Yn/zcPef/mQEQw3Wz/519LWCZjOYGYP0q4Jf9n07gBWYvXnqTkM7ktj+VBt4+BBzoJ9x8dQ9SIW8RmIfevCb/wqUR3Hd3dU5+IHujkDe0sOyGzEFqXgDC4TBNTU2alOP0zuJmIG6eU8CjhFv1NoBhGxju//R7H5/sxf4B5JVD4DLwq7cJlyzpwZJLZheBBrcXL7ypbl+1T37AOwYwjXgAMyBBwFTKIKKcf4dAJWUy3oP+ASin4F7I0SHC0NGZ8wgauQcv5TP5W6JVP/kB7xhAFipfcYI5TM0LgGVZBjz+DsEKHaO96/IevPl79fz72Tg6RIhmzheBdQt68NKb6q7LouVR3HfXw8UZUiFaIrd5tmHmnKndtUrNC0Amk/EWAO9U05LQ/RKVrHbfawfOt/nZV9S9isXL63DvHXNj8qviONyk24ZqpOYFIBRiy+useLBCS4Ajg6XrK2MDgWTWC7jlUvXLQRYvr8t5zLlq8fj1DEOWADNR8wKQThtByhUBRGWWAE3oKXnl3gMfZn+t4XG1yb9waWRuTn6oxGW5ORaL1fzn/UJq/g9iWW4YHp8fqwIewKHj3h/hYMjE7dsuwcaNbUp1BianS+fXR9SUxbZd70ZViuFRE4CZ5vX19dX8rteF1LwAZDIU9WoTqMBB0vHJ3D8nIlzzmXsxNXglAGBp881YvLwu52tcBu5Z34O3BtqVfoexkRR6X/yJqslVhWl5HghqTCaTIgAXUPMCACAKDw+gEtuAXu7/TBWIVqxuyP0aytb8A4B1rWp2nB6awt6X5p4IeFVoIkK9bdsiABdQ8wJApOABVGAXIBrK/XPHdvFx8vXzvvfemyM5X9NQR+g9kE0KCs9vUy4NPjo4hZ/NMRGwPGoCAAhLTYCLEQEg1/OUWCU8gOWLvNfph945jTff2ovf/O5neOONXkxN2rO2JQKuvuz8Ph9tY3iWz5tmZHBueQKBkOdHWWoCzEDNC4Dret/8k7HLvwuwcb3azHQdhp32DtYZBFx3xfl2//ZkOx6+g5XvLBgdnJozMQGvmgAAAlIT4GJqXhENA+ELr+i+kF2vGjCNvQBnJw8RA0SfPE2NaRk1jeyTl6a/ZxBgmtkDP+EgMK+O0NrCOJa4OFf/jWNtaKzrxYRHMFCVUBB47aOLxzky2Y7OW3vx7Ctq/ZyNCdxf5SnBKjUBHMfRdEti9VLzHgAAj9U34LqMjM3IOEDaBlIZQiqdrd83lcput01OAROTwHgcGIsDpyeAkXFg6DQwMEzoHyC8dRD46S8I+/f3YvBIL+5ce3667rZbS/dLtbbM7rWcSLZh2y3qXs1ciAmEwrk/ykRkmKZZXyFz5gwiAOCKXxbBDBw7BXz7x4SbWj8VgYOn27C+tfj+QwHg4TtytxlMt+clAtUeE7Az3r8Lc0aKglxAzQsAszEETQUBU+ls/v+51C9qw6oiSoJZJvCl+9WKgwym27Hl5vw8gWoVgZNHzng1YWbFW1triJoXACJ6H0CJVt75M3QauOuCpcDilW24dm3+fdVFgK99nvHOLCXFZuJUZu6LwLtHn0dqysuR45RpOqMVMWgOUfMCYBjGhwC9pmt8l4GBGbbzA01t+NrnGS0L4Bm1DwWB268BrryqDa/OEPjz4lQmv+VAtcUE3vm19/2LAD40zchAuW2Za9T8bSkHDx7MXHHF6iPM2IZsVmDFuWwZcMa++JE/ML4Wjc1r8Ng9HyASAgBCwGKEQ8D8RuDylYS2zzGooR22uaYoG+LOWlx/6Qc4eEzNS07EbZwY/gBrLr2yqHGL5eevPoOJj71v/DIM879ff/0NL7/88svVU/+9CpA1EYCuri4zkTizxXX5bwAU4HwXR+etjJMpvfcBniXfC0J0FgsdTL2Kl37ykUrTY5YVvG7Xrl25UydrEBGAaZiZHnjggRbbTt/BjJuInOXM5rVedwbUNQZgmgaYGa7L2aIbPF0QlLMn7LwSd6pJAABgSbAXz72q3n7B0oiWPIGdz/0I8Ym0VzM2DHp09+7eJyth01xDBGAWmJk6Otr/DuB/l6vdF7/4Lz37euqp3J+9bbcwBtPVIwBA9pLQfO4JrHTx0Lf79+LAPqW1/4v19Y3buru7p8pt01yk5oOAs0FETASPotylGqsSo+THYLodm2+o3jyB9/YrefNJIvNPZPLPTs2nAueCmZO6bSg1zdSD3xwkTExmbxjKVSfQdT/Jj1CSqNHBKbzwix1lryr08mvPwnG8xYkI3969e/cBj4JPNY0IQA6I6Ew+tfmrmdtX9+B7u+ic2oAqkyL/mXNqYBK/+2Avrll7f74vVWIw+SucOOyZ9AOAD1tW+H8SkT/ewDIhS4CcsG+ixv/wLJXsoJEXhw6cLlvfv/6Z0lY+A+Y3du7cOVQ2Q3yCCEBujldikHI7GRTv/aQ+YCVIJctzvOLt/r1IxJXCMi8tWbLk2bIY4TNEAHJAZB1nzn1Y6Lne7hKMU3QXOek7XN7+K4Va4I+nTDPwpz/4wQ98F78pByIAOXBdd4iIErnaTJxO4eSU4uF6TUxVeCqEy1B456VXdigF/gD69g033PBOyQ3wKSIAuZkA0O/V6OVnjuDg4IsVMKcwKhkFIwLWX7egpH2enHoFg8dUAhh82LKCfxOLxeZuffMKIwKQgz179qQB7PFqxwzsf+kkdj73owpYlT+V2siI1Fn47O0tWL/y3pL2u+/5EyrN2DSNr0u6b37INmAOiIg7Ojr+2XXt/6BSPTg+kcZTTz3QfmfNAAAE60lEQVQJIiAYNkEGIZPyfhjNsZ1GNkyiQMBApD6A+nkBNM4PYdGyKJbX3V7ywVQDf8zY6zjkKdbC+YgH4MGmTZveMww8nc9rmIHUlIPkpA1H4badcgYB2zbMfFV4EZDrMFJJB2MjSRzvP4ODvzuNvn3DeLt/b6nHwntvKh3hn7SswDd6enq8jwUK5yEegAexWMx+4IEHnkinpzYD1KrZnKrETrsYGZzCyOAUDux7EqZloH5eAEtW1GPFmkYsDd1SUL8v/HKHkoAC+NtIJHKgoEFqHBEABZ599tljHR0dX2a2dwE0t+rKaciCdWwX46MpjI+mcPB3ozCMw4jWB7BwWRQrVjfgknkeBQsBDEy+glPHvQN/zDgSiUS/1d3dXfHajn5ABECR3bt3v9LR0dEFuE8BKGmYe47FAPLGdRnxiTTiE2kc/v0YiP4JoYiJ+YsjWLG6AWuW3H3Ra954USnw5xoG/nzHjh1S6qtARAAUISJm5ue3bNlyF7PzPQA36raphDAq6CswM5IJGycOn8GJw2fwOj2JYNDEvIUhtKyqx8enkooZf9y7ePGynWU32MeIAOTB9MGSdzo7O+/NZFJfBvgbAC3XbVexMFM3ER8AcA+ADQCaUckAMQPplIPhgQSGB3LmXX36EuZEIBCSjL8ikV2AAti5c+eZPXt6vxMIhDcR0Z8C3Adg9ov6PEiUMXatcgDIMDDQ07P3r2688abN4XD0CiLzRsD4E4B2ATiBIn63cmGa5v/YuXPn+7rtmOvIQekimS4lVm/b9pVEfI/r8m0AX8aMBiIQQC7ALbn6IILypZ152weC63H3OBF9a8+e3q9f+P1YLGb09fVFE4nESsDZ5Lq4F+DPAbwCIM8blcrIB5YVvFmSfopHBKDExGIxq7+/P3T69OlgNGpTImFd57r2z1DFf+vZBOBCmJk6OzsjrusudV33M0TOvcy4FaDVAOoqYCoAuIDx+Z6enmcqNJ6vkRhAiYnFYjayLvMkAGzbdv9J14WD6v5bK+1DTMdAEgA+nP56pqurK+g4EwtSKWxgpjuY3c3MtI4I81CWJSb3Aih5dlOtUs0fSl9gWdFh206Mo8Rbh6WEmeOFvra7uzsN4OT01wvbt2//zydPnpznOM5qIr7NcdzNAK4FeBERFXsPxThg/plk/JUOEYAys2jRoo+PHTvyWwCbddsyCwwYB0vV2Xe/+90MgJHpr31dXV3fisfjdUS0ipk/x2zfQ0SbAFoGIKhsJLNjGMZf7t695z2p8Vc65C9ZATo62r7guu4/luAJWA5OEJl37dmzp2QikItYLGb09/dHxsdPtWQyxrUA3wvwrczcmuPAVZKI/tY0A3+1a9cutX1CQQnxACqAZQWfy2TSuwHu1G3LBaQB49srVqxQul6nFEyf1Z8EcGj668ft7e0hIiwCcDXg3gHgJgAtADIAvUtk/LCuru5FKe9desQDqBAdHR2rXDfzTSLjIQAB3fYAfNwwzL+LRuu/193dPa7bmnPZvn17YHBwMBwKhYx4PJ6UNX/5EAGoIJ2dnQ2ZTGYjEd8F4Apmt851y7ugNQxmInIdB7ZpIsFMJ4j4N8zGvpUrVx6dXrMLNYoIgAaYmZ544omK/e0ff/xxBj7ZxhMEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRDmNv8f5yGUtIqctHIAAAAASUVORK5CYII=" },
        { test: "hat_11.png", replaceWith: "https://i.imgur.com/yfqME8H.png" },
        { test: "hat_11_p.png", replaceWith: "https://i.imgur.com/yfqME8H.png" },
        { test: "hat_11_top.png", replaceWith: "https://i.imgur.com/s7Cxc9y.png" },
        { test: "hat_12.png", replaceWith: "https://i.imgur.com/qFghS5s.png" },
        { test: "hat_13.png", replaceWith: "https://i.imgur.com/EwkbsHN.png" },
        { test: "hat_14.png", replaceWith: "https://i.imgur.com/V8JrIwv.png" },
        { test: "hat_14_p.png", replaceWith: "https://i.imgur.com/V8JrIwv.png" },
        { test: "hat_14_top.png", replaceWith: "https://i.imgur.com/s7Cxc9y.png" },
        { test: "hat_15.png", replaceWith: "https://i.imgur.com/YRQ8Ybq.png" },
        { test: "hat_16.png", replaceWith: "https://i.imgur.com/uYgDtcZ.png" },
        { test: "hat_18.png", replaceWith: "https://i.imgur.com/in5H6vw.png" },
        { test: "hat_20.png", replaceWith: "https://i.imgur.com/JbUPrtp.png" },
        { test: "hat_26.png", replaceWith: "https://i.imgur.com/2PsUgEL.png" },
        { test: "hat_27.png", replaceWith: "data:image/png;base64,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" },
        { test: "hat_31.png", replaceWith: "https://i.imgur.com/JPMqgSc.png" },
        { test: "hat_40.png", replaceWith: "https://i.imgur.com/pe3Yx3F.png" },
        { test: "hat_52.png", replaceWith: "https://i.imgur.com/hmJrVQz.png" },
        { test: "hat_6.png", replaceWith: "data:image/png;base64,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" },
        { test: "hat_7.png", replaceWith: "https://i.imgur.com/vAOzlyY.png" },
        { test: "hat_9.png", replaceWith: "https://i.imgur.com/gJY7sM6.png" },
        { test: "musket_1_d.png", replaceWith: "https://i.imgur.com/jwH99zm.png" },
        { test: "musket_1_r.png", replaceWith: "https://i.imgur.com/jPE54IT.png" },
        { test: "pig_1.png", replaceWith: "https://i.imgur.com/QHtrTlY.png" },
        { test: "samurai_1_d.png", replaceWith: "https://i.imgur.com/4ZxIJQM.png" },
        { test: "samurai_1_g.png", replaceWith: "https://i.imgur.com/QKBc2ou.png" },
        { test: "samurai_1_r.png", replaceWith: "data:image/png;base64,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" },
        { test: "samurai_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "shield_1_d.png", replaceWith: "https://i.imgur.com/hSqLP3t.png" },
        { test: "shield_1_r.png", replaceWith: "https://i.imgur.com/SNFV2dc.png" },
        { test: "spear_1_d.png", replaceWith: "https://i.imgur.com/HSWcyku.png" },
        { test: "spear_1_g.png", replaceWith: "https://i.imgur.com/jKDdyvc.png" },
        { test: "spear_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "spear_1_r.png", replaceWith: "data:image/png;base64,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" },
        { test: "stick_1_d.png", replaceWith: "https://i.imgur.com/H5wGqQR.png" },
        { test: "stick_1_g.png", replaceWith: "https://i.imgur.com/NOaBBRd.png" },
        { test: "stick_1_r.png", replaceWith: "https://i.imgur.com/uTDGDDy.png" },
        { test: "sword_1_d.png", replaceWith: "https://i.imgur.com/h5jqSRp.png" },
        { test: "sword_1_g.png", replaceWith: "https://i.imgur.com/wOTr8TG.png" },
        { test: "sword_1_r.png", replaceWith: "https://i.imgur.com/V9dzAbF.png" },
        { test: "sword_1.png", replaceWith: "data:image/png;base64,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" },
        { test: "wolf_1.png", replaceWith: "https://i.imgur.com/zLAZWOH.png" },
        { test: "wolf_2.png", replaceWith: "https://i.imgur.com/hKlpCVS.png" }
    ];

    const orig = Object.getOwnPropertyDescriptor(Image.prototype, "src");
    Object.defineProperty(Image.prototype, "src", {
        set(l) {
            for (const { test, replaceWith } of textureReplacements) {
                if (l.includes(test)) {
                    l = replaceWith;
                    break;
                }
            }
            orig.set.call(this, l);
        },
        get: orig.get,
        configurable: true
    });
})();
    // === Discord Auth Overlay (Final EMOJI + Animation + Anti-Tamper Version) ===
//(function(){
//    if (window.__AIBM_DISCORD_AUTH) return;
//    window.__AIBM_DISCORD_AUTH = true;
//
//    const AUTH_PAGE = "https://discord-auth-yjuh.onrender.com/discord/login";
//    const AUTH_ORIGIN = (new URL(AUTH_PAGE)).origin;
//
//    // --- ФАЙЛЫ ---
//    const MUSIC_URL = "https://github.com/WeowMur001/myzik/raw/refs/heads/main/%D0%BF%D0%B0%D1%80%D0%B0%D0%B7%D0%B8%D1%82%20+digitaluv%20(prod.tewiq%20+%20rayx).mp3";
//    const VIDEO_URL = "https://github.com/WeowMur001/myzik/raw/refs/heads/main/tt_%231.mp4"; // НОВОЕ ВИДЕО
//
//    const SESSION_KEY = "__aibm_auth_ok";
//    const SESSION_TTL = 1 * 24 * 60 * 60 * 1000; // 1 ДЕНЬ (1 * 24 часа * 60 минут * 60 секунд * 1000 мс)
//    let authDone = false;
//    let audioEl = null;
//    let videoEl = null;
//    let started = false;
//
//    // --- ЭМОДЗИ (Замена лирики) ---
//    // Тайминги оставлены приблизительными, чтобы смайлики менялись ритмично.
//    const EMOJI = [
//        [0.0, "^-^"],
//        [3.0, "૮₍ ´• ˕ •` ₎ა"],
//        [7.0, "(•́ᴗ•̀✿)"],
//        [11.0, "૮꒰ ˶• ༝ •˶꒱ა"],
//        [15.0, "૮₍ ´• ˕ •` ₎ა"],
//        [19.0, "(•́ᴗ•̀✿)"],
//        [23.0, "૮꒰ ˶• ༝ •˶꒱ა"],
//        [28.0, "^-^"],
//        [32.0, "ฅ^•ﻌ•^ฅ"],
//        [36.0, "♡´・ᴗ・`♡"],
//        [40.0, ""],
//        [44.0, "૮₍ ´• ˕ •` ₎ა"],
//        [48.0, "(•́ᴗ•̀✿)"],
//        [52.0, "ฅ^•ﻌ•^ฅ"],
//        [56.0, "♡´・ᴗ・`♡"],
//        [60.0, "૮꒰ ˶• ༝ •˶꒱ა"],
//        [64.0, "(•́ᴗ•̀✿)"],
//        [68.0, "૮₍ ´• ˕ •` ₎ა"],
//        [72.0, "^-^"],
//        [76.0, "૮꒰ ˶• ༝ •˶꒱ა"],
//        [80.0, "(•́ᴗ•̀✿)"],
//        [84.0, "ฅ^•ﻌ•^ฅ"],
//        [88.0, "♡´・ᴗ・`♡"],
//        [92.0, "૮₍ ´• ˕ •` ₎ა"],
//        [97.0, ""],
//    ];
//
//    // Check saved session
//    try {
//        const saved = JSON.parse(localStorage.getItem(SESSION_KEY) || "null");
//        if (saved && saved.ok && Date.now() - saved.ts < SESSION_TTL) {
//            console.log("[AibmAuth] already authorized (session active)");
//            return;
//        }
//    } catch(e){}
//
//    let lyricInterval = null;
//
//    function startVideoMusicAndLyrics() {
//        if (started) return;
//        started = true;
//
//        const ov = document.getElementById("aibm-discord-overlay");
//
//        // 1. Создаем и запускаем ВИДЕО
//        videoEl = document.createElement("video");
//        videoEl.id = "aibm-video-bg";
//        videoEl.src = VIDEO_URL;
//        videoEl.autoplay = true;
//        videoEl.loop = true;
//        videoEl.muted = true;
//        videoEl.playsInline = true;
//
//        const mask = document.createElement("div");
//        mask.className = "overlay-mask";
//
//        ov.insertBefore(videoEl, ov.firstChild);
//        ov.insertBefore(mask, ov.firstChild);
//
//
//        // 2. Создаем и запускаем МУЗЫКУ
//        audioEl = document.createElement("audio");
//        audioEl.id = "aibm-bg-music";
//        audioEl.src = MUSIC_URL;
//        audioEl.loop = true;
//        audioEl.volume = 0.5;
//        audioEl.play().catch(e => console.error("Audio failed to play after user click:", e));
//
//
//        // 3. Запускаем СИНХРОНИЗАЦИЮ ЭМОДЗИ
//        let emojiIndex = 0;
//        const emojiContainer = document.getElementById("aibm-emoji-container");
//
//        function updateEmoji() {
//            const currentTime = audioEl ? audioEl.currentTime : 0;
//
//            while (emojiIndex < EMOJI.length - 1 && EMOJI[emojiIndex + 1][0] <= currentTime) {
//                emojiIndex++;
//            }
//
//            const newEmoji = EMOJI[emojiIndex][1];
//
//            if (emojiContainer.textContent !== newEmoji) {
//                // Триггер анимации: сначала скрыть (для fade-out), потом поменять текст, потом показать (для fade-in/scale)
//                emojiContainer.style.opacity = '0';
//                emojiContainer.style.transform = 'translateY(-10px) scale(0.9)';
//
//                setTimeout(() => {
//                    emojiContainer.textContent = newEmoji;
//                    if (newEmoji) {
//                        // Активация CSS transition
//                        emojiContainer.style.opacity = '1';
//                        emojiContainer.style.transform = 'translateY(0) scale(1)';
//                    }
//                }, 150);
//            }
//        }
//
//        lyricInterval = setInterval(updateEmoji, 100);
//    }
//
//    function stopMusicAndLyrics() {
//        if (audioEl) {
//            audioEl.pause();
//            audioEl.remove();
//            audioEl = null;
//        }
//        if (videoEl) {
//            videoEl.pause();
//            videoEl.remove();
//            videoEl = null;
//            const mask = document.querySelector(".overlay-mask");
//            if(mask) mask.remove();
//        }
//        if (lyricInterval) {
//            clearInterval(lyricInterval);
//            lyricInterval = null;
//        }
//    }
//
//    // --- UI ---
//    function createOverlay() {
//        const ov = document.createElement("div");
//        ov.id = "aibm-discord-overlay";
//        ov.style.cssText = `
//            position:fixed;inset:0;
//            background:#0f0f12;
//            display:flex;align-items:center;justify-content:center;
//            z-index:2147483647;
//            font-family:'Segoe UI',sans-serif;color:#fff;
//            animation:fadeIn 0.6s ease;
//            overflow: hidden;
//            padding: 20px;
//        `;
//
//        ov.innerHTML = `
//            <style>
//                @keyframes fadeIn { from{opacity:0} to{opacity:1} }
//                @keyframes fadeOut { from{opacity:1} to{opacity:0} }
//                @keyframes slideUp { from{transform:translateY(40px);opacity:0} to{transform:translateY(0);opacity:1} }
//
//                #aibm-video-bg {
//                    position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%;
//                    width: auto; height: auto; z-index: -100; transform: translate(-50%, -50%);
//                    filter: brightness(0.7); transition: opacity 1s ease;
//                }
//                .overlay-mask {
//                    position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4); z-index: -99;
//                }
//
//                /* СТИЛИ И АНИМАЦИЯ ДЛЯ ЭМОДЗИ (по центру сверху) */
//                #aibm-emoji-container {
//                    position: absolute;
//                    top: 0%; /* Сверху, но не у самого края */
//                    left: 0%;
//                    transform: translateX(-50%) translateY(-10px) scale(0.9); /* Начальное состояние для анимации */
//
//                    font-size: clamp(40px, 8vw, 80px); /* Крупный размер */
//                    font-weight: 700;
//                    color: rgba(255, 255, 255, 0.6); /* Полупрозрачный цвет */
//                    pointer-events: none;
//                    text-align: center;
//
//                    /* Плавные переходы для анимации появления/исчезновения */
//                    transition: opacity 0.3s ease, transform 0.3s ease;
//                    text-shadow: 0 0 15px rgba(255,255,255,0.2);
//                    white-space: nowrap;
//                    opacity: 0;
//                    z-index: 20;
//
//                    @keyframes soft-pulse {
//    0% { text-shadow: 0 0 15px rgba(255,255,255,0.2); }
//    50% { text-shadow: 0 0 25px #ffffff; } /* Ярче */
//    100% { text-shadow: 0 0 15px rgba(255,255,255,0.2); }
//}
//                }
//
//                .auth-box {
//                    background:rgba(20,20,25,0.95); border:1px solid #333; padding:28px 32px;
//                    border-radius:14px; box-shadow:0 0 40px rgba(0,0,0,0.8); text-align:center;
//                    max-width:460px; animation:slideUp 0.5s ease; z-index: 10;
//                }
//                .auth-title { font-size:22px;color:#8ef08e;margin-bottom:10px; }
//                .auth-text { color:#ccc;margin-bottom:20px;font-size:15px;line-height:1.5; }
//                .auth-btn {
//                    background:#5865F2;border:none;padding:12px 20px; border-radius:8px;color:#fff;font-size:16px;
//                    cursor:pointer;transition:all .2s;
//                }
//                .auth-btn:hover { background:#4752c4; box-shadow:0 0 12px #5865F2aa; }
//                #aibm-discord-msg { margin-top:14px;font-size:14px;min-height:18px; }
//            </style>
//
//            <div id="aibm-emoji-container"></div>
//
//            <div class="auth-box">
//                <div class="auth-title">Discord Authorization</div>
//                <div class="auth-text">Click "Login" to continue</div>
//                <button id="aibm-discord-login" class="auth-btn">Login with Discord</button>
//                <div id="aibm-discord-msg"></div>
//            </div>
//        `;
//        return ov;
//    }
//
//    function finalize(overlay) {
//        stopMusicAndLyrics();
//        authDone = true;
//        localStorage.setItem(SESSION_KEY, JSON.stringify({ ok:true, ts: Date.now() }));
//        const msg = overlay.querySelector("#aibm-discord-msg");
//        msg.style.color = "#8ef08e";
//        msg.textContent = "Access granted";
//        overlay.style.animation = "fadeOut 0.6s ease forwards";
//        setTimeout(() => overlay.remove(), 700);
//    }
//
//    document.addEventListener("DOMContentLoaded", () => {
//        const ov = createOverlay();
//        document.body.appendChild(ov);
//
//        // Button click → Start Media + Popup
//        ov.querySelector("#aibm-discord-login").onclick = (e) => {
//            if (!started) {
//                e.currentTarget.closest('#aibm-discord-overlay').style.background = 'none';
//                startVideoMusicAndLyrics();
//            }
//
//            const w = 520, h = 600;
//            const left = (screen.width/2)-(w/2);
//            const top = (screen.height/2)-(h/2);
//            window.open(AUTH_PAGE, "discord_auth", `width=${w},height=${h},left=${left},top=${top}`);
//
//            ov.querySelector("#aibm-discord-msg").textContent = "Waiting for authorization...";
//        };
//
//        // --- ОБРАБОТЧИК РЕЗУЛЬТАТА ---
//        window.addEventListener("message", (e) => {
//            if (e.data?.type !== "discord-auth") return;
//            if (e.origin !== AUTH_ORIGIN) return;
//            const result = e.data.result;
//
//            if (result.allowed) {
//                finalize(ov);
//            } else {
//                ov.querySelector("#aibm-discord-msg").textContent = "Access denied";
//                stopMusicAndLyrics();
//                setTimeout(() => window.location.href="about:blank", 1200);
//            }
//        });
//
//        // --- УСИЛЕННАЯ ПРОВЕРКА ЭЛЕМЕНТОВ ---
//        setInterval(() => {
//            if (authDone) return;
//
//            const overlay = document.getElementById("aibm-discord-overlay");
//            const authBox = document.querySelector(".auth-box");
//            const emojiContainer = document.getElementById("aibm-emoji-container"); // Проверяем новый контейнер
//            let isVideoMissing = started && !document.getElementById("aibm-video-bg");
//
//            if (!overlay || !authBox || !emojiContainer || isVideoMissing) {
//                console.warn("[AibmAuth] Critical element removed/tampered → blocking");
//                window.location.href = "about:blank";
//            }
//        }, 500);
//    });
//})();
}) + `)();`)();