{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-AUDIT-085R2", "status": "FAIL", "rc": 3, "host": "pve01", "mode": "read-only", "component": "gram-support-fleet-footer-ui-readonly-audit-r2", "started_at_utc": "2026-09-09T16:02:25Z", "finished_at_utc": "2026-09-09T16:02:37Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "8dcee3ee82375b43608e16025232e1a2f9b20cec49465145bfb5820a53a98f3f", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "change_declared": false, "result_contract_valid": true, "result_contract_status": null, "result_contract_error": null, "command_rc": 3, "changes_made": false, "rollback_started": false, "rollback_restored": null, "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, "raw_evidence_sha256": "09d495acea9116d2bbc3431d7af60e65d81c1198066db419f2c86acd054ca8ca", "sanitized_output_sha256": "09d495acea9116d2bbc3431d7af60e65d81c1198066db419f2c86acd054ca8ca", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "GRAM_FOOTER_AUDIT_BEGIN\nCOMMAND_ID=SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-AUDIT-085R2\nGRAM_FOOTER_SOURCE={\"addon_candidates\":[],\"branch\":\"main\",\"clean\":true,\"exists\":true,\"git\":true,\"head\":\"0910c8f60796a783ca11af69b1c5ed775ae79ee5\",\"repo\":\"/root/gram-support\",\"selected_addon_dir\":null,\"tracked_count\":3,\"tracked_relevant\":[\"release/FIX4_SHA256.txt\",\"release/GRAM_SUPPORT_FIX4_FINAL.zip\"],\"ui_hits\":[]}\nGRAM_FOOTER_CLUSTER={\"160\":{\"name\":\"forum-prod\",\"node\":\"pve02\",\"status\":\"running\"},\"210\":{\"name\":\"newfi-prod\",\"node\":\"pve01\",\"status\":\"running\"},\"211\":{\"name\":\"newfi-staging\",\"node\":\"pve03\",\"status\":\"running\"}}\nGRAM_FOOTER_VM160={\"host\":\"forum-prod\",\"sites\":[{\"name\":\"codevipe\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/codevipe/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":0,\"max_id\":0},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"1\",\"boardTitle\":\"\\u0424\\u043e\\u0440\\u0443\\u043c CodeVipe\",\"boardUrl\":\"https://codevipe.ru\",\"defaultStyleId\":\"2\"},\"root\":\"/var/www/forums/codevipe/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":0},{\"parent_id\":1,\"style_id\":2,\"title\":\"Default style 2\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}},{\"name\":\"dsmods\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/dsmods/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":0,\"max_id\":0},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"1\",\"boardTitle\":\"\\u0421\\u0435\\u043a\\u0440\\u0435\\u0442\\u044b \\u0438 \\u043c\\u043e\\u0434\\u044b Doom\",\"boardUrl\":\"https://dsmods.ru\",\"defaultStyleId\":\"2\"},\"root\":\"/var/www/forums/dsmods/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":0},{\"parent_id\":1,\"style_id\":2,\"title\":\"Default style 2\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}},{\"name\":\"gamevipe\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/gamevipe/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":0,\"max_id\":0},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"1\",\"boardTitle\":\"\\u0424\\u043e\\u0440\\u0443\\u043c GameVipe\",\"boardUrl\":\"https://gamevipe.ru\",\"defaultStyleId\":\"2\"},\"root\":\"/var/www/forums/gamevipe/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":0},{\"parent_id\":1,\"style_id\":2,\"title\":\"Default style 2\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}},{\"name\":\"hkmods\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/hkmods/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":10,\"max_id\":12},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"1\",\"boardTitle\":\"\\u041c\\u043e\\u0434\\u044b \\u0434\\u043b\\u044f Hollow Knight\",\"boardUrl\":\"https://hkmods.ru\",\"defaultStyleId\":\"2\"},\"root\":\"/var/www/forums/hkmods/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":0},{\"parent_id\":1,\"style_id\":2,\"title\":\"Default style 2\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}},{\"name\":\"kingofwolk\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/kingofwolk/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":0,\"max_id\":0},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"1\",\"boardTitle\":\"KingOfWolk\",\"boardUrl\":\"https://kingofwolk.ru\",\"defaultStyleId\":\"2\"},\"root\":\"/var/www/forums/kingofwolk/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":1},{\"parent_id\":1,\"style_id\":2,\"title\":\"KingOfWolk Dark\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}},{\"name\":\"zakrutim\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/zakrutim/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":0,\"max_id\":0},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"1\",\"boardTitle\":\"\\u041a\\u043e\\u043d\\u0441\\u0435\\u0440\\u0432\\u0438\\u0440\\u043e\\u0432\\u0430\\u043d\\u0438\\u0435 \\u0438 \\u0437\\u0430\\u043a\\u0440\\u0443\\u0442\\u043a\\u0438\",\"boardUrl\":\"https://zakrutim.ru\",\"defaultStyleId\":\"2\"},\"root\":\"/var/www/forums/zakrutim/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":0},{\"parent_id\":1,\"style_id\":2,\"title\":\"Default style 2\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}}]}\nGRAM_FOOTER_VM210={\"host\":\"newfi-prod\",\"sites\":[{\"name\":\"newfi-prod\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/newfi/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":0,\"max_id\":0},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"0\",\"boardTitle\":\"\\u041d\\u044c\\u044e\\u0444\\u0414\\u043e\\u043c\",\"boardUrl\":\"https://newfi.ru\",\"defaultStyleId\":\"4\"},\"root\":\"/var/www/forums/newfi/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":1},{\"parent_id\":1,\"style_id\":4,\"title\":\"\\u041d\\u044c\\u044e\\u0444\\u0414\\u043e\\u043c\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}}]}\nGRAM_FOOTER_VM211={\"host\":\"newfi-staging\",\"sites\":[{\"name\":\"newfi-staging\",\"php_rc\":0,\"php_stderr\":\"\",\"root\":\"/var/www/forums/newfi/public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"state\":{\"addon\":{\"active\":1,\"addon_id\":\"Gram/Support\",\"is_processing\":0,\"last_pending_action\":null,\"title\":\"Gram Support\",\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"addon_schema\":[\"addon_id\",\"title\",\"version_string\",\"version_id\",\"json_hash\",\"active\",\"is_legacy\",\"is_processing\",\"last_pending_action\"],\"errors\":{\"count\":14,\"max_id\":46},\"extra_less_support_hits\":[],\"ok\":true,\"options\":{\"boardActive\":\"0\",\"boardTitle\":\"Newfi Staging\",\"boardUrl\":\"http://newfi-staging.gram1.ru\",\"defaultStyleId\":\"4\"},\"root\":\"/var/www/forums/newfi/public\",\"styles\":[{\"parent_id\":0,\"style_id\":1,\"title\":\"Default style\",\"user_selectable\":1},{\"parent_id\":1,\"style_id\":4,\"title\":\"Newfi Staging\",\"user_selectable\":1}],\"template_inventory\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"sha256\":\"fa9dc6b120c7a8c38910493d4d49ab847d2f88ecff63f7aadd3f5f45f6809aad\",\"style_id\":0,\"title\":\"gram_support_staff_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1542,\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}],\"template_mod_schema\":[\"modification_id\",\"addon_id\",\"type\",\"template\",\"modification_key\",\"description\",\"execution_order\",\"enabled\",\"action\",\"find\",\"replace\"],\"template_mods\":[{\"addon_id\":\"Gram/Support\",\"enabled\":1,\"execution_order\":100,\"find\":{\"bytes\":7,\"sample\":\"\",\"sha256\":\"124207d84bdc8a107cbcc04212a091e85157e09d7bf208f7afb4839498fef083\"},\"modification_key\":\"gram_support_launcher\",\"replace\":{\"bytes\":55,\"sample\":\"\\n\",\"sha256\":\"076cbf5ada30272d9b9bb748bd2faf7fe8849cbcd0c4da698939e21cb1f8e214\"},\"template\":\"PAGE_CONTAINER\",\"type\":\"public\"}],\"template_schema\":[\"template_id\",\"type\",\"title\",\"style_id\",\"template\",\"template_parsed\",\"addon_id\",\"version_id\",\"version_string\",\"last_edit_date\"],\"ui_templates\":[{\"addon_id\":\"Gram/Support\",\"bytes\":136,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_alert_ticket_event', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_alert_ticket_event', {\\n\\t\\t'public_ref': $alert.extra_data.public_ref\\n\\t}) }}\\n\\n\",\"sha256\":\"cf73ad1b787e1bcb03c160a491ee7f714a4e73b72a118bcaf71bd6396e1e6a29\",\"style_id\":0,\"title\":\"alert_user_gram_support_evt\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":530,\"hit_lines\":[{\"line\":1,\"text\":\".gramSupport-launcher\"},{\"line\":11,\"text\":\".gramSupport-messageMeta\"},{\"line\":18,\"text\":\".gramSupport-message--internal\"},{\"line\":26,\"text\":\".gramSupport-launcher\"},{\"line\":34,\"text\":\".gramSupport-messageBody\"}],\"sample\":\".gramSupport-launcher\\n{\\n\\tposition: fixed;\\n\\tright: 18px;\\n\\tbottom: 18px;\\n\\tz-index: 500;\\n\\tborder-radius: 999px;\\n\\tbox-shadow: 0 6px 24px rgba(0, 0, 0, .22);\\n}\\n\\n.gramSupport-messageMeta\\n{\\n\\tfont-size: 12px;\\n\\topacity: .7;\\n\\tmargin-bottom: 6px;\\n}\\n\\n.gramSupport-message--internal\\n{\\n\\tborder-left: 4px solid currentColor;\\n\\topacity: .9;\\n}\\n\\n@media (max-width: 650px)\\n{\\n\\t.gramSupport-launcher\\n\\t{\\n\\t\\tright: 12px;\\n\\t\\tbottom: 12px;\\n\\t\\tmax-width: calc(100vw - 24px);\\n\\t}\\n}\\n\\n.gramSupport-messageBody\\n{\\n\\twhite-space: pre-wrap;\\n\\toverflow-wrap: anywhere;\\n}\\n\",\"sha256\":\"1b16b3ea2f1b6d8e382cbaa8875e42b389054527a160c771de2e1675917882ed\",\"style_id\":0,\"title\":\"gram_support.less\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":493,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_access_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":7,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_access_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"78a1fd4a1ce75f196f78d04f92e8b2f578531daca66a285fb29aaa50ae757969\",\"style_id\":0,\"title\":\"gram_support_access\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":601,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_my_tickets') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"\"},{\"line\":15,\"text\":\"
{{ phrase('gram_support_no_tickets') }}
\"}],\"sample\":\"{{ phrase('gram_support_my_tickets') }}\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t
{{ phrase('gram_support_no_tickets') }}
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"75f6f9c1a2e4b61ad4340c0ce00cc40171be17729675116ca4e619acef8cc52a\",\"style_id\":0,\"title\":\"gram_support_account\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1488,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_create_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":4,\"text\":\"\"},{\"line\":12,\"text\":\"label=\\\"{{ phrase('gram_support_category') }}\\\">\"},{\"line\":13,\"text\":\"{{ phrase('gram_support_category_technical') }}\"},{\"line\":14,\"text\":\"{{ phrase('gram_support_category_account') }}\"},{\"line\":15,\"text\":\"{{ phrase('gram_support_category_content') }}\"},{\"line\":16,\"text\":\"{{ phrase('gram_support_category_other') }}\"},{\"line\":19,\"text\":\"label=\\\"{{ phrase('gram_support_subject') }}\\\" />\"},{\"line\":21,\"text\":\"label=\\\"{{ phrase('gram_support_description') }}\\\" />\"},{\"line\":23,\"text\":\"label=\\\"{{ phrase('gram_support_screenshot_optional') }}\\\" />\"},{\"line\":29,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_create_title') }}\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t{{ phrase('gram_support_category_technical') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_account') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_content') }}\\n\\t\\t\\t\\t{{ phrase('gram_support_category_other') }}\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\",\"sha256\":\"28cc5674de9d83ab0ae468e0fd789b44b2b88a0fab9f959e75f26d7508e87287\",\"style_id\":0,\"title\":\"gram_support_create\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":707,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_created_title') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":9,\"text\":\"

{{ phrase('gram_support_save_access_code') }}

\"},{\"line\":17,\"text\":\"{{ phrase('gram_support_open_ticket') }}\"}],\"sample\":\"{{ phrase('gram_support_created_title') }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

{{ phrase('gram_support_save_access_code') }}

\\n\\t\\t\\t\\t{{ $accessCode }}\\n\\t\\t\\t\\t{{ phrase('copy') }}\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_open_ticket') }}\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"59f4609e245c125cf2a39a03d325c0faef6dfe0517824bd2eeee5a0a11b260c4\",\"style_id\":0,\"title\":\"gram_support_created_guest\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":254,\"hit_lines\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_open_support') }}\"}],\"sample\":\"\\n\\t\\n\\t\\t{{ phrase('gram_support_open_support') }}\\n\\t\\n\\n\",\"sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"style_id\":0,\"title\":\"gram_support_launcher\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":768,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_queue') }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"\"}],\"sample\":\"{{ phrase('gram_support_staff_queue') }}\\n\\n\\n\\n\\n\\n\",\"sha256\":\"de77a6c2043e3db3d0f8fe00bd705e4b269b201ce63a2e47c144f875ea600c56\",\"style_id\":0,\"title\":\"gram_support_staff_queue\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":1914,\"hit_lines\":[{\"line\":3,\"text\":\"const OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\"},{\"line\":4,\"text\":\"const STATIC_CACHE = 'gram-support-staff-static-v1';\"},{\"line\":18,\"text\":\".filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\"},{\"line\":36,\"text\":\"// SECURITY: all support/ticket/account/admin-like content is network-only.\"},{\"line\":40,\"text\":\"url.pathname.startsWith('/support/') ||\"}],\"sample\":\"'use strict';\\n\\nconst OFFLINE_URL = '{{ base_url('js/gram/support/pwa/offline.html')|escape('js') }}';\\nconst STATIC_CACHE = 'gram-support-staff-static-v1';\\n\\nself.addEventListener('install', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.open(STATIC_CACHE)\\n\\t\\t\\t.then(cache => cache.addAll([OFFLINE_URL]))\\n\\t\\t\\t.then(() => self.skipWaiting())\\n\\t);\\n});\\n\\nself.addEventListener('activate', event => {\\n\\tevent.waitUntil(\\n\\t\\tcaches.keys().then(keys =>\\n\\t\\t\\tPromise.all(keys\\n\\t\\t\\t\\t.filter(key => key.startsWith('gram-support-staff-static-') && key !== STATIC_CACHE)\\n\\t\\t\\t\\t.map(key => caches.delete(key))\\n\\t\\t\\t)\\n\\t\\t).then(() => self.clients.claim())\\n\\t);\\n});\\n\\nself.addEventListener('fetch', event => {\\n\\tconst request = event.request;\\n\\tif (request.method !== 'GET') {\\n\\t\\treturn;\\n\\t}\\n\\n\\tconst url = new URL(request.url);\\n\\tif (url.origin !== self.location.origin) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// SECURITY: all support/ticket/account/admin-like content is network-only.\\n\\t// Never cache HTML/API responses that can contain ticket data, identities,\\n\\t// access state, internal notes, attachments or staff-only information.\\n\\tconst sensitive =\\n\\t\\turl.pathname.startsWith('/support/') ||\\n\\t\\turl.pathname.startsWith('/account/') ||\\n\\t\\turl.pathname.startsWith('/admin.php') ||\\n\\t\\trequest.headers.get('accept')?.includes('text/html');\\n\\n\\tif (sensitive) {\\n\\t\\tevent.respondWith(\\n\\t\\t\\tfetch(request, {cache: 'no-store'}).catch(() => {\\n\\t\\t\\t\\tif (request.mode === 'navigate') {\\n\\t\\t\\t\\t\\treturn caches.match(OFFLINE_URL);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tthrow new Error('OFFLINE_NETWORK_ONLY');\\n\\t\\t\\t})\\n\\t\\t);\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Same-origin static assets only; stale-while-revalidate.\\n\\tevent.respondWith(\\n\\t\\tcaches.open(STATIC_CACHE).then(cache =>\\n\\t\\t\\tcache.match(request).then(cached => {\\n\\t\\t\\t\\tconst network = fetch(request).then(response => {\\n\\t\\t\\t\\t\\tif (response.ok && response.type === 'basic') {\\n\\t\\t\\t\\t\\t\\tcache.put\",\"sha256\":\"c3cbc44db9be7b95f470a25b0d783ac7ba8778b643662957cba4e197c4267844\",\"style_id\":0,\"title\":\"gram_support_staff_service_worker\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":2704,\"hit_lines\":[{\"line\":1,\"text\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\"},{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"\"},{\"line\":6,\"text\":\"\"},{\"line\":13,\"text\":\"
\"},{\"line\":14,\"text\":\"
\"},{\"line\":16,\"text\":\" \\u00b7 {{ phrase('gram_support_internal_note') }}\"},{\"line\":18,\"text\":\"
{$message.message}
\"},{\"line\":29,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":41,\"text\":\"\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"\"},{\"line\":47,\"text\":\"{{ phrase('gram_support_internal_note') }}\"},{\"line\":51,\"text\":\"\"},{\"line\":55,\"text\":\"\"},{\"line\":58,\"text\":\"\"},{\"line\":64,\"text\":\"label=\\\"{{ phrase('gram_support_assigned_user_id') }}\\\" />\"}],\"sample\":\"{{ phrase('gram_support_staff_ticket') }} {{ $ticket.public_ref }}\\n\\n\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}

