{"version":3,"sources":["jsdelivr-header.js","/npm/html-inline@1.2.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,QAAU,QAAQ,WAClB,QAAU,QAAQ,YAClB,GAAK,QAAQ,MACb,KAAO,QAAQ,QAEnB,OAAO,QAAU,SAAU,GAClB,IAAM,EAAO,CAAC,GACnB,IAAI,EAAU,EAAK,SAAW,QAAQ,MAClC,EAAK,UAqCT,OAnCM,EAAK,eAAiB,EAAK,mBAC7B,EAAG,UAAU,eAAe,SAAU,GAClC,IAAI,EAAO,EAAI,EAAK,aAAa,QACjC,EAAK,gBAAgB,OACrB,GAAG,iBAAiB,GACf,KAAK,EAAK,oBAEnB,IAEE,EAAK,cAAgB,EAAK,kBAC5B,EAAG,UAAU,YAAY,SAAU,GAC/B,EAAS,EAAM,MACnB,IAEE,EAAK,aAAe,EAAK,iBAC3B,EAAG,UAAU,cAAc,SAAU,GAErB,gBADD,EAAK,aAAa,QAAU,IAAI,eAE3C,EAAS,EAAM,OACnB,IAEE,EAAK,cAAgB,EAAK,kBAC5B,EAAG,UAAU,cAAc,SAAU,GAEjC,GAAY,eADF,EAAK,aAAa,OAAO,cACnC,CACA,IAAI,EAAO,EAAI,EAAK,aAAa,SAE7B,EAAI,EAAK,kBAAkB,CAAE,OAAO,IACxC,EAAE,MAAM,WACR,IAAI,EAAI,GAAG,iBAAiB,GAC5B,EAAE,KAAK,EAAG,CAAE,KAAK,IACjB,EAAE,GAAG,OAAO,WAAc,EAAE,IAAI,WAAY,GAPZ,CAQpC,IAGG,EAEP,SAAS,EAAK,GACV,OAAG,KAAK,WAAW,GACR,KAAK,QAAQ,EAAS,KAAK,SAAS,IAAK,IAEzC,KAAK,QAAQ,EAAS,EAErC,CAOA,SAAS,EAAU,EAAM,GACrB,IAAI,EAAO,EAAK,aAAa,GAC7B,IAAI,SAAS,KAAK,GAAlB,CACA,IAAI,EAAO,EAAI,GACX,EAAI,EAAK,kBAAkB,CAAE,OAAO,IACpC,EAAQ,EAAK,gBACjB,EAAE,MAAM,IAAM,EAAK,MACnB,OAAO,KAAK,GAAO,SAAQ,SAAU,GAC7B,IAAQ,GACZ,EAAE,MAAM,IAAM,EAAM,MAAW,EAAM,GAdhC,QAAQ,KAAM,SAClB,QAAQ,KAAM,QACd,QAAQ,KAAM,QAY8B,KACjD,IACA,IAAI,EAAM,KAAK,QAAQ,GAAM,QAAQ,MAAO,IAAI,cAC5C,EAAO,EAAK,aAAa,QACxB,IAAM,EAAO,CACd,IAAK,gBACL,IAAK,YACL,IAAK,aACL,KAAM,aACN,IAAK,cACP,IAAQ,aACV,EAAE,MAAM,IAAM,EAAO,UAAY,EAAO,YACxC,GAAG,iBAAiB,GAAM,KAAK,SAI/B,SAAgB,EAAK,EAAK,GAClB,IACA,EAAM,OAAO,OAAO,CAAE,EAAM,IAC5B,EAAO,MAGX,IAAI,EACA,EAAI,OAAS,GAAM,EACnB,EAAI,GAGJ,EAAI,EAAI,MAAM,EAAG,EAAI,OAAS,EAAI,OAAS,GAC3C,EAAO,EAAI,MAAM,EAAI,OAAS,EAAI,OAAS,IAE/C,EAAE,MAAM,EAAE,SAAS,WAEnB,GACJ,IACA,WACQ,GAAM,EAAE,MAAM,EAAK,SAAS,WAChC,EAAE,IAAI,KACV,KAvBA,IAAe,EAAO,IArBS,CA6CnC,CACJ","file":"/npm/html-inline@1.2.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/html-inline@1.2.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var trumpet = require('trumpet');\nvar through = require('through2');\nvar fs = require('fs');\nvar path = require('path');\n\nmodule.exports = function (opts) {\n    if (!opts) opts = {};\n    var basedir = opts.basedir || process.cwd();\n    var tr = trumpet();\n\n    if (!(opts.ignoreScripts || opts['ignore-scripts'])) {\n        tr.selectAll('script[src]', function (node) {\n            var file = fix(node.getAttribute('src'));\n            node.removeAttribute('src');\n            fs.createReadStream(file)\n                .pipe(node.createWriteStream())\n            ;\n        });\n    }\n    if (!(opts.ignoreImages || opts['ignore-images'])) {\n        tr.selectAll('img[src]', function (node) {\n            inline64(node, 'src');\n        })\n    }\n    if (!(opts.ignoreLinks || opts['ignore-links'])) {\n        tr.selectAll('link[href]', function (node) {\n            var rel = (node.getAttribute('rel') || '').toLowerCase();\n            if (rel === 'stylesheet') return;\n            inline64(node, 'href');\n        })\n    }\n    if (!(opts.ignoreStyles || opts['ignore-styles'])) {\n        tr.selectAll('link[href]', function (node) {\n            var rel = node.getAttribute('rel').toLowerCase();\n            if (rel !== 'stylesheet') return;\n            var file = fix(node.getAttribute('href'));\n\n            var w = node.createWriteStream({ outer: true });\n            w.write('<style>');\n            var r = fs.createReadStream(file);\n            r.pipe(w, { end: false });\n            r.on('end', function () { w.end('</style>') });\n        });\n    }\n\n    return tr;\n\n    function fix (p) {\n        if(path.isAbsolute(p)) {\n            return path.resolve(basedir, path.relative('/', p));\n        } else {\n            return path.resolve(basedir, p);\n        }\n    }\n    function enc (s) {\n        return s.replace(/\"/g, '&#34;')\n            .replace(/>/g, '&gt;')\n            .replace(/</g, '&lt;')\n        ;\n    }\n    function inline64 (node, name) {\n        var href = node.getAttribute(name);\n        if (/^data:/.test(href)) return;\n        var file = fix(href);\n        var w = node.createWriteStream({ outer: true });\n        var attrs = node.getAttributes();\n        w.write('<' + node.name);\n        Object.keys(attrs).forEach(function (key) {\n            if (key === name) return;\n            w.write(' ' + key + '=\"' + enc(attrs[key]) + '\"');\n        });\n        var ext = path.extname(file).replace(/^\\./, '').toLowerCase();\n        var type = node.getAttribute('type')\n        if (!type) type = {\n            svg: 'image/svg+xml',\n            png: 'image/png',\n            jpg: 'image/jpeg',\n            jpeg: 'image/jpeg',\n            gif: 'image/jpeg'\n        }[ext] || 'image/png'\n        w.write(' ' + name + '=\"data:' + type + ';base64,');\n        fs.createReadStream(file).pipe(through(write, end));\n        \n        var bytes = 0, last = null;\n        \n        function write (buf, enc, next) {\n            if (last) {\n                buf = Buffer.concat([ last, buf ]);\n                last = null;\n            }\n            \n            var b;\n            if (buf.length % 3 === 0) {\n                b = buf;\n            }\n            else {\n                b = buf.slice(0, buf.length - buf.length % 3);\n                last = buf.slice(buf.length - buf.length % 3);\n            }\n            w.write(b.toString('base64'));\n            \n            next();\n        }\n        function end () {\n            if (last) w.write(last.toString('base64'));\n            w.end('\">');\n        }\n    }\n};\n"]}