%3C!DOCTYPE%20html%3E%0A%3Chtml%20lang%3D%22en%22%3E%0A%3Chead%3E%0A%20%20%20%20%3Cmeta%20charset%3D%22UTF-8%22%3E%0A%20%20%20%20%3Cmeta%20name%3D%22viewport%22%20content%3D%22width%3Ddevice-width%2C%20initial-scale%3D1.0%22%3E%0A%20%20%20%20%3Ctitle%3EEncoded%20Host%20View%3C%2Ftitle%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20body%20%7B%20background%3A%20%230a0a0a%3B%20color%3A%20%2300ff41%3B%20font-family%3A%20'Courier%20New'%2C%20monospace%3B%20padding%3A%2020px%3B%20%7D%0A%20%20%20%20%20%20%20%20.container%20%7B%20max-width%3A%201200px%3B%20margin%3A%200%20auto%3B%20%7D%0A%20%20%20%20%20%20%20%20textarea%20%7B%20width%3A%20100%25%3B%20height%3A%20300px%3B%20background%3A%20%23111%3B%20color%3A%20%2300ff41%3B%20border%3A%201px%20solid%20%2300ff4133%3B%20padding%3A%2010px%3B%20font-family%3A%20'Courier%20New'%2C%20monospace%3B%20font-size%3A%2014px%3B%20resize%3A%20vertical%3B%20%7D%0A%20%20%20%20%20%20%20%20.btn%20%7B%20background%3A%20%2300ff41%3B%20color%3A%20%230a0a0a%3B%20border%3A%20none%3B%20padding%3A%2010px%2025px%3B%20cursor%3A%20pointer%3B%20font-weight%3A%20bold%3B%20margin%3A%2010px%205px%3B%20%7D%0A%20%20%20%20%20%20%20%20.btn%3Ahover%20%7B%20background%3A%20%2300cc33%3B%20%7D%0A%20%20%20%20%20%20%20%20.output%20%7B%20background%3A%20%23111%3B%20border%3A%201px%20solid%20%2300ff4133%3B%20padding%3A%2015px%3B%20margin-top%3A%2015px%3B%20white-space%3A%20pre-wrap%3B%20word-break%3A%20break-all%3B%20max-height%3A%20500px%3B%20overflow-y%3A%20auto%3B%20%7D%0A%20%20%20%20%20%20%20%20.row%20%7B%20display%3A%20flex%3B%20gap%3A%2010px%3B%20flex-wrap%3A%20wrap%3B%20margin%3A%2010px%200%3B%20%7D%0A%20%20%20%20%20%20%20%20.label%20%7B%20color%3A%20%2300ff4188%3B%20font-size%3A%2012px%3B%20%7D%0A%20%20%20%20%20%20%20%20select%20%7B%20background%3A%20%23111%3B%20color%3A%20%2300ff41%3B%20border%3A%201px%20solid%20%2300ff4133%3B%20padding%3A%208px%3B%20font-family%3A%20'Courier%20New'%2C%20monospace%3B%20%7D%0A%20%20%20%20%20%20%20%20input%5Btype%3D%22text%22%5D%20%7B%20background%3A%20%23111%3B%20color%3A%20%2300ff41%3B%20border%3A%201px%20solid%20%2300ff4133%3B%20padding%3A%208px%3B%20font-family%3A%20'Courier%20New'%2C%20monospace%3B%20width%3A%20200px%3B%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%3C%2Fhead%3E%0A%3Cbody%3E%0A%3Cdiv%20class%3D%22container%22%3E%0A%20%20%20%20%3Ch1%3E%26gt%3B%20HTML%20Encoder%20%2F%20Host%20View%3C%2Fh1%3E%0A%20%20%20%20%3Cp%20class%3D%22label%22%3EEncode%20HTML%20content%20for%20obfuscation%20and%20view%20decoded%20source%3C%2Fp%3E%0A%0A%20%20%20%20%3Cdiv%20class%3D%22row%22%3E%0A%20%20%20%20%20%20%20%20%3Cselect%20id%3D%22encodeType%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22base64%22%3EBase64%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22hex%22%3EHex%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22entity%22%3EHTML%20Entities%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22unicode%22%3EUnicode%20Escape%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22url%22%3EURL%20Encode%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22rot13%22%3EROT13%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22double%22%3EDouble%20Base64%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20id%3D%22customKey%22%20placeholder%3D%22Custom%20key%20(XOR)%22%20value%3D%22key%22%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22encodeHTML()%22%3EEncode%20%E2%96%B8%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22decodeHTML()%22%3EDecode%20%E2%96%B8%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22clearAll()%22%3E%E2%9C%95%20Clear%3C%2Fbutton%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cdiv%20class%3D%22row%22%3E%0A%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22flex%3A1%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20class%3D%22label%22%3ERaw%20HTML%20Input%3C%2Fp%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctextarea%20id%3D%22inputArea%22%20placeholder%3D%22%3Chtml%3E%3Cbody%3E%3Ch1%3EHello%3C%2Fh1%3E%3C%2Fbody%3E%3C%2Fhtml%3E%22%3E%3C%2Ftextarea%3E%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22flex%3A1%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cp%20class%3D%22label%22%3EEncoded%20%2F%20Decoded%20Output%3C%2Fp%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctextarea%20id%3D%22outputArea%22%20placeholder%3D%22Output%20appears%20here...%22%3E%3C%2Ftextarea%3E%0A%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cdiv%20class%3D%22row%22%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22renderOutput()%22%3E%E2%96%B6%20Render%20Output%20as%20HTML%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22viewSource()%22%3E%F0%9F%93%84%20View%20Source%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22copyOutput()%22%3E%F0%9F%93%8B%20Copy%20Output%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%3Cbutton%20class%3D%22btn%22%20onclick%3D%22downloadHTML()%22%3E%E2%AC%87%20Download%20.html%3C%2Fbutton%3E%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cdiv%20id%3D%22renderContainer%22%20style%3D%22background%3A%20%23111%3B%20border%3A%201px%20solid%20%2300ff4133%3B%20padding%3A%2015px%3B%20margin-top%3A%2010px%3B%20display%3A%20none%3B%20color%3A%20%23ffffff%3B%20min-height%3A%20100px%3B%22%3E%3C%2Fdiv%3E%0A%0A%20%20%20%20%3Cdiv%20class%3D%22output%22%20id%3D%22sourceView%22%20style%3D%22display%3Anone%3B%22%3E%3C%2Fdiv%3E%0A%3C%2Fdiv%3E%0A%0A%3Cscript%3E%0A%20%20%20%20function%20getInput()%20%7B%20return%20document.getElementById('inputArea').value%3B%20%7D%0A%20%20%20%20function%20setOutput(v)%20%7B%20document.getElementById('outputArea').value%20%3D%20v%3B%20%7D%0A%20%20%20%20function%20getOutput()%20%7B%20return%20document.getElementById('outputArea').value%3B%20%7D%0A%0A%20%20%20%20function%20encodeHTML()%20%7B%0A%20%20%20%20%20%20%20%20let%20raw%20%3D%20getInput()%3B%0A%20%20%20%20%20%20%20%20if%20(!raw)%20return%3B%0A%20%20%20%20%20%20%20%20let%20type%20%3D%20document.getElementById('encodeType').value%3B%0A%20%20%20%20%20%20%20%20let%20result%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20switch(type)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'base64'%3A%20result%20%3D%20btoa(unescape(encodeURIComponent(raw)))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'hex'%3A%20result%20%3D%20Array.from(new%20TextEncoder().encode(raw)).map(b%20%3D%3E%20b.toString(16).padStart(2%2C'0')).join('')%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'entity'%3A%20result%20%3D%20raw.split('').map(c%20%3D%3E%20'%26%23'%20%2B%20c.charCodeAt(0)%20%2B%20'%3B').join('')%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'unicode'%3A%20result%20%3D%20raw.split('').map(c%20%3D%3E%20'%5C%5Cu'%20%2B%20c.charCodeAt(0).toString(16).padStart(4%2C'0')).join('')%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'url'%3A%20result%20%3D%20encodeURIComponent(raw)%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'rot13'%3A%20result%20%3D%20raw.replace(%2F%5Ba-zA-Z%5D%2Fg%2C%20c%20%3D%3E%20String.fromCharCode((c%20%3C%3D%20'Z'%20%3F%2090%20%3A%20122)%20%3E%3D%20(c%20%3D%20c.charCodeAt(0)%20%2B%2013)%20%3F%20c%20%3A%20c%20-%2026))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20case%20'double'%3A%20let%20b1%20%3D%20btoa(unescape(encodeURIComponent(raw)))%3B%20result%20%3D%20btoa(unescape(encodeURIComponent(b1)))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20result%20%3D%20raw%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20setOutput(result)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20decodeHTML()%20%7B%0A%20%20%20%20%20%20%20%20let%20encoded%20%3D%20getOutput()%3B%0A%20%20%20%20%20%20%20%20if%20(!encoded)%20%7B%20encoded%20%3D%20getInput()%3B%20%7D%0A%20%20%20%20%20%20%20%20if%20(!encoded)%20return%3B%0A%20%20%20%20%20%20%20%20let%20type%20%3D%20document.getElementById('encodeType').value%3B%0A%20%20%20%20%20%20%20%20let%20result%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20switch(type)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'base64'%3A%20result%20%3D%20decodeURIComponent(escape(atob(encoded)))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'hex'%3A%20let%20bytes%20%3D%20encoded.match(%2F.%7B1%2C2%7D%2Fg).map(b%20%3D%3E%20parseInt(b%2C%2016))%3B%20result%20%3D%20new%20TextDecoder().decode(new%20Uint8Array(bytes))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'entity'%3A%20result%20%3D%20encoded.replace(%2F%26%23(%5Cd%2B)%3B%2Fg%2C%20(m%2C%20n)%20%3D%3E%20String.fromCharCode(parseInt(n)))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'unicode'%3A%20result%20%3D%20encoded.replace(%2F%5C%5Cu(%5B0-9a-fA-F%5D%7B4%7D)%2Fg%2C%20(m%2C%20hex)%20%3D%3E%20String.fromCharCode(parseInt(hex%2C%2016)))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'url'%3A%20result%20%3D%20decodeURIComponent(encoded)%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'rot13'%3A%20result%20%3D%20encoded.replace(%2F%5Ba-zA-Z%5D%2Fg%2C%20c%20%3D%3E%20String.fromCharCode((c%20%3C%3D%20'Z'%20%3F%2090%20%3A%20122)%20%3E%3D%20(c%20%3D%20c.charCodeAt(0)%20%2B%2013)%20%3F%20c%20%3A%20c%20-%2026))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20'double'%3A%20let%20d1%20%3D%20atob(encoded)%3B%20result%20%3D%20decodeURIComponent(escape(atob(d1)))%3B%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20result%20%3D%20encoded%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%20catch(e)%20%7B%20result%20%3D%20'%5BDECODE%20ERROR%5D%20'%20%2B%20e.message%3B%20%7D%0A%20%20%20%20%20%20%20%20setOutput(result)%3B%0A%20%20%20%20%20%20%20%20document.getElementById('inputArea').value%20%3D%20result%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20renderOutput()%20%7B%0A%20%20%20%20%20%20%20%20let%20html%20%3D%20getOutput()%3B%0A%20%20%20%20%20%20%20%20if%20(!html)%20html%20%3D%20getInput()%3B%0A%20%20%20%20%20%20%20%20if%20(!html)%20return%3B%0A%20%20%20%20%20%20%20%20let%20container%20%3D%20document.getElementById('renderContainer')%3B%0A%20%20%20%20%20%20%20%20container.innerHTML%20%3D%20html%3B%0A%20%20%20%20%20%20%20%20container.style.display%20%3D%20'block'%3B%0A%20%20%20%20%20%20%20%20document.getElementById('sourceView').style.display%20%3D%20'none'%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20viewSource()%20%7B%0A%20%20%20%20%20%20%20%20let%20html%20%3D%20getOutput()%3B%0A%20%20%20%20%20%20%20%20if%20(!html)%20html%20%3D%20getInput()%3B%0A%20%20%20%20%20%20%20%20if%20(!html)%20return%3B%0A%20%20%20%20%20%20%20%20let%20src%20%3D%20document.getElementById('sourceView')%3B%0A%20%20%20%20%20%20%20%20src.textContent%20%3D%20html%3B%0A%20%20%20%20%20%20%20%20src.style.display%20%3D%20'block'%3B%0A%20%20%20%20%20%20%20%20document.getElementById('renderContainer').style.display%20%3D%20'none'%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20clearAll()%20%7B%0A%20%20%20%20%20%20%20%20document.getElementById('inputArea').value%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20document.getElementById('outputArea').value%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20document.getElementById('renderContainer').innerHTML%20%3D%20''%3B%0A%20%20%20%20%20%20%20%20document.getElementById('renderContainer').style.display%20%3D%20'none'%3B%0A%20%20%20%20%20%20%20%20document.getElementById('sourceView').style.display%20%3D%20'none'%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20copyOutput()%20%7B%0A%20%20%20%20%20%20%20%20let%20text%20%3D%20getOutput()%3B%0A%20%20%20%20%20%20%20%20if%20(!text)%20text%20%3D%20getInput()%3B%0A%20%20%20%20%20%20%20%20if%20(!text)%20return%3B%0A%20%20%20%20%20%20%20%20navigator.clipboard.writeText(text).then(()%20%3D%3E%20alert('Copied!'))%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20downloadHTML()%20%7B%0A%20%20%20%20%20%20%20%20let%20html%20%3D%20getOutput()%3B%0A%20%20%20%20%20%20%20%20if%20(!html)%20html%20%3D%20getInput()%3B%0A%20%20%20%20%20%20%20%20if%20(!html)%20return%3B%0A%20%20%20%20%20%20%20%20let%20blob%20%3D%20new%20Blob(%5Bhtml%5D%2C%20%7Btype%3A%20'text%2Fhtml'%7D)%3B%0A%20%20%20%20%20%20%20%20let%20a%20%3D%20document.createElement('a')%3B%0A%20%20%20%20%20%20%20%20a.href%20%3D%20URL.createObjectURL(blob)%3B%0A%20%20%20%20%20%20%20%20a.download%20%3D%20'encoded_page.html'%3B%0A%20%20%20%20%20%20%20%20a.click()%3B%0A%20%20%20%20%20%20%20%20URL.revokeObjectURL(a.href)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Auto-detect%20encoding%20from%20input%0A%20%20%20%20function%20autoDetectAndDecode()%20%7B%0A%20%20%20%20%20%20%20%20let%20raw%20%3D%20getInput()%3B%0A%20%20%20%20%20%20%20%20if%20(!raw)%20return%3B%0A%20%20%20%20%20%20%20%20%2F%2F%20Try%20base64%0A%20%20%20%20%20%20%20%20try%20%7B%20if%20(atob(raw))%20%7B%20document.getElementById('encodeType').value%20%3D%20'base64'%3B%20decodeHTML()%3B%20return%3B%20%7D%20%7D%20catch(e)%20%7B%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20Try%20hex%0A%20%20%20%20%20%20%20%20if%20(%2F%5E%5B0-9a-fA-F%5D%2B%24%2F.test(raw)%20%26%26%20raw.length%20%25%202%20%3D%3D%3D%200)%20%7B%20document.getElementById('encodeType').value%20%3D%20'hex'%3B%20decodeHTML()%3B%20return%3B%20%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20Try%20entity%0A%20%20%20%20%20%20%20%20if%20(%2F%26%23%5Cd%2B%3B%2F.test(raw))%20%7B%20document.getElementById('encodeType').value%20%3D%20'entity'%3B%20decodeHTML()%3B%20return%3B%20%7D%0A%20%20%20%20%20%20%20%20%2F%2F%20Try%20unicode%0A%20%20%20%20%20%20%20%20if%20(%2F%5C%5Cu%5B0-9a-fA-F%5D%7B4%7D%2F.test(raw))%20%7B%20document.getElementById('encodeType').value%20%3D%20'unicode'%3B%20decodeHTML()%3B%20return%3B%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Bind%20paste%20event%20to%20auto-detect%0A%20%20%20%20document.getElementById('inputArea').addEventListener('paste'%2C%20function()%20%7B%20setTimeout(autoDetectAndDecode%2C%20100)%3B%20%7D)%3B%0A%20%20%20%20document.getElementById('inputArea').addEventListener('input'%2C%20function()%20%7B%20if%20(this.value.length%20%3E%2010)%20autoDetectAndDecode()%3B%20%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E