\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{{ date_time($message.message_date) }}\\n\\t\\t\\t\\t\\t\\t \\u00b7 {{ phrase('gram_support_internal_note') }}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\"},{\"line\":9,\"text\":\"{{ phrase('gram_support_status') }}: {{ $ticket.status }}\"},{\"line\":12,\"text\":\"
\"},{\"line\":13,\"text\":\"
{{ date_time($message.message_date) }}
\"},{\"line\":14,\"text\":\"
{$message.message}
\"},{\"line\":25,\"text\":\"

{{ phrase('gram_support_attachments') }}

\"},{\"line\":38,\"text\":\"\"},{\"line\":42,\"text\":\"label=\\\"{{ phrase('gram_support_reply') }}\\\" />\"},{\"line\":44,\"text\":\"\"}],\"sample\":\"{{ $ticket.public_ref }} \\u2014 {{ $ticket.subject }}\\n\\n\\n
\\n\\t
\\n\\t\\t

{{ $ticket.public_ref }}

\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t{{ phrase('gram_support_status') }}: {{ $ticket.status }}\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
{{ date_time($message.message_date) }}
\\n\\t\\t\\t\\t\\t
{$message.message}
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\n\\t
\\n\\t\\t
\\n\\t\\t\\t

{{ phrase('gram_support_attachments') }}

