LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgKGMpIFNZU1RFQyBlbGVjdHJvbmljIEdtYkgsIEQtMDc5NzMgR3JlaXosIEF1Z3VzdC1CZWJlbC1TdHIuIDI5CiAgICAgIHd3dy5zeXN0ZWMtZWxlY3Ryb25pYy5jb20KCiAgUHJvamVjdDogICAgICBvcGVuUE9XRVJMSU5LCgogIERlc2NyaXB0aW9uOiAgZGVmaW5pdGlvbnMgZm9yIGFsbCBFUEwtZnVuY3Rpb24gcmV0dXJuIGNvZGVzCgogIExpY2Vuc2U6CgogICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKICAgIGFyZSBtZXQ6CgogICAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KCiAgICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQogICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KCiAgICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNZU1RFQyBlbGVjdHJvbmljIEdtYkggbm9yIHRoZSBuYW1lcyBvZiBpdHMKICAgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAogICAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBGb3Igd3JpdHRlbgogICAgICAgcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRhY3QgaW5mb0BzeXN0ZWMtZWxlY3Ryb25pYy5jb20uCgogICAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogICAgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAgIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCiAgICBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogICAgQ09QWVJJR0hUIEhPTERFUlMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCiAgICBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAogICAgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwogICAgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgogICAgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCiAgICBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgogICAgQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCiAgICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCiAgICBTZXZlcmFiaWxpdHkgQ2xhdXNlOgoKICAgICAgICBJZiBhIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UgaXMgb3IgYmVjb21lcyBpbGxlZ2FsLCBpbnZhbGlkIG9yCiAgICAgICAgdW5lbmZvcmNlYWJsZSBpbiBhbnkganVyaXNkaWN0aW9uLCB0aGF0IHNoYWxsIG5vdCBhZmZlY3Q6CiAgICAgICAgMS4gdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IGluIHRoYXQganVyaXNkaWN0aW9uIG9mIGFueSBvdGhlcgogICAgICAgICAgIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2U7IG9yCiAgICAgICAgMi4gdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IGluIG90aGVyIGp1cmlzZGljdGlvbnMgb2YgdGhhdCBvcgogICAgICAgICAgIGFueSBvdGhlciBwcm92aXNpb24gb2YgdGhpcyBMaWNlbnNlLgoKICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICAgICAgICAgICAgJFJDU2ZpbGU6IEVwbEVyckRlZi5oLHYgJAoKICAgICAgICAgICAgICAgICRBdXRob3I6IEQuS3J1ZWdlciAkCgogICAgICAgICAgICAgICAgJFJldmlzaW9uOiAxLjkgJCAgJERhdGU6IDIwMDgvMDYvMjMgMTQ6NTY6MzMgJAoKICAgICAgICAgICAgICAgICRTdGF0ZTogRXhwICQKCiAgICAgICAgICAgICAgICBCdWlsZCBFbnZpcm9ubWVudDoKICAgICAgICAgICAgICAgICAgICBhbGwKCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICBSZXZpc2lvbiBIaXN0b3J5OgoKICAyMDA1LzEyLzA1IC1hczogICBzdGFydCBvZiB0aGUgaW1wbGVtZW50YXRpb24sIHZlcnNpb24gMS4wMAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpZm5kZWYgX0VQTF9FUlJPUkRFRl9IXwojZGVmaW5lIF9FUExfRVJST1JERUZfSF8KCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIHJldHVybiBjb2RlcwovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKdHlwZWRlZiBlbnVtIHsKCS8vIGFyZWEgZm9yIGdlbmVyaWMgZXJyb3JzIDB4MDAwMCAtIDB4MDAwRgoJa0VwbFN1Y2Nlc3NmdWwgPSAweDAwMDAsCS8vIG5vIGVycm9yL3N1Y2Nlc3NmdWwgcnVuCglrRXBsSWxsZWdhbEluc3RhbmNlID0gMHgwMDAxLAkvLyB0aGUgY2FsbGVkIEluc3RhbnogZG9lcyBub3QgZXhpc3QKCWtFcGxJbnZhbGlkSW5zdGFuY2VQYXJhbSA9IDB4MDAwMiwJLy8KCWtFcGxOb0ZyZWVJbnN0YW5jZSA9IDB4MDAwMywJLy8gWHh4QWRkSW5zdGFuY2Ugd2FzIGNhbGxlZCBidXQgbm8gZnJlZSBpbnN0YW5jZSBpcyBhdmFpbGFibGUKCWtFcGxXcm9uZ1NpZ25hdHVyZSA9IDB4MDAwNCwJLy8gd3Jvbmcgc2lnbmF0dXJlIHdoaWxlIHdyaXRpbmcgdG8gb2JqZWN0IDB4MTAxMCBvciAweDEwMTEKCWtFcGxJbnZhbGlkT3BlcmF0aW9uID0gMHgwMDA1LAkvLyBvcGVyYXRpb24gbm90IGFsbG93ZWQgaW4gdGhpcyBzaXR1YXRpb24KCWtFcGxJbnZhbGlkTm9kZUlkID0gMHgwMDA3LAkvLyBpbnZhbGlkIE5vZGVJZCB3YXMgc3BlY2lmaWVkCglrRXBsTm9SZXNvdXJjZSA9IDB4MDAwOCwJLy8gcmVzb3VyY2UgY291bGQgbm90IGJlIGNyZWF0ZWQgKFdpbmRvd3MsIFB4Uk9TLCAuLi4pCglrRXBsU2h1dGRvd24gPSAweDAwMDksCS8vIHN0YWNrIGlzIHNodXR0aW5nIGRvd24KCWtFcGxSZWplY3QgPSAweDAwMEEsCS8vIHJlamVjdCB0aGUgc3Vic2VxdWVudCBjb21tYW5kCgoJLy8gYXJlYSBmb3IgRURSViBtb2R1bGUgMHgwMDEwIC0gMHgwMDFGCi8vICAgIGtFcGxFZHJ2Tm9GcmFtZSAgICAgICAgICAgICA9IDB4MDAxMCwgICAgICAgLy8gbm8gQ0FOIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkCi8vICAgIGtFcGxFZHJ2TXNnSGlnaCAgICAgICAgICAgICA9IDB4MDAxMSwgICAgICAgLy8gQ0FOIG1lc3NhZ2Ugd2l0aCBoaWdoIHByaW9yaXR5IHdhcyByZWNlaXZlZAovLyAgICBrRXBsRWRydk1zZ0xvdyAgICAgICAgICAgICAgPSAweDAwMTIsICAgICAgIC8vIENBTiBtZXNzYWdlIHdpdGggbG93IHByaW9yaXR5IHdhcyByZWNlaXZlZAoJa0VwbEVkcnZJbml0RXJyb3IgPSAweDAwMTMsCS8vIGluaXRpYWxpc2F0aW9uIGVycm9yCglrRXBsRWRydk5vRnJlZUJ1ZkVudHJ5ID0gMHgwMDE0LAkvLyBubyBmcmVlIGVudHJ5IGluIGludGVybmFsIGJ1ZmZlciB0YWJsZSBmb3IgVHggZnJhbWVzCglrRXBsRWRydkJ1Zk5vdEV4aXN0aW5nID0gMHgwMDE1LAkvLyBzcGVjaWZpZWQgVHggYnVmZmVyIGRvZXMgbm90IGV4aXN0Ci8vICAgIGtFcGxFZHJ2Tm9GcmVlQ2hhbm5lbCAgICAgICA9IDB4MDAxNCwgICAgICAgLy8gQ0FOIGNvbnRyb2xsZXIgaGFzIG5vdCBhIGZyZWUgY2hhbm5lbAovLyAgICBrRXBsRWRydlR4QnVmZkhpZ2hPdmVycnVuICAgPSAweDAwMTUsICAgICAgIC8vIGJ1ZmZlciBmb3IgaGlnaCBwcmlvcml0eSBDQU4gdHJhbnNtaXQgbWVzc2FnZXMgaGFzIG92ZXJydW4KLy8gICAga0VwbEVkcnZUeEJ1ZmZMb3dPdmVycnVuICAgID0gMHgwMDE2LCAgICAgICAvLyBidWZmZXIgZm9yIGxvdyBwcmlvcml0eSBDQU4gdHJhbnNtaXQgbWVzc2FnZXMgaGFzIG92ZXJydW4KLy8gICAga0VwbEVkcnZJbGxlZ2FsQmRpICAgICAgICAgID0gMHgwMDE3LCAgICAgICAvLyB1bnN1cHBvcnRlZCBiYXVkcmF0ZSB3aXRoaW4gYmF1ZHJhdGUgdGFibGUKLy8gICAga0VwbEVkcnZCdXN5ICAgICAgICAgICAgICAgID0gMHgwMDE4LCAgICAgICAvLyByZW1vdGUgZnJhbWUgY2FuIG5vdCBiZSB1cGRhdGVkIGJlY2F1c2Ugbm8gYnVzIGNvbnRhY3Qgb3IgQ0FOCgkvLyB0cmFuc21pc3Npb24gaXMgYWN0aXYKLy8gICAga0VwbEVkcnZJbnZhbGlkRHJpdmVyVHlwZSAgID0gMHgwMDE5LCAgICAgICAvLyAoUEM6IFdpbmRvd3Mgb3IgTGludXgpIGludmFsaWQgZHJpdmVyIHR5cGUKLy8gICAga0VwbEVkcnZEcml2ZXJOb3RGb3VuZCAgICAgID0gMHgwMDFBLCAgICAgICAvLyAoUEM6IFdpbmRvd3Mgb3IgTGludXgpIGRyaXZlciAoRExMKSBjb3VsZCBub3QgYmUgZm91bmQKLy8gICAga0VwbEVkcnZJbnZhbGlkQmFzZUFkZHJlc3MgID0gMHgwMDFCLCAgICAgICAvLyAoUEM6IFdpbmRvd3Mgb3IgTGludXgpIGRyaXZlciBjb3VsZCBub3QgZm91bmQgdGhlIENBTiBjb250cm9sbGVyCi8vICAgIGtFcGxFZHJ2SW52YWxpZFBhcmFtICAgICAgICA9IDB4MDAxQywgICAgICAgLy8gaW52YWxpZCBwYXJhbSBpbiBmdW5jdGlvbiBjYWxsCgoJLy8gYXJlYSBmb3IgQ09CIG1vZHVsZSAweDAwMjAgLSAweDAwMkYKLyogICAga0VwbENvYk5vRnJlZUVudHJ5ICAgICAgICAgID0gMHgwMDIwLCAgICAgICAvLyBubyBmcmVlIGVudHJ5IGluIFJYLSBvciBUWC1DT0IgdGFibGUKICAgIGtFcGxDb2JBbHJlYWR5RXhpc3QgICAgICAgICA9IDB4MDAyMSwgICAgICAgLy8gQ09CLUlEIGFscmVhZHkgZXhpc3RzIGluIFJYLSByZXNwLiBUWC1DT0IgdGFibGUKICAgICovCglrRXBsRGxsSWxsZWdhbEhkbCA9IDB4MDAyMiwJLy8gaWxsZWdhbCBoYW5kbGUgZm9yIGEgVHhGcmFtZSB3YXMgcGFzc2VkCglrRXBsRGxsQ2JBc3luY1JlZ2lzdGVyZWQgPSAweDAwMjMsCS8vIGhhbmRsZXIgZm9yIG5vbi1FUEwgZnJhbWVzIHdhcyBhbHJlYWR5IHJlZ2lzdGVyZWQgYmVmb3JlCi8vICAgIGtFcGxEbGxBc3luY1J4QnVmZmVyRnVsbCAgICA9IDB4MDAyNCwgICAgICAgLy8gcmVjZWl2ZSBidWZmZXIgZm9yIGFzeW5jaHJvbm91cyBmcmFtZXMgaXMgZnVsbAoJa0VwbERsbEFzeW5jVHhCdWZmZXJFbXB0eSA9IDB4MDAyNSwJLy8gdHJhbnNtaXQgYnVmZmVyIGZvciBhc3luY2hyb25vdXMgZnJhbWVzIGlzIGVtcHR5CglrRXBsRGxsQXN5bmNUeEJ1ZmZlckZ1bGwgPSAweDAwMjYsCS8vIHRyYW5zbWl0IGJ1ZmZlciBmb3IgYXN5bmNocm9ub3VzIGZyYW1lcyBpcyBmdWxsCglrRXBsRGxsTm9Ob2RlSW5mbyA9IDB4MDAyNywJLy8gTU46IHRvbyBsZXNzIHNwYWNlIGluIHRoZSBpbnRlcm5hbCBub2RlIGluZm8gc3RydWN0dXJlCglrRXBsRGxsSW52YWxpZFBhcmFtID0gMHgwMDI4LAkvLyBpbnZhbGlkIHBhcmFtZXRlcnMgcGFzc2VkIHRvIGZ1bmN0aW9uCglrRXBsRGxsVHhCdWZOb3RSZWFkeSA9IDB4MDAyRSwJLy8gVHhCdWZmZXIgKGUuZy4gZm9yIFBSZXEpIGlzIG5vdCByZWFkeSB5ZXQKCWtFcGxEbGxUeEZyYW1lSW52YWxpZCA9IDB4MDAyRiwJLy8gVHhGcmFtZSAoZS5nLiBmb3IgUFJlcSkgaXMgaW52YWxpZCBvciBkb2VzIG5vdCBleGlzdAovKiAgICBrRXBsQ29iSWxsZWdhbENhbklkICAgICAgICAgPSAweDAwMjMsICAgICAgIC8vIENPQi1JRCBpcyBub3QgYWxsb3dlZCAobGlrZSAweDAwMCBpcyByZXNlcnZlZCBmb3IgTk1ULCAuLi4pCiAgICBrRXBsQ29iSW52YWxpZENhbklkICAgICAgICAgPSAweDAwMjQsICAgICAgIC8vIENPQi1JRCBpcyBzd2l0Y2hlZCBvZmYKICAgIGtFcGxDb2JDZHJ2U3RhdGVTZXQgICAgICAgICA9IDB4MDAyNSwgICAgICAgLy8gYXQgbGVhc3Qgb25lIGJpdCBvZiBDQU4gZHJpdmVyIHN0YXRlIGlzIHNldAogICAga0VwbENvYk5vRnJlZUVudHJ5SGlnaEJ1ZiAgID0gMHgwMDI2LCAgICAgICAvLyBubyBmcmVlIGVudHJ5IGluIGhpZ2ggcHJpb3RpdHkgUlgtIG9yIFRYLUNPQiB0YWJsZQogICAga0VwbENvYk93bklkICAgICAgICAgICAgICAgID0gMHgwMDI3LCAgICAgICAvLyBDT0ItSUQgYWxyZWFkeSBleGlzdHMgaW4gb3duIG1vZHVsZSB3aGljaCBjYWxscyBDb2JEZWZpbmUoKSBvciBDb2JDaGVjaygpCiovCgkvLyBhcmVhIGZvciBPQkQgbW9kdWxlIDB4MDAzMCAtIDB4MDAzRgoJa0VwbE9iZElsbGVnYWxQYXJ0ID0gMHgwMDMwLAkvLyB1bmtub3duIE9EIHBhcnQKCWtFcGxPYmRJbmRleE5vdEV4aXN0ID0gMHgwMDMxLAkvLyBvYmplY3QgaW5kZXggZG9lcyBub3QgZXhpc3QgaW4gT0QKCWtFcGxPYmRTdWJpbmRleE5vdEV4aXN0ID0gMHgwMDMyLAkvLyBzdWJpbmRleCBkb2VzIG5vdCBleGlzdCBpbiBvYmplY3QgaW5kZXgKCWtFcGxPYmRSZWFkVmlvbGF0aW9uID0gMHgwMDMzLAkvLyByZWFkIGFjY2VzcyB0byBhIHdyaXRlLW9ubHkgb2JqZWN0CglrRXBsT2JkV3JpdGVWaW9sYXRpb24gPSAweDAwMzQsCS8vIHdyaXRlIGFjY2VzcyB0byBhIHJlYWQtb25seSBvYmplY3QKCWtFcGxPYmRBY2Nlc3NWaW9sYXRpb24gPSAweDAwMzUsCS8vIGFjY2VzcyBub3QgYWxsb3dlZAoJa0VwbE9iZFVua25vd25PYmplY3RUeXBlID0gMHgwMDM2LAkvLyBvYmplY3QgdHlwZSBub3QgZGVmaW5lZC9rbm93bgoJa0VwbE9iZFZhckVudHJ5Tm90RXhpc3QgPSAweDAwMzcsCS8vIG9iamVjdCBkb2VzIG5vdCBjb250YWluIFZhckVudHJ5IHN0cnVjdHVyZQoJa0VwbE9iZFZhbHVlVG9vTG93ID0gMHgwMDM4LAkvLyB2YWx1ZSB0byB3cml0ZSB0byBhbiBvYmplY3QgaXMgdG9vIGxvdwoJa0VwbE9iZFZhbHVlVG9vSGlnaCA9IDB4MDAzOSwJLy8gdmFsdWUgdG8gd3JpdGUgdG8gYW4gb2JqZWN0IGlzIHRvbyBoaWdoCglrRXBsT2JkVmFsdWVMZW5ndGhFcnJvciA9IDB4MDAzQSwJLy8gdmFsdWUgdG8gd3JpdGUgaXMgdG8gbG9uZyBvciB0byBzaG9ydAovLyAgICBrRXBsT2JkSWxsZWdhbEZsb2F0ICAgICAgICAgPSAweDAwM0IsICAgICAgIC8vIGlsbGVnYWwgZmxvYXQgdmFyaWFibGUKLy8gICAga0VwbE9iZFdyb25nT2RCdWlsZGVyS2V5ICAgID0gMHgwMDNGLCAgICAgICAvLyBPRCB3YXMgZ2VuZXJhdGVkIHdpdGggZGVtbyB2ZXJzaW9uIG9mIHRvb2wgT0RCdWlsZGVyCgoJLy8gYXJlYSBmb3IgTk1UIG1vZHVsZSAweDAwNDAgLSAweDAwNEYKCWtFcGxObXRVbmtub3duQ29tbWFuZCA9IDB4MDA0MCwJLy8gdW5rbm93biBOTVQgY29tbWFuZAoJa0VwbE5tdEludmFsaWRGcmFtZVBvaW50ZXIgPSAweDAwNDEsCS8vIHBvaW50ZXIgdG8gdGhlIGZyYW1lIGlzIG5vdCB2YWxpZAoJa0VwbE5tdEludmFsaWRFdmVudCA9IDB4MDA0MiwJLy8gaW52YWxpZCBldmVudCBzZW5kIHRvIE5NVC1tb2R1bAoJa0VwbE5tdEludmFsaWRTdGF0ZSA9IDB4MDA0MywJLy8gdW5rbm93biBzdGF0ZSBpbiBOTVQtU3RhdGUtTWFzY2hpbmUKCWtFcGxObXRJbnZhbGlkUGFyYW0gPSAweDAwNDQsCS8vIGludmFsaWQgcGFyYW1ldGVycyBzcGVjaWZpZWQKCgkvLyBhcmVhIGZvciBTRE8vVURQIG1vZHVsZSAweDAwNTAgLSAweDAwNUYKCWtFcGxTZG9VZHBNaXNzQ2IgPSAweDAwNTAsCS8vIG1pc3NpbmcgY2FsbGJhY2stZnVuY3Rpb24gcG9pbnRlciBkdXJpbmcgaW50aSBvZgoJLy8gbW9kdWxlCglrRXBsU2RvVWRwTm9Tb2NrZXQgPSAweDAwNTEsCS8vIGVycm9yIGR1cmluZyBpbml0IG9mIHNvY2tldAoJa0VwbFNkb1VkcFNvY2tldEVycm9yID0gMHgwMDUyLAkvLyBlcnJvciBkdXJpbmcgdXNhZ2Ugb2Ygc29ja2V0CglrRXBsU2RvVWRwVGhyZWFkRXJyb3IgPSAweDAwNTMsCS8vIGVycm9yIGR1cmluZyBzdGFydCBvZiBsaXN0ZW4gdGhyZWFkCglrRXBsU2RvVWRwTm9GcmVlSGFuZGxlID0gMHgwMDU0LAkvLyBubyBmcmVlIGNvbm5lY3Rpb24gaGFuZGxlIGZvciBVZHAKCWtFcGxTZG9VZHBTZW5kRXJyb3IgPSAweDAwNTUsCS8vIEVycm9yIGR1cmluZyBzZW5kIG9mIGZyYW1lCglrRXBsU2RvVWRwSW52YWxpZEhkbCA9IDB4MDA1NiwJLy8gdGhlIGNvbm5lY3Rpb24gaGFuZGxlIGlzIGludmFsaWQKCgkvLyBhcmVhIGZvciBTRE8gU2VxdWVuY2UgbGF5ZXIgbW9kdWxlIDB4MDA2MCAtIDB4MDA2RgoJa0VwbFNkb1NlcU1pc3NDYiA9IDB4MDA2MCwJLy8gbm8gY2FsbGJhY2stZnVuY3Rpb24gYXNzaWduCglrRXBsU2RvU2VxTm9GcmVlSGFuZGxlID0gMHgwMDYxLAkvLyBubyBmcmVlIGhhbmRsZSBmb3IgY29ubmVjdGlvbgoJa0VwbFNkb1NlcUludmFsaWRIZGwgPSAweDAwNjIsCS8vIGludmFsaWQgaGFuZGxlIGluIFNETyBzZXF1ZW5jZSBsYXllcgoJa0VwbFNkb1NlcVVuc3VwcG9ydGVkUHJvdCA9IDB4MDA2MywJLy8gdW5zdXBwb3J0ZWQgUHJvdG9jb2wgc2VsZWN0ZWQKCWtFcGxTZG9TZXFOb0ZyZWVIaXN0b3J5ID0gMHgwMDY0LAkvLyBubyBmcmVlIGVudHJ5IGluIGhpc3RvcnkKCWtFcGxTZG9TZXFGcmFtZVNpemVFcnJvciA9IDB4MDA2NSwJLy8gdGhlIHNpemUgb2YgdGhlIGZyYW1lcyBpcyBub3QgY29ycmVjdAoJa0VwbFNkb1NlcVJlcXVlc3RBY2tOZWVkZWQgPSAweDAwNjYsCS8vIGluZGVpY2F0ZXMgdGhhdCB0aGUgaGlzdG9yeSBidWZmZXIgaXMgZnVsbAoJLy8gYW5kIGEgYWNrIHJlcXVlc3QgaXMgbmVlZGVkCglrRXBsU2RvU2VxSW52YWxpZEZyYW1lID0gMHgwMDY3LAkvLyBmcmFtZSBub3QgdmFsaWQKCWtFcGxTZG9TZXFDb25uZWN0aW9uQnVzeSA9IDB4MDA2OCwJLy8gY29ubmVjdGlvbiBpcyBidXN5IC0+IHJldHJ5IGxhdGVyCglrRXBsU2RvU2VxSW52YWxpZEV2ZW50ID0gMHgwMDY5LAkvLyBpbnZhbGlkIGV2ZW50IHJlY2VpdmVkCgoJLy8gYXJlYSBmb3IgU0RPIENvbW1hbmQgTGF5ZXIgTW9kdWxlIDB4MDA3MCAtIDB4MDA3RgoJa0VwbFNkb0NvbVVuc3VwcG9ydGVkUHJvdCA9IDB4MDA3MCwJLy8gdW5zdXBwb3J0ZWQgUHJvdG9jb2wgc2VsZWN0ZWQKCWtFcGxTZG9Db21Ob0ZyZWVIYW5kbGUgPSAweDAwNzEsCS8vIG5vIGZyZWUgaGFuZGxlIGZvciBjb25uZWN0aW9uCglrRXBsU2RvQ29tSW52YWxpZFNlcnZpY2VUeXBlID0gMHgwMDcyLAkvLyBpbnZhbGlkIFNETyBzZXJ2aWNlIHR5cGUgc3BlY2lmaWVkCglrRXBsU2RvQ29tSW52YWxpZEhhbmRsZSA9IDB4MDA3MywJLy8gaGFuZGxlIGludmFsaWQKCWtFcGxTZG9Db21JbnZhbGlkU2VuZFR5cGUgPSAweDAwNzQsCS8vIHRoZSBzdGF0ZWQgdG8gb2YgZnJhbWUgdG8gc2VuZCBpcwoJLy8gbm90IHBvc3NpYmxlCglrRXBsU2RvQ29tTm90UmVzcG9uc2libGUgPSAweDAwNzUsCS8vIGludGVybmFsIGVycm9yOiBjb21tYW5kIGxheWVyIGhhbmRsZSBpcwoJLy8gbm90IHJlc3BvbnNpYmxlIGZvciB0aGlzIGV2ZW50IGZyb20gc2VxdWVuY2UgbGF5ZXIKCWtFcGxTZG9Db21IYW5kbGVFeGlzdHMgPSAweDAwNzYsCS8vIGhhbmRsZSB0byBzYW1lIG5vZGUgYWxyZWFkeSBleGlzdHMKCWtFcGxTZG9Db21IYW5kbGVCdXN5ID0gMHgwMDc3LAkvLyB0cmFuc2ZlciB2aWEgdGhpcyBoYW5kbGUgaXMgYWxyZWFkeSBydW5uaW5nCglrRXBsU2RvQ29tSW52YWxpZFBhcmFtID0gMHgwMDc4LAkvLyBpbnZhbGlkIHBhcmFtZXRlcnMgcGFzc2VkIHRvIGZ1bmN0aW9uCgoJLy8gYXJlYSBmb3IgRVBMIEV2ZW50LU1vZHVsIDB4MDA4MCAtIDB4MDA4RgoJa0VwbEV2ZW50VW5rbm93blNpbmsgPSAweDAwODAsCS8vIHVua25vd24gc2luayBmb3IgZXZlbnQKCWtFcGxFdmVudFBvc3RFcnJvciA9IDB4MDA4MSwJLy8gZXJyb3IgZHVyaW5nIHBvc3Qgb2YgZXZlbnQKCgkvLyBhcmVhIGZvciBFUEwgVGltZXIgTW9kdWwgMHgwMDkwIC0gMHgwMDlGCglrRXBsVGltZXJJbnZhbGlkSGFuZGxlID0gMHgwMDkwLAkvLyBpbnZhbGlkIGhhbmRsZSBmb3IgdGltZXIKCWtFcGxUaW1lck5vVGltZXJDcmVhdGVkID0gMHgwMDkxLAkvLyBubyB0aW1lciB3YXMgY3JlYXRlZCBjYXVzZWQgYnkKCS8vIGFuIGVycm9yCgoJLy8gYXJlYSBmb3IgRVBMIFNETy9Bc25kIE1vZHVsZSAweDAwQTAgLSAweDBBRgoJa0VwbFNkb0FzbmRJbnZhbGlkTm9kZUlkID0gMHgwMEEwLAkvLzAgbm9kZSBpZCBpcyBpbnZhbGlkCglrRXBsU2RvQXNuZE5vRnJlZUhhbmRsZSA9IDB4MDBBMSwJLy8gbm8gZnJlZSBoYW5kbGUgZm9yIGNvbm5lY3Rpb24KCWtFcGxTZG9Bc25kSW52YWxpZEhhbmRsZSA9IDB4MDBBMiwJLy8gaGFuZGxlIGZvciBjb25uZWN0aW9uIGlzIGludmFsaWQKCgkvLyBhcmVhIGZvciBQRE8gbW9kdWxlIDB4MDBCMCAtIDB4MDBCRgoJa0VwbFBkb05vdEV4aXN0ID0gMHgwMEIwLAkvLyBzZWxlY3RlZCBQRE8gZG9lcyBub3QgZXhpc3QKCWtFcGxQZG9MZW5ndGhFeGNlZWRlZCA9IDB4MDBCMSwJLy8gbGVuZ3RoIG9mIFBETyBtYXBwaW5nIGV4Y2VlZGVzIDY0IGJpcwoJa0VwbFBkb0dyYW51bGFyaXR5TWlzbWF0Y2ggPSAweDAwQjIsCS8vIGNvbmZpZ3VyZWQgUERPIGdyYW51bGFyaXR5IGlzIG5vdCBlcXVhbCB0byBzdXBwb3J0ZWQgZ3JhbnVsYXJpdHkKCWtFcGxQZG9Jbml0RXJyb3IgPSAweDAwQjMsCS8vIGVycm9yIGR1cmluZyBpbml0aWFsaXNhdGlvbiBvZiBQRE8gbW9kdWxlCglrRXBsUGRvRXJyb3JQZG9FbmNvZGUgPSAweDAwQjQsCS8vIGVycm9yIGR1cmluZyBlbmNvZGluZyBhIFBETwoJa0VwbFBkb0Vycm9yUGRvRGVjb2RlID0gMHgwMEI1LAkvLyBlcnJvciBkdXJpbmcgZGVjb2RpbmcgYSBQRE8KCWtFcGxQZG9FcnJvclNlbmQgPSAweDAwQjYsCS8vIGVycm9yIGR1cmluZyBzZW5kaW5nIGEgUERPCglrRXBsUGRvRXJyb3JTeW5jV2luID0gMHgwMEI3LAkvLyB0aGUgU1lOQyB3aW5kb3cgcnVucyBvdXQgZHVyaW5nIHNlbmRpbmcgU1lOQy1QRE9zCglrRXBsUGRvRXJyb3JNYXBwID0gMHgwMEI4LAkvLyBpbnZhbGlkIFBETyBtYXBwaW5nCglrRXBsUGRvVmFyTm90Rm91bmQgPSAweDAwQjksCS8vIHZhcmlhYmxlIHdhcyBub3QgZm91bmQgaW4gZnVuY3Rpb24gUGRvU2lnbmFsVmFyKCkKCWtFcGxQZG9FcnJvckVtY3lQZG9MZW4gPSAweDAwQkEsCS8vIHRoZSBsZW5ndGggb2YgYSByZWNlaXZlZCBQRE8gaXMgdW5lcXVhbCB0byB0aGUgZXhwZWN0ZWQgdmFsdWUKCWtFcGxQZG9Xcml0ZUNvbnN0T2JqZWN0ID0gMHgwMEJCLAkvLyBjb25zdGFudCBvYmplY3QgY2FuIG5vdCBiZSB3cml0dGVuCgkvLyAob25seSBUeFR5cGUsIEluaGliaXQtLCBFdmVudCBUaW1lIGZvciBDQU5vcGVuIEtpdCkKCgkvLyBhcmVhIGZvciBMU1Mgc2xhdmUgbW9kdWxlCi8qICAgIGtFcGxMc3NzUmVzZXROb2RlICAgICAgICAgICA9IDB4MDA4MCwgICAgICAgLy8gTk1UIGNvbW1hbmQgInJlc2V0IG5vZGUiIGhhcyB0byBiZSBwcm9jZXNzZWQgYWZ0ZXIgTFNTIGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmV3IG9mIE5vZGVJZAogICAga0VwbExzc3NJbnZhbGlkTm9kZUlkICAgICAgID0gMHgwMDgxLCAgICAgICAvLyBubyB2YWxpZCBOb2RlSWQgaXMgY29uZmlndXJlZCAtPiB3YWl0IHVudGlsIGl0IGlzIGNvbmZpZ3VyZWQgd2l0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMU1Mgc2VydmljZSBiZWZvcmUgY2FsbGluZyBDY21Db25uZWN0VG9OZXQoKQoqLwoJLy8gYXJlYSBmb3IgZW1lcmdlbmN5IGNvbnN1bWVyIG1vZHVsZSAweDAwOTAgLSAweDAwOUYKLyogICAga0VwbEVtY2NOb0ZyZWVQcm9kdWNlckVudHJ5ID0gMHgwMDkwLCAgICAgICAvLyBubyBmcmVlIGVudHJ5IHRvIGFkZCBhIEVtZXJnZW5jeSBQcm9kdWNlcgogICAga0VwbEVtY2NOb2RlSWROb3RFeGlzdCAgICAgID0gMHgwMDkxLCAgICAgICAvLyBzZWxlY3RlZCBOb2RlSWQgd2FzIG5ldmVyIGFkZGVkCiAgICBrRXBsRW1jY05vZGVJZEludmFsaWQgICAgICAgPSAweDAwOTIsICAgICAgIC8vIHNlbGVjdGVkIE5vZGVJZCBpcyBvdXRzaWRlIG9mIHJhbmdlICgweDAxIHVudGlsIDB4N0YpCiAgICBrRXBsRW1jY05vZGVJZEV4aXN0ICAgICAgICAgPSAweDAwOTMsICAgICAgIC8vIHNlbGVjdGVkIE5vZGVJZCBhbHJlYWR5IGV4aXN0CiovCgkvLyBhcmVhIGZvciBkeW5hbWljIE9EIDB4MDBBMCAtIDB4MDBBRgovKiAgICBrRXBsRHluTm9NZW1vcnkgICAgICAgICAgICAgPSAweDAwQTAsICAgICAgIC8vIG5vIG1lbW9yeSBhdmFpbGFibGUKICAgIGtFcGxEeW5JbnZhbGlkQ29uZmlnICAgICAgICA9IDB4MDBBMSwgICAgICAgLy8gaW52YWxpZCBjb25maWd1cmF0aW9uIGluIHNlZ21lbnQgY29udGFpbmVyCiovCgkvLyBhcmVhIGZvciBoZXJ0YmVhdCBjb25zdW1lciBtb2R1bGUgMHgwMEIwIC0gMHgwMEJGCi8qICAgIGtFcGxIYmNFbnRyeU5vdEV4aXN0ICAgICAgICA9IDB4MDBCMCwgICAgICAgLy8gSGVhcnRiZWF0IFByb2R1Y2VyIG5vZGUgbm90IGNvbmZpZ3VyZWQKICAgIGtFcGxIYmNFbnRyeUFscmVhZHlFeGlzdCAgICA9IDB4MDBCMSwgICAgICAgLy8gTm9kZUlkIHdhcyBhbHJlYWR5IGRlZmluZWQgaW4gaGVhcnRiZWF0IGNvbnN1bWVyIHRhYmxlIChvYmplY3QgMHgxMDE2KQoqLwoJLy8gQ29uZmlndXJhdGlvbiBtYW5hZ2VyIG1vZHVsZSAweDAwQzAgLSAweDAwQ0YKCWtFcGxDZmdNYUNvbmZpZ0Vycm9yID0gMHgwMEMwLAkvLyBlcnJvciBpbiBjb25maWd1cmF0aW9uIG1hbmFnZXIKCWtFcGxDZmdNYVNkb2NUaW1lT3V0RXJyb3IgPSAweDAwQzEsCS8vIGVycm9yIGluIGNvbmZpZ3VyYXRpb24gbWFuYWdlciwgU2RvIHRpbWVvdXQKCWtFcGxDZmdNYUludmFsaWREY2YgPSAweDAwQzIsCS8vIGNvbmZpZ3JhdGlvbiBmaWxlIG5vdCB2YWxpZAoJa0VwbENmZ01hVW5zdXBwb3J0ZWREY2YgPSAweDAwQzMsCS8vIHVuc3VwcG9ydGVkIERjZiBmb3JtYXQKCWtFcGxDZmdNYUNvbmZpZ1dpdGhFcnJvcnMgPSAweDAwQzQsCS8vIGNvbmZpZ3VyYXRpb24gZmluaXNoZWQgd2l0aCBlcnJvcnMKCWtFcGxDZmdNYU5vRnJlZUNvbmZpZyA9IDB4MDBDNSwJLy8gbm8gZnJlZSBjb25maWd1cmF0aW9uIGVudHJ5CglrRXBsQ2ZnTWFOb0NvbmZpZ0RhdGEgPSAweDAwQzYsCS8vIG5vIGNvbmZpZ3VyYXRpb24gZGF0YSBwcmVzZW50CglrRXBsQ2ZnTWFVbnN1cHBEYXRhdHlwZURjZiA9IDB4MDBDNywJLy8gdW5zdXBwb3J0ZWQgZGF0YXR5cGUgZm91bmQgaW4gZGNmCgkvLyAtPiB0aGlzIGVudHJ5IHdhcyBub3QgY29uZmlndXJlZAoKCS8vIGFyZWEgZm9yIExTUyBtYXN0ZXIgbW9kdWxlIDB4MDBEMCAtIDB4MDBERgovKiAgICBrRXBsTHNzbUlsbGVnYWxNb2RlICAgICAgICAgPSAweDAwRDAsICAgICAgIC8vIGlsbGVnYWwgTFNTIG1vZGUgKG9wZXJhdGlvbiAvIGNvbmZpZ3VyYXRpb24pCiAgICBrRXBsTHNzbUlsbGVnYWxTdGF0ZSAgICAgICAgPSAweDAwRDEsICAgICAgIC8vIGZ1bmN0aW9uIHdhcyBjYWxsZWQgaW4gaWxsZWdhbCBzdGF0ZSBvZiBMU1MgbWFzdGVyCiAgICBrRXBsTHNzbUJ1c3kgICAgICAgICAgICAgICAgPSAweDAwRDIsICAgICAgIC8vIExTUyBwcm9jZXNzIGlzIGJ1c3kgd2l0aCBhbiBwcmV2aW91cyBzZXJ2aWNlCiAgICBrRXBsTHNzbUlsbGVnYWxDbWQgICAgICAgICAgPSAweDAwRDMsICAgICAgIC8vIGlsbGVnYWwgY29tbWFuZCBjb2RlIHdhcyBzZXQgZm9yIGZ1bmN0aW9uIExzc21JbnF1aXJlSWRlbnRpdHkoKQogICAga0VwbExzc21UaW1lb3V0ICAgICAgICAgICAgID0gMHgwMEQ0LCAgICAgICAvLyBMU1Mgc2xhdmUgZGlkIG5vdCBhbnN3ZXIgYSBMU1Mgc2VydmljZQogICAga0VwbExzc21FcnJvckluQ29uZmlybSAgICAgID0gMHgwMEQ1LCAgICAgICAvLyBMU1Mgc2xhdmUgcmVwbGllZCBhbiBlcnJvciBjb2RlIGZvciBhIExTUyBzZXJ2aWNlCiovCgkvLyBhcmVhIGZvciBDQ00gbW9kdWxlcyAweDAwRTAgLSAweEVGCi8qICAgIGtFcGxDY21TdG9yZVVudmFsaWRTdGF0ZSAgICA9IDB4MDBFMCwgICAgICAgLy8gbWVtb3J5IGRldmljZSBub3QgYXZhaWxhYmxlIGR1ZSBkZXZpY2Ugc3RhdGUKICAgIGtFcGxDY21TdG9yZUh3RXJyb3IgICAgICAgICA9IDB4MDBFMSwgICAgICAgLy8gaHcgZXJyb3IgZHVlIGRldmljZSBhY2Nlc3MKKi8KCS8vIGFyZWEgZm9yIFNSRE8gbW9kdWxlIDB4MDEwMCAtIDB4MDExRgovKiAgICBrRXBsU3Jkb05vdEV4aXN0ICAgICAgICAgICAgPSAweDAxMDAsICAgICAgIC8vIHNlbGVjdGVkIFNSRE8gZG9lcyBub3QgZXhpc3QKICAgIGtFcGxTcmRvR3JhbnVsYXJpdHlNaXNtYXRjaCA9IDB4MDEwMSwgICAgICAgLy8gY29uZmlndXJlZCBTUkRPIGdyYW51bGFyaXR5IGlzIG5vdCBlcXVhbCB0byBzdXBwb3J0ZWQgZ3JhbnVsYXJpdHkKICAgIGtFcGxTcmRvQ2ZnVGltaW5nRXJyb3IgICAgICA9IDB4MDEwMiwgICAgICAgLy8gY29uZmlndXJhdGlvbiBpcyBub3Qgb2sgKFRpbWluZykKICAgIGtFcGxTcmRvQ2ZnSWRFcnJvciAgICAgICAgICA9IDB4MDEwMywgICAgICAgLy8gY29uZmlndXJhdGlvbiBpcyBub3Qgb2sgKENvYklkcykKICAgIGtFcGxTcmRvQ2ZnQ3JjRXJyb3IgICAgICAgICA9IDB4MDEwNCwgICAgICAgLy8gY29uZmlndXJhdGlvbiBpcyBub3Qgb2sgKENSQykKICAgIGtFcGxTcmRvTm10RXJyb3IgICAgICAgICAgICA9IDB4MDEwNSwgICAgICAgLy8gYW4gYWN0aW9uIHdhcyB0cmllZCBpbiBhIHdyb25nIE5NVCBzdGF0ZQogICAga0VwbFNyZG9JbnZhbGlkQ2ZnICAgICAgICAgID0gMHgwMTA2LCAgICAgICAvLyBhbiBhY3Rpb24gd2FzIHRyaWVkIHdpdGggYW4gaW52YWxkIFNSRE8gY29uZmlndXJhdGlvbgogICAga0VwbFNyZG9JbnZhbGlkICAgICAgICAgICAgID0gMHgwMTA3LCAgICAgICAvLyBhbiBhY3Rpb24gd2FzIHRyaWVkIHdpdGggYW4gaW52YWxkIFNSRE8KICAgIGtFcGxTcmRvUnhUeENvbmZsaWN0ICAgICAgICA9IDB4MDEwOCwgICAgICAgLy8gYW4gdHJhbnNtaXNzaW9uIHdhcyB0cmllZCB3aXRoIGFuIHJlY2VpdmUgU1JETyAob3IgdGhlIG90aGVyIHdheSkKICAgIGtFcGxTcmRvSWxsZWdhbENhbklkICAgICAgICA9IDB4MDEwOSwgICAgICAgLy8gdGhlIENhbklkIGlzIGludmFsaWQKICAgIGtFcGxTcmRvQ2FuSWRBbHJlYWR5SW5Vc2UgICA9IDB4MDEwQSwgICAgICAgLy8gdGhlIENhbklkIGlzIGFscmVhZHkgaW4gdXNlCiAgICBrRXBsU3Jkb05vdEluT3JkZXIgICAgICAgICAgPSAweDAxMEIsICAgICAgIC8vIHRoZSB0d28gbWVzc2FnZXMgb2YgYSBTUkRPIGFyZSBub3QgaW4gb3JkZXIKICAgIGtFcGxTcmRvU2N0VGltZW91dCAgICAgICAgICA9IDB4MDEwQywgICAgICAgLy8gdGltZW91dCBvZiBTQ1QKICAgIGtFcGxTcmRvU3J2dFRpbWVvdXQgICAgICAgICA9IDB4MDEwRCwgICAgICAgLy8gdGltZW91dCBvZiBTUlZUCiAgICBrRXBsU3Jkb0NhbklkTm90VmFsaWQgICAgICAgPSAweDAxMEUsICAgICAgIC8vIG9uZSBvZiByZWNlaXZlZCBDQU4tSURzIGFyZSBub3QgZXF1YWwgdG8gY29uZmlndXJlZCBvbmUKICAgIGtFcGxTcmRvRGxjTm90VmFsaWQgICAgICAgICA9IDB4MDEwRiwgICAgICAgLy8gb25lIG9mIHJlY2VpdmVkIENBTi1ETEMgYXJlIG5vdCBlcXVhbCB0byBjb25maWd1cmVkIG9uZQogICAga0VwbFNyZG9FcnJvck1hcHAgICAgICAgICAgID0gMHgwMTEwLCAgICAgICAvLyB3cm9uZyB2YWx1ZXMgaW4gbWFwcGluZyBmb3VuZAogICAga0VwbFNyZG9EYXRhRXJyb3IgICAgICAgICAgID0gMHgwMTExLCAgICAgICAvLyBkYXRhIG9mIENBTiBtZXNzYWdlcyBhcmUgbm90IGludmVycwogICAga0VwbFNyZG9MZW5ndGhFeGNlZWRlZCAgICAgID0gMHgwMTEyLCAgICAgICAvLyBsZW5ndGggb2YgU1JETyBtYXBwaW5nIGV4Y2VlZGVzIDY0IGJpdCBwZXIgQ0FOLW1lc3NhZ2UKICAgIGtFcGxTcmRvTm90SGFuZGxlZEluQXBwICAgICA9IDB4MDExMywgICAgICAgLy8gdGhlIFNSRE8gZXJyb3Igd2FzIG5vdCBoYW5kbGVkIGluIEFwcFNyZG9FcnJvcigpCiAgICBrRXBsU3Jkb092ZXJydW4gICAgICAgICAgICAgPSAweDAxMTQgICAgICAgIC8vIGEgUnhTUkRPIHdhcyByZWNlaXZlZCBidXQgdGhlIHBldmlvdXMgb25lIHdhcyBub3QgZWxzZSBwcm9jZXNzZWQKKi8KCglrRXBsQXBpVGFza0RlZmVycmVkID0gMHgwMTQwLAkvLyBFUEwgcGVyZm9ybXMgdGFzayBpbiBiYWNrZ3JvdW5kIGFuZCBpbmZvcm1zIHRoZSBhcHBsaWNhdGlvbiAob3IgdmljZS12ZXJzYSksIHdoZW4gaXQgaXMgZmluaXNoZWQKCWtFcGxBcGlJbnZhbGlkUGFyYW0gPSAweDAxNDIsCS8vIHBhc3NlZCBpbnZhbGlkIHBhcmFtZXRlcnMgdG8gYSBmdW5jdGlvbiAoZS5nLiBpbnZhbGlkIG5vZGUgaWQpCgoJLy8gYXJlYSB1bnRpbGwgMHgwN0ZGIGlzIHJlc2VydmVkCgkvLyBhcmVhIGZvciB1c2VyIGFwcGxpY2F0aW9uIGZyb20gMHgwODAwIHRvIDB4N0ZGRgoKfSB0RXBsS2VybmVsOwoKI2VuZGlmCi8vRU9GCgovLyBEaWUgbGV0enRlIFplaWxlIG113yB1bmJlZGluZ3QgZWluZSBsZWVyZSBaZWlsZSBzZWluLCB3ZWlsIG1hbmNoZSBDb21waWxlcgovLyBkYW1pdCBlaW4gUHJvYmxlbSBoYWJlbiwgd2VubiBkYXMgbmljaHQgc28gaXN0ICh6LkIuIEdOVSBvZGVyIEJvcmxhbmQgQysrIEJ1aWxkZXIpLgo=