IwojIFBsZWFzZSBkb24ndCBtb2RpZnkgdGhpcyBmaWxlIGFzIHlvdXIgY2hhbmdlcyB3aWxsIGJlIG92ZXJ3cml0dGVuIHdpdGgKIyB0aGUgbmV4dCB1cGRhdGUuIFVzZSBAQExPQ0FMX1JVTEVTX0RJUkBAL2xvY2FsLmNmIGluc3RlYWQuCiMgU2VlICdwZXJsZG9jIE1haWw6OlNwYW1Bc3Nhc3Npbjo6Q29uZicgZm9yIGRldGFpbHMuCiMKIyA8QExJQ0VOU0U+CiMgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCiMgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCiMgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgojIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIHlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCiMgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKIyB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKIwojICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKIwojIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAojIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgojIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIyA8L0BMSUNFTlNFPgojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBjaGFyYWN0ZXIgc2V0CmxhbmcgcHRfQlIgcmVwb3J0X2NoYXJzZXQgaXNvLTg4NTktMQoKIyBwdF9CUiB0cmFuc2xhdGlvbiBieSBXM1AgUHJvamV0b3MgV2ViIChodHRwOi8vd3d3LnczcC5jb20uYnIvKQoKbGFuZyBwdF9CUiBjbGVhcl9yZXBvcnRfdGVtcGxhdGUKbGFuZyBwdF9CUiByZXBvcnQgTyBmaWx0cm8gZGUgc3BhbSBkbyBzZXJ2aWRvciAiX0hPU1ROQU1FXyIgaWRlbnRpZmljb3UgZXN0ZQpsYW5nIHB0X0JSIHJlcG9ydCBlLW1haWwgY29tbyB1bSBzcGFtLiAgQSBtZW5zYWdlbSBvcmlnaW5hbCBlc3ThIGFuZXhhIGEgZXN0ZQpsYW5nIHB0X0JSIHJlcG9ydCBlc3RlIGUtbWFpbCBwYXJhIHF1ZSBwb3NzYSBzZXIgdmlzdWFsaXphZGEgKGNhc28gbuNvIHNlamEKbGFuZyBwdF9CUiByZXBvcnQgdW0gc3BhbSkgb3UgcGFyYSBxdWUgZW1haWxzIGZ1dHVyb3Mgc2ltaWxhcmVzIGEgZXN0ZSBzZWphbQpsYW5nIHB0X0JSIHJlcG9ydCBtYXJjYWRvcyBjb21vIHNwYW0gdGFtYultLiBDYXNvIHRlbmhhIGFsZ3VtYSBk+nZpZGEsIGVudHJlCmxhbmcgcHRfYnIgcmVwb3J0IGVtIGNvbnRhdG8gbm8gZW1haWwgX0NPTlRBQ1RBRERSRVNTXyBwYXJhIG1haXMgZGV0YWxoZXMuCmxhbmcgcHRfQlIgcmVwb3J0CmxhbmcgcHRfQlIgcmVwb3J0IFZpc3VhbGl6YefjbyBkZSB1bSB0cmVjaG86ICBfUFJFVklFV18KbGFuZyBwdF9CUiByZXBvcnQKbGFuZyBwdF9CUiByZXBvcnQgRGV0YWxoZXMgZGEgYW7hbGlzZTogICAoX1NDT1JFXyBwb250b3MsIG3tbmltbyBkZSBfUkVRRF8pCmxhbmcgcHRfQlIgcmVwb3J0CmxhbmcgcHRfQlIgcmVwb3J0ICIgcHRzIHJlZ3JhICAgICAgICAgICAgICAgICAgZGVzY3Jp5+NvIgpsYW5nIHB0X0JSIHJlcG9ydCAgLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmxhbmcgcHRfQlIgcmVwb3J0IF9TVU1NQVJZXwoKbGFuZyBwdF9CUiBjbGVhcl91bnNhZmVfcmVwb3J0X3RlbXBsYXRlCmxhbmcgcHRfQlIgdW5zYWZlX3JlcG9ydCBBIG1lbnNhZ2VtIG9yaWdpbmFsIG7jbyBlc3RhdmEgZW0gdGV4dG8gcHVybyBlIHBvZGUgc2VyIGluc2VndXJvIGFicu0tbGEKbGFuZyBwdF9CUiB1bnNhZmVfcmVwb3J0IGVtIGFsZ3VucyBjbGllbnRlcyBkZSBlbWFpbDsgbWFpcyBlc3BlY2lmaWNhbWVudGUsIGVsYSBwb2RlIGNvbnRlciB1bSB27XJ1cwpsYW5nIHB0X0JSIHVuc2FmZV9yZXBvcnQgb3UgY29uZmlybWFyIHF1ZSBzZXUgZW5kZXJl528gZGUgZW1haWwgcG9kZSByZWNlYmVyIHNwYW0uCmxhbmcgcHRfQlIgdW5zYWZlX3JlcG9ydCBTZSBxdWlzZXIgdmlzdWFsaXphciBhIG1lbnNhZ2VtLCBwb2RlIHNlciBtYWlzIHNlZ3VybyBzYWx24S1sYSBlbSB1bSBhcnF1aXZvCmxhbmcgcHRfQlIgdW5zYWZlX3JlcG9ydCBlIGFicu0tbGEgY29tIHVtIGVkaXRvci4KCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVNFUl9JTl9CTE9DS0xJU1QgRW5kZXJl528gZG8gRnJvbTogZXN04SBuYSBibG9ja2xpc3QgZG8gdXN14XJpbwpsYW5nIHB0X0JSIGRlc2NyaWJlIFVTRVJfSU5fV0VMQ09NRUxJU1QgRW5kZXJl528gZG8gRnJvbTogZXN04SBuYSB3ZWxjb21lbGlzdCBkbyB1c3XhcmlvCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVNFUl9JTl9ERUZfV0VMQ09NRUxJU1QgRW5kZXJl528gZG8gRnJvbTogZXN04SBuYSB3ZWxjb21lbGlzdCBwYWRy428KbGFuZyBwdF9CUiBkZXNjcmliZSBVU0VSX0lOX0JMT0NLTElTVF9UTyBVc3XhcmlvIGVzdOEgbGlzdGFkbyBuYSAnYmxvY2tsaXN0X3RvJwpsYW5nIHB0X0JSIGRlc2NyaWJlIFVTRVJfSU5fV0VMQ09NRUxJU1RfVE8gVXN14XJpbyBlc3ThIGxpc3RhZG8gbmEgJ3dlbGNvbWVsaXN0X3RvJwpsYW5nIHB0X0JSIGRlc2NyaWJlIFVTRVJfSU5fTU9SRV9TUEFNX1RPIFVzdeFyaW8gZXN04SBsaXN0YWRvIG5hICdtb3JlX3NwYW1fdG8nCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVNFUl9JTl9BTExfU1BBTV9UTyBVc3XhcmlvIGVzdOEgbGlzdGFkbyBuYSAnYWxsX3NwYW1fdG8nCgppZnBsdWdpbiBNYWlsOjpTcGFtQXNzYXNzaW46OlBsdWdpbjo6QVdMCmxhbmcgcHRfQlIgZGVzY3JpYmUgQVdMIEVuZGVyZedvIGRvIEZyb206IGVzdOEgbmEgYXV0byB3ZWxjb21lbGlzdAplbmRpZgoKIyAyMF9hZHZhbmNlX2ZlZS5jZiAtIFRoZXNlIGFyZSByZW1vdmVkIGFuZCB3aWxsIGJyZWFrIGxpbnQKI2xhbmcgcHRfQlIgZGVzY3JpYmUgQURWQU5DRV9GRUVfMiBBcGFyZW50YSBzZXIgZnJhdWRlIChOaWdlcmlhbiA0MTkpCiNsYW5nIHB0X0JSIGRlc2NyaWJlIEFEVkFOQ0VfRkVFXzNfTkVXIEFwYXJlbnRhIHNlciBmcmF1ZGUgKE5pZ2VyaWFuIDQxOSkKI2xhbmcgcHRfQlIgZGVzY3JpYmUgQURWQU5DRV9GRUVfNF9ORVcgQXBhcmVudGEgc2VyIGZyYXVkZSAoTmlnZXJpYW4gNDE5KQoKIyAyMF9ib2R5X3Rlc3RzLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgR1RVQkUgR2VuZXJpYyBUZXN0IGZvciBVbnNvbGljaXRlZCBCdWxrIEVtYWlsCmxhbmcgcHRfQlIgZGVzY3JpYmUgVFJBQ0tFUl9JRCBNZW5zYWdlbSBjb2506W0gdW0gY/NkaWdvIHJhc3RyYW1lbnRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgV0VJUkRfUVVPVElORyBQb3NzdWkgY2FyYWN0ZXJlcyAiIiBlc3RyYW5ob3MKbGFuZyBwdF9CUiBkZXNjcmliZSBNSU1FX0hUTUxfT05MWV9NVUxUSSBNZW5zYWdlbSBkaXogc2VyIG11bHRpcGFydCBtYXMgc/MgcG9zc3VpIGZvcm1hdG8gdGV4dC9odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlNRV9DSEFSU0VUX0ZBUkFXQVkgTUlNRSBjaGFyYWN0ZXIgc2V0IGluZGljYSBpZGlvbWEgZXN0cmFuZ2Vpcm8KbGFuZyBwdF9CUiBkZXNjcmliZSBFTUFJTF9ST1QxMyBNZW5zYWdlbSBjb2506W0gdW0gZW5kZXJl528gZGUgZW1haWwgY29kaWZpY2FkbyBjb20gUk9UMTMKbGFuZyBwdF9CUiBkZXNjcmliZSBMT05HV09SRFMgQ29udOltIHRyZWNob3MgbG9uZ29zIGRlIHBhbGF2cmFzIGV4dGVuc2FzCmxhbmcgcHRfQlIgZGVzY3JpYmUgTVBBUlRfQUxUX0RJRkYgVmVyc+NvIEhUTUwgZSB2ZXJz428gVGV4dG8gZGEgbWVuc2FnZW0gc+NvIGRpZmVyZW50ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBNUEFSVF9BTFRfRElGRl9DT1VOVCBWZXJz428gSFRNTCBlIHZlcnPjbyBUZXh0byBkYSBtZW5zYWdlbSBz428gZGlmZXJlbnRlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEJMQU5LX0xJTkVTXzgwXzkwIENvcnBvIGRhIG1lbnNhZ2VtIOkgY29tcG9zdG8gcG9yIDgwLTkwJSBkZSBsaW5oYXMgZW0gYnJhbmNvCmxhbmcgcHRfQlIgZGVzY3JpYmUgQ0hBUlNFVF9GQVJBV0FZIENoYXJhY3RlciBzZXQgaW5kaWNhIHVtIGlkaW9tYSBlc3RyYW5nZWlybwpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fTUlNRV9CQVNFNjQgUG9zc3VpIGFuZXhvIG5vIGZvcm1hdG8gYmFzZTY0CmxhbmcgcHRfQlIgZGVzY3JpYmUgX19NSU1FX1FQIFBvc3N1aSBhbmV4byBubyBmb3JtYXRvIHF1b3RlZC1wcmludGFibGUKI2xhbmcgcHRfQlIgZGVzY3JpYmUgTUlNRV9CQVNFNjRfQkxBTktTIFBvc3N1aSBsaW5oYXMgdmF6aWFzIGV4dHJhcyBlbSBjb2RpZmljYefjbyBiYXNlNjQKbGFuZyBwdF9CUiBkZXNjcmliZSBNSU1FX0JBU0U2NF9URVhUIFRleHRvIGRhIG1lbnNhZ2VtIGVzdOEgZGlzZmFy52FkbyB1c2FuZG8gY29kaWZpY2Hn428gYmFzZTY0CmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlTU0lOR19NSU1FX0hCX1NFUCBGYWx0YSBsaW5oYSBlbSBicmFuY28gZW50cmUgTUlNRSBoZWFkZXIgZSBCb2R5CmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlNRV9IVE1MX01PU1RMWSBNZW5zYWdlbSBtdWx0aXBhcnQg6SBjb21wb3N0YSBlbSBzdWEgbWFpb3JpYSBwb3IgdGV4dC9odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlNRV9IVE1MX09OTFkgTWVuc2FnZW0gc29tZW50ZSBwb3NzdWkgZm9ybWF0byB0ZXh0L2h0bWwKbGFuZyBwdF9CUiBkZXNjcmliZSBNSU1FX1FQX0xPTkdfTElORSBMaW5oYSBkbyB0aXBvIFF1b3RlZC1wcmludGFibGUgbWFpb3IgcXVlIDc2IGNhcmFjdGVyZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBNSU1FX0JBRF9JU09fQ0hBUlNFVCBNSU1FIGNoYXJhY3RlciBzZXQg6SB1bSBjaGFyc2V0IElTTyBkZXNjb25oZWNpZG8KbGFuZyBwdF9CUiBkZXNjcmliZSBIVFRQU19JUF9NSVNNQVRDSCBMaW5rIGluZGljYSBIVFRQUywgbWFzIG5hIHZlcmRhZGUgYXBvbnRhIHBhcmEgdW0gSVAKbGFuZyBwdF9CUiBkZXNjcmliZSBVUklfVFJVTkNBVEVEIE1lbnNhZ2VtIHBvc3N1aSB1bWEgVVJJIHF1ZSBmb2kgdHJ1bmNhZGEKCiMgMjBfY29tcGVuc2F0ZS5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIE5PX1JFQ0VJVkVEIEluZm9ybWHn4286IG1lbnNhZ2VtIG7jbyBwb3NzdWkgY2FiZedhbGhvIFJlY2VpdmVkOgpsYW5nIHB0X0JSIGRlc2NyaWJlIEFMTF9UUlVTVEVEIE1lbnNhZ2VtIHBhc3NvdSB2aWEgU01UUCBhcGVuYXMgcG9yIGhvc3RzIGNvbmZp4XZlaXMKbGFuZyBwdF9CUiBkZXNjcmliZSBOT19SRUxBWVMgSW5mb3JtYefjbzogbWVuc2FnZW0gbuNvIGZvaSByZWNlYmlkYSB2aWEgU01UUAoKIyAyMF9kbnNibF90ZXN0cy5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fUkNWRF9JTl9TT1JCUyBSZWNlYmlkYSBwb3IgdW0gcmVsYXkgbGlzdGFkbyBlbSBTT1JCUwpsYW5nIHB0X0JSIGRlc2NyaWJlIFJDVkRfSU5fU09SQlNfSFRUUCBTT1JCUzogcmVtZXRlbnRlIOkgdW0gcHJveHkgSFRUUCBhYmVydG8KbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1NPUkJTX1NPQ0tTIFNPUkJTOiByZW1ldGVudGUg6SB1bSBwcm94eSBTT0NLUyBhYmVydG8KbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1NPUkJTX01JU0MgU09SQlM6IHJlbWV0ZW50ZSDpIHVtIHByb3h5IGFiZXJ0bwpsYW5nIHB0X0JSIGRlc2NyaWJlIFJDVkRfSU5fU09SQlNfU01UUCBTT1JCUzogcmVtZXRlbnRlIOkgdW0gcmVsYXkgU01UUCBhYmVydG8KbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1NPUkJTX1dFQiBTT1JCUzogcmVtZXRlbnRlIOkgdW0gc2Vydmlkb3Igd2ViIGV4cGxvcuF2ZWwKbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1NPUkJTX0JMT0NLIFNPUkJTOiByZW1ldGVudGUgcmVxdWVyIHF1ZSBu428gc2VqYSB0ZXN0YWRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9TT1JCU19aT01CSUUgU09SQlM6IHJlbWV0ZW50ZSBlc3ThIGVtIHVtYSByZWRlIGNvbXByb21ldGlkYQpsYW5nIHB0X0JSIGRlc2NyaWJlIFJDVkRfSU5fU09SQlNfRFVMIFNPUkJTOiBtZW5zYWdlbSBlbnZpYWRhIGEgcGFydGlyIGRlIHVtIElQIGRpbuJtaWNvCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SQ1ZEX0lOX1pFTiBSZWNlYmlkYSBwb3IgdW0gcmVsYXkgbGlzdGFkbyBlbSBTcGFtaGF1cyBaZW4KbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1NCTCBSZWNlYmlkYSBwb3IgdW0gcmVsYXkgbGlzdGFkbyBlbSBTcGFtaGF1cyBTQkwKbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1hCTCBSZWNlYmlkYSBwb3IgdW0gcmVsYXkgbGlzdGFkbyBlbSBTcGFtaGF1cyBYQkwKbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX1BCTCBSZWNlYmlkYSBwb3IgdW0gcmVsYXkgbGlzdGFkbyBlbSBTcGFtaGF1cyBQQkwKbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0lOX0JMX1NQQU1DT1BfTkVUIFJlY2ViaWRhIHBvciB1bSByZWxheSBsaXN0YWRvIGVtIGJsLnNwYW1jb3AubmV0CmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9NQVBTX1JCTCBSZWxheSBjb25zdGEgZW0gUkJMLCBodHRwOi8vd3d3Lm1haWwtYWJ1c2UuY29tL2VuZHVzZXJpbmZvX3JibC5odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9NQVBTX0RVTCBSZWxheSBjb25zdGEgZW0gRFVMLCBodHRwOi8vd3d3Lm1haWwtYWJ1c2UuY29tL2VuZHVzZXJpbmZvX2R1bC5odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9NQVBTX1JTUyBSZWxheSBjb25zdGEgZW0gUlNTLCBodHRwOi8vd3d3Lm1haWwtYWJ1c2UuY29tL2VuZHVzZXJpbmZvX3Jzcy5odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9NQVBTX09QUyBSZWxheSBjb25zdGEgZW0gT1BTLCBodHRwOi8vd3d3Lm1haWwtYWJ1c2UuY29tL2VuZHVzZXJpbmZvX29wcy5odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9NQVBTX05NTCBSZWxheSBjb25zdGEgZW0gTk1MLCBodHRwOi8vd3d3Lm1haWwtYWJ1c2UuY29tL2VuZHVzZXJpbmZvX25tbC5odG1sCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9JTl9JQURCX1ZPVUNIRUQgSVNJUFAgSUFEQiBpbmRpY2EgcXVlIG8gcmVtZXRlbnRlIOkgY29uZmnhdmVsICh2b3VjaGVkLWZvciBzZW5kZXIpCgojIDIwX2RydWdzLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSkVDVF9EUlVHX0dBUF9DIEFzc3VudG8gY29udOltIHVtYSBtb2RpZmljYefjbyBkYSBwYWxhdnJhICdjaWFsaXMnCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSkVDVF9EUlVHX0dBUF9MIEFzc3VudG8gY29udOltIHVtYSBtb2RpZmljYefjbyBkYSBwYWxhdnJhICdsZXZpdHJhJwpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpFQ1RfRFJVR19HQVBfUyBBc3N1bnRvIGNvbnTpbSB1bWEgbW9kaWZpY2Hn428gZGEgcGFsYXZyYSAnc29tYScKI2xhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSkVDVF9EUlVHX0dBUF9WQSBBc3N1bnRvIGNvbnTpbSB1bWEgbW9kaWZpY2Hn428gZGEgcGFsYXZyYSAndmFsaXVtJwpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpFQ1RfRFJVR19HQVBfWCBBc3N1bnRvIGNvbnTpbSB1bWEgbW9kaWZpY2Hn428gZGEgcGFsYXZyYSAneGFuYXgnCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR19ET1NBR0UgTWVuc2FnZW0g6SBzb2JyZSBwcmXnbyBwb3IgZG9zZSAocHJpY2UgcGVyIGRvc2UpCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR19FRF9DQVBTIE1lbmNpb25hIHVtYSBkcm9nYSBwYXJhIGRpc2Z1bufjbyBlcul0aWwKbGFuZyBwdF9CUiBkZXNjcmliZSBEUlVHX0VEX1NJTEQgTWVuY2lvbmEgbyBwcmluY+1waW8gYXRpdm8gZGUgdW1hIGRyb2dhIHBhcmEgZGlzZnVu5+NvIGVy6XRpbApsYW5nIHB0X0JSIGRlc2NyaWJlIERSVUdfRURfR0VORVJJQyBNZW5jaW9uYSAiR2VuZXJpYyBWaWFncmEiCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR19FRF9PTkxJTkUgQ29udOltICJGYXN0IFZpYWdyYSBEZWxpdmVyeSIKbGFuZyBwdF9CUiBkZXNjcmliZSBPTkxJTkVfUEhBUk1BQ1kgQ29udOltICJPbmxpbmUgUGhhcm1hY3kiCmxhbmcgcHRfQlIgZGVzY3JpYmUgTk9fUFJFU0NSSVBUSU9OIENvbnTpbSBhIGZyYXNlICJObyBwcmVzY3JpcHRpb24gbmVlZGVkIgpsYW5nIHB0X0JSIGRlc2NyaWJlIFZJQV9HQVBfR1JBIFRlbnRhdGl2YSBkZSBkaXNmYXLnYXIgYSBwYWxhdnJhICd2aWFncmEnCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR1NfRVJFQ1RJTEUgUmVmZXJlLXNlIGEgdW1hIGRyb2dhIHBhcmEgZGlzZnVu5+NvIGVy6XRpbApsYW5nIHB0X0JSIGRlc2NyaWJlIERSVUdTX0VSRUNUSUxFX09CRlUgUmVmZXLqbmNpYSBvZnVzY2FkYSBhIHVtYSBkcm9nYSBwYXJhIGRpc2Z1bufjbyBlcul0aWwKbGFuZyBwdF9CUiBkZXNjcmliZSBEUlVHU19ESUVUIFJlZmVyZS1zZSBhIHVtYSBkcm9nYSBwYXJhIGRpZXRhCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR1NfRElFVF9PQkZVIFJlZmVy6m5jaWEgb2Z1c2NhZGEgYSB1bWEgZHJvZ2EgcGFyYSBkaWV0YQpsYW5nIHB0X0JSIGRlc2NyaWJlIERSVUdTX01VU0NMRSBSZWZlcupuY2lhIGEgdW0gcmVsYXhhbnRlIG11c2N1bGFyCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR1NfQU5YSUVUWSBSZWZlcupuY2lhIGEgdW1hIGRyb2dhIHBhcmEgY29udHJvbGUgZGUgYW5zaWVkYWRlCmxhbmcgcHRfQlIgZGVzY3JpYmUgRFJVR1NfQU5YSUVUWV9PQkZVIFJlZmVy6m5jaWEgb2Z1c2NhZGEgYSB1bWEgZHJvZ2EgcGFyYSBjb250cm9sZSBkZSBhbnNpZWRhZGUKbGFuZyBwdF9CUiBkZXNjcmliZSBEUlVHU19TTUVBUjEgRHVhcyBvdSBtYWlzIGRyb2dhcyBlbSB1bWEgcGFsYXZyYSBz8wpsYW5nIHB0X0JSIGRlc2NyaWJlIERSVUdTX0FOWElFVFlfRVJFQyBSZWZlcmUtc2UgYSB1bWEgZHJvZ2EgcGFyYSBkaXNmdW7n428gZXLpdGlsIGUgb3V0cmEgcGFyYSBjb250cm9sZSBkZSBhbnNpZWRhZGUKbGFuZyBwdF9CUiBkZXNjcmliZSBEUlVHU19TTEVFUF9FUkVDIFJlZmVyZS1zZSBhIHVtYSBkcm9nYSBwYXJhIGRpc2Z1bufjbyBlcul0aWwgZSB1bSBjYWxtYW50ZQpsYW5nIHB0X0JSIGRlc2NyaWJlIERSVUdTX01BTllLSU5EUyBSZWZlcmUtc2UgYW8gbWVub3MgYSBxdWF0cm8gdGlwb3MgZGUgZHJvZ2FzIGRpZmVyZW50ZXMKCiMgMjBfZHlucmRucy5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fUkROU19EWU5BTUlDX0lQQUREUiBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKElQIGFkZHIgMSkKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19ESENQIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoREhDUCkKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19IQ0MgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChIQ0MpCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfQVRUQkkgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChBVFRCSS5jb20pCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfUk9HRVJTIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoUm9nZXJzKQpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fUkROU19EWU5BTUlDX0FERUxQSElBIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoQWRlbHBoaWEpCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfRElBTElOIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoVC1EaWFsaW4pCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfSEVYSVAgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChIZXggSVApCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfU1BMSVRfSVAgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChTcGxpdCBJUCkKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19ZQUhPT0JCIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoWWFob29CQikKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19PT0wgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChPcHRPbmxpbmUpCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfUlIyIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoUlIgMikKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19DT01DQVNUIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoQ29tY2FzdCkKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19URUxJQSBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKFRlbGlhKQpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fUkROU19EWU5BTUlDX1ZUUiBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKFZUUikKbGFuZyBwdF9CUiBkZXNjcmliZSBfX1JETlNfRFlOQU1JQ19DSEVMTE9fTk8gQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChDaGVsbG8ubm8pCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19SRE5TX0RZTkFNSUNfQ0hFTExPX05MIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoQ2hlbGxvLm5sKQpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fUkROU19EWU5BTUlDX1ZFTE9YIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoVmVsb3h6b25lKQpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fUkROU19EWU5BTUlDX05UTCBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKE5UTCkKbGFuZyBwdF9CUiBkZXNjcmliZSBSRE5TX0RZTkFNSUMgRW50cmVndWUgYSB1bWEgcmVkZSBpbnRlcm5hIHBvciB1bSBob3N0IGNvbSByRE5TIHF1ZSBwYXJlY2Ugc2VyIGRpbuJtaWNvCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkROU19OT05FIEVudHJlZ3VlIGEgdW1hIHJlZGUgaW50ZXJuYSBwb3IgdW0gaG9zdCBzZW0gckROUwoKIyAyMF9mYWtlX2hlbG9fdGVzdHMuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBIRUxPX1NUQVRJQ19IT1NUIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBlc3RhdGljbwojbGFuZyBwdF9CUiBkZXNjcmliZSBGQUtFX0hFTE9fTUFJTF9DT01fRE9NIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAobWFpbC5jb20pCmxhbmcgcHRfQlIgZGVzY3JpYmUgSEVMT19EWU5BTUlDX0lQQUREUiBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKElQIGFkZHIgMSkKbGFuZyBwdF9CUiBkZXNjcmliZSBIRUxPX0RZTkFNSUNfREhDUCBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKERIQ1ApCmxhbmcgcHRfQlIgZGVzY3JpYmUgSEVMT19EWU5BTUlDX0hDQyBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKEhDQykKbGFuZyBwdF9CUiBkZXNjcmliZSBIRUxPX0RZTkFNSUNfUk9HRVJTIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoUm9nZXJzKQpsYW5nIHB0X0JSIGRlc2NyaWJlIEhFTE9fRFlOQU1JQ19ESUFMSU4gQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChULURpYWxpbikKbGFuZyBwdF9CUiBkZXNjcmliZSBIRUxPX0RZTkFNSUNfSEVYSVAgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChIZXggSVApCmxhbmcgcHRfQlIgZGVzY3JpYmUgSEVMT19EWU5BTUlDX1NQTElUX0lQIENvbWFuZG8gSEVMTyBlbnZpYWRvIHVzYW5kbyBob3N0bmFtZSBzdXNwZWl0byAoU3BsaXQgSVApCmxhbmcgcHRfQlIgZGVzY3JpYmUgSEVMT19EWU5BTUlDX0lQQUREUjIgQ29tYW5kbyBIRUxPIGVudmlhZG8gdXNhbmRvIGhvc3RuYW1lIHN1c3BlaXRvIChJUCBhZGRyIDIpCmxhbmcgcHRfQlIgZGVzY3JpYmUgSEVMT19EWU5BTUlDX0NIRUxMT19OTCBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKENoZWxsby5ubCkKbGFuZyBwdF9CUiBkZXNjcmliZSBIRUxPX0RZTkFNSUNfSE9NRV9OTCBDb21hbmRvIEhFTE8gZW52aWFkbyB1c2FuZG8gaG9zdG5hbWUgc3VzcGVpdG8gKEhvbWUubmwpCgojIDIwX2ZyZWVtYWlsLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJFRU1BSUxfUkVQTFlUTyBSZXBseS1Uby9Gcm9tIG91IFJlcGx5LVRvL2JvZHkgdXNhbSBkaWZlcmVudGVzIGVtYWlscyBncmF0dWl0b3MKbGFuZyBwdF9CUiBkZXNjcmliZSBGUkVFTUFJTF9SRVBMWSBGcm9tIGUgYm9keSBjb2506W0gZGlmZXJlbnRlcyBlbWFpbHMgZ3JhdHVpdG9zCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJFRU1BSUxfRlJPTSBSZW1ldGVudGUgdXRpbGl6YSB1bSBlbWFpbCBncmF0dWl0bwpsYW5nIHB0X0JSIGRlc2NyaWJlIEZSRUVNQUlMX0VOVkZST01fRU5EX0RJR0lUIE5vbWUgZGUgdXN14XJpbyBkZSBlbWFpbCBncmF0dWl0byBubyBFbnZlbG9wZS1Gcm9tIHRlcm1pbmEgZW0gZO1naXRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJFRU1BSUxfUkVQTFlUT19FTkRfRElHSVQgTm9tZSBkZSB1c3XhcmlvIGRlIGVtYWlsIGdyYXR1aXRvIG5vIFJlcGx5LVRvIHRlcm1pbmEgZW0gZO1naXRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJFRU1BSUxfRk9SR0VEX1JFUExZVE8gRW1haWwgZ3JhdHVpdG8gdXNhZG8gbm8gUmVwbHktVG8sIG1hcyBu428gbm8gRnJvbToKCiMgMjBfaGVhZF90ZXN0cy5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIEZSQUdNRU5URURfTUVTU0FHRSBNZW5zYWdlbSBmcmFnbWVudGFkYQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZST01fQkxBTktfTkFNRSBGcm9tOiBjb2506W0gdW0gbm9tZSB2YXppbwpsYW5nIHB0X0JSIGRlc2NyaWJlIEZST01fU1RBUlRTX1dJVEhfTlVNUyBGcm9tOiBjb21l52EgY29tIG11aXRvcyBu+m1lcm9zCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJPTV9PRkZFUlMgRW5kZXJl528gZG8gRnJvbTogY29udOltICJvZmZlcnMiCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJPTV9OT19VU0VSIEZyb206IG7jbyB0ZW0gbmVuaHVtIG5vbWUgZGUgdXN14XJpbyBhbnRlcyBkbyBACmxhbmcgcHRfQlIgZGVzY3JpYmUgUExJTkdfUVVFUlkgQXNzdW50byBjb2506W0gZXhjbGFtYefjbyBlIGludGVycm9nYefjbwpsYW5nIHB0X0JSIGRlc2NyaWJlIE1TR0lEX1NQQU1fQ0FQUyBNZXNzYWdlLUlkIGNvbmhlY2lkbyBjb21vIHNwYW0gKGNhcHMgdmFyaWFudCkKbGFuZyBwdF9CUiBkZXNjcmliZSBNU0dJRF9TUEFNX0xFVFRFUlMgTWVzc2FnZS1JZCBjb25oZWNpZG8gY29tbyBzcGFtIChsZXR0ZXJzIHZhcmlhbnQpCmxhbmcgcHRfQlIgZGVzY3JpYmUgTVNHSURfUkFORFkgTWVzc2FnZS1JZCB0ZW0gcGFkcuNvIGNvbXVtIGVuY29udHJhZG8gZW0gc3BhbQpsYW5nIHB0X0JSIGRlc2NyaWJlIE1TR0lEX1lBSE9PX0NBUFMgTWVzc2FnZS1JRCBwb3NzdWkgTUFJVVNDVUxBU0B5YWhvby5jb20KbGFuZyBwdF9CUiBkZXNjcmliZSBGT1JHRURfTVNHSURfQU9MIE1lc3NhZ2UtSUQg6SBmb3JqYWRvIChhb2wuY29tKQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9NU0dJRF9FWENJVEUgTWVzc2FnZS1JRCDpIGZvcmphZG8gKGV4Y2l0ZS5jb20pCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SR0VEX01TR0lEX0hPVE1BSUwgTWVzc2FnZS1JRCDpIGZvcmphZG8gKGhvdG1haWwuY29tKQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9NU0dJRF9NU04gTWVzc2FnZS1JRCDpIGZvcmphZG8gKG1zbi5jb20pCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SR0VEX01TR0lEX1lBSE9PIE1lc3NhZ2UtSUQg6SBmb3JqYWRvICh5YWhvby5jb20pCmxhbmcgcHRfQlIgZGVzY3JpYmUgTVNHSURfRlJPTV9NVEFfSEVBREVSIE1lc3NhZ2UtSWQgZm9pIGFkaWNpb25hZG8gcG9yIHVtIHJlbGF5CmxhbmcgcHRfQlIgZGVzY3JpYmUgTVNHSURfU0hPUlQgTWVzc2FnZS1JRCDpIGN1cnRvIGRlbWFpcwpsYW5nIHB0X0JSIGRlc2NyaWJlIERBVEVfU1BBTVdBUkVfWTJLIERhdGEgbm8gY2FiZedhbGhvIHVzYSBmb3JtYXRh5+NvIGVzdHJhbmhhCmxhbmcgcHRfQlIgZGVzY3JpYmUgSU5WQUxJRF9EQVRFIENhYmXnYWxobyBEYXRlOiDpIGluduFsaWRvIChu428gc2VndWUgYSBSRkMgMjgyMikKbGFuZyBwdF9CUiBkZXNjcmliZSBJTlZBTElEX0RBVEVfVFpfQUJTVVJEIENhYmXnYWxobyBEYXRlOiDpIGluduFsaWRvICh0aW1lem9uZSBu428gZXhpc3RlKQpsYW5nIHB0X0JSIGRlc2NyaWJlIElOVkFMSURfVFpfQ1NUIERhdGEgaW524WxpZGEgbm8gaGVhZGVyICh0aW1lem9uZSBDU1QgaW5jb3JyZXRhKQpsYW5nIHB0X0JSIGRlc2NyaWJlIElOVkFMSURfVFpfRVNUIERhdGEgaW524WxpZGEgbm8gaGVhZGVyICh0aW1lem9uZSBFU1QgaW5jb3JyZXRhKQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZST01fRVhDRVNTX0JBU0U2NCBFbmRlcmXnbyBkbyBGcm9tOiBlc3ThIGRlc25lY2Vzc2FyaWFtZW50ZSBjb2RpZmljYWRvIGVtIGJhc2U2NApsYW5nIHB0X0JSIGRlc2NyaWJlIEVOR0xJU0hfVUNFX1NVQkpFQ1QgQXNzdW50byBjb2506W0gdW0gdGV4dG8gY29tdW0gZGUgVUNFICh1bnNvbGljaXRlZCBjb21tZXJjaWFsIGVtYWlsKSBlbSBpbmds6nMKbGFuZyBwdF9CUiBkZXNjcmliZSBKQVBBTkVTRV9VQ0VfU1VCSkVDVCBBc3N1bnRvIGNvbnTpbSB1bSB0ZXh0byBjb211bSBkZSBVQ0UgKHVuc29saWNpdGVkIGNvbW1lcmNpYWwgZW1haWwpIGVtIGphcG9u6nMKbGFuZyBwdF9CUiBkZXNjcmliZSBKQVBBTkVTRV9VQ0VfQk9EWSBDb3JwbyBkYSBtZW5zYWdlbSBjb2506W0gdW0gdGV4dG8gY29tdW0gZGUgVUNFICh1bnNvbGljaXRlZCBjb21tZXJjaWFsIGVtYWlsKSBlbSBqYXBvbupzCmxhbmcgcHRfQlIgZGVzY3JpYmUgS09SRUFOX1VDRV9TVUJKRUNUIEFzc3VudG8gY29udOltIHVtIHRleHRvIGNvbXVtIGRlIFVDRSAodW5zb2xpY2l0ZWQgY29tbWVyY2lhbCBlbWFpbCkgZW0gY29yZWFubwpsYW5nIHB0X0JSIGRlc2NyaWJlIFJDVkRfRE9VQkxFX0lQX1NQQU0gU3BhbSBjb25oZWNpZG8gKGRvdWJsZSBJUCkKbGFuZyBwdF9CUiBkZXNjcmliZSBSQ1ZEX0RPVUJMRV9JUF9MT09TRSAiUmVjZWl2ZWQgYnkiIGUgIkZyb20iIHBhcmVjZW0gc2VyIGVuZGVyZedvcyBJUApsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9URUxFU1BfUkNWRCBDb2506W0gdW0gaG9zdG5hbWUgZm9yamFkbyBwYXJhIHVtIElQIERTTCBkbyBCcmFzaWwKbGFuZyBwdF9CUiBkZXNjcmliZSBDT05GSVJNRURfRk9SR0VEIENhYmXnYWxobyBSZWNlaXZlZCDpIGZvcmphZG8KbGFuZyBwdF9CUiBkZXNjcmliZSBNVUxUSV9GT1JHRUQgQ2FiZedhbGhvIFJlY2VpdmVkIGNvbnTpbSB24XJpYXMgZW50cmFkYXMgZm9yamFkYXMKbGFuZyBwdF9CUiBkZXNjcmliZSBOT05FWElTVEVOVF9DSEFSU0VUIENvZGlmaWNh5+NvIGluZXhpc3RlbnRlCmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlTU0lOR19NSUQgTuNvIHBvc3N1aSBoZWFkZXIgTWVzc2FnZS1JZApsYW5nIHB0X0JSIGRlc2NyaWJlIE1JU1NJTkdfREFURSBO428gcG9zc3VpIGhlYWRlciBEYXRlCmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlTU0lOR19TVUJKRUNUIE7jbyBwb3NzdWkgaGVhZGVyIFN1YmplY3QKbGFuZyBwdF9CUiBkZXNjcmliZSBHQVBQWV9TVUJKRUNUIEFzc3VudG8gY29udOltIFQuZS54LnQuby1FLnMudC5yLmEubi5oLm8KbGFuZyBwdF9CUiBkZXNjcmliZSBQUkVWRU5UX05PTkRFTElWRVJZIE1lbnNhZ2VtIHBvc3N1aSBjYWJl52FobyBQcmV2ZW50LU5vbkRlbGl2ZXJ5LVJlcG9ydApsYW5nIHB0X0JSIGRlc2NyaWJlIFhfSVAgTWVuc2FnZW0gcG9zc3VpIGNhYmXnYWxobyBYLUlQCmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlTU0lOR19NSU1FT0xFIE1lbnNhZ2VtIHBvc3N1aSBYLU1TTWFpbC1Qcmlvcml0eSBtYXMgbuNvIHBvc3N1aSBYLU1pbWVPTEUKbGFuZyBwdF9CUiBkZXNjcmliZSBTVUJKX0FTX1NFRU4gQXNzdW50byBjb2506W0gIkFzIFNlZW4iCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSl9ET0xMQVJTIEFzc3VudG8gY29tZedhIGNvbSB1bSB2YWxvciBlbSBk82xhcgojbGFuZyBwdF9CUiBkZXNjcmliZSBTVUJKX1lPVVJfREVCVCBBc3N1bnRvIGNvbnTpbSAiWW91ciBCaWxscyIgb3UgYWxnbyBwYXJlY2lkbwpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpfWU9VUl9GQU1JTFkgQXNzdW50byBjb2506W0gIllvdXIgRmFtaWx5IiBvdSBhbGdvIHBhcmVjaWRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9GQUtFX0hFTE9fRE9UQ09NIENhYmXnYWxobyBSZWNlaXZlZCBjb2506W0gdW0gaG9zdG5hbWUgZGUgSEVMTyBmYWxzbwpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpFQ1RfRElFVCBBc3N1bnRvIGZhbGEgc29icmUgcGVyZGEgZGUgcGVzbwpsYW5nIHB0X0JSIGRlc2NyaWJlIE1JTUVfQk9VTkRfRERfRElHSVRTIFBhZHLjbyBkZSBzcGFtIGNvbmhlY2lkbyBlbSBNSU1FIGJvdW5kYXJ5CmxhbmcgcHRfQlIgZGVzY3JpYmUgTUlNRV9CT1VORF9ESUdJVFNfMTUgUGFkcuNvIGRlIHNwYW0gY29uaGVjaWRvIGVtIE1JTUUgYm91bmRhcnkKbGFuZyBwdF9CUiBkZXNjcmliZSBNSU1FX0JPVU5EX01BTllfSEVYIFBhZHLjbyBkZSBzcGFtIGNvbmhlY2lkbyBlbSBNSU1FIGJvdW5kYXJ5CmxhbmcgcHRfQlIgZGVzY3JpYmUgRkFLRV9PVVRCTEFaRV9SQ1ZEIENhYmXnYWxobyBSZWNlaXZlZCBjb2506W0gbyBob3N0bmFtZSBmb3JqYWRvICdtci5vdXRibGF6ZS5jb20nCmxhbmcgcHRfQlIgZGVzY3JpYmUgVE9fTUFMRk9STUVEIENhYmXnYWxobyBUbzogcG9zc3VpIHVtIGVuZGVyZedvIG1hbGZvcm1hZG8KbGFuZyBwdF9CUiBkZXNjcmliZSBNSU1FX0hFQURFUl9DVFlQRV9PTkxZICdDb250ZW50LVR5cGUnIGVuY29udHJhZG8gbWFzIG7jbyBleGlzdGUgTUlNRSBoZWFkZXJzIG5lY2Vzc+FyaW9zCmxhbmcgcHRfQlIgZGVzY3JpYmUgV0lUSF9MQ19TTVRQIENhYmXnYWxobyBSZWNlaXZlZCBjb2506W0gdW0gaW5k7WNpbyBkZSBzcGFtICgic210cCIgZW0gY2FpeGEgYmFpeGEpCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSl9CVVkgQXNzdW50byBjb21l52EgY29tICJCdXkiIG91ICJCdXlpbmciCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9BTV9QTSBDYWJl52FsaG8gUmVjZWl2ZWQgZm9yamFkbyAoQU0vUE0pCmxhbmcgcHRfQlIgZGVzY3JpYmUgVU5DTE9TRURfQlJBQ0tFVCBDYWJl52FsaG8gY29udOltIHVtIGNvbGNoZXRlIGFiZXJ0byBxdWUgbuNvIGZvaSBmZWNoYWRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJPTV9ET01BSU5fTk9WT1dFTCBEb23tbmlvIGRvIEZyb206IGNvbnTpbSB1bWEgc+lyaWUgZGUgY29uc29hbnRlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEZST01fTE9DQUxfTk9WT1dFTCBVc3XhcmlvIGRvIEZyb206IGNvbnTpbSB1bWEgc+lyaWUgZGUgY29uc29hbnRlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEZST01fTE9DQUxfSEVYIFVzdeFyaW8gZG8gRnJvbTogY29udOltIHVtYSBsb25nYSBzZXF1ZW5jaWEgZGUgaGV4YWRlY2ltYWlzCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJPTV9MT0NBTF9ESUdJVFMgVXN14XJpbyBkbyBGcm9tOiBjb2506W0gdW1hIGxvbmdhIHNlcXVlbmNpYSBkZSBoZXhhZGVjaW1haXMKbGFuZyBwdF9CUiBkZXNjcmliZSBYX1BSSU9SSVRZX0NDIENhYmXnYWxobyAiQ2M6IiBwb3NpY2lvbmFkbyBkZXBvaXMgZGUgIlgtUHJpb3JpdHk6IiAoc3BhbSBjb25oZWNpZG8pCmxhbmcgcHRfQlIgZGVzY3JpYmUgQkFEX0VOQ19IRUFERVIgTWVuc2FnZW0gcG9zc3VpIE1JTUUgZW5jb2RpbmcgaW5jb3JyZXRvCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19WSUFfTUwgRW1haWwgZGUgdW1hIG1haWxpbmcgbGlzdApsYW5nIHB0X0JSIGRlc2NyaWJlIFJDVkRfSUxMRUdBTF9JUCBDYWJl52FsaG8gIlJlY2VpdmVkOiIgY29udOltIGVuZGVyZedvIElQIGlsZWdhbApsYW5nIHB0X0JSIGRlc2NyaWJlIENIQVJTRVRfRkFSQVdBWV9IRUFERVIgQ2hhcnNldCBlc3RyYW5nZWlybyB1dGlsaXphZG8gbm8gaGVhZGVyCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSl9JTExFR0FMX0NIQVJTIEFzc3VudG8gcG9zc3VpIG11aXRvcyBjYXJhY3RlcmVzIGlsZWdhaXMKbGFuZyBwdF9CUiBkZXNjcmliZSBGUk9NX0lMTEVHQUxfQ0hBUlMgIkZyb206IiBwb3NzdWkgbXVpdG9zIGNhcmFjdGVyZXMgaWxlZ2FpcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhFQURfSUxMRUdBTF9DSEFSUyBDYWJl52FsaG8gcG9zc3VpIG11aXRvcyBjYXJhY3RlcmVzIGlsZWdhaXMKbGFuZyBwdF9CUiBkZXNjcmliZSBGT1JHRURfSE9UTUFJTF9SQ1ZEMiBFbmRlcmXnbyBkbyBGcm9tIOkgZG8gaG90bWFpbC5jb20sIG1hcyBu428gaOEgaG90bWFpbC5jb20gbm8gJ1JlY2VpdmVkOicKbGFuZyBwdF9CUiBkZXNjcmliZSBGT1JHRURfWUFIT09fUkNWRCBFbmRlcmXnbyBkbyBGcm9tIOkgZG8geWFob28uY29tLCBtYXMgbuNvIGjhIHlhaG9vLmNvbSBubyAnUmVjZWl2ZWQ6JwpsYW5nIHB0X0JSIGRlc2NyaWJlIFNPUlRFRF9SRUNJUFMgTGlzdGEgZGUgZGVzdGluYXThcmlvcyBlc3ThIG9yZGVuYWRhIGFsZmFiZXRpY2FtZW50ZQpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVU1BJQ0lPVVNfUkVDSVBTIExpc3RhIGRlIGRlc3RpbmF04XJpb3MgcG9zc3VpIGVuZGVyZedvcyBzZW1lbGhhbnRlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIE1JU1NJTkdfSEVBREVSUyBO428gcG9zc3VpIG8gY2FiZedhbGhvIFRvOgpsYW5nIHB0X0JSIGRlc2NyaWJlIERBVEVfSU5fUEFTVF8wM18wNiBEYXRlOiDpIDMgYSA2IGhvcmFzIGFudGVzIGRhIGRhdGEgZG8gUmVjZWl2ZWQ6CmxhbmcgcHRfQlIgZGVzY3JpYmUgREFURV9JTl9QQVNUXzA2XzEyIERhdGU6IOkgNiBhIDEyIGhvcmFzIGFudGVzIGRhIGRhdGEgUmVjZWl2ZWQ6CmxhbmcgcHRfQlIgZGVzY3JpYmUgREFURV9JTl9QQVNUXzEyXzI0IERhdGU6IOkgMTIgYSAyNCBob3JhcyBhbnRlcyBkYSBkYXRhIGRvIFJlY2VpdmVkOgpsYW5nIHB0X0JSIGRlc2NyaWJlIERBVEVfSU5fUEFTVF8yNF80OCBEYXRlOiDpIDI0IGEgNDggaG9yYXMgYW50ZXMgZGEgZGF0YSBkbyBSZWNlaXZlZDoKbGFuZyBwdF9CUiBkZXNjcmliZSBEQVRFX0lOX1BBU1RfOTZfWFggRGF0ZTog6SA5NiBob3JhcyBvdSBtYWlzIGFudGVzIGRhIGRhdGEgZG8gUmVjZWl2ZWQ6CmxhbmcgcHRfQlIgZGVzY3JpYmUgREFURV9JTl9GVVRVUkVfMDNfMDYgRGF0ZTog6SAzIGEgNiBob3JhcyBkZXBvaXMgZG8gUmVjZWl2ZWQ6CmxhbmcgcHRfQlIgZGVzY3JpYmUgREFURV9JTl9GVVRVUkVfMDZfMTIgRGF0ZTog6SA2IGEgMTIgaG9yYXMgZGVwb2lzIGRvIFJlY2VpdmVkOgpsYW5nIHB0X0JSIGRlc2NyaWJlIERBVEVfSU5fRlVUVVJFXzEyXzI0IERhdGU6IOkgMTIgYSAyNCBob3JhcyBkZXBvaXMgZG8gUmVjZWl2ZWQ6CmxhbmcgcHRfQlIgZGVzY3JpYmUgREFURV9JTl9GVVRVUkVfMjRfNDggRGF0ZTog6SAyNCBhIDQ4IGhvcmFzIGRlcG9pcyBkbyBSZWNlaXZlZDoKbGFuZyBwdF9CUiBkZXNjcmliZSBEQVRFX0lOX0ZVVFVSRV80OF85NiBEYXRlOiDpIDQ4IGEgOTYgaG9yYXMgZGVwb2lzIGRvIFJlY2VpdmVkOgpsYW5nIHB0X0JSIGRlc2NyaWJlIERBVEVfSU5fRlVUVVJFXzk2X1hYIERhdGU6IOkgOTYgaG9yYXMgb3UgbWFpcyBkZXBvaXMgZG8gUmVjZWl2ZWQ6CmxhbmcgcHRfQlIgZGVzY3JpYmUgVU5SRVNPTFZFRF9URU1QTEFURSBDYWJl52FsaG8gY29udOltIHVtIHRlbXBsYXRlIG7jbyBzdWJzdGl0de1kbwpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpfQUxMX0NBUFMgQXNzdW50byDpIGNvbXBvc3RvIGFwZW5hcyBwb3IgbGV0cmFzIG1hafpzY3VsYXMKbGFuZyBwdF9CUiBkZXNjcmliZSBMT0NBTFBBUlRfSU5fU1VCSkVDVCBEZXN0aW5hdOFyaW8gZG8gZW1haWwgYXBhcmVjZSBubyBhc3N1bnRvIGRhIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgTVNHSURfT1VUTE9PS19JTlZBTElEIE1lc3NhZ2UtSWQg6SBmYWxzbyAobm8gZm9ybWF0byBkbyBPdXRsb29rIEV4cHJlc3MpCmxhbmcgcHRfQlIgZGVzY3JpYmUgSEVBREVSX0NPVU5UX0NUWVBFIFbhcmlvcyBjYWJl52FsaG9zIENvbnRlbnQtVHlwZSBmb3JhbSBlbmNvbnRyYWRvcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhFQURfTE9ORyBDYWJl52FsaG9zIGRhIG1lbnNhZ2VtIHPjbyBtdWl0byBsb25nb3MKbGFuZyBwdF9CUiBkZXNjcmliZSBNSVNTSU5HX0hCX1NFUCBO428gaOEgdW1hIGxpbmhhIHNlcGFyYW5kbyBvIGNhYmXnYWxobyBkbyBjb3JwbyBkYSBtZW5zYWdlbQpsYW5nIHB0X0JSIGRlc2NyaWJlIFVOUEFSU0VBQkxFX1JFTEFZIEluZm86IG1lbnNhZ2VtIHBvc3N1aSBkYWRvcyBkZSByZWxheSBxdWUgbuNvIHB1ZGVyYW0gc2VyIGxpZG9zCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkNWRF9IRUxPX0lQX01JU01BVENIIEhFTE8gZSBJUCBubyAiUmVjZWl2ZWQ6IiBu428gY29uZmVyZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBOT19SRE5TX0RPVENPTV9IRUxPIENvbWFuZG8gSEVMTyBlbnZpYWRvIGNvbW8gdW0gcHJvdmVkb3IgY29uZmnhdmVsLCBtYXMgbuNvIHBvc3N1aSByRE5TCgojIDIwX2h0bWxfdGVzdHMuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX1NIT1JUX0xJTktfSU1HXzEgTyBj82RpZ28gSFRNTCDpIG11aXRvIHBlcXVlbm8sIGNvbSB1bWEgaW1hZ2VtIGNvbSBsaW5rCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9TSE9SVF9MSU5LX0lNR18yIE8gY/NkaWdvIEhUTUwg6SBtdWl0byBwZXF1ZW5vLCBjb20gdW1hIGltYWdlbSBjb20gbGluawpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfU0hPUlRfTElOS19JTUdfMyBPIGPzZGlnbyBIVE1MIOkgbXVpdG8gcGVxdWVubywgY29tIHVtYSBpbWFnZW0gY29tIGxpbmsKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX1NIT1JUX0NFTlRFUiBPIGPzZGlnbyBIVE1MIOkgbXVpdG8gY3VydG8gZSB1c2EgdW1hIHRhZyBjZW50ZXIuCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9DSEFSU0VUX0ZBUkFXQVkgVW0gaWRpb21hIGVzdHJhbmdlaXJvIGZvaSBkZWNsYXJhZG8gbm8gY2hhcnNldCBkbyBIVE1MCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9NSU1FX05PX0hUTUxfVEFHIEEgbWVuc2FnZW0g6SBlbSBIVE1MLCBtYXMgbuNvIGjhIHVtYSB0YWcgSFRNTApsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfTUlTU0lOR19DVFlQRSBBIG1lbnNhZ2VtIOkgZW0gSFRNTCBtYXMgbuNvIHRlbSBhIGRlY2xhcmHn428gSFRNTCBDb250ZW50LVR5cGUKbGFuZyBwdF9CUiBkZXNjcmliZSBISURFX1dJTl9TVEFUVVMgVXNvIGRlIEphdmFzY3JpcHQgcGFyYSBvY3VsdGFyIGFzIFVSTFMgbm8gbmF2ZWdhZG9yCmxhbmcgcHRfQlIgZGVzY3JpYmUgT0JGVVNDQVRJTkdfQ09NTUVOVCBIVE1MIHBvc3N1aSBjb21lbnThcmlvcyBjb20gdGV4dG8gc3VzcGVpdG8KbGFuZyBwdF9CUiBkZXNjcmliZSBKU19GUk9NQ0hBUkNPREUgRG9jdW1lbnRvIGNvbnN0cnXtZG8gYSBwYXJ0aXIgZGUgdW0gYXJyYXkgZW0gSmF2YXNjcmlwdApsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfTUVTU0FHRSBIVE1MIGluY2x1c28gbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX0NPTU1FTlRfU0hPUlQgTyBjb21lbnThcmlvIG5vIEhUTUwg6SBtdWl0byBjdXJ0bwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfQ09NTUVOVF9TQVZFRF9VUkwgTyBIVE1MIGRhIG1lbnNhZ2VtIGZvaSBzYWx2byBkZSB1bWEgcOFnaW5hIGRhIHdlYgpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfRU1CRURTIE8gSFRNTCBwb3NzdWkgdW0gb2JqZXRvIHBsdWdpbiBpbmNvcnBvcmFkbwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfRVhUUkFfQ0xPU0UgSFRNTCBjb2506W0gbXVpdGFzIHRhZ3MgZmVjaGFkYXMgKHF1ZSBu428gZm9yYW0gYWJlcnRhcykKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX0ZPTlRfU0laRV9MQVJHRSBPIEhUTUwgY29udOltIGZvbnRlIGRlIHRhbWFuaG8gZ3JhbmRlCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9GT05UX1NJWkVfSFVHRSBPIEhUTUwgY29udOltIGZvbnRlIGRlIHRhbWFuaG8gbXVpdG8gZ3JhbmRlCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9GT05UX0xPV19DT05UUkFTVCBI4SB0ZXh0b3MgY29tIGNvcmVzIHNpbWlsYXJlcyDgIGNvciBkZSBmdW5kbwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfRk9OVF9GQUNFX0JBRCBmb250IGZhY2UgbuNvIOkgdW1hIGV4cHJlc3PjbwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfRk9STUFDVElPTl9NQUlMVE8gTyBIVE1MIGNvbnTpbSB1bSBmb3JtdWzhcmlvIHF1ZSBlbnZpYSBlbWFpbApsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfSU1BR0VfT05MWV8wNCBIVE1MOiBD82RpZ28gSFRNTCBwb3NzdWkgZW50cmUgMC00MDAgY2FyYWN0ZXJlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfSU1BR0VfT05MWV8wOCBIVE1MOiBD82RpZ28gSFRNTCBwb3NzdWkgZW50cmUgNDAwLTgwMCBjYXJhY3RlcmVzCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9JTUFHRV9PTkxZXzEyIEhUTUw6IEPzZGlnbyBIVE1MIHBvc3N1aSBlbnRyZSA4MDAtMTIwMCBjYXJhY3RlcmVzCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9JTUFHRV9PTkxZXzE2IEhUTUw6IEPzZGlnbyBIVE1MIHBvc3N1aSBlbnRyZSAxMjAwLTE2MDAgY2FyYWN0ZXJlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfSU1BR0VfT05MWV8yMCBIVE1MOiBD82RpZ28gSFRNTCBwb3NzdWkgZW50cmUgMTYwMC0yMDAwIGNhcmFjdGVyZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX0lNQUdFX09OTFlfMjQgSFRNTDogQ/NkaWdvIEhUTUwgcG9zc3VpIGVudHJlIDIwMDAtMjQwMCBjYXJhY3RlcmVzCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9JTUFHRV9PTkxZXzI4IEhUTUw6IEPzZGlnbyBIVE1MIHBvc3N1aSBlbnRyZSAyNDAwLTI4MDAgY2FyYWN0ZXJlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfSU1BR0VfT05MWV8zMiBIVE1MOiBD82RpZ28gSFRNTCBwb3NzdWkgZW50cmUgMjgwMC0zMjAwMDAgY2FyYWN0ZXJlcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfSU1BR0VfUkFUSU9fMDIgTyBIVE1MIHRlbSBwb3VjbyB0ZXh0byBlbSByZWxh5+NvIOBzIGltYWdlbnMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX0lNQUdFX1JBVElPXzAyIE8gSFRNTCB0ZW0gcG91Y28gdGV4dG8gZW0gcmVsYefjbyDgcyBpbWFnZW5zCmxhbmcgcHRfQlIgZGVzY3JpYmUgSFRNTF9JTUFHRV9SQVRJT18wMiBPIEhUTUwgdGVtIHBvdWNvIHRleHRvIGVtIHJlbGHn428g4HMgaW1hZ2VucwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfSU1BR0VfUkFUSU9fMDIgTyBIVE1MIHRlbSBwb3VjbyB0ZXh0byBlbSByZWxh5+NvIOBzIGltYWdlbnMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX09CRlVTQ0FURV8wNV8xMCBIVE1MIHBvc3N1aSBkZSA1JSBhIDEwJSBkZSB0YWdzIHZhemlhcyBvdSBkZXNuZWNlc3PhcmlhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfT0JGVVNDQVRFXzEwXzIwIEhUTUwgcG9zc3VpIGRlIDEwJSBhIDIwJSBkZSB0YWdzIHZhemlhcyBvdSBkZXNuZWNlc3PhcmlhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfT0JGVVNDQVRFXzIwXzMwIEhUTUwgcG9zc3VpIGRlIDIwJSBhIDMwJSBkZSB0YWdzIHZhemlhcyBvdSBkZXNuZWNlc3PhcmlhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfT0JGVVNDQVRFXzMwXzQwIEhUTUwgcG9zc3VpIGRlIDMwJSBhIDQwJSBkZSB0YWdzIHZhemlhcyBvdSBkZXNuZWNlc3PhcmlhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfT0JGVVNDQVRFXzUwXzYwIEhUTUwgcG9zc3VpIGRlIDUwJSBhIDYwJSBkZSB0YWdzIHZhemlhcyBvdSBkZXNuZWNlc3PhcmlhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfT0JGVVNDQVRFXzcwXzgwIEhUTUwgcG9zc3VpIGRlIDcwJSBhIDgwJSBkZSB0YWdzIHZhemlhcyBvdSBkZXNuZWNlc3PhcmlhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfVEFHX0JBTEFOQ0VfQk9EWSBIVE1MIHBvc3N1aSB1bWEgdGFnICJib2R5IiBxdWUgbuNvIGZvaSBhYmVydGEgb3UgZmVjaGFkYQpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfVEFHX0JBTEFOQ0VfSEVBRCBIVE1MIHBvc3N1aSB1bWEgdGFnICJoZWFkIiBxdWUgbuNvIGZvaSBhYmVydGEgb3UgZmVjaGFkYQpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfVEFHX0VYSVNUX0JHU09VTkQgTyBIVE1MIGNvbnTpbSB1bWEgdGFnICJiZ3NvdW5kIgpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfQkFEVEFHXzQwXzUwIEhUTUwgZGEgbWVuc2FnZW0gcG9zc3VpIGRlIDQwJSBhIDUwJSBkZSB0YWdzIGluduFsaWRhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfQkFEVEFHXzQwXzUwIEhUTUwgZGEgbWVuc2FnZW0gcG9zc3VpIGRlIDUwJSBhIDYwJSBkZSB0YWdzIGluduFsaWRhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfQkFEVEFHXzQwXzUwIEhUTUwgZGEgbWVuc2FnZW0gcG9zc3VpIGRlIDYwJSBhIDcwJSBkZSB0YWdzIGluduFsaWRhcwpsYW5nIHB0X0JSIGRlc2NyaWJlIEhUTUxfQkFEVEFHXzQwXzUwIEhUTUwgZGEgbWVuc2FnZW0gcG9zc3VpIGRlIDkwJSBhIDEwMCUgZGUgdGFncyBpbnbhbGlkYXMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX05PTkVMRU1FTlRfMzBfNDAgTyBIVE1MIHVzYSBkZSAzMCUgYSA0MCUgZGUgZWxlbWVudG9zIGZvcmEgZG9zIHBhZHL1ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX05PTkVMRU1FTlRfMzBfNDAgTyBIVE1MIHVzYSBkZSA0MCUgYSA1MCUgZGUgZWxlbWVudG9zIGZvcmEgZG9zIHBhZHL1ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX05PTkVMRU1FTlRfMzBfNDAgTyBIVE1MIHVzYSBkZSA2MCUgYSA3MCUgZGUgZWxlbWVudG9zIGZvcmEgZG9zIHBhZHL1ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX05PTkVMRU1FTlRfMzBfNDAgTyBIVE1MIHVzYSBkZSA4MCUgYSA5MCUgZGUgZWxlbWVudG9zIGZvcmEgZG9zIHBhZHL1ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBIVE1MX0JBRFRBR180MF81MCBIVE1MIGRhIG1lbnNhZ2VtIHBvc3N1aSB0YWggSUZSQU1FIGNvbSBVUkwgbm8gc3JjCgojIDIwX2ltYWdlaW5mby5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fRENfSU1HX0hUTUxfUkFUSU8gTG93IHJhd2JvZHkgdG8gcGl4ZWwgYXJlYSByYXRpbwpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fRENfSU1HX1RFWFRfUkFUSU8gTG93IGJvZHkgdG8gcGl4ZWwgYXJlYSByYXRpbwpsYW5nIHB0X0JSIGRlc2NyaWJlIERDX0dJRl9VTk9fTEFSR08gTWVzc2FnZSBjb250YWlucyBhIHNpbmdsZSBsYXJnZSBpbmxpbmUgZ2lmCmxhbmcgcHRfQlIgZGVzY3JpYmUgX19EQ19HSUZfTVVMVElfTEFSR08gTWVzc2FnZSBoYXMgMisgaW5saW5lIGdpZiBjb3ZlcmluZyBsb3RzIG9mIGFyZWEKbGFuZyBwdF9CUiBkZXNjcmliZSBEQ19QTkdfVU5PX0xBUkdPIE1lc3NhZ2UgY29udGFpbnMgYSBzaW5nbGUgbGFyZ2UgaW5saW5lIGdpZgpsYW5nIHB0X0JSIGRlc2NyaWJlIF9fRENfUE5HX01VTFRJX0xBUkdPIE1lc3NhZ2UgaGFzIDIrIGlubGluZSBwbmcgY292ZXJpbmcgbG90cyBvZiBhcmVhCmxhbmcgcHRfQlIgZGVzY3JpYmUgRENfSU1BR0VfU1BBTV9URVhUIFBvc3NpYmxlIEltYWdlLW9ubHkgc3BhbSB3aXRoIGxpdHRsZSB0ZXh0CmxhbmcgcHRfQlIgZGVzY3JpYmUgRENfSU1BR0VfU1BBTV9IVE1MIFBvc3NpYmxlIEltYWdlLW9ubHkgc3BhbQoKIyAyMF9tZXRhX3Rlc3RzLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVBQRVJDQVNFXzUwXzc1IE1lbnNhZ2VtIHBvc3N1aSBkZSA1MCUgYSA3NSUgZGUgdGV4dG9zIGVtIGNhaXhhIGFsdGEuCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVBQRVJDQVNFXzc1XzEwMCBNZW5zYWdlbSBwb3NzdWkgZGUgNzUlIGEgMTAwJSBkZSB0ZXh0b3MgZW0gY2FpeGEgYWx0YS4KbGFuZyBwdF9CUiBkZXNjcmliZSBJTlZBTElEX01TR0lEIE1lc3NhZ2UtSUQgaW524WxpZG8sIGRlIGFjb3JkbyBjb20gYSBSRkMtMjgyMgpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9NVUFfTU9aSUxMQSBFbWFpbCBmb3JqYWRvLCB0ZW50YW5kbyBzZSBwYXNzYXIgY29tbyBkYSBNb3ppbGxhCmxhbmcgcHRfQlIgZGVzY3JpYmUgUEVSQ0VOVF9SQU5ET00gTWVuc2FnZW0gY29udOltIHVtYSBtYWNybyByYW5k9G1pY2EKbGFuZyBwdF9CUiBkZXNjcmliZSBFTVBUWV9NRVNTQUdFIE1lbnNhZ2VtIHBhcmVjZSBu428gY29udGVyIHRleHRvIG5vIGNvbnRl+mRvLgpsYW5nIHB0X0JSIGRlc2NyaWJlIE5PX0hFQURFUlNfTUVTU0FHRSBNZW5zYWdlbSBwYXJlY2UgbuNvIGNvbnRlciBncmFuZGUgcGFydGUgZG9zIGNhYmXnYWxob3MgUkZDLTgyMgoKIyAyMF9uZXRfdGVzdHMuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBESUdFU1RfTVVMVElQTEUgUmVtZXRlbnRlIGVzdOEgbGlzdGFkbyBlbSBtYWlzIGRlIHVtYSBibG9ja2xpc3QKbGFuZyBwdF9CUiBkZXNjcmliZSBOT19ETlNfRk9SX0ZST00gUmVtZXRlbnRlIG7jbyBwb3NzdWkgcmVnaXN0cm9zIE1YIG91IEEgbm8gRE5TCgojIDIwX3BocmFzZXMuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBSRU1PVkVfQkVGT1JFX0xJTksgRnJhc2UgaW5kaWNhbmRvIHJlbW/n428gZGUgZW1haWwgZGUgbGlzdGEgbG9nbyBhbnRlcyBkZSB1bSBsaW5rCmxhbmcgcHRfQlIgZGVzY3JpYmUgR1VBUkFOVEVFRF8xMDBfUEVSQ0VOVCBDb2506W0gIk9uZSBodW5kcmVkIHBlcmNlbnQgZ3VhcmFudGVlZCIKbGFuZyBwdF9CUiBkZXNjcmliZSBERUFSX0ZSSUVORCBDb2506W0gIkRlYXIgRnJpZW5kIgpsYW5nIHB0X0JSIGRlc2NyaWJlIERFQVJfU09NRVRISU5HIENvbnTpbSAnRGVhciAoYWxndW1hIGNvaXNhKScKbGFuZyBwdF9CUiBkZXNjcmliZSBCSUxMSU9OX0RPTExBUlMgRmFsYSBzb2JyZSBtdWl0byBkaW5oZWlybwpsYW5nIHB0X0JSIGRlc2NyaWJlIEVYQ1VTRV80IEFmaXJtYSBxdWUgdm9j6iBwb2RlIHNlciByZW1vdmlkbyBkYSBsaXN0YSBzZSBxdWlzZXIKbGFuZyBwdF9CUiBkZXNjcmliZSBFWENVU0VfMjQgQWZpcm1hIHF1ZSB2b2PqIHF1ZXJpYSByZWNlYmVyIGVzc2EgcHJvcGFnYW5kYQpsYW5nIHB0X0JSIGRlc2NyaWJlIEVYQ1VTRV9SRU1PVkUgSW5mb3JtYSBjb21vIHZvY+ogcG9kZSBzZXIgcmVtb3ZpZG8gZGEgbGlzdGEKbGFuZyBwdF9CUiBkZXNjcmliZSBTVFJPTkdfQlVZIENvbnTpbSAic3Ryb25nIGJ1eSIKbGFuZyBwdF9CUiBkZXNjcmliZSBTVE9DS19BTEVSVCBDb2506W0gdW0gYWxlcnRhIHNvYnJlIGHn9WVzIChzdG9jaykKbGFuZyBwdF9CUiBkZXNjcmliZSBOT1RfQURWSVNPUiBDb2506W0gIk5vdCByZWdpc3RlcmVkIGludmVzdG1lbnQgYWR2aXNvciIKbGFuZyBwdF9CUiBkZXNjcmliZSBQUkVTVF9OT05fQUNDUkVESVRFRCBDb2506W0gIlByZXN0aWdpb3VzIE5vbi1BY2NyZWRpdGVkIFVuaXZlcnNpdGllcyIKbGFuZyBwdF9CUiBkZXNjcmliZSBCT0RZX0VOSEFOQ0VNRU5UIEluZm9ybWHn428gc29icmUgY29tbyBhdW1lbnRhciBwYXJ0ZXMgZG8gY29ycG8KbGFuZyBwdF9CUiBkZXNjcmliZSBCT0RZX0VOSEFOQ0VNRU5UMiBJbmZvcm1h5+NvIHNvYnJlIGNvbW8gYXVtZW50YXIgcGFydGVzIGRvIGNvcnBvCmxhbmcgcHRfQlIgZGVzY3JpYmUgSU1QT1RFTkNFIEZhbGEgc29icmUgY3VyYSBkYSBpbXBvdOpuY2lhCiNsYW5nIHB0X0JSIGRlc2NyaWJlIE5BX0RPTExBUlMgRmFsYSBzb2JyZSBtaWxo9WVzIGRlIGTzbGFyZXMgbm9ydGUgYW1lcmljYW5vcyBvdSBjYW5hZGVuc2VzCiNsYW5nIHB0X0JSIGRlc2NyaWJlIFVTX0RPTExBUlNfMyBDb2506W0gJCgkTk4sTk5OLE5OTi5OTikKI2xhbmcgcHRfQlIgZGVzY3JpYmUgTUlMTElPTl9VU0QgRmFsYSBzb2JyZSBtaWxo9WVzIGRlIGTzbGFyZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBVUkdfQklaIENvbnTpbTogInVyZ2VudCBtYXR0ZXIiCmxhbmcgcHRfQlIgZGVzY3JpYmUgTU9ORVlfQkFDSyBDb2506W06ICJNb25leSBiYWNrIGd1YXJhbnRlZSIKbGFuZyBwdF9CUiBkZXNjcmliZSBGUkVFX1FVT1RFX0lOU1RBTlQgQ29udOltOiAiRnJlZSBleHByZXNzIG9yIG5vLW9ibGlnYXRpb24gcXVvdGUiCmxhbmcgcHRfQlIgZGVzY3JpYmUgQkFEX0NSRURJVCBDb2506W06ICJFbGltaW5hdGUgQmFkIENyZWRpdCIKbGFuZyBwdF9CUiBkZXNjcmliZSBSRUZJTkFOQ0VfWU9VUl9IT01FIENvbnTpbTogIkhvbWUgcmVmaW5hbmNpbmciCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkVGSU5BTkNFX05PVyBDb2506W06ICJIb21lIHJlZmluYW5jaW5nIgpsYW5nIHB0X0JSIGRlc2NyaWJlIE5PX01FRElDQUwgQ29udOltOiAiTm8gTWVkaWNhbCBFeGFtcyIKbGFuZyBwdF9CUiBkZXNjcmliZSBESUVUXzEgU3BhbSBkZSBwZXJkYSBkZSBwZXNvCmxhbmcgcHRfQlIgZGVzY3JpYmUgRklOX0ZSRUUgQ29udOltOiAiRnJlZWRvbSBvZiBhIGZpbmFuY2lhbCBuYXR1cmUiCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SV0FSRF9MT09LSU5HIFBvc3N1aSBpbmZvcm1h5/VlcyBzb2JyZSBvIG1lcmNhZG8gZGUgYef1ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBPTkVfVElNRSBDb2506W06ICJPbmUgVGltZSAoYWxndW1hIGNvaXNhKSIKbGFuZyBwdF9CUiBkZXNjcmliZSBKT0lOX01JTExJT05TIENvbnTpbTogIkpvaW4gTWlsbGlvbnMgb2YgQW1lcmljYW5zIgpsYW5nIHB0X0JSIGRlc2NyaWJlIE1BUktFVElOR19QQVJUTkVSUyBBZmlybWEgcXVlIHZvY+ogc2UgY2FkYXN0cm91IGNvbSB1bSBwYXJjZWlybwpsYW5nIHB0X0JSIGRlc2NyaWJlIExPV19QUklDRSBDb2506W06ICJMb3dlc3QgUHJpY2UiCmxhbmcgcHRfQlIgZGVzY3JpYmUgVU5DTEFJTUVEX01PTkVZIFNwYW0gc29icmUgZGluaGVpcm8gcXVlIHBvZGUgc2VyIHNldQpsYW5nIHB0X0JSIGRlc2NyaWJlIE9CU0NVUkVEX0VNQUlMIE1lbnNhZ2VtIHRlbnRhIGVzY29uZGVyIHVtIGVuZGVyZedvIGRlIGVtYWlsIGNvbSBjb2RpZmljYefjbyBST1QxMwpsYW5nIHB0X0JSIGRlc2NyaWJlIEJBTkdfT1BSQUggQ29udOltOiAiT3ByYWghIgpsYW5nIHB0X0JSIGRlc2NyaWJlIEFDVF9OT1dfQ0FQUyBDb2506W06ICJBY3QgTm93IgpsYW5nIHB0X0JSIGRlc2NyaWJlIE1PUkVfU0VYIEZhbGEgc29icmUgdW0gbWFpb3IgZGVzZWpvIHBvciBzZXhvCmxhbmcgcHRfQlIgZGVzY3JpYmUgQkFOR19HVUFSIFNwYW0gc29icmUgImFsZ3VtYSBjb2lzYSIgZ2FyYW50aWRhICgiZ3VhcmFudGVlZCEiKQpsYW5nIHB0X0JSIGRlc2NyaWJlIFJVREVfSFRNTCBNZW5zYWdlbSBkaXogcXVlIHNldSBjbGllbnRlIGRlIGVtYWlsIG7jbyBzdXBvcnRhIEhUTUwKbGFuZyBwdF9CUiBkZXNjcmliZSBJTlZFU1RNRU5UX0FEVklDRSBNZW5zYWdlbSBwb3NzdWkgImNvbnNlbGhvcyIgc29icmUgaW52ZXN0aW1lbnRvcwpsYW5nIHB0X0JSIGRlc2NyaWJlIE1BTEVfRU5IQU5DRSBNZW5zYWdlbSBmYWxhIHNvYnJlIG1lbGhvcmFyIGEgbWFzY3VsaW5pZGFkZQpsYW5nIHB0X0JSIGRlc2NyaWJlIFBSSUNFU19BUkVfQUZGT1JEQUJMRSBNZW5zYWdlbSBkaXogcXVlIG9zIHByZedvcyBz428gYmFpeG9zCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkVQTElDQV9XQVRDSCBNZW5zYWdlbSBmYWxhIHNvYnJlIHLpcGxpY2FzIGRlIHJlbPNnaW8KbGFuZyBwdF9CUiBkZXNjcmliZSBFTV9ST0xFWCBNZW5zYWdlbSBw9WUg6m5mYXNlIG5vIGZhYnJpY2FudGUgZG8gcmVs82dpbwoKIyAyMF9wb3JuLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlJFRV9QT1JOIFBvcm5vZ3JhZmlhIC0gbWVuc2FnZW0gY29udOltICJGcmVlIFBvcm4iCmxhbmcgcHRfQlIgZGVzY3JpYmUgQ1VNX1NIT1QgUG9ybm9ncmFmaWEgLSBtZW5zYWdlbSBjb2506W0gIkN1bSBTaG90IgpsYW5nIHB0X0JSIGRlc2NyaWJlIExJVkVfUE9STiBQb3Jub2dyYWZpYSAtIG1lbnNhZ2VtIGNvbnTpbSAiTGl2ZSBQb3JuIgpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpFQ1RfU0VYVUFMIEFzc3VudG8gaW5kaWNhIGNvbnRl+mRvIHNleHVhbG1lbnRlLWV4cGztY2l0bwoKIyAyMF9yYXR3YXJlLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkFUV0FSRV9FR1JPVVBTIERldGVjdGFkbyBjb21vIGVtYWlsIGVtIG1hc3NhIGrhIGNvbmhlY2lkbyAoZUdyb3VwcykKbGFuZyBwdF9CUiBkZXNjcmliZSBSQVRXQVJFX09FX01BTEZPUk1FRCBYLU1haWxlciBtYWwtZm9ybWFkbyB0ZW50YW5kbyBpbmRpY2FyIHVtYSB2ZXJz428gZG8gT3V0bG9vayBFeHByZXNzCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkFUV0FSRV9NT1pfTUFMRk9STUVEIERldGVjdGFkbyBjb21vIGVtYWlsIGVtIG1hc3NhIGrhIGNvbmhlY2lkbyAoTW96aWxsYSBtYWxmb3JtZWQpCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkFUV0FSRV9NUE9QX1dFQk1BSUwgRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChtUE9QIFdlYi1NYWlsKQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9NVUFfSU1TIEVtYWlsIEVtYWlsIGZpbmdpbmRvIHNlciBlbnZpYWRvIHBlbG8gSU1TCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SR0VEX01VQV9PVVRMT09LIEVtYWlsIGZpbmdpbmRvIHNlciBlbnZpYWRvIHBlbG8gTVMgT3V0bG9vawpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9NVUFfT0lNTyBFbWFpbCBmaW5naW5kbyBzZXIgZW52aWFkbyBwZWxvIE1TIE91dGxvb2sgSU1PCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SR0VEX01VQV9FVURPUkEgRW1haWwgZmluZ2luZG8gc2VyIGVudmlhZG8gcGVsbyBFdWRvcmEKbGFuZyBwdF9CUiBkZXNjcmliZSBGT1JHRURfTVVBX1RIRUJBVF9DUyBFbWFpbCBmaW5naW5kbyBzZXIgZW52aWFkbyBwZWxvIFRoZSBCYXQhIChjaGFyc2V0KQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9NVUFfVEhFQkFUX0JPVU4gRW1haWwgZmluZ2luZG8gc2VyIGVudmlhZG8gcGVsbyBUaGUgQmF0ISAoYm91bmRhcnkpCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SR0VEX09VVExPT0tfSFRNTCBPdXRsb29rIG7jbyBjb25zZWd1ZSBlbnZpYXIgbWVuc2FnZW5zIGFwZW5hcyBIVE1MCmxhbmcgcHRfQlIgZGVzY3JpYmUgRk9SR0VEX0lNU19IVE1MIElNUyBu428gY29uc2VndWUgZW52aWFyIG1lbnNhZ2VucyBhcGVuYXMgSFRNTApsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9USEVCQVRfSFRNTCBUaGUgQmF0ISBu428gY29uc2VndWUgZW52aWFyIG1lbnNhZ2VucyBhcGVuYXMgSFRNTApsYW5nIHB0X0JSIGRlc2NyaWJlIFJFUFRPX1FVT1RFX0FPTCBBT0wgbuNvIHVzYSBvIGZvcm1hdG8gZGUgY2l0YefjbyB1c2FkbyBubyBlbWFpbApsYW5nIHB0X0JSIGRlc2NyaWJlIFJFUFRPX1FVT1RFX0lNUyBJTVMgbuNvIHVzYSBvIGZvcm1hdG8gZGUgY2l0YefjbyB1c2FkbyBubyBlbWFpbApsYW5nIHB0X0JSIGRlc2NyaWJlIFJFUFRPX1FVT1RFX01TTiBNU04gbuNvIHVzYSBvIGZvcm1hdG8gZGUgY2l0YefjbyB1c2FkbyBubyBlbWFpbApsYW5nIHB0X0JSIGRlc2NyaWJlIFJFUFRPX1FVT1RFX1FVQUxDT01NIFF1YWxjb21tL0V1ZG9yYSBu428gdXNhIG8gZm9ybWF0byBkZSBjaXRh5+NvIHVzYWRvIG5vIGVtYWlsCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkVQVE9fUVVPVEVfWUFIT08gWWFob28hIG7jbyB1c2EgbyBmb3JtYXRvIGRlIGNpdGHn428gdXNhZG8gbm8gZW1haWwKbGFuZyBwdF9CUiBkZXNjcmliZSBGT1JHRURfUVVBTENPTU1fVEFHUyBRVUFMQ09NTSBu428gY29uc2VndWUgZW52aWFyIGVtYWlscyBIVE1MIG5lc3RlIGZvcm1hdG8KbGFuZyBwdF9CUiBkZXNjcmliZSBGT1JHRURfSU1TX1RBR1MgSU1TIG7jbyBjb25zZWd1ZSBlbnZpYXIgZW1haWxzIEhUTUwgbmVzdGUgZm9ybWF0bwpsYW5nIHB0X0JSIGRlc2NyaWJlIEZPUkdFRF9PVVRMT09LX1RBR1MgT3V0bG9vayBu428gY29uc2VndWUgZW52aWFyIGVtYWlscyBIVE1MIG5lc3RlIGZvcm1hdG8KbGFuZyBwdF9CUiBkZXNjcmliZSBSQVRXQVJFX0hBU0hfREFTSCBDb2506W0gaGFzaGJ1c3RlciBubyBmb3JtYXRvIFNlbmRlci1TYWZlCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkFUV0FSRV9aRVJPX1RaIERldGVjdGFkbyBjb21vIGVtYWlsIGVtIG1hc3NhIGrhIGNvbmhlY2lkbyAoKzAwMDApCmxhbmcgcHRfQlIgZGVzY3JpYmUgWF9NRVNTQUdFX0lORk8gRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChYLU1lc3NhZ2UtSW5mbykKbGFuZyBwdF9CUiBkZXNjcmliZSBIRUFERVJfU1BBTSBEZXRlY3RhZG8gY29tbyBlbWFpbCBlbSBtYXNzYSBq4SBjb25oZWNpZG8gKGhlYWRlci1iYXNlZCkKbGFuZyBwdF9CUiBkZXNjcmliZSBSQVRXQVJFX1JDVkRfUEYgRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChSZWNlaXZlZCBQRikKbGFuZyBwdF9CUiBkZXNjcmliZSBSQVRXQVJFX1JDVkRfQVQgRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChSZWNlaXZlZCBAKQpsYW5nIHB0X0JSIGRlc2NyaWJlIFJBVFdBUkVfT1VUTE9PS19OT05BTUUgRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChPdXRsb29rIG5vIG5hbWUpCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkFUV0FSRV9NU19IQVNIIERldGVjdGFkbyBjb21vIGVtYWlsIGVtIG1hc3NhIGrhIGNvbmhlY2lkbyAobXNnaWQgbXMgaGFzaCkKbGFuZyBwdF9CUiBkZXNjcmliZSBSQVRXQVJFX05BTUVfSUQgRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChtc2dpZCBmcm9tKQpsYW5nIHB0X0JSIGRlc2NyaWJlIFJBVFdBUkVfRUZST00gRGV0ZWN0YWRvIGNvbW8gZW1haWwgZW0gbWFzc2EgauEgY29uaGVjaWRvIChlbnZmcm9tKQoKIyAyMF91cmlfdGVzdHMuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBOVU1FUklDX0hUVFBfQUREUiBVdGlsaXphIHVtIGVuZGVyZedvIGVtIG76bWVybyBJUCBuYSBVUkwKbGFuZyBwdF9CUiBkZXNjcmliZSBIVFRQX0VTQ0FQRURfSE9TVCBVc2EgJS1lc2NhcGVzIG5vIGhvc3RuYW1lIGRlIHVtYSBVUkwKbGFuZyBwdF9CUiBkZXNjcmliZSBIVFRQX0VYQ0VTU0lWRV9FU0NBUEVTIFVzYSAlLWVzY2FwZXMgZGVzbmVjZXNz4XJpb3MgZGVudHJvIGRlIHVtYSBVUkwKbGFuZyBwdF9CUiBkZXNjcmliZSBXRUlSRF9QT1JUIFVzYSB1bSBu+m1lcm8gZGUgcG9ydGEgbuNvIHBhZHLjbyBwYXJhIG8gSFRUUApsYW5nIHB0X0JSIGRlc2NyaWJlIFlBSE9PX1JEX1JFRElSIFBvc3N1aSBVUkkgZGUgUmVkaXJlY2lvbmFtZW50byBkbyBZYWhvbwpsYW5nIHB0X0JSIGRlc2NyaWJlIFlBSE9PX0RSU19SRURJUiBQb3NzdWkgVVJJIGRlIFJlZGlyZWNpb25hbWVudG8gZG8gWWFob28KbGFuZyBwdF9CUiBkZXNjcmliZSBTUE9PRl9DT00yT1RIIFVSSSBjb2506W0gIi5jb20iIG5vIG1laW8KbGFuZyBwdF9CUiBkZXNjcmliZSBTUE9PRl9DT00yQ09NIFVSSSBjb2506W0gIi5jb20iIG5vIG1laW8gZSBubyBmaW0KbGFuZyBwdF9CUiBkZXNjcmliZSBTUE9PRl9ORVQyQ09NIFVSSSBjb2506W0gIi5uZXQiIG91ICIub3JnIiBlIGRlcG9pcyAiLmNvbSIKbGFuZyBwdF9CUiBkZXNjcmliZSBVUklfSEVYIEhvc3RuYW1lIGFwcmVzZW50YSB1bWEgbG9uZ2Egc2Vx/OpuY2lhIGhleGFkZWNpbWFsCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVJJX05PVk9XRUwgSG9zdG5hbWUgZGEgVVJJIGNvbnTpbSB1bWEgbG9uZ2Egc2Vx/OpuY2lhIHNlbSB2b2dhbApsYW5nIHB0X0JSIGRlc2NyaWJlIFVSSV9VTlNVQlNDUklCRSBDb2506W0gbGluayBzdXNwZWl0byBkZSBvcHQtb3V0CmxhbmcgcHRfQlIgZGVzY3JpYmUgSVBfTElOS19QTFVTIEVuZGVyZedvIElQIHNlZ3VpZG8gZGUgYXJxdWl2byBDR0kKbGFuZyBwdF9CUiBkZXNjcmliZSBOT1JNQUxfSFRUUF9UT19JUCBVc2EgdW0gZW5kZXJl528gSVAgbmEgVVJMCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVJJX05PX1dXV19JTkZPX0NHSSBEb23tbmlvIC5pbmZvIHBvc3N1aSBzdHJpbmcgc3VzcGVpdGEgYW8gaW526XMgZGUgInd3dyIKbGFuZyBwdF9CUiBkZXNjcmliZSBVUklfTk9fV1dXX0JJWl9DR0kgRG9t7W5pbyAuYml6IHBvc3N1aSBzdHJpbmcgc3VzcGVpdGEgYW8gaW526XMgZGUgInd3dyIKbGFuZyBwdF9CUiBkZXNjcmliZSBIVFRQXzc3IENvbnTpbSB1bWEgVVJMIGNvZGlmaWNhZGEgKFVSTC1lbmNvZGVkKSAoSFRUUDc3KQoKIyAyMF92Ym91bmNlLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgQk9VTkNFX01FU1NBR0UgTWVuc2FnZW0gZGUgYm91bmNlIGRvIE1UQQpsYW5nIHB0X0JSIGRlc2NyaWJlIENIQUxMRU5HRV9SRVNQT05TRSBNZW5zYWdlbSBUaXJhLVRlaW1hIGRlIHVtIGVtYWlsIHF1ZSB2b2PqIGVudmlvdQpsYW5nIHB0X0JSIGRlc2NyaWJlIENSQk9VTkNFX01FU1NBR0UgQm91bmNlIGRlIG1lbnNhZ2VtIFRpcmEtVGVpbWEKbGFuZyBwdF9CUiBkZXNjcmliZSBWQk9VTkNFX01FU1NBR0UgQm91bmNlIGRlIG1lbnNhZ2VtIGRlIGFudGl2aXJ1cwpsYW5nIHB0X0JSIGRlc2NyaWJlIEFOWV9CT1VOQ0VfTUVTU0FHRSBNZW5zYWdlbSDpIHVtIGJvdW5jZSBkZSBhbGd1bSBlbWFpbAoKIyAyM19iYXllcy5jZgppZnBsdWdpbiBNYWlsOjpTcGFtQXNzYXNzaW46OlBsdWdpbjo6QmF5ZXMKbGFuZyBwdF9CUiBkZXNjcmliZSBCQVlFU18wMCBQcm9iYWJpbGlkYWRlIGRlIHNlciBzcGFtIGVudHJlIDAgdG8gMSUKbGFuZyBwdF9CUiBkZXNjcmliZSBCQVlFU18wNSBQcm9iYWJpbGlkYWRlIGRlIHNlciBzcGFtIGVudHJlIDEgdG8gNSUKbGFuZyBwdF9CUiBkZXNjcmliZSBCQVlFU18yMCBQcm9iYWJpbGlkYWRlIGRlIHNlciBzcGFtIGVudHJlIDUgdG8gMjAlCmxhbmcgcHRfQlIgZGVzY3JpYmUgQkFZRVNfNDAgUHJvYmFiaWxpZGFkZSBkZSBzZXIgc3BhbSBlbnRyZSAyMCB0byA0MCUKbGFuZyBwdF9CUiBkZXNjcmliZSBCQVlFU181MCBQcm9iYWJpbGlkYWRlIGRlIHNlciBzcGFtIGVudHJlIDQwIHRvIDYwJQpsYW5nIHB0X0JSIGRlc2NyaWJlIEJBWUVTXzYwIFByb2JhYmlsaWRhZGUgZGUgc2VyIHNwYW0gZW50cmUgNjAgdG8gODAlCmxhbmcgcHRfQlIgZGVzY3JpYmUgQkFZRVNfODAgUHJvYmFiaWxpZGFkZSBkZSBzZXIgc3BhbSBlbnRyZSA4MCB0byA5NSUKbGFuZyBwdF9CUiBkZXNjcmliZSBCQVlFU185NSBQcm9iYWJpbGlkYWRlIGRlIHNlciBzcGFtIGVudHJlIDk1IHRvIDk5JQpsYW5nIHB0X0JSIGRlc2NyaWJlIEJBWUVTXzk5IFByb2JhYmlsaWRhZGUgZGUgc2VyIHNwYW0gZW50cmUgOTkgdG8gMTAwJQpsYW5nIHB0X0JSIGRlc2NyaWJlIEJBWUVTXzk5OSBQcm9iYWJpbGlkYWRlIGRlIHNlciBzcGFtIGVudHJlIDk5LjkgdG8gMTAwJQplbmRpZgojCiMgMjVfYWNjZXNzZGIuY2YKaWZwbHVnaW4gTWFpbDo6U3BhbUFzc2Fzc2luOjpQbHVnaW46OkFjY2Vzc0RCCmxhbmcgcHRfQlIgZGVzY3JpYmUgQUNDRVNTREIgTWVuc2FnZW0gdGVyaWEgc2lkbyBwZWdhIHBlbGEgYWNjZXNzZGIKZW5kaWYKCiMgMjVfYW50aXZpcnVzLmMKaWZwbHVnaW4gTWFpbDo6U3BhbUFzc2Fzc2luOjpQbHVnaW46OkFudGlWaXJ1cwpsYW5nIHB0X0JSIGRlc2NyaWJlIE1JQ1JPU09GVF9FWEVDVVRBQkxFIE1lbnNhZ2VtIGNvbnTpbSB1bSBwcm9ncmFtYSBleGVjdXThdmVsIE1pY3Jvc29mdApsYW5nIHB0X0JSIGRlc2NyaWJlIE1JTUVfU1VTUEVDVF9OQU1FIEV4dGVuc+NvIGRvIGFycXVpdm8gbuNvIGNvcnJlc3BvbmRlIGFvIHNldSBjb250ZfpkbwplbmRpZgoKIyAyNV9kY2MuY2YKaWZwbHVnaW4gTWFpbDo6U3BhbUFzc2Fzc2luOjpQbHVnaW46OkRDQwpsYW5nIHB0X0JSIGRlc2NyaWJlIERDQ19DSEVDSyBDbGFzc2lmaWNhZG8gY29tbyBlbWFpbCBlbSBtYXNzYSBwZWxvIERDQyAoZGNjLXNlcnZlcnMubmV0KQpsYW5nIHB0X0JSIGRlc2NyaWJlIERDQ19SRVBVVF8wMF8xMiBSZXB1dGHn428gbm8gRENDIGVudHJlIDAgZSAxMiAlICAobWFpb3JpYSBu428tc3BhbSkKbGFuZyBwdF9CUiBkZXNjcmliZSBEQ0NfUkVQVVRfNzBfODkgUmVwdXRh5+NvIG5vIERDQyBlbnRyZSA3MCBhbmQgODkgJQpsYW5nIHB0X0JSIGRlc2NyaWJlIERDQ19SRVBVVF85MF85NCBSZXB1dGHn428gbm8gRENDIGVudHJlIDkwIGFuZCA5NCAlCmxhbmcgcHRfQlIgZGVzY3JpYmUgRENDX1JFUFVUXzk1Xzk4IFJlcHV0YefjbyBubyBEQ0MgZW50cmUgOTUgYW5kIDk4ICUgIChtYWlvcmlhIGRlIHNwYW0pCmxhbmcgcHRfQlIgZGVzY3JpYmUgRENDX1JFUFVUXzk5XzEwMCBSZXB1dGHn428gbm8gRENDIGVudHJlIDk5ICUgb3UgbWFpcyAoZGVmaW5pdGFtZW50ZSBzcGFtKQplbmRpZgoKIyAyNV9ka2ltLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgREtJTV9TSUdORUQgTWVuc2FnZW0gcG9zc3VpIHVtYSBhc3NpbmF0dXJhIERLSU0gb3UgREsgbuNvIG5lY2Vzc2FyaWFtZW50ZSB24WxpZGEKbGFuZyBwdF9CUiBkZXNjcmliZSBES0lNX1ZBTElEIE1lbnNhZ2VtIHBvc3N1aSBhbyBtZW5vcyB1bWEgYXNzaW5hdHVyYSBES0lNIG91IERLIHbhbGlkYQpsYW5nIHB0X0JSIGRlc2NyaWJlIERLSU1fVkFMSURfQVUgTWVuc2FnZW0gcG9zc3VpIHVtYSBhc3NpbmF0dXJhIERLSU0gb3UgREsgduFsaWRhIGRvIGRvbe1uaW8gZG8gYXV0b3IgZGEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBfX0RLSU1fREVQRU5EQUJMRSBGYWxoYSBuYSB2YWxpZGHn428gREtJTQpsYW5nIHB0X0JSIGRlc2NyaWJlIERLSU1fQURTUF9OWERPTUFJTiBOZW5odW1hIGFzc2luYXR1cmEgduFsaWRhIGUgbyBkb23tbmlvIG7jbyBjb25zdGEgbm8gRE5TCmxhbmcgcHRfQlIgZGVzY3JpYmUgREtJTV9BRFNQX0RJU0NBUkQgTmVuaHVtYSBhc3NpbmF0dXJhIHbhbGlkYSBkbyBhdXRvciBkYSBtZW5zYWdlbSBlIG8gZG9t7W5pbyBhc3NpbmEgdG9kb3Mgb3MgZW1haWxzIGUgc3VnZXJlIGRlc2NhcnRhciBvIHJlc3RvCmxhbmcgcHRfQlIgZGVzY3JpYmUgREtJTV9BRFNQX0FMTCBOZW5odW1hIGFzc2luYXR1cmEgduFsaWRhIGRvIGF1dG9yIGRhIG1lbnNhZ2VtIGUgbyBkb23tbmlvIGFzc2luYSB0b2RvcyBvcyBlbWFpbHMKbGFuZyBwdF9CUiBkZXNjcmliZSBES0lNX0FEU1BfQ1VTVE9NX0xPVyBOZW5odW1hIGFzc2luYXR1cmEgduFsaWRhIGRvIGF1dG9yIGRhIG1lbnNhZ2VtLiBhZHNwX292ZXJyaWRlID0gQ1VTVE9NX0xPVwpsYW5nIHB0X0JSIGRlc2NyaWJlIERLSU1fQURTUF9DVVNUT01fTUVEIE5lbmh1bWEgYXNzaW5hdHVyYSB24WxpZGEgZG8gYXV0b3IgZGEgbWVuc2FnZW0uIGFkc3Bfb3ZlcnJpZGUgPSBDVVNUT01fTUVECmxhbmcgcHRfQlIgZGVzY3JpYmUgREtJTV9BRFNQX0NVU1RPTV9ISUdIIE5lbmh1bWEgYXNzaW5hdHVyYSB24WxpZGEgZG8gYXV0b3IgZGEgbWVuc2FnZW0uIGFkc3Bfb3ZlcnJpZGUgPSBDVVNUT01fSElHSApsYW5nIHB0X0JSIGRlc2NyaWJlIF9fVklBX1JFU0lHTkVSIEVtYWlsIHBhc3NvdSBwb3IgdW0gTWFpbCB0aHJvdWdoIGEgcG9wdWxhciBzaWduaW5nIHJlbWFpbGVyCmxhbmcgcHRfQlIgZGVzY3JpYmUgTk1MX0FEU1BfQ1VTVE9NX0xPVyBBRFNQIGN1c3RvbV9sb3cgZm9pIGF0aW5naWRhLCBlIG7jbyBmb2kgZGUgdW1hIG1haWxpbmcgbGlzdApsYW5nIHB0X0JSIGRlc2NyaWJlIE5NTF9BRFNQX0NVU1RPTV9NRUQgQURTUCBjdXN0b21fbWVkIGZvaSBhdGluZ2lkYSwgZSBu428gZm9pIGRlIHVtYSBtYWlsaW5nIGxpc3QKbGFuZyBwdF9CUiBkZXNjcmliZSBOTUxfQURTUF9DVVNUT01fSElHSCBBRFNQIGN1c3RvbV9oaWdoIGZvaSBhdGluZ2lkYSwgZSBu428gZm9pIGRlIHVtYSBtYWlsaW5nIGxpc3QKCiMgMjVfcHl6b3IuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBQWVpPUl9DSEVDSyBMaXN0YWRvIG5hIFB5em9yIChodHRwczovL3B5em9yLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC8pCgojIDI1X3Jhem9yMi5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIFJBWk9SMl9DSEVDSyBMaXN0YWRvIG5hIFJhem9yMiAoaHR0cDovL3Jhem9yLnNmLm5ldC8pCmxhbmcgcHRfQlIgZGVzY3JpYmUgUkFaT1IyX0NGX1JBTkdFXzUxXzEwMCBO7XZlbCBkZSBjb25maWFu52EgbmEgUmF6b3IyIGFjaW1hIGRlIDUwJQoKIyAyNV9yZXBsYWNlLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSkVDVF9GVVpaWV9NRURTIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBubyBTdWJqZWN0OgpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpFQ1RfRlVaWllfVlBJTEwgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5vIFN1YmplY3Q6CmxhbmcgcHRfQlIgZGVzY3JpYmUgU1VCSkVDVF9GVVpaWV9DSEVBUCBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbm8gU3ViamVjdDoKbGFuZyBwdF9CUiBkZXNjcmliZSBTVUJKRUNUX0ZVWlpZX1BFTklTIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBubyBTdWJqZWN0OgpsYW5nIHB0X0JSIGRlc2NyaWJlIFNVQkpFQ1RfRlVaWllfVElPTiBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbm8gU3ViamVjdDoKbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9BRkZPUkRBQkxFIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBuYSBtZW5zYWdlbQojbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9BTUJJRU4gVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfQklMTElPTiBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9DUElMTCBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9DUkVESVQgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCiNsYW5nIHB0X0JSIGRlc2NyaWJlIEZVWlpZX0VSRUNUIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBuYSBtZW5zYWdlbQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZVWlpZX0dVQVJBTlRFRSBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9NRURJQ0FUSU9OIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBuYSBtZW5zYWdlbQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZVWlpZX01JTExJT04gVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfTU9ORVkgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfTU9SVEdBR0UgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfT0JMSUdBVElPTiBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9PRkZFUlMgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfUEhBUk1BQ1kgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfUEhFTlQgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfUFJFU0NSSVBUIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBuYSBtZW5zYWdlbQpsYW5nIHB0X0JSIGRlc2NyaWJlIEZVWlpZX1BSSUNFUyBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9SRUZJTkFOQ0UgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfUkVNT1ZFIFRlbnRhdGl2YSBkZSBlc2NvbmRlciBwYWxhdnJhcyBuYSBtZW5zYWdlbQojbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9ST0xFWCBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9TT0ZUV0FSRSBUZW50YXRpdmEgZGUgZXNjb25kZXIgcGFsYXZyYXMgbmEgbWVuc2FnZW0KbGFuZyBwdF9CUiBkZXNjcmliZSBGVVpaWV9USE9VU0FORFMgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfVkxJVU0gVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfVklPWFggVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfVlBJTEwgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCmxhbmcgcHRfQlIgZGVzY3JpYmUgRlVaWllfWFBJTEwgVGVudGF0aXZhIGRlIGVzY29uZGVyIHBhbGF2cmFzIG5hIG1lbnNhZ2VtCgojIDI1X3NwZi5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIFNQRl9QQVNTIFNQRjogUmVtZXRlbnRlIOkgduFsaWRvIGRlIGFjb3JkbyBjb20gcmVnaXN0cm8gU1BGCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1BGX05FVVRSQUwgU1BGOiBSZW1ldGVudGUgbuNvIGNvbmZlcmUgY29tIHJlZ2lzdHJvIFNQRiAobmV1dHJhbCkKbGFuZyBwdF9CUiBkZXNjcmliZSBTUEZfRkFJTCBTUEY6IFJlbWV0ZW50ZSBu428gY29uZmVyZSBjb20gcmVnaXN0cm8gU1BGIChmYWlsKQpsYW5nIHB0X0JSIGRlc2NyaWJlIFNQRl9TT0ZURkFJTCBTUEY6IFJlbWV0ZW50ZSBu428gY29uZmVyZSBjb20gcmVnaXN0cm8gU1BGIChzb2Z0ZmFpbCkKbGFuZyBwdF9CUiBkZXNjcmliZSBTUEZfSEVMT19QQVNTIFNQRjogSEVMTyBjb25mZXJlIGNvbSByZWdpc3RybyBTUEYKbGFuZyBwdF9CUiBkZXNjcmliZSBTUEZfSEVMT19ORVVUUkFMIFNQRjogSEVMTyBu428gY29uZmVyZSBjb20gcmVnaXN0cm8gU1BGIChuZXV0cmFsKQpsYW5nIHB0X0JSIGRlc2NyaWJlIFNQRl9IRUxPX0ZBSUwgU1BGOiBIRUxPIG7jbyBjb25mZXJlIGNvbSByZWdpc3RybyBTUEYgKGZhaWwpCmxhbmcgcHRfQlIgZGVzY3JpYmUgU1BGX0hFTE9fU09GVEZBSUwgU1BGOiBIRUxPIG7jbyBjb25mZXJlIGNvbSByZWdpc3RybyBTUEYgKHNvZnRmYWlsKQoKIyAyNV90ZXh0Y2F0LmNmCmlmcGx1Z2luIE1haWw6OlNwYW1Bc3Nhc3Npbjo6UGx1Z2luOjpUZXh0Q2F0CmxhbmcgcHRfQlIgZGVzY3JpYmUgVU5XQU5URURfTEFOR1VBR0VfQk9EWSBNZW5zYWdlbSBlc3ThIGVzY3JpdGEgZW0gdW0gaWRpb21hIGluZGVzZWphZG8KbGFuZyBwdF9CUiBkZXNjcmliZSBCT0RZXzhCSVRTIEJvZHkgY29udOltIDggY2FyYWN0ZXJlcyBkZSA4LWJpdCBjb25zZWN1dGl2b3MKZW5kaWYKCiMgMjVfdXJpYmwuY2YKbGFuZyBwdF9CUiBkZXNjcmliZSBVUklCTF9TQkwgQ29udOltIHVtYSBVUkwgbGlzdGFkYSBuYSBibG9ja2xpc3QgU0JMCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVJJQkxfREJMX1NQQU0gQ29udOltIHVtYSBVUkwgbGlzdGFkYSBuYSBibG9ja2xpc3QgREJMIGJsb2NrbGlzdApsYW5nIHB0X0JSIGRlc2NyaWJlIFVSSUJMX0RCTF9FUlJPUiBFcnJvOiBDb25zdWx0b3UgYSBEQkwgcG9yIHVtIElQCiNsYW5nIHB0X0JSIGRlc2NyaWJlIFVSSUJMX1NDX1NVUkJMIENvbnTpbSB1bWEgVVJMIGxpc3RhZGEgbmEgYmxvY2tsaXN0IFNDIFNVUkJMIC0gcmVtb3ZlZCBidWcgNzI3OQojbGFuZyBwdF9CUiBkZXNjcmliZSBVUklCTF9XU19TVVJCTCBDb2506W0gdW1hIFVSTCBsaXN0YWRhIG5hIGJsb2NrbGlzdCBXUyBTVVJCTApsYW5nIHB0X0JSIGRlc2NyaWJlIFVSSUJMX1BIX1NVUkJMIENvbnTpbSB1bWEgVVJMIGxpc3RhZGEgbmEgYmxvY2tsaXN0IFBIIFNVUkJMCiNsYW5nIHB0X0JSIGRlc2NyaWJlIFVSSUJMX09CX1NVUkJMIENvbnTpbSB1bWEgVVJMIGxpc3RhZGEgbmEgYmxvY2tsaXN0IE9CIFNVUkJMIC0gUkVNT1ZFRCBCVUcgNjg1MwojbGFuZyBwdF9CUiBkZXNjcmliZSBVUklCTF9BQl9TVVJCTCBDb2506W0gdW1hIFVSTCBsaXN0YWRhIG5hIGJsb2NrbGlzdCBBQiBTVVJCTCAtIHJlbW92ZWQgYnVnIDcyNzkKI0NoYW5nZWQgZnJvbSBKUCB0byBBQlVTRSBwZXIgYnVnIDcyNzkKbGFuZyBwdF9CUiBkZXNjcmliZSBVUklCTF9BQlVTRV9TVVJCTCBDb2506W0gdW1hIFVSTCBsaXN0YWRhIG5hIGJsb2NrbGlzdCBBQlVTRSBTVVJCTApsYW5nIHB0X0JSIGRlc2NyaWJlIFVSSUJMX0JMQUNLIENvbnTpbSB1bWEgVVJMIGxpc3RhZGEgbmEgYmxvY2tsaXN0IFVSSUJMCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVJJQkxfR1JFWSBDb2506W0gdW1hIFVSTCBsaXN0YWRhIG5hIGdyZXlsaXN0IFVSSUJMCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVJJQkxfUkVEIENvbnTpbSB1bWEgVVJMIGxpc3RhZGEgbmEgcmVkbGlzdCBVUklCTAoKIyA2MF9zaG9ydGNpcmN1aXQuY2YKaWZwbHVnaW4gTWFpbDo6U3BhbUFzc2Fzc2luOjpQbHVnaW46OlNob3J0Y2lyY3VpdApsYW5nIHB0X0JSIGRlc2NyaWJlIFNIT1JUQ0lSQ1VJVCBOZW0gdG9kYXMgYXMgcmVncmFzIGZvcmFtIGV4ZWN1dGFkYXMgcG9yIGNhdXNhIGRlIHVtIHByb2JsZW1hIGVtIHVtYSBkZWxhcwplbmRpZgoKIyA2MF93ZWxjb21lbGlzdF9ka2ltLmNmCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVNFUl9JTl9ES0lNX1dFTENPTUVMSVNUIEVuZGVyZedvIGRvIEZyb206IGVzdOEgbmEgd2VsY29tZWxpc3QgZGUgREtJTSBkbyB1c3XhcmlvCmxhbmcgcHRfQlIgZGVzY3JpYmUgVVNFUl9JTl9ERUZfREtJTV9XTCBFbmRlcmXnbyBkbyBGcm9tOiBlc3ThIG5hIHdlbGNvbWVsaXN0IGRlIERLSU0gcGFkcuNvCgojIDYwX3dlbGNvbWVsaXN0X3NwZi5jZgpsYW5nIHB0X0JSIGRlc2NyaWJlIFVTRVJfSU5fU1BGX1dFTENPTUVMSVNUIEVuZGVyZedvIGRvIEZyb206IGVzdOEgbmEgd2VsY29tZWxpc3QgZGUgU1BGIGRvIHVzdeFyaW8KbGFuZyBwdF9CUiBkZXNjcmliZSBVU0VSX0lOX0RFRl9TUEZfV0wgRW5kZXJl528gZG8gRnJvbTogZXN04SBuYSB3ZWxjb21lbGlzdCBkZSBTUEYgcGFkcuNvCmxhbmcgcHRfQlIgZGVzY3JpYmUgRU5WX0FORF9IRFJfU1BGX01BVENIIEVuZGVyZedvIGRvIEZyb206IGNvbmZlcmUgY29tIEVudmVsb3BlIEZyb20gZSBlc3ThIG5hIHdlbGNvbWVsaXN0IGRlIFNQRgoK