\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t{$attachment.filename}\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n
\\n\\n\\n\\t\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\t
\\n
\\n\",\"sha256\":\"f13d36c71242adcc12b2ec218d5a0673704245495b3982dc98ad7d7ee8a93805\",\"style_id\":0,\"title\":\"gram_support_ticket\",\"type\":\"public\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":228,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_registered', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_registered', {\\n\\t'public_ref': $ticket.public_ref\\n}) }}\\n\",\"sha256\":\"1292c840ac8d65f2531d6af31df0381ad1e864023f61472f7581693f1f13b6cd\",\"style_id\":0,\"title\":\"gram_support_ticket_event\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"},{\"addon_id\":\"Gram/Support\",\"bytes\":250,\"hit_lines\":[{\"line\":2,\"text\":\"{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\"},{\"line\":5,\"text\":\"{{ phrase('gram_support_email_ticket_event_body_guest', {\"}],\"sample\":\"\\n\\t{{ phrase('gram_support_email_ticket_event_subject', {'public_ref': $ticket.public_ref}) }}\\n\\n\\n{{ phrase('gram_support_email_ticket_event_body_guest', {\\n\\t'public_ref': $ticket.public_ref,\\n\\t'access_url': $accessUrl\\n}) }}\\n\",\"sha256\":\"a427ce1da80b82bac28abc99150975c41f146163ea8a6728e3dacc290a078176\",\"style_id\":0,\"title\":\"gram_support_ticket_event_guest\",\"type\":\"email\",\"version_id\":1000050,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 3\"}]}}]}\nGRAM_FOOTER_PUBLIC_UI=[{\"board_url\":\"https://codevipe.ru\",\"name\":\"codevipe\",\"root\":{\"bytes\":47231,\"ok\":true,\"sha256\":\"70fe60d06d2f8b745036c16610537b9d04080eefe5c3b4de80f15814fc277bfb\",\"status\":200,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":29161,\"ok\":true,\"status\":200}},{\"board_url\":\"https://dsmods.ru\",\"name\":\"dsmods\",\"root\":{\"bytes\":176072,\"ok\":true,\"sha256\":\"10e1cd2c905f8b7f671fc613b5d2ae3996b3724f1fd9c7593c4b8bf8b70bb192\",\"status\":200,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":29193,\"ok\":true,\"status\":200}},{\"board_url\":\"https://gamevipe.ru\",\"name\":\"gamevipe\",\"root\":{\"bytes\":77668,\"ok\":true,\"sha256\":\"31a4130a1c74a18dc7d1c46b61ae40a43572f47e81856337838a410167732244\",\"status\":200,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":29178,\"ok\":true,\"status\":200}},{\"board_url\":\"https://hkmods.ru\",\"name\":\"hkmods\",\"root\":{\"bytes\":114631,\"ok\":true,\"sha256\":\"eb33809b6b777183ae1d3fb53c0543e25cc9ee8af4bbf4dd64d2ef989777fadf\",\"status\":200,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":29214,\"ok\":true,\"status\":200}},{\"board_url\":\"https://kingofwolk.ru\",\"name\":\"kingofwolk\",\"root\":{\"bytes\":70149,\"ok\":true,\"sha256\":\"403d4ec72a21719e423df2df8fcdb3e32246746b225f01354a4126deed960331\",\"status\":200,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":30524,\"ok\":true,\"status\":200}},{\"board_url\":\"https://zakrutim.ru\",\"name\":\"zakrutim\",\"root\":{\"bytes\":149970,\"ok\":true,\"sha256\":\"29d3885312dd61d05d492debc034c969e8d7b70b59974298202e2a6339d559dc\",\"status\":200,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":29384,\"ok\":true,\"status\":200}},{\"board_url\":\"https://newfi.ru\",\"name\":\"newfi-prod\",\"root\":{\"bytes\":25076,\"ok\":false,\"sha256\":\"1bdb3ca1ac68e06f1d2bf95fe3b475b399dbe9ca01f0fe51ab24b15976b9a2ad\",\"status\":503,\"truncated\":false},\"support_anchors\":[{\"ancestor_chain\":[{\"class\":\"has-no-js template-error\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"}],\"support_page\":{\"bytes\":25084,\"ok\":false,\"status\":503}}]\nGRAM_FOOTER_VERSION_MAP={\"codevipe\":{\"active\":1,\"default_style_id\":\"2\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"dsmods\":{\"active\":1,\"default_style_id\":\"2\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"gamevipe\":{\"active\":1,\"default_style_id\":\"2\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"hkmods\":{\"active\":1,\"default_style_id\":\"2\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"kingofwolk\":{\"active\":1,\"default_style_id\":\"2\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"newfi-prod\":{\"active\":1,\"default_style_id\":\"4\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"newfi-staging\":{\"active\":1,\"default_style_id\":\"4\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"},\"zakrutim\":{\"active\":1,\"default_style_id\":\"2\",\"processing\":0,\"version_id\":1000060,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 4\"}}\nGRAM_FOOTER_UI_DRIFT=[{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"codevipe\"},{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"dsmods\"},{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"gamevipe\"},{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"hkmods\"},{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"kingofwolk\"},{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-forum_list\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"zakrutim\"},{\"anchor\":{\"ancestor_chain\":[{\"class\":\"has-no-js template-error\",\"tag\":\"html\"},{\"class\":\"\",\"tag\":\"body\"}],\"class\":\"gramSupport-launcher button button--primary\",\"href_path\":\"/support/create\",\"id\":\"\",\"tag\":\"a\",\"text\":\"\\u041f\\u043e\\u0434\\u0434\\u0435\\u0440\\u0436\\u043a\\u0430\"},\"issue\":\"SUPPORT_ANCHOR_FACT\",\"site\":\"newfi-prod\"}]\nGRAM_FOOTER_COLLECTION_HOLDS=[\"ROOT_HTTP:newfi-prod:503\",\"SUPPORT_HTTP:newfi-prod:503\"]\nGRAM_FOOTER_SOURCE_LAYOUT={\"addon_candidates\":[],\"selected_addon_dir\":null,\"tracked_count\":3,\"tracked_relevant\":[\"release/FIX4_SHA256.txt\",\"release/GRAM_SUPPORT_FIX4_FINAL.zip\"]}\nGRAM_FOOTER_MUTATION_SCOPE=NONE_READ_ONLY\nGRAM_FOOTER_DECISION=HOLD_COLLECTION_INCOMPLETE\n" }