/*
* API Parceria Perfeita
* Gerar this personalizada de produtos para o afiliado
*
* Copyright (c) 2009 www.Fbits.com.br
* Author: Daniel Repula, Phillipe Cardoso Santana
* Exemplos e documentação em: http://beta.parceriaperfeita.com.br/algumacoisa
* 
* Versão: 1.0 (14/12/2009)                  Autor: Daniel Repula, Phillipe Cardoso Santana
* Versão teste inicial... 
*
* Versão: 1.1   Modificação: 30/12/2009     Autor: Daniel Repula
* Obs: Removido ajax para requisições de conteudo, esta não permite cross domain, logo solução encontrada foi técnica do google, abre-se um iframe, e este faz a requisição, em seguida retorna para a tela da qual o abriu o conteudo requisitado atravês dos links das imagens!
* 
* Versão: 1.2   Modificação: 04/12/2009     Autor: Daniel Repula
* Obs: Solução de iframe encontrada pelo google, não vem ao nosso caso, pois como o retorno da requisição e de tamanho maior q 500k (possivel), gerar muitos iframes se torna inviavel. utilizada nova forma de chamada, url do script direta.
* 

*/

//Variáveis globais que necessitam ser salvas para após requisição serem instaciadas novamente

//Classe MASTER
function Vitrine() {
    /*
    Variáveis de classe publicas
    */
    var anunciante = undefined;
    var categorias = undefined;
    var palavrasChave = undefined;
    var precoMinimo = undefined;
    var precoMaximo = undefined;
    var ordenacaoCampo = undefined;
    var ordenacaoDirecao = undefined;
    var quantidade = undefined;
    var container = undefined;
    var xml = undefined;
    var css = 'http://beta.parceriaperfeita.com.br/css/ApiPP.css';
    //Variáveis de classe privadas

    this.urlTemplate = 'http://beta.parceriaperfeita.com.br/js/API/template.html',
    this.urlLoading = 'http://beta.parceriaperfeita.com.br/img/icons/loading.gif';

    this.templateContext = '<div class="item" style="width: 180px;"><a target="_blank"  href="{#URLProduto}"><img border="0" src="{#URLImagem}" alt="{#Nome}" /></a><br /><a target="_blank"  href="{#URLProduto}">{#Nome} - {#Fabricante}</a><br /><span>R$ {#MenorPreco}</span></div>';

    //Converte string para valor Boleano
    this.boolParse = function(string) {2
        switch (string.toLowerCase()) {
            case "true": case "yes": case "1": return true;
            case "false": case "no": case "0": case null: return false;
            default: return Boolean(string);
        }
    },
    /* 
    Adiciona um documento de estilo à página.
    @cssUrl: String: A URL do arquivo CSS.
    */
    this.adicionarCss = function(cssUrl) {
        var link = document.createElement('link');
        link.href = cssUrl;
        link.media = 'screen';
        link.rel = 'stylesheet'
        link.type = 'text/css';
        document.getElementsByTagName('head')[0].appendChild(link);
    },

    /*
    Helper para ler as propriedades e os valores das mesmas de um objeto JavaScript.
    @obj: Object: O objeto alvo.
    @element: Object ou String: Opcional. O elemento ou ID do elemento onde a informação será lançada.
    Se não informado, a informação será lançada em um alert.
    */
    this.debugObject = function(obj, element) {
        var info = [];
        if (obj) {
            for (var i in obj) {
                try { info.push(i + ': ' + obj[i]); } catch (e) { }
            }
        }
        else
            info.push('undefined');

        info = info.join('\n');
        alert(info);
    },

    /*
    Processa um template substituindo as paralvras chaves por seus respectivos valores.
    Retorna uma versão do template onde os valores foram substituídos por seus respectivos valores.
    @template: String: O template a ser processado.
    @xmlNode: Object: O nó XML com as informações para substituir no template.]
    */
    this.processarTemplate = function(template, xmlNode) {
        try {
            //Funcão privada para leitura do XML
            var getAtribute = function(obj, tagName) {
                //funcao crossbrowser
                var attr = obj.attributes.getNamedItem(tagName);
                if (typeof (attr) != 'undefined' && typeof (attr.value) != 'undefined')
                    return attr.value;
                else {
                    alert('Chave não encontrada no XML!');
                    return null;
                }
            };
            var currentMultilineOption = RegExp.multiline;
            RegExp.multiline = true;
            var rePalavrasChave = /{#([^}]*)}/gm;
            while ((matches = rePalavrasChave.exec(template)))
                template = template.replace(matches[0], getAtribute(xmlNode, matches[1]));
            RegExp.multiline = currentMultilineOption;
            return template;
        }
        catch (e) {
            alert(e);
        }
    },

    /* 
    Imprime os anúncios do PP para o site.
    @container: Object ou String: O elemento ou ID do elemento que conterá os anúncios.
    @htmlTemplate: String: Opcional. A URL do arquivo HTML com o template para os anúncios.
    */
    this.imprimir = function(container, urlHtmlTemplate) {
        container = document.createElement('div');        
        this.container = container;
        this.adicionarCss(css);
        container.innerHTML = '<img  src="' + this.urlLoading + '"><span style="font-family: arial; font-size: 11px;">Carregando...</span>';
        var temp = 'apiPPLoad_' + Math.floor(Math.random()*111);
        document.write('<div id="'+ temp + '">'+container.innerHTML+'</div>');
        try {        
            var Super = this;     
            //atribui classe css para o container
            
            var xml = undefined;
            if (window.DOMParser) {
                parser = new DOMParser();
                xml = parser.parseFromString(Base64.decode(this.xml), "text/xml");
            }
            else // Internet Explorer
            {
                xml = new ActiveXObject("Microsoft.XMLDOM");
                xml.async = "false";
                xml.loadXML(Base64.decode(this.xml));
            }
            var itemTemplate = this.templateContext;
            var htmlBuilder = [];
            var anuncios = xml.getElementsByTagName('Produto');
            if (anuncios.length > 0) {
                for (var i = 0; i < anuncios.length; i++) {
                    htmlBuilder.push(Super.processarTemplate(itemTemplate, anuncios[i]));
                }
            }
            var div = document.getElementById(temp);
            if( div!= null)
                div.innerHTML='';
            container.innerHTML = htmlBuilder.join(''); 
//            //preview da API!           
//            if(document.domain == 'localhost') {
//                document.getElementById('preview').innerHTML = '<div class="apiPP">'+container.innerHTML+'</div>';
//            }
//            else {
                document.write('<div class="apiPP">'+container.innerHTML+'</div>');            
            //}
        }
        catch (Exception) {
            document.write('<div>Erro ao carregar os Produtos!</div>');            
        }
    };
}

//Inicia API
function Init() {
    //intancia vitrine atravês do handler
    var _vitrine = new Vitrine();_vitrine.anunciante='1';
_vitrine.precomin='19';
_vitrine.quantidade='6';
_vitrine.xml = 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxWaXRyaW5lPg0KICA8UHJvZHV0byBJZD0iMjY4ODkiIE5vbWU9IkJpY2ljbGV0YSBIb3QgV2hlZWxzIFLDrWdpZGEgLSBBcm8gMTIiIEZhYnJpY2FudGU9IkNhbG9pIEJpa2VzIiBVUkxJbWFnZW09Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzI4MjY0LmpwZz9zb3VyY2U9MTIweDEyMCIgVVJMUHJvZHV0bz0iaHR0cDovL3d3dy5jb3Jwb3BlcmZlaXRvLmNvbS5ici9wcm9kdXRvL0JpY2ljbGV0YS1Ib3QtV2hlZWxzLVJpZ2lkYS0tLUFyby0xMiIgU0FDPSIwODAwIDc3MiAwNTg4IiBNYWlvclByZWNvPSIyMTksMDAiIE1lbm9yUHJlY289IjIxOSwwMCIgTWVub3JQYXJjZWxhbWVudG9RdWFudGlkYWRlPSIxMCIgTWVub3JQYXJjZWxhbWVudG9WYWxvcj0iMjEsOTAiPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyODI2NCIgTm9tZT0iQmljaWNsZXRhIEhvdCBXaGVlbHMgUsOtZ2lkYSAtIEFybyAxMiAiIFVuaWRhZGVNZWRpZGE9IiIgQ29yPSJQcmV0byBjb20gVmVybWVsaG8iIFNhYm9yPSIiIFByZWNvRGU9IjIxOSIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjgyNjQiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzI4MjY0LmpwZz9zb3VyY2U9ODB4ODAiIFRhbWFuaG89IjgweDgwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzI4MjY0LmpwZz9zb3VyY2U9MTIweDEyMCIgVGFtYW5obz0iMTIweDEyMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yODI2NC5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjgyNjQuanBnP3NvdXJjZT0zMngzMiIgVGFtYW5obz0iMzJ4MzIiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjgyNjQuanBnP3NvdXJjZT00NjB4NDYwIiBUYW1hbmhvPSI0NjB4NDYwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzI4MjY0LmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICA8L1Byb2R1dG8+DQogIDxQcm9kdXRvIElkPSI0NzgiIE5vbWU9IkJldGEgQnJvbnplIiBGYWJyaWNhbnRlPSJIZXJiYXJpdW0iIFVSTEltYWdlbT0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvODcwLmpwZz9zb3VyY2U9MTIweDEyMCIgVVJMUHJvZHV0bz0iaHR0cDovL3d3dy5jb3Jwb3BlcmZlaXRvLmNvbS5ici9wcm9kdXRvL0JldGFfQnJvbnplX0hlcmJhcml1bSIgU0FDPSIwODAwIDc3MiAwNTg4IiBNYWlvclByZWNvPSIyNCwzMCIgTWVub3JQcmVjbz0iMjQsMzAiIE1lbm9yUGFyY2VsYW1lbnRvUXVhbnRpZGFkZT0iMTAiIE1lbm9yUGFyY2VsYW1lbnRvVmFsb3I9IjI0LDMwIj4NCiAgICA8U3ViUHJvZHV0byBJZD0iODcwIiBOb21lPSJCZXRhIEJyb256ZSIgVW5pZGFkZU1lZGlkYT0iMzAgY8OhcHN1bGFzIiBDb3I9IiIgU2Fib3I9IiIgUHJlY29EZT0iMjQiIFByZWNvUG9yPSIiIFByYXpvPSIxIGEgMyBkaWFzIMO6dGVpcyIgVVJMUHJvZHV0bz0iaHR0cDovL3d3dy5jb3Jwb3BlcmZlaXRvLmNvbS5ici9wcm9kdXRvLzg3MCI+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvODcwLmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvODcwLmpwZz9zb3VyY2U9MTIweDEyMCIgVGFtYW5obz0iMTIweDEyMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici84NzAuanBnP3NvdXJjZT04MHg4MCIgVGFtYW5obz0iODB4ODAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvODcwLmpwZz9zb3VyY2U9MzJ4MzIiIFRhbWFuaG89IjMyeDMyIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzg3MC5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvODcwLmpwZz9zb3VyY2U9NDYweDQ2MCIgVGFtYW5obz0iNDYweDQ2MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICA8L1N1YlByb2R1dG8+DQogIDwvUHJvZHV0bz4NCiAgPFByb2R1dG8gSWQ9IjI4NTgwIiBOb21lPSJMdXZhcyBkZSBCYXRlIFNhY28gRWzDoXN0aWNvIGVtIENvdXJvIFNpbnTDqXRpY28gKFZlcm1lbGhvIGNvbSBQcmV0bykiIEZhYnJpY2FudGU9IlB1bmNoIFNwb3J0cyIgVVJMSW1hZ2VtPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8zMjczMC5qcGc/c291cmNlPTEyMHgxMjAiIFVSTFByb2R1dG89Imh0dHA6Ly93d3cuY29ycG9wZXJmZWl0by5jb20uYnIvcHJvZHV0by9MdXZhcyBkZSBCYXRlIFNhY28gRWzDoXN0aWNvIGVtIENvdXJvIFNpbnTDqXRpY28tVmVybWVsaG9jb21QcmV0by1QdW5jaC1TcG9ydHMiIFNBQz0iMDgwMCA3NzIgMDU4OCIgTWFpb3JQcmVjbz0iNDUsOTAiIE1lbm9yUHJlY289IjQ1LDkwIiBNZW5vclBhcmNlbGFtZW50b1F1YW50aWRhZGU9IjEwIiBNZW5vclBhcmNlbGFtZW50b1ZhbG9yPSIxNSwzMCI+DQogICAgPFN1YlByb2R1dG8gSWQ9IjMyNzMwIiBOb21lPSJMdXZhcyBkZSBCYXRlIFNhY28gRWzDoXN0aWNvIGVtIENvdXJvIFNpbnTDqXRpY28iIFVuaWRhZGVNZWRpZGE9IiIgQ29yPSJWZXJtZWxobyBjb20gUHJldG8iIFNhYm9yPSIiIFByZWNvRGU9IjQ2IiBQcmVjb1Bvcj0iIiBQcmF6bz0iMSBhIDMgZGlhcyDDunRlaXMiIFVSTFByb2R1dG89Imh0dHA6Ly93d3cuY29ycG9wZXJmZWl0by5jb20uYnIvcHJvZHV0by8zMjczMCI+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMzI3MzAuanBnP3NvdXJjZT0zMngzMiIgVGFtYW5obz0iMzJ4MzIiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMzI3MzAuanBnP3NvdXJjZT0xMjB4MTIwIiBUYW1hbmhvPSIxMjB4MTIwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzMyNzMwLmpwZz9zb3VyY2U9ODB4ODAiIFRhbWFuaG89IjgweDgwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzMyNzMwLmpwZz9zb3VyY2U9MzAweDMwMCIgVGFtYW5obz0iMzAweDMwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8zMjczMC5qcGc/c291cmNlPTQ2MHg0NjAiIFRhbWFuaG89IjQ2MHg0NjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMzI3MzAuanBnP3NvdXJjZT0xMjAweDEyMDAiIFRhbWFuaG89IjEyMDB4MTIwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICA8L1N1YlByb2R1dG8+DQogIDwvUHJvZHV0bz4NCiAgPFByb2R1dG8gSWQ9IjI4NTM2IiBOb21lPSJQcm90ZXRvciBCdWNhbCBQcm9maXNzaW9uYWwgY29tIEVzdG9qbyAoVHJhbnNwYXJlbnRlKSIgRmFicmljYW50ZT0iUHVuY2ggU3BvcnRzIiBVUkxJbWFnZW09Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzMyOTA0LmpwZz9zb3VyY2U9MTIweDEyMCIgVVJMUHJvZHV0bz0iaHR0cDovL3d3dy5jb3Jwb3BlcmZlaXRvLmNvbS5ici9wcm9kdXRvL1Byb3RldG9yIEJ1Y2FsIFByb2Zpc3Npb25hbCBjb20gRXN0b2pvLVRyYW5zcGFyZW50ZS1QdW5jaC1TcG9ydHMiIFNBQz0iMDgwMCA3NzIgMDU4OCIgTWFpb3JQcmVjbz0iMjksOTAiIE1lbm9yUHJlY289IjI5LDkwIiBNZW5vclBhcmNlbGFtZW50b1F1YW50aWRhZGU9IjEwIiBNZW5vclBhcmNlbGFtZW50b1ZhbG9yPSIyOSw5MCI+DQogICAgPFN1YlByb2R1dG8gSWQ9IjMyOTA0IiBOb21lPSJQcm90ZXRvciBCdWNhbCBQcm9maXNzaW9uYWwgY29tIEVzdG9qbyIgVW5pZGFkZU1lZGlkYT0iIiBDb3I9IlRyYW5zcGFyZW50ZSIgU2Fib3I9IiIgUHJlY29EZT0iMzAiIFByZWNvUG9yPSIiIFByYXpvPSIxIGEgMyBkaWFzIMO6dGVpcyIgVVJMUHJvZHV0bz0iaHR0cDovL3d3dy5jb3Jwb3BlcmZlaXRvLmNvbS5ici9wcm9kdXRvLzMyOTA0Ij4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8zMjkwNC5qcGc/c291cmNlPTMyeDMyIiBUYW1hbmhvPSIzMngzMiIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8zMjkwNC5qcGc/c291cmNlPTQ2MHg0NjAiIFRhbWFuaG89IjQ2MHg0NjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMzI5MDQuanBnP3NvdXJjZT0xMjB4MTIwIiBUYW1hbmhvPSIxMjB4MTIwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzMyOTA0LmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMzI5MDQuanBnP3NvdXJjZT04MHg4MCIgVGFtYW5obz0iODB4ODAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMzI5MDQuanBnP3NvdXJjZT0zMDB4MzAwIiBUYW1hbmhvPSIzMDB4MzAwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgIDwvU3ViUHJvZHV0bz4NCiAgPC9Qcm9kdXRvPg0KICA8UHJvZHV0byBJZD0iMjE5MTkiIE5vbWU9IlTDqm5pcyBOUEMgSUkgUGx1ZyAzViAoUHJldG8gY29tIENpbnphKSIgRmFicmljYW50ZT0iUmVlYm9rIFTDqm5pcyIgVVJMSW1hZ2VtPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg4Ny5qcGc/c291cmNlPTEyMHgxMjAiIFVSTFByb2R1dG89Imh0dHA6Ly93d3cuY29ycG9wZXJmZWl0by5jb20uYnIvcHJvZHV0by9Uw6puaXNfTlBDX0lJX1BsdWdfM1ZfUHJldG9fQ2luemFfUmVlYm9rX1TDqm5pcyIgU0FDPSIwODAwIDc3MiAwNTg4IiBNYWlvclByZWNvPSIxODksOTAiIE1lbm9yUHJlY289IjE4OSw5MCIgTWVub3JQYXJjZWxhbWVudG9RdWFudGlkYWRlPSIxMCIgTWVub3JQYXJjZWxhbWVudG9WYWxvcj0iMTgsOTkiPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg5MSIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSI0MSIgQ29yPSJQcmV0byBjb20gQ2luemEiIFNhYm9yPSIiIFByZWNvRGU9IjE5MCIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjM4OTEiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkxLmpwZz9zb3VyY2U9MzJ4MzIiIFRhbWFuaG89IjMyeDMyIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkxLmpwZz9zb3VyY2U9NDYweDQ2MCIgVGFtYW5obz0iNDYweDQ2MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5MS5qcGc/c291cmNlPTgweDgwIiBUYW1hbmhvPSI4MHg4MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5MS5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTEuanBnP3NvdXJjZT0xMjAweDEyMDAiIFRhbWFuaG89IjEyMDB4MTIwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5MS5qcGc/c291cmNlPTEyMHgxMjAiIFRhbWFuaG89IjEyMHgxMjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg4NyIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSIzOCIgQ29yPSJQcmV0byBjb20gQ2luemEiIFNhYm9yPSIiIFByZWNvRGU9IjE5MCIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjM4ODciPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODg3LmpwZz9zb3VyY2U9MzJ4MzIiIFRhbWFuaG89IjMyeDMyIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODg3LmpwZz9zb3VyY2U9ODB4ODAiIFRhbWFuaG89IjgweDgwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODg3LmpwZz9zb3VyY2U9MzAweDMwMCIgVGFtYW5obz0iMzAweDMwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg4Ny5qcGc/c291cmNlPTQ2MHg0NjAiIFRhbWFuaG89IjQ2MHg0NjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4ODcuanBnP3NvdXJjZT0xMjAweDEyMDAiIFRhbWFuaG89IjEyMDB4MTIwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg4Ny5qcGc/c291cmNlPTEyMHgxMjAiIFRhbWFuaG89IjEyMHgxMjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg5MyIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSI0MyIgQ29yPSJQcmV0byBjb20gQ2luemEiIFNhYm9yPSIiIFByZWNvRGU9IjE5MCIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjM4OTMiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkzLmpwZz9zb3VyY2U9NDYweDQ2MCIgVGFtYW5obz0iNDYweDQ2MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5My5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTMuanBnP3NvdXJjZT0xMjAweDEyMDAiIFRhbWFuaG89IjEyMDB4MTIwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5My5qcGc/c291cmNlPTgweDgwIiBUYW1hbmhvPSI4MHg4MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5My5qcGc/c291cmNlPTMyeDMyIiBUYW1hbmhvPSIzMngzMiIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5My5qcGc/c291cmNlPTEyMHgxMjAiIFRhbWFuaG89IjEyMHgxMjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg5MiIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSI0MiIgQ29yPSJQcmV0byBjb20gQ2luemEiIFNhYm9yPSIiIFByZWNvRGU9IjE5MCIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjM4OTIiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkyLmpwZz9zb3VyY2U9MzAweDMwMCIgVGFtYW5obz0iMzAweDMwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5Mi5qcGc/c291cmNlPTEyMHgxMjAiIFRhbWFuaG89IjEyMHgxMjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTIuanBnP3NvdXJjZT0zMngzMiIgVGFtYW5obz0iMzJ4MzIiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTIuanBnP3NvdXJjZT0xMjAweDEyMDAiIFRhbWFuaG89IjEyMDB4MTIwMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5Mi5qcGc/c291cmNlPTQ2MHg0NjAiIFRhbWFuaG89IjQ2MHg0NjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTIuanBnP3NvdXJjZT04MHg4MCIgVGFtYW5obz0iODB4ODAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg4OCIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSIzOSIgQ29yPSJQcmV0byBjb20gQ2luemEiIFNhYm9yPSIiIFByZWNvRGU9IjE5MCIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjM4ODgiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODg4LmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4ODguanBnP3NvdXJjZT0xMjB4MTIwIiBUYW1hbmhvPSIxMjB4MTIwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODg4LmpwZz9zb3VyY2U9NDYweDQ2MCIgVGFtYW5obz0iNDYweDQ2MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg4OC5qcGc/c291cmNlPTMyeDMyIiBUYW1hbmhvPSIzMngzMiIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg4OC5qcGc/c291cmNlPTgweDgwIiBUYW1hbmhvPSI4MHg4MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg4OC5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg5NCIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSI0NCIgQ29yPSJQcmV0byBjb20gQ2luemEiIFNhYm9yPSIiIFByZWNvRGU9IjE5MCIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vMjM4OTQiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODk0LmpwZz9zb3VyY2U9MzJ4MzIiIFRhbWFuaG89IjMyeDMyIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODk0LmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTQuanBnP3NvdXJjZT0zMDB4MzAwIiBUYW1hbmhvPSIzMDB4MzAwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODk0LmpwZz9zb3VyY2U9ODB4ODAiIFRhbWFuaG89IjgweDgwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODk0LmpwZz9zb3VyY2U9NDYweDQ2MCIgVGFtYW5obz0iNDYweDQ2MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici8yMzg5NC5qcGc/c291cmNlPTEyMHgxMjAiIFRhbWFuaG89IjEyMHgxMjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSIyMzg5MCIgTm9tZT0iVMOqbmlzIE5QQyBJSSBQbHVnIDNWIiBVbmlkYWRlTWVkaWRhPSI0MCw1IiBDb3I9IlByZXRvIGNvbSBDaW56YSIgU2Fib3I9IiIgUHJlY29EZT0iMTkwIiBQcmVjb1Bvcj0iIiBQcmF6bz0iMSBhIDMgZGlhcyDDunRlaXMiIFVSTFByb2R1dG89Imh0dHA6Ly93d3cuY29ycG9wZXJmZWl0by5jb20uYnIvcHJvZHV0by8yMzg5MCI+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTAuanBnP3NvdXJjZT0zMngzMiIgVGFtYW5obz0iMzJ4MzIiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTAuanBnP3NvdXJjZT00NjB4NDYwIiBUYW1hbmhvPSI0NjB4NDYwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkwLmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvMjM4OTAuanBnP3NvdXJjZT0zMDB4MzAwIiBUYW1hbmhvPSIzMDB4MzAwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkwLmpwZz9zb3VyY2U9ODB4ODAiIFRhbWFuaG89IjgweDgwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzIzODkwLmpwZz9zb3VyY2U9MTIweDEyMCIgVGFtYW5obz0iMTIweDEyMCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICA8L1N1YlByb2R1dG8+DQogIDwvUHJvZHV0bz4NCiAgPFByb2R1dG8gSWQ9IjE2OTQzIiBOb21lPSJDYW1pc2EgR29pw6FzIDE5NjYgKFByaW1laXJvIFTDrXR1bG8gR29pYW5vKSIgRmFicmljYW50ZT0iTGlnYSBSZXRyw7QiIFVSTEltYWdlbT0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE0Ny5qcGc/c291cmNlPTEyMHgxMjAiIFVSTFByb2R1dG89Imh0dHA6Ly93d3cuY29ycG9wZXJmZWl0by5jb20uYnIvcHJvZHV0by9DYW1pc2FfR29pw6FzXzE5NjZfUHJpbWVpcm9fVMOtdHVsb19Hb2lhbm9fTGlnYV9SZXRyw7QiIFNBQz0iMDgwMCA3NzIgMDU4OCIgTWFpb3JQcmVjbz0iNTUsNTYiIE1lbm9yUHJlY289IjU1LDU2IiBNZW5vclBhcmNlbGFtZW50b1F1YW50aWRhZGU9IjEwIiBNZW5vclBhcmNlbGFtZW50b1ZhbG9yPSIxOCw1MiI+DQogICAgPFN1YlByb2R1dG8gSWQ9IjcxOTQiIE5vbWU9IkNhbWlzYSBHb2nDoXMgMTk2NiAoUHJpbWVpcm8gVMOtdHVsbyBHb2lhbm8pIiBVbmlkYWRlTWVkaWRhPSJQIiBDb3I9IiIgU2Fib3I9IiIgUHJlY29EZT0iNTYiIFByZWNvUG9yPSIiIFByYXpvPSIxIGEgMyBkaWFzIMO6dGVpcyIgVVJMUHJvZHV0bz0iaHR0cDovL3d3dy5jb3Jwb3BlcmZlaXRvLmNvbS5ici9wcm9kdXRvLzcxOTQiPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzcxOTQuanBnP3NvdXJjZT0xMjB4MTIwIiBUYW1hbmhvPSIxMjB4MTIwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzcxOTQuanBnP3NvdXJjZT00NjB4NDYwIiBUYW1hbmhvPSI0NjB4NDYwIiBQcmluY2lwYWw9IkZhbHNlIiAvPg0KICAgICAgPEltYWdlbSBVUkw9Imh0dHA6Ly9wcm9kdXRvLmNvcnBvcGVyZmVpdG8uY29tLmJyLzcxOTQuanBnP3NvdXJjZT04MHg4MCIgVGFtYW5obz0iODB4ODAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE5NC5qcGc/c291cmNlPTMyeDMyIiBUYW1hbmhvPSIzMngzMiIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici83MTk0LmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE5NC5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgPC9TdWJQcm9kdXRvPg0KICAgIDxTdWJQcm9kdXRvIElkPSI3MTQ3IiBOb21lPSJDYW1pc2EgR29pw6FzIDE5NjYgKFByaW1laXJvIFTDrXR1bG8gR29pYW5vKSIgVW5pZGFkZU1lZGlkYT0iR0ciIENvcj0iIiBTYWJvcj0iIiBQcmVjb0RlPSI1NiIgUHJlY29Qb3I9IiIgUHJhem89IjEgYSAzIGRpYXMgw7p0ZWlzIiBVUkxQcm9kdXRvPSJodHRwOi8vd3d3LmNvcnBvcGVyZmVpdG8uY29tLmJyL3Byb2R1dG8vNzE0NyI+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE0Ny5qcGc/c291cmNlPTMwMHgzMDAiIFRhbWFuaG89IjMwMHgzMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE0Ny5qcGc/c291cmNlPTgweDgwIiBUYW1hbmhvPSI4MHg4MCIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICAgIDxJbWFnZW0gVVJMPSJodHRwOi8vcHJvZHV0by5jb3Jwb3BlcmZlaXRvLmNvbS5ici83MTQ3LmpwZz9zb3VyY2U9MTIwMHgxMjAwIiBUYW1hbmhvPSIxMjAweDEyMDAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE0Ny5qcGc/c291cmNlPTQ2MHg0NjAiIFRhbWFuaG89IjQ2MHg0NjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE0Ny5qcGc/c291cmNlPTEyMHgxMjAiIFRhbWFuaG89IjEyMHgxMjAiIFByaW5jaXBhbD0iRmFsc2UiIC8+DQogICAgICA8SW1hZ2VtIFVSTD0iaHR0cDovL3Byb2R1dG8uY29ycG9wZXJmZWl0by5jb20uYnIvNzE0Ny5qcGc/c291cmNlPTMyeDMyIiBUYW1hbmhvPSIzMngzMiIgUHJpbmNpcGFsPSJGYWxzZSIgLz4NCiAgICA8L1N1YlByb2R1dG8+DQogIDwvUHJvZHV0bz4NCjwvVml0cmluZT4=';
_vitrine.imprimir(null,null);
}

//Classe para tratamento da base64
var Base64 = {
    // private property
    _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    // public method for encoding
    encode: function(input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;
        input = Base64._utf8_encode(input);
        while (i < input.length) {
            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);
            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;
            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }
            output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
        }
        return output;
    },
    // public method for decoding
    decode: function(input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;
        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
        while (i < input.length) {
            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));
            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;
            output = output + String.fromCharCode(chr1);
            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }
        }
        output = Base64._utf8_decode(output);
        return output;
    },
    // private method for UTF-8 encoding
    _utf8_encode: function(string) {
        string = string.replace(/\r\n/g, "\n");
        var utftext = "";
        for (var n = 0; n < string.length; n++) {
            var c = string.charCodeAt(n);
            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if ((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }
        }
        return utftext;
    },
    // private method for UTF-8 decoding
    _utf8_decode: function(utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;
        while (i < utftext.length) {
            c = utftext.charCodeAt(i);
            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if ((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i + 1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i + 1);
                c3 = utftext.charCodeAt(i + 2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }
        }
        return string;
    }
}
Init();