IiBNZW51IFRyYW5zbGF0aW9uczoJR2VybWFuIC8gRGV1dHNjaAoiIE1haW50YWluZXI6CQlHZW9yZyBEYWhuIDxnb3JneWRAeWFob28uY28udWs+CiIgT3JpZ2luYWxseSBCeToJTWFyY2luIERhbGVja2kgPGRhbGVja2lAY3MubmV0LnBsPgoiCQkJSm9oYW5uZXMgWmVsbG5lciA8am9oYW5uZXNAemVsbG5lci5vcmc+CiIgTGFzdCBDaGFuZ2U6CVNhdCwgMTEgTWFyIDIwMDYgMjI6NDA6MDAgQ0VTVAoiIHZpbTpzZXQgZm9sZG1ldGhvZD1tYXJrZXIgdGFic3RvcD04OgoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCiAgZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKCiIgVGhlIHRyYW5zbGF0aW9ucyBiZWxvdyBhcmUgaW4gbGF0aW4xLCBidXQgdGhleSB3b3JrIGZvciBjcDEyNTIgYW5kCiIgaXNvLTg4NTktMTUgd2l0aG91dCBjb252ZXJzaW9uIGFzIHdlbGwuCmlmICZlbmMgIT0gImNwMTI1MiIgJiYgJmVuYyAhPSAiaXNvLTg4NTktMTUiCiAgc2NyaXB0ZW5jb2RpbmcgbGF0aW4xCmVuZGlmCgoiIHt7eyBGSUxFIC8gREFURUkKbWVudXRyYW5zICZGaWxlCQkJCSZEYXRlaQptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQkm1mZmbmVuXC5cLlwuPFRhYj46ZQptZW51dHJhbnMgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAlJblwgZ2V0ZWlsdGVtXCAmRmVuc3Rlclwg9mZmbmVuXC5cLlwuPFRhYj46c3AKbWVudXRyYW5zIE9wZW5cIFRhYlwuXC5cLjxUYWI+OnRhYm5ldwlJblwgbmV1ZW1cICZUYWJcIPZmZm5lblwuXC5cLjxUYWI+OnRhYm5ldwptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOZXVlXCBEYXRlaTxUYWI+OmVuZXcKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQlTJmNobGll32VuPFRhYj46Y2xvc2UKbWVudXRyYW5zICZTYXZlPFRhYj46dwkJCSZTcGVpY2hlcm48VGFiPjp3Cm1lbnV0cmFucyBTYXZlXCAmQXNcLlwuXC48VGFiPjpzYXYJU3BlaWNoZXJuXCAmYWxzXC5cLlwuPFRhYj46c2F2Cm1lbnV0cmFucyAmUHJpbnQJCQkmRHJ1Y2tlbgptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJU3BlaWNoZXJuXCB1bmRcIEJlJmVuZGVuPFRhYj46d3FhCm1lbnV0cmFucyBFJnhpdDxUYWI+OnFhCQkJJkJlZW5kZW48VGFiPjpxYQoKaWYgaGFzKCJkaWZmIikKICAgIG1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JRCZpZmZlcmVuelwgaW5cIGdldGVpbHRlbVwgRmVuc3RlclwgbWl0XC5cLlwuCiAgICBtZW51dHJhbnMgU3BsaXRcIFBhdGNoZWRcICZCeVwuXC5cLgkmUGF0Y2hcIGluXCBnZXRlaWx0ZW1cIEZlbnN0ZXJcIG1pdFwuXC5cLgplbmRpZgoiIH19fSBGSUxFIC8gREFURUkKCiIge3t7IEVESVQgLyBFRElUSUVSRU4KbWVudXRyYW5zICZFZGl0CQkJCSZFZGl0aWVyZW4KbWVudXRyYW5zICZVbmRvPFRhYj51CQkJWiZ1cvxjazxUYWI+dQptZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJVm8mcjxUYWI+XlIKbWVudXRyYW5zIFJlcCZlYXQ8VGFiPlwuCQkmV2llZGVyaG9sZW48VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQkmQXVzc2NobmVpZGVuPFRhYj4iK3gKbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQkmS29waWVyZW48VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQlFaW4mZvxnZW48VGFiPiIrZ1AKbWVudXRyYW5zIFB1dFwgJkJlZm9yZTxUYWI+W3AJCURhJnZvclwgZWluZvxnZW48VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCURhJm5hY2hcIGVpbmb8Z2VuPFRhYj5dcAptZW51dHJhbnMgJkRlbGV0ZTxUYWI+eAkJCSZM9nNjaGVuPFRhYj54Cm1lbnV0cmFucyAmU2VsZWN0XCBBbGw8VGFiPmdnVkcJCUFsbGVzXCAmbWFya2llcmVuPFRhYj5nZ1ZHCm1lbnV0cmFucyAmRmluZFwuXC5cLgkJCSZTdWNoZW5cLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JU3VjaGVuXCB1bmRcICZFcnNldHplblwuXC5cLgoKIiBbLS0gU0VUVElOR1MgLS1dCiIgWFhYICZFIHdvdWxkIGNvbmZsaWN0IHdpdGggJ1N1Y2hlblwgdW5kXCAmRXJzZXR6ZW4nLCBzZWUgYWJvdmUKbWVudXRyYW5zIFNldHRpbmdzXCAmV2luZG93CQkJCUUmaW5zdGVsbHVuZ2VuXC5cLlwuCm1lbnV0cmFucyAmR2xvYmFsXCBTZXR0aW5ncwkJCQkmR2xvYmFsZVwgRWluc3RlbGx1bmdlbgptZW51dHJhbnMgU3RhcnR1cFwgJlNldHRpbmdzCQkJCSZTdGFydGVpbnN0ZWxsdW5nZW4KCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJJkhlcnZvcmhlYnVuZ2VuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBobHMhCm1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCQlHcm/fc2NocmVpYnVuZ1wgJmlnbm9yaWVyZW5cIG9kZXJcIGJlbnV0emVuPFRhYj46c2V0XCBpYyEKbWVudXRyYW5zIFRvZ2dsZVwgJlNob3dtYXRjaDxUYWI+OnNldFwgc20hCQlBbnplaWdlXCBkZXNcIHBhc3NlbmRlblwgJlN5bWJvbHNcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIHNtIQoKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJCQkmWnVzYW1tZW5oYW5nCgptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCQkJJlZpcnR1ZWxsZXJcIEVkaXRpZXItTW9kdXMKbWVudXRyYW5zIE5ldmVyCQkJCQkJTmllCm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCUJsb2NrLUF1c3dhaGwKbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQkJRWluZvxnZS1Nb2R1cwptZW51dHJhbnMgQmxvY2tcIGFuZFwgSW5zZXJ0CQkJCUJsb2NrLUF1c3dhaGxcIHVuZFwgRWluZvxnZS1Nb2R1cwptZW51dHJhbnMgQWx3YXlzCQkJCQlJbW1lcgptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJCUVpbmb8Z2UtJk1vZHVzXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBpbSEKbWVudXRyYW5zIFRvZ2dsZVwgVmlcIEMmb21wYXRpYmxlPFRhYj46c2V0XCBjcCEJCVZpLUtvbXBhdGliaWxpdOR0XCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBjcCEKCm1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQkJCVN1Y2gtJlBmYWRcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJCVRhJmctRGF0ZWllblwuXC5cLgoKbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQkJV2Vya3pldWdsZWlzdGVcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW4KbWVudXRyYW5zIFRvZ2dsZVwgJkJvdHRvbVwgU2Nyb2xsYmFyCQkJVW50ZXJlblwgUm9sbGJhbGtlblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbgptZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJTGlua2VuXCBSb2xsYmFsa2VuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJUmVjaHRlblwgUm9sbGJhbGtlblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbgoKIiBFZGl0L0ZpbGUgU2V0dGluZ3MKbWVudXRyYW5zIEYmaWxlXCBTZXR0aW5ncwkJCQkmRGF0ZWktRWluc3RlbGx1bmdlbgoKIiBCb29sZWFuIG9wdGlvbnMKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCQlBbnplaWdlXCBkZXJcIFplaWxlbiZudW1tZXJcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIG51IQptZW51dHJhbnMgVG9nZ2xlXCByZWxhdGkmdmVcIExpbmVcIE51bWJlcmluZzxUYWI+OnNldFwgcm51IQlBbnplaWdlXCBkZXJcIHJlbGF0aSZ2ZW5cIFplaWxlbm51bW1lclwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgcm51IQptZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCQkmTGlzdC1Nb2R1c1wgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgbGlzdCEKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJldyYXA8VGFiPjpzZXRcIHdyYXAhCQkJJlplaWxlbnVtYnJ1Y2hcIGVpbi1cIHVuZFwgYXVzc2NoYWx0ZW48VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQkJVW1icnVjaFwgYW5cICZXb3J0Z3JlbnplblwgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgbGJyIQptZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCQkJJkVyd2VpdGVydW5nXCB2b25cIFRhYnVsYXRvcmVuXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBldCEKbWVudXRyYW5zIFRvZ2dsZVwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEJCQkmQXV0b21hdGlzY2hlXCBFaW5y/GNrdW5nXCBlaW4tXCB1bmRcIGF1c3NjaGFsdGVuPFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQkJJkMtRWlucvxja3VuZ1wgZWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+OnNldFwgY2luIQoKIiBvdGhlciBvcHRpb25zCm1lbnV0cmFucyAmU2hpZnR3aWR0aAkJCQkJJlNjaGllYmV3ZWl0ZQptZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCQkJJlRhYnVsYXRvcgptZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQkJCVRlJnh0YnJlaXRlXC5cLlwuCm1lbnV0cmFucyAmRmlsZVwgRm9ybWF0XC5cLlwuCQkJCSZEYXRlaWZvcm1hdFwuXC5cLgptZW51dHJhbnMgQyZvbG9yXCBTY2hlbWUJCQkJRiZhcmJzY2hlbWFcLlwuXC4KbWVudXRyYW5zICZLZXltYXAJCQkJCSZUYXN0YXR1cmJlbGVndW5nCiIgfX19IEVESVQgLyBFRElUSUVSRU4KCiIge3t7ICBUT09MUyAvIFdFUktaRVVHRQppZiBoYXMoInNwZWxsIikKICAgIG1lbnV0cmFucyAmU3BlbGxpbmcJCQkJCSZSZWNodHNjaHJlaWJ1bmcKICAgIG1lbnV0cmFucyAmU3BlbGxcIENoZWNrXCBPbgkJCQkmUmVjaHRzY2hyZWlicHL8ZnVuZ1wgYW4KICAgIG1lbnV0cmFucyBTcGVsbFwgQ2hlY2tcICZPZmYJCQlSZWNodHNjaHJlaWJwcvxmdW5nXCAmYXVzCiAgICBtZW51dHJhbnMgVG9cICZOZXh0XCBlcnJvcjxUYWI+XXMJCQladW1cICZu5GNoc3RlblwgRmVobGVyPFRhYj5dcwogICAgbWVudXRyYW5zIFRvXCAmUHJldmlvdXNcIGVycm9yPFRhYj5bcwkJWnVtXCAmdm9yaGVyaWdlblwgRmVobGVyPFRhYj5bcwogICAgbWVudXRyYW5zIFN1Z2dlc3RcICZDb3JyZWN0aW9uczxUYWI+ej0JCSZLb3JyZWt0dXJ2b3JzY2hs5GdlPFRhYj56PQogICAgbWVudXRyYW5zICZSZXBlYXRcIGNvcnJlY3Rpb248VGFiPjpzcGVsbHJlcGFsbAkmV2llZGVyaG9sZVwgS29ycmVrdHVyPFRhYj46c3BlbGxyZXBhbGwKICAgIG1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuIgkJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZW4iCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9hdSIJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZW5fYXUiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9jYSIJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZW5fY2EiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9nYiIJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZW5fZ2IiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9ueiIJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZW5fbnoiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl91cyIJCVZlcndlbmRlXCBX9nJ0ZXJidWNoXCAiZW5fdXMiCiAgICBtZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJkZSIJCQlWZXJ3ZW5kZVwgV/ZydGVyYnVjaFwgImRlIgogICAgbWVudXRyYW5zICZGaW5kXCBNb3JlXCBMYW5ndWFnZXMJCQkmU3VjaGVcIG5hY2hcIFf2cnRlcmL8Y2hlcm4KZW5kaWYKaWYgaGFzKCJmb2xkaW5nIikKICBtZW51dHJhbnMgJkZvbGRpbmcJCQkJCUZhJmx0dW5nCiAgIiBvcGVuIGNsb3NlIGZvbGRzCiAgbWVudXRyYW5zICZFbmFibGUvRGlzYWJsZVwgZm9sZHM8VGFiPnppCQkmRWluLVwgdW5kXCBhdXNzY2hhbHRlbjxUYWI+emkKICBtZW51dHJhbnMgJlZpZXdcIEN1cnNvclwgTGluZTxUYWI+enYJCQlNb21lbnRhbmVcICZQb3NpdGlvblwgYW56ZWlnZW48VGFiPnp2CiAgbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNengJCSZBdXNzY2hsaWXfbGljaFwgbW9tZW50YW5lXCBQb3NpdGlvblwgYW56ZWlnZW48VGFiPnpNengKICBtZW51dHJhbnMgQyZsb3NlXCBtb3JlXCBmb2xkczxUYWI+em0JCQlGYWx0dW5nZW5cICZzY2hsaWXfZW48VGFiPnptCiAgbWVudXRyYW5zICZDbG9zZVwgYWxsXCBmb2xkczxUYWI+ek0JCQlBbGxlXCBGYWx0dW5nZW5cIHNjaGxpZd9lbjxUYWI+ek0KICBtZW51dHJhbnMgTyZwZW5cIG1vcmVcIGZvbGRzPFRhYj56cgkJCUZhbHR1bmdlblwgJvZmZm5lbjxUYWI+enIKICBtZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCQkJQWxsZVwgRmFsdHVuZ2VuXCD2ZmZuZW48VGFiPnpSCiAgIiBmb2xkIG1ldGhvZAogIG1lbnV0cmFucyBGb2xkXCBNZXQmaG9kCQkJCUZhbHR1bmdzLSZNZXRob2RlCiAgbWVudXRyYW5zIE0mYW51YWwJCQkJCSZNYW51ZWxsCiAgbWVudXRyYW5zIEkmbmRlbnQJCQkJCSZFaW5y/GNrdW5nZW4KICBtZW51dHJhbnMgRSZ4cHJlc3Npb24JCQkJCSZBdXNkcnVjawogIG1lbnV0cmFucyBTJnludGF4CQkJCQkmU3ludGF4CiAgbWVudXRyYW5zICZEaWZmCQkJCQkmRGlmZmVyZW56CiAgbWVudXRyYW5zIE1hJnJrZXIJCQkJCU1hJnJraWVydW5nZW4KICAiIGNyZWF0ZSBhbmQgZGVsZXRlIGZvbGRzCiAgIiBUT0RPIGFjY2VsZXJhdG9ycwogIG1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJCUZhbHR1bmdcIGVyemV1Z2VuPFRhYj56ZgogIG1lbnV0cmFucyAmRGVsZXRlXCBGb2xkPFRhYj56ZAkJCUZhbHR1bmdcIGz2c2NoZW48VGFiPnpkCiAgbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECQkJQWxsZVwgRmFsdHVuZ2VuXCBs9nNjaGVuPFRhYj56RAogICIgbW92aW5nIGFyb3VuZCBpbiBmb2xkcwogIG1lbnV0cmFucyBGb2xkXCBjb2x1bW5cICZ3aWR0aAkJCSZCcmVpdGVcIGRlclwgRmFsdHVuZ3NzcGFsdGUKZW5kaWYgICIgaGFzIGZvbGRpbmcKCmlmIGhhcygiZGlmZiIpCiAgbWVudXRyYW5zICZEaWZmCQkJCQkmRGlmZmVyZW56CiAgbWVudXRyYW5zICZVcGRhdGUJCQkJCSZBa3R1YWxpc2llcmVuCiAgbWVudXRyYW5zICZHZXRcIEJsb2NrCQkJCQlCbG9ja1wgJmVpbmb8Z2VuCiAgbWVudXRyYW5zICZQdXRcIEJsb2NrCQkJCQlCbG9ja1wgJvxiZXJ0cmFnZW4KZW5kaWYKCm1lbnV0cmFucyAmVG9vbHMJCQkJCSZXZXJremV1Z2UKbWVudXRyYW5zICZKdW1wXCB0b1wgdGhpc1wgdGFnPFRhYj5nXl0JCQkmU3ByaW5nZVwgenVtXCBUYWc8VGFiPmdeXQptZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQkJCVNwcmluZ2VcICZ6dXL8Y2s8VGFiPl5UCm1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCQkJRXJzdGVsbGVcICZUYWctRGF0ZWkKbWVudXRyYW5zICZNYWtlPFRhYj46bWFrZQkJCQkmRXJzdGVsbGVuPFRhYj46bWFrZQptZW51dHJhbnMgJkxpc3RcIEVycm9yczxUYWI+OmNsCQkJCSZGZWhsZXJcIGFuemVpZ2VuPFRhYj46Y2wKbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQkJCSZIaW53ZWlzZVwgYW56ZWlnZW48VGFiPjpjbCEKbWVudXRyYW5zICZOZXh0XCBFcnJvcjxUYWI+OmNuCQkJCVp1bVwgJm7kY2hzdGVuXCBGZWhsZXI8VGFiPjpjbgptZW51dHJhbnMgJlByZXZpb3VzXCBFcnJvcjxUYWI+OmNwCQkJWnVtXCAmdm9yaGVyaWdlblwgRmVobGVyPFRhYj46Y3AKbWVudXRyYW5zICZPbGRlclwgTGlzdDxUYWI+OmNvbGQJCQkmxGx0ZXJlXCBMaXN0ZTxUYWI+OmNvbGQKbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJCQkmTmV1ZXJlXCBMaXN0ZTxUYWI+OmNuZXcKCm1lbnV0cmFucyBFcnJvclwgJldpbmRvdwkJCQlGZWgmbGVyLUZlbnN0ZXIKbWVudXRyYW5zIFNlJnRcIENvbXBpbGVyCQkJCSZDb21waWxlcgptZW51dHJhbnMgU2UmVFwgQ29tcGlsZXIJCQkJJkNvbXBpbGVyCm1lbnV0cmFucyAmVXBkYXRlPFRhYj46Y3dpbgkJCQkmQWt0dWFsaXNpZXJlbjxUYWI+OmN3aW4KbWVudXRyYW5zICZPcGVuPFRhYj46Y29wZW4JCQkJJtZmZm5lbjxUYWI+OmNvcGVuCm1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJCQkJJlNjaGxpZd9lbjxUYWI+OmNjbG9zZQoKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJCQlOYWNoXCBIRSZYXCBrb252ZXJ0aWVyZW48VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIJCQladXL8Y2tcIGtvbnZlcnRpZXJlbjxUYWI+OiUheHhkXCAtcgoiIH19fSAgVE9PTFMgLyBXRVJLWkVVR0UKCiIge3t7IFNZTlRBWCAvIFNZTlRBWAptZW51dHJhbnMgJlN5bnRheAkJCQkmU3ludGF4Cm1lbnV0cmFucyAmU2hvd1wgZmlsZXR5cGVzXCBpblwgbWVudQkJRGF0ZWl0eXBlblwgYW4memVpZ2VuCm1lbnV0cmFucyBTZXRcICcmc3ludGF4J1wgb25seQkJCU51clwgJyZzeW50YXgnXCBzZXR6ZW4KbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkJCUF1Y2hcICcmZmlsZXR5cGUnXCBzZXR6ZW4KbWVudXRyYW5zICZPZmYJCQkJCSZBdXMKbWVudXRyYW5zICZNYW51YWwJCQkJJk1hbnVlbGwKbWVudXRyYW5zIEEmdXRvbWF0aWMJCQkJQSZ1dG9tYXRpc2NoCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJCUFuL0F1cyAoZGllc2VcICZEYXRlaSkKbWVudXRyYW5zIENvJmxvclwgdGVzdAkJCQlUZXN0XCBkZXJcIEZhcmJlbgptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkJCVRlc3RcIGRlclwgVW4mdGVyc3RyZWljaHVuZ2VuCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhUTUwJCQlLb252ZXJ0aWVyZW5cIG5hY2hcICZIVE1MCiIgfX19IFNZTlRBWCAvIFNZTlRBWAoKIiB7e3sgQlVGRkVSUyAvIFBVRkZFUgptZW51dHJhbnMgJkJ1ZmZlcnMJCQkJCSZQdWZmZXIKbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CQkJCSZBa3R1YWxpc2llcmVuCm1lbnV0cmFucyBEZWxldGUJCQkJCUz2c2NoZW4KbWVudXRyYW5zICZBbHRlcm5hdGUJCQkJCSZXZWNoc2VsbgptZW51dHJhbnMgJk5leHQJCQkJCQkmTuRjaHN0ZXIKbWVudXRyYW5zICZQcmV2aW91cwkJCQkJJlZvcmhlcmlnZXIKIiB9fX0gQlVGRkVSUyAvIFBVRkZFUgoKIiB7e3sgV0lORE9XIC8gQU5TSUNIVAptZW51dHJhbnMgJldpbmRvdwkJCSZBbnNpY2h0Cm1lbnV0cmFucyAmTmV3PFRhYj5eV24JCQkmTmV1PFRhYj5eV24KbWVudXRyYW5zIFMmcGxpdDxUYWI+XldzCQlBdWZzJnBhbHRlbjxUYWI+XldzCm1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5XdgkmVmVydGlrYWxcIGF1ZnNwYWx0ZW48VGFiPl5XdgptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcglWZXImemVpY2huaXMKbWVudXRyYW5zIFNwJmxpdFwgVG9cICM8VGFiPl5XXl4JQXVmc3BhJmx0ZW5cIGluXCAjPFRhYj5eV15eCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJJlNjaGxpZd9lbjxUYWI+XldjCm1lbnV0cmFucyBDbG9zZVwgJk90aGVyKHMpPFRhYj5eV28JJkFuZGVyZVwgc2NobGll32VuPFRhYj5eV28KbWVudXRyYW5zIE5lJnh0PFRhYj5eV3cJCQlOJuRjaHN0ZXM8VGFiPl5XdwptZW51dHJhbnMgUCZyZXZpb3VzPFRhYj5eV1cJCVZvciZoZXJpZ2VzPFRhYj5eV1cKbWVudXRyYW5zICZFcXVhbFwgU2l6ZTxUYWI+Xlc9CQkmR2xlaWNoZVwgSPZoZW48VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCSZNYXhpbWFsZVwgSPZoZTxUYWI+XldfCm1lbnV0cmFucyBNJmluXCBIZWlnaHQ8VGFiPl5XMV8JCU0maW5pbWFsZVwgSPZoZTxUYWI+XlcxXwptZW51dHJhbnMgTWF4XCAmV2lkdGg8VGFiPl5XXHwJCU1heGltYWxlXCAmQnJlaXRlPFRhYj5eV1x8Cm1lbnV0cmFucyBNaW5cIFdpZHQmaDxUYWI+XlcxXHwJCU1pbmltYWxlXCBCcmVpJnRlPFRhYj5eVzFcfAptZW51dHJhbnMgTW92ZVwgJlRvCQkJViZlcnNjaGllYmVcIG5hY2gKbWVudXRyYW5zICZUb3A8VGFiPl5XSwkJCSZPYmVuPFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJJlVudGVuPFRhYj5eV0oKbWVudXRyYW5zICZMZWZ0XCBzaWRlPFRhYj5eV0gJCSZMaW5rczxUYWI+XldICm1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAkJJlJlY2h0czxUYWI+XldMCm1lbnV0cmFucyBSb3RhdGVcICZVcDxUYWI+XldSCQlSb3RpZXJlXCBuYWNoXCAmb2JlbjxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCVJvdGllcmVcIG5hY2hcICZ1bnRlbjxUYWI+XldyCm1lbnV0cmFucyBTZWxlY3RcIEZvJm50XC5cLlwuCQlBdXN3YWhsXCBkZXJcIFNjaHJpZnRhcnRcLlwuXC4KIiB9fX0gV0lORE9XIC8gQU5TSUNIVAoKIiB7e3sgSEVMUCAvIEhJTEZFCm1lbnV0cmFucyAmSGVscAkJCSZIaWxmZQptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CSbcYmVyYmxpY2s8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCSZIYW5kYnVjaAptZW51dHJhbnMgJkhvdy10b1wgbGlua3MJSG93LXRvXCAmSW5kZXgKbWVudXRyYW5zICZHVUkJCQkmR3JhcGhpc2NoZVwgT2JlcmZs5GNoZQptZW51dHJhbnMgJkNyZWRpdHMJCSZBdXRvcmVuCm1lbnV0cmFucyBDbyZweWluZwkJJlVyaGViZXJyZWNodAptZW51dHJhbnMgTyZycGhhbnMJCSZXYWlzZW4KbWVudXRyYW5zICZGaW5kXC5cLlwuCQkmU3VjaGVuXC5cLlwuCSIgY29uZmxpY3RzIHdpdGggRWRpdC5GaW5kCm1lbnV0cmFucyAmVmVyc2lvbgkJJlZlcnNpb24KbWVudXRyYW5zICZBYm91dAkJJlRpdGVsc2VpdGUKIiB9fX0gSEVMUCAvIEhJTEZFCgoiIHt7eyBQT1BVUAptZW51dHJhbnMgJlVuZG8JCQkJJlp1cvxjawptZW51dHJhbnMgQ3UmdAkJCQlBdXMmc2NobmVpZGVuCm1lbnV0cmFucyAmQ29weQkJCQkmS29waWVyZW4KbWVudXRyYW5zICZQYXN0ZQkJCSZFaW5m/GdlbgptZW51dHJhbnMgJkRlbGV0ZQkJCSZM9nNjaGVuCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQkJQXVzd2FobFwgYmxvY2thcnRpZwptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJCUF1c3dhaGxcIGRlc1wgJldvcnRlcwptZW51dHJhbnMgU2VsZWN0XCAmU2VudGVuY2UJCUF1c3dhaGxcIGRlc1wgU2EmdHplcwptZW51dHJhbnMgU2VsZWN0XCBQYSZyYWdyYXBoCQlBdXN3YWhsXCBkZXNcIEFic2F0emVzCm1lbnV0cmFucyBTZWxlY3RcICZMaW5lCQkJQXVzd2FobFwgZGVyXCAmWmVpbGUKbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCQlBdXN3YWhsXCBkZXNcICZCbG9ja3MKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJCSZBbGxlc1wgQXVzd+RobGVuCiIgfX19IFBPUFVQCgoiIHt7eyBUT09MQkFSCmlmIGhhcygidG9vbGJhciIpCiAgaWYgZXhpc3RzKCIqRG9fdG9vbGJhcl90bWVudSIpCiAgICBkZWxmdW4gRG9fdG9vbGJhcl90bWVudQogIGVuZGlmCiAgZnVuIERvX3Rvb2xiYXJfdG1lbnUoKQogICAgdG1lbnUgVG9vbEJhci5PcGVuCQlEYXRlaSD2ZmZuZW4KICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJRGF0ZWkgc3BlaWNoZXJuCiAgICB0bWVudSBUb29sQmFyLlNhdmVBbGwJQWxsZSBEYXRlaWVuIHNwZWljaGVybgogICAgdG1lbnUgVG9vbEJhci5QcmludAkJRHJ1Y2tlbgogICAgdG1lbnUgVG9vbEJhci5VbmRvCQladXL8Y2sKICAgIHRtZW51IFRvb2xCYXIuUmVkbwkJV2llZGVyaG9sZW4KICAgIHRtZW51IFRvb2xCYXIuQ3V0CQlBdXNzY2huZWlkZW4KICAgIHRtZW51IFRvb2xCYXIuQ29weQkJS29waWVyZW4KICAgIHRtZW51IFRvb2xCYXIuUGFzdGUJCUVpbmb8Z2VuCiAgICB0bWVudSBUb29sQmFyLkZpbmQJCVN1Y2hlbi4uLgogICAgdG1lbnUgVG9vbEJhci5GaW5kTmV4dAlTdWNoZSBu5GNoc3RlbgogICAgdG1lbnUgVG9vbEJhci5GaW5kUHJldglTdWNoZSB2b3JoZXJpZ2VuCiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJU3VjaGVuIHVuZCBFcnNldHplbi4uLgogICAgaWYgMAkiIGRpc2FibGVkOyBUaGVzZSBhcmUgaW4gdGhlIFdpbmRvd3MgbWVudQogICAgICB0bWVudSBUb29sQmFyLk5ldwkJTmV1ZSBBbnNpY2h0CiAgICAgIHRtZW51IFRvb2xCYXIuV2luU3BsaXQJQW5zaWNodCBhdWZzcGFsdGVuCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWF4CUFuc2ljaHQgbWF4aW1hbGUgSPZoZW4KICAgICAgdG1lbnUgVG9vbEJhci5XaW5NaW4JQW5zaWNodCBtaW5pbWFsZSBI9mhlbgogICAgICB0bWVudSBUb29sQmFyLldpbkNsb3NlCUFuc2ljaHQgc2NobGll32VuCiAgICBlbmRpZgogICAgdG1lbnUgVG9vbEJhci5Mb2FkU2VzbglTaXR6dW5nIGxhZGVuCiAgICB0bWVudSBUb29sQmFyLlNhdmVTZXNuCVNpdHp1bmcgc3BlaWNoZXJuCiAgICB0bWVudSBUb29sQmFyLlJ1blNjcmlwdAlWaW0tU2tyaXB0IGF1c2b8aHJlbgogICAgdG1lbnUgVG9vbEJhci5NYWtlCQlFcnN0ZWxsZW4KICAgIHRtZW51IFRvb2xCYXIuU2hlbGwJCVNoZWxsIHN0YXJ0ZW4KICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJRXJzdGVsbGUgVGFnLURhdGVpCiAgICB0bWVudSBUb29sQmFyLlRhZ0p1bXAJU3ByaW5nZSB6dW0gVGFnCiAgICB0bWVudSBUb29sQmFyLkhlbHAJCUhpbGZlIQogICAgdG1lbnUgVG9vbEJhci5GaW5kSGVscAlIaWxmZSBkdXJjaHN1Y2hlbi4uLgogIGVuZGZ1bgplbmRpZgoiIH19fSBUT09MQkFSCgoiIHt7eyBESUFMT0cgVEVYVFMKbGV0IGc6bWVudXRyYW5zX25vX2ZpbGUgPSAiW0tlaW5lIERhdGVpXSIKbGV0IGc6bWVudXRyYW5zX2hlbHBfZGlhbG9nID0gIkdlYmVuIFNpZSBlaW5lbiBCZWZlaGwgb2RlciBlaW4gV29ydCBlaW4sIGb8ciBkYXMgU2llIEhpbGZlIGJlbvZ0aWdlbjpcblxuVmVyd2VuZGVuIFNpZSBpXyBm/HIgRWluZ2FiZSAoJ2lucHV0JykgQmVmZWhsZSAoei5CLjogaV9DVFJMLVgpXG5WZXJ3ZW5kZW4gU2llIGNfIGb8ciBCZWZlaGxzLVplaWxlbiAoJ2NvbW1hbmQtbGluZScpIEJlZmVobGUgKHouQi46IGNfPERlbD4pXG5WZXJ3ZW5kZW4gU2llICcgZvxyIE9wdGlvbnMtTmFtZW4gKHouQi46ICdzaGlmdHdpZHRoJykiCmxldCBnOm1lbnV0cmFuc19wYXRoX2RpYWxvZyA9ICJHZWJlbiBTaWUgU3VjaC1QZmFkZSBm/HIgRGF0ZWllbiBlaW4uXG5UcmVubmVuIFNpZSBkaWUgVmVyemVpY2huaXMtTmFtZW4gZHVyY2ggS29tbWF0YS4iCmxldCBnOm1lbnV0cmFuc190YWdzX2RpYWxvZyA9ICJHZWJlbiBTaWUgZGllIE5hbWVuIGRlciAndGFnJy1EYXRlaWVuIGVpbi5cblRyZW5uZW4gU2llIGRpZSBOYW1lbiBkdXJjaCBLb21tYXRhLiIKbGV0IGc6bWVudXRyYW5zX3RleHR3aWR0aF9kaWFsb2cgPSAiR2ViZW4gU2llIGVpbmUgbmV1ZSBUZXh0LUJyZWl0ZSBlaW4gKG9kZXIgMCwgdW0gZGllIEZvcm1hdGllcnVuZyBhYnp1c2NoYWx0ZW4pIgpsZXQgZzptZW51dHJhbnNfZmlsZWZvcm1hdF9kaWFsb2cgPSAiV+RobGVuIFNpZSBlaW4gRGF0ZWktRm9ybWF0IGF1cyIKIiB9fX0K