LlwiIEF1dGhvcnM6IElhbiBKYWNrc29uCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlwiCi5cIiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCB3aXRoIHBvNGEuIFRyYW5zbGF0ZSB0aGUgc291cmNlIGZpbGUuCi5cIgouXCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi5USCBkcGtnXC1zcGxpdCAxIDIwMTFcLTA3XC0wNCAiUHJveWVjdG8gRGViaWFuIiAiSGVycmFtaWVudGFzIGRlIGRwa2ciCi5TSCBOT01CUkUKZHBrZ1wtc3BsaXQgXC0gSGVycmFtaWVudGEgcGFyYSBzZXBhcmFyIHkgdW5pciBwYXF1ZXRlcyBEZWJpYW4KLgouU0ggU0lOT1BTSVMKXGZCZHBrZ1wtc3BsaXRcZlAgW1xmSW9wdGlvblxmUC4uLl0gXGZJY29tbWFuZFxmUAouCi5TSCBERVNDUklQQ0nTTgpcZkJkcGtnXC1zcGxpdFxmUCBzZXBhcmEgdW4gcGFxdWV0ZSBiaW5hcmlvIGRlIERlYmlhbiBlbiB2YXJpYXMgcGFydGVzIG3hcwpwZXF1ZfFhcyBwYXJhIGx1ZWdvIHZvbHZlcmxhcyBhIHVuaXIsIHBvc2liaWxpdGFuZG8gYWxtYWNlbmFyIHBhcXVldGVzIGVuCmRpc3Bvc2l0aXZvcyBkZSBwb2NhIGNhcGFjaWRhZCwgY29tbyBkaXNxdWV0ZXMuCgpTZSBwdWVkZSB1c2FyIG1hbnVhbG1lbnRlIHVzYW5kbyBsYXMgb3BjaW9uZXMgXGZCXC1cLXNwbGl0XGZQLCBcZkJcLVwtam9pblxmUCB5ClxmQlwtXC1pbmZvXGZQLgoKVGFtYmnpbiBvZnJlY2UgdW4gbW9kbyBhdXRvbeF0aWNvIG1lZGlhbnRlIGxhIG9wY2nzbiBcZkJcLVwtYXV0b1xmUCwgcXVlIGNyZWEgdW5hCmNvbGEgY29uIGxhcyBwYXJ0ZXMgcXVlIGhhIGFuYWxpemFkbyBwZXJvIGH6biBzZXBhcmFkYXMgcGFyYSBkZXNwdelzIGNyZWFyCmVsIHBhcXVldGUgdHJhcyBhbmFsaXphciB0b2RhcyBsYXMgcGFydGVzLiBMYXMgb3BjaW9uZXMgXGZCXC1cLWxpc3RxXGZQIHkKXGZCXC1cLWRpc2NhcmRcZlAgcGVybWl0ZW4gYWRtaW5pc3RyYXIgbGEgY29sYS4KCkxvcyBwcm9jZXNvcyBkZSBzZXBhcmFyLCB1bmlyIHkgcG9zaWNpb25hZG8gZW4gY29sYSBwcm9kdWNlbiBtZW5zYWplcwppbmZvcm1hdGl2b3MgcG9yIGxhIHNhbGlkYSBlc3ThbmRhciwgcXVlIHNlIHB1ZWRlbiBpZ25vcmFyIHNpbiBuaW5n+m4Kcmllc2dvLgouCi5TSCDTUkRFTkVTCi5UUCAKXGZCXC1zXGZQLCBcZkJcLVwtc3BsaXRcZlAgXGZJcGFxdWV0ZVwtY29tcGxldG9cZlAgW1xmSXByZWZpeFxmUF0KRGl2aWRlIHVuIPpuaWNvIHBhcXVldGUgYmluYXJpbyBkZSBEZWJpYW4gZW4gdmFyaWFzIHBhcnRlcy4KCkxhcyBwYXJ0ZXMgcmVjaWJlbiBlbCBub21icmUgXGZJcHJlZmlqb1xmUFxmQi5cZlBcZklOXGZQXGZCb2ZcZlBcZklNXGZQXGZCLmRlYlxmUCwgc2llbmRvIFxmSU5cZlAKZWwgbvptZXJvIGRlIGxhIHBhcnRlLCBjb21lbnphbmRvIHBvciAxLCB5IFxmSU1cZlAgZWwgbvptZXJvIHRvdGFsIGRlIHBhcnRlcwooYW1ib3MgZW4gZGVjaW1hbCkuCgpTaSBubyBzZSBwcm9wb3JjaW9uYSBuaW5n+m4gXGZJcHJlZmlqb1xmUCwgc2UgdG9tYSBlbCBub21icmUgZGVsClxmSWZpY2hlcm9cLWNvbXBsZXRvXGZQLCBpbmNsdXllbmRvIGVsIGRpcmVjdG9yaW8sIHkgZWxpbWluYW5kbyBjdWFscXVpZXIKdGVybWluYWNp824gXGZCLmRlYlxmUC4KLlRQIApcZkJcLWpcZlAsIFxmQlwtXC1qb2luXGZQIFxmSXBhcnRlXGZQLi4uClVuZSBsYXMgcGFydGVzIGRlIHVuIHBhcXVldGUsIGRlamFuZG8gZWwgcGFxdWV0ZSB0YWwgeSBjb21vIGVyYQpvcmlnaW5hbG1lbnRlLgoKTGFzIHBhcnRlcyBxdWUgc2UgcHJvcG9yY2lvbmVuIGNvbW8gYXJndW1lbnRvIGRlYmVuIHNlciB0b2RhcyBwYXJ0ZSBkZWwKbWlzbW8gZmljaGVybyBvcmlnaW5hbC4gQ2FkYSBwYXJ0ZSBzZSBkZWJlIHByb3BvcmNpb25hciB1bmEgc29sYSB2ZXosIGF1bnF1ZQpubyBuZWNlc2FyaWFtZW50ZSBlbiBvcmRlbi4KClRvZGFzIGxhcyBwYXJ0ZXMgc2UgZGViZW4gZ2VuZXJhciBjb24gZWwgbWlzbW8gdGFtYfFvIGVzcGVjaWZpY2FkbyBlbiBlbAptb21lbnRvIGRlIGxhIGRpdmlzafNuLCBsbyBxdWUgc2lnbmlmaWNhIHF1ZSB0b2RhcyBzZSBkZWJlbiBnZW5lcmFyIGNvbiBsYQptaXNtYSBpbnZvY2FjafNuIGRlIFxmQmRwa2dcLXNwbGl0IFwtXC1zcGxpdFxmUC4KCkVsIG5vbWJyZSBkZSBsYXMgcGFydGVzIGNhcmVjZSBkZSBpbXBvcnRhbmNpYSBwYXJhIGVsIHByb2Nlc28gZGUgdW5p824uCgpCeSBkZWZhdWx0IHRoZSBvdXRwdXQgZmlsZSBpcyBjYWxsZWQKXGZJcGFja2FnZVxmUFxmQl9cZlBcZkl2ZXJzaW9uXGZQXGZCX1xmUFxmSWFyY2hcZlBcZkIuZGViXGZQLgoKLlRQIApcZkJcLUlcZlAsIFxmQlwtXC1pbmZvXGZQIFxmSXBhcnRlXGZQLi4uCk11ZXN0cmEgaW5mb3JtYWNp824sIGVuIHVuIGZvcm1hdG8gbGVnaWJsZSBwb3IgZWwgdXN1YXJpbywgYWNlcmNhIGRlIGxhCnBhcnRlIG8gcGFydGVzIGRlbCBmaWNoZXJvIGVzcGVjaWZpY2FkYXMuIExvcyBhcmd1bWVudG9zIHF1ZSBubyBzb24gcGFydGUgZGUKdW4gcGFxdWV0ZSBiaW5hcmlvIHByb2R1Y2VuIHVuIG1lbnNhamUgYXZpc2FuZG8gZGVsIHByb2JsZW1hIChwb3IgbGEgc2FsaWRhCmVzdOFuZGFyKS4KLlRQIApcZkJcLWFcZlAsIFxmQlwtXC1hdXRvIFwtb1xmUCBcZklzYWxpZGFcLWNvbXBsZXRhIHBhcnRlXGZQClBvc2ljaW9uYSBsYXMgcGFydGVzIGVuIGxhIGNvbGEgYXV0b23hdGljYW1lbnRlLCB5IHVuZSBudWV2YW1lbnRlIGVsCnBhcXVldGUsIHNpIGVzIHBvc2libGUuCgpMYSBcZklwYXJ0ZVxmUCBlc3BlY2lmaWNhZGEgc2UgZXhhbWluYSB5IGNvbXBhcmEganVudG8gY29uIGxhcyBvdHJhcyBwYXJ0ZXMgZGVsCm1pc21vIHBhcXVldGUgKHNpIGhheSBhbGd1bmEpIGVuIGxhIGNvbGEgZGUgbGFzIHBhcnRlcyBkZSBmaWNoZXJvcyBkZQpwYXF1ZXRlLgoKU2kgZXN04W4gZGlzcG9uaWJsZXMgdG9kYXMgbGFzIHBhcnRlcyBkZWwgZmljaGVybyBhbCBxdWUgcGVydGVuZWNlIGxhClxmSXBhcnRlXGZQLCBzZSB1bmUgcGFxdWV0ZSB5IGd1YXJkYSBlbiBsYSBcZklzYWxpZGFcLWNvbXBsZXRhXGZQIChxdWUgbm9ybWFsbWVudGUKbm8gZXhpc3RlLCBhdW5xdWUgZXN0byBubyBlcyB1biBlcnJvcikuCgpEZSBubyBzZSBhc+0sIGxhIFxmSXBhcnRlXGZQIHNlIGNvcGlhIGVuIGxhIGNvbGEgcGVybyBubyBzZSBjcmVhIGxhClxmSXNhbGlkYVwtY29tcGxldGFcZlAuCgpJZiBcZklwYXJ0XGZQIGlzIG5vdCBhIHNwbGl0IGJpbmFyeSBwYWNrYWdlIHBhcnQgdGhlbiBcZkJkcGtnXC1zcGxpdFxmUCB3aWxsIGV4aXQKd2l0aCBzdGF0dXMgXGZCMVxmUDsgaWYgc29tZSBvdGhlciB0cm91YmxlIG9jY3VycyB0aGVuIGl0IHdpbGwgZXhpdCB3aXRoIHN0YXR1cwpcZkIyXGZQLgoKRGViZSBwcm9wb3JjaW9uYXIgbGEgb3BjafNuIFxmQlwtXC1vdXRwdXRcZlAgbyBcZkJcLW9cZlAgY3VhbmRvIHVzZSBcZkJcLVwtYXV0b1xmUC4gKFNpCmVzdGUgYXJndW1lbnRvIG5vIGZ1ZXNlIG9ibGlnYXRvcmlvIGVsIHByb2dyYW1hIHF1ZSBlamVjdXRlIFxmQmRwa2dcLXNwbGl0XGZQIG5vCnNhYnLtYSBxdWUgZmljaGVybyBlc3BlcmFyKS4KLlRQIApcZkJcLWxcZlAsIFxmQlwtXC1saXN0cVxmUApMaXN0YSBsb3MgY29udGVuaWRvcyBkZSBsYSBjb2xhIGRlIHBhcXVldGVzIGN1eWFzIHBhcnRlcyB1bmlyLgoKUG9yIGNhZGEgZmljaGVybyBkZSB1biBwYXF1ZXRlIHF1ZSBjb250ZW5nYSBwYXJ0ZXMgZW4gbGEgY29sYSBzZSBtdWVzdHJhIGVsCm5vbWJyZSBkZWwgcGFxdWV0ZSwgbGFzIHBhcnRlcyBlbiBsYSBjb2xhIHkgZWwgbvptZXJvIHRvdGFsIGRlIGJ5dGVzCmd1YXJkYWRvcyBlbiDpc3RhLgouVFAgClxmQlwtZFxmUCwgXGZCXC1cLWRpc2NhcmRcZlAgW1xmSXBhcXVldGVcZlAuLi5dCkRlc2NhcnRhIHBhcnRlcyBkZSBsYSBjb2xhIGRlIGFxdelsbGFzIHF1ZSBlc3BlcmFuIGxhcyBwYXJ0ZXMgcmVzdGFudGVzIGRlbApwYXF1ZXRlIHBhcmEgc3UgdW5p824gY29uIG90cmFzLgoKU2kgbm8gc2UgZXNwZWNpZmljYSBuaW5n+m4gXGZJcGFxdWV0ZVxmUCBzZSBsaW1waWEgbGEgY29sYSBwb3IgY29tcGxldG8sIHNpIHNlCmVzcGVjaWZpY2EgYWxndW5vIHPzbG8gc2UgZWxpbWluYW4gbGFzIHBhcnRlcyBkZSBsb3MgcGFxdWV0ZXMgcmVsZXZhbnRlcy4KLlRQIApcZkJcLWhcZlAsIFxmQlwtXC1oZWxwXGZQCk11ZXN0cmEgZWwgbW9kbyBkZSB1c28geSB0ZXJtaW5hLgouVFAgClxmQlwtXC12ZXJzaW9uXGZQCk11ZXN0cmEgbGEgdmVyc2nzbiB5IHRlcm1pbmEuCi4KLlNIIE9QQ0lPTkVTCi5UUCAKXGZCXC1cLWRlcG90ZGlyXGZQXGZJIGRpcmVjdG9yaW9cZlAKRXNwZWNpZmljYSB1biBkaXJlY3RvcmlvIGFsdGVybmF0aXZvIHBhcmEgbGFzIHBhcnRlcyBxdWUgc2UgZW5jdWVudHJhbiBlbiBsYQpjb2xhIGVzcGVyYW5kbyBwYXJhIHNlciB1bmlkYXMuIFBvciBvbWlzafNuIGVzIFxmQi92YXIvbGliL2Rwa2dcZlAuCi5UUCAKXGZCXC1TXGZQLCBcZkJcLVwtcGFydHNpemVcZlAgXGZJa2liaWJ5dGVzXGZQCkVzcGVjaWZpY2EgZWwgdGFtYfFvIG3heGltbyBkZSBjYWRhIHBhcnRlIGVuIGtpbG9ieXRlcyAoMTAyNCBieXRlcykuIFBvcgpvbWlzafNuIGVzIDQ1MEtiLgouVFAgClxmQlwtb1xmUCwgXGZCXC1cLW91dHB1dFxmUCBcZkljb21wbGV0ZVwtb3V0cHV0XGZQCkVzcGVjaWZpY2EgZWwgbm9tYnJlIGRlbCBmaWNoZXJvIGdlbmVyYWRvIHBvciBsYSB1bmnzbiBkZSBsYXMgcGFydGVzLgoKyXN0byBzdXN0aXR1eWUgYWwgbm9tYnJlIHBvciBvbWlzafNuIGVuIG1vZG8gbWFudWFsIChcZkJcLVwtam9pblxmUCksICB5IGVzCm9ibGlnYXRvcmlvIGNvbiBlbCBtb2RvIGF1dG9t4XRpY28gKFxmQlwtXC1hdXRvXGZQKS4KLlRQIApcZkJcLVFcZlAsIFxmQlwtXC1ucHF1aWV0XGZQCkN1YW5kbyBcZkJkcGtnXC1zcGxpdFxmUCBlc3ThIGVuIG1vZG8gYXV0b23hdGljbywgbm9ybWFsbWVudGUgbXVlc3RyYSBtZW5zYWplcwpzaSBzZSBsZSBwYXNhIHVuYSBcZklwYXJ0ZVxmUCBxdWUgbm8gZXMgcGFydGUgZGVsIHBhcXVldGUgYmluYXJpby4gRXN0YSBvcGNp824Kc3VwcmltZSBlc3RvcyBtZW5zYWplcywgcGVybWl0aWVuZG8gcXVlIHByb2dyYW1hcyBjb21vIFxmQmRwa2dcZlAgcHVlZGFuCnNlcGFyYXIgeSB1bmlyIHBhcXVldGVzIHNpbiBwcm9kdWNpciBtZW5zYWplcyBwb2NvIGluZm9ybWF0aXZvcy4KLlRQIApcZkJcLVwtbXNkb3NcZlAKRnVlcnphIHF1ZSBsb3Mgbm9tYnJlcyBkZSBsb3MgZmljaGVyb3MgZ2VuZXJhZG9zIGNvbW8gc2FsaWRhIGRlIFxmQlwtXC1zcGxpdFxmUApzZWFuIGNvbXBhdGlibGVzIGNvbiBtc2Rvcy4KCkVzdGEgb3BjafNuIG1vZGlmaWNhIGVsIHByZWZpam8gKHRhbnRvIGVsIHByZWZpam8gcG9yIG9taXNp824gY29tbyBlbApwcm9wb3JjaW9uYWRvIHBvciB1biBhcmd1bWVudG8pOiBsb3MgY2FyYWN0ZXJlcyBhbGZhbnVt6XJpY29zIHNlIHBhc2FuIGEKbWlu+nNjdWxhcywgbG9zIHNpZ25vcyBkZSBzdW1hIKsruyBzZSByZWVtcGxhemFuIGNvbiBcZkJ4XGZQIHkgc2UgZGVzY2FydGFuIGVsCnJlc3RvIGRlIGNhcmFjdGVyZXMuCgpFbCByZXN1bHRhZG8gcmVzdGFudGUgc2UgdHJ1bmNhIGhhc3RhIGRvbmRlIHNlYSBuZWNlc2FyaW8gZGUgZm9ybWEgcXVlIHNlCmdlbmVyZW4gZmljaGVyb3MgY29uIGxhIGZvcm1hIFxmSXByZWZpam9OXGZQXGZCb2ZcZlBcZklNXGZQXGZCLmRlYi5cZlAKLgouU0ggIkVTVEFET1MgREUgU0FMSURBIgouVFAgClxmQjBcZlAKVGhlIHJlcXVlc3RlZCBzcGxpdCwgbWVyZ2UsIG9yIG90aGVyIGNvbW1hbmQgc3VjY2VlZGVkLiAgXGZCXC1cLWluZm9cZlAgY29tbWFuZHMKY291bnQgYXMgc3VjY2Vzc2Z1bCBldmVuIGlmIHRoZSBmaWxlcyBhcmUgbm90IGJpbmFyeSBwYWNrYWdlIHBhcnRzLgouVFAgClxmQjFcZlAKT25seSBvY2N1cnMgd2l0aCBcZkJcLVwtYXV0b1xmUCBhbmQgaW5kaWNhdGVzIHRoYXQgdGhlIFxmSXBhcnRcZlAgZmlsZSB3YXMgbm90IGEKYmluYXJ5IHBhY2thZ2UgcGFydC4KLlRQIApcZkIyXGZQClNvbWUga2luZCBvZiB0cm91YmxlIGhhcHBlbmVkLCBzdWNoIGFzIGEgc3lzdGVtIGNhbGwgZmFpbHVyZSwgYSBmaWxlIHRoYXQKbG9va2VkIGxpa2UgYSBwYWNrYWdlIHBhcnQgZmlsZSBidXQgd2FzIGNvcnJ1cHRlZCwgYSB1c2FnZSBlcnJvciBvciBzb21lCm90aGVyIHByb2JsZW0uCi4KLlNIIEZBTExPUwpFcyBpbXBvc2libGUgb2J0ZW5lciB0b2RvcyBsb3MgZGV0YWxsZXMgZGUgbG9zIHBhcXVldGVzIHF1ZSBlc3ThbiBlbiBsYSBjb2xhCnNpbiBpbnZlc3RpZ2FyIGRpcmVjdGFtZW50ZSBsYSBjb2xhLgoKTm8gZXhpc3RlIHVuYSBtYW5lcmEgc2VuY2lsbGEgZGUgY29tcHJvYmFyIHNpIGVsIGZpY2hlcm8gcXVlIHB1ZWRlIHNlciBwYXJ0ZQpkZSB1biBwYXF1ZXRlIGJpbmFyaW8gZXMgcmVhbG1lbnRlIHVuby4KLgouU0ggRklDSEVST1MKLlRQIApcZkkvdmFyL2xpYi9kcGtnL3BhcnRzXGZQCkVsIGRpcmVjdG9yaW8gcG9yIG9taXNp824gZG9uZGUgbGFzIHBhcnRlcyBlc3BlcmFuIHBhcmEgbGEgdW5p824gYXV0b23hdGljYS4KCkxvcyBub21icmUgZGUgbG9zIGZpY2hlcm9zIHVzYWRvcyBlbiBlc3RlIGRpcmVjdG9yaW8gc2UgZW5jdWVudHJhbiBlbiB1bgpmb3JtYXRvIGludGVybm8gZGUgXGZCZHBrZ1wtc3BsaXRcZlAsIHkgZXMgaW1wcm9iYWJsZSBxdWUgc2VhbiD6dGlsZXMgcGFyYSBvdHJvcwpwcm9ncmFtYXMuIEVuIGN1YWxxdWllciBjYXNvLCBubyBzZSBkZWJlcu1hIGRlcGVuZGVyIGRlbCBmb3JtYXRvIGRlbCBub21icmUKZGVsIGZpY2hlcm8uCi4KLlNIICJWyUFTRSBUQU1CSclOIgpcZkJkZWJcZlAoNSksIFxmQmRlYlwtY29udHJvbFxmUCg1KSwgXGZCZHBrZ1wtZGViXGZQKDEpLCBcZkJkcGtnXGZQKDEpLgouCi5TSCBBVVRPUgpDb3B5cmlnaHQgXChjbyAxOTk1XC0xOTk2IElhbiBKYWNrc29uCi5zcApFc3RvIGVzIHNvZnR3YXJlIGxpYnJlOyB2ZWEgbGEgdmVyc2nzbiAyIG8gcG9zdGVyaW9yIGRlIGxhIExpY2VuY2lhIFD6YmxpY2EKR2VuZXJhbCBHTlUgcGFyYSBjb25kaWNpb25lcyBkZSBjb3BpYS4gTk8gaGF5IG5pbmd1bmEgZ2FyYW507WEuCi5TSCAiVFJBRFVDVE9SIgpSdWR5IEdvZG95IDxydWR5QGtlcm5lbFwtcGFuaWsub3JnPiwKUnVi6W4gUG9ycmFzIDxuYWhvb0BpbmljaWEuZXM+LApCcnVubyBCYXJyZXJhIEMuIDxicnVuby5iYXJyZXJhQGlnbG9vLmNsPiwKQ2FybG9zIEl6cXVpZXJkbyA8Z2hlZXNoQGVydGlzLm5ldD4sCkVzdGViYW4gTWFuY2hhZG8geQpOT0suCkRlYmlhbiBMMTBuIFNwYW5pc2ggPGRlYmlhblwtbDEwblwtc3BhbmlzaEBsaXN0cy5kZWJpYW4ub3JnPi4KLmJyClJldmlzaW9uZXMgcG9yIFNhbnRpYWdvIFZpbGEgPHNhbnZpbGFAdW5leC5lcz4sCkphdmllciBGZXJu4W5kZXpcLVNhbmd1aW5vLCBSdWLpbiBQb3JyYXMsCkx1aXMgVXJpYmUgeSBPbWFyIENhbXBhZ25lLgo=