LlwiIEF1dGhvcnM6IElhbiBKYWNrc29uCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlwiCi5cIiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCB3aXRoIHBvNGEuIFRyYW5zbGF0ZSB0aGUgc291cmNlIGZpbGUuCi5cIgouXCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi5USCBkZWJcLXN1YnN0dmFycyA1IDE1XC0wN1wtMjAwOSAiUHJvamV0IERlYmlhbiIgIlV0aWxpdGFpcmVzIGRlIGRwa2ciCi5TSCBOT00KZGViXC1zdWJzdHZhcnMgXC0gVmFyaWFibGVzIGRlIHN1YnN0aXR1dGlvbiBkZSBzb3VyY2UgRGViaWFuCi4KLlNIIFNZTk9QU0lTCnN1YnN0dmFycwouCi5TSCBERVNDUklQVElPTgpBdmFudCBxdWUgXGZCZHBrZ1wtc291cmNlXGZQLCBcZkJkcGtnXC1nZW5jb250cm9sXGZQIGV0IFxmQmRwa2dcLWdlbmNoYW5nZXNcZlAKbifpY3JpdmVudCBsZXVycyBpbmZvcm1hdGlvbnMgZGUgY29udHL0bGUgKGRhbnMgbGUgZmljaGllciBzb3VyY2UgZGUKY29udHL0bGUgXGZCLmRzY1xmUCBwb3VyIFxmQmRwa2dcLXNvdXJjZVxmUCBldCBzdXIgbGEgc29ydGllIHN0YW5kYXJkIHBvdXIKXGZCZHBrZ1wtZ2VuY29udHJvbFxmUCBldCBcZkJkcGtnXC1nZW5jaGFuZ2VzXGZQKSwgaWxzIHLpYWxpc2VudCBxdWVscXVlcwpzdWJzdGl0dXRpb25zIGRlIHZhcmlhYmxlcyBkYW5zIGxlIGZpY2hpZXIgZGUgc29ydGllLgoKVW5lIHN1YnN0aXR1dGlvbiBkZSB2YXJpYWJsZSBlc3QgZGUgbGEgZm9ybWVcIDogXGZCJHtcZlBcZklub21cLXZhcmlhYmxlXGZQXGZCfVxmUC4gTGVzCm5vbXMgZGUgdmFyaWFibGUgY29uc2lzdGVudCBlbiBjYXJhY3TocmVzIGFscGhhbnVt6XJpcXVlcywgdHJhaXRzIGQndW5pb24gZXQKq1wgZGV1eCBwb2ludHNcILtcIDsgaWxzIGNvbW1lbmNlbnQgcGFyIHVuZSBsZXR0cmUgb3UgdW4gY2hpZmZyZS4gTGEKc3Vic3RpdHV0aW9uIHNlIGZhaXQgculw6XRpdGl2ZW1lbnQganVzcXUn4CBjZSBxdSdpbCBuJ2VuIHJlc3RlIGF1Y3VuZSDgCmZhaXJlXCA7IGxlIHRleHRlIGVudGllciBkdSBjaGFtcCBhcHLocyBsYSBzdWJzdGl0dXRpb24gZXN0IHLpZXhhbWlu6SBwb3VyCmNoZXJjaGVyIGQnYXV0cmVzIHN1YnN0aXR1dGlvbnMuCgpRdWFuZCB0b3V0ZXMgbGVzIHN1YnN0aXR1dGlvbnMgb250IOl06SBmYWl0ZXMsIGNoYXF1ZSBvY2N1cnJlbmNlIGRlIGxhCmNoYe5uZSBcZkIke31cZlAgKGxhcXVlbGxlIG4nZXN0IHBhcyB1bmUgc3Vic3RpdHV0aW9uIGF1dG9yaXPpZSkgZXN0IHJlbXBsYWPpZQpwYXIgdW4gc2lnbmUgXGZCJFxmUC4KCkxvcnNxdWUgbGUgcmVtcGxhY2VtZW50IGRlIHZhcmlhYmxlcyBlc3QgZWZmZWN0dekgc3VyIHRvdXMgbGVzIGNoYW1wcyBkZQpjb250cvRsZSwgY2VydGFpbnMgZGUgY2VzIGNoYW1wcyBzb250IHV0aWxpc+lzIGV0IG7pY2Vzc2FpcmVzIHBlbmRhbnQgbGEKY29uc3RydWN0aW9ucyBhbG9ycyBt6m1lIHF1ZSBsYSBzdWJzdGl0dXRpb24gbidhIHBhcyBlbmNvcmUgcHUg6nRyZQplZmZlY3R16WUuIENlbGEgZXhwbGlxdWUgcG91cnF1b2kgaWwgbidlc3QgcGFzIHBvc3NpYmxlIGQndXRpbGlzZXIgZGUKdmFyaWFibGVzIGRhbnMgbGVzIGNoYW1wcyBcZkJQYWNrYWdlXGZQLCBcZkJTb3VyY2VcZlAgZXQgXGZCQXJjaGl0ZWN0dXJlXGZQLgoKTGEgc3Vic3RpdHV0aW9uIGRlIHZhcmlhYmxlcyBzZSBmYWl0IGRhbnMgbGUgY29udGV4dGUgZGVzIGNoYW1wcyBhcHLocyBsZXVyCmFuYWx5c2UuIEVuIGNvbnPpcXVlbmNlLCBzaSB2b3VzIHNvdWhhaXRleiBxdSd1bmUgdmFyaWFibGUgc29pdCByZW1wbGFj6WUKc3VyIHBsdXNpZXVycyBsaWduZXMsIGlsIG4nZXN0IHBhcyBu6WNlc3NhaXJlIGRlIHBsYWNlciB1biBlc3BhY2UgYXBy6HMgbGUKcmV0b3VyIOAgbGEgbGlnbmUuIENlbGEgc2UgZmFpdCBpbXBsaWNpdGVtZW50IHF1YW5kIGxlIGNoYW1wIGVzdAphZmZpY2jpLiBQYXIgZXhlbXBsZSwgc2kgbGEgdmFyaWFibGUgXGZCJHtEZXNjcmlwdGlvbn1cZlAgZXN0IHBvc2l0aW9ubullIHN1cgqrXCBmb28gZXN0IGJhci4ke05ld2xpbmV9Zm9vIGVzdCBzdXBlci5cILsgZXQgc2kgdm91cyBhdmV6IGxlIGNoYW1wIHN1aXZhbnRcIDoKCiBEZXNjcmlwdGlvbjogYXBwbGljYXRpb24gZm9vCiAgJHtEZXNjcmlwdGlvbn0KICAuCiAgRW5jb3JlIGR1IHRleHRlLgoKTGUgculzdWx0YXQgZmluYWwgc2VyYVwgOgoKIERlc2NyaXB0aW9uOiBhcHBsaWNhdGlvbiBmb28KICBmb28gZXN0IGJhci4KICBmb28gZXN0IHN1cGVyLgogIC4KICBNb3JlIHRleHQuCgpPbiBwZXV0IGTpZmluaXIgbGVzIHZhcmlhYmxlcyBlbiB1dGlsaXNhbnQgbCdvcHRpb24gY29tbXVuZSBcZkJcLVZcZlAuIE9uIHBldXQKYXVzc2kgc2Ugc2VydmlyIGR1IGZpY2hpZXIgXGZCZGViaWFuL3N1YnN0dmFyc1xmUCAob3UgdG91dCBhdXRyZSBmaWNoaWVyIGF2ZWMKbCdvcHRpb24gXGZCXC1UXGZQKS4gQ2UgZmljaGllciBlc3QgY29tcG9z6SBkZSBsaWduZXMgZGUgbGEgZm9ybWUgc3VpdmFudGVcIDoKXGZJbm9tXGZQXGZCPVxmUFxmSXZhbGV1clxmUC4gTGVzIGVzcGFjZXMgculzaWR1ZWxzIHN1ciBjaGFxdWUgbGlnbmUsIGxlcyBsaWduZXMKdmlkZXMgZXQgbGVzIGxpZ25lcyBxdWkgY29tbWVuY2VudCBwYXIgdW4gc3ltYm9sZSBcZkIjXGZQIHNvbnQgaWdub3Lpcy4KCkVuIG91dHJlLCBsZXMgdmFyaWFibGVzIHN0YW5kYXJkIHN1aXZhbnRlcyBzb250IGRpc3BvbmlibGVzXCA6Ci5UUCAKXGZCQXJjaFxmUApMJ2FyY2hpdGVjdHVyZSBwb3VyIGxhcXVlbGxlIG9uIGNvbnN0cnVpdCAodGly6WUgZGUgXGZCZHBrZwpcLVwtcHJpbnRcLWFyY2hpdGVjdHVyZVxmUCkuCi5UUCAKXGZCc291cmNlOlZlcnNpb25cZlAKTGEgdmVyc2lvbiBkdSBwYXF1ZXQgc291cmNlLgouVFAgClxmQnNvdXJjZTpVcHN0cmVhbVwtVmVyc2lvblxmUApMYSB2ZXJzaW9uIGFtb250IGR1IHBhcXVldCBzb3VyY2UsIGF2ZWMg6XZlbnR1ZWxsZW1lbnQgbCerXCBlcG9jaFwguyBkZSBsYQp2ZXJzaW9uIGRlYmlhbi4KLlRQIApcZkJiaW5hcnk6VmVyc2lvblxmUApMYSB2ZXJzaW9uIGR1IHBhcXVldCBiaW5haXJlIChxdWkgcGV1dCDqdHJlIGRpZmbpcmVudGUgZGUgc291cmNlOlZlcnNpb24KZGFucyB1biBiaW5OTVUgcGFyIGV4ZW1wbGUpLgouVFAgClxmQlNvdXJjZVwtVmVyc2lvblxmUApMYSB2ZXJzaW9uIGR1IHBhcXVldCBzb3VyY2UsIHNlbG9uIGxlIGZpY2hpZXIgY2hhbmdlbG9nLiBDZXR0ZSB2YXJpYWJsZSBlc3QKbWFpbnRlbmFudCBcZkJk6WNvbnNlaWxs6WVcZlAgY2FyIHNhIHNpZ25pZmljYXRpb24gZXN0IGRpc3RpbmN0ZSBkZSBzYQpmb25jdGlvbi4gVXRpbGlzZXogcGx1dPR0IFxmQnNvdXJjZTpWZXJzaW9uXGZQIG91IFxmQmJpbmFyeTpWZXJzaW9uXGZQLgouVFAgClxmQkluc3RhbGxlZFwtU2l6ZVxmUApMYSB0YWlsbGUgZGUgdG91cyBsZXMgZmljaGllcnMgaW5zdGFsbOlzIGR1IHBhcXVldC4gQ2V0dGUgdmFsZXVyIGVzdCBjb3Bp6WUKZGFucyBsZSBjaGFtcCBhZOlxdWF0IGR1IGZpY2hpZXIgq1wgY29udHJvbFwgu1wgOyBRdWFuZCBvbiBmaXhlIGNldHRlIHZhcmlhYmxlLApjZWxhIG1vZGlmaWUgbGEgdmFsZXVyIGRlIGNlIGNoYW1wLiBRdWFuZCBlbGxlIGVzdCBpbmTpdGVybWlu6WUsClxmQmRwa2dcLWdlbmNvbnRyb2xcZlAgdXNlIGRlIGxhIGNvbW1hbmRlIFxmQmR1IFwtayBkZWJpYW4vdG1wXGZQIHBvdXIgdHJvdXZlciB1bmUKdmFsZXVyIHBhciBk6WZhdXQuCi5UUCAKXGZCRXh0cmFcLVNpemVcZlAKTCdlc3BhY2UgZGlzcXVlIHN1cHBs6W1lbnRhaXJlIHV0aWxpc+kgcG91ciBsJ2luc3RhbGxhdGlvbiBkdSBwYXF1ZXQuIFF1YW5kCm9uIGZpeGUgY2V0dGUgdmFyaWFibGUsIG9uIGFqb3V0ZSBzYSB2YWxldXIg4CBsYSB2YWxldXIgZGUgbGEgdmFyaWFibGUKXGZCSW5zdGFsbGVkXC1TaXplXGZQIChxdSdlbGxlIHNvaXQgZOlmaW5pZSBleHBsaWNpdGVtZW50IG91IGNhbGN1bOllIHBhcgpk6WZhdXQpIGF2YW50IHF1ZSBsYSB2YXJpYWJsZSBcZkJJbnN0YWxsZWRcLVNpemVcZlAgbmUgc29pdCBjb3Bp6WUgZGFucyBsZSBjaGFtcApkdSBmaWNoaWVyIKtcIGNvbnRyb2xcILsuCi5UUCAKXGZCRjpcZlBcZklmaWVsZG5hbWVcZlAKTGEgdmFsZXVyIGR1IGNoYW1wIFxmSWZpZWxkbmFtZVxmUCBhZmZpY2jpIGVuIHNvcnRpZSBldCBxdWkgZG9pdCDqdHJlCmNsYXNzaXF1ZW1lbnQgZW4gbWFqdXNjdWxlcy4gUXVhbmQgb24gZml4ZSBjZXMgdmFyaWFibGVzLCBjZWxhIG5lIHByZW5kCmVmZmV0IHF1ZSBs4CBv+SBlbGxlcyBzb250IGVmZmVjdGl2ZW1lbnQgZOl2ZWxvcHDpZXMuCi5UUCAKXGZCRm9ybWF0XGZQCkxhIHZlcnNpb24gZHUgZm9ybWF0IGR1IGZpY2hpZXIgXGZCLmNoYW5nZXNcZlAgcHJvZHVpdGUgcGFyIGxhIHZlcnNpb24gZGVzCnNjcmlwdHMgY29uc3RydWlzYW50IGxlIHNvdXJjZS4gUXVhbmQgb24gZOl0ZXJtaW5lIGNldHRlIHZhcmlhYmxlLCBsZQpjb250ZW51IGR1IGNoYW1wIFxmQkZvcm1hdFxmUCBkYW5zIGxlIGZpY2hpZXIgXGZCLmNoYW5nZXNcZlAgZXN0IGF1c3NpIG1vZGlmaekuCi5UUCAKXGZCTmV3bGluZVxmUCwgXGZCU3BhY2VcZlAsIFxmQlRhYlxmUApDZXMgdmFyaWFibGVzIGNvbnRpZW5uZW50IGNoYWN1bmUgbGUgY2FyYWN06HJlIGNvcnJlc3BvbmRhbnQuCi5UUCAKXGZCc2hsaWJzOlxmUFxmSWRlcGVuZGVuY3lmaWVsZFxmUApMZXMgdmFyaWFibGVzIGTpdGVybWlu6WVzIGRlIGNldHRlIGZh529uIHNvbnQgcHJvZHVpdGVzIHBhcgpcZkJkcGtnXC1zaGxpYmRlcHNcZlAuCi5UUCAKXGZCZHBrZzpVcHN0cmVhbVwtVmVyc2lvblxmUApMYSB2ZXJzaW9uIGFtb250IGRlIGRwa2cuCi5UUCAKXGZCZHBrZzpWZXJzaW9uXGZQCkxhIHZlcnNpb24gY29tcGzodGUgZGUgZHBrZy4KLkxQClF1YW5kIHVuZSB2YXJpYWJsZSBlc3Qgculm6XJlbmPpZSBtYWlzIG4nZXN0IHBhcyBk6WZpbmllLCBjZWxhIHByb2R1aXQgdW4KYXZlcnRpc3NlbWVudCBldCB1bmUgdmFsZXVyIG51bGxlIGVzdCBhc3N1bellLgouCi5TSCBGSUNISUVSUwouVFAgClxmQmRlYmlhbi9zdWJzdHZhcnNcZlAKTGEgbGlzdGUgZGVzIHZhcmlhYmxlcyBkZSBzdWJzdGl0dXRpb24gZXQgbGV1cnMgdmFsZXVycy4KLgouU0ggQk9HVUVTCkxlIG1vbWVudCBv+SBhIGxpZXUgbGUgcmVtcGxhY2VtZW50IGQndW4gY2hhbXAgcGFyIHJhcHBvcnQg4CBjZXJ0YWluZXMKZOl0ZXJtaW5hdGlvbnMgZGUgY2hhbXAgYWZmaWNo6WVzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQgZXN0IHBsdXT0dAplbWJyb3VpbGzpLgoKLlNIICJWT0lSIEFVU1NJIgpcZkJkcGtnXGZQKDEpLCBcZkJkcGtnXC1nZW5jaGFuZ2VzXGZQKDEpLCBcZkJkcGtnXC1nZW5jb250cm9sXGZQKDEpLApcZkJkcGtnXC1zaGxpYmRlcHNcZlAoMSksIFxmQmRwa2dcLXNvdXJjZVxmUCgxKS4KLgouU0ggQVVURVVSCkNvcHlyaWdodCBcKGNvIDE5OTVcLTE5OTYgSWFuIEphY2tzb24KLmJyCkNvcHlyaWdodCBcKGNvIDIwMDAgV2ljaGVydCBBa2tlcm1hbgouc3AKQ2UgcHJvZ3JhbW1lIGVzdCB1biBsb2dpY2llbCBsaWJyZVwgOyB2b3lleiBsYSCrXCBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5jZVwguwp2ZXJzaW9uIDIgb3Ugc3Vw6XJpZXVyZSBwb3VyIGxlIGNvcHlyaWdodC4gSWwgbid5IGEgUEFTIGRlIGdhcmFudGllLgouU0ggVFJBRFVDVElPTgpBcmllbCBWQVJESSA8YXJpZWwudmFyZGlAZnJlZXNiZWUuZnI+LCAyMDAyLgpQaGlsaXBwZSBCYXRhaWxsZXIsIDIwMDYuCk5pY29sYXMgRnJhbudvaXMsIDIwMDYuClZldWlsbGV6IHNpZ25hbGVyIHRvdXRlIGVycmV1ciDgIDxkZWJpYW5cLWwxMG5cLWZyZW5jaEBsaXN0cy5kZWJpYW4ub3JnPi4K