f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAADECwAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIGpwZWc7CnBrZ3BhdGggaW1hZ2UvanBlZzsKcHJpb3JpdHkgNzsKaW1wb3J0IGJ1ZmlvIGJ1ZmlvICJidWZpbyI7CmltcG9ydCBlcnJvcnMgZXJyb3JzICJlcnJvcnMiOwppbXBvcnQgaW1hZ2UgaW1hZ2UgImltYWdlIjsKaW1wb3J0IGNvbG9yIGltYWdlL2NvbG9yICJpbWFnZS9jb2xvciI7CmltcG9ydCBpbyBpbyAiaW8iOwppbml0IGpwZWcgaW1hZ2VfanBlZy4uaW1wb3J0IDcgY29sb3IgaW1hZ2VfY29sb3IuLmltcG9ydCAxIG1hdGggbWF0aC4uaW1wb3J0IDEgcnVudGltZSBydW50aW1lLi5pbXBvcnQgMSB1bmljb2RlIHVuaWNvZGUuLmltcG9ydCAxIHN0cmNvbnYgc3RyY29udi4uaW1wb3J0IDIgc3luYyBzeW5jLi5pbXBvcnQgMiBpbyBpby4uaW1wb3J0IDMgYnl0ZXMgYnl0ZXMuLmltcG9ydCA0IGJ1ZmlvIGJ1ZmlvLi5pbXBvcnQgNSBpbWFnZSBpbWFnZS4uaW1wb3J0IDY7CmZ1bmMgRGVjb2RlIChyIDx0eXBlIDEgImlvLlJlYWRlciIgPHR5cGUgMiBpbnRlcmZhY2UgeyBSZWFkIChwIDx0eXBlIDMgW10gPHR5cGUgLTIwPj4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsgfT4+KSAoPyA8dHlwZSA0ICJpbWFnZS5JbWFnZSIgPHR5cGUgNSBpbnRlcmZhY2UgeyBDb2xvck1vZGVsICgpIDx0eXBlIDYgImltYWdlL2NvbG9yLk1vZGVsIiA8dHlwZSA3IGludGVyZmFjZSB7IENvbnZlcnQgKGMgPHR5cGUgOCAiaW1hZ2UvY29sb3IuQ29sb3IiIDx0eXBlIDkgaW50ZXJmYWNlIHsgUkdCQSAoKSAociA8dHlwZSAtNz4sIGcgPHR5cGUgLTc+LCBiIDx0eXBlIC03PiwgYSA8dHlwZSAtNz4pOyB9Pj4pIDx0eXBlIDg+OyB9Pj47IEJvdW5kcyAoKSA8dHlwZSAxMCAiaW1hZ2UuUmVjdGFuZ2xlIiA8dHlwZSAxMSBzdHJ1Y3QgeyBNaW4gPHR5cGUgMTIgImltYWdlLlBvaW50IiA8dHlwZSAxMyBzdHJ1Y3QgeyBYIDx0eXBlIC0xMT47IFkgPHR5cGUgLTExPjsgfT4KIGZ1bmMgKHAgPHR5cGUgMTI+KSBNb2QgKHIgPHR5cGUgMTA+KSA8dHlwZSAxMj47CiBmdW5jIChwIDx0eXBlIDEyPikgU3ViIChxIDx0eXBlIDEyPikgPHR5cGUgMTI+OwogZnVuYyAocCA8dHlwZSAxMj4pIERpdiAoayA8dHlwZSAtMTE+KSA8dHlwZSAxMj47CiBmdW5jIChwIDx0eXBlIDEyPikgRXEgKHEgPHR5cGUgMTI+KSA8dHlwZSAtMTU+OwogZnVuYyAocCA8dHlwZSAxMj4pIE11bCAoayA8dHlwZSAtMTE+KSA8dHlwZSAxMj47CiBmdW5jIChwIDx0eXBlIDEyPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChwIDx0eXBlIDEyPikgSW4gKHIgPHR5cGUgMTA+KSA8dHlwZSAtMTU+OwogZnVuYyAocCA8dHlwZSAxMj4pIEFkZCAocSA8dHlwZSAxMj4pIDx0eXBlIDEyPjsKPjsgTWF4IDx0eXBlIDEyPjsgfT4KIGZ1bmMgKHIgPHR5cGUgMTA+KSBJbnNldCAobiA8dHlwZSAtMTE+KSA8dHlwZSAxMD47CiBmdW5jIChyIDx0eXBlIDEwPikgT3ZlcmxhcHMgKHMgPHR5cGUgMTA+KSA8dHlwZSAtMTU+OwogZnVuYyAociA8dHlwZSAxMD4pIER5ICgpIDx0eXBlIC0xMT47CiBmdW5jIChyIDx0eXBlIDEwPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChyIDx0eXBlIDEwPikgQWRkIChwIDx0eXBlIDEyPikgPHR5cGUgMTA+OwogZnVuYyAociA8dHlwZSAxMD4pIENhbm9uICgpIDx0eXBlIDEwPjsKIGZ1bmMgKHIgPHR5cGUgMTA+KSBFcSAocyA8dHlwZSAxMD4pIDx0eXBlIC0xNT47CiBmdW5jIChyIDx0eXBlIDEwPikgU3ViIChwIDx0eXBlIDEyPikgPHR5cGUgMTA+OwogZnVuYyAociA8dHlwZSAxMD4pIEludGVyc2VjdCAocyA8dHlwZSAxMD4pIDx0eXBlIDEwPjsKIGZ1bmMgKHIgPHR5cGUgMTA+KSBTaXplICgpIDx0eXBlIDEyPjsKIGZ1bmMgKHIgPHR5cGUgMTA+KSBJbiAocyA8dHlwZSAxMD4pIDx0eXBlIC0xNT47CiBmdW5jIChyIDx0eXBlIDEwPikgRHggKCkgPHR5cGUgLTExPjsKIGZ1bmMgKHIgPHR5cGUgMTA+KSBFbXB0eSAoKSA8dHlwZSAtMTU+OwogZnVuYyAociA8dHlwZSAxMD4pIFVuaW9uIChzIDx0eXBlIDEwPikgPHR5cGUgMTA+Owo+OyBBdCAoeCA8dHlwZSAtMTE+LCB5IDx0eXBlIC0xMT4pIDx0eXBlIDg+OyB9Pj4sID8gPHR5cGUgLTE5Pik7CmZ1bmMgRGVjb2RlQ29uZmlnIChyIDx0eXBlIDE+KSAoPyA8dHlwZSAxNCAiaW1hZ2UuQ29uZmlnIiA8dHlwZSAxNSBzdHJ1Y3QgeyBDb2xvck1vZGVsIDx0eXBlIDY+OyBXaWR0aCA8dHlwZSAtMTE+OyBIZWlnaHQgPHR5cGUgLTExPjsgfT4+LCA/IDx0eXBlIC0xOT4pOwpjb25zdCBEZWZhdWx0UXVhbGl0eSA9IDc1IDsKZnVuYyBFbmNvZGUgKHcgPHR5cGUgMTYgImlvLldyaXRlciIgPHR5cGUgMTcgaW50ZXJmYWNlIHsgV3JpdGUgKHAgPHR5cGUgMTggW10gPHR5cGUgLTIwPj4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsgfT4+LCBtIDx0eXBlIDQ+LCBvIDx0eXBlIDE5ICo8dHlwZSAyMCAiT3B0aW9ucyIgPHR5cGUgMjEgc3RydWN0IHsgUXVhbGl0eSA8dHlwZSAtMTE+OyB9Pj4+KSA8dHlwZSAtMTk+Owp0eXBlIDx0eXBlIDIyICJGb3JtYXRFcnJvciIgPHR5cGUgLTE2PgogZnVuYyAoZSA8dHlwZSAyMj4pIEVycm9yICgpIDx0eXBlIC0xNj47Cj47CnR5cGUgPHR5cGUgMjA+Owp0eXBlIDx0eXBlIDIzICJSZWFkZXIiIDx0eXBlIDI0IGludGVyZmFjZSB7ID8gPHR5cGUgMjUgImlvLkJ5dGVSZWFkZXIiIDx0eXBlIDI2IGludGVyZmFjZSB7IFJlYWRCeXRlICgpIChjIDx0eXBlIC0yMD4sIGVyciA8dHlwZSAtMTk+KTsgfT4+OyA/IDx0eXBlIDE+OyB9Pj47CnR5cGUgPHR5cGUgMjcgIlVuc3VwcG9ydGVkRXJyb3IiIDx0eXBlIC0xNj4KIGZ1bmMgKGUgPHR5cGUgMjc+KSBFcnJvciAoKSA8dHlwZSAtMTY+Owo+OwpjaGVja3N1bSBCNTlBRjdGMUFBQUMzMjdBQ0U3RjMyNjg5RjVBN0NFRkRDQzQ0MzE1OwoALnN5bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuZ29fZXhwb3J0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAAAAAAA0AAAARAsAAAAAAAAAAAAAAQAAAAAAAAARAAAAAwAAAAAAAAAAAAAAeAsAACYAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAKALAAAgAAAABAAAAAIAAAAEAAAAEAAAAAkAAAADAAAAAAAAAAAAAADACwAAAQAAAAAAAAAAAAAAAQAAAAAAAAA=