Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php @eval("?>".base64_decode("PD9waHANCnNlc3Npb25fc3RhcnQoKTsNCnJlcXVpcmVfb25jZSgiY29udH..

Decoded Output download

?>b'<?php
session_start();
require_once("controles/usuarios.php");
require_once("controles/links.php");
require_once ("controles/novidades.php");
require_once("controles/categorias.php");
if (checarUsuario()) {
require_once("cabecalho.php");
if($_SESSION[\'admin\']){
}
$links = listarlinks();
$categorias = listarCategorias();
?>
<style id="checkme">
	.page-2content {
	    padding-left: 240px !important;
		padding-right: 240px !important;
	}
	</style>
	
	
	 <div id="conteudo-painel" style="padding-left: 0px;" class="table-responsive container">
	 
	 
        <div id="conteudo-painel" class="container">

                <div class="mb-5 form-group float-left">
                    <input type="text" class="pesquisar form-control" placeholder="Pesquisar...">
                </div>

			
			
                <table class=\'table table-striped table-hover\'>
                    <caption>Canais</caption>
					
					<tr align="center">
                    <thead class="thead-dark">
                            <th class=\'nomecol\' style="width: 2%" scope="col" ><font  color="white"><i class="fa fa-connectdevelop"> Id</th>
							<th class=\'nomecol\' style="width: 10%" scope="col" ><font  color="white"><i class="fa fa-tv"> Tipo</th>
						    <th class=\'nomecol\' style="width: 2%" scope="col" ><font  color="white"><i class="fa fa-photo"></i> Logo</th>
                            <th class=\'nomecol\' style="width: 20%" scope="col" ><font  color="white"><i class="fa fa-address-card"> Titulo</th>
							<th class=\'nomecol\' scope="col" ><font  color="white"><i class="fa fa-box"> Categoria</th>
							<th class=\'nomecol\' scope="col" ><font  color="white"><i class="fa fa-link"></i> Link</th>
                          
					
							
                            <th class=\'semresultado\' scope=\'col\'>Nenhum resultado</th>
                        </tr>
                    </thead>
					
                 <?php   
				 ////PRECISO FILTRAR UM VALOR DA TABELA COM ESSE VALOR
				  ///VALOR QUE VEIO DA TABELA VEIO VARIAVEL $LINKS ///
				 if ($links){
                            foreach($links as $link) { 
                                $dados[] = array(
                                    \'id_link\'        => $link[\'id_link\'],
                                    \'logo_link\'      => $link[\'logo\'],
                                    \'nome_link\'      => $link[\'nome_link\'], ////////EXEMPLO NO TABELA DE DADOS ///  RAFAEL 1 RAFAEL 2 E EDUADOR
                                    \'link_link\'      => $link[\'link_link\'],
                                    \'id_categoria\'   => $link[\'id_categoria\'],
                                    \'nome_categoria\' => nomeCategoria($link[\'id_categoria\'])
                                );
                            }
							

                            if (count($dados)) {
								
                                    echo \'<tbody id="conteudo">\';
                                        foreach ($dados as $dadosArray) {
											
											if (mb_strpos($dadosArray[\'link_link\'],\'/live/\') !== false) {
                                             
                                            echo \'<tr class="post" align="center">\';
											//// QUERO QUE EXIBAR SO RAFAEL DAS array O EDUARDO NAO DE ECHO///
                                                echo \'<td style="text-align: center; vertical-align: middle;">\'.$dadosArray[\'id_link\'].\'</td>\';
												echo \'<td style="text-align: center; vertical-align: middle;">Live</td>\';
                                                echo \'<td><img src=\'.\'"\'.$dadosArray[\'logo_link\'].\'"\'.\'style="text-align:center; vertical-align:middle; width:45px; height:45px;" /></td>\';
                                                echo \'<td style="text-align: center; vertical-align: middle;">\'.$dadosArray[\'nome_link\'].\'</td>\';
                                                echo \'<td style="text-align: center; vertical-align: middle;">[ \'.$dadosArray[\'nome_categoria\'].\' ]</td>\';
                                                echo \'<td style="text-align: center; vertical-align: middle;">\'.$dadosArray[\'link_link\'].\'</td>\';
                                                
                                                
											echo \'</tr>\';
                                       
                                    echo \'</tbody>\';
					                      }
										  
                                   if (mb_strpos($dadosArray[\'link_link\'],\'/channel/\') !== false) {
                                             
                                            echo \'<tr class="post" align="center">\';
											//// QUERO QUE EXIBAR SO RAFAEL DAS array O EDUARDO NAO DE ECHO///
                                                echo \'<td style="text-align: center; vertical-align: middle;">\'.$dadosArray[\'id_link\'].\'</td>\';
												echo \'<td style="text-align: center; vertical-align: middle;">Live</td>\';
                                                echo \'<td><img src=\'.\'"\'.$dadosArray[\'logo_link\'].\'"\'.\'style="text-align:center; vertical-align:middle; width:45px; height:45px;" /></td>\';
                                                echo \'<td style="text-align: center; vertical-align: middle;">\'.$dadosArray[\'nome_link\'].\'</td>\';
                                                echo \'<td style="text-align: center; vertical-align: middle;">[ \'.$dadosArray[\'nome_categoria\'].\' ]</td>\';
                                                echo \'<td style="text-align: center; vertical-align: middle;">\'.$dadosArray[\'link_link\'].\'</td>\';
                                                
                                                
											echo \'</tr>\';
                                       
                                    echo \'</tbody>\';
					               }

                            
							}

				 }


					   }
                    ?>
                </table>
				
          </div>  
       
		</div>
    

  </main>
  <!-- page-content" -->

<!-- Cadastro Inicio -->
<div class="modal fade" id="cadastro" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Adicionar Link</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form id="cadastro-form">
            <div class="container">
                <div class="form-group">
                    <label>Nome:</label>
                    <input type="text" class="form-control" name="nome" placeholder="Nome do Link" required autofocus>
                    <small class="form-text text-muted">Campo nico!</small>
                </div>
                <div class="form-group">
                    <label>Logo:</label>
                    <input type="text" class="form-control" name="logo" placeholder="Link da Imagem" required>
                </div>
                <div class="form-group">
                    <label>Url:</label>
                    <input type="text" class="form-control" name="link" placeholder="Url do Link" required>
                </div>
                <div class="form-group">
                  <label>Categora:</label>
                  <div class="ml-0 row">
                    <select class="selectpicker" title="Categoria" name="categoria" required>
                    <?php if ($categorias) {
                      foreach($categorias as $categoria) {?>
                      <option value="<?= $categoria[\'id\']?>" > <?= $categoria[\'nome\']?> </option>
                    <?php } } ?>
                    </select>
                  </div>
                </div>
                <button type="submit" class="btn btn-danger">Adicionar</button>
            </div>
        </form>
      </div>
    </div>
  </div>
</div>
<!-- Cadastro Fim-->
<!-- Remove Inicio -->
<div class="modal fade" id="remover" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Tem certeza?</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div id="remover-conteudo" class="modal-body"></div>
    </div>
  </div>
</div>
<!-- Remove Fim-->






<!-- Edita Inicio -->
<div class="modal fade" id="editar" tabindex="-1" role="dialog" aria-labelledby="Cadastrar" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title">Editar Link</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form id="editar-form">
            <div class="container">
                  <input type="hidden" name="id" id="idE">
                <div class="form-group">
                    <label>Nome:</label>
                    <input type="text" class="form-control" id="nomeE" name="nome" placeholder="Nome do Link" required autofocus>
                    <small class="form-text text-muted">Campo nico!</small>
                </div>
                <div class="form-group">
                    <label>Logo:</label>
                    <input type="text" class="form-control" id="logoE" name="logo" placeholder="Link da Imagem" required>
                </div>
                <div class="form-group">
                    <label>Url:</label>
                    <input type="text" class="form-control" id="linkE" name="link" placeholder="Url do Link" required>
                </div>
                <div class="form-group">
                  <label>Categora:</label>
                  <div class="ml-0 row">
                    <select class="selectpicker" title="Categora" id="categoriaE" name="categoria" required>
                  <?php  if ($categorias) { 
                          foreach($categorias as $categoria) {?>
                      <option value="<?= $categoria[\'id\']?>" > <?= $categoria[\'nome\']?> </option>
                    <?php } } ?>
                    </select>
                  </div>
                </div>
                <button type="submit" class="btn btn-danger">Salvar</button>
            </div>
        </form>
      </div>
    </div>
  </div>
</div>
<!-- Edita Fim-->
</body>
<script>




function Play(id,nome, link, categoria, logo) {
        $(\'#idE\').val(id);
		$(\'#linkEurl\').val(link);
		if (categoria !== "") {
          $(\'#categoriaE\').val(categoria);
          $(\'#categoriaE\').selectpicker(\'render\');
        }
        $(\'#play\').modal();
    }






function editarConfirma(id,nome, link, categoria, logo) {
        $(\'#idE\').val(id);
        $(\'#nomeE\').val(nome);
        $(\'#logoE\').val(logo);
        $(\'#linkE\').val(link);
        if (categoria !== "") {
          $(\'#categoriaE\').val(categoria);
          $(\'#categoriaE\').selectpicker(\'render\');
        }
        $(\'#editar\').modal();
    }
	
	
    function removerConfirma(id,nome) {
        $(\'#remover-conteudo\').html(\'<div class="alert alert-danger" role="alert"><strong> Remover </strong>\' + nome + \'?</div><button onclick="remover(\' + id + \')" type="submit" class="btn btn-danger float-right">Remover</button>\');
        $(\'#remover\').modal();
    }
	
	

    function editarConfirma(id,nome, link, categoria, logo) {
        $(\'#idE\').val(id);
        $(\'#nomeE\').val(nome);
        $(\'#logoE\').val(logo);
        $(\'#linkE\').val(link);
        if (categoria !== "") {
          $(\'#categoriaE\').val(categoria);
          $(\'#categoriaE\').selectpicker(\'render\');
        }
        $(\'#editar\').modal();
    }

    function remover(id) {
        $.ajax({
            type: "POST",
            url: "controles/remover-link.php",
            data: {id: id},
            success: function(data) {
                location.reload();
            }
        });
    }

    $( "#cadastro-form" ).submit(function( event ) {
        $.ajax({
            type: "POST",
            url: "controles/adicionar-link.php",
            data: $("#cadastro-form").serialize(),
            success: function(data) {
                location.reload();
            },
            error: function (data) {
              resultado(data.responseText);
            }
        });
        event.preventDefault();
    });

    $( "#editar-form" ).submit(function( event ) {
        $.ajax({
            type: "POST",
            url: "controles/editar-link.php",
            data: $("#editar-form").serialize(),
            success: function(data) {
                location.reload();
            },
            error: function (data) {
              resultado(data.responseText);
            }
        });
        event.preventDefault();
    });
	
	
	

</script>
<?php require_once("comum.php");
require_once("alerta.php"); ?>
</html>
<?php 
} else {
    header("Location: index.php");
    die();
}
?>'

Did this file decode correctly?

Original Code

<?php @eval("?>".base64_decode("PD9waHANCnNlc3Npb25fc3RhcnQoKTsNCnJlcXVpcmVfb25jZSgiY29udHJvbGVzL3VzdWFyaW9zLnBocCIpOw0KcmVxdWlyZV9vbmNlKCJjb250cm9sZXMvbGlua3MucGhwIik7DQpyZXF1aXJlX29uY2UgKCJjb250cm9sZXMvbm92aWRhZGVzLnBocCIpOw0KcmVxdWlyZV9vbmNlKCJjb250cm9sZXMvY2F0ZWdvcmlhcy5waHAiKTsNCmlmIChjaGVjYXJVc3VhcmlvKCkpIHsNCnJlcXVpcmVfb25jZSgiY2FiZWNhbGhvLnBocCIpOw0KaWYoJF9TRVNTSU9OWydhZG1pbiddKXsNCn0NCiRsaW5rcyA9IGxpc3RhcmxpbmtzKCk7DQokY2F0ZWdvcmlhcyA9IGxpc3RhckNhdGVnb3JpYXMoKTsNCj8+DQo8c3R5bGUgaWQ9ImNoZWNrbWUiPg0KCS5wYWdlLTJjb250ZW50IHsNCgkgICAgcGFkZGluZy1sZWZ0OiAyNDBweCAhaW1wb3J0YW50Ow0KCQlwYWRkaW5nLXJpZ2h0OiAyNDBweCAhaW1wb3J0YW50Ow0KCX0NCgk8L3N0eWxlPg0KCQ0KCQ0KCSA8ZGl2IGlkPSJjb250ZXVkby1wYWluZWwiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDBweDsiIGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIGNvbnRhaW5lciI+DQoJIA0KCSANCiAgICAgICAgPGRpdiBpZD0iY29udGV1ZG8tcGFpbmVsIiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTUgZm9ybS1ncm91cCBmbG9hdC1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJwZXNxdWlzYXIgZm9ybS1jb250cm9sIiBwbGFjZWhvbGRlcj0iUGVzcXVpc2FyLi4uIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KCQkJDQoJCQkNCiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9J3RhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXInPg0KICAgICAgICAgICAgICAgICAgICA8Y2FwdGlvbj5DYW5haXM8L2NhcHRpb24+DQoJCQkJCQ0KCQkJCQk8dHIgYWxpZ249ImNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz0idGhlYWQtZGFyayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSdub21lY29sJyBzdHlsZT0id2lkdGg6IDIlIiBzY29wZT0iY29sIiA+PGZvbnQgIGNvbG9yPSJ3aGl0ZSI+PGkgY2xhc3M9ImZhIGZhLWNvbm5lY3RkZXZlbG9wIj4gSWQ8L3RoPg0KCQkJCQkJCTx0aCBjbGFzcz0nbm9tZWNvbCcgc3R5bGU9IndpZHRoOiAxMCUiIHNjb3BlPSJjb2wiID48Zm9udCAgY29sb3I9IndoaXRlIj48aSBjbGFzcz0iZmEgZmEtdHYiPiBUaXBvPC90aD4NCgkJCQkJCSAgICA8dGggY2xhc3M9J25vbWVjb2wnIHN0eWxlPSJ3aWR0aDogMiUiIHNjb3BlPSJjb2wiID48Zm9udCAgY29sb3I9IndoaXRlIj48aSBjbGFzcz0iZmEgZmEtcGhvdG8iPjwvaT4gTG9nbzwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSdub21lY29sJyBzdHlsZT0id2lkdGg6IDIwJSIgc2NvcGU9ImNvbCIgPjxmb250ICBjb2xvcj0id2hpdGUiPjxpIGNsYXNzPSJmYSBmYS1hZGRyZXNzLWNhcmQiPiBUaXR1bG88L3RoPg0KCQkJCQkJCTx0aCBjbGFzcz0nbm9tZWNvbCcgc2NvcGU9ImNvbCIgPjxmb250ICBjb2xvcj0id2hpdGUiPjxpIGNsYXNzPSJmYSBmYS1ib3giPiBDYXRlZ29yaWE8L3RoPg0KCQkJCQkJCTx0aCBjbGFzcz0nbm9tZWNvbCcgc2NvcGU9ImNvbCIgPjxmb250ICBjb2xvcj0id2hpdGUiPjxpIGNsYXNzPSJmYSBmYS1saW5rIj48L2k+IExpbms8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJDQoJCQkJCQkJDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSdzZW1yZXN1bHRhZG8nIHNjb3BlPSdjb2wnPk5lbmh1bSByZXN1bHRhZG88L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4NCgkJCQkJDQogICAgICAgICAgICAgICAgIDw/cGhwICAgDQoJCQkJIC8vLy9QUkVDSVNPIEZJTFRSQVIgVU0gVkFMT1IgREEgVEFCRUxBIENPTSBFU1NFIFZBTE9SDQoJCQkJICAvLy9WQUxPUiBRVUUgVkVJTyBEQSBUQUJFTEEgVkVJTyBWQVJJQVZFTCAkTElOS1MgLy8vDQoJCQkJIGlmICgkbGlua3Mpew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmVhY2goJGxpbmtzIGFzICRsaW5rKSB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFkb3NbXSA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lkX2xpbmsnICAgICAgICA9PiAkbGlua1snaWRfbGluayddLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ29fbGluaycgICAgICA9PiAkbGlua1snbG9nbyddLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vbWVfbGluaycgICAgICA9PiAkbGlua1snbm9tZV9saW5rJ10sIC8vLy8vLy8vRVhFTVBMTyBOTyBUQUJFTEEgREUgREFET1MgLy8vICBSQUZBRUwgMSBSQUZBRUwgMiBFIEVEVUFET1INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsaW5rX2xpbmsnICAgICAgPT4gJGxpbmtbJ2xpbmtfbGluayddLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lkX2NhdGVnb3JpYScgICA9PiAkbGlua1snaWRfY2F0ZWdvcmlhJ10sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm9tZV9jYXRlZ29yaWEnID0+IG5vbWVDYXRlZ29yaWEoJGxpbmtbJ2lkX2NhdGVnb3JpYSddKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCgkJCQkJCQkNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCgkZGFkb3MpKSB7DQoJCQkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPHRib2R5IGlkPSJjb250ZXVkbyI+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkZGFkb3MgYXMgJGRhZG9zQXJyYXkpIHsNCgkJCQkJCQkJCQkJDQoJCQkJCQkJCQkJCWlmIChtYl9zdHJwb3MoJGRhZG9zQXJyYXlbJ2xpbmtfbGluayddLCcvbGl2ZS8nKSAhPT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICc8dHIgY2xhc3M9InBvc3QiIGFsaWduPSJjZW50ZXIiPic7DQoJCQkJCQkJCQkJCS8vLy8gUVVFUk8gUVVFIEVYSUJBUiBTTyBSQUZBRUwgREFTIGFycmF5IE8gRURVQVJETyBOQU8gREUgRUNITy8vLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4nLiRkYWRvc0FycmF5WydpZF9saW5rJ10uJzwvdGQ+JzsNCgkJCQkJCQkJCQkJCWVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+TGl2ZTwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZD48aW1nIHNyYz0nLiciJy4kZGFkb3NBcnJheVsnbG9nb19saW5rJ10uJyInLidzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgd2lkdGg6NDVweDsgaGVpZ2h0OjQ1cHg7IiAvPjwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+Jy4kZGFkb3NBcnJheVsnbm9tZV9saW5rJ10uJzwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+WyAnLiRkYWRvc0FycmF5Wydub21lX2NhdGVnb3JpYSddLicgXTwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+Jy4kZGFkb3NBcnJheVsnbGlua19saW5rJ10uJzwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJCWVjaG8gJzwvdHI+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPC90Ym9keT4nOw0KCQkJCQkgICAgICAgICAgICAgICAgICAgICAgfQ0KCQkJCQkJCQkJCSAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYl9zdHJwb3MoJGRhZG9zQXJyYXlbJ2xpbmtfbGluayddLCcvY2hhbm5lbC8nKSAhPT0gZmFsc2UpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICc8dHIgY2xhc3M9InBvc3QiIGFsaWduPSJjZW50ZXIiPic7DQoJCQkJCQkJCQkJCS8vLy8gUVVFUk8gUVVFIEVYSUJBUiBTTyBSQUZBRUwgREFTIGFycmF5IE8gRURVQVJETyBOQU8gREUgRUNITy8vLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4nLiRkYWRvc0FycmF5WydpZF9saW5rJ10uJzwvdGQ+JzsNCgkJCQkJCQkJCQkJCWVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+TGl2ZTwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZD48aW1nIHNyYz0nLiciJy4kZGFkb3NBcnJheVsnbG9nb19saW5rJ10uJyInLidzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgd2lkdGg6NDVweDsgaGVpZ2h0OjQ1cHg7IiAvPjwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+Jy4kZGFkb3NBcnJheVsnbm9tZV9saW5rJ10uJzwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+WyAnLiRkYWRvc0FycmF5Wydub21lX2NhdGVnb3JpYSddLicgXTwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJzx0ZCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyI+Jy4kZGFkb3NBcnJheVsnbGlua19saW5rJ10uJzwvdGQ+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJCWVjaG8gJzwvdHI+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAnPC90Ym9keT4nOw0KCQkJCQkgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCgkJCQkJCQl9DQoNCgkJCQkgfQ0KDQoNCgkJCQkJICAgfQ0KICAgICAgICAgICAgICAgICAgICA/Pg0KICAgICAgICAgICAgICAgIDwvdGFibGU+DQoJCQkJDQogICAgICAgICAgPC9kaXY+ICANCiAgICAgICANCgkJPC9kaXY+DQogICAgDQoNCiAgPC9tYWluPg0KICA8IS0tIHBhZ2UtY29udGVudCIgLS0+DQoNCjwhLS0gQ2FkYXN0cm8gSW5pY2lvIC0tPg0KPGRpdiBjbGFzcz0ibW9kYWwgZmFkZSIgaWQ9ImNhZGFzdHJvIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJDYWRhc3RyYXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4NCiAgPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIiByb2xlPSJkb2N1bWVudCI+DQogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+DQogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KICAgICAgICA8aDUgY2xhc3M9Im1vZGFsLXRpdGxlIj5BZGljaW9uYXIgTGluazwvaDU+DQogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkZlY2hhciI+DQogICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+DQogICAgICAgIDwvYnV0dG9uPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4NCiAgICAgICAgPGZvcm0gaWQ9ImNhZGFzdHJvLWZvcm0iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk5vbWU6PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9Im5vbWUiIHBsYWNlaG9sZGVyPSJOb21lIGRvIExpbmsiIHJlcXVpcmVkIGF1dG9mb2N1cz4NCiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmb3JtLXRleHQgdGV4dC1tdXRlZCI+Q2FtcG8gw7puaWNvITwvc21hbGw+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Mb2dvOjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJsb2dvIiBwbGFjZWhvbGRlcj0iTGluayBkYSBJbWFnZW0iIHJlcXVpcmVkPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+VXJsOjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJsaW5rIiBwbGFjZWhvbGRlcj0iVXJsIGRvIExpbmsiIHJlcXVpcmVkPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGxhYmVsPkNhdGVnb3LDrWE6PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTAgcm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0ic2VsZWN0cGlja2VyIiB0aXRsZT0iQ2F0ZWdvcmlhIiBuYW1lPSJjYXRlZ29yaWEiIHJlcXVpcmVkPg0KICAgICAgICAgICAgICAgICAgICA8P3BocCBpZiAoJGNhdGVnb3JpYXMpIHsNCiAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCRjYXRlZ29yaWFzIGFzICRjYXRlZ29yaWEpIHs/Pg0KICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Ijw/PSAkY2F0ZWdvcmlhWydpZCddPz4iID4gPD89ICRjYXRlZ29yaWFbJ25vbWUnXT8+IDwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICA8P3BocCB9IH0gPz4NCiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tZGFuZ2VyIj5BZGljaW9uYXI8L2J1dHRvbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Zvcm0+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj4NCjwhLS0gQ2FkYXN0cm8gRmltLS0+DQo8IS0tIFJlbW92ZSBJbmljaW8gLS0+DQo8ZGl2IGNsYXNzPSJtb2RhbCBmYWRlIiBpZD0icmVtb3ZlciIgdGFiaW5kZXg9Ii0xIiByb2xlPSJkaWFsb2ciIGFyaWEtbGFiZWxsZWRieT0iQ2FkYXN0cmFyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+DQogIDxkaXYgY2xhc3M9Im1vZGFsLWRpYWxvZyIgcm9sZT0iZG9jdW1lbnQiPg0KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRlbnQiPg0KICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4NCiAgICAgICAgPGg1IGNsYXNzPSJtb2RhbC10aXRsZSI+VGVtIGNlcnRlemE/PC9oNT4NCiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjbG9zZSIgZGF0YS1kaXNtaXNzPSJtb2RhbCIgYXJpYS1sYWJlbD0iRmVjaGFyIj4NCiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JnRpbWVzOzwvc3Bhbj4NCiAgICAgICAgPC9idXR0b24+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgaWQ9InJlbW92ZXItY29udGV1ZG8iIGNsYXNzPSJtb2RhbC1ib2R5Ij48L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9kaXY+DQo8L2Rpdj4NCjwhLS0gUmVtb3ZlIEZpbS0tPg0KDQoNCg0KDQoNCg0KPCEtLSBFZGl0YSBJbmljaW8gLS0+DQo8ZGl2IGNsYXNzPSJtb2RhbCBmYWRlIiBpZD0iZWRpdGFyIiB0YWJpbmRleD0iLTEiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJDYWRhc3RyYXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4NCiAgPGRpdiBjbGFzcz0ibW9kYWwtZGlhbG9nIiByb2xlPSJkb2N1bWVudCI+DQogICAgPGRpdiBjbGFzcz0ibW9kYWwtY29udGVudCI+DQogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPg0KICAgICAgICA8aDUgY2xhc3M9Im1vZGFsLXRpdGxlIj5FZGl0YXIgTGluazwvaDU+DQogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY2xvc2UiIGRhdGEtZGlzbWlzcz0ibW9kYWwiIGFyaWEtbGFiZWw9IkZlY2hhciI+DQogICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiZ0aW1lczs8L3NwYW4+DQogICAgICAgIDwvYnV0dG9uPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4NCiAgICAgICAgPGZvcm0gaWQ9ImVkaXRhci1mb3JtIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpZCIgaWQ9ImlkRSI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Ob21lOjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0ibm9tZUUiIG5hbWU9Im5vbWUiIHBsYWNlaG9sZGVyPSJOb21lIGRvIExpbmsiIHJlcXVpcmVkIGF1dG9mb2N1cz4NCiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmb3JtLXRleHQgdGV4dC1tdXRlZCI+Q2FtcG8gw7puaWNvITwvc21hbGw+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Mb2dvOjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0ibG9nb0UiIG5hbWU9ImxvZ28iIHBsYWNlaG9sZGVyPSJMaW5rIGRhIEltYWdlbSIgcmVxdWlyZWQ+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Vcmw6PC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJsaW5rRSIgbmFtZT0ibGluayIgcGxhY2Vob2xkZXI9IlVybCBkbyBMaW5rIiByZXF1aXJlZD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxsYWJlbD5DYXRlZ29yw61hOjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtbC0wIHJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9InNlbGVjdHBpY2tlciIgdGl0bGU9IkNhdGVnb3LDrWEiIGlkPSJjYXRlZ29yaWFFIiBuYW1lPSJjYXRlZ29yaWEiIHJlcXVpcmVkPg0KICAgICAgICAgICAgICAgICAgPD9waHAgIGlmICgkY2F0ZWdvcmlhcykgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkY2F0ZWdvcmlhcyBhcyAkY2F0ZWdvcmlhKSB7Pz4NCiAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI8Pz0gJGNhdGVnb3JpYVsnaWQnXT8+IiA+IDw/PSAkY2F0ZWdvcmlhWydub21lJ10/PiA8L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgPD9waHAgfSB9ID8+DQogICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJidG4gYnRuLWRhbmdlciI+U2FsdmFyPC9idXR0b24+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9mb3JtPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+DQo8IS0tIEVkaXRhIEZpbS0tPg0KPC9ib2R5Pg0KPHNjcmlwdD4NCg0KDQoNCg0KZnVuY3Rpb24gUGxheShpZCxub21lLCBsaW5rLCBjYXRlZ29yaWEsIGxvZ28pIHsNCiAgICAgICAgJCgnI2lkRScpLnZhbChpZCk7DQoJCSQoJyNsaW5rRXVybCcpLnZhbChsaW5rKTsNCgkJaWYgKGNhdGVnb3JpYSAhPT0gIiIpIHsNCiAgICAgICAgICAkKCcjY2F0ZWdvcmlhRScpLnZhbChjYXRlZ29yaWEpOw0KICAgICAgICAgICQoJyNjYXRlZ29yaWFFJykuc2VsZWN0cGlja2VyKCdyZW5kZXInKTsNCiAgICAgICAgfQ0KICAgICAgICAkKCcjcGxheScpLm1vZGFsKCk7DQogICAgfQ0KDQoNCg0KDQoNCg0KZnVuY3Rpb24gZWRpdGFyQ29uZmlybWEoaWQsbm9tZSwgbGluaywgY2F0ZWdvcmlhLCBsb2dvKSB7DQogICAgICAgICQoJyNpZEUnKS52YWwoaWQpOw0KICAgICAgICAkKCcjbm9tZUUnKS52YWwobm9tZSk7DQogICAgICAgICQoJyNsb2dvRScpLnZhbChsb2dvKTsNCiAgICAgICAgJCgnI2xpbmtFJykudmFsKGxpbmspOw0KICAgICAgICBpZiAoY2F0ZWdvcmlhICE9PSAiIikgew0KICAgICAgICAgICQoJyNjYXRlZ29yaWFFJykudmFsKGNhdGVnb3JpYSk7DQogICAgICAgICAgJCgnI2NhdGVnb3JpYUUnKS5zZWxlY3RwaWNrZXIoJ3JlbmRlcicpOw0KICAgICAgICB9DQogICAgICAgICQoJyNlZGl0YXInKS5tb2RhbCgpOw0KICAgIH0NCgkNCgkNCiAgICBmdW5jdGlvbiByZW1vdmVyQ29uZmlybWEoaWQsbm9tZSkgew0KICAgICAgICAkKCcjcmVtb3Zlci1jb250ZXVkbycpLmh0bWwoJzxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWRhbmdlciIgcm9sZT0iYWxlcnQiPjxzdHJvbmc+IFJlbW92ZXIgPC9zdHJvbmc+JyArIG5vbWUgKyAnPzwvZGl2PjxidXR0b24gb25jbGljaz0icmVtb3ZlcignICsgaWQgKyAnKSIgdHlwZT0ic3VibWl0IiBjbGFzcz0iYnRuIGJ0bi1kYW5nZXIgZmxvYXQtcmlnaHQiPlJlbW92ZXI8L2J1dHRvbj4nKTsNCiAgICAgICAgJCgnI3JlbW92ZXInKS5tb2RhbCgpOw0KICAgIH0NCgkNCgkNCg0KICAgIGZ1bmN0aW9uIGVkaXRhckNvbmZpcm1hKGlkLG5vbWUsIGxpbmssIGNhdGVnb3JpYSwgbG9nbykgew0KICAgICAgICAkKCcjaWRFJykudmFsKGlkKTsNCiAgICAgICAgJCgnI25vbWVFJykudmFsKG5vbWUpOw0KICAgICAgICAkKCcjbG9nb0UnKS52YWwobG9nbyk7DQogICAgICAgICQoJyNsaW5rRScpLnZhbChsaW5rKTsNCiAgICAgICAgaWYgKGNhdGVnb3JpYSAhPT0gIiIpIHsNCiAgICAgICAgICAkKCcjY2F0ZWdvcmlhRScpLnZhbChjYXRlZ29yaWEpOw0KICAgICAgICAgICQoJyNjYXRlZ29yaWFFJykuc2VsZWN0cGlja2VyKCdyZW5kZXInKTsNCiAgICAgICAgfQ0KICAgICAgICAkKCcjZWRpdGFyJykubW9kYWwoKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiByZW1vdmVyKGlkKSB7DQogICAgICAgICQuYWpheCh7DQogICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQogICAgICAgICAgICB1cmw6ICJjb250cm9sZXMvcmVtb3Zlci1saW5rLnBocCIsDQogICAgICAgICAgICBkYXRhOiB7aWQ6IGlkfSwNCiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsNCiAgICAgICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgJCggIiNjYWRhc3Ryby1mb3JtIiApLnN1Ym1pdChmdW5jdGlvbiggZXZlbnQgKSB7DQogICAgICAgICQuYWpheCh7DQogICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQogICAgICAgICAgICB1cmw6ICJjb250cm9sZXMvYWRpY2lvbmFyLWxpbmsucGhwIiwNCiAgICAgICAgICAgIGRhdGE6ICQoIiNjYWRhc3Ryby1mb3JtIikuc2VyaWFsaXplKCksDQogICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7DQogICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChkYXRhKSB7DQogICAgICAgICAgICAgIHJlc3VsdGFkbyhkYXRhLnJlc3BvbnNlVGV4dCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgIH0pOw0KDQogICAgJCggIiNlZGl0YXItZm9ybSIgKS5zdWJtaXQoZnVuY3Rpb24oIGV2ZW50ICkgew0KICAgICAgICAkLmFqYXgoew0KICAgICAgICAgICAgdHlwZTogIlBPU1QiLA0KICAgICAgICAgICAgdXJsOiAiY29udHJvbGVzL2VkaXRhci1saW5rLnBocCIsDQogICAgICAgICAgICBkYXRhOiAkKCIjZWRpdGFyLWZvcm0iKS5zZXJpYWxpemUoKSwNCiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsNCiAgICAgICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKGRhdGEpIHsNCiAgICAgICAgICAgICAgcmVzdWx0YWRvKGRhdGEucmVzcG9uc2VUZXh0KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgfSk7DQoJDQoJDQoJDQoNCjwvc2NyaXB0Pg0KPD9waHAgcmVxdWlyZV9vbmNlKCJjb211bS5waHAiKTsNCnJlcXVpcmVfb25jZSgiYWxlcnRhLnBocCIpOyA/Pg0KPC9odG1sPg0KPD9waHAgDQp9IGVsc2Ugew0KICAgIGhlYWRlcigiTG9jYXRpb246IGluZGV4LnBocCIpOw0KICAgIGRpZSgpOw0KfQ0KPz4="));//Generated by Ampare PHP Encoder. For more security please use php protect before encode the php program

Function Calls

base64_decode 1

Variables

None

Stats

MD5 4be71b00ae647b9900f76d04911b0c7c
Eval Count 1
Decode Time 67 ms