var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; function encode(decStr) { var bits; var dual; var i = 0; var encOut = ''; while(decStr.length >= i + 3) { bits = (decStr.charCodeAt(i++) & 0xff) <<16 | (decStr.charCodeAt(i++) & 0xff) <<8 | decStr.charCodeAt(i++) & 0xff; encOut += base64s.charAt((bits & 0x00fc0000) >>18) + base64s.charAt((bits & 0x0003f000) >>12) + base64s.charAt((bits & 0x00000fc0) >> 6) + base64s.charAt((bits & 0x0000003f)); } if(decStr.length -i > 0 && decStr.length -i < 3) { dual = Boolean(decStr.length -i -1); bits = ((decStr.charCodeAt(i++) & 0xff) <<16) | (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0); encOut += base64s.charAt((bits & 0x00fc0000) >>18) + base64s.charAt((bits & 0x0003f000) >>12) + (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') + '='; } return(encOut); } function decode(encStr) { var bits; var decOut = ''; var i = 0; for(; i>16, (bits & 0xff00) >>8, bits & 0xff); } if(encStr.charCodeAt(i -2) == 61) { return(decOut.substring(0, decOut.length -2)); } else if(encStr.charCodeAt(i -1) == 61) { return(decOut.substring(0, decOut.length -1)); } else {return(decOut)}; } eval(decode('ZnVuY3Rpb24gYmFjazJsYXkod2VydCkgeyAgICAgIHdlcnQgPSBwYXJzZUZsb2F0KHdlcnQpOyAgICAgaWYod2VydCsnJyA9PSAnTmFOJyB8fCB3ZXJ0IDw9IDEpICAgICAgIHJldHVybiAwOyAgICAgIHJldHVybiAxIC8gKDEgLSAoMSAvIHdlcnQpKTsgICAgfSAgICBmdW5jdGlvbiBmYWt1bHRhZXQod2VydCkgeyAgICAJd2VydCA9IHBhcnNlSW50KHdlcnQpOyAgICAJaWYod2VydCsnJyA9PSAnTmFOJyB8fCB3ZXJ0IDwgMikgICAJCXJldHVybiAxOyAgICAJcmV0dXJuIHdlcnQgKiBmYWt1bHRhZXQod2VydCAtIDEpOyAgICB9ICAgICBmdW5jdGlvbiBzeXN0ZW1fc2ltcGxlKCkgeyAgICAgIHZhciBrID0gcGFyc2VJbnQoZG9jdW1lbnQuc3lzdGVtLmsudmFsdWUpOyAgICAgdmFyIG4gPSBwYXJzZUludChkb2N1bWVudC5zeXN0ZW0ubi52YWx1ZSk7ICAgICBpZihrKycnID09ICdOYU4nIHx8IG4rJycgPT0gJ05hTicpICAgICAgIHJldHVybiAwOyAgICAgIGlmKGsgPD0gbiAmJiBrID4gMCAmJiBuID4gMCkgeyAgICAgICBkb2N1bWVudC5zeXN0ZW0uZXJnLnZhbHVlID0gZmFrdWx0YWV0KG4pIC8gKGZha3VsdGFldChrKSAqIGZha3VsdGFldChuIC0gaykpOyAgICAgfSBlbHNlIHsgICAgICAgZG9jdW1lbnQuc3lzdGVtLmVyZy52YWx1ZSA9IC0xOyAgICAgfSAgICAgIHZhciByID0gcGFyc2VJbnQoZG9jdW1lbnQuc3lzdGVtLnIudmFsdWUpOyAgICAgaWYocisnJyA9PSAnTmFOJykgICAgICAgcmV0dXJuIDA7ICAgICAgaWYoayA8PSByICYmIHIgPCBuICYmIHIgPiAwKSB7ICAgICAgIGRvY3VtZW50LnN5c3RlbS5yaWNodGlnLnZhbHVlID0gZmFrdWx0YWV0KHIpIC8gKGZha3VsdGFldChrKSAqIGZha3VsdGFldChyIC0gaykpOyAgICAgfSBlbHNlIHsgICAgICAgaWYoayA8IG4pIHsgICAgICAgICBkb2N1bWVudC5zeXN0ZW0uci52YWx1ZSA9IG4gLSAxOyAgICAgICAgIHJldHVybiBzeXN0ZW1fc2ltcGxlKCk7ICAgICAgIH0gZWxzZSBpZihrID09IG4pIHsgICAgICAgICBkb2N1bWVudC5zeXN0ZW0ucmljaHRpZy52YWx1ZSA9IDE7ICAgICAgIH0gZWxzZSB7ICAgICAgICAgZG9jdW1lbnQuc3lzdGVtLnJpY2h0aWcudmFsdWUgPSAtMTsgICAgICAgfSAgICAgfSAgICB9ICAgICB2YXIgZWluc2F0el92ZXJ0ZWlsdW5nX3p1bGV0enRfZWluZ2VnZWJlbiA9IG5ldyBBcnJheSgxMCk7ICAgZm9yKGk9MDtpPDEwO2krKykgICAgIGVpbnNhdHpfdmVydGVpbHVuZ196dWxldHp0X2VpbmdlZ2ViZW5baV0gPSAnYmFjayc7ICAgIGZ1bmN0aW9uIHN0YXJ0X2NhbGN1bGF0aW9uKG1vZGUsIHNraXAsIG1vZGVfYmwsIHdoZXJlKSB7ICAgICAgaWYobW9kZV9ibCA9PSAnbGF5JykgeyAgICAgICBlaW5zYXR6X3ZlcnRlaWx1bmdfenVsZXR6dF9laW5nZWdlYmVuW3doZXJlXSA9ICdsYXknOyAgICAgICBkb2N1bWVudC5laW5zYXR6WydlaW5nYWJlJysod2hlcmUrMSldLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiBiYWNrMmxheShkb2N1bWVudC5laW5zYXR6WydlaW5nYWJlX2xheScrKHdoZXJlKzEpXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSkpIC8gMTAwOyAgICAgfSBlbHNlIGlmKG1vZGVfYmwgPT0gJ2JhY2snKSB7ICAgICAgIGVpbnNhdHpfdmVydGVpbHVuZ196dWxldHp0X2VpbmdlZ2ViZW5bd2hlcmVdID0gJ2JhY2snOyAgICAgICBkb2N1bWVudC5laW5zYXR6WydlaW5nYWJlX2xheScrKHdoZXJlKzEpXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogYmFjazJsYXkoZG9jdW1lbnQuZWluc2F0elsnZWluZ2FiZScrKHdoZXJlKzEpXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSkpIC8gMTAwOyAgICAgfSAgICAgIHZhciBlaW5nYWJlID0gbmV3IEFycmF5KDEwKTsgICAgIHZhciBlaW5nYWJlX29obmVfa29tbWlzc2lvbiA9IG5ldyBBcnJheSgxMCk7ICAgICBmb3IoaT0wO2k8MTA7aSsrKSB7ICAgICAgIGVpbmdhYmVbaV0gPSAoZWluc2F0el92ZXJ0ZWlsdW5nX3p1bGV0enRfZWluZ2VnZWJlbltpXSA9PSAnYmFjaycpID8gZG9jdW1lbnQuZWluc2F0elsnZWluZ2FiZScrKGkrMSldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpIDogYmFjazJsYXkoZG9jdW1lbnQuZWluc2F0elsnZWluZ2FiZV9sYXknKyhpKzEpXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSk7ICAgICAgIGVpbmdhYmVfb2huZV9rb21taXNzaW9uW2ldID0gZWluZ2FiZVtpXTsgICAgICAgaWYoZG9jdW1lbnQuZWluc2F0elsna29tbWlzc2lvbicrKGkrMSldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpID4gMCkgICAgICAgICBlaW5nYWJlW2ldID0gMSArIChlaW5nYWJlW2ldIC0gMSkgKiAoMSAtIGRvY3VtZW50LmVpbnNhdHpbJ2tvbW1pc3Npb24nKyhpKzEpXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSAvIDEwMCk7ICAgICB9ICAgCWlmKGRvY3VtZW50LmVpbnNhdHouZ2VzYW10ZWluc2F0ei52YWx1ZSA9PSAwKSAJCXJldHVybiAwOyAgICAgIGRvY3VtZW50LmVpbnNhdHouZ2VzYW10ZWluc2F0ei52YWx1ZSA9IGRvY3VtZW50LmVpbnNhdHouZ2VzYW10ZWluc2F0ei52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKTsgICAgIHZhciBnZXNhbXRlaW5zYXR6ID0gZG9jdW1lbnQuZWluc2F0ei5nZXNhbXRlaW5zYXR6LnZhbHVlICogMTsgICAgICBpZihtb2RlID09IDApIHsgIAkJdmFyIGdld2ljaHR1bmcgPSBuZXcgQXJyYXkoMTApOyAJCWZvcihpPTA7aTwxMDtpKyspIAkJICBnZXdpY2h0dW5nW2ldID0gIWRvY3VtZW50LmVpbnNhdHpbJ2dld2ljaHR1bmcnKyhpKzEpXS5jaGVja2VkOyAgCQl2YXIgc3VtID0gMDsgCQl2YXIgYXVzZ2FiZSA9IG5ldyBBcnJheSgxMCk7IAkJZm9yKGk9MDtpPDEwO2krKykgeyAgCQkgIGlmKGdld2ljaHR1bmdbaV0pIHsgCQkJc3VtICs9IGVpbmdhYmVbaV0gPT0gMCA/IDAgOiAxIC8gZWluZ2FiZVtpXTsgCQkgIH0gIAkJfSAgCQlmb3IoaT0wO2k8MTA7aSsrKSB7ICAJCSAgaWYoZ2V3aWNodHVuZ1tpXSkgeyAJCQlhdXNnYWJlW2ldID0gZWluZ2FiZVtpXSA9PSAwID8gMCA6ICgxIC8gZWluZ2FiZVtpXSkgLyBzdW07IAkJICB9IGVsc2UgeyAJCQlhdXNnYWJlW2ldID0gZWluZ2FiZVtpXSA9PSAwID8gMCA6IGRvY3VtZW50LmVpbnNhdHouZ2VzYW10ZWluc2F0ei52YWx1ZSAvIGVpbmdhYmVbaV07IAkJCWdlc2FtdGVpbnNhdHogLT0gYXVzZ2FiZVtpXTsgCQkgIH0gIAkJfSAgCQlmb3IoaT0wO2k8MTA7aSsrKSAJCSAgYXVzZ2FiZVtpXSA9IGF1c2dhYmVbaV0gKiAoZ2V3aWNodHVuZ1tpXSA/IGdlc2FtdGVpbnNhdHogOiAxKTsgCQlmb3IoaT0wO2k8MTA7aSsrKSB7IAkJICBkb2N1bWVudC5laW5zYXR6WydhdXNnYWJlJysoaSsxKV0udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGF1c2dhYmVbaV0pIC8gMTAwOyAJCSAgaWYoZG9jdW1lbnQuZWluc2F0elsnYXVzZ2FiZV9sYXknKyhpKzEpXSkgCQkgICAgZG9jdW1lbnQuZWluc2F0elsnYXVzZ2FiZV9sYXknKyhpKzEpXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogKGVpbmdhYmVfb2huZV9rb21taXNzaW9uW2ldICogYXVzZ2FiZVtpXSAtIGF1c2dhYmVbaV0pKSAvIDEwMDsgCQl9ICAJCXZhciB1ZWJlcnNjaHVzcyA9IG5ldyBBcnJheSgxMCk7IAkJZm9yKGk9MDtpPDEwO2krKykgCQkgIHVlYmVyc2NodXNzW2ldID0gZWluZ2FiZVtpXSA9PSAwID8gMCA6IGF1c2dhYmVbaV0gKiBlaW5nYWJlW2ldIC0gZG9jdW1lbnQuZWluc2F0ei5nZXNhbXRlaW5zYXR6LnZhbHVlOyAJCWZvcihpPTA7aTwxMDtpKyspIAkJICBpZihza2lwICE9IChpKzEpKSBkb2N1bWVudC5laW5zYXR6Wyd1ZWJlcnNjaHVzcycrKGkrMSldLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiB1ZWJlcnNjaHVzc1tpXSkgLyAxMDA7ICAJCWZvcihpPTA7aTwxMDtpKyspIAkJICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndWViZXJzY2h1c3MnKyhpKzEpKydfcmVsJykuaW5uZXJIVE1MID0gTWF0aC5yb3VuZCgxMDAgKiB1ZWJlcnNjaHVzc1tpXSAvIGRvY3VtZW50LmVpbnNhdHouZ2VzYW10ZWluc2F0ei52YWx1ZSk7ICAJCWZvcihpPTA7aTwxMDtpKyspIAkJICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2VzYW10cXVvdGUnKyhpKzEpKS5pbm5lckhUTUwgPSBlaW5nYWJlW2ldID09IDAgPyAwIDogTWF0aC5yb3VuZCgoMTAwICogYXVzZ2FiZVtpXSAqIGVpbmdhYmVbaV0pIC8gZG9jdW1lbnQuZWluc2F0ei5nZXNhbXRlaW5zYXR6LnZhbHVlKSAvIDEwMDsgIAl9IGVsc2UgeyAgCQl2YXIgZ2VzYW10ZWluc2F0el9vcmkgPSBkb2N1bWVudC5laW5zYXR6Lmdlc2FtdGVpbnNhdHoudmFsdWUgKiAxOyAgCQl2YXIgZ2V3aWNodHVuZyA9IG5ldyBBcnJheSgxMCk7IAkJZm9yKGk9MDtpPDEwO2krKykgCQkgIGdld2ljaHR1bmdbaV0gPSAhZG9jdW1lbnQuZWluc2F0elsnZ2V3aWNodHVuZycrKGkrMSldLmNoZWNrZWQ7ICAJCWlmKCFnZXdpY2h0dW5nW21vZGUtMV0pIAkJCXJldHVybiBzdGFydF9jYWxjdWxhdGlvbigwKTsgIAkJdmFyIHVlYmVyc2NodXNzID0gbmV3IEFycmF5KDEwKTsgCQlmb3IoaT0wO2k8MTA7aSsrKSAJCSAgdWViZXJzY2h1c3NbaV0gPSBkb2N1bWVudC5laW5zYXR6Wyd1ZWJlcnNjaHVzcycrKGkrMSldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpOyAgCQl2YXIgdWViZXJzY2h1c3MgPSBwYXJzZUZsb2F0KHVlYmVyc2NodXNzW21vZGUtMV0pOyAJCWlmKHVlYmVyc2NodXNzKycnID09ICdOYU4nIHx8IHVlYmVyc2NodXNzIDw9IDApIAkJICByZXR1cm4gMDsgIAkJdmFyIHN1bSA9IDA7IAkJZm9yKGk9MDtpPDEwO2krKykgeyAgCQkgIGlmKGkgPT0gbW9kZS0xIHx8IGVpbmdhYmVbaV0gPT0gMCkgCQkgIAljb250aW51ZTsgIAkJICBpZihnZXdpY2h0dW5nW2ldKSB7IAkJCXN1bSArPSBlaW5nYWJlW2ldID09IDAgPyAwIDogMSAvIGVpbmdhYmVbaV07IAkJICB9IGVsc2UgeyAJCQlnZXNhbXRlaW5zYXR6IC09IGdlc2FtdGVpbnNhdHpfb3JpIC8gZWluZ2FiZVtpXTsgCQkgIH0gIAkJfSAgCQlpZihnZXNhbXRlaW5zYXR6ID09IDAgfHwgdWViZXJzY2h1c3MgKyBnZXNhbXRlaW5zYXR6ID09IDApIAkJCXJldHVybiAwOyAJCXZhciB4ID0gKDEgLyAoKHVlYmVyc2NodXNzICsgZ2VzYW10ZWluc2F0el9vcmkpIC8gZ2VzYW10ZWluc2F0eikpIC0gc3VtOyAgCQlpZih4ID09IDApIAkJCXJldHVybiAwOyAJCWVpbmdhYmVbbW9kZS0xXSA9IDEgLyB4OyAgCQlmb3IoaT0wO2k8MTA7aSsrKSB7ICAgICAgICAgICBpZihkb2N1bWVudC5laW5zYXR6Wydrb21taXNzaW9uJysoaSsxKV0udmFsdWUucmVwbGFjZSgvLC8sICcuJykgPiAwKSAgICAgICAgICAgICBlaW5nYWJlW2ldID0gKGVpbmdhYmVbaV0gLSAxKSAvICgxIC0gZG9jdW1lbnQuZWluc2F0elsna29tbWlzc2lvbicrKGkrMSldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpIC8gMTAwKSArIDE7IAkJICBkb2N1bWVudC5laW5zYXR6WydlaW5nYWJlJysoaSsxKV0udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGVpbmdhYmVbaV0pIC8gMTAwOyAJCSAgaWYoZG9jdW1lbnQuZWluc2F0elsnZWluZ2FiZV9sYXknKyhpKzEpXSkgCQkgICAgZG9jdW1lbnQuZWluc2F0elsnZWluZ2FiZV9sYXknKyhpKzEpXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogYmFjazJsYXkoZWluZ2FiZVtpXSkpIC8gMTAwOyAJCX0gIAkJcmV0dXJuIHN0YXJ0X2NhbGN1bGF0aW9uKDAsIG1vZGUpOyAgCX0gICAgfSAgICAgdmFyIHp1bGV0enRfZWluZ2VnZWJlbiA9IG5ldyBBcnJheSgxMCk7ICAgIGZ1bmN0aW9uIHN5c3RlbV9zdGFydCh0b2RvLCB3aGVyZSkgeyAgICAgIHZhciBxdW90ZSA9IG5ldyBBcnJheSgxMCk7ICAgICBmb3IoaT0wO2k8MTA7aSsrKSAgICAgICBxdW90ZVtpXSA9IGRvY3VtZW50LnN5c3RlbV9wbHVzWydxdW90ZScraV0udmFsdWUucmVwbGFjZSgvLC8sICcuJykucmVwbGFjZSgvXlswLl0rfFteMC05Ll0vLCAnJyk7ICAgICAgZm9yKGk9MDtpPDEwO2krKykgICAgICAgZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ3F1b3RlJytpXS52YWx1ZSA9IHF1b3RlW2ldOyAgICAgIHZhciByaWNodGlnID0gbmV3IEFycmF5KDEwKTsgICAgIGZvcihpPTA7aTwxMDtpKyspICAgICAgIHJpY2h0aWdbaV0gPSBkb2N1bWVudC5zeXN0ZW1fcGx1c1sncmljaHRpZycraV0uY2hlY2tlZDsgICAgICAgdmFyIGFuemFobF9zcGllbGUgPSAwOyAgICAgdmFyIGFrdGl2ID0gbmV3IEFycmF5KDEwKTsgICAgIGZvcihpPTA7aTwxMDtpKyspIHsgICAgICAgcXVvdGVbaV0gPSBwYXJzZUZsb2F0KHF1b3RlW2ldKTsgICAgICAgaWYoYW56YWhsX3NwaWVsZSA8IGkgfHwgcXVvdGVbaV0gPD0gMCB8fCBxdW90ZVtpXSsnJyA9PSAnTmFOJykgeyAgICAgICAgIHF1b3RlW2ldID0gJyc7ICAgICAgICAgYWt0aXZbaV0gPSBmYWxzZTsgICAgICAgfSBlbHNlIHsgICAgICAgICBhbnphaGxfc3BpZWxlKys7ICAgICAgICAgYWt0aXZbaV0gPSB0cnVlOyAgICAgICB9ICAgICB9ICAgICAgZm9yKGk9MDtpPDEwO2krKykgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N5c3RlbScraSkuaW5uZXJIVE1MID0gaSA8IGFuemFobF9zcGllbGUgPyBhbnphaGxfc3BpZWxlIDogJ3gnOyAgICAgIHZhciByZWloZW4gPSBuZXcgQXJyYXkoMTApOyAgICAgZm9yKGk9MDtpPDEwO2krKykgeyAgICAgICBpZihha3RpdltpXSkgeyAgICAgICAgIHJlaWhlbltpXSA9IChmYWt1bHRhZXQoYW56YWhsX3NwaWVsZSkgLyAoZmFrdWx0YWV0KGkgKyAxKSAqIGZha3VsdGFldChhbnphaGxfc3BpZWxlIC0gaSAtIDEpKSk7ICAgICAgIH0gZWxzZSB7ICAgICAgICAgcmVpaGVuW2ldID0gJ3gnOyAgICAgICB9ICAgICB9ICAgICAgIGlmKHRvZG8gPT0gJ3NldF9wcm9fcmVpaGUnKSAgICAgICB6dWxldHp0X2VpbmdlZ2ViZW5bd2hlcmVdID0gJ3Byb19yZWloZSc7ICAgICBlbHNlIGlmKHRvZG8gPT0gJ3NldF9laW5zYXR6JykgICAgICAgenVsZXR6dF9laW5nZWdlYmVuW3doZXJlXSA9ICdlaW5zYXR6JzsgICAgICB2YXIgZWluc2F0el9nZXNhbXQgPSAwOyAgICAgZm9yKGk9MDtpPDEwO2krKykgeyAgICAgICAgaWYoenVsZXR6dF9laW5nZWdlYmVuW2ldID09ICdwcm9fcmVpaGUnKSB7ICAgICAgICAgZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ2VpbnNhdHonK2ldLnZhbHVlID0gZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ2VpbnNhdHonK2ldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpOyAgICAgICAgIGlmKGFrdGl2W2ldKSAgICAgICAgICAgZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ3Byb19yZWloZScraV0udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGRvY3VtZW50LnN5c3RlbV9wbHVzWydlaW5zYXR6JytpXS52YWx1ZSAvIHJlaWhlbltpXSkgLyAxMDA7ICAgICAgIH0gZWxzZSBpZih6dWxldHp0X2VpbmdlZ2ViZW5baV0gPT0gJ2VpbnNhdHonKSB7ICAgICAgICAgZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ3Byb19yZWloZScraV0udmFsdWUgPSBkb2N1bWVudC5zeXN0ZW1fcGx1c1sncHJvX3JlaWhlJytpXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKTsgICAgICAgICBpZihha3RpdltpXSkgICAgICAgICAgIGRvY3VtZW50LnN5c3RlbV9wbHVzWydlaW5zYXR6JytpXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ3Byb19yZWloZScraV0udmFsdWUgKiByZWloZW5baV0pIC8gMTAwOyAgICAgICB9ICAgICAgICBpZihha3RpdltpXSkgICAgICAgICBlaW5zYXR6X2dlc2FtdCArPSBwYXJzZUZsb2F0KGRvY3VtZW50LnN5c3RlbV9wbHVzWydlaW5zYXR6JytpXS52YWx1ZSkrJycgPT0gJ05hTicgPyAwIDogcGFyc2VGbG9hdChkb2N1bWVudC5zeXN0ZW1fcGx1c1snZWluc2F0eicraV0udmFsdWUpOyAgICAgIH0gICAgICB2YXIgcmVpaGVuX2dlc2FtdCA9IDA7ICAgICBmb3IoaT0wO2k8MTA7aSsrKSB7ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWloZW4nK2kpLmlubmVySFRNTCA9IHJlaWhlbltpXTsgICAgICAgaWYoYWt0aXZbaV0gJiYgcGFyc2VGbG9hdChkb2N1bWVudC5zeXN0ZW1fcGx1c1snZWluc2F0eicraV0udmFsdWUpICE9IDAuMDApICAgICAgICAgcmVpaGVuX2dlc2FtdCArPSByZWloZW5baV07ICAgICB9ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVpaGVuX2dlc2FtdCcpLmlubmVySFRNTCA9IHJlaWhlbl9nZXNhbXQgPT0gMCA/ICd4JyA6IHJlaWhlbl9nZXNhbXQ7ICAgICAgZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ2VpbnNhdHpfZ2VzYW10J10udmFsdWUgPSBlaW5zYXR6X2dlc2FtdDsgICAgIGRvY3VtZW50LnN5c3RlbV9wbHVzWydwcm9fcmVpaGVfZ2VzYW10J10udmFsdWUgPSByZWloZW5fZ2VzYW10ID09IDAgPyAwIDogTWF0aC5yb3VuZCgxMDAgKiBlaW5zYXR6X2dlc2FtdCAvIHJlaWhlbl9nZXNhbXQpIC8gMTAwOyAgICAgICB2YXIgcHJvX3JlaWhlID0gbmV3IEFycmF5KDEwKTsgICAgIGZvcihpPTA7aTwxMDtpKyspIHsgICAgICAgcHJvX3JlaWhlW2ldID0gcGFyc2VGbG9hdChkb2N1bWVudC5zeXN0ZW1fcGx1c1sncHJvX3JlaWhlJytpXS52YWx1ZSk7ICAgICAgIGlmKHByb19yZWloZVtpXSA9PSAnTmFOJykgICAgICAgICBha3RpdltpXSA9IGZhbHNlOyAgICAgfSAgICAgICBmdW5jdGlvbiBjeWNsZShzdGVwLCBrb21iaXF1b3RlLCBjb3VudF9yaWNodGlnKSB7ICAgICAgICBzdGVwKys7ICAgICAgICBpZihzdGVwIDwgYW56YWhsX3NwaWVsZSAmJiBjb3VudF9yaWNodGlnIDwgKGkgKyAxKSkgeyAgICAgICAgICBjeWNsZShzdGVwLCBrb21iaXF1b3RlLCBjb3VudF9yaWNodGlnKTsgICAgICAgICBpZihha3RpdltzdGVwXSAmJiByaWNodGlnW3N0ZXBdKSAgICAgICAgICAgY3ljbGUoc3RlcCwga29tYmlxdW90ZSAqIHF1b3RlW3N0ZXBdLCBjb3VudF9yaWNodGlnICsgMSk7ICAgICAgICB9IGVsc2UgaWYoY291bnRfcmljaHRpZyA9PSAoaSArIDEpKSB7ICAgICAgICAgIGdld2lubltpXSArPSBrb21iaXF1b3RlICogcHJvX3JlaWhlW2ldOyAgICAgICAgfSAgICAgIH0gICAgICB2YXIgZ2V3aW5uID0gbmV3IEFycmF5KDEwKTsgICAgIHZhciBnZXdpbm5fZ2VzYW10ID0gMDsgICAgIGZvcihpPTA7aTwxMDtpKyspIHsgICAgICAgIGdld2lubltpXSA9IDA7ICAgICAgIGN5Y2xlKC0xLCAxLCAwKTsgICAgICAgaWYoYWt0aXZbaV0pICAgICAgICAgZ2V3aW5uW2ldIC09IHBhcnNlRmxvYXQoZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ2VpbnNhdHonK2ldLnZhbHVlKTsgICAgICAgaWYoZ2V3aW5uW2ldKycnID09ICdOYU4nKSAgICAgICAgIGdld2lubltpXSA9IDA7ICAgICAgIGdld2lubl9nZXNhbXQgKz0gZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ2dld2lubicraV0udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGdld2lubltpXSkgLyAxMDA7ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnZXdpbm5fcHJvemVudCcraSkuaW5uZXJIVE1MID0gZ2V3aW5uW2ldID09IDAgPyAnKDAlKScgOiAnKCcgKyAoTWF0aC5yb3VuZCgxMDAwICogZ2V3aW5uW2ldIC8gcGFyc2VGbG9hdChkb2N1bWVudC5zeXN0ZW1fcGx1c1snZWluc2F0eicraV0udmFsdWUpKSAvIDEwKSArICclKSc7ICAgICAgfSAgICAgZG9jdW1lbnQuc3lzdGVtX3BsdXNbJ2dld2lubl9nZXNhbXQnXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogZ2V3aW5uX2dlc2FtdCkgLyAxMDA7ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2V3aW5uX2dlc2FtdF9wcm96ZW50JykuaW5uZXJIVE1MID0gZ2V3aW5uX2dlc2FtdCA9PSAwID8gJygwJSknIDogJygnICsgKE1hdGgucm91bmQoMTAwMCAqIGdld2lubl9nZXNhbXQgLyBlaW5zYXR6X2dlc2FtdCkgLyAxMCkgKyAnJSknOyAgICB9ICAgICB2YXIgZWluc2F0el9lbXBmZWhsdW5nX3p1bGV0enRfZWluZ2VnZWJlbiA9ICdiYWNrJzsgICAgZnVuY3Rpb24gZWluc2F0el9lbXBmZWhsdW5nX3N0YXJ0KG1vZGVfYmwpIHsgICAgICBpZihtb2RlX2JsID09ICdsYXknKSB7ICAgICAgIGVpbnNhdHpfZW1wZmVobHVuZ196dWxldHp0X2VpbmdlZ2ViZW4gPSAnbGF5JzsgICAgICAgZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLnF1b3RlLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiBiYWNrMmxheShkb2N1bWVudC5laW5zYXR6X2VtcGZlaGx1bmcucXVvdGVfbGF5LnZhbHVlLnJlcGxhY2UoLywvLCAnLicpKSkgLyAxMDA7ICAgICB9IGVsc2UgaWYobW9kZV9ibCA9PSAnYmFjaycpIHsgICAgICAgZWluc2F0el9lbXBmZWhsdW5nX3p1bGV0enRfZWluZ2VnZWJlbiA9ICdiYWNrJzsgICAgICAgZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLnF1b3RlX2xheS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogYmFjazJsYXkoZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLnF1b3RlLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpKSkgLyAxMDA7ICAgICB9ICAgICAgaWYoZWluc2F0el9lbXBmZWhsdW5nX3p1bGV0enRfZWluZ2VnZWJlbiA9PSAnYmFjaycpICAgICAgIHZhciBxdW90ZSA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLnF1b3RlLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpKTsgICAgIGVsc2UgICAgICAgdmFyIHF1b3RlID0gYmFjazJsYXkocGFyc2VGbG9hdChkb2N1bWVudC5laW5zYXR6X2VtcGZlaGx1bmcucXVvdGVfbGF5LnZhbHVlLnJlcGxhY2UoLywvLCAnLicpKSk7ICAgICBpZihxdW90ZSsnJyA9PSAnTmFOJyB8fCBxdW90ZSA8PSAxKSAgICAgICByZXR1cm4gMDsgICAgICB2YXIgZ2VzYW10a2FwaXRhbCA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLmdlc2FtdGthcGl0YWwudmFsdWUucmVwbGFjZSgvLC8sICcuJykpOyAgICAgICBpZihnZXNhbXRrYXBpdGFsKycnID09ICdOYU4nKSAgICAgICAgIHJldHVybiAwOyAgICAgdmFyIHdhaHJzY2hlaW5saWNoa2VpdCA9IHBhcnNlRmxvYXQoZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLndhaHJzY2hlaW5saWNoa2VpdC52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSkgLyAxMDA7ICAgICAgIGlmKHdhaHJzY2hlaW5saWNoa2VpdCsnJyA9PSAnTmFOJykgICAgICAgICByZXR1cm4gMDsgICAgICBpZihxdW90ZSA8PSAxKSAgICAgICByZXR1cm4gMDsgICAgIHZhciBlbXBmb2hsZW5lcl9laW5zYXR6X3Byb3plbnQgPSAod2FocnNjaGVpbmxpY2hrZWl0ICogcXVvdGUgLSAxKSAvIChxdW90ZSAtIDEpOyAgICAgaWYoZW1wZm9obGVuZXJfZWluc2F0el9wcm96ZW50IDw9IDApIHsgICAgICAgZW1wZm9obGVuZXJfZWluc2F0el9wcm96ZW50ID0gMDsgICAgICAgdmFyIGVtcGZvaGxlbmVyX2VpbnNhdHogPSAwOyAgICAgICB2YXIgcmVhbGdld2lubiA9IDA7ICAgICB9IGVsc2UgeyAgICAgICB2YXIgZW1wZm9obGVuZXJfZWluc2F0eiA9IGdlc2FtdGthcGl0YWwgKiBlbXBmb2hsZW5lcl9laW5zYXR6X3Byb3plbnQ7ICAgICAgIHZhciByZWFsZ2V3aW5uID0gKGVtcGZvaGxlbmVyX2VpbnNhdHogKiBxdW90ZSAqIHdhaHJzY2hlaW5saWNoa2VpdCkgLSBlbXBmb2hsZW5lcl9laW5zYXR6OyAgICAgfSAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbXBmb2hsZW5lcl9laW5zYXR6X3Byb3plbnQnKS5pbm5lckhUTUwgPSAnKCcrKE1hdGgucm91bmQoMTAwMDAgKiBlbXBmb2hsZW5lcl9laW5zYXR6X3Byb3plbnQpIC8gMTAwKSsnJSknOyAgICAgZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLmVtcGZvaGxlbmVyX2VpbnNhdHoudmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGVtcGZvaGxlbmVyX2VpbnNhdHopIC8gMTAwOyAgICAgaWYoZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLmVtcGZvaGxlbmVyX2VpbnNhdHpfbGF5KSAgICAgICBkb2N1bWVudC5laW5zYXR6X2VtcGZlaGx1bmcuZW1wZm9obGVuZXJfZWluc2F0el9sYXkudmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIChxdW90ZSAqIGVtcGZvaGxlbmVyX2VpbnNhdHogLSBlbXBmb2hsZW5lcl9laW5zYXR6KSkgLyAxMDA7OyAgICAgZG9jdW1lbnQuZWluc2F0el9lbXBmZWhsdW5nLnJlYWxnZXdpbm4udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIHJlYWxnZXdpbm4pIC8gMTAwOyAgICB9ICAgICB2YXIgZ3JlZW53b29kX3p1bGV0enRfZWluZ2VnZWJlbiA9IG5ldyBBcnJheSg1KTsgICBmb3IoaT0wO2k8NTtpKyspICAgICBncmVlbndvb2RfenVsZXR6dF9laW5nZWdlYmVuW2ldID0gJ2JhY2snOyAgICBmdW5jdGlvbiBncmVlbndvb2Rfc3RhcnQobW9kZV9ibCwgd2hlcmUpIHsgICAgICBpZihtb2RlX2JsID09ICdsYXknKSB7ICAgICAgIGdyZWVud29vZF96dWxldHp0X2VpbmdlZ2ViZW5bd2hlcmVdID0gJ2xheSc7ICAgICAgIGRvY3VtZW50LmdyZWVud29vZFsncXVvdGUnKyh3aGVyZSldLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiBiYWNrMmxheShkb2N1bWVudC5ncmVlbndvb2RbJ3F1b3RlX2xheScrKHdoZXJlKV0udmFsdWUucmVwbGFjZSgvLC8sICcuJykpKSAvIDEwMDsgICAgIH0gZWxzZSBpZihtb2RlX2JsID09ICdiYWNrJykgeyAgICAgICBncmVlbndvb2RfenVsZXR6dF9laW5nZWdlYmVuW3doZXJlXSA9ICdiYWNrJzsgICAgICAgZG9jdW1lbnQuZ3JlZW53b29kWydxdW90ZV9sYXknKyh3aGVyZSldLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiBiYWNrMmxheShkb2N1bWVudC5ncmVlbndvb2RbJ3F1b3RlJysod2hlcmUpXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSkpIC8gMTAwOyAgICAgfSAgICAgICB2YXIgZ2V3aW5uemllbCA9IG5ldyBBcnJheSg1KTsgICAgIGdld2lubnppZWxbMF0gPSBwYXJzZUZsb2F0KGRvY3VtZW50LmdyZWVud29vZFsnZ2V3aW5uemllbDAnXS52YWx1ZS5yZXBsYWNlKC8sLywgJy4nKSk7ICAgICAgIGlmKGdld2lubnppZWxbMF0rJycgPT0gJ05hTicpICAgICAgICAgcmV0dXJuIDA7ICAgICAgdmFyIHF1b3RlID0gbmV3IEFycmF5KDUpOyAgICAgZm9yKGk9MDtpPDU7aSsrKSB7ICAgICAgIHF1b3RlW2ldID0gZ3JlZW53b29kX3p1bGV0enRfZWluZ2VnZWJlbltpXSA9PSAnYmFjaycgPyBwYXJzZUZsb2F0KGRvY3VtZW50LmdyZWVud29vZFsncXVvdGUnK2ldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpKSA6IGJhY2sybGF5KHBhcnNlRmxvYXQoZG9jdW1lbnQuZ3JlZW53b29kWydxdW90ZV9sYXknK2ldLnZhbHVlLnJlcGxhY2UoLywvLCAnLicpKSk7ICAgICAgICAgaWYocXVvdGVbaV0rJycgPT0gJ05hTicgfHwgcXVvdGVbaV0gPD0gMSkgICAgICAgICAgIHJldHVybiAwOyAgICAgfSAgICAgIHZhciBlaW5zYXR6ID0gbmV3IEFycmF5KDUpOyAgICAgZWluc2F0elswXSA9IGdld2lubnppZWxbMF0gLyAocXVvdGVbMF0gLSAxKTsgICAgICB2YXIgZ2VzYW10ZWluc2F0eiA9IG5ldyBBcnJheSg1KTsgICAgIGdlc2FtdGVpbnNhdHpbMF0gPSBlaW5zYXR6WzBdOyAgICAgIGRvY3VtZW50LmdyZWVud29vZFsnZWluc2F0ejAnXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogZWluc2F0elswXSkgLyAxMDA7ICAgICBkb2N1bWVudC5ncmVlbndvb2RbJ2dlc2FtdGVpbnNhdHowJ10udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGdlc2FtdGVpbnNhdHpbMF0pIC8gMTAwOyAgICAgaWYoZG9jdW1lbnQuZ3JlZW53b29kWydlaW5zYXR6X2xheTAnXSkgICAgICAgZG9jdW1lbnQuZ3JlZW53b29kWydlaW5zYXR6X2xheTAnXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogKHF1b3RlWzBdICogZWluc2F0elswXSAtIGVpbnNhdHpbMF0pKSAvIDEwMDsgICAgICBmb3IoaT0xO2k8NTtpKyspIHsgICAgICAgIGdld2lubnppZWxbaV0gPSBnZXdpbm56aWVsWzBdICsgZ2VzYW10ZWluc2F0eltpLTFdOyAgICAgICBkb2N1bWVudC5ncmVlbndvb2RbJ2dld2lubnppZWwnK2ldLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiBnZXdpbm56aWVsW2ldKSAvIDEwMDsgICAgICAgIGVpbnNhdHpbaV0gPSBnZXdpbm56aWVsW2ldIC8gKHF1b3RlW2ldIC0gMSk7ICAgICAgIGRvY3VtZW50LmdyZWVud29vZFsnZWluc2F0eicraV0udmFsdWUgPSBNYXRoLnJvdW5kKDEwMCAqIGVpbnNhdHpbaV0pIC8gMTAwOyAgICAgICBpZihkb2N1bWVudC5ncmVlbndvb2RbJ2VpbnNhdHpfbGF5JytpXSkgICAgICAgICBkb2N1bWVudC5ncmVlbndvb2RbJ2VpbnNhdHpfbGF5JytpXS52YWx1ZSA9IE1hdGgucm91bmQoMTAwICogKHF1b3RlW2ldICogZWluc2F0eltpXSAtIGVpbnNhdHpbaV0pKSAvIDEwMDsgICAgICAgIGdlc2FtdGVpbnNhdHpbaV0gPSBnZXNhbXRlaW5zYXR6W2ktMV0gKyBlaW5zYXR6W2ldOyAgICAgICBkb2N1bWVudC5ncmVlbndvb2RbJ2dlc2FtdGVpbnNhdHonK2ldLnZhbHVlID0gTWF0aC5yb3VuZCgxMDAgKiBnZXNhbXRlaW5zYXR6W2ldKSAvIDEwMDsgICAgICB9ICAgIH0=')); // document.write(encode("###"));