<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta property="og:title" content="chicagocommunitygardens.org Revolutionize Cash Flow Management in Your Small Business -Free trial and Limited-time offer: Save 15% on monthly plans or 25% on annual plans."><meta property="og:type" content="website"><meta name="x-apple-disable-message-reformatting">
        <style type="text/css">td>p{margin: 0; padding-top: 1rem; padding-bottom: 1rem;} a{color: black; text-decoration:none;}
        </style>
        <title>chicagocommunitygardens.org Revolutionize Cash Flow Management in Your Small Business -Free trial and Limited-time offer: Save 15% on monthly plans or 25% on annual plans.</title>
        <script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script>
        <script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script>
</head>
<body style="text-align: -webkit-center; font-family: sans-serif;">
<table style="margin: 0px auto;" width="100%">
        <tbody>
                <tr>
                        <td>
                        <div class="table-block-resizer hide react-draggable" style="touch-action: none; transform: translate(0px, 0px);">
                        <div class="block-resizer-circle hide"  style="top: 20px; display: none;"> </div>
                        </div>

                        <table class="header-table" data-bg-size="cover" height="60px" style="background-color: rgb(247, 247, 247); padding-top: 40px; padding-bottom: 40px;" width="100%">
                                <tbody>
                                        <tr style="text-align: center;">
                                                <td id="template-header">
                                                <div style="text-align: left;">
                                                <div style="text-align: justify;">Hi chicagocommunitygardens.org<br />
                                                 </div>
                                                 

                                                <div style="text-align: justify;">My name is Alessandro and I represent X best world,  company that promotes business solutions that can be from marketing to financial to<br />
                                                <br />
                                                facilitate their daily work.<br />
                                                <br />
                                                I am contacting you today to talk to you about a simple payment solution that helps small businesses like yours save time and money and increase<br />
                                                <br />
                                                cash flow.<br />
                                                <br />
                                                What is it? It's a super easy-to-use accounts payable tool with an intuitive dashboard where you can pay all your business invoices and receive<br />
                                                <br />
                                                payments from other businesses.<br />
                                                <br />
                                                Here's why it has been great for me:<br />
                                                <br />
                                                - Paying via ACH bank transfer is free. Or you can pay with your credit card (2.9% fee), even when cards aren't accepted*.<br />
                                                <br />
                                                - No more handwritten checks - you choose how you pay, no matter how your vendor wants to be paid.<br />
                                                <br />
                                                - Schedule a payment in advance to ensure you never miss a payment.<br />
                                                <br />
                                                - Connect your QuickBooks Online account for two-way sync between invoice pay and accounting.<br />
                                                <br />
                                                - Free Trial and Limited-time offer: Save 15% on monthly plans or 25% on annual plans.<br />
                                                <br />
                                                You can easily get more details  here:<u><span style="color:#e74c3c;"> </span><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/cde10c1e9e5b707f5ba13b1d2dfc3a71eacebcba"><span style="color:#e74c3c;">https://affiliates.meliopayments.com/1kbgs6177oeo-sa6pgo</span></a></u><br />
                                                <br />
                                                And if you have any questions, there's a responsive support team available via chat and email. There is also an informative help center with lots of<br />
                                                <br />
                                                information.<br />
                                                <br />
                                                Download the app , and from there you can manage all your payments from your smartphone you can find the link here :<br />
                                                <br />
                                                <u><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/bd6e950f9dabc628c3d819803313226996f7d23c"><span style="color:#e74c3c;">https://affiliates.meliopayments.com/0sqy6z6w30b0-vrvp5</span></a></u><br />
                                                <br />
                                                *Subject to card network limitations<br />
                                                <br />
                                                <meta charset="UTF-8" /></div>

                                                <p style="text-align: justify;"><strong>Build Your Credit with Kikoff – Exclusive Offer for Individuals!</strong></p>

                                                <p style="text-align: justify;">This is an exclusive offer to help individuals achieve a better credit score. Join over a million users building their credit without a credit check.<br />
                                                <br />
                                                Open your account in minutes and see an average credit score increase of 28 points after the first month. Plus, enjoy our 45-day satisfaction<br />
                                                <br />
                                                guarantee!   Click on the link and find out how   <u><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/24744bafa17ccefe7754e39a2807f8d6bb38b2e7"><span style="color:#e74c3c;">kikoff.pxf.io/Y937EOnbestqtf</span></a></u></p>

                                                <div style="text-align: justify;"><br />
                                                Best regards,<br />
                                                <br />
                                                Alessandro<br />
                                                <br />
                                                info@bestqtf.org</div>
                                                </div>

                                                <div style="text-align: justify;"><br />
                                                For other offers related to SEO, marketing tools, and more you can visit the site www.bestqtf.org</div>
                                                </td>
                                        </tr>
                                </tbody>
                        </table>

                        <div class="table-block-resizer hide react-draggable" style="touch-action: none; transform: translate(0px, 0px);">
                        <div class="block-resizer-circle hide"  style="top: 3px; display: none; text-align: justify;"> </div>
                        </div>

                        <table class="preview-table" data-bg-size="cover" height="60px" style="background-color: rgb(255, 255, 255); padding-top: 23px; padding-bottom: 23px;" width="100%">
                                <tbody>
                                        <tr style="text-align: center;">
                                                <td id="template-body">
                                                <table style="margin: auto;" width="600">
                                                        <tbody>
                                                                <tr class="start-style-tr" id="table-tr-withoutDisplay" style="min-height: 1px; padding: 2px 0px; width: 600px; margin-bottom: 0px;">
                                                                </tr>
                                                        </tbody>
                                                </table>
                                                </td>
                                        </tr>
                                </tbody>
                        </table>

                        <div class="table-block-resizer react-draggable hide" style="touch-action: none; transform: translate(0px, 0px);">
                        <div class="block-resizer-circle hide"  style="top: 4px; display: none;"> </div>
                        </div>

                        <table class="footer-table" data-bg-size="cover" height="70px" style="background-color: rgb(51, 51, 51); padding-top: 24px; padding-bottom: 24px;" width="100%">
                                <tbody>
                                        <tr style="text-align: center; margin: auto;">
                                                <td class="template-footer">
                                                <table style="margin: auto;" width="600">
                                                        <tbody>
                                                                <tr id="table-tr-withoutDisplay" style="min-height: 1px; padding: 2px 0px; width: 600px; margin-bottom: 0px; transition: all 0.2s ease 0s; top: 0px;">
                                                                </tr>
                                                                <tr id="table-tr-withoutDisplay" style="min-height: 1px; text-align: center; padding: 0px; width: 600px; margin-bottom: 0px; transition: all 0.2s ease 0s; top: 0px; background-color: transparent; font-weight: normal; font-style: normal;">
                                                                        <td  id="exist-template-footer-1720449131679" style="display: block; text-align: center; color: rgb(255, 255, 255);">
                                                                        <p>Copyright © 2024 X Best World Ou, All rights reserved.</p>

                                                                        <p style="text-align: center;"><strong>Our mailing address is:</strong></p>

                                                                        <p style="text-align: center;">X Best World Ou<br />
