{"id":3212,"date":"2025-07-29T17:38:39","date_gmt":"2025-07-29T15:38:39","guid":{"rendered":"https:\/\/filmsafari.de\/?page_id=3212"},"modified":"2025-08-04T18:46:39","modified_gmt":"2025-08-04T16:46:39","slug":"lineup","status":"publish","type":"page","link":"https:\/\/filmsafari.de\/?page_id=3212","title":{"rendered":"Lineup"},"content":{"rendered":"    <div class=\"fm-lineup-wrapper\">\n        <div class=\"fm-selection-panel\">\n            <div id=\"fm-fixture-browser\" class=\"fm-fixture-browser\"><\/div>\n        <\/div>\n\n        <div id=\"fm-lineup-builder\" class=\"fm-lineup-builder\" hidden>\n            <div id=\"fm-position-summary\" class=\"fm-position-summary\" aria-live=\"polite\"><\/div>\n            <div class=\"fm-selection-row\">\n                <button id=\"fm-update-fixtures\" class=\"fm-update-button\">Spiele aktualisieren<\/button>\n            <\/div>\n            <div class=\"fm-lineup-inner\">\n                <div class=\"fm-pitch-panel\">\n                    <div class=\"fm-control-group fm-control-group--formation-rail\">\n                        <label for=\"fm-formation\">Formation<\/label>\n                        <select id=\"fm-formation\">\n                            <option value=\"3-3-3\">3-3-3<\/option>\n                            <option value=\"4-3-2\">4-3-2<\/option>\n                            <option value=\"3-4-2\">3-4-2<\/option>\n                        <\/select>\n                    <\/div>\n                    <div class=\"fm-formation-role-row\">\n                        <div class=\"fm-control-group fm-control-group--layout-option\">\n                            <label for=\"fm-layout-line\">Linie<\/label>\n                            <select id=\"fm-layout-line\">\n                                <option value=\"defense\">Verteidigung<\/option>\n                                <option value=\"midfield\">Mittelfeld<\/option>\n                                <option value=\"attack\">Angriff<\/option>\n                            <\/select>\n                        <\/div>\n                        <div class=\"fm-control-group fm-control-group--layout-option\">\n                            <label for=\"fm-layout-choice\">Layout<\/label>\n                            <select id=\"fm-layout-choice\"><\/select>\n                        <\/div>\n                    <\/div>\n                    <div class=\"fm-stadium\">\n                        <div class=\"fm-seats\"><\/div>\n                        <div id=\"fm-field\" class=\"fm-field\">\n                            <div class=\"penalty-area top\"><\/div>\n                            <div class=\"penalty-area bottom\"><\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"fm-save-buttons\">\n                        <button id=\"fm-save-lineup\" class=\"fm-save-button\">Speichern<\/button>\n                        <button id=\"fm-save-formation\" class=\"fm-save-button fm-save-button--secondary\">Formation speichern<\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n    <style>\n    .fm-lineup-wrapper {\n        max-width: 760px;\n        margin: auto;\n        padding: clamp(14px, 2vw, 24px);\n        background: radial-gradient(circle at top right, #3a5a40 0%, #2c4632 38%, #1f2f24 100%);\n        color: #e7ecf4;\n        border-radius: 20px;\n        text-align: center;\n        box-shadow: 0 24px 48px rgba(0,0,0,0.35);\n        font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n    }\n\n    .fm-selection-panel {\n        display: flex;\n        flex-direction: column;\n        align-items: stretch;\n        gap: 14px;\n        background: linear-gradient(160deg, rgba(255,255,255,0.18), rgba(255,255,255,0.08));\n        padding: 16px;\n        border-radius: 16px;\n        margin-bottom: 18px;\n        border: 1px solid rgba(255, 255, 255, 0.14);\n        box-shadow: 0 14px 26px rgba(15, 23, 42, 0.24);\n        backdrop-filter: blur(6px);\n    }\n\n    .fm-panel-title {\n        margin: 0;\n        font-size: 1.2rem;\n        font-weight: 600;\n        text-align: left;\n    }\n\n    .fm-selection-row {\n        display: flex;\n        flex-direction: column;\n        align-items: stretch;\n        gap: 12px;\n    }\n\n    .fm-control-group {\n        display: flex;\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 6px;\n        min-width: 0;\n        flex: 1 1 100%;\n        background: rgba(15, 23, 42, 0.3);\n        padding: 11px 12px;\n        border-radius: 12px;\n        border: 1px solid rgba(255,255,255,0.11);\n    }\n\n    .fm-control-group label {\n        margin: 0;\n        font-weight: 600;\n        font-size: 0.8rem;\n        letter-spacing: 0.05em;\n        text-transform: uppercase;\n        opacity: 0.86;\n    }\n\n    .fm-fixture-browser {\n        display: flex;\n        flex-direction: column;\n        gap: 10px;\n    }\n\n    .fm-league-section {\n        display: flex;\n        flex-direction: column;\n        gap: 8px;\n        margin-bottom: 12px;\n    }\n\n    .fm-league-section:last-child {\n        margin-bottom: 0;\n    }\n\n    .fm-league-section-header {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        gap: 8px;\n        text-align: left;\n        border-radius: 12px;\n        border: 1px solid rgba(186, 230, 253, 0.35);\n        background: linear-gradient(135deg, rgba(30, 58, 138, 0.45), rgba(15, 23, 42, 0.8));\n        padding: 10px 12px;\n        box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 8px 16px rgba(0,0,0,0.28);\n    }\n\n    .fm-league-section-spieltag {\n        font-size: 0.82rem;\n        font-weight: 800;\n        color: rgba(219, 234, 254, 1);\n        letter-spacing: 0.03em;\n        text-shadow: 0 1px 2px rgba(0,0,0,0.35);\n    }\n\n    .fm-empty-fixtures {\n        text-align: left;\n        background: rgba(15, 23, 42, 0.34);\n        border-radius: 10px;\n        padding: 10px 12px;\n        border: 1px solid rgba(255,255,255,0.1);\n    }\n\n    .fm-fixture-card {\n        border: 1px solid rgba(255,255,255,0.16);\n        border-radius: 14px;\n        background: linear-gradient(180deg, rgba(12, 18, 30, 0.7), rgba(12, 18, 30, 0.45));\n        box-shadow: 0 10px 20px rgba(8, 12, 20, 0.35);\n        padding: 8px 10px;\n    }\n\n    .fm-fixture-row {\n        display: grid;\n        grid-template-columns: 1fr auto 1fr;\n        align-items: center;\n        gap: 8px;\n    }\n\n    .fm-fixture-vs {\n        font-size: 0.7rem;\n        font-weight: 800;\n        letter-spacing: 0.08em;\n        color: rgba(191, 219, 254, 0.92);\n    }\n\n    .fm-team-pick {\n        width: 100%;\n        border: 1px solid rgba(255,255,255,0.18);\n        background: rgba(255,255,255,0.06);\n        color: #fff;\n        border-radius: 10px;\n        padding: 7px 8px;\n        text-align: left;\n        font-weight: 600;\n        cursor: pointer;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        gap: 6px;\n        min-width: 0;\n    }\n\n    .fm-team-pick-main {\n        display: flex;\n        align-items: center;\n        gap: 7px;\n        min-width: 0;\n    }\n\n    .fm-team-pick-logo {\n        width: 22px;\n        height: 22px;\n        object-fit: contain;\n        border-radius: 50%;\n        background: rgba(255,255,255,0.9);\n        padding: 2px;\n        flex-shrink: 0;\n    }\n\n    .fm-team-pick-name {\n        white-space: nowrap;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        font-size: 0.95rem;\n        font-weight: 700;\n        color: rgba(240, 249, 255, 0.98);\n        text-shadow: 0 1px 2px rgba(0,0,0,0.35);\n    }\n\n    .fm-league-section-header .fm-team-pick-name {\n        font-size: 1.08rem;\n        font-weight: 800;\n        letter-spacing: 0.01em;\n    }\n\n    .fm-team-pick-action {\n        font-size: 0.66rem;\n        text-transform: uppercase;\n        letter-spacing: 0.06em;\n        color: rgba(191, 219, 254, 0.95);\n        flex-shrink: 0;\n    }\n\n    .fm-team-pick.active,\n    .fm-team-pick:hover {\n        background: rgba(59,130,246,0.32);\n        border-color: rgba(191,219,254,0.95);\n    }\n\n    .fm-lineup-builder {\n        margin-top: 14px;\n    }\n\n    .fm-position-summary {\n        display: grid;\n        grid-template-columns: repeat(4, minmax(72px, 1fr));\n        gap: 8px;\n        margin-bottom: 10px;\n    }\n\n    .fm-position-summary-item {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 5px;\n        border-radius: 8px;\n        padding: 6px 6px;\n        font-weight: 700;\n        color: #0f172a;\n        border: 1px solid rgba(255,255,255,0.45);\n        box-shadow: 0 6px 12px rgba(0,0,0,0.16);\n        font-size: 0.8rem;\n    }\n\n    .fm-position-summary-item .count {\n        background: rgba(255,255,255,0.6);\n        border-radius: 999px;\n        padding: 1px 7px;\n        min-width: 24px;\n        text-align: center;\n    }\n\n    .fm-position-summary-missing-league {\n        color: #dc2626;\n        font-weight: 800;\n    }\n\n    .fm-tactic-card {\n        background: rgba(15, 23, 42, 0.34);\n        border: 1px solid rgba(255,255,255,0.12);\n        border-radius: 12px;\n        padding: 10px;\n    }\n\n\n    .fm-compact-grid {\n        display: grid;\n        grid-template-columns: repeat(2, minmax(130px, 1fr));\n        gap: 8px;\n    }\n\n    .fm-control-group--compact {\n        min-width: 0;\n        flex: none;\n        padding: 8px 10px;\n        gap: 4px;\n    }\n\n    .fm-select-wrapper {\n        display: flex;\n        align-items: center;\n        gap: 8px;\n    }\n\n    .fm-selection-panel select {\n        margin: 0;\n        padding: 7px 9px;\n        border-radius: 10px;\n        border: 1px solid #d6deea;\n        width: 100%;\n        font-size: 0.9rem;\n    }\n\n    .fm-save-button,\n    .fm-update-button {\n        padding: 10px 18px;\n        border: none;\n        border-radius: 999px;\n        color: #fff;\n        font-weight: 600;\n        cursor: pointer;\n        transition: transform 0.2s ease, box-shadow 0.2s ease;\n        box-shadow: 0 12px 18px rgba(0,0,0,0.24);\n    }\n\n    .fm-save-button {\n        background: linear-gradient(135deg, #2bb673, #1f9a62);\n    }\n\n    .fm-save-button:hover {\n        background: #45a049;\n    }\n    .fm-save-button--secondary {\n        background: linear-gradient(135deg, #2563eb, #1d4ed8);\n    }\n    .fm-save-buttons {\n        display: flex;\n        justify-content: center;\n        gap: 10px;\n        flex-wrap: wrap;\n    }\n\n    .fm-update-button {\n        background: linear-gradient(135deg, #ffffff, #eef5ff);\n        color: #2563eb;\n        border: 1px solid rgba(191, 219, 254, 0.95);\n    }\n\n    .fm-update-button.is-loaded {\n        background: linear-gradient(135deg, #3b82f6, #2563eb);\n        color: #fff;\n        border-color: transparent;\n    }\n\n    .fm-save-button:hover,\n    .fm-update-button:hover {\n        transform: translateY(-1px);\n        box-shadow: 0 16px 28px rgba(0,0,0,0.32);\n    }\n\n    .fm-update-button:hover {\n        background: #dbeafe;\n        color: #1d4ed8;\n    }\n\n    .fm-update-button.is-loaded:hover {\n        background: #1e88e5;\n        color: #fff;\n    }\n\n    .fm-lineup-inner {\n        display: flex;\n        flex-direction: column;\n        gap: 16px;\n        align-items: stretch;\n        justify-content: flex-start;\n        margin-top: 16px;\n    }\n\n    .fm-pitch-panel {\n        display: flex;\n        flex-direction: column;\n        gap: 10px;\n        flex: 0 1 36%;\n    }\n\n    .fm-pitch-panel .fm-save-button {\n        align-self: center;\n    }\n\n    .fm-control-group--formation-rail {\n        min-width: 0;\n        padding: 8px 12px;\n        background: linear-gradient(160deg, rgba(6, 20, 36, 0.85), rgba(18, 54, 86, 0.75));\n        border: 1px solid rgba(114, 200, 255, 0.35);\n        box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 8px 16px rgba(0,0,0,0.3);\n    }\n\n    .fm-control-group--formation-rail select {\n        width: 100%;\n        margin-top: 4px;\n        border-radius: 999px;\n        border: 1px solid rgba(120, 194, 255, 0.6);\n        background: linear-gradient(180deg, #ecf7ff, #d3eefe);\n        font-weight: 700;\n        letter-spacing: 0.04em;\n    }\n\n    .fm-formation-role-row {\n        display: grid;\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 8px;\n        width: min(100%, 430px);\n        margin: 0 auto;\n    }\n\n    .fm-formation-role-row .fm-control-group {\n        height: 100%;\n    }\n\n    .fm-stadium {\n        --team-primary: #333;\n        --team-secondary: #1a642b;\n        --team-tertiary: #e8e8e8;\n        width: min(100%, 430px);\n        margin: 0 auto;\n        padding: 14px;\n        border: 6px solid var(--team-tertiary);\n        background: linear-gradient(var(--team-secondary), var(--team-tertiary));\n        border-radius: 16px;\n        box-shadow: 0 0 30px rgba(0,0,0,0.6) inset, 0 8px 16px rgba(0,0,0,0.3);\n        display: flex;\n        justify-content: center;\n        position: relative;\n    }\n\n    .fm-seats {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        padding: 12px;\n        box-sizing: border-box;\n        border-radius: inherit;\n        background: repeating-linear-gradient(\n            45deg,\n            var(--team-primary) 0,\n            var(--team-primary) 8px,\n            var(--team-secondary) 8px,\n            var(--team-secondary) 16px\n        );\n        z-index: 0;\n    }\n    .fm-field {\n        position: relative;\n        z-index: 1;\n        width: 100%;\n        aspect-ratio: 3 \/ 5;\n        min-height: 420px;\n        background: repeating-linear-gradient(0deg,#0b6b29 0%, #0b6b29 20px, #0d7f32 20px, #0d7f32 40px);\n        border: 4px solid var(--team-tertiary);\n        border-radius: 10px;\n        box-shadow: 0 0 10px rgba(0,0,0,0.5) inset;\n    }\n\n    .fm-field:before {\n        content: \"\";\n        position: absolute;\n        top: 50%;\n        left: 0;\n        right: 0;\n        height: 2px;\n        background: var(--team-tertiary);\n        transform: translateY(-50%);\n        z-index: 0;\n    }\n\n    .fm-field:after {\n        content: \"\";\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        width: 90px;\n        height: 90px;\n        margin-left: -45px;\n        margin-top: -45px;\n        border: 3px solid var(--team-tertiary);\n        border-radius: 50%;\n        z-index: 0;\n    }\n\n    .fm-field .penalty-area {\n        position: absolute;\n        left: 50%;\n        width: 60%;\n        height: 18%;\n        transform: translateX(-50%);\n        border: 3px solid var(--team-tertiary);\n        box-sizing: border-box;\n        pointer-events: none;\n        z-index: 0;\n    }\n\n    .fm-field .penalty-area.bottom { bottom: 0; }\n    .fm-field .penalty-area.top { top: 0; }\n\n    .fm-row {\n        display: flex;\n        justify-content: space-evenly;\n        position: absolute;\n        left: 0;\n        right: 0;\n        width: 100%;\n        top: var(--row-top, 50%);\n        transform: translateY(-50%);\n    }\n\n    .fm-control-group--layout-option {\n        min-width: 0;\n        padding: 9px 10px;\n        border-radius: 10px;\n        background: linear-gradient(180deg, rgba(11, 37, 60, 0.95), rgba(3, 20, 36, 0.9));\n        border: 1px solid rgba(96, 178, 235, 0.38);\n        box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);\n    }\n\n    .fm-control-group--layout-option label {\n        font-size: 0.72rem;\n        opacity: 0.92;\n        color: #c8ecff;\n        text-transform: uppercase;\n        letter-spacing: 0.06em;\n    }\n\n    .fm-control-group--layout-option select {\n        width: 100%;\n        margin-top: 3px;\n        border-radius: 8px;\n        border: 1px solid rgba(122, 197, 248, 0.6);\n        background: linear-gradient(180deg, #eaf6ff, #d8ecfb);\n        font-size: 0.85rem;\n        font-weight: 700;\n        color: #0f2945;\n        border-radius: 999px;\n    }\n\n    .fm-slot {\n        position: relative;\n        z-index: 1;\n        width: 70px;\n        height: 70px;\n        border: 2px dashed #e0e0e0;\n        background: rgba(255,255,255,0.15);\n        border-radius: 8px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        color: #fff;\n        flex-direction: column;\n        font-size: 0.8rem;\n        text-align: center;\n        transition: background 0.2s, border-color 0.2s;\n        cursor: pointer;\n    }\n\n    .fm-slot.has-player {\n        border-color: transparent;\n        background: transparent;\n    }\n\n    .slot-num {\n        position: absolute;\n        top: 2px;\n        left: 2px;\n        font-size: 0.7rem;\n        background: rgba(0,0,0,0.5);\n        padding: 2px 4px;\n        border-radius: 3px;\n    }\n\n    .slot-player-photo {\n        width: 44px;\n        height: 44px;\n        border-radius: 50%;\n        object-fit: cover;\n        margin-bottom: 2px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.4);\n    }\n\n    .slot-player span {\n        display: block;\n        line-height: 1.2;\n        font-size: 0.9rem;\n    }\n\n    .slot-role-placeholder {\n        font-size: 0.82rem;\n        font-weight: 700;\n        letter-spacing: 0.06em;\n        text-transform: uppercase;\n        color: rgba(255, 255, 255, 0.92);\n    }\n\n    #fm-squad {\n        background: linear-gradient(180deg, #ffffff, #f8fbff);\n        color: #1a1a1a;\n        border-radius: 16px;\n        padding: 14px;\n        width: 100%;\n        box-shadow: 0 14px 26px rgba(15,23,42,0.24);\n    }\n\n    .player-photo {\n        width: 32px;\n        height: 32px;\n        border-radius: 50%;\n        object-fit: cover;\n    }\n\n    .team-logo {\n        width: 28px;\n        height: 28px;\n        object-fit: contain;\n    }\n\n    .squad-table {\n        width: 100%;\n        border-collapse: collapse;\n    }\n\n    .squad-table th,\n    .squad-table td {\n        padding: 10px 10px;\n        border-bottom: 1px solid #e2e8f0;\n        text-align: left;\n        font-size: 0.95rem;\n    }\n\n    .squad-table th.nat-col,\n    .squad-table td.nat-col {\n        width: 40px;\n        text-align: center;\n    }\n\n    .squad-table th.name-col,\n    .squad-table td.name-col {\n        width: 200px;\n    }\n\n    .squad-table th.photo-col,\n    .squad-table td.photo-col {\n        width: 50px;\n        text-align: center;\n    }\n\n    .squad-table th.next-col,\n    .squad-table td.next-col {\n        width: 110px;\n        text-align: left;\n    }\n\n    .squad-table th.pos-col,\n    .squad-table td.pos-col {\n        width: 110px;\n        text-align: center;\n    }\n\n    .squad-table th.slot-col,\n    .squad-table td.slot-col {\n        width: 45px;\n        text-align: center;\n    }\n\n    .squad-table td.name-col a {\n        font-size: 0.85rem;\n    }\n\n    .next-teams {\n        display: flex;\n        gap: 4px;\n        justify-content: flex-start;\n    }\n\n    .player-score {\n        font-weight: bold;\n        text-align: center;\n        width: 32px;\n        line-height: 32px;\n    }\n\n    .next-team {\n        position: relative;\n        display: inline-block;\n    }\n\n    .next-team-logo {\n        width: 32px;\n        height: 32px;\n        background: #ccc;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        position: relative;\n    }\n\n    .next-team-logo img {\n        width: 28px;\n        height: 28px;\n        object-fit: contain;\n        border: none;\n    }\n\n    .next-team-logo.red-border {\n        border: 2px solid red;\n    }\n\n    .next-team-logo.missing-league::after {\n        content: '';\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background: rgba(255, 0, 0, 0.5);\n    }\n\n    .next-team.has-match .next-team-logo {\n        background: #fff;\n    }\n\n    .next-team.no-match .next-team-logo {\n        background: #ccc;\n        border: 2px solid #ccc;\n    }\n\n    .next-team.no-match .next-team-logo img {\n        filter: grayscale(100%) brightness(75%);\n    }\n\n    .next-team-logo.priority img {\n        filter: grayscale(100%) brightness(75%);\n    }\n\n    .next-team.no-match::after {\n        content: '\u2715';\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        color: #666;\n        font-weight: bold;\n    }\n\n    .next-tooltip {\n        display: none;\n        position: absolute;\n        top: 36px;\n        left: 50%;\n        transform: translateX(-50%);\n        background: #fff;\n        color: #1a202c;\n        padding: 6px;\n        border: 1px solid #ccc;\n        border-radius: 4px;\n        z-index: 10;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.2);\n        min-width: 280px;\n        white-space: normal;\n    }\n\n    .next-team:hover .next-tooltip {\n        display: block;\n    }\n\n    .next-tooltip img {\n        width: 23px;\n        height: 23px;\n        object-fit: contain;\n        margin: 0 2px;\n        vertical-align: middle;\n    }\n\n    .next-tooltip .league-name {\n        font-weight: bold;\n        text-align: center;\n        margin-bottom: 4px;\n    }\n\n    .next-tooltip .league-name--missing {\n        color: #b91c1c;\n        font-weight: 800;\n    }\n\n    .next-tooltip .next-match {\n        display: flex;\n        align-items: center;\n        gap: 4px;\n        justify-content: center;\n        margin-bottom: 4px;\n        flex-wrap: wrap;\n    }\n\n    .next-tooltip .next-match span {\n        margin: 0 2px;\n    }\n\n    .next-tooltip .next-date {\n        text-align: center;\n        font-size: 0.8rem;\n    }\n\n    .pos-tag {\n        display: inline-block;\n        padding: 3px 6px;\n        border-radius: 4px;\n        background: #e2e8f0;\n        color: #1a202c;\n        font-size: 0.75rem;\n    }\n\n    .country-flag {\n        width: 20px;\n        height: 15px;\n        object-fit: contain;\n        margin-left: 0;\n        vertical-align: middle;\n    }\n\n    select {\n        margin-left: 0;\n        margin-top: 6px;\n        padding: 6px 8px;\n        border-radius: 6px;\n        border: 1px solid #d1d5db;\n        background: #fff;\n        color: #0f172a;\n    }\n\n    .slot-select {\n        width: 100%;\n        min-width: 40px;\n        padding: 6px 8px;\n        border-radius: 8px;\n        border: 1px solid #cbd5f5;\n        background: #f9fbff;\n        transition: border-color 0.2s ease, box-shadow 0.2s ease;\n    }\n\n    .slot-select:focus {\n        border-color: #60a5fa;\n        box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.35);\n        outline: none;\n    }\n\n    .slot-select.assigned {\n        background: #e3f2fd;\n        border-color: #64b5f6;\n    }\n\n    .next-team {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 4px;\n    }\n\n    .next-team-caption {\n        font-size: 0.72rem;\n        line-height: 1.2;\n        text-align: center;\n        color: #0f172a;\n        word-break: break-word;\n        max-width: 120px;\n    }\n\n    @media (max-width: 1024px) {\n        .fm-lineup-wrapper {\n            max-width: 100%;\n            padding: 18px 14px;\n            border-radius: 18px;\n        }\n\n        .fm-selection-panel {\n            padding: 14px;\n            gap: 14px;\n        }\n\n        .fm-selection-row {\n            flex-direction: column;\n            align-items: stretch;\n            gap: 12px;\n        }\n\n        .fm-control-group--spieltag {\n            flex: 1 1 100%;\n        }\n\n\n        .fm-control-group {\n            width: 100%;\n            min-width: 0;\n            background: rgba(0, 0, 0, 0.18);\n            padding: 12px 14px;\n            border-radius: 12px;\n            box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);\n            flex: 1 1 100%;\n        }\n\n        .fm-control-group label {\n            font-size: 0.95rem;\n            letter-spacing: 0.02em;\n            opacity: 0.95;\n        }\n\n        .fm-selection-panel select {\n            width: 100%;\n            font-size: 1rem;\n            padding: 10px 12px;\n            border-radius: 10px;\n        }\n\n        .fm-select-wrapper {\n            width: 100%;\n            justify-content: space-between;\n        }\n\n        .fm-selection-row:last-child button {\n            width: 100%;\n            padding: 12px;\n            font-size: 1rem;\n            border-radius: 999px;\n            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.24);\n        }\n\n        .fm-lineup-inner {\n            flex-direction: column;\n            align-items: stretch;\n            gap: 18px;\n            margin-top: 18px;\n        }\n\n        .fm-pitch-panel,\n        .fm-layout-panel {\n            width: 100%;\n            max-width: none;\n            flex: 1 1 100%;\n        }\n\n        .fm-stadium { width: 100%; max-width: none; padding: 16px; }\n\n        #fm-squad {\n            width: 100%;\n            padding: 18px 16px;\n        }\n    }\n\n    @media (max-width: 720px) {\n        .fm-lineup-wrapper {\n            padding: 16px 10px;\n            border-radius: 0;\n        }\n\n\n        .fm-selection-panel {\n            padding: 12px;\n            background: rgba(255, 255, 255, 0.05);\n            box-shadow: 0 12px 24px rgba(15, 23, 42, 0.35);\n        }\n\n        .fm-control-group {\n            padding: 10px 12px;\n            background: rgba(15, 23, 42, 0.35);\n            border: 1px solid rgba(255, 255, 255, 0.08);\n        }\n\n        .fm-selection-panel label {\n            font-size: 0.9rem;\n            text-transform: uppercase;\n            letter-spacing: 0.06em;\n        }\n\n        .fm-selection-panel select {\n            font-size: 0.95rem;\n        }\n\n        .fm-select-wrapper {\n            flex-wrap: wrap;\n            gap: 10px;\n        }\n\n        .fm-fixture-row {\n            gap: 6px;\n        }\n\n        .fm-team-pick {\n            padding: 6px 7px;\n        }\n\n        .fm-team-pick-action {\n            display: none;\n        }\n        .fm-stadium {\n            display: block;\n            padding: 10px;\n        }\n\n        .fm-field {\n            min-height: 380px;\n        }\n\n        .fm-selection-row:last-child {\n            gap: 10px;\n        }\n\n        .fm-pitch-panel .fm-save-button {\n            width: 100%;\n        }\n\n\n        .fm-selection-row:last-child button {\n            letter-spacing: 0.04em;\n            text-transform: uppercase;\n        }\n\n        .slot-select {\n            width: 100%;\n            padding: 10px;\n            border-radius: 12px;\n            border: 1px solid #cbd5f5;\n            background: #f8fafc;\n            font-size: 0.95rem;\n        }\n\n        .next-teams {\n            gap: 8px;\n            flex-wrap: wrap;\n        }\n\n        .player-photo {\n            width: 40px;\n            height: 40px;\n        }\n\n        .player-score {\n            position: absolute;\n            top: 10px;\n            right: 12px;\n            min-width: 40px;\n            padding: 6px 10px;\n            border-radius: 999px;\n            background: linear-gradient(135deg, #1e293b, #0ea5e9);\n            color: #fff;\n            font-weight: 700;\n            line-height: 1;\n            text-align: center;\n            box-shadow: 0 10px 20px rgba(15, 23, 42, 0.3);\n        }\n\n        .next-team-logo {\n            border-radius: 10px;\n        }\n    }\n\n    .squad-table {\n        display: block;\n    }\n\n    .squad-table thead {\n        display: none;\n    }\n\n    .squad-table tbody {\n        display: flex;\n        flex-direction: column;\n        gap: 14px;\n    }\n\n    .squad-table tr {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 8px 10px;\n        padding: 12px;\n        border-radius: 16px;\n        box-shadow: 0 14px 28px rgba(15, 23, 42, 0.28);\n        position: relative;\n    }\n\n    .squad-table td {\n        border: 0;\n        padding: 0;\n        font-size: 0.95rem;\n    }\n\n    .squad-table td.nat-col {\n        order: 1;\n        width: auto;\n        display: flex;\n        align-items: center;\n    }\n\n    .squad-table td.photo-col {\n        order: 2;\n        display: flex;\n        align-items: center;\n    }\n\n    .squad-table td.name-col {\n        order: 3;\n        width: auto;\n        flex: 1 1 auto;\n        font-size: 1.05rem;\n        font-weight: 600;\n        display: flex;\n        align-items: center;\n        min-width: 0;\n    }\n\n    .squad-table td.next-col,\n    .squad-table td.slot-col,\n    .squad-table td.role-cell {\n        width: 100%;\n    }\n\n    .squad-table td.next-col { order: 4; }\n    .squad-table td.pos-col { display: none; }\n    .squad-table td.slot-col { order: 5; }\n\n    .squad-table td.role-cell {\n        order: 6;\n        font-size: 0.9rem;\n        color: #0f172a;\n        opacity: 0.85;\n    }\n\n    .fm-slot.fv { transform: translateY(-12px); }\n    .fm-slot.dm { transform: translateY(12px); }\n    .fm-slot.om { transform: translateY(-12px); }\n    .fm-slot.hs { transform: translateY(12px); }\n    .fm-slot.st { transform: translateY(0); }\n\n    #fm-team-popup-overlay {\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background: rgba(0,0,0,0.6);\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        z-index: 1000;\n        padding: 12px;\n        box-sizing: border-box;\n    }\n\n    #fm-team-popup {\n        background: #fff;\n        color: #1a202c;\n        padding: 16px;\n        border-radius: 14px;\n        max-width: 720px;\n        width: 100%;\n        max-height: calc(100dvh - 24px);\n        overflow-y: auto;\n        overscroll-behavior: contain;\n        box-sizing: border-box;\n    }\n\n    #fm-team-popup ul {\n        list-style: none;\n        padding: 0;\n        margin: 12px 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n    }\n\n    #fm-team-popup li {\n        display: flex;\n        align-items: stretch;\n        flex-direction: column;\n        gap: 8px;\n        margin: 0;\n        padding: 12px;\n        border: 1px solid #dbe3ec;\n        border-radius: 12px;\n        background: #f8fafc;\n        box-sizing: border-box;\n    }\n\n    #fm-team-popup li > img {\n        width: 24px;\n        height: 24px;\n        object-fit: contain;\n    }\n\n    #fm-team-popup button {\n        margin-top: 10px;\n        padding: 10px 12px;\n        min-height: 44px;\n        cursor: pointer;\n    }\n\n    #fm-team-popup .team-relation-summary,\n    #fm-team-popup .team-relation-controls,\n    #fm-team-popup .main-team-search,\n    #fm-team-popup .team-membership-status { width: 100%; }\n    #fm-team-popup [hidden] { display: none !important; }\n    #fm-team-popup .team-relation-controls,\n    #fm-team-popup .main-team-search { display: flex; flex-direction: column; gap: 8px; }\n    #fm-team-popup .team-relation-summary { color: #166534; font-weight: 600; }\n    #fm-team-popup .team-membership-status { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }\n    #fm-team-popup .team-membership-status span,\n    #fm-team-popup .team-type-label { color: #334155; font-size: 0.85rem; }\n    #fm-team-popup select,\n    #fm-team-popup .main-team-search input {\n        width: 100%;\n        min-height: 44px;\n        padding: 9px 10px;\n        border: 1px solid #94a3b8;\n        border-radius: 8px;\n        box-sizing: border-box;\n        background: #fff;\n        color: #0f172a;\n        font-size: 16px;\n    }\n    #fm-team-popup .main-team-results { display: flex; flex-direction: column; gap: 6px; }\n    #fm-team-popup .main-team-results button {\n        display: flex;\n        align-items: center;\n        gap: 10px;\n        width: 100%;\n        margin: 0;\n        text-align: left;\n        background: #fff;\n        color: #111827;\n        border: 1px solid #cbd5e1;\n        border-radius: 8px;\n        white-space: normal;\n    }\n    #fm-team-popup .main-team-results button span { color: #111827; }\n    #fm-team-popup .main-team-results img { width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; }\n    #fm-team-popup .team-relation-error { color: #b91c1c; font-weight: 700; margin-top: 8px; }\n\n    @media (max-width: 600px) {\n        #fm-team-popup-overlay { padding: 0; align-items: stretch; }\n        #fm-team-popup {\n            max-width: none;\n            max-height: 100dvh;\n            min-height: 100dvh;\n            padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));\n            border-radius: 0;\n        }\n        #fm-team-popup h3 { margin: 4px 0 10px; }\n        #fm-team-popup li { padding: 12px 10px; }\n        #fm-team-popup > button { width: 100%; margin-top: 8px; }\n    }\n\n    #fm-team-popup .team-relation-summary,\n    #fm-team-popup .team-relation-controls,\n    #fm-team-popup .main-team-search,\n    #fm-team-popup .team-membership-status { width: 100%; }\n    #fm-team-popup [hidden] { display: none !important; }\n    #fm-team-popup .team-relation-controls,\n    #fm-team-popup .main-team-search { display: flex; flex-direction: column; gap: 8px; }\n    #fm-team-popup .team-relation-summary { color: #166534; font-weight: 600; }\n    #fm-team-popup .team-membership-status { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }\n    #fm-team-popup .team-membership-status span,\n    #fm-team-popup .team-type-label { color: #334155; font-size: 0.85rem; }\n    #fm-team-popup select,\n    #fm-team-popup .main-team-search input {\n        width: 100%;\n        min-height: 44px;\n        padding: 9px 10px;\n        border: 1px solid #94a3b8;\n        border-radius: 8px;\n        box-sizing: border-box;\n        background: #fff;\n        color: #0f172a;\n        font-size: 16px;\n    }\n    #fm-team-popup .main-team-results { display: flex; flex-direction: column; gap: 6px; }\n    #fm-team-popup .main-team-results button {\n        display: flex;\n        align-items: center;\n        gap: 10px;\n        width: 100%;\n        margin: 0;\n        text-align: left;\n        background: #fff;\n        color: #111827;\n        border: 1px solid #cbd5e1;\n        border-radius: 8px;\n        white-space: normal;\n    }\n    #fm-team-popup .main-team-results button span { color: #111827; }\n    #fm-team-popup .main-team-results img { width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; }\n    #fm-team-popup .team-relation-error { color: #b91c1c; font-weight: 700; margin-top: 8px; }\n\n    @media (max-width: 600px) {\n        #fm-team-popup-overlay { padding: 0; align-items: stretch; }\n        #fm-team-popup {\n            max-width: none;\n            max-height: 100dvh;\n            min-height: 100dvh;\n            padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));\n            border-radius: 0;\n        }\n        #fm-team-popup h3 { margin: 4px 0 10px; }\n        #fm-team-popup li { padding: 12px 10px; }\n        #fm-team-popup > button { width: 100%; margin-top: 8px; }\n    }\n    #fm-team-popup .main-team-results button span { color: #111827; }\n    #fm-team-popup .main-team-results img { width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; }\n    #fm-team-popup .team-relation-error { color: #b91c1c; font-weight: 700; margin-top: 8px; }\n\n    @media (max-width: 600px) {\n        #fm-team-popup-overlay { padding: 0; align-items: stretch; }\n        #fm-team-popup {\n            max-width: none;\n            max-height: 100dvh;\n            min-height: 100dvh;\n            padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));\n            border-radius: 0;\n        }\n        #fm-team-popup h3 { margin: 4px 0 10px; }\n        #fm-team-popup li { padding: 12px 10px; }\n        #fm-team-popup > button { width: 100%; margin-top: 8px; }\n    }\n\n    #fm-team-popup .team-relation-summary,\n    #fm-team-popup .team-relation-controls,\n    #fm-team-popup .main-team-search { width: 100%; }\n    #fm-team-popup .team-relation-summary { color: #166534; font-weight: 600; }\n    #fm-team-popup .main-team-search input { width: 100%; padding: 7px; }\n    #fm-team-popup .main-team-results button { display: flex; align-items: center; width: 100%; text-align: left; background: #fff; border: 1px solid #ddd; }\n    #fm-team-popup .team-relation-error { color: #b91c1c; font-weight: 700; margin-top: 8px; }\n\n    #fm-slot-popup-overlay {\n        position: fixed;\n        inset: 0;\n        z-index: 1100;\n        background: rgba(4, 10, 20, 0.7);\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding: 20px;\n        backdrop-filter: blur(3px);\n    }\n\n    .fm-slot-popup {\n        width: min(680px, 100%);\n        max-height: 85vh;\n        overflow: auto;\n        border-radius: 16px;\n        background: linear-gradient(180deg, #f8fbff, #edf5ff);\n        color: #0f172a;\n        box-shadow: 0 28px 56px rgba(2, 8, 20, 0.45);\n        border: 1px solid rgba(59, 130, 246, 0.2);\n    }\n\n    .fm-slot-popup-header {\n        padding: 14px 16px;\n        border-bottom: 1px solid #dbe7f8;\n        display: flex;\n        justify-content: space-between;\n        gap: 10px;\n        align-items: center;\n    }\n\n    .fm-slot-popup-title {\n        font-size: 1rem;\n        font-weight: 700;\n        margin: 0;\n    }\n\n    .fm-slot-popup-subtitle {\n        font-size: 0.82rem;\n        color: #334155;\n    }\n\n    .fm-slot-player-list {\n        display: flex;\n        flex-direction: column;\n        gap: 10px;\n        padding: 14px 16px 16px;\n    }\n\n    .fm-slot-player-option {\n        border: 1px solid #d9e7fa;\n        border-radius: 12px;\n        background: #fff;\n        padding: 10px;\n        display: grid;\n        grid-template-columns: auto 1fr;\n        gap: 10px;\n        align-items: center;\n        cursor: pointer;\n        transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;\n    }\n\n    .fm-slot-player-option:hover {\n        transform: translateY(-1px);\n        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);\n        border-color: #a5c8f6;\n    }\n\n    .fm-slot-player-option--conflict {\n        border-color: #dc2626;\n        box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.14);\n    }\n\n    .fm-slot-player-option--conflict:hover {\n        border-color: #b91c1c;\n        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12), inset 0 0 0 1px rgba(185, 28, 28, 0.2);\n    }\n    .fm-slot-player-option--assigned {\n        border-color: #16a34a;\n        box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.28);\n    }\n    .fm-slot-player-option--assigned:hover {\n        border-color: #15803d;\n    }\n\n    .fm-slot-player-meta {\n        text-align: left;\n    }\n\n    .fm-slot-player-name {\n        font-weight: 700;\n    }\n    .fm-slot-player-avg--negative {\n        color: #b91c1c;\n    }\n    .fm-slot-player-role {\n        display: inline-block;\n        margin-left: 4px;\n        padding: 0 6px;\n        border-radius: 999px;\n        font-size: 0.68rem;\n        line-height: 1.5;\n        font-weight: 600;\n        letter-spacing: 0.02em;\n        color: #1e40af;\n        background: #eff6ff;\n        border: 1px solid #bfdbfe;\n        vertical-align: middle;\n    }\n\n    .fm-slot-player-next {\n        font-size: 0.8rem;\n        color: #334155;\n        margin-top: 3px;\n    }\n\n    .fm-slot-player-fixtures {\n        margin-top: 6px;\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n    }\n\n    .fm-slot-fixture-item {\n        border: 1px solid #dbe7f6;\n        border-radius: 8px;\n        padding: 5px 7px;\n        background: #f8fbff;\n    }\n\n    .fm-slot-fixture-head {\n        font-size: 0.72rem;\n        color: #475569;\n        margin-bottom: 2px;\n    }\n\n    .fm-slot-fixture-head--missing {\n        color: #b91c1c;\n        font-weight: 800;\n    }\n\n    .fm-slot-league-flag {\n        width: 12px;\n        height: 9px;\n        object-fit: contain;\n        margin-right: 4px;\n        vertical-align: -1px;\n        border-radius: 2px;\n    }\n\n\n    .fm-slot-fixture-logos {\n        display: flex;\n        align-items: center;\n        gap: 5px;\n        font-size: 0.76rem;\n        color: #1e293b;\n        font-weight: 600;\n        flex-wrap: nowrap;\n        white-space: nowrap;\n    }\n\n    .fm-slot-team-logo {\n        width: 16px;\n        height: 16px;\n        object-fit: contain;\n        border-radius: 50%;\n        background: #fff;\n    }\n\n    .fm-slot-fixture-team--own {\n        font-weight: 800;\n        text-decoration: underline;\n        text-underline-offset: 2px;\n    }\n\n    .fm-slot-select-btn,\n    .fm-slot-close-btn {\n        border: 1px solid #bfdbfe;\n        border-radius: 999px;\n        padding: 8px 12px;\n        font-weight: 700;\n        cursor: pointer;\n    }\n\n    .fm-slot-select-btn {\n        background: linear-gradient(180deg, #dbeafe, #bfdbfe);\n        color: #0b2a4d;\n    }\n\n    .fm-slot-close-btn {\n        background: #fff;\n        color: #1e293b;\n    }\n\n    <\/style>\n    <script>\n    const ajaxurl = 'https:\/\/filmsafari.de\/wp-admin\/admin-ajax.php';\n    const teamRelationNonce = 'ecc704afca';\n    const playerProfileUrl = 'https:\/\/filmsafari.de\/?page_id=3377';\n    let leagueData = [{\"id\":1,\"name\":\"Finnair Veikkausliiga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Finland_veikkauslliga.png\",\"spieltag\":11,\"teams\":[]},{\"id\":2,\"name\":\"1. Bundesliga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Deutschland_1_bundesliga.png\",\"spieltag\":9,\"teams\":[]},{\"id\":4,\"name\":\"Dansk Superliga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/denmark_superliga.png\",\"spieltag\":7,\"teams\":[{\"id\":1000005,\"name\":\"Lego Billund\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/legobillund.png\",\"col1\":\"#EE0201\",\"col2\":\"#FDF400\",\"col3\":\"#FEFEFE\",\"preferred_formation\":\"\",\"opponent\":\"NEXT GEN Copenhagen\",\"match_id\":4173237,\"source_table\":\"customleague_4_1\"}]},{\"id\":5,\"name\":\"2. Bundesliga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Deutschland_2_bundesliga.png\",\"spieltag\":5,\"teams\":[]},{\"id\":6,\"name\":\"A. Le Coq Premium Liiga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/eesti_1_liga.png\",\"spieltag\":7,\"teams\":[{\"id\":1000042,\"name\":\"Rakvere PP\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/rakverepp.png\",\"col1\":\"#9D9DA0\",\"col2\":\"#787C80\",\"col3\":\"#787C80\",\"preferred_formation\":\"3-4-2:IV-IV-IV:ZM-DM-OM-ZM:HS-ST\",\"opponent\":\"Black Hawks Tallinn\",\"match_id\":617469,\"source_table\":\"customleague_6_1\"},{\"id\":1000026,\"name\":\"Puu Tartu\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/puutartu.png\",\"col1\":\"#015F2B\",\"col2\":\"#9C9D9F\",\"col3\":\"#02381A\",\"preferred_formation\":\"\",\"opponent\":\"Viljandi Linn\",\"match_id\":6175368,\"source_table\":\"customleague_6_1\"},{\"id\":1000041,\"name\":\"Viljandi Linn\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/viljandi.png\",\"col1\":\"#455B19\",\"col2\":\"#FAC02C\",\"col3\":\"#96CCF0\",\"preferred_formation\":\"\",\"opponent\":\"Puu Tartu\",\"match_id\":6175368,\"source_table\":\"customleague_6_1\"},{\"id\":1000044,\"name\":\"JK Valga P\\u00e4ike\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/valgapaike.png\",\"col1\":\"#045DB4\",\"col2\":\"#FEB502\",\"col3\":\"#FEFEFE\",\"preferred_formation\":\"3-3-3:IV-IV-IV:DM-ZM-DM:FS-ST-FS\",\"opponent\":\"FC P\\u00e4rnu\",\"match_id\":6177170,\"source_table\":\"customleague_6_1\"},{\"id\":1000043,\"name\":\"FC P\\u00e4rnu\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/fcparnu.png\",\"col1\":\"#FFFFFF\",\"col2\":\"#057939\",\"col3\":\"#D81017\",\"preferred_formation\":\"\",\"opponent\":\"JK Valga P\\u00e4ike\",\"match_id\":6177170,\"source_table\":\"customleague_6_1\"}]},{\"id\":7,\"name\":\"Sammarinese Primo\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/sanmarino_ersteliga.png\",\"spieltag\":1,\"teams\":[]},{\"id\":8,\"name\":\"Premier League\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/england_premier_league.png\",\"spieltag\":3,\"teams\":[{\"id\":1000074,\"name\":\"AFC Liverpool\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/afcl.png\",\"col1\":\"#FBFBF9\",\"col2\":\"#999A9C\",\"col3\":\"#000000\",\"preferred_formation\":\"\",\"opponent\":\"Manchester FC\",\"match_id\":81310198,\"source_table\":\"customleague_8_1\"},{\"id\":1000071,\"name\":\"Manchester FC\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/manchesterfc.png\",\"col1\":\"#7C1728\",\"col2\":\"#FEFEFE\",\"col3\":\"#7C1728\",\"preferred_formation\":\"\",\"opponent\":\"AFC Liverpool\",\"match_id\":81310198,\"source_table\":\"customleague_8_1\"},{\"id\":1000036,\"name\":\"Third Sports Club of Dover\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/thirdsportclubdover.png\",\"col1\":\"#DBE5E6\",\"col2\":\"#3E9031\",\"col3\":\"#0CD2F5\",\"preferred_formation\":\"\",\"opponent\":\"Lutua Norwich\",\"match_id\":8136346,\"source_table\":\"customleague_8_1\"},{\"id\":1000019,\"name\":\"Lutua Norwich\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/lutuanorwich.png\",\"col1\":\"#FFFFFF\",\"col2\":\"#3CA3E8\",\"col3\":\"#043367\",\"preferred_formation\":\"\",\"opponent\":\"Third Sports Club of Dover\",\"match_id\":8136346,\"source_table\":\"customleague_8_1\"},{\"id\":1000048,\"name\":\"York Knights FC\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/yorkknights.png\",\"col1\":\"#F8D377\",\"col2\":\"#251A0E\",\"col3\":\"#FDF3DA\",\"preferred_formation\":\"\",\"opponent\":\"Ipswich Albany\",\"match_id\":8137560,\"source_table\":\"customleague_8_1\"},{\"id\":1000033,\"name\":\"Ipswich Albany\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/ipswichalbany.png\",\"col1\":\"#01183A\",\"col2\":\"#FDFDFD\",\"col3\":\"#103E82\",\"preferred_formation\":\"\",\"opponent\":\"York Knights FC\",\"match_id\":8137560,\"source_table\":\"customleague_8_1\"},{\"id\":1000062,\"name\":\"FC Amesbury\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/amesbury.png\",\"col1\":\"#19396C\",\"col2\":\"#B8B8B9\",\"col3\":\"#274A2B\",\"preferred_formation\":\"3-3-3:FV-IV-FV:ZM-DM-ZM:FS-ST-FS\",\"opponent\":\"Imperial London\",\"match_id\":81389105,\"source_table\":\"customleague_8_1\"},{\"id\":1000078,\"name\":\"Imperial London\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/imperial.png\",\"col1\":\"#510B1A\",\"col2\":\"#FEF6B0\",\"col3\":\"#510B1A\",\"preferred_formation\":\"\",\"opponent\":\"FC Amesbury\",\"match_id\":81389105,\"source_table\":\"customleague_8_1\"},{\"id\":1000075,\"name\":\"FC Leeds-Puffington\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/leedsp.png\",\"col1\":\"#B8A841\",\"col2\":\"#FEF8C6\",\"col3\":\"#474946\",\"preferred_formation\":\"\",\"opponent\":\"FC Nottingham\",\"match_id\":81310261,\"source_table\":\"customleague_8_1\"},{\"id\":1000034,\"name\":\"FC Nottingham\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/fcnottingham.png\",\"col1\":\"#04311B\",\"col2\":\"#306D2D\",\"col3\":\"#C41721\",\"preferred_formation\":\"\",\"opponent\":\"FC Leeds-Puffington\",\"match_id\":81310261,\"source_table\":\"customleague_8_1\"}]},{\"id\":9,\"name\":\"Austrian Bundesliga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ChatGPT-Image-Aug-23-2026-04_22_55-PM.png\",\"spieltag\":1,\"teams\":[]},{\"id\":10,\"name\":\"Nordea Bank Ykk\\u00f6sliiga\",\"logo\":\"http:\\\/\\\/filmsafari.de\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/finnland2.png\",\"spieltag\":null,\"teams\":[]}];\n    let teams = [];\n    let leaguesWithFixtures = [];\n    let currentTeamIdx = 0;\n    let slots = [];\n    let playerToSlot = {};\n    let defenseLayout = [];\n    let midfieldLayout = [];\n    let attackLayout = [];\n    let selectedLayoutLine = 'defense';\n    let availableLayouts = { defense: [], midfield: [], attack: [] };\n    let playerFixtures = {};\n    let playerScores = {\"410182\":-10,\"55360\":1.59,\"55623\":3.89,\"263441\":1.56,\"941\":2.07,\"68124\":5.77,\"208770\":0.91,\"83502\":-2.48,\"60358\":14.65,\"323324\":-0.47,\"470343\":3.85,\"303325\":-1.17,\"296135\":4.14,\"60361\":-0.36,\"40577\":0,\"135882\":6.62,\"264134\":-0.91,\"82468\":1.43,\"282454\":-0.7,\"410178\":2.42,\"296941\":-3.2,\"156619\":1.8,\"313786\":-0.67,\"173852\":3.24,\"329647\":5.18,\"173718\":5.77,\"105871\":-3.24,\"28775\":6.13,\"480308\":5.41,\"365372\":0.2,\"460853\":2.81,\"366354\":7.76,\"7326\":4.09,\"60613\":1.36,\"505357\":5.36,\"37461\":4.44,\"19085\":11.54,\"419629\":2.47,\"55541\":2.01,\"55414\":-2.94,\"15842\":5.51,\"45846\":-1.5,\"389470\":0,\"365254\":-1.47,\"55882\":5.13,\"335052\":-0.4,\"55339\":19.12,\"127938\":-1.32,\"89723\":0.11,\"55825\":-0.6,\"55319\":1.93,\"314077\":0,\"202529\":6.32,\"340124\":-0.25,\"55520\":-0.11,\"381537\":1.82,\"15761\":-0.25,\"385542\":1.49,\"40595\":2.5,\"343317\":1.49,\"340121\":7.8,\"236443\":-0.91,\"408723\":-1.14,\"340219\":0.45,\"455279\":0,\"236522\":4.2,\"55814\":5.2,\"511220\":7.97,\"275188\":1.09,\"55366\":0.54,\"358156\":-0.38,\"462244\":1.83,\"269448\":8.91,\"464139\":0.77,\"202881\":-0.51,\"335096\":0.05,\"2318\":3.28,\"55646\":5.2,\"459427\":3.25,\"314118\":-5.8,\"263735\":5.77,\"404895\":5.76,\"83470\":0.81,\"410192\":2.75,\"288326\":-0.52,\"377168\":11.96,\"196062\":-0.21,\"22701\":5.36,\"47850\":1.35,\"330666\":1.49,\"212157\":0,\"370345\":9.42,\"278391\":0,\"264531\":6.31,\"314182\":0,\"173908\":0.75,\"196359\":2.22,\"51171\":4.46,\"196073\":1.14,\"980\":12.99,\"196901\":5.36,\"19349\":4.82,\"414695\":-0.42,\"28733\":2.4,\"37470\":-0.2,\"519984\":8,\"297142\":4.32,\"263910\":4.23,\"85063\":3.6,\"263879\":4.29,\"173807\":-0.13,\"55756\":-0.3,\"55733\":6.68,\"7928\":-0.6,\"55324\":1.72,\"55307\":0,\"338226\":8.72,\"55533\":4,\"239376\":0,\"55402\":-0.05,\"419124\":4.97,\"40259\":7.14,\"392480\":-0.75,\"264539\":0.88,\"368787\":-1.8,\"162406\":-2.3,\"425780\":0.86,\"514815\":3.66,\"357670\":-0.69,\"55356\":1.23,\"395739\":-7.12,\"399281\":-0.39,\"408724\":0.83,\"55832\":0.49,\"26284\":1.85,\"366301\":1.6,\"55777\":2.78,\"71536\":-0.54,\"60346\":3.7,\"173790\":4.32,\"477186\":4.16,\"303480\":-0.64,\"316913\":-1.68,\"358421\":2.22,\"366131\":-0.88,\"263895\":7.5,\"308815\":-0.34,\"156518\":-0.4,\"83475\":0.59,\"416146\":0.04,\"55375\":-0.48,\"440136\":-0.19,\"387534\":-0.11,\"371254\":3.38,\"329166\":16.09,\"392509\":-2.16,\"144323\":-2.42,\"199309\":1.71,\"480450\":4.54,\"48623\":0.22,\"169297\":3.82,\"338950\":8.32,\"55362\":18.1,\"263912\":2.07,\"286747\":-4.8,\"327926\":1.17,\"126895\":1.21,\"203337\":0,\"163078\":5.36,\"342171\":4.5,\"341822\":2.96,\"177688\":0,\"178326\":-0.8,\"339875\":-2.4,\"280368\":1.55,\"280456\":0,\"108604\":8.61,\"162536\":0.53,\"25260\":1.05,\"88087\":1.32,\"162592\":0.92,\"380510\":6.13,\"395589\":12.83,\"418888\":4.98,\"327646\":15.95,\"153417\":1.83,\"260946\":8.66,\"325720\":-1.02,\"167656\":5.71,\"404133\":-1.02,\"327935\":-0.15,\"128717\":0,\"426288\":3.08,\"66029\":0,\"203253\":-0.43,\"380194\":3.6,\"191337\":3.04,\"203205\":1.95,\"125620\":9.61,\"25432\":-0.21,\"203037\":4.44,\"318083\":6.25,\"327793\":-0.26,\"462216\":-0.12,\"277896\":-0.6,\"432519\":1.16,\"422929\":3.6,\"446130\":1.2,\"179963\":6.84,\"342310\":-3.83,\"279861\":0,\"380937\":5.56,\"304791\":1.49,\"394733\":3.96,\"288073\":3.17,\"346730\":4.81,\"280268\":3.38,\"282281\":9.13,\"14423\":-1.53,\"129139\":13.64,\"128814\":1.56,\"315462\":0.53,\"125719\":-0.62,\"203260\":3.12,\"479145\":0,\"261008\":2.01,\"111386\":3.95,\"303468\":0.67,\"279922\":1.61,\"392507\":0.45,\"325384\":2.88,\"324506\":0,\"25248\":6,\"327947\":6.61,\"105633\":4.1,\"197851\":5.85,\"316338\":1.25,\"427588\":0.5,\"308452\":5.89,\"363638\":1.01,\"25307\":4.06,\"260972\":3.51,\"40460\":8.62,\"60353\":0.81,\"432311\":-2.34,\"334114\":-0.9,\"73029\":1.49,\"162242\":5.2,\"277996\":1.47,\"162538\":3.25,\"162079\":5.41,\"108473\":5.18,\"280090\":-0.12,\"202771\":6.39,\"355176\":-0.12,\"411223\":1.49,\"273390\":6.83,\"336875\":-1.2,\"334353\":4.46,\"480783\":3,\"444962\":6.81,\"135328\":4.84,\"382464\":-2.4,\"16052\":1.6,\"289586\":0.22,\"20045\":4.53,\"371524\":1.29,\"15583\":0.46,\"427804\":6.92,\"315001\":3.33,\"420956\":-1.25,\"133124\":1.8,\"13949\":-2.16,\"314752\":4.83,\"39168\":1.1,\"282467\":4.95,\"318175\":-1.8,\"375749\":1.34,\"161563\":1.54,\"463330\":1.75,\"376674\":-1.47,\"445669\":1.43,\"494387\":4.3,\"85704\":-8.65,\"128876\":-0.52,\"264117\":0.98,\"430637\":3.12,\"427436\":1.38,\"434422\":1.77,\"315668\":2.88,\"475394\":12.5,\"15989\":-0.4,\"406418\":2.43,\"443234\":5.2,\"278137\":0,\"314285\":4.69,\"263415\":4.46,\"380703\":0,\"276961\":3.6,\"294865\":0.57,\"444419\":2.19,\"351580\":1.5,\"324030\":4.39,\"140946\":1.2,\"378641\":0.49,\"480264\":-0.64,\"426664\":0,\"328558\":-0.12,\"444418\":0.97,\"328497\":-0.3,\"279572\":0.62,\"16100\":4.8,\"264392\":-0.89,\"83043\":5.2,\"339877\":-1.11,\"281926\":1.29,\"465790\":-0.56,\"326425\":-0.11,\"355171\":4.72,\"15645\":-0.6,\"328487\":2.8,\"1016\":0.46,\"162788\":5.48,\"311273\":2.38,\"412886\":-0.67,\"386294\":-1.92,\"348022\":0.95,\"15910\":2.3,\"328610\":9.66,\"444433\":-1.16,\"163497\":-2.44,\"73036\":4.23,\"24784\":1.2,\"280436\":-2.4,\"511026\":-5.2,\"280029\":5.41,\"478405\":6.06,\"478630\":0,\"25082\":-0.52,\"520246\":0,\"342161\":0,\"397432\":0,\"24884\":0.15,\"380588\":-0.43,\"364997\":4.82,\"289706\":-1.65,\"400502\":-0.27,\"36796\":1.2,\"126448\":0.5,\"202514\":3.57,\"355011\":0,\"431913\":0,\"308907\":0.15,\"26344\":-1.2,\"177451\":13.46,\"134060\":3.25,\"25606\":-1.11,\"201773\":5.18,\"202016\":-0.5,\"482879\":5.14,\"380603\":3.24,\"392118\":4.44,\"467193\":0,\"90978\":5.85,\"480456\":-0.9,\"414571\":1.58,\"330467\":9.36,\"66464\":1.17,\"375600\":5.4,\"327891\":-0.6,\"483795\":-2.27,\"394984\":-0.36,\"163582\":-1.4,\"327805\":0,\"478854\":-2.32,\"1842\":0,\"25232\":5.13,\"280346\":4.72,\"365002\":-0.42,\"322314\":5.1,\"441501\":2.86,\"479062\":4.54,\"26114\":0,\"282755\":5.04,\"341308\":-0.5,\"480452\":0,\"497111\":-3.24,\"25641\":-0.6,\"410872\":4.05,\"26580\":0,\"432314\":0.24,\"344284\":1.73,\"380811\":0,\"380948\":-0.64,\"462199\":5.02,\"204107\":0,\"278917\":8.79,\"60795\":0.15,\"342256\":1.65,\"342473\":0,\"67339\":0.44,\"472854\":-1.16,\"424749\":1.15,\"416097\":1,\"328464\":4.02,\"292101\":5.66,\"357669\":1.29,\"60455\":5.66,\"323886\":5.16,\"341109\":1.59,\"60612\":1.29,\"60376\":6.8,\"459095\":1.53,\"36647\":-0.54,\"314315\":6.6,\"318299\":6.1,\"304319\":2.73,\"60578\":0.8,\"60413\":-0.8,\"60682\":-0.56,\"64385\":4.96,\"40477\":-0.88,\"51028\":1.47,\"215803\":4.46,\"357661\":-2.89,\"267996\":-2.97,\"127250\":1.35,\"425869\":-0.15,\"289133\":3.08,\"359491\":3.33,\"60796\":1.91,\"55913\":0,\"425870\":0.61,\"374997\":-0.9,\"105892\":-0.2,\"435318\":5.3,\"60655\":0.8,\"144709\":8.04,\"410921\":-1.35,\"200597\":0,\"60486\":0,\"354416\":0,\"263877\":2.01,\"449721\":1.47,\"128208\":0,\"60489\":2,\"151407\":3.96,\"60370\":-0.09,\"72582\":-0.09,\"262663\":0,\"204376\":-0.07,\"60653\":-0.16,\"55565\":6.62,\"516006\":0,\"283459\":-0.27,\"352524\":-1.49,\"135106\":-8,\"396507\":-4.14,\"459065\":-0.08,\"66386\":0.61,\"48537\":0,\"344288\":-0.27,\"410510\":1.41,\"460725\":1.39,\"60473\":3.7,\"233770\":5.77,\"359328\":4.18,\"432621\":1.83,\"475810\":1.17,\"134743\":1.47,\"60699\":-0.4,\"55909\":-0.34,\"98534\":1.13,\"39302\":2.4,\"292492\":-0.23,\"282133\":0,\"148409\":7.6,\"301285\":4.72,\"133631\":0.43,\"383773\":-1.11,\"409360\":0.56,\"474373\":-0.59,\"37049\":-0.56,\"127213\":3.99,\"383770\":3.69,\"153407\":-0.14,\"445920\":1.34,\"347304\":4.97,\"350318\":1.81,\"19565\":-0.19,\"434177\":-0.51,\"445472\":-0.85,\"153400\":1.06,\"179651\":3.93,\"334630\":4.48,\"1055\":-2,\"311093\":5.58,\"364048\":4.46,\"309763\":-0.38,\"17832\":4.24,\"271444\":-7.14,\"401394\":-3.6,\"483128\":0.04,\"365660\":-0.18,\"278112\":-0.2,\"349212\":4.33,\"284466\":3.6,\"482888\":0,\"416863\":2.88,\"330640\":1.29,\"269309\":1.5,\"339172\":4,\"437550\":0,\"191981\":2.41,\"105141\":-4.97,\"365988\":-4.8,\"406507\":0.33,\"125695\":0,\"362813\":-1.32,\"294639\":1.23,\"165\":15.33,\"357237\":1.21,\"417653\":3.01,\"323746\":1.22,\"345435\":4.09,\"382344\":-1.17,\"20338\":0.73,\"304140\":-0.45,\"313229\":3.05,\"296838\":1.8,\"436443\":2.4,\"350323\":2.42,\"397951\":2.4,\"294904\":0.77,\"383647\":1.04,\"180934\":-1.08,\"301282\":3.59,\"282254\":-0.68,\"202845\":2.68,\"396220\":-0.43,\"349755\":-2.93,\"111917\":5.13,\"143671\":1.73,\"394165\":-0.87,\"19967\":6.2,\"334735\":3.51,\"388536\":4.51,\"277716\":-0.62,\"303460\":-0.47,\"288200\":2.69,\"362767\":1.65,\"70852\":2.38,\"482903\":-1.44,\"451583\":3.56,\"357276\":-0.79,\"294638\":1.88,\"337934\":-2.66,\"288132\":2.01,\"413499\":5.36,\"459224\":2.01,\"430831\":5.08,\"418904\":0,\"283274\":0.5,\"448969\":1.55,\"48497\":-0.38,\"322147\":-1.56,\"283562\":6.83,\"19410\":-1.43,\"288118\":-0.18,\"487345\":2.38,\"408127\":-0.57,\"346987\":-0.98,\"339127\":1.13,\"503099\":3.04,\"348815\":2.13,\"481046\":-0.28,\"167225\":-1.2,\"347305\":-1.05,\"352477\":-2.39,\"437566\":-1.98,\"432412\":0.53,\"351344\":2.36,\"494345\":1.85,\"359371\":-1.14,\"153434\":0.64,\"305733\":1.56,\"153422\":1.91,\"409011\":-0.69,\"48151\":4.39,\"17585\":1.71};\n    let playerAverageScores = {\"410182\":-1.4,\"55360\":-0.07,\"55623\":2.27,\"263441\":2.63,\"941\":1.96,\"68124\":3.19,\"208770\":-0.97,\"83502\":0.67,\"60358\":5.69,\"323324\":1.39,\"470343\":1.7,\"303325\":0.8,\"296135\":4.04,\"60361\":0.46,\"40577\":-0.54,\"135882\":6.62,\"264134\":1.65,\"82468\":2.98,\"282454\":0.62,\"410178\":1.49,\"296941\":-0.2,\"156619\":1.52,\"313786\":1.92,\"173852\":1.37,\"329647\":1.78,\"173718\":3.04,\"105871\":2.76,\"28775\":2.02,\"480308\":0.83,\"365372\":0.77,\"460853\":1.46,\"366354\":3.88,\"7326\":1.06,\"60613\":0.43,\"505357\":2.12,\"37461\":2.04,\"19085\":4.94,\"419629\":2.83,\"55541\":0.72,\"55414\":-2.94,\"15842\":3.92,\"45846\":1.76,\"389470\":3.32,\"365254\":0.31,\"55882\":2.01,\"335052\":1.6,\"55339\":5.79,\"127938\":-0.19,\"89723\":1.65,\"55825\":1.7,\"55319\":0.62,\"314077\":0,\"202529\":4.94,\"340124\":1.59,\"55520\":1,\"381537\":1.92,\"15761\":2.74,\"385542\":1.12,\"40595\":4.58,\"343317\":2.12,\"340121\":7.48,\"236443\":2.6,\"408723\":1.32,\"340219\":1.85,\"455279\":0,\"236522\":3.65,\"55814\":1.71,\"511220\":3.02,\"275188\":3.68,\"55366\":1.12,\"358156\":1.21,\"462244\":2.04,\"269448\":3.31,\"464139\":4.26,\"202881\":1.23,\"335096\":2.59,\"2318\":2.4,\"55646\":0.6,\"459427\":1.5,\"314118\":-1.74,\"263735\":5.73,\"404895\":4,\"83470\":0.87,\"410192\":2.18,\"288326\":1.45,\"377168\":5.15,\"196062\":3.45,\"22701\":1.46,\"47850\":2.56,\"330666\":1.93,\"212157\":0,\"370345\":5.21,\"278391\":0,\"264531\":7.03,\"314182\":0,\"173908\":2.38,\"196359\":4.96,\"51171\":1.37,\"196073\":1.81,\"980\":12.99,\"196901\":5.56,\"19349\":5.71,\"414695\":0.25,\"28733\":2.4,\"37470\":2.3,\"519984\":2.67,\"297142\":2.54,\"263910\":2.96,\"85063\":5.48,\"263879\":2.83,\"173807\":1.92,\"55756\":2.53,\"55733\":6.57,\"7928\":-0.6,\"55324\":2.14,\"55307\":0,\"338226\":4.36,\"55533\":1.87,\"239376\":0,\"55402\":1.77,\"419124\":2.13,\"40259\":4.6,\"392480\":1.76,\"264539\":-1.29,\"368787\":-1.87,\"162406\":0.3,\"425780\":2.3,\"514815\":1.25,\"357670\":1.7,\"55356\":-0.04,\"395739\":-2.68,\"399281\":0.31,\"408724\":-1.12,\"55832\":2.01,\"26284\":1.85,\"366301\":0.1,\"55777\":1.09,\"71536\":0.79,\"60346\":1.79,\"173790\":2.55,\"477186\":0.84,\"303480\":0.8,\"316913\":-1.68,\"358421\":-0.28,\"366131\":-0.88,\"263895\":4.1,\"308815\":-0.34,\"156518\":-0.23,\"83475\":0.59,\"416146\":0.04,\"55375\":-0.46,\"440136\":0.66,\"387534\":0.95,\"371254\":6.52,\"329166\":10.76,\"392509\":-2.16,\"144323\":-4.52,\"199309\":1.71,\"480450\":4.54,\"48623\":0.22,\"169297\":1.49,\"338950\":8.32,\"55362\":18.1,\"263912\":2.07,\"286747\":0.11,\"327926\":1.17,\"126895\":1.56,\"203337\":0.07,\"163078\":4.82,\"342171\":5,\"341822\":5.64,\"177688\":3.39,\"178326\":1.4,\"339875\":1.97,\"280368\":1.36,\"280456\":-0.12,\"108604\":8.55,\"162536\":-0.16,\"25260\":1.05,\"88087\":0.89,\"162592\":0.8,\"380510\":2.46,\"395589\":6.94,\"418888\":4.12,\"327646\":8.59,\"153417\":4.05,\"260946\":3.63,\"325720\":1.68,\"167656\":5.71,\"404133\":-0.01,\"327935\":4.31,\"128717\":6.14,\"426288\":5.15,\"66029\":-0.3,\"203253\":4.16,\"380194\":1.2,\"191337\":2.98,\"203205\":1.81,\"125620\":4.16,\"25432\":-0.21,\"203037\":4.44,\"318083\":3.39,\"327793\":0.83,\"462216\":-0.12,\"277896\":-0.62,\"432519\":0.5,\"422929\":1.23,\"446130\":1.21,\"179963\":6.84,\"342310\":-3.83,\"279861\":2.24,\"380937\":5.56,\"304791\":1.49,\"394733\":3.96,\"288073\":3.17,\"346730\":4.81,\"280268\":2.6,\"282281\":9.13,\"14423\":-1.53,\"129139\":9.8,\"128814\":2.54,\"315462\":1.13,\"125719\":0.7,\"203260\":3.49,\"479145\":0,\"261008\":0.94,\"111386\":3.95,\"303468\":3.48,\"279922\":1.72,\"392507\":0.57,\"325384\":1.44,\"324506\":0.72,\"25248\":3.46,\"327947\":7.31,\"105633\":2.67,\"197851\":6.13,\"316338\":1.23,\"427588\":0.5,\"308452\":3.36,\"363638\":1.01,\"25307\":4.06,\"260972\":1.34,\"40460\":8.62,\"60353\":0.81,\"432311\":-2.34,\"334114\":-0.9,\"73029\":1.49,\"162242\":5.2,\"277996\":1.47,\"162538\":3.25,\"162079\":3.31,\"108473\":5.18,\"280090\":-0.12,\"202771\":6.39,\"355176\":2.61,\"411223\":1.49,\"273390\":6.83,\"336875\":-1.2,\"334353\":4.75,\"480783\":3.86,\"444962\":6.81,\"135328\":4.84,\"382464\":-2.4,\"16052\":1.6,\"289586\":0.84,\"20045\":4.53,\"371524\":2.05,\"15583\":0.46,\"427804\":-1.1,\"315001\":3.33,\"420956\":1.89,\"133124\":1.8,\"13949\":0.66,\"314752\":4.83,\"39168\":2.82,\"282467\":4.95,\"318175\":1.52,\"375749\":1.34,\"161563\":1.13,\"463330\":1.75,\"376674\":1.42,\"445669\":1.43,\"494387\":3.04,\"85704\":-8.65,\"128876\":-0.52,\"264117\":0.98,\"430637\":3.12,\"427436\":1.38,\"434422\":1.77,\"315668\":2.88,\"475394\":12.5,\"15989\":-0.4,\"406418\":2.43,\"443234\":5.2,\"278137\":0,\"314285\":4.69,\"263415\":4.46,\"380703\":0,\"276961\":3.6,\"294865\":2.65,\"444419\":2.19,\"351580\":1.5,\"324030\":4.39,\"140946\":1.2,\"378641\":0.49,\"480264\":-0.64,\"426664\":0,\"328558\":-0.12,\"444418\":0.97,\"328497\":-0.3,\"279572\":0.62,\"16100\":4.8,\"264392\":-0.89,\"83043\":5.2,\"339877\":-1.11,\"281926\":1.29,\"465790\":-0.56,\"326425\":-0.11,\"355171\":4.72,\"15645\":-0.6,\"328487\":2.8,\"1016\":0.46,\"162788\":5.48,\"311273\":2.38,\"412886\":-0.67,\"386294\":-1.92,\"348022\":0.95,\"15910\":2.3,\"328610\":9.66,\"444433\":-1.16,\"163497\":-2.44,\"73036\":4.23,\"24784\":1.2,\"280436\":-1.2,\"511026\":-5.2,\"280029\":1.09,\"478405\":6.06,\"478630\":0,\"25082\":-0.52,\"520246\":0,\"342161\":0,\"397432\":-0.3,\"24884\":0.15,\"380588\":2.54,\"364997\":4.82,\"289706\":-0.83,\"400502\":-0.27,\"36796\":1.31,\"126448\":0.5,\"202514\":1.19,\"355011\":0,\"431913\":0,\"308907\":0.15,\"26344\":1.6,\"177451\":13.46,\"134060\":6.25,\"25606\":-1.11,\"201773\":2.42,\"202016\":-0.5,\"482879\":3.59,\"380603\":3.24,\"392118\":2.76,\"467193\":0,\"90978\":4.62,\"480456\":-0.9,\"414571\":1,\"330467\":9.36,\"66464\":1.17,\"375600\":5.4,\"327891\":2.12,\"483795\":-2.27,\"394984\":3.61,\"163582\":0.1,\"327805\":2.59,\"478854\":0.47,\"1842\":0,\"25232\":4.74,\"280346\":4.72,\"365002\":0.76,\"322314\":5.1,\"441501\":1.43,\"479062\":2.27,\"26114\":0,\"282755\":5.04,\"341308\":0.03,\"480452\":0,\"497111\":-3.24,\"25641\":-0.6,\"410872\":4.25,\"26580\":0,\"432314\":0.24,\"344284\":1.73,\"380811\":0,\"380948\":-0.64,\"462199\":5.02,\"204107\":1.56,\"278917\":8.79,\"60795\":1.17,\"342256\":-0.93,\"342473\":1.37,\"67339\":1.56,\"472854\":0.54,\"424749\":2.09,\"416097\":3.36,\"328464\":2.97,\"292101\":2.81,\"357669\":2.1,\"60455\":4.47,\"323886\":2.24,\"341109\":1.47,\"60612\":2.85,\"60376\":1.87,\"459095\":2.56,\"36647\":-0.4,\"314315\":2.17,\"318299\":2.68,\"304319\":1.45,\"60578\":0.03,\"60413\":0.97,\"60682\":0.52,\"64385\":2.68,\"40477\":2.11,\"51028\":1.05,\"215803\":2.27,\"357661\":0.74,\"267996\":0.09,\"127250\":0.93,\"425869\":3.19,\"289133\":1.35,\"359491\":1.21,\"60796\":0.58,\"55913\":5.23,\"425870\":1.48,\"374997\":3.72,\"105892\":1.15,\"435318\":3.6,\"60655\":-1.56,\"144709\":4.29,\"410921\":-0.75,\"200597\":1.99,\"60486\":1.25,\"354416\":1.42,\"263877\":2.32,\"449721\":1.3,\"128208\":1.11,\"60489\":1.48,\"151407\":1.68,\"60370\":1.79,\"72582\":-0.57,\"262663\":0.51,\"204376\":1.36,\"60653\":1.65,\"55565\":5.85,\"516006\":1.84,\"283459\":1.11,\"352524\":4.05,\"135106\":-0.2,\"396507\":0.72,\"459065\":1.08,\"66386\":0.82,\"48537\":2.4,\"344288\":2.79,\"410510\":0.45,\"460725\":0.61,\"60473\":-0.15,\"233770\":5.77,\"359328\":4.18,\"432621\":0.86,\"475810\":1.54,\"134743\":-0.44,\"60699\":-0.3,\"55909\":0.57,\"98534\":1.13,\"39302\":2.4,\"292492\":-0.23,\"282133\":0,\"148409\":7.6,\"301285\":4.96,\"133631\":0.9,\"383773\":-1.02,\"409360\":0.56,\"474373\":-1.13,\"37049\":0.13,\"127213\":3.04,\"383770\":3.06,\"153407\":-0.97,\"445920\":1.56,\"347304\":4.97,\"350318\":1.29,\"19565\":0.87,\"434177\":-0.51,\"445472\":1.08,\"153400\":0.23,\"179651\":2.23,\"334630\":1.96,\"1055\":1.9,\"311093\":1.59,\"364048\":4.46,\"309763\":1.96,\"17832\":1.85,\"271444\":-3.25,\"401394\":0.36,\"483128\":1.65,\"365660\":-0.09,\"278112\":1.94,\"349212\":5.28,\"284466\":3.6,\"482888\":0,\"416863\":3.89,\"330640\":2.17,\"269309\":1.5,\"339172\":2.9,\"437550\":0,\"191981\":0.91,\"105141\":-4.69,\"365988\":-4.8,\"406507\":-0.38,\"125695\":4.53,\"362813\":2.05,\"294639\":1.3,\"165\":9.92,\"357237\":1.21,\"417653\":2.64,\"323746\":2.37,\"345435\":4.09,\"382344\":-1.17,\"20338\":0.32,\"304140\":1.76,\"313229\":3.7,\"296838\":1.27,\"436443\":1.48,\"350323\":1.96,\"397951\":3.3,\"294904\":0.15,\"383647\":0.62,\"180934\":-1.08,\"301282\":5.04,\"282254\":-0.54,\"202845\":4.05,\"396220\":2.38,\"349755\":-1.93,\"111917\":5.13,\"143671\":1.73,\"394165\":-0.87,\"19967\":6.26,\"334735\":3.51,\"388536\":3.83,\"277716\":-0.61,\"303460\":-0.47,\"288200\":6.35,\"362767\":1.05,\"70852\":8.02,\"482903\":1.18,\"451583\":1.78,\"357276\":-0.62,\"294638\":1.35,\"337934\":-1.78,\"288132\":2.01,\"413499\":5.36,\"459224\":2.01,\"430831\":2.32,\"418904\":0.01,\"283274\":2.01,\"448969\":1.55,\"48497\":1.91,\"322147\":1.17,\"283562\":1.7,\"19410\":-1.43,\"288118\":-0.18,\"487345\":2.38,\"408127\":-0.57,\"346987\":-0.98,\"339127\":1.13,\"503099\":3.04,\"348815\":2.13,\"481046\":-0.28,\"167225\":-1.2,\"347305\":-1.05,\"352477\":-2.39,\"437566\":-1.98,\"432412\":0.53,\"351344\":2.36,\"494345\":1.85,\"359371\":-1.14,\"153434\":0.64,\"305733\":1.56,\"153422\":1.91,\"409011\":-0.69,\"48151\":4.39,\"17585\":1.71};\n    let playerBestRoles = [];\n    let fixturesLoadedForSelection = false;\n\n    const lineupWrapper = document.querySelector('.fm-lineup-wrapper');\n\n    const squadsData = [{\"customteamid\":1000044,\"response.player.id\":60655,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":292492,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":60578,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":262663,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":60612,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":459095,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":459065,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":389470,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":357661,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":128208,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":357669,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":60486,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":55913,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":352524,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":60682,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":66386,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":475810,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":60413,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":354416,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":105892,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":67339,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":60653,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":425869,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":127250,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":283459,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":323886,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":425870,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":134743,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":449721,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":60489,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":60796,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":289133,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":359328,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":48497,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":318083,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":202845,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":344288,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":48537,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":380588,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":161563,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":432621,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":165,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":344234,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":364048,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":409011,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":483128,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":396220,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":359371,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":421134,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":519984,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":263877,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":48151,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":329166,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":313786,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":208770,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":516006,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":424749,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":39302,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":374997,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":283562,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":328464,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":309763,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":381537,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":153407,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":323746,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":383770,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":153422,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":362767,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":179651,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":17832,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":456585,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":460853,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":305733,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":288118,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":482888,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":301295,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":437566,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":301282,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":153400,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":294904,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":487345,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":350323,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":357237,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":282254,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":413499,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":19565,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":133631,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":401394,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":294638,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":348815,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":37049,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":383773,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":349755,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":171034,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":434177,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":288200,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":301285,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":330640,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":294639,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":277716,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":20338,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":445920,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":127158,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":388536,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":311093,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":180934,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":406507,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":430831,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":167225,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":191981,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":334735,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":283274,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":127213,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":303460,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":19967,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":17585,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":350318,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":482903,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":469965,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":348818,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":432412,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":365660,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":436443,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":389467,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":347305,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":437550,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":365988,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":382344,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":337934,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":394165,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":288132,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":351344,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":345435,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":451583,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":448969,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":498864,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":459224,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":408127,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":347304,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":416863,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":334630,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":105141,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":135106,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":151407,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":460725,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":267996,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":40477,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":284466,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":383647,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":420956,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":349212,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":318175,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":494387,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":289586,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":371524,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":427804,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":39168,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":200597,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":314315,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":346987,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":342256,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":98534,\"customeinkauf\":null},{\"customteamid\":1000043,\"response.player.id\":359491,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":394984,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":362813,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":503099,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":339172,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":282133,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":125695,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":233770,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":494345,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":339127,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":304140,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":322879,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":128717,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":304319,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":481046,\"customeinkauf\":null},{\"customteamid\":1000048,\"response.player.id\":409360,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":148409,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":55909,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":51028,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":1055,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":269309,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":313229,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":397951,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":341822,\"customeinkauf\":null},{\"customteamid\":1000075,\"response.player.id\":417653,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":322147,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":139637,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":111917,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":271444,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":418904,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":447134,\"customeinkauf\":null},{\"customteamid\":1000041,\"response.player.id\":475125,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":410510,\"customeinkauf\":null},{\"customteamid\":1000033,\"response.player.id\":70852,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":357276,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":19410,\"customeinkauf\":null},{\"customteamid\":1000019,\"response.player.id\":143671,\"customeinkauf\":null},{\"customteamid\":1000026,\"response.player.id\":144709,\"customeinkauf\":null},{\"customteamid\":1000036,\"response.player.id\":278112,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":470059,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":13949,\"customeinkauf\":null},{\"customteamid\":1000005,\"response.player.id\":376674,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":119082,\"customeinkauf\":null},{\"customteamid\":1000034,\"response.player.id\":153434,\"customeinkauf\":null},{\"customteamid\":1000078,\"response.player.id\":264531,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":445472,\"customeinkauf\":null},{\"customteamid\":1000044,\"response.player.id\":204376,\"customeinkauf\":null},{\"customteamid\":1000042,\"response.player.id\":56086,\"customeinkauf\":null},{\"customteamid\":1000071,\"response.player.id\":296838,\"customeinkauf\":null},{\"customteamid\":1000074,\"response.player.id\":474373,\"customeinkauf\":null},{\"customteamid\":1000062,\"response.player.id\":352477,\"customeinkauf\":null}];\n    const playersData = [{\"response.player.id\":60655,\"customteamid\":1000044,\"response.player.firstname\":\"Henri\",\"response.player.lastname\":\"Perk\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60655.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"1999-10-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/662.png\"},{\"response.player.id\":292492,\"customteamid\":1000041,\"response.player.firstname\":\"Aleksandr\",\"response.player.lastname\":\"Nikolajev\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/292492.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-06-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/662.png\"},{\"response.player.id\":60578,\"customteamid\":1000043,\"response.player.firstname\":\"Kaur\",\"response.player.lastname\":\"Kivila\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60578.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-11-22 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":262663,\"customteamid\":1000026,\"response.player.firstname\":\"Andreas\",\"response.player.lastname\":\"Vaher\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/262663.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-04-15 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":60612,\"customteamid\":1000041,\"response.player.firstname\":\"Vladislav\",\"response.player.lastname\":\"Kreida\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60612.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"1999-09-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":459095,\"customteamid\":1000041,\"response.player.firstname\":\"Remo\",\"response.player.lastname\":\"Valdmets\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/459095.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-01-06 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":459065,\"customteamid\":1000042,\"response.player.firstname\":\"Andero\",\"response.player.lastname\":\"Kaares\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/459065.png\",\"response.player.age\":\"17\",\"response.player.birth_date\":\"2009-06-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":389470,\"customteamid\":1000044,\"response.player.firstname\":\"Sander\",\"response.player.lastname\":\"Tovstik\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/389470.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-03-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":357661,\"customteamid\":1000042,\"response.player.firstname\":\"Oscar\",\"response.player.lastname\":\"Pihela\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/357661.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-11-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":128208,\"customteamid\":1000044,\"response.player.firstname\":\"Taaniel\",\"response.player.lastname\":\"Usta\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/128208.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-02-17 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":357669,\"customteamid\":1000041,\"response.player.firstname\":\"Tony\",\"response.player.lastname\":\"Varjund\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/357669.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-06-21 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/687.png\"},{\"response.player.id\":60486,\"customteamid\":1000044,\"response.player.firstname\":\"Tanel\",\"response.player.lastname\":\"Tammik\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60486.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-06-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2273.png\"},{\"response.player.id\":55913,\"customteamid\":1000026,\"response.player.firstname\":\"Mark Oliver\",\"response.player.lastname\":\"Roosnupp\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/55913.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1997-05-12 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2273.png\"},{\"response.player.id\":352524,\"customteamid\":1000026,\"response.player.firstname\":\"Bubacarr\",\"response.player.lastname\":\"Tambedou\",\"response.player.nationality\":\"Gambia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/352524.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-04-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2273.png\"},{\"response.player.id\":60682,\"customteamid\":1000043,\"response.player.firstname\":\"Sergei\",\"response.player.lastname\":\"Kondrattsev\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60682.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2001-09-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2274.png\"},{\"response.player.id\":66386,\"customteamid\":1000044,\"response.player.firstname\":\"German\",\"response.player.lastname\":\"\\u0160lein\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/66386.png\",\"response.player.age\":\"30\",\"response.player.birth_date\":\"1996-03-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2274.png\"},{\"response.player.id\":475810,\"customteamid\":1000042,\"response.player.firstname\":\"Nikita\",\"response.player.lastname\":\"Baljabkin\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/475810.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2007-09-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2274.png\"},{\"response.player.id\":60413,\"customteamid\":1000042,\"response.player.firstname\":\"Karl\",\"response.player.lastname\":\"Kruus\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60413.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2001-10-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3516.png\"},{\"response.player.id\":354416,\"customteamid\":1000026,\"response.player.firstname\":\"Rasmus\",\"response.player.lastname\":\"Kala\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/354416.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2000-09-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3524.png\"},{\"response.player.id\":105892,\"customteamid\":1000043,\"response.player.firstname\":\"Mark Anders\",\"response.player.lastname\":\"Lepik\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/105892.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2000-09-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3525.png\"},{\"response.player.id\":67339,\"customteamid\":1000041,\"response.player.firstname\":\"Magnus\",\"response.player.lastname\":\"Villota\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/67339.png\",\"response.player.age\":\"28\",\"response.player.birth_date\":\"1998-02-11 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3525.png\"},{\"response.player.id\":60653,\"customteamid\":1000026,\"response.player.firstname\":\"Henri\",\"response.player.lastname\":\"V\\u00e4lja\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60653.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2001-11-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3525.png\"},{\"response.player.id\":425869,\"customteamid\":1000043,\"response.player.firstname\":\"Matthias\",\"response.player.lastname\":\"Limberg\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/425869.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-02-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3525.png\"},{\"response.player.id\":127250,\"customteamid\":1000042,\"response.player.firstname\":\"Joonas\",\"response.player.lastname\":\"Vaherm\\u00e4gi\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/127250.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-04-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3526.png\"},{\"response.player.id\":283459,\"customteamid\":1000044,\"response.player.firstname\":\"Andero\",\"response.player.lastname\":\"Kivi\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/283459.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-11-07 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3526.png\"},{\"response.player.id\":323886,\"customteamid\":1000043,\"response.player.firstname\":\"Oskar\",\"response.player.lastname\":\"H\\u00f5im\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/323886.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-07-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3528.png\"},{\"response.player.id\":425870,\"customteamid\":1000042,\"response.player.firstname\":\"Romet\",\"response.player.lastname\":\"Nigula\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/425870.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2007-12-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3528.png\"},{\"response.player.id\":134743,\"customteamid\":1000043,\"response.player.firstname\":\"Rasmus\",\"response.player.lastname\":\"Kallas\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/134743.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-11-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3530.png\"},{\"response.player.id\":449721,\"customteamid\":1000026,\"response.player.firstname\":\"Mait\",\"response.player.lastname\":\"Vaino\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/449721.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-05-17 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3530.png\"},{\"response.player.id\":60489,\"customteamid\":1000026,\"response.player.firstname\":\"Patrick Genro\",\"response.player.lastname\":\"Veelma\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60489.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-04-15 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3530.png\"},{\"response.player.id\":60796,\"customteamid\":1000042,\"response.player.firstname\":\"Kaspar\",\"response.player.lastname\":\"Laur\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/60796.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-04-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/18657.png\"},{\"response.player.id\":289133,\"customteamid\":1000042,\"response.player.firstname\":\"Marten Henrik\",\"response.player.lastname\":\"Kelement\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/289133.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-10-24 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/18657.png\"},{\"response.player.id\":359328,\"customteamid\":1000044,\"response.player.firstname\":\"Henri\",\"response.player.lastname\":\"Raaper\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/359328.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-03-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/23684.png\"},{\"response.player.id\":48497,\"customteamid\":1000033,\"response.player.firstname\":\"Cedric Jan\",\"response.player.lastname\":\"Itten\",\"response.player.nationality\":\"Switzerland\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/48497.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1996-12-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/162.png\"},{\"response.player.id\":318083,\"customteamid\":1000019,\"response.player.firstname\":\"Otto\",\"response.player.lastname\":\"Ruoppi\",\"response.player.nationality\":\"Finland\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/318083.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-01-31 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/164.png\"},{\"response.player.id\":202845,\"customteamid\":1000019,\"response.player.firstname\":\"Fabio\",\"response.player.lastname\":\"Gruber\",\"response.player.nationality\":\"Peru\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/202845.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-09-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/164.png\"},{\"response.player.id\":344288,\"customteamid\":1000026,\"response.player.firstname\":\"Tony\",\"response.player.lastname\":\"Menzel\",\"response.player.nationality\":\"Germany\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/344288.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-03-06 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/183.png\"},{\"response.player.id\":48537,\"customteamid\":1000043,\"response.player.firstname\":\"Roberts\",\"response.player.lastname\":\"Uldri\\u0137is\",\"response.player.nationality\":\"Latvia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/48537.png\",\"response.player.age\":\"28\",\"response.player.birth_date\":\"1998-04-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/188.png\"},{\"response.player.id\":380588,\"customteamid\":1000043,\"response.player.firstname\":\"Lukas\",\"response.player.lastname\":\"Michelbrink\",\"response.player.nationality\":\"Lithuania\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/380588.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-04-15 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1320.png\"},{\"response.player.id\":161563,\"customteamid\":1000005,\"response.player.firstname\":\"Frederik\",\"response.player.lastname\":\"\\u00d8rs\\u00f8e Christensen\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/161563.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-06-07 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1324.png\"},{\"response.player.id\":432621,\"customteamid\":1000041,\"response.player.firstname\":\"Max\",\"response.player.lastname\":\"Lippert\",\"response.player.nationality\":\"Germany\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/432621.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-04-11 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/9371.png\"},{\"response.player.id\":165,\"customteamid\":1000075,\"response.player.firstname\":\"Timothy Joel\",\"response.player.lastname\":\"Eyoma\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/165.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-01-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/259.png\"},{\"response.player.id\":344234,\"customteamid\":1000062,\"response.player.firstname\":\"Isaiah\",\"response.player.lastname\":\"Dada-Mascoll\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/344234.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-05-24 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/259.png\"},{\"response.player.id\":364048,\"customteamid\":1000062,\"response.player.firstname\":\"Harrison\",\"response.player.lastname\":\"Murray-Campbell\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/364048.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-08-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/734.png\"},{\"response.player.id\":409011,\"customteamid\":1000034,\"response.player.firstname\":\"Anas\",\"response.player.lastname\":\"Tajaouart\",\"response.player.nationality\":\"Morocco\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/409011.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-09-07 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/5902.png\"},{\"response.player.id\":483128,\"customteamid\":1000036,\"response.player.firstname\":\"Elie\",\"response.player.lastname\":\"Mbavu\",\"response.player.nationality\":\"Belgium\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/483128.png\",\"response.player.age\":\"16\",\"response.player.birth_date\":\"2009-10-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/19045.png\"},{\"response.player.id\":396220,\"customteamid\":1000034,\"response.player.firstname\":\"Ka\\u00efs Houdoussi\",\"response.player.lastname\":\"Barry\",\"response.player.nationality\":\"Belgium\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/396220.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-02-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/19046.png\"},{\"response.player.id\":359371,\"customteamid\":1000034,\"response.player.firstname\":\"Bas\",\"response.player.lastname\":\"Langenbick\",\"response.player.nationality\":\"Belgium\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/359371.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-02-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/19897.png\"},{\"response.player.id\":421134,\"customteamid\":1000034,\"response.player.firstname\":\"Dr\\u00e9\",\"response.player.lastname\":\"Callens\",\"response.player.nationality\":\"Belgium\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/421134.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-01-30 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/19897.png\"},{\"response.player.id\":519984,\"customteamid\":1000048,\"response.player.firstname\":\"Mamadou Wurie\",\"response.player.lastname\":\"Jalloh\",\"response.player.nationality\":\"Sierra Leone\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/519984.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-11-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/650.png\"},{\"response.player.id\":263877,\"customteamid\":1000044,\"response.player.firstname\":\"Luka\",\"response.player.lastname\":\"Kuittinen\",\"response.player.nationality\":\"Finland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/263877.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-03-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1164.png\"},{\"response.player.id\":48151,\"customteamid\":1000078,\"response.player.firstname\":\"Saku Tuomas Severi\",\"response.player.lastname\":\"Yl\\u00e4tupa\",\"response.player.nationality\":\"Finland\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/48151.png\",\"response.player.age\":\"27\",\"response.player.birth_date\":\"1999-08-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2082.png\"},{\"response.player.id\":329166,\"customteamid\":1000034,\"response.player.firstname\":\"David\",\"response.player.lastname\":\"Celic\",\"response.player.nationality\":\"Sweden\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/329166.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-03-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/370.png\"},{\"response.player.id\":313786,\"customteamid\":1000074,\"response.player.firstname\":\"Rony Jene Aleksi\",\"response.player.lastname\":\"Jansson\",\"response.player.nationality\":\"Finland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/313786.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-01-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/374.png\"},{\"response.player.id\":208770,\"customteamid\":1000041,\"response.player.firstname\":\"Erko Jonne\",\"response.player.lastname\":\"T\\u00f5ugjas\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/208770.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-07-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/766.png\"},{\"response.player.id\":516006,\"customteamid\":1000026,\"response.player.firstname\":\"Albin Mats Edvin\",\"response.player.lastname\":\"Andersson\",\"response.player.nationality\":\"Sweden\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/516006.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-02-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/812.png\"},{\"response.player.id\":424749,\"customteamid\":1000048,\"response.player.firstname\":\"Michael\",\"response.player.lastname\":\"Parker\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/424749.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2004-12-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2166.png\"},{\"response.player.id\":39302,\"customteamid\":1000041,\"response.player.firstname\":\"Matvei\",\"response.player.lastname\":\"Igonen\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/39302.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1996-10-02 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2172.png\"},{\"response.player.id\":374997,\"customteamid\":1000042,\"response.player.firstname\":\"Mikkel\",\"response.player.lastname\":\"Riis Ladefoged\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/374997.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-06-09 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2241.png\"},{\"response.player.id\":283562,\"customteamid\":1000033,\"response.player.firstname\":\"Andrea\",\"response.player.lastname\":\"Zammit\",\"response.player.nationality\":\"Malta\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/283562.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-04-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/659.png\"},{\"response.player.id\":328464,\"customteamid\":1000041,\"response.player.firstname\":\"Moussa\",\"response.player.lastname\":\"Ciss\\u00e9\",\"response.player.nationality\":\"France\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/328464.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-04-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/551.png\"},{\"response.player.id\":309763,\"customteamid\":1000036,\"response.player.firstname\":\"Livano\",\"response.player.lastname\":\"Comenencia\",\"response.player.nationality\":\"Curacao\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/309763.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-02-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/783.png\"},{\"response.player.id\":381537,\"customteamid\":1000019,\"response.player.firstname\":\"Alessandro\",\"response.player.lastname\":\"Vogt\",\"response.player.nationality\":\"Switzerland\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/381537.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-02-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1011.png\"},{\"response.player.id\":153407,\"customteamid\":1000074,\"response.player.firstname\":\"Nathan Jerome Chatoyer\",\"response.player.lastname\":\"Butler-Oyedeji\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/153407.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-01-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1014.png\"},{\"response.player.id\":323746,\"customteamid\":1000071,\"response.player.firstname\":\"Liam Scott\",\"response.player.lastname\":\"Chipperfield\",\"response.player.nationality\":\"Switzerland\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/323746.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-02-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/10590.png\"},{\"response.player.id\":383770,\"customteamid\":1000048,\"response.player.firstname\":\"Jack Andrew\",\"response.player.lastname\":\"Davidson Fletcher\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/383770.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-03-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/33.png\"},{\"response.player.id\":153422,\"customteamid\":1000078,\"response.player.firstname\":\"Ethan Craig\",\"response.player.lastname\":\"Brierley\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/153422.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-11-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/37.png\"},{\"response.player.id\":362767,\"customteamid\":1000078,\"response.player.firstname\":\"Matthew\",\"response.player.lastname\":\"Young\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/362767.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-11-24 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/37.png\"},{\"response.player.id\":179651,\"customteamid\":1000074,\"response.player.firstname\":\"Joseph  William John\",\"response.player.lastname\":\"Taylor\",\"response.player.nationality\":\"Wales\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/179651.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-11-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/37.png\"},{\"response.player.id\":17832,\"customteamid\":1000062,\"response.player.firstname\":\"Matthew William\",\"response.player.lastname\":\"Pollock\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/17832.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2001-09-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/38.png\"},{\"response.player.id\":456585,\"customteamid\":1000062,\"response.player.firstname\":\"Amin\",\"response.player.lastname\":\"Nabizada\",\"response.player.nationality\":\"Afghanistan\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/456585.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-06-21 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/38.png\"},{\"response.player.id\":460853,\"customteamid\":1000036,\"response.player.firstname\":\"Jeremy\",\"response.player.lastname\":\"Monga\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/460853.png\",\"response.player.age\":\"17\",\"response.player.birth_date\":\"2009-07-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/46.png\"},{\"response.player.id\":305733,\"customteamid\":1000034,\"response.player.firstname\":\"William Thomas\",\"response.player.lastname\":\"Alves\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/305733.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-05-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/46.png\"},{\"response.player.id\":288118,\"customteamid\":1000074,\"response.player.firstname\":\"Lewis\",\"response.player.lastname\":\"Orford\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/288118.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-02-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/48.png\"},{\"response.player.id\":482888,\"customteamid\":1000062,\"response.player.firstname\":\"Reggie\",\"response.player.lastname\":\"Walsh\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/482888.png\",\"response.player.age\":\"17\",\"response.player.birth_date\":\"2008-10-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/49.png\"},{\"response.player.id\":301295,\"customteamid\":1000034,\"response.player.firstname\":\"Kaden Kai\",\"response.player.lastname\":\"Rodney\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/301295.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2004-10-07 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/52.png\"},{\"response.player.id\":437566,\"customteamid\":1000033,\"response.player.firstname\":\"Ashqar\",\"response.player.lastname\":\"Ahmed\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/437566.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-08-31 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/53.png\"},{\"response.player.id\":301282,\"customteamid\":1000019,\"response.player.firstname\":\"Benn David\",\"response.player.lastname\":\"Ward\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/301282.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-01-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/53.png\"},{\"response.player.id\":153400,\"customteamid\":1000048,\"response.player.firstname\":\"Sam\",\"response.player.lastname\":\"Greenwood\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/153400.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-01-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/56.png\"},{\"response.player.id\":294904,\"customteamid\":1000071,\"response.player.firstname\":\"Samuel John\",\"response.player.lastname\":\"Bell\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/294904.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-05-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/56.png\"},{\"response.player.id\":487345,\"customteamid\":1000071,\"response.player.firstname\":\"George\",\"response.player.lastname\":\"Evans\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/487345.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-05-16 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/58.png\"},{\"response.player.id\":350323,\"customteamid\":1000071,\"response.player.firstname\":\"Zakariya\",\"response.player.lastname\":\"Lovelace\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/350323.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-01-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/58.png\"},{\"response.player.id\":357237,\"customteamid\":1000071,\"response.player.firstname\":\"Kamari Antonio\",\"response.player.lastname\":\"Grant\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/357237.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-01-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/58.png\"},{\"response.player.id\":282254,\"customteamid\":1000034,\"response.player.firstname\":\"Odeluga Joshua\",\"response.player.lastname\":\"Offiah\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/282254.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-10-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/59.png\"},{\"response.player.id\":413499,\"customteamid\":1000078,\"response.player.firstname\":\"Oliver\",\"response.player.lastname\":\"Bostock\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/413499.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-02-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/60.png\"},{\"response.player.id\":19565,\"customteamid\":1000074,\"response.player.firstname\":\"Jensen Guy\",\"response.player.lastname\":\"Weir\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/19565.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-01-31 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/61.png\"},{\"response.player.id\":133631,\"customteamid\":1000048,\"response.player.firstname\":\"Richard\",\"response.player.lastname\":\"Akinfolarin Taylor\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/133631.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2000-10-02 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/68.png\"},{\"response.player.id\":401394,\"customteamid\":1000062,\"response.player.firstname\":\"Isaac\",\"response.player.lastname\":\"Gordon\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/401394.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-01-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/69.png\"},{\"response.player.id\":294638,\"customteamid\":1000033,\"response.player.firstname\":\"Finley\",\"response.player.lastname\":\"Munroe\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/294638.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-02-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/70.png\"},{\"response.player.id\":348815,\"customteamid\":1000062,\"response.player.firstname\":\"Law Marc\",\"response.player.lastname\":\"McCabe\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/348815.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-01-16 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/70.png\"},{\"response.player.id\":37049,\"customteamid\":1000048,\"response.player.firstname\":\"Alex\",\"response.player.lastname\":\"Bangura\",\"response.player.nationality\":\"Sierra Leone\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/37049.png\",\"response.player.age\":\"27\",\"response.player.birth_date\":\"1999-07-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/70.png\"},{\"response.player.id\":383773,\"customteamid\":1000074,\"response.player.firstname\":\"Lucien\",\"response.player.lastname\":\"Mahovo\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/383773.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-06-07 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/71.png\"},{\"response.player.id\":349755,\"customteamid\":1000019,\"response.player.firstname\":\"Kellen\",\"response.player.lastname\":\"Fisher\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/349755.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-05-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/71.png\"},{\"response.player.id\":171034,\"customteamid\":1000071,\"response.player.firstname\":\"Liam Geoffrey\",\"response.player.lastname\":\"Gibbs\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/171034.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-12-16 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/71.png\"},{\"response.player.id\":434177,\"customteamid\":1000048,\"response.player.firstname\":\"Errol\",\"response.player.lastname\":\"Mundle-Smith\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/434177.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-03-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/71.png\"},{\"response.player.id\":288200,\"customteamid\":1000034,\"response.player.firstname\":\"Alfie David\",\"response.player.lastname\":\"Lloyd\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/288200.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-04-30 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/72.png\"},{\"response.player.id\":301285,\"customteamid\":1000074,\"response.player.firstname\":\"Pierce\",\"response.player.lastname\":\"Charles\",\"response.player.nationality\":\"Northern Ireland\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/301285.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-07-21 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/72.png\"},{\"response.player.id\":330640,\"customteamid\":1000036,\"response.player.firstname\":\"Harrison\",\"response.player.lastname\":\"Jones\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/330640.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-02-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/746.png\"},{\"response.player.id\":294639,\"customteamid\":1000071,\"response.player.firstname\":\"Jason Robert Sraha\",\"response.player.lastname\":\"Sraha\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/294639.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-11-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/748.png\"},{\"response.player.id\":277716,\"customteamid\":1000034,\"response.player.firstname\":\"Antwoine\",\"response.player.lastname\":\"Hackford\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/277716.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-03-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1333.png\"},{\"response.player.id\":20338,\"customteamid\":1000075,\"response.player.firstname\":\"Isaac\",\"response.player.lastname\":\"Hutchinson\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/20338.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-04-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1334.png\"},{\"response.player.id\":445920,\"customteamid\":1000048,\"response.player.firstname\":\"Ibrahim\",\"response.player.lastname\":\"Fullah\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/445920.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-04-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1335.png\"},{\"response.player.id\":127158,\"customteamid\":1000078,\"response.player.firstname\":\"Harvey Read\",\"response.player.lastname\":\"Saunders\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/127158.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1997-07-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1337.png\"},{\"response.player.id\":388536,\"customteamid\":1000019,\"response.player.firstname\":\"Bobby\",\"response.player.lastname\":\"Pointon\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/388536.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-01-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1343.png\"},{\"response.player.id\":311093,\"customteamid\":1000036,\"response.player.firstname\":\"Tommy\",\"response.player.lastname\":\"Simkin\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/311093.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2004-12-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1354.png\"},{\"response.player.id\":180934,\"customteamid\":1000034,\"response.player.firstname\":\"Oliver\",\"response.player.lastname\":\"Casey\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/180934.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2000-10-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1356.png\"},{\"response.player.id\":406507,\"customteamid\":1000075,\"response.player.firstname\":\"Joseph\",\"response.player.lastname\":\"Johnson\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/406507.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-01-09 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1359.png\"},{\"response.player.id\":430831,\"customteamid\":1000033,\"response.player.firstname\":\"Jake\",\"response.player.lastname\":\"Richards\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/430831.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-08-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1359.png\"},{\"response.player.id\":167225,\"customteamid\":1000019,\"response.player.firstname\":\"Isaac\",\"response.player.lastname\":\"Sinclair\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/167225.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2001-07-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1360.png\"},{\"response.player.id\":191981,\"customteamid\":1000036,\"response.player.firstname\":\"Jayden Darren George\",\"response.player.lastname\":\"Wareham\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/191981.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-05-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1364.png\"},{\"response.player.id\":334735,\"customteamid\":1000034,\"response.player.firstname\":\"Josh David\",\"response.player.lastname\":\"Donaldson\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/334735.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-09-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1366.png\"},{\"response.player.id\":283274,\"customteamid\":1000078,\"response.player.firstname\":\"Jovan Anthony\",\"response.player.lastname\":\"Malcolm\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/283274.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-12-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1368.png\"},{\"response.player.id\":127213,\"customteamid\":1000074,\"response.player.firstname\":\"Adam Nicholas\",\"response.player.lastname\":\"Senior\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/127213.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-01-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1369.png\"},{\"response.player.id\":303460,\"customteamid\":1000019,\"response.player.firstname\":\"Dominic\",\"response.player.lastname\":\"Ballard\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/303460.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-04-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1373.png\"},{\"response.player.id\":19967,\"customteamid\":1000034,\"response.player.firstname\":\"Louis Samuel\",\"response.player.lastname\":\"Reed\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/19967.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1997-07-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1374.png\"},{\"response.player.id\":17585,\"customteamid\":1000034,\"response.player.firstname\":\"Callum\",\"response.player.lastname\":\"Roberts\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/17585.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1997-04-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1376.png\"},{\"response.player.id\":350318,\"customteamid\":1000048,\"response.player.firstname\":\"Kamil Amadu\",\"response.player.lastname\":\"Conteh\",\"response.player.nationality\":\"Sierra Leone\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/350318.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2002-12-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1379.png\"},{\"response.player.id\":482903,\"customteamid\":1000078,\"response.player.firstname\":\"Marli Ellis\",\"response.player.lastname\":\"Salmon\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/482903.png\",\"response.player.age\":\"17\",\"response.player.birth_date\":\"2009-08-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7189.png\"},{\"response.player.id\":469965,\"customteamid\":1000048,\"response.player.firstname\":\"Elijah\",\"response.player.lastname\":\"Upson\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/469965.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-03-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7189.png\"},{\"response.player.id\":348818,\"customteamid\":1000062,\"response.player.firstname\":\"Brayden\",\"response.player.lastname\":\"Clarke\",\"response.player.nationality\":\"Wales\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/348818.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-07-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7189.png\"},{\"response.player.id\":432412,\"customteamid\":1000033,\"response.player.firstname\":\"Max\",\"response.player.lastname\":\"Jenner\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/432412.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-04-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7190.png\"},{\"response.player.id\":365660,\"customteamid\":1000062,\"response.player.firstname\":\"Kiano\",\"response.player.lastname\":\"Dyer\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/365660.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-11-21 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7192.png\"},{\"response.player.id\":436443,\"customteamid\":1000075,\"response.player.firstname\":\"Jonah\",\"response.player.lastname\":\"Kusi-Asare\",\"response.player.nationality\":\"Sweden\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/436443.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-07-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7194.png\"},{\"response.player.id\":389467,\"customteamid\":1000062,\"response.player.firstname\":\"Jack\",\"response.player.lastname\":\"Wint\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/389467.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-10-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7197.png\"},{\"response.player.id\":347305,\"customteamid\":1000062,\"response.player.firstname\":\"Jaden\",\"response.player.lastname\":\"Heskey\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/347305.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-12-17 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7197.png\"},{\"response.player.id\":437550,\"customteamid\":1000062,\"response.player.firstname\":\"Matthew\",\"response.player.lastname\":\"Warhurst\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/437550.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-09-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7197.png\"},{\"response.player.id\":365988,\"customteamid\":1000071,\"response.player.firstname\":\"Aidan\",\"response.player.lastname\":\"Harris\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/365988.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-12-16 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7199.png\"},{\"response.player.id\":382344,\"customteamid\":1000071,\"response.player.firstname\":\"Anthony Junior\",\"response.player.lastname\":\"Munda\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/382344.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2006-09-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7199.png\"},{\"response.player.id\":337934,\"customteamid\":1000078,\"response.player.firstname\":\"Leo\",\"response.player.lastname\":\"Shahar\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/337934.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-03-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7199.png\"},{\"response.player.id\":394165,\"customteamid\":1000034,\"response.player.firstname\":\"Sean Thoms\",\"response.player.lastname\":\"Neave\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/394165.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-05-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7199.png\"},{\"response.player.id\":288132,\"customteamid\":1000033,\"response.player.firstname\":\"Alex\",\"response.player.lastname\":\"Williams\",\"response.player.nationality\":\"Wales\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/288132.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-01-02 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/11913.png\"},{\"response.player.id\":351344,\"customteamid\":1000075,\"response.player.firstname\":\"Samuel Nicholas\",\"response.player.lastname\":\"Chambers\",\"response.player.nationality\":\"Scotland\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/351344.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-08-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/14430.png\"},{\"response.player.id\":345435,\"customteamid\":1000075,\"response.player.firstname\":\"Charlie\",\"response.player.lastname\":\"Crew\",\"response.player.nationality\":\"Wales\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/345435.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-06-15 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/14430.png\"},{\"response.player.id\":451583,\"customteamid\":1000033,\"response.player.firstname\":\"Kaden\",\"response.player.lastname\":\"Braithwaite\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/451583.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-03-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/15381.png\"},{\"response.player.id\":448969,\"customteamid\":1000033,\"response.player.firstname\":\"Reigan\",\"response.player.lastname\":\"Heskey\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/448969.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-01-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/15381.png\"},{\"response.player.id\":498864,\"customteamid\":1000044,\"response.player.firstname\":\"Lamin\",\"response.player.lastname\":\"Sillah\",\"response.player.nationality\":\"Gambia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/498864.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-06-06 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/19746.png\"},{\"response.player.id\":459224,\"customteamid\":1000033,\"response.player.firstname\":\"Vernon\",\"response.player.lastname\":\"Masara\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/459224.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-04-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/20081.png\"},{\"response.player.id\":408127,\"customteamid\":1000071,\"response.player.firstname\":\"Emeka\",\"response.player.lastname\":\"Adeile\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/408127.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-07-31 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/207.png\"},{\"response.player.id\":347304,\"customteamid\":1000074,\"response.player.firstname\":\"Souleymane\",\"response.player.lastname\":\"Sidibe\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/347304.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-02-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/411.png\"},{\"response.player.id\":416863,\"customteamid\":1000062,\"response.player.firstname\":\"Yo\\u00ebl\",\"response.player.lastname\":\"van den Ban\",\"response.player.nationality\":\"Netherlands\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/416863.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-01-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/418.png\"},{\"response.player.id\":334630,\"customteamid\":1000048,\"response.player.firstname\":\"Heine\",\"response.player.lastname\":\"\\u00c5sen Larsen\",\"response.player.nationality\":\"Norway\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/334630.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-07-09 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/325.png\"},{\"response.player.id\":105141,\"customteamid\":1000075,\"response.player.firstname\":\"Leopold\",\"response.player.lastname\":\"Wahlstedt\",\"response.player.nationality\":\"Sweden\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/105141.png\",\"response.player.age\":\"27\",\"response.player.birth_date\":\"1999-07-04 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/331.png\"},{\"response.player.id\":135106,\"customteamid\":1000042,\"response.player.firstname\":\"\\u00d3lafur\",\"response.player.lastname\":\"Gu\\u00f0mundsson\",\"response.player.nationality\":\"Iceland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/135106.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-03-18 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/757.png\"},{\"response.player.id\":151407,\"customteamid\":1000044,\"response.player.firstname\":\"Isak Gabriel\",\"response.player.lastname\":\"Skotheim\",\"response.player.nationality\":\"Norway\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/151407.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2001-04-09 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2150.png\"},{\"response.player.id\":460725,\"customteamid\":1000044,\"response.player.firstname\":\"Yusuke\",\"response.player.lastname\":\"Omori\",\"response.player.nationality\":\"Japan\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/460725.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-05-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/612.png\"},{\"response.player.id\":267996,\"customteamid\":1000043,\"response.player.firstname\":\"Matijus\",\"response.player.lastname\":\"Remeikis\",\"response.player.nationality\":\"Lithuania\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/267996.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-03-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1097.png\"},{\"response.player.id\":40477,\"customteamid\":1000043,\"response.player.firstname\":\"Justas\",\"response.player.lastname\":\"Lasickas\",\"response.player.nationality\":\"Lithuania\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/40477.png\",\"response.player.age\":\"28\",\"response.player.birth_date\":\"1997-10-06 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1097.png\"},{\"response.player.id\":284466,\"customteamid\":1000036,\"response.player.firstname\":\"Charlie Michael\",\"response.player.lastname\":\"Patino\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/284466.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-10-17 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/544.png\"},{\"response.player.id\":383647,\"customteamid\":1000019,\"response.player.firstname\":\"Diego\",\"response.player.lastname\":\"Kochen\",\"response.player.nationality\":\"USA\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/383647.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-03-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7885.png\"},{\"response.player.id\":420956,\"customteamid\":1000005,\"response.player.firstname\":\"Lasse\",\"response.player.lastname\":\"Fl\\u00f8 Borregaard\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/420956.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-10-15 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/395.png\"},{\"response.player.id\":349212,\"customteamid\":1000062,\"response.player.firstname\":\"William\",\"response.player.lastname\":\"Clem\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/349212.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-06-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/400.png\"},{\"response.player.id\":318175,\"customteamid\":1000005,\"response.player.firstname\":\"Alexander\",\"response.player.lastname\":\"Lien H\\u00e5pnes\",\"response.player.nationality\":\"Norway\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/318175.png\",\"response.player.age\":\"25\",\"response.player.birth_date\":\"2001-08-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/402.png\"},{\"response.player.id\":494387,\"customteamid\":1000005,\"response.player.firstname\":\"Jacob\",\"response.player.lastname\":\"Br\\u00f8chner Amb\\u00e6k\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/494387.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-03-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/407.png\"},{\"response.player.id\":289586,\"customteamid\":1000005,\"response.player.firstname\":\"Jonathan\",\"response.player.lastname\":\"Risbjerg \\u00c6gidius\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/289586.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-04-22 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/625.png\"},{\"response.player.id\":371524,\"customteamid\":1000005,\"response.player.firstname\":\"Renzo\",\"response.player.lastname\":\"Tytens\",\"response.player.nationality\":\"Belgium\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/371524.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-06-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/625.png\"},{\"response.player.id\":427804,\"customteamid\":1000005,\"response.player.firstname\":\"Lukas Emil\",\"response.player.lastname\":\"Kirkegaard\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/427804.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-05-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2070.png\"},{\"response.player.id\":39168,\"customteamid\":1000005,\"response.player.firstname\":\"Meinhard\",\"response.player.lastname\":\"Egilsson Olsen\",\"response.player.nationality\":\"Faroe Islands\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/39168.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1997-04-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/4676.png\"},{\"response.player.id\":200597,\"customteamid\":1000026,\"response.player.firstname\":\"Kristo\",\"response.player.lastname\":\"Hussar\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/200597.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-06-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/655.png\"},{\"response.player.id\":314315,\"customteamid\":1000041,\"response.player.firstname\":\"Dimitri\",\"response.player.lastname\":\"Jepihhin\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/314315.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-10-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/655.png\"},{\"response.player.id\":346987,\"customteamid\":1000071,\"response.player.firstname\":\"Kai Omoko\",\"response.player.lastname\":\"Brosnan\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/346987.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-04-28 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3552.png\"},{\"response.player.id\":342256,\"customteamid\":1000041,\"response.player.firstname\":\"Jakub\",\"response.player.lastname\":\"Bad\\u017ego\\u0148\",\"response.player.nationality\":\"Slovakia\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/342256.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-06-02 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/7972.png\"},{\"response.player.id\":98534,\"customteamid\":1000042,\"response.player.firstname\":\"Nikola\",\"response.player.lastname\":\"Di\\u0161i\\u0107\",\"response.player.nationality\":\"Serbia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/98534.png\",\"response.player.age\":\"28\",\"response.player.birth_date\":\"1998-07-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/12329.png\"},{\"response.player.id\":359491,\"customteamid\":1000043,\"response.player.firstname\":\"G\\u013cebs\",\"response.player.lastname\":\"\\u017daleiko\",\"response.player.nationality\":\"Latvia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/359491.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-06-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/18834.png\"},{\"response.player.id\":394984,\"customteamid\":1000078,\"response.player.firstname\":\"Leo\",\"response.player.lastname\":\"Rimac\",\"response.player.nationality\":\"Croatia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/394984.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-03-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/4374.png\"},{\"response.player.id\":362813,\"customteamid\":1000075,\"response.player.firstname\":\"David\",\"response.player.lastname\":\"Puczka\",\"response.player.nationality\":\"Austria\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/362813.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-01-26 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/495.png\"},{\"response.player.id\":503099,\"customteamid\":1000062,\"response.player.firstname\":\"Joachim\",\"response.player.lastname\":\"Williamson\",\"response.player.nationality\":\"Switzerland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/503099.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2007-11-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/24734.png\"},{\"response.player.id\":339172,\"customteamid\":1000036,\"response.player.firstname\":\"Callum James\",\"response.player.lastname\":\"Osmand\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/339172.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-11-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/247.png\"},{\"response.player.id\":282133,\"customteamid\":1000041,\"response.player.firstname\":\"Joseph\",\"response.player.lastname\":\"Brennen Hugill\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/282133.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-10-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/250.png\"},{\"response.player.id\":125695,\"customteamid\":1000071,\"response.player.firstname\":\"Lewis William\",\"response.player.lastname\":\"Mayo\",\"response.player.nationality\":\"Scotland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/125695.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-03-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/252.png\"},{\"response.player.id\":233770,\"customteamid\":1000044,\"response.player.firstname\":\"Ali Mohammed\",\"response.player.lastname\":\"Omar\",\"response.player.nationality\":\"Somalia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/233770.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"1999-09-14 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1382.png\"},{\"response.player.id\":494345,\"customteamid\":1000033,\"response.player.firstname\":\"Filip\",\"response.player.lastname\":\"Skorb\",\"response.player.nationality\":\"Poland\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/494345.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-03-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/16845.png\"},{\"response.player.id\":339127,\"customteamid\":1000048,\"response.player.firstname\":\"Mohamed\",\"response.player.lastname\":\"Hafid\",\"response.player.nationality\":\"Morocco\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/339127.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2004-12-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/88.png\"},{\"response.player.id\":304140,\"customteamid\":1000071,\"response.player.firstname\":\"M\\u00e1rio\",\"response.player.lastname\":\"Sauer\",\"response.player.nationality\":\"Slovakia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/304140.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-05-15 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/96.png\"},{\"response.player.id\":322879,\"customteamid\":1000019,\"response.player.firstname\":\"Roggerio\",\"response.player.lastname\":\"Nyakossi\",\"response.player.nationality\":\"Switzerland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/322879.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-01-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/9260.png\"},{\"response.player.id\":128717,\"customteamid\":1000078,\"response.player.firstname\":\"Luka\",\"response.player.lastname\":\"Juri\\u010di\\u0107\",\"response.player.nationality\":\"Bosnia and Herzegovina\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/128717.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1996-11-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3364.png\"},{\"response.player.id\":304319,\"customteamid\":1000041,\"response.player.firstname\":\"Ademola\",\"response.player.lastname\":\"Oladipupo Ola-Adebomi\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/304319.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2003-09-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1398.png\"},{\"response.player.id\":481046,\"customteamid\":1000019,\"response.player.firstname\":\"Conrad\",\"response.player.lastname\":\"Scholl\",\"response.player.nationality\":\"Germany\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/481046.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-07-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/8250.png\"},{\"response.player.id\":409360,\"customteamid\":1000048,\"response.player.firstname\":\"Krzysztof\",\"response.player.lastname\":\"Kurowski\",\"response.player.nationality\":\"Poland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/409360.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-08-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/337.png\"},{\"response.player.id\":148409,\"customteamid\":1000044,\"response.player.firstname\":\"Micha\\u0142\",\"response.player.lastname\":\"Feliks\",\"response.player.nationality\":\"Poland\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/148409.png\",\"response.player.age\":\"27\",\"response.player.birth_date\":\"1999-03-19 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3488.png\"},{\"response.player.id\":55909,\"customteamid\":1000042,\"response.player.firstname\":\"M\\u00e4rten\",\"response.player.lastname\":\"Kuusk\",\"response.player.nationality\":\"Estonia\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/55909.png\",\"response.player.age\":\"30\",\"response.player.birth_date\":\"1996-04-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/16239.png\"},{\"response.player.id\":51028,\"customteamid\":1000042,\"response.player.firstname\":\"Nicholas Antero\",\"response.player.lastname\":\"H\\u00e4m\\u00e4l\\u00e4inen\",\"response.player.nationality\":\"Finland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/51028.png\",\"response.player.age\":\"29\",\"response.player.birth_date\":\"1997-03-05 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/4003.png\"},{\"response.player.id\":1055,\"customteamid\":1000062,\"response.player.firstname\":\"Plamen\",\"response.player.lastname\":\"Ivanov Iliev\",\"response.player.nationality\":\"Bulgaria\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/1055.png\",\"response.player.age\":\"34\",\"response.player.birth_date\":\"1991-11-30 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/4660.png\"},{\"response.player.id\":269309,\"customteamid\":1000062,\"response.player.firstname\":\"Georg\",\"response.player.lastname\":\"Stojanovski\",\"response.player.nationality\":\"North Macedonia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/269309.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-01-12 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/4660.png\"},{\"response.player.id\":313229,\"customteamid\":1000075,\"response.player.firstname\":\"Jimi\",\"response.player.lastname\":\"Gower\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/313229.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2004-10-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/215.png\"},{\"response.player.id\":397951,\"customteamid\":1000075,\"response.player.firstname\":\"Koby\",\"response.player.lastname\":\"Mottoh\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/397951.png\",\"response.player.age\":\"\",\"response.player.birth_date\":\"\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/215.png\"},{\"response.player.id\":341822,\"customteamid\":1000019,\"response.player.firstname\":\"Silas Thorup\",\"response.player.lastname\":\"Andersen\",\"response.player.nationality\":\"Denmark\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/341822.png\",\"response.player.age\":\"22\",\"response.player.birth_date\":\"2004-06-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/228.png\"},{\"response.player.id\":417653,\"customteamid\":1000075,\"response.player.firstname\":\"Jesse\",\"response.player.lastname\":\"Derry\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/417653.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-06-30 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/228.png\"},{\"response.player.id\":322147,\"customteamid\":1000078,\"response.player.firstname\":\"Andres Emil\",\"response.player.lastname\":\"Sfait\",\"response.player.nationality\":\"Romania\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/322147.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2004-12-09 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2246.png\"},{\"response.player.id\":139637,\"customteamid\":1000078,\"response.player.firstname\":\"Moonga\",\"response.player.lastname\":\"Aluta Simba\",\"response.player.nationality\":\"Sweden\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/139637.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-05-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2579.png\"},{\"response.player.id\":111917,\"customteamid\":1000034,\"response.player.firstname\":\"Aljo\\u0161a\",\"response.player.lastname\":\"Matko\",\"response.player.nationality\":\"Slovenia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/111917.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-03-29 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2255.png\"},{\"response.player.id\":271444,\"customteamid\":1000036,\"response.player.firstname\":\"Merchas\",\"response.player.lastname\":\"Ghazi Salih Doski\",\"response.player.nationality\":\"Iraq\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/271444.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"1999-12-07 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/567.png\"},{\"response.player.id\":418904,\"customteamid\":1000033,\"response.player.firstname\":\"Patrik\",\"response.player.lastname\":\"Dulay\",\"response.player.nationality\":\"Slovakia\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/418904.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-03-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/782.png\"},{\"response.player.id\":447134,\"customteamid\":1000071,\"response.player.firstname\":\"Tavar\",\"response.player.lastname\":\"Thompson\",\"response.player.nationality\":\"Jamaica\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/447134.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-01-25 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3440.png\"},{\"response.player.id\":475125,\"customteamid\":1000041,\"response.player.firstname\":\"Snayder Vladimir\",\"response.player.lastname\":\"Porozo Caicedo\",\"response.player.nationality\":\"Ecuador\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/475125.png\",\"response.player.age\":\"19\",\"response.player.birth_date\":\"2007-05-12 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/1156.png\"},{\"response.player.id\":410510,\"customteamid\":1000044,\"response.player.firstname\":\"Atli \\u00de\\u00f3r\",\"response.player.lastname\":\"J\\u00f3nasson\",\"response.player.nationality\":\"Iceland\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/410510.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-08-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2117.png\"},{\"response.player.id\":70852,\"customteamid\":1000033,\"response.player.firstname\":\"Orlando David\",\"response.player.lastname\":\"Gill Noldin\",\"response.player.nationality\":\"Paraguay\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/70852.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-06-11 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/460.png\"},{\"response.player.id\":357276,\"customteamid\":1000078,\"response.player.firstname\":\"Christy\",\"response.player.lastname\":\"Grogan\",\"response.player.nationality\":\"Republic Of Ireland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/357276.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-10-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/670.png\"},{\"response.player.id\":19410,\"customteamid\":1000036,\"response.player.firstname\":\"Brandon\",\"response.player.lastname\":\"Fleming\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/19410.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"1999-12-03 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/670.png\"},{\"response.player.id\":143671,\"customteamid\":1000019,\"response.player.firstname\":\"Sadou\",\"response.player.lastname\":\"Diallo\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/143671.png\",\"response.player.age\":\"27\",\"response.player.birth_date\":\"1999-01-10 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3840.png\"},{\"response.player.id\":144709,\"customteamid\":1000026,\"response.player.firstname\":\"Joseph\",\"response.player.lastname\":\"Tetteh Anang\",\"response.player.nationality\":\"Ghana\",\"response.statistics.1.games.position\":\"Goalkeeper\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/144709.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"2000-06-08 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3843.png\"},{\"response.player.id\":278112,\"customteamid\":1000036,\"response.player.firstname\":\"Harry\",\"response.player.lastname\":\"Wood\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/278112.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-08-02 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/3854.png\"},{\"response.player.id\":470059,\"customteamid\":1000078,\"response.player.firstname\":\"Noah\",\"response.player.lastname\":\"McCann\",\"response.player.nationality\":\"Scotland\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/470059.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2005-09-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/941.png\"},{\"response.player.id\":13949,\"customteamid\":1000005,\"response.player.firstname\":\"Youstin Delfin\",\"response.player.lastname\":\"Salas G\\u00f3mez\",\"response.player.nationality\":\"Costa Rica\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/13949.png\",\"response.player.age\":\"30\",\"response.player.birth_date\":\"1996-06-17 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/947.png\"},{\"response.player.id\":376674,\"customteamid\":1000005,\"response.player.firstname\":\"Luka\",\"response.player.lastname\":\"Jovanovi\\u0107\",\"response.player.nationality\":\"Australia\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/376674.png\",\"response.player.age\":\"21\",\"response.player.birth_date\":\"2005-05-20 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/948.png\"},{\"response.player.id\":119082,\"customteamid\":1000034,\"response.player.firstname\":\"Simranjit Singh\",\"response.player.lastname\":\"Thandi\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/119082.png\",\"response.player.age\":\"26\",\"response.player.birth_date\":\"1999-10-11 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2269.png\"},{\"response.player.id\":153434,\"customteamid\":1000034,\"response.player.firstname\":\"William Thomas\",\"response.player.lastname\":\"Fish\",\"response.player.nationality\":\"England\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/153434.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-02-17 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/43.png\"},{\"response.player.id\":264531,\"customteamid\":1000078,\"response.player.firstname\":\"Oiva\",\"response.player.lastname\":\"Jukkola\",\"response.player.nationality\":\"Finland\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/264531.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2002-05-21 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/664.png\"},{\"response.player.id\":445472,\"customteamid\":1000074,\"response.player.firstname\":\"Dastan\",\"response.player.lastname\":\"Satpaev\",\"response.player.nationality\":\"Kazakhstan\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/445472.png\",\"response.player.age\":\"18\",\"response.player.birth_date\":\"2008-08-12 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/664.png\"},{\"response.player.id\":204376,\"customteamid\":1000044,\"response.player.firstname\":\"Zhaslan\",\"response.player.lastname\":\"Zhumashev\",\"response.player.nationality\":\"Kazakhstan\",\"response.statistics.1.games.position\":\"Midfielder\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/204376.png\",\"response.player.age\":\"24\",\"response.player.birth_date\":\"2001-09-27 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2259.png\"},{\"response.player.id\":56086,\"customteamid\":1000042,\"response.player.firstname\":\"Oralkhan\",\"response.player.lastname\":\"Omirtayev\",\"response.player.nationality\":\"Kazakhstan\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/56086.png\",\"response.player.age\":\"28\",\"response.player.birth_date\":\"1998-07-16 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/4558.png\"},{\"response.player.id\":296838,\"customteamid\":1000071,\"response.player.firstname\":\"Ignacio Daniel\",\"response.player.lastname\":\"Maestro Puch\",\"response.player.nationality\":\"Argentina\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/296838.png\",\"response.player.age\":\"23\",\"response.player.birth_date\":\"2003-08-13 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2291.png\"},{\"response.player.id\":474373,\"customteamid\":1000074,\"response.player.firstname\":\"Eder\",\"response.player.lastname\":\"L\\u00f3pez Castro\",\"response.player.nationality\":\"Mexico\",\"response.statistics.1.games.position\":\"Defender\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/474373.png\",\"response.player.age\":\"20\",\"response.player.birth_date\":\"2006-01-01 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2298.png\"},{\"response.player.id\":352477,\"customteamid\":1000062,\"response.player.firstname\":\"Nicol\\u00e1s\",\"response.player.lastname\":\"Johansen\",\"response.player.nationality\":\"Argentina\",\"response.statistics.1.games.position\":\"Attacker\",\"response.player.photo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/players\\\/352477.png\",\"response.player.age\":\"27\",\"response.player.birth_date\":\"1999-01-23 00:00:00\",\"realteam_logo\":\"https:\\\/\\\/media.api-sports.io\\\/football\\\/teams\\\/2330.png\"}];\n    const cleanField = str => String(str || '').trim();\n    const normalizeId = value => {\n        const raw = cleanField(value);\n        if (!raw) return '';\n        const numeric = Number(raw);\n        if (Number.isFinite(numeric)) {\n            return String(Math.trunc(numeric));\n        }\n        return raw;\n    };\n    const normalizePlayerPosition = value => {\n        const raw = cleanField(value).toLowerCase();\n        if (!raw) return '';\n\n        const compact = raw\n            .replace(\/\\.\/g, '')\n            .replace(\/\\s+\/g, '')\n            .replace(\/[^a-z]\/g, '');\n\n        const isIn = (...vals) => vals.includes(compact) || vals.includes(raw);\n        if (isIn('goalkeeper', 'keeper', 'gk', 'torwart', 'tw')) return 'Goalkeeper';\n        if (isIn('defender', 'defence', 'defense', 'df', 'verteidiger', 'abwehr', 'iv', 'fv', 'rv', 'lv')) return 'Defender';\n        if (isIn('midfielder', 'midfield', 'mf', 'mittelfeld', 'dm', 'zm', 'om')) return 'Midfielder';\n        if (isIn('attacker', 'attack', 'forward', 'striker', 'fw', 'st', 'hs', 'fs', 'angriff', 'sturmer', 'stuermer')) return 'Attacker';\n\n        if (compact.includes('goal') || compact.includes('keeper') || compact.includes('torwart')) return 'Goalkeeper';\n        if (compact.includes('def') || compact.includes('abwehr') || compact.includes('verteid')) return 'Defender';\n        if (compact.includes('mid') || compact.includes('mittelfeld')) return 'Midfielder';\n        if (compact.includes('att') || compact.includes('forw') || compact.includes('strik') || compact.includes('angriff') || compact.includes('sturm')) return 'Attacker';\n\n        return '';\n    };\n    const squadsMap = {};\n    const getPlayerIdsFromPlayersDataByTeam = teamId => {\n        const tid = normalizeId(teamId);\n        if(!tid || !Array.isArray(playersData)) return [];\n        const ids = [];\n        playersData.forEach(row => {\n            const rowTeamId = normalizeId(row.customteamid);\n            const pid = normalizeId(row['response.player.id']);\n            if(rowTeamId && pid && rowTeamId === tid && !ids.includes(pid)){\n                ids.push(pid);\n            }\n        });\n        return ids;\n    };\n    const getSquadIdsForTeam = teamId => {\n        const tid = normalizeId(teamId);\n        const fromSquads = tid ? (squadsMap[tid] || []) : [];\n        if(fromSquads.length) return fromSquads;\n\n        const fromPlayers = getPlayerIdsFromPlayersDataByTeam(teamId);\n        if(fromPlayers.length && tid){\n            squadsMap[tid] = fromPlayers.slice();\n        }\n        return fromPlayers;\n    };\n    const playersMap = {};\n    (function(){\n        if(Array.isArray(squadsData) && squadsData.length){\n            squadsData.forEach(row => {\n                const tid = normalizeId(row.customteamid);\n                const pid = normalizeId(row['response.player.id']);\n                if(!tid||!pid) return;\n                if(!squadsMap[tid]) squadsMap[tid] = [];\n                squadsMap[tid].push(pid);\n            });\n        }\n        if(Array.isArray(playersData) && playersData.length){\n            playersData.forEach(row => {\n            const pid = normalizeId(row['response.player.id']);\n            if(!pid) return;\n            const pos = normalizePlayerPosition(row['response.statistics.1.games.position']);\n            if(!playersMap[pid]){\n                playersMap[pid] = {\n                    id:    pid,\n                    first: cleanField(row['response.player.firstname']),\n                    last:  cleanField(row['response.player.lastname']),\n                    nat:   cleanField(row['response.player.nationality']),\n                    pos:   pos,\n                    photo: cleanField(row['response.player.photo']),\n                    age:   cleanField(row['response.player.age']),\n                    birthDate: cleanField(row['response.player.birth_date']),\n                    logo:  cleanField(row.realteam_logo)\n                };\n            } else if(!playersMap[pid].pos && pos){\n                playersMap[pid].pos = pos;\n            }\n\n            const tidFromPlayer = normalizeId(row.customteamid);\n            if(tidFromPlayer){\n                if(!squadsMap[tidFromPlayer]) squadsMap[tidFromPlayer] = [];\n                if(!squadsMap[tidFromPlayer].includes(pid)){\n                    squadsMap[tidFromPlayer].push(pid);\n                }\n            }\n            });\n    }\n})();\n\n    const countryCodeMap = {\"afghanistan\":\"AF\",\"albania\":\"AL\",\"algeria\":\"DZ\",\"andorra\":\"AD\",\"angola\":\"AO\",\"antigua and barbuda\":\"AG\",\"argentina\":\"AR\",\"armenia\":\"AM\",\"australia\":\"AU\",\"austria\":\"AT\",\"azerbaijan\":\"AZ\",\"bahamas\":\"BS\",\"bahrain\":\"BH\",\"bangladesh\":\"BD\",\"barbados\":\"BB\",\"belarus\":\"BY\",\"belgium\":\"BE\",\"belize\":\"BZ\",\"benin\":\"BJ\",\"bhutan\":\"BT\",\"bolivia\":\"BO\",\"bosnia and herzegovina\":\"BA\",\"botswana\":\"BW\",\"brazil\":\"BR\",\"brunei\":\"BN\",\"bulgaria\":\"BG\",\"burkina faso\":\"BF\",\"burundi\":\"BI\",\"cabo verde\":\"CV\",\"cambodia\":\"KH\",\"cameroon\":\"CM\",\"canada\":\"CA\",\"central african republic\":\"CF\",\"chad\":\"TD\",\"chile\":\"CL\",\"china\":\"CN\",\"colombia\":\"CO\",\"comoros\":\"KM\",\"congo\":\"CG\",\"cote divoire\":\"CI\",\"costa rica\":\"CR\",\"croatia\":\"HR\",\"cuba\":\"CU\",\"cyprus\":\"CY\",\"czech republic\":\"CZ\",\"czechia\":\"CZ\",\"democratic republic of the congo\":\"CD\",\"denmark\":\"DK\",\"djibouti\":\"DJ\",\"dominica\":\"DM\",\"dominican republic\":\"DO\",\"ecuador\":\"EC\",\"egypt\":\"EG\",\"el salvador\":\"SV\",\"equatorial guinea\":\"GQ\",\"eritrea\":\"ER\",\"estonia\":\"EE\",\"eswatini\":\"SZ\",\"ethiopia\":\"ET\",\"fiji\":\"FJ\",\"finland\":\"FI\",\"france\":\"FR\",\"faroe islands\":\"FO\",\"gabon\":\"GA\",\"gambia\":\"GM\",\"georgia\":\"GE\",\"germany\":\"DE\",\"ghana\":\"GH\",\"greece\":\"GR\",\"grenada\":\"GD\",\"guatemala\":\"GT\",\"guinea\":\"GN\",\"guinea-bissau\":\"GW\",\"guyana\":\"GY\",\"haiti\":\"HT\",\"holy see\":\"VA\",\"honduras\":\"HN\",\"hungary\":\"HU\",\"iceland\":\"IS\",\"india\":\"IN\",\"indonesia\":\"ID\",\"iran\":\"IR\",\"iraq\":\"IQ\",\"ireland\":\"IE\",\"israel\":\"IL\",\"italy\":\"IT\",\"jamaica\":\"JM\",\"japan\":\"JP\",\"jordan\":\"JO\",\"kazakhstan\":\"KZ\",\"kenya\":\"KE\",\"kiribati\":\"KI\",\"kuwait\":\"KW\",\"kyrgyzstan\":\"KG\",\"laos\":\"LA\",\"latvia\":\"LV\",\"lebanon\":\"LB\",\"lesotho\":\"LS\",\"liberia\":\"LR\",\"libya\":\"LY\",\"liechtenstein\":\"LI\",\"lithuania\":\"LT\",\"luxembourg\":\"LU\",\"madagascar\":\"MG\",\"malawi\":\"MW\",\"malaysia\":\"MY\",\"maldives\":\"MV\",\"mali\":\"ML\",\"malta\":\"MT\",\"martinique\":\"MQ\",\"marshall islands\":\"MH\",\"mauritania\":\"MR\",\"mauritius\":\"MU\",\"mexico\":\"MX\",\"micronesia\":\"FM\",\"moldova\":\"MD\",\"monaco\":\"MC\",\"mongolia\":\"MN\",\"montenegro\":\"ME\",\"morocco\":\"MA\",\"mozambique\":\"MZ\",\"myanmar\":\"MM\",\"namibia\":\"NA\",\"nauru\":\"NR\",\"nepal\":\"NP\",\"netherlands\":\"NL\",\"new zealand\":\"NZ\",\"nicaragua\":\"NI\",\"niger\":\"NE\",\"nigeria\":\"NG\",\"north korea\":\"KP\",\"north macedonia\":\"MK\",\"norway\":\"NO\",\"oman\":\"OM\",\"pakistan\":\"PK\",\"palau\":\"PW\",\"palestine\":\"PS\",\"panama\":\"PA\",\"papua new guinea\":\"PG\",\"paraguay\":\"PY\",\"peru\":\"PE\",\"philippines\":\"PH\",\"poland\":\"PL\",\"portugal\":\"PT\",\"qatar\":\"QA\",\"romania\":\"RO\",\"russia\":\"RU\",\"rwanda\":\"RW\",\"saint kitts and nevis\":\"KN\",\"saint lucia\":\"LC\",\"saint vincent and the grenadines\":\"VC\",\"samoa\":\"WS\",\"san marino\":\"SM\",\"san-marino\":\"SM\",\"sao tome and principe\":\"ST\",\"saudi arabia\":\"SA\",\"saudi-arabia\":\"SA\",\"senegal\":\"SN\",\"serbia\":\"RS\",\"seychelles\":\"SC\",\"sierra leone\":\"SL\",\"singapore\":\"SG\",\"slovakia\":\"SK\",\"slovenia\":\"SI\",\"solomon islands\":\"SB\",\"somalia\":\"SO\",\"south africa\":\"ZA\",\"south korea\":\"KR\",\"south sudan\":\"SS\",\"spain\":\"ES\",\"sri lanka\":\"LK\",\"sudan\":\"SD\",\"suriname\":\"SR\",\"sweden\":\"SE\",\"switzerland\":\"CH\",\"syria\":\"SY\",\"taiwan\":\"TW\",\"tajikistan\":\"TJ\",\"tanzania\":\"TZ\",\"thailand\":\"TH\",\"timor-leste\":\"TL\",\"togo\":\"TG\",\"tonga\":\"TO\",\"trinidad and tobago\":\"TT\",\"tunisia\":\"TN\",\"turkey\":\"TR\",\"turkiye\":\"TR\",\"turkmenistan\":\"TM\",\"tuvalu\":\"TV\",\"uganda\":\"UG\",\"ukraine\":\"UA\",\"united arab emirates\":\"AE\",\"united kingdom\":\"GB\",\"united states\":\"US\",\"united states of america\":\"US\",\"uruguay\":\"UY\",\"uzbekistan\":\"UZ\",\"vanuatu\":\"VU\",\"vatican\":\"VA\",\"vatican city\":\"VA\",\"venezuela\":\"VE\",\"vietnam\":\"VN\",\"yemen\":\"YE\",\"zambia\":\"ZM\",\"zimbabwe\":\"ZW\",\"england\":\"GB\",\"scotland\":\"GB\",\"northern ireland\":\"GB\",\"northern-ireland\":\"GB\",\"norther ireland\":\"GB\",\"republic of ireland\":\"IE\",\"republic-of-ireland\":\"IE\",\"deutschland\":\"DE\",\"bosnia\":\"BA\",\"czech-republic\":\"CZ\",\"ivory coast\":\"CI\",\"ivory-coast\":\"CI\",\"cote d ivoire\":\"CI\",\"cote ivor\":\"CI\",\"elfenbeinkuste\":\"CI\",\"south-africa\":\"ZA\",\"south-korea\":\"KR\",\"faroe-islands\":\"FO\",\"usa\":\"US\",\"kosovo\":\"XK\",\"korea republic\":\"KR\",\"congo dr\":\"CD\",\"dem rep kongo\":\"CD\",\"macedonia\":\"MK\",\"north maceodnia\":\"MK\",\"chinese taipei\":\"TW\",\"chinese-taipei\":\"TW\",\"chinese tapei\":\"TW\",\"curacao\":\"CW\",\"curaao\":\"CW\",\"china pr\":\"CN\",\"cape verde\":\"CV\",\"turkei\":\"TR\"};\n    const leagueCountryById = {\"2\":\"Europe\",\"1087\":\"Finland\",\"244\":\"Finland\",\"329\":\"Estonia\",\"89\":\"Netherlands\",\"41\":\"England\",\"332\":\"Slovakia\",\"373\":\"Slovenia\",\"328\":\"Estonia\",\"245\":\"Finland\",\"42\":\"England\",\"893\":\"Europe\",\"488\":\"Germany\",\"115\":\"Sweden\",\"850\":\"Europe\",\"246\":\"Finland\",\"62\":\"France\",\"463\":\"France\",\"286\":\"Serbia\",\"78\":\"Germany\",\"79\":\"Germany\",\"207\":\"Switzerland\",\"601\":\"Switzerland\",\"144\":\"Belgium\",\"943\":\"Italy\",\"490\":\"FIFA\",\"135\":\"Italy\",\"705\":\"Italy\",\"32\":\"FIFA\",\"88\":\"Netherlands\",\"122\":\"Denmark\",\"114\":\"Sweden\",\"80\":\"Germany\",\"203\":\"Turkey\",\"113\":\"Sweden\",\"120\":\"Denmark\",\"40\":\"England\",\"172\":\"Bulgaria\",\"61\":\"France\",\"587\":\"FIFA\",\"1029\":\"France\",\"848\":\"Europe\",\"680\":\"Slovakia\",\"46\":\"England\",\"510\":\"Switzerland\",\"145\":\"Belgium\",\"103\":\"Norway\",\"104\":\"Norway\",\"871\":\"England\",\"29\":\"FIFA\",\"304\":\"Panama\",\"31\":\"FIFA\",\"138\":\"Italy\",\"393\":\"Malta\",\"474\":\"Norway\",\"365\":\"Latvia\",\"696\":\"England\",\"87\":\"Germany\",\"315\":\"Bosnia and Herzegovina\",\"218\":\"Austria\",\"746\":\"Germany\",\"179\":\"Scottland\",\"750\":\"Germany\",\"83\":\"Germany\",\"86\":\"Germany\",\"467\":\"France\",\"284\":\"Romania\",\"67\":\"France\",\"386\":\"C\\u00f4te d'Ivoire\",\"362\":\"Lithuania\",\"84\":\"Germany\",\"288\":\"South Africa\",\"39\":\"England\",\"10\":\"FIFA\",\"1222\":\"FIFA\",\"94\":\"Portugal\",\"85\":\"Germany\",\"255\":\"USA\",\"253\":\"USA\",\"119\":\"Denmark\",\"487\":\"Belgium\",\"208\":\"Switzerland\",\"210\":\"Croatia\",\"314\":\"Bosnia and Herzegovina\",\"389\":\"Kazakhstan\",\"236\":\"Russia\",\"466\":\"France\",\"204\":\"Turkey\",\"886\":\"UEFA\",\"491\":\"Faroe Islands\",\"257\":\"USA\",\"261\":\"Luxembourg\",\"98\":\"Japan\",\"318\":\"Cyprus\",\"63\":\"France\",\"1107\":\"Brazil\",\"346\":\"Czech Republic\",\"194\":\"Australia\",\"702\":\"England\",\"202\":\"Tunisia\",\"657\":\"Estonia\",\"333\":\"Ukraine\",\"141\":\"Spain\",\"248\":\"Finland\",\"233\":\"Egypt\",\"106\":\"Poland\",\"219\":\"Austria\",\"973\":\"CAF\",\"188\":\"Australia\",\"862\":\"Denmark\",\"570\":\"Ghana\",\"271\":\"Hungary\",\"715\":\"Germany\",\"197\":\"Greece\",\"664\":\"Kosovo\",\"200\":\"Morocco\",\"167\":\"Iceland\",\"1126\":\"Estonia\",\"357\":\"Republic of Ireland\",\"849\":\"UEFA\",\"1\":\"FIFA\",\"479\":\"Canada\",\"667\":\"FIFA\",\"164\":\"Iceland\",\"493\":\"UEFA\",\"367\":\"Faroe Islands\",\"1232\":\"Perus\",\"364\":\"Latvia\",\"259\":\"Canada\",\"3\":\"UEFA\",\"658\":\"Latvia\",\"185\":\"Scottland\",\"220\":\"Austria\",\"345\":\"Czech Republic\",\"874\":\"Australia\",\"685\":\"Czech Republic\",\"180\":\"Scottland\",\"262\":\"Mexico\",\"599\":\"Switzerland\",\"128\":\"Argentina\",\"731\":\"Scottland\",\"537\":\"CONCACAF\",\"1022\":\"England\",\"48\":\"England\",\"265\":\"Chile\",\"107\":\"Poland\",\"287\":\"Serbia\",\"109\":\"Poland\",\"751\":\"Germany\",\"722\":\"CONCACAF\",\"209\":\"Switzerland\",\"24\":\"AFF\",\"526\":\"France\",\"81\":\"Germany\",\"703\":\"England\",\"755\":\"Germany\",\"600\":\"Switzerland\",\"242\":\"Ecuador\",\"359\":\"Republic of Ireland\",\"317\":\"Bosnia and Herzegovina\",\"177\":\"Bulgaria\",\"374\":\"Slovenia\",\"283\":\"Romania\",\"404\":\"San Marino\",\"492\":\"Netherlands\",\"1156\":\"England\",\"695\":\"England\",\"528\":\"England\",\"13\":\"CONMEBOL\",\"305\":\"Qatar\",\"272\":\"Hungary\",\"355\":\"Montenegro\",\"371\":\"North Macedonia\",\"137\":\"Italy\",\"140\":\"Spain\",\"59\":\"England\",\"1239\":\"Austria\",\"473\":\"Norway\",\"92\":\"Netherlands\",\"361\":\"Lithuania\",\"221\":\"Austria\",\"1238\":\"Austria\",\"668\":\"Czech Republic\",\"95\":\"Portugal\",\"942\":\"Italy\",\"276\":\"Kenya\",\"585\":\"Uganda\",\"186\":\"Algeria\",\"1168\":\"FIFA\",\"121\":\"Denmark\",\"281\":\"Peru\",\"433\":\"Italy\",\"43\":\"England\",\"136\":\"Italy\",\"307\":\"Saudi Arabia\",\"110\":\"Wales\",\"292\":\"South Korea\",\"347\":\"Czech Republic\",\"235\":\"Russia\"};\n\n    function normalizeCountryName(name){\n        if(!name) return '';\n        let value = String(name).trim();\n        if(!value) return '';\n\n        if (typeof value.normalize === 'function') {\n            value = value.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '');\n        }\n\n        value = value.toLowerCase();\n        value = value.replace(\/[_.]\/g, ' ');\n        value = value.replace(\/[^a-z0-9\\s-]+\/g, '');\n        value = value.replace(\/\\s+\/g, ' ');\n        return value.trim();\n    }\n\n    function getCountryCode(name){\n        const key = normalizeCountryName(name);\n        return countryCodeMap[key] || '';\n    }\n\n    function calculateAgeFromBirthDate(birthDateStr){\n        if(!birthDateStr) return '';\n        const parsed = new Date(String(birthDateStr).replace(' ', 'T'));\n        if(Number.isNaN(parsed.getTime())) return '';\n        const now = new Date();\n        let age = now.getFullYear() - parsed.getFullYear();\n        const monthDiff = now.getMonth() - parsed.getMonth();\n        if(monthDiff < 0 || (monthDiff === 0 && now.getDate() < parsed.getDate())){\n            age--;\n        }\n        return age > 0 ? String(age) : '';\n    }\n\n    function getPopupPlayerTitle(player, activeMark){\n        const fallbackAge = player.age || '';\n        const computedAge = calculateAgeFromBirthDate(player.birthDate || '');\n        const age = computedAge || fallbackAge;\n        const hasAvgScore = Object.prototype.hasOwnProperty.call(playerAverageScores, player.id);\n        const avgScoreRaw = hasAvgScore ? Number(playerAverageScores[player.id]) : null;\n        const avgScore = avgScoreRaw !== null && Number.isFinite(avgScoreRaw) ? avgScoreRaw.toFixed(2) : '';\n        const avgScoreClass = avgScoreRaw !== null && avgScoreRaw < 0\n            ? 'fm-slot-player-avg fm-slot-player-avg--negative'\n            : 'fm-slot-player-avg';\n        const avgScoreHtml = avgScore ? `<span class=\"${avgScoreClass}\">\u00d8 ${avgScore}<\/span>` : '';\n        const bestRole = Object.prototype.hasOwnProperty.call(playerBestRoles, player.id)\n            ? String(playerBestRoles[player.id] || '').trim()\n            : '';\n        const roleHtml = bestRole ? `<span class=\"fm-slot-player-role\" title=\"Ideale Rolle laut Spielerprofil-Berechnung\">${bestRole}<\/span>` : '';\n        const natCode = getCountryCode(player.nat || '');\n        const natFlag = natCode ? `<img decoding=\"async\" src=\"https:\/\/flagcdn.com\/24x18\/${natCode.toLowerCase()}.png\" class=\"fm-slot-league-flag\" alt=\"\">` : '';\n        const metricParts = [avgScoreHtml, roleHtml].filter(Boolean);\n        const metricText = metricParts.length ? metricParts.join(' ') : '';\n        const ageText = age ? ` (${age}${metricText ? `, ${metricText}` : ''})` : (metricText ? ` (${metricText})` : '');\n        return `${natFlag}${player.first} ${player.last}${ageText}${activeMark}`;\n    }\n\n    function hexToRgba(hex, alpha){\n        if(!hex) return `rgba(0,0,0,${alpha})`;\n        hex = hex.replace('#','');\n        if(hex.length===3) hex = hex.split('').map(h=>h+h).join('');\n        const r = parseInt(hex.substring(0,2),16);\n        const g = parseInt(hex.substring(2,4),16);\n        const b = parseInt(hex.substring(4,6),16);\n        return `rgba(${r},${g},${b},${alpha})`;\n    }\n\n    function adjustMidfieldLayout(arr){\n        if(!arr || (arr.length!==3 && arr.length!==4)) return arr;\n        const count = {};\n        arr.forEach(r => { count[r] = (count[r]||0)+1; });\n\n        if(arr.length === 3){\n            ['DM','ZM','OM'].forEach(t => {\n                if(count[t]===1){\n                    const idx = arr.indexOf(t);\n                    if(idx!==1){\n                        arr.splice(idx,1);\n                        arr.splice(1,0,t);\n                    }\n                }\n            });\n            return arr;\n        }\n\n        if(arr.length === 4){\n            const types = Object.keys(count);\n            const doubles = types.filter(t => count[t]===2);\n\n            if(doubles.length === 1){\n                const dup = doubles[0];\n                const others = arr.filter(r => r !== dup);\n                return [dup, ...others, dup];\n            }\n\n            if(doubles.length === 2){\n                const ranking = { DM:1, ZM:2, OM:3 };\n                const ordered = doubles.sort((a,b) => ranking[b]-ranking[a]);\n                const moreOff = ordered[0];\n                const lessOff = ordered[1];\n                return [moreOff, lessOff, lessOff, moreOff];\n            }\n        }\n\n        return arr;\n    }\n\n    function adjustAttackerLayout(arr){\n        if(!arr || (arr.length<1 || arr.length>3)) return arr;\n        const count = {};\n        arr.forEach(r => { count[r] = (count[r]||0)+1; });\n\n        const ranking = { HS:1, FS:2, ST:3 };\n\n        if(arr.length === 2){\n            if(Object.keys(count).length === 2){\n                return arr.sort((a,b)=>ranking[a]-ranking[b]);\n            }\n            return arr;\n        }\n\n        if(arr.length === 3){\n            if(Object.keys(count).length === 3){\n                return arr.sort((a,b)=>ranking[a]-ranking[b]);\n            }\n            const dup = Object.keys(count).find(k=>count[k]===2);\n            if(dup){\n                const other = Object.keys(count).find(k=>k!==dup);\n                return [dup, other, dup];\n            }\n        }\n        return arr;\n    }\n\n    function populateTeams() {\n        const spieltagEl = document.getElementById('fm-spieltag-display');\n        const builder = document.getElementById('fm-lineup-builder');\n\n        teams = [];\n        leaguesWithFixtures = leagueData\n            .map(league => {\n                const leagueTeams = Array.isArray(league.teams) ? league.teams : [];\n                const mappedTeams = leagueTeams.map(team => {\n                    const enrichedTeam = { ...team, league_id: league.id };\n                    teams.push(enrichedTeam);\n                    return { ...enrichedTeam, global_idx: teams.length - 1 };\n                });\n                return {\n                    ...league,\n                    teams: mappedTeams\n                };\n            })\n            .filter(league => league.teams.length > 0);\n\n        if (spieltagEl) {\n            spieltagEl.textContent = leaguesWithFixtures.length\n                ? `${leaguesWithFixtures.length} leagues with available lineups`\n                : 'No leagues with available lineups';\n        }\n        currentTeamIdx = 0;\n        builder.hidden = true;\n        renderFixtureBrowser();\n        if (!teams.length) {\n            const summary = document.getElementById('fm-position-summary');\n            if (summary) summary.innerHTML = '';\n        }\n    }\n\n    function renderFixtureBrowser() {\n        const browser = document.getElementById('fm-fixture-browser');\n        if (!leaguesWithFixtures.length) {\n            browser.innerHTML = '<div class=\"fm-empty-fixtures\">No fixtures available for lineup.<\/div>';\n            return;\n        }\n\n        let html = '';\n        leaguesWithFixtures.forEach((league) => {\n            const fixtureMap = {};\n            league.teams.forEach((team) => {\n                const key = String(team.match_id || team.global_idx);\n                if (!fixtureMap[key]) fixtureMap[key] = [];\n                fixtureMap[key].push(team);\n            });\n\n            const fixtures = Object.values(fixtureMap).sort((a, b) => (a[0]?.match_id || 0) - (b[0]?.match_id || 0));\n            const leagueLogo = league.logo ? `<img decoding=\"async\" class=\"fm-team-pick-logo\" src=\"${league.logo}\" alt=\"\">` : '';\n            const spieltagLabel = league.spieltag !== null ? league.spieltag : '-';\n            html += `<div class=\"fm-league-section\"><div class=\"fm-league-section-header\"><span class=\"fm-team-pick-main\">${leagueLogo}<span class=\"fm-team-pick-name\">${league.name}<\/span><\/span><span class=\"fm-league-section-spieltag\">Spieltag: ${spieltagLabel}<\/span><\/div>`;\n            fixtures.forEach((fixture) => {\n                const first = fixture[0];\n                const second = fixture[1] || null;\n                const leftLogo = first && first.logo ? `<img decoding=\"async\" class=\"fm-team-pick-logo\" src=\"${first.logo}\" alt=\"\">` : '<span class=\"fm-team-pick-logo\"><\/span>';\n                const rightLogo = second && second.logo ? `<img decoding=\"async\" class=\"fm-team-pick-logo\" src=\"${second.logo}\" alt=\"\">` : '<span class=\"fm-team-pick-logo\"><\/span>';\n                const rightName = second ? second.name : (first.opponent || 'TBD');\n                const rightIdx = second ? second.global_idx : first.global_idx;\n\n                html += `<div class=\"fm-fixture-card\"><div class=\"fm-fixture-row\"><button type=\"button\" class=\"fm-team-pick\" data-team-idx=\"${first.global_idx}\"><span class=\"fm-team-pick-main\">${leftLogo}<span class=\"fm-team-pick-name\">${first.name}<\/span><\/span><span class=\"fm-team-pick-action\">Lineup<\/span><\/button><span class=\"fm-fixture-vs\">VS<\/span><button type=\"button\" class=\"fm-team-pick\" data-team-idx=\"${rightIdx}\"><span class=\"fm-team-pick-main\">${rightLogo}<span class=\"fm-team-pick-name\">${rightName}<\/span><\/span><span class=\"fm-team-pick-action\">Lineup<\/span><\/button><\/div><\/div>`;\n            });\n            html += '<\/div>';\n        });\n\n        browser.innerHTML = html;\n    }\n\n    function selectTeamForLineup(idx) {\n        const builder = document.getElementById('fm-lineup-builder');\n        currentTeamIdx = idx;\n        builder.hidden = false;\n        fixturesLoadedForSelection = false;\n        playerToSlot = {};\n        applyTeam(currentTeamIdx);\n        applyPreferredFormationForCurrentTeam();\n        const formation = document.getElementById('fm-formation').value;\n        renderFormation(formation, currentTeamIdx, defenseLayout, midfieldLayout, attackLayout);\n        renderPositionSummary(currentTeamIdx);\n        updateField();\n        setUpdateButtonState(false);\n\n        document.querySelectorAll('.fm-team-pick').forEach(btn => {\n            btn.classList.toggle('active', Number(btn.dataset.teamIdx) === currentTeamIdx);\n        });\n        builder.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }\n\n    function applyTeam(idx) {\n        const t = teams[idx];\n        if (!t) return;\n        const stadium = document.querySelector('.fm-stadium');\n        stadium.style.setProperty('--team-primary', t.col1);\n        stadium.style.setProperty('--team-secondary', t.col2);\n        stadium.style.setProperty('--team-tertiary', t.col3);\n    }\n\n    function buildPreferredFormationCode(){\n        const formation = document.getElementById('fm-formation').value || '';\n        const defense = Array.isArray(defenseLayout) ? defenseLayout.join('-') : '';\n        const midfield = Array.isArray(midfieldLayout) ? midfieldLayout.join('-') : '';\n        const attack = Array.isArray(attackLayout) ? attackLayout.join('-') : '';\n        return [formation, defense, midfield, attack].join(':');\n    }\n\n    function applyPreferredFormationForCurrentTeam(){\n        const team = teams[currentTeamIdx];\n        const formationSelect = document.getElementById('fm-formation');\n        if(!team || !formationSelect) return;\n\n        const raw = String(team.preferred_formation || '').trim();\n        const parts = raw.split(':');\n        const shape = (parts[0] || '').trim();\n        const hasValidShape = Array.from(formationSelect.options).some(opt => opt.value === shape);\n\n        const formationToUse = hasValidShape ? shape : formationSelect.value;\n        formationSelect.value = formationToUse;\n        selectedLayoutLine = 'defense';\n        const lineSelect = document.getElementById('fm-layout-line');\n        if(lineSelect) lineSelect.value = selectedLayoutLine;\n        updateAllLayoutOptions(formationToUse);\n\n        if(!hasValidShape){\n            return;\n        }\n\n        const lineMap = [\n            { key: 'defense', value: parts[1] || '' },\n            { key: 'midfield', value: parts[2] || '' },\n            { key: 'attack', value: parts[3] || '' }\n        ];\n        lineMap.forEach(entry => {\n            const parsed = entry.value ? entry.value.split('-').map(s => s.trim()).filter(Boolean) : [];\n            if(!parsed.length) return;\n            const exists = (availableLayouts[entry.key] || []).some(layout => layout.join('-') === parsed.join('-'));\n            if(exists){\n                applyLineLayout(entry.key, parsed);\n            }\n        });\n        syncSelectedLayoutOptions();\n    }\n\n    function savePreferredFormation(){\n        const team = teams[currentTeamIdx];\n        if(!team || !team.id){\n            alert('Kein Team ausgew\u00e4hlt.');\n            return;\n        }\n        const code = buildPreferredFormationCode();\n        const formData = new FormData();\n        formData.append('action', 'fm_save_preferred_formation');\n        formData.append('team_id', team.id);\n        formData.append('preferred_formation', code);\n        fetch(ajaxurl, { method: 'POST', body: formData })\n            .then(r => r.json())\n            .then(res => {\n                if(res.success){\n                    team.preferred_formation = code;\n                    alert('Formation gespeichert.');\n                } else {\n                    alert(res.data || 'Fehler beim Speichern der Formation.');\n                }\n            })\n            .catch(() => alert('Fehler beim Speichern der Formation.'));\n    }\n\n\n    function getPlayersForTeam(teamIdx, pos){\n        const t = teams[teamIdx] || teams[0];\n        const pids = getSquadIdsForTeam(t.id);\n        return pids.map(id => playersMap[id])\n                   .filter(p => p && (!pos || (p.pos||'').toLowerCase() === pos.toLowerCase()));\n    }\n\n    function isMissingLeagueFixture(fixture) {\n        if (!fixture || fixture.is_exception) return false;\n        const fixtureId = Number(fixture.fixture_id || 0);\n        return Number.isFinite(fixtureId) && fixtureId > 0 && !fixture.league_tier;\n    }\n\n    function renderPositionSummary(teamIdx) {\n        const summaryEl = document.getElementById('fm-position-summary');\n        if (!summaryEl) return;\n\n        const t = teams[teamIdx] || teams[0];\n        if (!t) {\n            summaryEl.innerHTML = '';\n            return;\n        }\n\n        const counts = { Goalkeeper: 0, Defender: 0, Midfielder: 0, Attacker: 0 };\n        const upcomingCounts = { Goalkeeper: 0, Defender: 0, Midfielder: 0, Attacker: 0 };\n        const missingLeagueCounts = { Goalkeeper: 0, Defender: 0, Midfielder: 0, Attacker: 0 };\n        getSquadIdsForTeam(t.id).forEach(rawPid => {\n            const pid = String(rawPid || '');\n            const p = playersMap[pid];\n            if (!p || !p.pos) return;\n            const normalized = String(p.pos).trim().toLowerCase();\n            if (normalized === 'goalkeeper') counts.Goalkeeper++;\n            if (normalized === 'defender') counts.Defender++;\n            if (normalized === 'midfielder') counts.Midfielder++;\n            if (normalized === 'attacker') counts.Attacker++;\n\n            const fixtures = Array.isArray(playerFixtures[pid]) ? playerFixtures[pid] : [];\n            const hasMissingLeague = fixtures.some(isMissingLeagueFixture);\n            if (hasMissingLeague) {\n                if (normalized === 'goalkeeper') missingLeagueCounts.Goalkeeper++;\n                if (normalized === 'defender') missingLeagueCounts.Defender++;\n                if (normalized === 'midfielder') missingLeagueCounts.Midfielder++;\n                if (normalized === 'attacker') missingLeagueCounts.Attacker++;\n            }\n            const hasUpcomingFixture = fixtures.some(f => {\n                if (!f) return false;\n                const fixtureId = Number(f.fixture_id || 0);\n                if (!Number.isFinite(fixtureId) || fixtureId <= 0) return false;\n                return true;\n            });\n            if (!hasUpcomingFixture) return;\n            if (normalized === 'goalkeeper') upcomingCounts.Goalkeeper++;\n            if (normalized === 'defender') upcomingCounts.Defender++;\n            if (normalized === 'midfielder') upcomingCounts.Midfielder++;\n            if (normalized === 'attacker') upcomingCounts.Attacker++;\n        });\n\n        const items = [\n            { key: 'Goalkeeper', color: '#b7c9ff' },\n            { key: 'Defender', color: '#d6c2ff' },\n            { key: 'Midfielder', color: '#b9eceb' },\n            { key: 'Attacker', color: '#c8d1da' }\n        ];\n\n        summaryEl.innerHTML = items\n            .map(item => {\n                const missingLeagueCount = missingLeagueCounts[item.key];\n                const missingLeagueLabel = missingLeagueCount > 0 ? ` \/ ${missingLeagueCount}` : '';\n                const missingLeagueMarkup = missingLeagueCount > 0\n                    ? ` \/ <span class=\"fm-position-summary-missing-league\">${missingLeagueCount}<\/span>`\n                    : '';\n                const label = `${item.key}: ${counts[item.key]} (${upcomingCounts[item.key]}${missingLeagueLabel})`;\n                return `<div class=\"fm-position-summary-item\" style=\"background:${item.color};\" title=\"${label}\" aria-label=\"${label}\"><span aria-hidden=\"true\">\ud83d\udc64\ufe0e<\/span><span class=\"count\">${counts[item.key]} (${upcomingCounts[item.key]}${missingLeagueMarkup})<\/span><\/div>`;\n            })\n            .join('');\n    }\n\n    function getFormationCounts(form) {\n        const parts = String(form || '')\n            .split('-')\n            .map(n => parseInt(n, 10))\n            .filter(n => Number.isFinite(n) && n > 0);\n        if (parts.length === 3) {\n            return [1, ...parts];\n        }\n        return parts;\n    }\n\n\n    function renderFormation(form, teamIdx = currentTeamIdx, defLayoutParam = defenseLayout, midLayoutParam = midfieldLayout, attLayoutParam = attackLayout) {\n        const field = document.getElementById('fm-field');\n        field.innerHTML = '';\n        slots = [];\n        const parts = getFormationCounts(form);\n        if (!parts.length) return;\n\n        midLayoutParam = adjustMidfieldLayout((midLayoutParam || []).slice());\n        attLayoutParam = adjustAttackerLayout((attLayoutParam || []).slice());\n\n        const sections = parts.map((_, idx) => {\n            if (idx === 0) return 'Goalkeeper';\n            if (idx === 1) return 'Defender';\n            if (idx === parts.length - 1) return 'Attacker';\n            return 'Midfielder';\n        });\n\n        field.dataset.formation = form;\n\n        const verticalStart = 88;\n        const verticalEnd = 16;\n        const rowStep = parts.length > 1 ? (verticalStart - verticalEnd) \/ (parts.length - 1) : 0;\n\n        const topPenalty = document.createElement('div');\n        topPenalty.className = 'penalty-area top';\n        field.appendChild(topPenalty);\n        const bottomPenalty = document.createElement('div');\n        bottomPenalty.className = 'penalty-area bottom';\n        field.appendChild(bottomPenalty);\n\n        let num = 1;\n        const mirroredMidLayout = Array.isArray(midLayoutParam) ? midLayoutParam.slice().reverse() : [];\n        const mirroredAttLayout = Array.isArray(attLayoutParam) ? attLayoutParam.slice().reverse() : [];\n        parts.forEach((count, idx) => {\n            const rowType = sections[idx];\n            const row = document.createElement('div');\n            row.className = 'fm-row ' + rowType.toLowerCase();\n            row.style.setProperty('--row-top', `${verticalStart - (rowStep * idx)}%`);\n\n            for (let i = 0; i < count; i++) {\n                const slot = document.createElement('div');\n                slot.className = 'fm-slot';\n                slot.dataset.pos = rowType;\n                slot.dataset.num = num;\n\n                if (rowType === 'Goalkeeper') {\n                    const role = 'GK';\n                    slot.dataset.role = role;\n                    slot.classList.add(role.toLowerCase());\n                }\n                if (rowType === 'Defender' && defLayoutParam && defLayoutParam[i]) {\n                    const role = defLayoutParam[i];\n                    slot.dataset.role = role;\n                    slot.classList.add(role.toLowerCase());\n                }\n                if (rowType === 'Midfielder' && mirroredMidLayout && mirroredMidLayout[i]) {\n                    const role = mirroredMidLayout[i];\n                    slot.dataset.role = role;\n                    slot.classList.add(role.toLowerCase());\n                }\n                if (rowType === 'Attacker' && mirroredAttLayout && mirroredAttLayout[i]) {\n                    const role = mirroredAttLayout[i];\n                    slot.dataset.role = role;\n                    slot.classList.add(role.toLowerCase());\n                }\n\n                slot.innerHTML = `<span class=\"slot-num\">${num}<\/span>`;\n                slots[num] = { element: slot, pos: rowType, playerId: null, num: num, role: slot.dataset.role || '' };\n                num++;\n                row.appendChild(slot);\n            }\n\n            field.appendChild(row);\n        });\n\n        updatePlayerSelectOptions();\n        updateField();\n    }\n\n    function renderSquad(idx){\n        const t = teams[idx] || teams[0];\n        const list = getSquadIdsForTeam(t.id).map(pid => playersMap[pid]).filter(Boolean);\n        const order = { 'Goalkeeper':0, 'Defender':1, 'Midfielder':2, 'Attacker':3 };\n        list.sort((a,b) => (order[a.pos] ?? 4) - (order[b.pos] ?? 4));\n        let html = '<table class=\"squad-table\"><thead><tr><th class=\"nat-col\"><\/th><th class=\"photo-col\"><\/th><th class=\"name-col\">Name<\/th><th class=\"next-col\">Next<\/th><th class=\"pos-col\">Position<\/th><th class=\"slot-col\">Slot<\/th><th>Role<\/th><\/tr><\/thead><tbody>';\n        list.forEach(p => {\n            const code = getCountryCode(p.nat);\n            const flag = code ? `<img decoding=\"async\" src=\"https:\/\/flagcdn.com\/24x18\/${code.toLowerCase()}.png\" class=\"country-flag\" alt=\"${p.nat}\">` : '';\n            const photo = p.photo ? `<img decoding=\"async\" src=\"${p.photo}\" class=\"player-photo\" alt=\"\">` : '';\n            let posColor = '#888';\n            let posLabel = p.pos;\n            switch((p.pos || '').toLowerCase()) {\n                case 'goalkeeper': posColor = '#3967e7'; posLabel = 'Goalkeeper'; break;\n                case 'defender':   posColor = '#7d3ce6'; posLabel = 'Defender'; break;\n                case 'midfielder': posColor = '#1db6b7'; posLabel = 'Midfielder'; break;\n                case 'attacker':   posColor = '#222d38'; posLabel = 'Attacker'; break;\n            }\n            const rowColor = hexToRgba(posColor, 0.15);\n            const posTag = `<span class=\"pos-tag\">${posLabel}<\/span>`;\n            const ageStr = p.age ? ` (${p.age})` : '';\n            const allowed = slots.filter(s => s.pos.toLowerCase() === (p.pos || '').toLowerCase());\n            const disabledAttr = fixturesLoadedForSelection ? '' : ' disabled';\n            let sel = `<select class=\"slot-select\" data-pid=\"${p.id}\"${disabledAttr}>`;\n            sel += '<option value=\"\"><\/option>';\n            allowed.forEach(s => {\n                const selected = playerToSlot[p.id] == s.num ? 'selected' : '';\n                sel += `<option value=\"${s.num}\" ${selected}>${s.num}<\/option>`;\n            });\n            sel += '<\/select>';\n            const roleText = (playerToSlot[p.id] && slots[playerToSlot[p.id]]) ? (slots[playerToSlot[p.id]].role || \"\") : \"\";\n            const profileUrl = buildPlayerProfileUrl(p.id);\n            html += `<tr style=\"background:${rowColor};\"><td class=\"nat-col\">${flag}<\/td><td class=\"photo-col\">${photo}<\/td><td class=\"name-col\"><a class=\"player-name\" data-playerid=\"${p.id}\" href=\"${profileUrl}\">${p.first} ${p.last}${ageStr}<\/a><\/td><td class=\"next-col\"><div class=\"next-teams\" data-pid=\"${p.id}\"><\/div><\/td><td class=\"pos-col\">${posTag}<\/td><td class=\"slot-col\">${sel}<\/td><td class=\"role-cell\" data-pid=\"${p.id}\">${roleText}<\/td><\/tr>`;\n        });\n        html += '<\/tbody><\/table>';\n        document.getElementById('fm-squad').innerHTML = html;\n        updatePlayerSelectOptions();\n        updateRoleDisplay();\n        list.forEach(p => renderPlayerFixtures(p.id));\n    }\n\n    function getDefenseLayouts(form){\n        const parts = getFormationCounts(form);\n        const defCount = parts[1] || 0;\n        if(defCount === 3) return [ ['FV','IV','FV'], ['IV','IV','IV'] ];\n        if(defCount === 4) return [ ['FV','IV','IV','FV'] ];\n        return [];\n    }\n\n    function getMidfieldLayouts(form){\n        const parts = getFormationCounts(form);\n        const midCount = parts[2] || 0;\n        if(midCount === 3){\n            return [\n                ['DM','DM','ZM'],\n                ['DM','DM','OM'],\n                ['DM','ZM','ZM'],\n                ['DM','ZM','OM'],\n                ['ZM','ZM','OM'],\n                ['ZM','OM','OM']\n            ];\n        }\n        if (midCount === 4) {\n            return [\n                ['DM','DM','ZM','OM'],\n                ['DM','DM','OM','OM'],\n                ['DM','DM','ZM','ZM'],\n                ['DM','ZM','ZM','OM'],\n                ['DM','ZM','OM','OM'],\n                ['ZM','ZM','OM','OM']\n            ];\n        }\n        return [];\n    }\n\n    function getAttackLayouts(form){\n        const parts = getFormationCounts(form);\n        const attCount = parts[3] || 0;\n        if(attCount === 1) return [['ST']];\n        if(attCount === 2) return [ ['HS','ST'], ['HS','FS'], ['FS','ST'], ['ST','ST'], ['FS','FS'] ];\n        if(attCount === 3) return [ ['HS','HS','ST'], ['HS','ST','ST'], ['HS','FS','FS'], ['FS','FS','ST'] ];\n        return [];\n    }\n\n    function applyLineLayout(line, layout){\n        if(!Array.isArray(layout) || !layout.length) return;\n        if(line === 'defense') defenseLayout = layout.slice();\n        if(line === 'midfield') midfieldLayout = adjustMidfieldLayout(layout.slice());\n        if(line === 'attack') attackLayout = adjustAttackerLayout(layout.slice());\n    }\n\n    function updateAllLayoutOptions(form){\n        availableLayouts = {\n            defense: getDefenseLayouts(form),\n            midfield: getMidfieldLayouts(form),\n            attack: getAttackLayouts(form)\n        };\n\n        const firstDefense = availableLayouts.defense[0] || [];\n        const firstMidfield = availableLayouts.midfield[0] || [];\n        const firstAttack = availableLayouts.attack[0] || [];\n\n        defenseLayout = firstDefense.slice();\n        midfieldLayout = firstMidfield.length ? adjustMidfieldLayout(firstMidfield.slice()) : [];\n        attackLayout = firstAttack.length ? adjustAttackerLayout(firstAttack.slice()) : [];\n\n        const lineSelect = document.getElementById('fm-layout-line');\n        if (lineSelect) {\n            Array.from(lineSelect.options).forEach(option => {\n                option.disabled = !(availableLayouts[option.value] || []).length;\n            });\n            if (!availableLayouts[selectedLayoutLine]?.length) {\n                const nextLine = ['defense', 'midfield', 'attack'].find(key => availableLayouts[key].length) || 'defense';\n                selectedLayoutLine = nextLine;\n            }\n            lineSelect.value = selectedLayoutLine;\n        }\n\n        syncSelectedLayoutOptions();\n    }\n\n    function syncSelectedLayoutOptions(){\n        const choice = document.getElementById('fm-layout-choice');\n        const line = selectedLayoutLine;\n        const options = availableLayouts[line] || [];\n\n        choice.innerHTML = '';\n        options.forEach(layout => {\n            const opt = document.createElement('option');\n            opt.value = layout.join('-');\n            opt.textContent = layout.join(' \/ ');\n            choice.appendChild(opt);\n        });\n\n        if(!options.length){\n            const empty = document.createElement('option');\n            empty.value = '';\n            empty.textContent = '-';\n            choice.appendChild(empty);\n            choice.value = '';\n            choice.disabled = true;\n            return;\n        }\n\n        choice.disabled = false;\n        let active = [];\n        if(line === 'defense') active = defenseLayout;\n        if(line === 'midfield') active = midfieldLayout;\n        if(line === 'attack') active = attackLayout;\n        const activeValue = active.join('-');\n\n        if(options.some(layout => layout.join('-') === activeValue)){\n            choice.value = activeValue;\n        } else {\n            choice.value = options[0].join('-');\n            applyLineLayout(line, options[0]);\n        }\n    }\n\n    function updatePlayerSelectOptions(){\n        document.querySelectorAll('.slot-select').forEach(sel => {\n            const pid = sel.dataset.pid;\n            const player = playersMap[pid];\n            if(!player) return;\n            const allowed = slots.filter(s => s.pos.toLowerCase() === (player.pos||'').toLowerCase());\n            const current = sel.value;\n            sel.innerHTML = '<option value=\"\"><\/option>';\n            allowed.forEach(s => {\n                const opt = document.createElement('option');\n                opt.value = s.num;\n                opt.textContent = s.num;\n                if(current == s.num) opt.selected = true;\n                sel.appendChild(opt);\n            });\n        });\n    }\n\n    function updateRoleDisplay(){\n        document.querySelectorAll('.role-cell').forEach(cell => {\n            const pid = cell.dataset.pid;\n            const slotNum = playerToSlot[pid];\n            if(slotNum && slots[slotNum] && slots[slotNum].role){\n                cell.textContent = slots[slotNum].role;\n            } else {\n                cell.textContent = '';\n            }\n        });\n    }\n\n    function setUpdateButtonState(isLoaded){\n        const button = document.getElementById('fm-update-fixtures');\n        if(!button) return;\n        if(isLoaded){\n            button.classList.add('is-loaded');\n            button.textContent = 'Spiele geladen';\n            return;\n        }\n        button.classList.remove('is-loaded');\n        button.textContent = 'Spiele aktualisieren';\n    }\n\n    function updateSelectionAvailability(){\n        document.querySelectorAll('.slot-select').forEach(sel => {\n            sel.disabled = !fixturesLoadedForSelection;\n            if(!fixturesLoadedForSelection){\n                sel.value = '';\n            }\n        });\n    }\n\n    function getPositionFetchGroups(playerIds){\n        const groups = {\n            Goalkeeper: [],\n            Defender: [],\n            Midfielder: [],\n            Attacker: []\n        };\n        playerIds.forEach(pid => {\n            const player = playersMap[String(pid)] || {};\n            const pos = String(player.pos || '').toLowerCase();\n            if(pos === 'goalkeeper') groups.Goalkeeper.push(String(pid));\n            else if(pos === 'defender') groups.Defender.push(String(pid));\n            else if(pos === 'midfielder') groups.Midfielder.push(String(pid));\n            else groups.Attacker.push(String(pid));\n        });\n        return [\n            { key: 'Goalkeeper', label: 'Torwart', ids: groups.Goalkeeper },\n            { key: 'Defender', label: 'Abwehr', ids: groups.Defender },\n            { key: 'Midfielder', label: 'Mittelfeld', ids: groups.Midfielder },\n            { key: 'Attacker', label: 'Angriff', ids: groups.Attacker }\n        ];\n    }\n\n    function updateFixtures(){\n        const maxAutoRetries = 8;\n        const team = teams[currentTeamIdx] || teams[0];\n        if(!team) return;\n        const allPlayerIds = Array.from(new Set(getSquadIdsForTeam(team.id).filter(Boolean))).map(String);\n        if(!allPlayerIds.length) return;\n\n        fixturesLoadedForSelection = false;\n        updateSelectionAvailability();\n\n        const button = document.getElementById('fm-update-fixtures');\n        const groups = getPositionFetchGroups(allPlayerIds);\n        const now = new Date();\n        const cutoffMs = 15 * 24 * 60 * 60 * 1000;\n\n        const updateButtonProgress = (groupIndex, groupLabel, attempt) => {\n            if(!button) return;\n            const prefix = `Spiele werden geladen\u2026 (${groupIndex + 1}\/4`;\n            if(groupLabel){\n                button.textContent = `${prefix} \u00b7 ${groupLabel} ${attempt + 1}\/${maxAutoRetries + 1})`;\n                return;\n            }\n            button.textContent = `${prefix})`;\n        };\n\n        const fetchGroupFixtures = (requestedPlayerIds, attempt, groupIndex, groupLabel) => {\n            return new Promise(resolve => {\n                const ids = Array.from(new Set((requestedPlayerIds || []).map(String).filter(Boolean)));\n                if(!ids.length){\n                    resolve(true);\n                    return;\n                }\n\n                updateButtonProgress(groupIndex, groupLabel, attempt);\n                const params = new URLSearchParams();\n                params.set('action', 'fm_newplayerfixtures');\n                params.set('players', ids.join(','));\n                params.set('_', String(Date.now()));\n\n                fetch(ajaxurl, {\n                    method: 'POST',\n                    headers: {\n                        'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8'\n                    },\n                    cache: 'no-store',\n                    body: params.toString()\n                })\n                    .then(r => r.json())\n                    .then(res => {\n                        if(!res.success){\n                            resolve(false);\n                            return;\n                        }\n\n                        const payload = res.data || {};\n                        const data = payload.fixtures || payload;\n                        const pendingPlayerIds = Array.isArray(payload.pending_player_ids) ? payload.pending_player_ids.map(String) : [];\n                        const pendingSet = new Set(pendingPlayerIds);\n\n                        ids.forEach(pid => {\n                            const arr = Array.isArray(data[pid]) ? data[pid] : [];\n                            const filteredArr = arr.filter(item => {\n                                if(!item || !item.date) return true;\n                                const iso = String(item.date).replace(' ', 'T') + 'Z';\n                                const matchDate = new Date(iso);\n                                if(isNaN(matchDate)) return true;\n                                return (matchDate.getTime() - now.getTime()) < cutoffMs;\n                            });\n\n                            const hasExistingData = Array.isArray(playerFixtures[pid]) && playerFixtures[pid].length > 0;\n                            const shouldPreserveExisting = pendingSet.has(String(pid)) && filteredArr.length === 0 && hasExistingData;\n                            if(!shouldPreserveExisting){\n                                playerFixtures[pid] = filteredArr;\n                            }\n                        });\n\n                        const unresolvedPlayerIds = ids.filter(pid => {\n                            if(!Object.prototype.hasOwnProperty.call(data, pid)) return true;\n                            return pendingSet.has(pid);\n                        });\n\n                        if(unresolvedPlayerIds.length && attempt < maxAutoRetries){\n                            setTimeout(() => {\n                                fetchGroupFixtures(unresolvedPlayerIds, attempt + 1, groupIndex, groupLabel).then(resolve);\n                            }, 800);\n                            return;\n                        }\n\n                        resolve(unresolvedPlayerIds.length === 0);\n                    })\n                    .catch(() => resolve(false));\n            });\n        };\n\n        (async () => {\n            let allGroupsComplete = true;\n            for(let i = 0; i < groups.length; i++){\n                const group = groups[i];\n                if(!group.ids.length) continue;\n                const groupComplete = await fetchGroupFixtures(group.ids, 0, i, group.label);\n                if(!groupComplete){\n                    allGroupsComplete = false;\n                }\n            }\n\n            fixturesLoadedForSelection = allGroupsComplete;\n            updateSelectionAvailability();\n            setUpdateButtonState(allGroupsComplete);\n            allPlayerIds.forEach(pid => renderPlayerFixtures(String(pid)));\n            renderPositionSummary(currentTeamIdx);\n            if(!allGroupsComplete && button){\n                button.textContent = 'Spiele teilweise geladen';\n            }\n        })();\n    }\n\n    function buildPlayerProfileUrl(playerId){\n        if(!playerProfileUrl){\n            return '#';\n        }\n        try{\n            const url = new URL(playerProfileUrl, window.location.origin);\n            url.searchParams.set('player_id', playerId);\n            return url.toString();\n        }catch(e){\n            const separator = playerProfileUrl.includes('?') ? '&' : '?';\n            return `${playerProfileUrl}${separator}player_id=${encodeURIComponent(playerId)}`;\n        }\n    }\n\n\n    function truncateFixtureTeamName(name){\n        const value = String(name || '').trim();\n        if(!value) return '?';\n        if(value.length <= 16) return value;\n        return `${value.slice(0,7)}()${value.slice(-7)}`;\n    }\n\n    function formatFixtureDateParts(rawValue){\n        if(!rawValue) return { date: '', time: '', daysText: '' };\n        const raw = String(rawValue).trim();\n        if(!raw) return { date: '', time: '', daysText: '' };\n\n        const parsed = new Date(raw.replace(' ', 'T'));\n        if(Number.isNaN(parsed.getTime())){\n            return { date: raw, time: '', daysText: '' };\n        }\n\n        const day = String(parsed.getDate()).padStart(2, '0');\n        const month = String(parsed.getMonth() + 1).padStart(2, '0');\n        const year = String(parsed.getFullYear());\n        const hours = String(parsed.getHours()).padStart(2, '0');\n        const minutes = String(parsed.getMinutes()).padStart(2, '0');\n\n        const fixtureDay = new Date(parsed);\n        fixtureDay.setHours(0, 0, 0, 0);\n        const today = new Date();\n        today.setHours(0, 0, 0, 0);\n        const diffDays = Math.max(0, Math.round((fixtureDay - today) \/ 86400000));\n\n        return {\n            date: `${day}-${month}-${year}`,\n            time: `${hours}:${minutes}`,\n            daysText: `(in ${diffDays} days)`\n        };\n    }\n\n    function normalizeFixtureTeamName(value){\n        return String(value || '').toLowerCase().replace(\/[^a-z0-9]\/g, '');\n    }\n\n    function formatFixtureTeamLine(match, options = {}){\n        const homeNameRaw = truncateFixtureTeamName(match.home_name || '?');\n        const awayNameRaw = truncateFixtureTeamName(match.away_name || '?');\n\n        const teamId = Number(match.team_id || 0);\n        const homeId = Number(match.home_id || 0);\n        const awayId = Number(match.away_id || 0);\n\n        let homeIsOwn = teamId > 0 && homeId === teamId;\n        let awayIsOwn = teamId > 0 && awayId === teamId;\n\n        if(!homeIsOwn && !awayIsOwn){\n            const teamName = normalizeFixtureTeamName(match.team_name || '');\n            const homeName = normalizeFixtureTeamName(match.home_name || '');\n            const awayName = normalizeFixtureTeamName(match.away_name || '');\n            if(teamName && teamName === homeName){\n                homeIsOwn = true;\n            } else if(teamName && teamName === awayName){\n                awayIsOwn = true;\n            }\n        }\n\n        if(homeIsOwn && awayIsOwn){\n            awayIsOwn = false;\n        }\n\n        const singleTeamSingleFixture = !!options.singleTeamSingleFixture;\n        if(singleTeamSingleFixture && !homeIsOwn && !awayIsOwn){\n            const teamName = normalizeFixtureTeamName(match.team_name || '');\n            const homeName = normalizeFixtureTeamName(match.home_name || '');\n            const awayName = normalizeFixtureTeamName(match.away_name || '');\n            if(teamName && teamName === homeName){\n                homeIsOwn = true;\n            } else if(teamName && teamName === awayName){\n                awayIsOwn = true;\n            } else if(!teamName && Number(match.team_id || 0) > 0){\n                homeIsOwn = Number(match.home_id || 0) === Number(match.team_id || 0);\n                awayIsOwn = !homeIsOwn && Number(match.away_id || 0) === Number(match.team_id || 0);\n            }\n        }\n\n        const homeName = homeIsOwn ? `<span class=\"fm-slot-fixture-team--own\">${homeNameRaw}<\/span>` : `<span>${homeNameRaw}<\/span>`;\n        const awayName = awayIsOwn ? `<span class=\"fm-slot-fixture-team--own\">${awayNameRaw}<\/span>` : `<span>${awayNameRaw}<\/span>`;\n\n        return { homeName, awayName };\n    }\n\n    function renderPlayerFixtures(pid){\n        const cont = document.querySelector('.next-teams[data-pid=\"' + pid + '\"]');\n        if(!cont) return;\n        const row = cont.closest('tr');\n        if(playerScores.hasOwnProperty(pid)){\n            cont.innerHTML = `<div class=\"player-score\">${playerScores[pid]}<\/div>`;\n            if(row) row.style.background = '#d4edda';\n            return;\n        }\n        const arr = playerFixtures[pid];\n        if(Array.isArray(arr) && arr.length){\n            const allTeams = arr.filter(t => !t.is_exception);\n            const normalTeams = allTeams.filter(t => t.fixture_id);\n            const showRed = calculateTeamConflict(allTeams).hasRedConflict;\n            const singleNoMatch = allTeams.length === 1 && !allTeams[0].fixture_id;\n            cont.innerHTML = arr.map(t => {\n                let logoClass = '';\n                const isSingleNoMatch = singleNoMatch && !t.fixture_id && !t.is_exception;\n                if(!t.league_tier && !isSingleNoMatch){\n                    logoClass = ' missing-league';\n                } else if(showRed && !t.is_exception){\n                    logoClass = ' red-border';\n                }\n                if(!t.fixture_id){\n                    logoClass += ' priority';\n                }\n                const logoInner = t.team_logo ? `<img decoding=\"async\" src=\"${t.team_logo}\" alt=\"\">` : '';\n                const logo = `<div class=\"next-team-logo${logoClass}\">${logoInner}<\/div>`;\n                const hasMatch = (t.home_logo || t.away_logo || t.home_name || t.away_name || t.date || t.league);\n                if(hasMatch){\n                    let tooltip;\n                    const homeLogo = t.home_logo ? `<img decoding=\"async\" src=\"${t.home_logo}\" alt=\"\">` : '';\n                    const awayLogo = t.away_logo ? `<img decoding=\"async\" src=\"${t.away_logo}\" alt=\"\">` : '';\n                    const leagueName = t.league_tier\n                        ? `${t.league || ''} (${t.league_tier})`\n                        : `${t.league || ''}${t.league_id ? ` (ID: ${t.league_id})` : ''}`;\n                    const leagueClass = t.league_tier ? 'league-name' : 'league-name league-name--missing';\n                    const teamLine = formatFixtureTeamLine(t);\n                    const caption = `<div class=\"next-team-caption\">${teamLine.homeName} vs ${teamLine.awayName}<\/div>`;\n                    const dt = formatFixtureDateParts(t.date || '');\n                    const dateLine = [dt.date, dt.time, dt.daysText].filter(Boolean).join(' ');\n                    tooltip = `<div class=\"next-tooltip\"><div class=\"${leagueClass}\">${leagueName}<\/div><div class=\"next-match\">${homeLogo}${teamLine.homeName} vs ${awayLogo}${teamLine.awayName}<\/div><div class=\"next-date\">${dateLine}<\/div><\/div>`;\n                    return `<div class=\"next-team has-match\">${logo}${caption}${tooltip}<\/div>`;\n                }\n                return `<div class=\"next-team no-match\">${logo}<div class=\"next-tooltip\">No match currently planned<\/div><\/div>`;\n            }).join('');\n        } else {\n            const player = playersMap[pid] || {};\n            const logoInner = player.logo ? `<img decoding=\"async\" src=\"${player.logo}\" alt=\"\">` : '';\n            const logo = `<div class=\"next-team-logo priority\">${logoInner}<\/div>`;\n            cont.innerHTML = `<div class=\"next-team no-match\">${logo}<div class=\"next-tooltip\">No match currently planned<\/div><\/div>`;\n        }\n    }\n\n    function getPlayerFixtureDetailsHtml(pid){\n        const fixtures = Array.isArray(playerFixtures[pid]) ? playerFixtures[pid] : [];\n        const details = fixtures.filter(Boolean);\n        if(!details.length){\n            return '<div class=\"fm-slot-player-next\">No upcoming fixture available<\/div>';\n        }\n                return `<div class=\"fm-slot-player-fixtures\">${details.map(match => {\n            const leagueCountry = leagueCountryById[String(match.league_id || '')] || '';\n            const leagueCode = getCountryCode(leagueCountry);\n            const leagueFlag = leagueCode ? `<img decoding=\"async\" src=\"https:\/\/flagcdn.com\/24x18\/${leagueCode.toLowerCase()}.png\" class=\"fm-slot-league-flag\" alt=\"\">` : '';\n            const leagueClass = match.league_tier ? 'fm-slot-fixture-head' : 'fm-slot-fixture-head fm-slot-fixture-head--missing';\n            const leagueLabel = match.league_tier\n                ? `${match.league} (${match.league_tier})`\n                : `${match.league || ''}${match.league_id ? ` (ID: ${match.league_id})` : ''}`;\n            const league = leagueLabel ? `<div class=\"${leagueClass}\">${leagueFlag}${leagueLabel}<\/div>` : '';\n            const hasFixture = !!(match.home_name || match.away_name || match.home_logo || match.away_logo || match.date);\n            const dateParts = formatFixtureDateParts(match.date || '');\n            const date = (dateParts.date || dateParts.time || dateParts.daysText)\n                ? `<div class=\"fm-slot-player-next\">${[dateParts.date, dateParts.time, dateParts.daysText].filter(Boolean).join(' ')}<\/div>`\n                : '<div class=\"fm-slot-player-next\">No upcoming fixture available for this team<\/div>';\n            const homeLogo = match.home_logo ? `<img decoding=\"async\" src=\"${match.home_logo}\" class=\"fm-slot-team-logo\" alt=\"\">` : '';\n            const awayLogo = match.away_logo ? `<img decoding=\"async\" src=\"${match.away_logo}\" class=\"fm-slot-team-logo\" alt=\"\">` : '';\n            const teamLine = formatFixtureTeamLine(match);\n            const teamName = match.team_name ? `<span>${truncateFixtureTeamName(match.team_name)}<\/span>` : '<span>Unknown team<\/span>';\n            const fixtureLine = hasFixture\n                ? `<div class=\"fm-slot-fixture-logos\">${homeLogo}${teamLine.homeName}<span>vs<\/span>${awayLogo}${teamLine.awayName}<\/div>`\n                : `<div class=\"fm-slot-fixture-logos\">${teamName}<\/div>`;\n            return `<div class=\"fm-slot-fixture-item\">${league}${fixtureLine}${date}<\/div>`;\n        }).join('')}<\/div>`;\n    }\n\n    function getSelectablePlayersForSlot(slotNum){\n        if(!fixturesLoadedForSelection) return [];\n        const team = teams[currentTeamIdx];\n        const slot = slots[slotNum];\n        if(!team || !slot) return [];\n\n        const roleOrderByPosition = {\n            DEF: ['IV', 'FV'],\n            MID: ['DM', 'ZM', 'OM'],\n            ATT: ['HS', 'FS', 'ST']\n        };\n        const roleOrder = roleOrderByPosition[String(slot.pos || '').toUpperCase()] || [];\n        const roleRank = roleOrder.reduce((acc, role, idx) => {\n            acc[role] = idx;\n            return acc;\n        }, {});\n\n        function hasFixtureForPlayer(playerId){\n            const fixtures = playerFixtures[playerId];\n            return Array.isArray(fixtures) && fixtures.some(item => Number(item?.fixture_id || 0) > 0);\n        }\n\n        const squadIds = getSquadIdsForTeam(team.id);\n        return squadIds\n            .map(pid => playersMap[pid])\n            .filter(Boolean)\n            .filter(p => (p.pos || '').toLowerCase() === (slot.pos || '').toLowerCase())\n            .sort((a, b) => {\n                const aFixture = hasFixtureForPlayer(a.id) ? 0 : 1;\n                const bFixture = hasFixtureForPlayer(b.id) ? 0 : 1;\n                if (aFixture !== bFixture) {\n                    return aFixture - bFixture;\n                }\n\n                const aRole = String(playerBestRoles[a.id] || '').toUpperCase();\n                const bRole = String(playerBestRoles[b.id] || '').toUpperCase();\n                const aRoleRank = Object.prototype.hasOwnProperty.call(roleRank, aRole) ? roleRank[aRole] : Number.MAX_SAFE_INTEGER;\n                const bRoleRank = Object.prototype.hasOwnProperty.call(roleRank, bRole) ? roleRank[bRole] : Number.MAX_SAFE_INTEGER;\n                if (aRoleRank !== bRoleRank) {\n                    return aRoleRank - bRoleRank;\n                }\n\n                return `${a.last} ${a.first}`.localeCompare(`${b.last} ${b.first}`);\n            });\n    }\n\n    function openSlotPlayerPopup(slotNum){\n        const slot = slots[slotNum];\n        if(!slot) return;\n\n        if(!fixturesLoadedForSelection){\n            alert('Bitte zuerst \"Spiele aktualisieren\" ausf\u00fchren.');\n            return;\n        }\n\n        const selectable = getSelectablePlayersForSlot(slotNum);\n        const overlay = document.createElement('div');\n        overlay.id = 'fm-slot-popup-overlay';\n\n        const popup = document.createElement('div');\n        popup.className = 'fm-slot-popup';\n\n        const header = document.createElement('div');\n        header.className = 'fm-slot-popup-header';\n        header.innerHTML = `<div><h3 class=\"fm-slot-popup-title\">Slot ${slot.num} (${slot.role || slot.pos || 'Role'})<\/h3><div class=\"fm-slot-popup-subtitle\">Select player for this position<\/div><\/div>`;\n\n        const closeBtn = document.createElement('button');\n        closeBtn.className = 'fm-slot-close-btn';\n        closeBtn.type = 'button';\n        closeBtn.textContent = 'Close';\n        header.appendChild(closeBtn);\n        popup.appendChild(header);\n\n        const list = document.createElement('div');\n        list.className = 'fm-slot-player-list';\n\n        if(slot.playerId){\n            const clearWrap = document.createElement('div');\n            clearWrap.className = 'fm-slot-player-option';\n            clearWrap.innerHTML = `<div><\/div><div class=\"fm-slot-player-meta\"><div class=\"fm-slot-player-name\">Unassign slot<\/div><div class=\"fm-slot-player-next\">Remove current player assignment from this square.<\/div><\/div>`;\n            clearWrap.addEventListener('click', () => {\n                const currentPid = String(slot.playerId);\n                assignPlayerToSlot(currentPid, '');\n                const currentSel = document.querySelector(`.slot-select[data-pid=\"${currentPid}\"]`);\n                if(currentSel) currentSel.value = '';\n                document.body.removeChild(overlay);\n            });\n            list.appendChild(clearWrap);\n        }\n\n        if(!selectable.length){\n            const empty = document.createElement('div');\n            empty.className = 'fm-slot-player-option';\n            empty.innerHTML = `<div><\/div><div class=\"fm-slot-player-meta\"><div class=\"fm-slot-player-name\">No eligible players<\/div><div class=\"fm-slot-player-next\">Use \"Spiele aktualisieren\" first to load fixture context and verify squad data.<\/div><\/div>`;\n            list.appendChild(empty);\n        } else {\n            selectable.forEach(player => {\n                const card = document.createElement('div');\n                card.className = 'fm-slot-player-option';\n                const assignmentFlags = getPlayerAssignmentFlags(player.id);\n                if(assignmentFlags.hasRedConflict){\n                    card.classList.add('fm-slot-player-option--conflict');\n                }\n                if(playerToSlot[player.id] && String(playerToSlot[player.id]) !== String(slotNum)){\n                    card.classList.add('fm-slot-player-option--assigned');\n                }\n                const photo = player.photo ? `<img decoding=\"async\" src=\"${player.photo}\" class=\"player-photo\" alt=\"\">` : '<div class=\"player-photo\"><\/div>';\n                const activeMark = playerToSlot[player.id] == slotNum ? ' (current)' : '';\n                card.innerHTML = `${photo}<div class=\"fm-slot-player-meta\"><div class=\"fm-slot-player-name\">${getPopupPlayerTitle(player, activeMark)}<\/div>${getPlayerFixtureDetailsHtml(player.id)}<\/div>`;\n\n                card.addEventListener('click', () => {\n                    assignPlayerToSlot(String(player.id), String(slotNum));\n                    const sel = document.querySelector(`.slot-select[data-pid=\"${player.id}\"]`);\n                    if(sel) sel.value = String(slotNum);\n                    document.body.removeChild(overlay);\n                });\n                list.appendChild(card);\n            });\n        }\n\n        popup.appendChild(list);\n        overlay.appendChild(popup);\n        document.body.appendChild(overlay);\n\n        const close = () => {\n            if(overlay.parentNode) overlay.parentNode.removeChild(overlay);\n        };\n\n        closeBtn.addEventListener('click', close);\n        overlay.addEventListener('click', e => {\n            if(e.target === overlay) close();\n        });\n    }\n\n    const teamRoleLabels = {\n        main: 'Hauptteam', reserve_2: '2. Mannschaft', reserve_3: '3. Mannschaft',\n        u23: 'U23', u21: 'U21', u20: 'U20', u19: 'U19', u18: 'U18', u17: 'U17',\n        other_affiliate: 'Weiteres Partnerteam'\n    };\n    const reserveRoleOptions = Object.entries(teamRoleLabels).filter(([role]) => role !== 'main');\n    const personalStatuses = ['Ausgeliehen an', 'Ausgeliehen von', 'Nationalteam', 'Ehem. Klub'];\n\n    function calculateTeamConflict(fixtures){\n        const active = (Array.isArray(fixtures) ? fixtures : []).filter(t => t && !t.is_exception && t.transferstatus !== 'Ehem. Klub');\n        if(active.length <= 1) return {hasRedConflict:false, suggestedMainTeamApiId:null};\n        const familyTeams = active.filter(t => !personalStatuses.includes(String(t.transferstatus || '')));\n        if(familyTeams.length <= 1) return {hasRedConflict:false, suggestedMainTeamApiId:null};\n        const known = familyTeams.filter(t => t.team_relation_known && Number(t.main_team_api_id) > 0);\n        const knownMainIds = [...new Set(known.map(t => Number(t.main_team_api_id)))];\n        const rolesValid = known.filter(t => t.team_role === 'main').length <= 1 && known.every(t => t.team_role === 'main' || reserveRoleOptions.some(([role]) => role === t.team_role));\n        const allKnownSameFamily = known.length === familyTeams.length && knownMainIds.length === 1 && rolesValid;\n        return {\n            hasRedConflict: !allKnownSameFamily,\n            suggestedMainTeamApiId: knownMainIds.length === 1 ? knownMainIds[0] : null\n        };\n    }\n\n    function updateLocalTeamRelation(teamId, mainId, role, mainTeam){\n        Object.values(playerFixtures).forEach(fixtures => {\n            (Array.isArray(fixtures) ? fixtures : []).forEach(team => {\n                if(Number(team.team_id) === Number(teamId)){\n                    team.main_team_api_id = Number(mainId);\n                    team.team_role = role;\n                    team.team_relation_known = true;\n                    if(mainTeam) team.main_team = mainTeam;\n                }\n            });\n        });\n    }\n\n    function parseAjaxResponse(response){\n        return response.text().then(raw => {\n            let payload = null;\n            try { payload = raw ? JSON.parse(raw) : null; } catch(error) { \/* WordPress may return a plain \"0\". *\/ }\n            if(!response.ok || !payload || !payload.success){\n                const detail = payload && payload.data\n                    ? payload.data\n                    : (raw && raw !== '0' ? raw : `HTTP ${response.status}: Die Teamsuche ist nicht verf\u00fcgbar. Bitte die Seite aktualisieren und erneut versuchen.`);\n                throw new Error(typeof detail === 'string' ? detail : 'Speichern fehlgeschlagen');\n            }\n            return payload.data;\n        });\n    }\n\n    function showTeamPopup(pid, pendingSlotNum){\n        const teams = (playerFixtures[pid] || []).filter(t => !t.is_exception);\n        if(!teams.length) return;\n        const overlay = document.createElement('div');\n        overlay.id = 'fm-team-popup-overlay';\n        const popup = document.createElement('div');\n        popup.id = 'fm-team-popup';\n        popup.innerHTML = '<h3>Verschiedene Teams gelistet:<\/h3>';\n        const list = document.createElement('ul');\n        const conflict = calculateTeamConflict(teams);\n        const rows = [];\n        teams.forEach(t => {\n            const li = document.createElement('li');\n            const img = document.createElement('img');\n            if(t.team_logo) img.src = t.team_logo;\n            li.appendChild(img);\n            const name = document.createElement('span');\n            name.textContent = t.team_name || '';\n            li.appendChild(name);\n\n            const known = document.createElement('div');\n            known.className = 'team-relation-summary';\n            const controls = document.createElement('div');\n            controls.className = 'team-relation-controls';\n            if(t.team_relation_known){\n                const mainName = t.main_team?.name || `API-Team-ID ${t.main_team_api_id}`;\n                known.textContent = `${teamRoleLabels[t.team_role] || t.team_role} von ${mainName} \u00b7 API-Team-ID ${t.main_team_api_id}`;\n                const change = document.createElement('button');\n                change.type = 'button'; change.textContent = 'Zuordnung \u00e4ndern';\n                change.addEventListener('click', () => { controls.hidden = false; change.hidden = true; check(); });\n                known.appendChild(change);\n                li.appendChild(known);\n                controls.hidden = true;\n            }\n\n            const select = document.createElement('select');\n            select.className = 'main-status';\n            const typeLabel = document.createElement('span');\n            typeLabel.className = 'team-type-label';\n            typeLabel.textContent = 'Mannschaftstyp \/ Sonderstatus';\n            li.appendChild(typeLabel);\n            select.innerHTML = '<option value=\"\"><\/option>'+\n                '<option value=\"Hauptteam\">Hauptteam<\/option>'+\n                '<option value=\"Reserve o. Jugend\">Reserve o. Jugend<\/option>'+\n                '<option value=\"Ausgeliehen an\">Ausgeliehen an<\/option>'+\n                '<option value=\"Ausgeliehen von\">Ausgeliehen von<\/option>'+\n                '<option value=\"Nationalteam\">Nationalteam<\/option>';\n            li.appendChild(select);\n\n            const membershipWrap = document.createElement('label');\n            membershipWrap.className = 'team-membership-status';\n            membershipWrap.hidden = true;\n            const membershipLabel = document.createElement('span');\n            membershipLabel.textContent = 'Spielerstatus bei diesem Verein';\n            const membershipSelect = document.createElement('select');\n            membershipSelect.className = 'membership-status';\n            membershipSelect.innerHTML = '<option value=\"\">Bitte ausw\u00e4hlen<\/option>'+\n                '<option value=\"current\">Aktueller Verein<\/option>'+\n                '<option value=\"former\">Ehemaliger Verein<\/option>';\n            membershipWrap.append(membershipLabel, membershipSelect);\n            li.appendChild(membershipWrap);\n\n            const reserveSelect = document.createElement('select');\n            reserveSelect.className = 'reserve-select';\n            reserveSelect.style.display = 'none';\n            reserveSelect.innerHTML = '<option value=\"\"><\/option>'+\n                '<option value=\"reserve_2\">2. Mannschaft<\/option>'+\n                '<option value=\"reserve_3\">3. Mannschaft<\/option>'+\n                '<option value=\"u23\">U23<\/option>'+\n                '<option value=\"u21\">U21<\/option>'+\n                '<option value=\"u20\">U20<\/option>'+\n                '<option value=\"u19\">U19<\/option>'+\n                '<option value=\"u18\">U18<\/option>'+\n                '<option value=\"u17\">U17<\/option>';\n            li.appendChild(reserveSelect);\n\n            const searchWrap = document.createElement('div');\n            searchWrap.className = 'main-team-search';\n            searchWrap.style.display = 'none';\n            const search = document.createElement('input');\n            search.type = 'search'; search.placeholder = 'Hauptverein nach Name oder API-ID suchen';\n            const results = document.createElement('div');\n            results.className = 'main-team-results';\n            searchWrap.append(search, results);\n            li.appendChild(searchWrap);\n            if(t.team_relation_known){\n                controls.append(typeLabel, select, reserveSelect, searchWrap);\n                li.appendChild(controls);\n            }\n            const row = {team:t, li, select, reserveSelect, searchWrap, search, results, membershipWrap, membershipSelect, selectedMain:null, controls};\n            rows.push(row);\n\n            if(!t.team_relation_known && conflict.suggestedMainTeamApiId){\n                const suggestion = document.createElement('button');\n                suggestion.type = 'button';\n                suggestion.textContent = `Ebenfalls Hauptverein API-ID ${conflict.suggestedMainTeamApiId} zuordnen?`;\n                suggestion.addEventListener('click', () => {\n                    row.selectedMain = {realteamid: conflict.suggestedMainTeamApiId, name:`API-Team-ID ${conflict.suggestedMainTeamApiId}`};\n                    search.value = row.selectedMain.name; check();\n                });\n                searchWrap.appendChild(suggestion);\n            }\n\n            if(t.transferstatus === 'Ehem. Klub'){\n                membershipSelect.value = 'former';\n            } else if(t.transferstatus && personalStatuses.includes(t.transferstatus)){\n                const s = t.transferstatus;\n                if(s.startsWith('Reserve o. Jugend')){\n                    select.value = 'Reserve o. Jugend';\n                    reserveSelect.style.display = '';\n                    const detail = s.split(' - ')[1] || '';\n                    reserveSelect.value = detail;\n                } else {\n                    select.value = s;\n                }\n            }\n\n            select.addEventListener('change', () => {\n                if(select.value === 'Reserve o. Jugend'){\n                    reserveSelect.style.display = '';\n                    searchWrap.style.display = '';\n                } else {\n                    reserveSelect.style.display = 'none';\n                    searchWrap.style.display = 'none';\n                    reserveSelect.value = '';\n                }\n                check();\n            });\n            reserveSelect.addEventListener('change', check);\n            membershipSelect.addEventListener('change', check);\n            let searchTimer;\n            search.addEventListener('input', () => {\n                row.selectedMain = null;\n                clearTimeout(searchTimer);\n                searchTimer = setTimeout(() => {\n                    const term = search.value.trim();\n                    if(!term){ results.innerHTML = ''; check(); return; }\n                    const searchData = new FormData();\n                    searchData.append('action', 'fm_search_real_teams');\n                    searchData.append('nonce', teamRelationNonce);\n                    searchData.append('term', term);\n                    fetch(ajaxurl, {method:'POST', body:searchData}).then(parseAjaxResponse).then(found => {\n                        results.innerHTML = '';\n                        found.forEach(team => {\n                            const option = document.createElement('button');\n                            option.type = 'button';\n                            option.innerHTML = `${team.logo ? `<img decoding=\"async\" src=\"${team.logo}\" alt=\"\">` : ''}<span>${team.name} \u00b7 API-Team-ID ${team.realteamid}${team.country ? ` \u00b7 ${team.country}` : ''}<\/span>`;\n                            option.addEventListener('click', () => { row.selectedMain = team; search.value = `${team.name} \u00b7 API-Team-ID ${team.realteamid}`; results.innerHTML=''; check(); });\n                            results.appendChild(option);\n                        });\n                    }).catch(error => { results.textContent = error.message; });\n                }, 250);\n                check();\n            });\n\n            list.appendChild(li);\n        });\n        popup.appendChild(list);\n        const saveBtn = document.createElement('button');\n        saveBtn.textContent = 'Speichern';\n        saveBtn.disabled = true;\n        popup.appendChild(saveBtn);\n        const cancelBtn = document.createElement('button');\n        cancelBtn.textContent = 'Abbrechen';\n        popup.appendChild(cancelBtn);\n        const errorBox = document.createElement('div');\n        errorBox.className = 'team-relation-error';\n        popup.appendChild(errorBox);\n        overlay.appendChild(popup);\n        document.body.appendChild(overlay);\n\n        function selectedFamilyId(row){\n            if(row.team.team_relation_known && row.controls.hidden){\n                return Number(row.team.main_team_api_id) || null;\n            }\n            if(row.select.value === 'Hauptteam') return Number(row.team.team_id) || null;\n            if(row.select.value === 'Reserve o. Jugend' && row.reserveSelect.value && row.selectedMain){\n                return Number(row.selectedMain.realteamid) || null;\n            }\n            return personalStatuses.includes(row.select.value) ? 0 : null;\n        }\n\n        function updateMembershipVisibility(){\n            const familyIds = rows.map(selectedFamilyId);\n            const allClassified = familyIds.every(id => id !== null);\n            const distinctFamilies = [...new Set(familyIds.filter(id => id > 0))];\n            const showMembership = allClassified && distinctFamilies.length > 1;\n            rows.forEach((row, index) => {\n                const rowHasClubFamily = familyIds[index] > 0;\n                row.membershipWrap.hidden = !showMembership || !rowHasClubFamily;\n                if(row.membershipWrap.hidden) row.membershipSelect.value = '';\n            });\n            return showMembership;\n        }\n\n        function check(){\n            const membershipRequired = updateMembershipVisibility();\n            const classificationMissing = rows.some(row => {\n                if(row.controls.hidden) return false;\n                if(!row.select.value) return true;\n                return row.select.value === 'Reserve o. Jugend' && (!row.reserveSelect.value || !row.selectedMain);\n            });\n            const membershipMissing = membershipRequired && rows.some(row => !row.membershipWrap.hidden && !row.membershipSelect.value);\n            saveBtn.disabled = classificationMissing || membershipMissing;\n        }\n        check();\n\n        saveBtn.addEventListener('click', () => {\n            saveBtn.disabled = true; errorBox.textContent = '';\n            const globalRows = rows.filter(row => !row.controls.hidden && (row.select.value === 'Hauptteam' || row.select.value === 'Reserve o. Jugend'));\n            const personalEntries = rows.reduce((entries, row) => {\n                if(row.membershipSelect.value === 'former'){\n                    entries.push({team_id:row.team.team_id,status:'Ehem. Klub'});\n                } else if(!row.controls.hidden && personalStatuses.includes(row.select.value)){\n                    entries.push({team_id:row.team.team_id,status:row.select.value});\n                }\n                return entries;\n            }, []);\n            const savedRelations = [];\n            let chain = Promise.resolve();\n            globalRows.forEach(row => { chain = chain.then(() => {\n                const isMain = row.select.value === 'Hauptteam';\n                const mainId = isMain ? row.team.team_id : row.selectedMain.realteamid;\n                const role = isMain ? 'main' : row.reserveSelect.value;\n                const data = new FormData();\n                data.append('action','fm_save_team_relation'); data.append('nonce',teamRelationNonce);\n                data.append('team_api_id',row.team.team_id); data.append('main_team_api_id',mainId); data.append('team_role',role);\n                return fetch(ajaxurl,{method:'POST',body:data}).then(parseAjaxResponse).then(result => savedRelations.push(result));\n            }); });\n            if(personalEntries.length){ chain = chain.then(() => {\n                const data = new FormData(); data.append('action','fm_save_lineup_status'); data.append('player_id',pid); data.append('teams',JSON.stringify(personalEntries));\n                return fetch(ajaxurl,{method:'POST',body:data}).then(parseAjaxResponse);\n            }); }\n            chain.then(() => {\n                savedRelations.forEach(result => updateLocalTeamRelation(result.team_api_id,result.main_team_api_id,result.team_role,result.main_team));\n                const arr = playerFixtures[pid] || [];\n                personalEntries.forEach(entry => {\n                    const idx = arr.findIndex(team => Number(team.team_id) === Number(entry.team_id));\n                    if(idx < 0) return;\n                    if(entry.status === 'Ehem. Klub') arr.splice(idx,1);\n                    else { arr[idx].transferstatus=entry.status; arr[idx].is_exception=entry.status === 'Nationalteam'; }\n                });\n                if(overlay.parentNode) overlay.parentNode.removeChild(overlay);\n                Object.keys(playerFixtures).forEach(renderPlayerFixtures);\n                if(!getPlayerAssignmentFlags(pid).hasRedConflict && pendingSlotNum) assignPlayerToSlot(pid,pendingSlotNum);\n            }).catch(error => { errorBox.textContent = `Speichern fehlgeschlagen: ${error.message}`; saveBtn.disabled=false; });\n        });\n        cancelBtn.addEventListener('click', () => {\n            document.body.removeChild(overlay);\n        });\n    }\n\n    function getPlayerAssignmentFlags(pid){\n        const arr = Array.isArray(playerFixtures[pid]) ? playerFixtures[pid] : [];\n        if(!arr.length) return { hasMissingLeague: false, hasRedConflict: false };\n\n        const allTeams = arr.filter(t => !t.is_exception);\n        const hasRedConflict = calculateTeamConflict(allTeams).hasRedConflict;\n\n        const hasMissingLeague = allTeams.some(isMissingLeagueFixture);\n\n        return { hasMissingLeague, hasRedConflict };\n    }\n\n    function assignPlayerToSlot(pid, slotNum){\n        const flags = getPlayerAssignmentFlags(pid);\n        if(flags.hasMissingLeague){\n            alert('Liga noch nicht hinterlegt');\n            const sel = document.querySelector(`.slot-select[data-pid=\"${pid}\"]`);\n            if(sel) sel.value = '';\n            return;\n        }\n        if(flags.hasRedConflict){\n            showTeamPopup(pid, slotNum);\n            const sel = document.querySelector(`.slot-select[data-pid=\"${pid}\"]`);\n            if(sel) sel.value = '';\n            return;\n        }\n        if(playerToSlot[pid]){\n            const prev = playerToSlot[pid];\n            if(slots[prev]) slots[prev].playerId = null;\n        }\n        if(!slotNum){\n            delete playerToSlot[pid];\n            updateField();\n            return;\n        }\n        if(slots[slotNum] && slots[slotNum].playerId && slots[slotNum].playerId !== pid){\n            const other = slots[slotNum].playerId;\n            playerToSlot[other] = null;\n            const otherSel = document.querySelector(`.slot-select[data-pid=\"${other}\"]`);\n            if(otherSel) otherSel.value = '';\n        }\n        if(slots[slotNum]) slots[slotNum].playerId = pid;\n        playerToSlot[pid] = slotNum;\n        updateField();\n    }\n\n    function updateField(){\n        slots.forEach(s => {\n            if(!s || !s.element) return;\n            const el = s.element;\n            if(s.playerId){\n                const p = playersMap[s.playerId];\n                if(p){\n                    const photo = p.photo ? `<img decoding=\"async\" src=\"${p.photo}\" class=\"slot-player-photo\" alt=\"\">` : '';\n                    el.innerHTML = `<span class=\"slot-num\">${s.num}<\/span><div class=\"slot-player\">${photo}<span>${p.last}<\/span><\/div>`;\n                    el.classList.add('has-player');\n                }else{\n                    const placeholder = s.role || s.pos || '';\n                    el.innerHTML = `<span class=\"slot-num\">${s.num}<\/span><span class=\"slot-role-placeholder\">${placeholder}<\/span>`;\n                    el.classList.remove('has-player');\n                }\n            }else{\n                const placeholder = s.role || s.pos || '';\n                el.innerHTML = `<span class=\"slot-num\">${s.num}<\/span><span class=\"slot-role-placeholder\">${placeholder}<\/span>`;\n                el.classList.remove('has-player');\n            }\n        });\n        updateRoleDisplay();\n    }\n\n    function fm_aufstellung_speichern(){\n        const team = teams[currentTeamIdx];\n        if(!team){\n            alert('Kein Team ausgew\u00e4hlt.');\n            return;\n        }\n        const matchId = team.match_id || 0;\n        const lineup = {};\n        const lineupPos = {};\n        let count = 0;\n        slots.forEach(s => {\n            if (s && s.playerId) {\n                lineup[s.num] = s.playerId;\n                lineupPos[s.num] = s.role || s.pos || '';\n                count++;\n            }\n        });\n        if (count !== 10) {\n            alert('Bitte alle 10 Positionen belegen.');\n            return;\n        }\n        const formData = new FormData();\n        formData.append('action', 'fm_save_lineup');\n        formData.append('match_id', matchId);\n        formData.append('team_id', team.id);\n        formData.append('source_table', team.source_table || '');\n        formData.append('fixtures', JSON.stringify(playerFixtures));\n        Object.keys(lineup).forEach(i => formData.append('lineup[' + i + ']', lineup[i]));\n        Object.keys(lineupPos).forEach(i => formData.append('lineup_pos[' + i + ']', lineupPos[i]));\n        fetch(ajaxurl, { method: 'POST', body: formData })\n            .then(r => r.json())\n            .then(res => {\n                if (res.success) {\n                    alert('done');\n                } else {\n                    alert(res.data || 'Fehler');\n                }\n            })\n            .catch(() => alert('Fehler'));\n    }\n\n    document.getElementById('fm-formation').addEventListener('change', function() {\n        if (typeof setActivePreset === 'function') {\n            setActivePreset('');\n        }\n        playerToSlot = {};\n        selectedLayoutLine = 'defense';\n        const lineSelect = document.getElementById('fm-layout-line');\n        if(lineSelect) lineSelect.value = selectedLayoutLine;\n        updateAllLayoutOptions(this.value);\n        renderFormation(this.value, currentTeamIdx, defenseLayout, midfieldLayout, attackLayout);\n        updateField();\n    });\n    document.getElementById('fm-layout-line').addEventListener('change', function() {\n        selectedLayoutLine = this.value;\n        syncSelectedLayoutOptions();\n    });\n    document.getElementById('fm-layout-choice').addEventListener('change', function() {\n        if(!this.value) return;\n        playerToSlot = {};\n        document.querySelectorAll('.slot-select').forEach(sel => sel.value = '');\n        applyLineLayout(selectedLayoutLine, this.value.split('-'));\n        renderFormation(document.getElementById('fm-formation').value, currentTeamIdx, defenseLayout, midfieldLayout, attackLayout);\n        updatePlayerSelectOptions();\n        updateField();\n    });\n\n    document.getElementById('fm-fixture-browser').addEventListener('click', function(e){\n        const teamButton = e.target.closest('.fm-team-pick');\n        if (teamButton) {\n            const idx = parseInt(teamButton.dataset.teamIdx, 10);\n            if (!Number.isNaN(idx)) {\n                selectTeamForLineup(idx);\n            }\n        }\n    });\n\n    document.getElementById('fm-field').addEventListener('click', function(e){\n        const slotEl = e.target.closest('.fm-slot');\n        if(!slotEl) return;\n        const slotNum = parseInt(slotEl.dataset.num, 10);\n        if(Number.isNaN(slotNum)) return;\n        openSlotPlayerPopup(slotNum);\n    });\n    document.getElementById('fm-save-lineup').addEventListener('click', function() {\n        fm_aufstellung_speichern();\n    });\n    document.getElementById('fm-save-formation').addEventListener('click', function() {\n        savePreferredFormation();\n    });\n    document.getElementById('fm-update-fixtures').addEventListener('click', function(){\n        updateFixtures();\n    });\n    document.addEventListener('DOMContentLoaded', function() {\n        setUpdateButtonState(false);\n        updateAllLayoutOptions(document.getElementById('fm-formation').value);\n        populateTeams();\n    });\n    <\/script>\n    \n\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"off","neve_meta_disable_title":"","footnotes":""},"class_list":["post-3212","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/filmsafari.de\/index.php?rest_route=\/wp\/v2\/pages\/3212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/filmsafari.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/filmsafari.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/filmsafari.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/filmsafari.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3212"}],"version-history":[{"count":4,"href":"https:\/\/filmsafari.de\/index.php?rest_route=\/wp\/v2\/pages\/3212\/revisions"}],"predecessor-version":[{"id":3247,"href":"https:\/\/filmsafari.de\/index.php?rest_route=\/wp\/v2\/pages\/3212\/revisions\/3247"}],"wp:attachment":[{"href":"https:\/\/filmsafari.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}