12 Athri <br />
Tallin Harjumaa (Tallinn) 10151<br />
Estonia<br />
,<br />
                                                                        info@bestqtf.com</p>

                                                                        <p style="text-align: center;">Want to change how you receive these emails?</p>

                                                                        <p style="text-align: center;">You can <a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/8ce782a4cd59239a76d926d21648c308fd7a09d9"><span style="color:#e74c3c;">update your preferences</span><span style="color:#e74c3c;"> </span></a>or <a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/449c5f2d436bcdfd0d304ab5f5ec545f2d3382f3"><span style="color:#e74c3c;">unsubscribe from this list</span></a><span style="color:#e74c3c;">.</span></p>
                                                                        </td>
                                                                </tr>
                                                                <tr id="table-tr-withoutDisplay" style="min-height: 1px; text-align: center; padding: 0px; width: 600px; margin-bottom: 0px; transition: all 0.2s ease 0s; top: 0px; background-color: transparent; font-size: 13px; font-weight: normal; font-style: normal;">
                                                                        <td align="center"  iconstyle="socialItemColorIcon" id="exist-template-soc-1720449135008" style="display: block; color: rgb(245, 233, 233);">
                                                                        <table style="padding: 9px; border-spacing: 0px; font-size: inherit; width: initial;">
                                                                                <tbody>
                                                                                        <tr>
                                                                                                <td colspan="1" data-soc-type="facebook" id="soc-1111" style="background-color: transparent;">
                                                                                                <table style="font-size: inherit; width: auto">
                                                                                                        <tbody>
                                                                                                                <tr>
                                                                                                                        <td width="24"><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/78a22372c1bd6a822b753f410adadc7b234a8f35" style="text-decoration: none; pointer-events: auto;" target="_blank"><img alt="Facebook/" src="https://app.bestqtf.com/frontend/assets/cache/ext-email-template-builder-basic/static/media/color-facebook-128.png" style="width: 20px; margin-top: 5px; pointer-events: auto;" width="20" /></a></td>
                                                                                                                        <td>
                                                                                                                        <p style="max-width: 120px; color: rgb(245, 233, 233);"><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/7de9c41567306a694b39dd03e7767779cb81228a"><span style="color:#ffffff;">Facebook</span></a></p>
                                                                                                                        </td>
                                                                                                                </tr>
                                                                                                        </tbody>
                                                                                                </table>
                                                                                                </td>
                                                                                                <td colspan="1" data-soc-type="twitter" id="soc-222" style="background-color: transparent;">
                                                                                                <table style="font-size: inherit; width: auto">
                                                                                                        <tbody>
                                                                                                                <tr>
                                                                                                                        <td width="24"><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/7de9c41567306a694b39dd03e7767779cb81228a"><img alt="Twitter/" src="https://app.bestqtf.com/frontend/assets/cache/ext-email-template-builder-basic/static/media/color-twitter-128.png" style="width: 20px; margin-top: 5px; pointer-events: auto;" width="20" /></a></td>
                                                                                                                        <td>
                                                                                                                        <p style="max-width: 120px; color: rgb(245, 233, 233);"><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/7c5d688cdec133c104d011f3bdebedf75d202c96"><span style="color:#ffffff;">Twitter</span></a></p>
                                                                                                                        </td>
                                                                                                                </tr>
                                                                                                        </tbody>
                                                                                                </table>
                                                                                                </td>
                                                                                                <td colspan="1" data-soc-type="linkedin" id="soc-333" style="background-color: transparent;">
                                                                                                <table style="font-size: inherit; width: auto">
                                                                                                        <tbody>
                                                                                                                <tr>
                                                                                                                        <td width="24"><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/e4156d6478e6065ba81e52ebddf04f43487dbccd" style="text-decoration: none; pointer-events: auto;" target="_blank"><img alt="LinkedIn/" src="https://app.bestqtf.com/frontend/assets/cache/ext-email-template-builder-basic/static/media/color-linkedin-128.png" style="width: 20px; margin-top: 5px; pointer-events: auto;" width="20" /></a></td>
                                                                                                                        <td>
                                                                                                                        <p style="max-width: 120px; color: rgb(245, 233, 233);"><a href="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-url/os163138r57d2/cf06b989afc1169d7928eed15b6e050ab17cd389"><span style="color:#ffffff;">LinkedIn</span></a></p>
                                                                                                                        </td>
                                                                                                                </tr>
                                                                                                        </tbody>
                                                                                                </table>
                                                                                                </td>
                                                                                        </tr>
                                                                                </tbody>
                                                                        </table>
                                                                        </td>
                                                                </tr>
                                                        </tbody>
                                                </table>
                                                </td>
                                        </tr>
                                </tbody>
                        </table>
                        </td>
                </tr>
        </tbody>
</table>
<img width="1" height="1" src="https://app.bestqtf.com/campaigns/cr322mjg7p6ba/track-opening/os163138r57d2" alt="" />
</body>
</html>