RGFpbHkgTmV3cyB8IElsIG1lcmNhdG8gZGVsbGUgY3JpcHRvdmFsdXRlIMOoIGluIGNyZXNjaXRhLCBpIG1lbWUgc29ubyBmb3J0aTsgVHJ1bXAgaGEgZGljaGlhcmF0byBjaGUgImdsaSBTdGF0aSBVbml0aSBkb3ZyZWJiZXJvIGRpdmVudGFyZSBsZWFkZXIgbmVsbGUgY3JpcHRvdmFsdXRlIjsgSSBkZXBvc2l0aSBlIGlsIFRWTCBkaSB
Wy8vXTpjb250ZW50LXR5cGUtTUFSS0RPV04tRE9OT1QtREVMRVRFDQohW10oaHR0cHM6Ly9naW1nMi5nYXRlaW1nLmNvbS9pbWFnZS9hcnRpY2xlLzE3MTY3ODA5ODIxXzE3LnBuZykKCiMjIENyeXB0byBEYWlseSBEaWdlc3Q6IFRydW1wIGhhIGRpY2hpYXJhdG8gZHVyYW50ZSBsYSBzdWEgY2FtcGFnbmEgY2hlICdnbGkgU3RhdGkgVW5pdGkgZG92cmViYmVybyBkaXZlbnRhcmUgbGVhZGVyIG5lbGxlIGNyaXB0b3ZhbHV0ZSc7IEkgZGVwb3NpdGkgZSBpbCBUVkwgZGkgRXRoZXIuZmkgc29ubyBzY2hpenphdGkgYWxsZSBhbHRlenplIHN0b3JpY2hlOyBTb2xhbmEgcGlhbmlmaWNhIGRpIGxhbmNpYXJlIEZpcmVkYW5jZSBuZWwgMjAyNQoKUHJpbWEgZGkgdHV0dG8sIGRpYW1vIHVuJ29jY2hpYXRhIGFsbGUgYXR0aXZpdMOgIGRpIHRyYWRpbmcgZGkgW0JpdGNvaW5dKC9wcmljZS9iaXRjb2luLWJ0YykgRVRGLiBTZWNvbmRvIGkgZGF0aSBkaSBGYXJzaWRlIEludmVzdG9yLCBpbCAyNCBtYWdnaW8gbCdhZmZsdXNzbyBkaSBGaWRlbGl0eSBCaXRjb2luIHNwb3QgRVRGIChGQlRDKSDDqCBzdGF0byBkaSAkNCwzNzAsIGwnYWZmbHVzc28gZGkgSVNoYXJlcyBUcnVzdCBCaXR3aXNlIEJpdGNvaW4gc3BvdCBFVEYgKElCSVQpIMOoIHN0YXRvIGRpICQxODIuMSBtaWxpb25pLCBsJ2FmZmx1c3NvIGRpIEJpdGNvaW4gc3BvdCBFVEYgKEJJVEIpIMOoIHN0YXRvIGRpICQ2LjQgbWlsaW9uaSwgbCdhZmZsdXNzbyBkaSBBUksgMjFTaGFyZXMgQml0Y29pbiBzcG90IEVURiAoQVJLQikgw6ggc3RhdG8gZGkgJDQuMSBtaWxpb25pLgoKSW4gdW4gcG9zdCBwdWJibGljYXRvIGlsIDI1IG1hZ2dpbyBzdSBUcnV0aFNvY2lhbCwgdW5hIHBpYXR0YWZvcm1hIGRpIHNvY2lhbCBtZWRpYSBzb3R0byBpbCBUcnVtcCBNZWRpYSBhbmQgVGVjaG5vbG9neSBHcm91cCAoVE1URyksIFRydW1wIGhhIGRpY2hpYXJhdG86ICJJbCBub3N0cm8gcGFlc2UgZGV2ZSBkaXZlbnRhcmUgdW4gbGVhZGVyIGluIHF1ZXN0byBjYW1wbywgbm9uIGMnw6ggc2Vjb25kbyBwb3N0by4iCgpIYSBkaWNoaWFyYXRvOiAiSG8gdW4gYXR0ZWdnaWFtZW50byBtb2x0byBwb3NpdGl2byBlIGFwZXJ0byBuZWkgY29uZnJvbnRpIGRlbGxlIHNvY2lldMOgIGRpIGNyaXB0b3ZhbHV0ZSBlIGRpIHR1dHRvIGNpw7IgY2hlIHJpZ3VhcmRhIHF1ZXN0YSBpbmR1c3RyaWEgZW1lcmdlbnRlIi4gU3VjY2Vzc2l2YW1lbnRlLCBoYSBwdW50YXRvIGlsIGRpdG8gY29udHJvIGwnYXR0dWFsZSBwcmVzaWRlbnRlIEpvZSBCaWRlbi4gSW4gcHJlY2VkZW56YSwgVHJ1bXAgYXZldmEgYW5udW5jaWF0byBjaGUgbGEgc3VhIGNhbXBhZ25hIHByZXNpZGVuemlhbGUgYXZyZWJiZSBhY2NldHRhdG8gZG9uYXppb25pIGluIGNyaXB0b3ZhbHV0YS4gSWwgMjEgbWFnZ2lvLCBpbCB0ZWFtIGRlbGxhIGNhbXBhZ25hIFRydW1wIDIwMjQgaGEgYW5udW5jaWF0byBjaGUgbGEgcGFnaW5hIGRpIHJhY2NvbHRhIGZvbmRpIGVyYSBzdGF0YSBsYW5jaWF0YS4KClNlY29uZG8gbGEgcGlhdHRhZm9ybWEgZGkgcHJldmlzaW9uaSBjcmlwdG92YWx1dGFyaWUgZGkgTmV3IFlvcmssIFBvbHltYXJrZXQsIGxhIHByb2JhYmlsaXTDoCBjaGUgVHJ1bXAgdmluY2EgbGUgZWxlemlvbmkgw6ggZGVsIDU2JSwgbWVudHJlIGxhIHByb2JhYmlsaXTDoCBkZWwgcHJlc2lkZW50ZSBhdHR1YWxlIEpvZSBCaWRlbiDDqCBkZWwgMzglLiBTZWNvbmRvIGkgZGF0aSBkaSBDb2luR2Vja28sIGxhIGNyaXB0b3ZhbHV0YSBhIHRlbWEgVHJ1bXAsIE1BR0EgKFRSVU1QKSwgaGEgc3VwZXJhdG8gaSAxMiBkb2xsYXJpIGVkIMOoIGF0dHVhbG1lbnRlIGluIG5lZ296aWF6aW9uZSBhIDEyLDYzIGRvbGxhcmksIGNvbiB1biBhdW1lbnRvIGRlbCAzNiw1JSBuZWxsZSB1bHRpbWUgMjQgb3JlLgoKKipEb3BvIGlsIFtFdGhlcmV1bV0oL3ByaWNlL2V0aGVyZXVtLWV0aCkgTCdFVEYgc3BvdCB2aWVuZSBhcHByb3ZhdG8sIGlsIGRlcG9zaXRvIGUgaWwgdmFsb3JlIHRvdGFsZSBibG9jY2F0byAoVFZMKSBkaSBFdGhlci5maSBzYWxnb25vIGFsbGUgc3RlbGxlIGFpIG1hc3NpbWkgc3RvcmljaSoqCkEgY2F1c2EgZGVsbGUgYXNwZXR0YXRpdmUgZGVnbGkgaW52ZXN0aXRvcmkgY2hlIGdsaSBTdGF0aSBVbml0aSBhcHByb3ZlcmFubm8gZ2xpIGV4Y2hhbmdlIHRyYWRlZCBmdW5kIChFVEYpIHNwb3Qgc3UgRXRoZXJldW0gKEVUSCksIGlsIGRlcG9zaXRvIGUgaWwgdmFsb3JlIHRvdGFsZSBibG9jY2F0byAoVFZMKSBkZWwgcHJvdG9jb2xsbyBkaSByZXN0YWtpbmcgRXRoZXIuZmkgc29ubyBhdW1lbnRhdGkgYSBsaXZlbGxpIHN0b3JpY2kuCgpSZS1zdGFraW5nIMOoIHVuYSBzdHJhdGVnaWEgdXRpbGl6emF0YSBkYWkgdHJhZGVyIHBlciBndWFkYWduYXJlIHByb2ZpdHRpIGFnZ2l1bnRpdmkgZGFsbGUgbW9uZXRlIEV0aGVyZXVtIGdpw6Agc3Rha2VkIHN1bGxhIGJsb2NrY2hhaW4gRXRoZXJldW0uIEV0aGVyLmZpIGF0dHVhbG1lbnRlIG9mZnJlIHVuIHJlbmRpbWVudG8gYW5udW8gZGVsIDMsNDglLCBjb24gdW4gdWx0ZXJpb3JlIDE1LDElIGRlbCByZW5kaW1lbnRvIGRpc3BvbmliaWxlIHRyYW1pdGUgaWwgdGVzb3JvIGxpcXVpZG8gZGVsIHByb2RvdHRvLgoKTmVnbGkgdWx0aW1pIGRpZWNpIGdpb3JuaSBzb25vIHN0YXRpIGRlcG9zaXRhdGkgb2x0cmUgMjcwLjAwMCBFVEggKCQ5OTUgbWlsaW9uaSkgc3UgRXRoZXIuZmkuIFNlY29uZG8gaSBkYXRpIGRpIERlZmlMbGFtYSwgbCdhZmZsdXNzbyBkaSBxdWVzdGkgZm9uZGksIGNvbWJpbmF0byBjb24gbCdpbmNyZW1lbnRvIHJlY2VudGUgZGVsIHByZXp6byBkaSBFdGhlcmV1bSwgaGEgYXVtZW50YXRvIGlsIHZhbG9yZSB0b3RhbGUgYmxvY2NhdG8gbmVsIHByb3RvY29sbG8gZGEgJDQgbWlsaWFyZGkgYSAkNSw0IG1pbGlhcmRpLCByYWdnaXVuZ2VuZG8gdW4gbWFzc2ltbyBzdG9yaWNvLgoKKipDb24gbCdhdW1lbnRvIGRlbGxlIGF0dGl2aXTDoCBEZVBJTiwgW1NvbGFuYV0oL3ByaWNlL3NvbGFuYS1zb2wpIHBpYW5pIGRpIGxhbmNpbyBkaSBGaXJlZGFuY2UgbmVsIDIwMjUqKgpLdWxlZW4gTmlta2FyLCBjYXBvIGRpIERlUElOIHByZXNzbyBsYSBTb2xhbmEgRm91bmRhdGlvbiwgaGEgZGljaGlhcmF0byBjaGUgU29sYW5hIHByZXZlZGUgZGkgcmlsYXNjaWFyZSB1bmEgdmVyc2lvbmUgY29tcGxldGEgZGVsbCdhZ2dpb3JuYW1lbnRvIEZpcmVkYW5jZSBuZWwgMjAyNSBlIHVuYSAiTGl0ZSBFZGl0aW9uIiBwcmltYSBkaSBjacOyLgoKQ29uIGwnYXVtZW50byBkZWxsJ2F0dGl2aXTDoCBkaSByZXRlIGRlaSBwcm90b2NvbGxpIGRpIGluZnJhc3RydXR0dXJlIGRlY2VudHJhbGl6emF0ZSwgcXVlc3RvIGFnZ2lvcm5hbWVudG8gbWlyYSBhIG1pZ2xpb3JhcmUgbCdhZmZpZGFiaWxpdMOgIGNvbXBsZXNzaXZhIGUgbGEgc2NhbGFiaWxpdMOgIGRpIFNvbGFuYS4gS3VsZWVuIGhhIG1lbnppb25hdG8gbGEgY2FtcGFnbmEgRGVQSU4gYSBERUZJQ09OIGlsIDIzIG1hZ2dpbzogIlZlZGlhbW8gdW4gZ3JhbiBudW1lcm8gZGkgcHJvZ2V0dGkgZGVlcCBlbWVyZ2VudGkgY2hlIGZhbm5vIGRpIHR1dHRvLiIKCkt1bGVlbiBoYSBkZXR0byBjaGUgaSBjYXNpIGQndXNvIERlUElOIG5lbGwnZWNvc2lzdGVtYSBTb2xhbmEgdmFubm8gZGFpIHByb3RvY29sbGkgZGVkaWNhdGkgYWxsZSBzb2x1emlvbmkgZW5lcmdldGljaGUgZGVjZW50cmFsaXp6YXRlIChwcm9wcmlldGFyaSBkaSBjYXNlIGNoZSBjcmVhbm8gY2VudHJhbGkgdmlydHVhbGkgaW50ZXJjb25uZXNzZSkgYWxsZSByZXRpIEdQVSBlIGFsbGEgcmFjY29sdGEgZGkgZGF0aS4gQWQgZXNlbXBpbywgYWxjdW5pIHByb2dldHRpIGluY29yYWdnaWFubyBnbGkgdXRlbnRpIGFkIGluc3RhbGxhcmUgZXN0ZW5zaW9uaSBkZWwgYnJvd3NlciBwZXIgbmF2aWdhcmUgaW4gSW50ZXJuZXQgZSByYWNjb2dsaWVyZSBkYXRpIHBlciBhZGRlc3RyYXJlIGdyYW5kaSBtb2RlbGxpIGRpIGxpbmd1YWdnaW8uCgpJIHByb3RvY29sbGkgcGVyIHRyYXNmZXJpcmUgbGUgYXR0aXZpdMOgIERlUElOIGEgU29sYW5hIGluY2x1ZG9ubyBbRWxtaW9dKC9wcmljZS9oZWxpdW0taG50KSBIaXZlbWFwcGVyIGUgW1JlbmRlcl0oL3ByaWNlL3JlbmRlci1ybmRyKSBTZWNvbmRvIER1bmUgQW5hbHl0aWNzLCBpbCBudW1lcm8gZGkgbWFwcGVyIGRpIEhpdmVtYXBwZXIgw6ggYXVtZW50YXRvIG5lbCAyMDI0LCBwYXNzYW5kbyBkYSBjaXJjYSAzMC4wMDAgYXV0aXN0aSBjb25uZXNzaSBhIG1hZ2dpbyBhIHF1YXNpIDY3LjAwMC4KCiMjIFRlbmRlbnplIGRpIG1lcmNhdG86IGlsIG1lcmNhdG8gc3RhIG9zY2lsbGFuZG8gYWwgcmlhbHpvLCBpbCBjb25jZXR0byBkaSBNZW1lIGd1aWRhIGlsIG1lcmNhdG8KCkRhbGxlIGF0dHVhbGkgdGVuZGVuemUgZGkgbWVyY2F0byBlIHB1bnRpIGNhbGRpLCBpbCBtZXJjYXRvIGNyaXR0b2dyYWZpY28gaGEgbW9zdHJhdG8gdW4gY2VydG8gdHJlbmQgYWwgcmlhbHpvIGR1cmFudGUgaWwgZmluZSBzZXR0aW1hbmEuIElsIEJUQyBoYSBudW92YW1lbnRlIHN1cGVyYXRvIGkgJDY5LjAwMCwgbCdFVEggc2kgYXZ2aWNpbmEgYW5jaGUgYWkgJDMuOTAwLCBpbmRpY2FuZG8gdW4gdHJlbmQgYWwgcmlhbHpvIHZvbGF0aWxlIG5lbCBjb21wbGVzc28gZGVsIG1lcmNhdG8uIFR1dHRhdmlhLCBsYSBkb21pbmFuemEgZGVsIEJUQyDDqCBzY2VzYSBhbCA1Miw3JSwgaWwgY2hlIHBvdHJlYmJlIGVzc2VyZSB1biBzZWduYWxlIGRlbGwnaW5pemlvIGRlbGwnQWx0c2Vhc29uLiBJbiBxdWVzdG8gY29udGVzdG8sIGdsaSBpbnZlc3RpdG9yaSBwb3RyZWJiZXJvIHByZXN0YXJlIG1hZ2dpb3JlIGF0dGVuemlvbmUgYWxsZSBBbHRjb2lucyBlIGFpIHByb2dldHRpIGVtZXJnZW50aS4KCklub2x0cmUsIGxhIGNyZXNjaXRhIGRlbGxlIGF6aW9uaSBhbWVyaWNhbmUsIGluIHBhcnRpY29sYXJlIGlsIHJhZmZvcnphbWVudG8gZGVsbGUgYXppb25pIHRlY25vbG9naWNoZSwgaGEgYW5jaGUgdW4gY2VydG8gaW1wYXR0byBwb3NpdGl2byBzdWwgbWVyY2F0byBkZWxsZSBjcmlwdG92YWx1dGUuIExlIHByZXN0YXppb25pIGRpIE52aWRpYSBoYW5ubyBzdXBlcmF0byBkaSBncmFuIGx1bmdhIGxlIGFzcGV0dGF0aXZlIGxhIHNjb3JzYSBzZXR0aW1hbmEsIGZhY2VuZG8gc2FsaXJlIGwnaW50ZXJvIHNldHRvcmUgdGVjbm9sb2dpY28sIGlsIGNoZSBwb3RyZWJiZSBhdmVyIGluaWV0dGF0byBpbmRpcmV0dGFtZW50ZSBxdWFsY2hlIGZpZHVjaWEgbmVsIG1lcmNhdG8gZGVsbGUgY3JpcHRvdmFsdXRlLgoKIyMjIFB1bnRpIENhbGRpIGRlbCBNZXJjYXRvOgoKKipUb2tlbiBiYXNhdGkgc3UgRXRoZXJldW0qKgpFTlMgKCBbU2Vydml6aW8gZGVpIE5vbWkgRXRoZXJldW1dKC9wcmljZS9ldGhlcmV1bS1uYW1lLXNlcnZpY2UtZW5zKSk6IElsIHRva2VuIEVOUyDDqCByZWNlbnRlbWVudGUgYXVtZW50YXRvIGUgaGEgcmljZXZ1dG8gbW9sdGVwbGljaSBhcHByb3ZhemlvbmkgZGEgcGFydGUgZGVsIGZvbmRhdG9yZSBkaSBFdGhlcmV1bSwgVml0YWxpayBCdXRlcmluLiBWaXRhbGlrIEJ1dGVyaW4gcml0aWVuZSBjaGUgRU5TIHNpYSB1bm8gc3RydW1lbnRvIGltcG9ydGFudGUgcGVyIHVuaWZpY2FyZSBkaXZlcnNlIHJldGkgTGF5ZXIyIGluIEV0aGVyZXVtLiBRdWVzdG8gcmljb25vc2NpbWVudG8gYXVtZW50YSBpbmR1YmJpYW1lbnRlIGwnYXR0cmF0dGl2YSBkaSBtZXJjYXRvIGRpIEVOUy4KClBFUEUgZSBUVVJCTzogUXVlc3RpIGR1ZSB0b2tlbiBNZW1lIGRlbGxlIHJhbmUgaGFubm8gb3R0ZW51dG8gYnVvbmkgcmlzdWx0YXRpIHN1bGxhIGNhdGVuYSBFdGhlcmV1bSBlIGhhbm5vIHJlY2VudGVtZW50ZSByYWdnaXVudG8gbWFzc2ltaSBzdG9yaWNpLiBMJ2ludGVyZXNzZSBjcmVzY2VudGUgZGVnbGkgaW52ZXN0aXRvcmkgaW4gcXVlc3RpIHRva2VuIGhhIGZhdHRvIGF1bWVudGFyZSBpIHByZXp6aS4KCk1BR0E6IFF1ZXN0byB0b2tlbiwgY2hpYW1hdG8gZGFsbG8gc2xvZ2FuIGRlbGxhIGNhbXBhZ25hIGRpIFRydW1wLCDDqCBzYWxpdG8gcGnDuSBkaSAxMCB2b2x0ZSBkYWwgc3VvIGxhbmNpbyBzdSBHYXRlLmlvLCBpbmRpY2FuZG8gdW4gZm9ydGUgaW50ZXJlc3NlIG5laSB0b2tlbiBjb24gZWZmZXR0aSBkaSBhdHR1YWxpdMOgIGUgZGkgbWFyY2Egc3VsIG1lcmNhdG8uCgoqKkFsdHJlIE1lbWUgQ29pbioqClBFTkcgZSBQT05LRTogUXVlc3RpIGR1ZSB0b2tlbiBoYW5ubyBhdnV0byBwcmVzdGF6aW9uaSB1Z3VhbGkgbmVpIGZpbmUgc2V0dGltYW5hLCBQRU5HIMOoIHNhbGl0byBkZWwgMjAwJSBkYWwgc3VvIHB1bnRvIHBpw7kgYmFzc28gYSBtZXTDoCBtZXNlLCBQT05LRSDDqCBhdW1lbnRhdG8gZGkgMTAgdm9sdGUgZGFsbGEgc3VhIHF1b3RhemlvbmUgc3UgR2F0ZS5pby4gUXVlc3RvIG1vc3RyYSBsYSByaWNlcmNhIGRlbCBtZXJjYXRvIGRpIG51b3ZlIG1vbmV0ZSBNZW1lLgoKKipOdW92ZSBtb25ldGUqKgpCQiwgUkVaLCBPTU5JOiBRdWVzdGUgbnVvdmUgbW9uZXRlIGhhbm5vIHVuIHZhbG9yZSBkaSBtZXJjYXRvIHJlbGF0aXZhbWVudGUgcGljY29sbywgdW5hIGJ1b25hIHN0cnV0dHVyYSBkZWwgY2hpcCBlIHNvbm8gZmFjaWxtZW50ZSByaWFsemF0ZS4gUXVlc3RvIG9mZnJlIGFnbGkgaW52ZXN0aXRvcmkgb3Bwb3J0dW5pdMOgIGRpIGludmVzdGltZW50byBhZCBhbHRvIHJpc2NoaW8gZSBhbHRvIHJlbmRpbWVudG8uCgoqKlNibG9jY28gZGVsIHRva2VuKioKRU5BIHNibG9jY2hlcsOgICQ1MCBtaWxpb25pIGRpIHRva2VuIHF1ZXN0YSBzZXR0aW1hbmEsIGlsIGNoZSBwb3RyZWJiZSBwb3J0YXJlIGEgdW4gYXVtZW50byBkZWxsYSB2b2xhdGlsaXTDoCBkaSBtZXJjYXRvLiBHbGkgaW52ZXN0aXRvcmkgZGV2b25vIGVzc2VyZSBjYXV0aSBkZWxsZSBmbHV0dHVhemlvbmkgZGkgcHJlenpvIHByaW1hIGUgZG9wbyBsbyBzYmxvY2NvIGRlaSB0b2tlbi4KCkNvbiBpbCBkZWNsaW5vIGRlbGxhIGRvbWluYW56YSBkaSBCVEMsIGxhIHN0YWdpb25lIGRlZ2xpIEFsdGNvaW4gcG90cmViYmUgZXNzZXJlIGluaXppYXRhIGUgZ2xpIHV0ZW50aSBwb3Nzb25vIGNvbnNpZGVyYXJlIGRpIGRpdmVyc2lmaWNhcmUgaSBsb3JvIGludmVzdGltZW50aSBpbiBCVEMgRVRIIGUgYWxjdW5pIHBvdGVuemlhbGkgQWx0Y29pbiBwZXIgcmlkdXJyZSBpbCByaXNjaGlvLiBDb25jZW50cmFyc2kgc3UgRU5TIERpIHJlY2VudGUsIHRva2VuIGVjY2V6aW9uYWxpIGNvbWUgUEVQRSBlIFRVUkJPIGhhbm5vIG90dGVudXRvIGJ1b25pIHJpc3VsdGF0aS4gSW4gc2ludGVzaSwgaWwgbWVyY2F0byBjb21wbGVzc2l2byBzdGEgYXR0dWFsbWVudGUgbWlnbGlvcmFuZG8sIG1hIGdsaSBpbnZlc3RpdG9yaSBkZXZvbm8gcmltYW5lcmUgdmlnaWxpLCBwcmVzdGFyZSBhdHRlbnppb25lIGFpIHB1bnRpIGNhbGRpIGRlbCBtZXJjYXRvIGUgYWkgY2FtYmlhbWVudGkgbWFjcm9lY29ub21pY2ksIGUgcmVnb2xhcmUgaW4gbW9kbyBmbGVzc2liaWxlIGxlIHN0cmF0ZWdpZSBkaSBpbnZlc3RpbWVudG8uCgojIyBNYWNybzogbGUgYXppb25pIHN0YXR1bml0ZW5zaSBoYW5ubyBjaGl1c28gaW4gcmlhbHpvLCBjb24gaWwgTmFzZGFxIGNoZSBoYSByYWdnaXVudG8gdW4gbnVvdm8gbWFzc2ltbzsgaSBtZXJjYXRpIGF6aW9uYXJpIGFzaWF0aWNpIHNvbm8gYXVtZW50YXRpIGxlZ2dlcm1lbnRlCgpWZW5lcmTDrCwgaWwgbWVyY2F0byBhemlvbmFyaW8gc3RhdHVuaXRlbnNlIHNpIMOoIHJpcHJlc28gZGFsIGJydXNjbyBjYWxvIGRlbGxhIGdpb3JuYXRhIHByZWNlZGVudGUsIHRyYWluYXRvIGRhbGxhIG5vdGl6aWEgZGkgcHJvc3BldHRpdmUgZGkgaW5mbGF6aW9uZSBtaWdsaW9yYXRlIGRhIHBhcnRlIGRlaSBjb25zdW1hdG9yaS4gTCdpbmRpY2UgTmFzZGFxIMOoIHNhbGl0byBwZXIgbGEgcXVpbnRhIHNldHRpbWFuYSBjb25zZWN1dGl2YSwgcmFnZ2l1bmdlbmRvIHVuIG51b3ZvIG1hc3NpbW8gZGkgY2hpdXN1cmEuCgpMZSBwZXJmb3JtYW5jZSBkZWxsJ2luZGljZSBzb25vIGxlIHNlZ3VlbnRpOiBsJ2luZGljZSBEb3cgSm9uZXMgw6ggc2FsaXRvIGRlbGxvIDAsMDElLCBsJ2luZGljZSBTJlAgw6ggc2FsaXRvIGRlbGxvIDAsNyUgZSBsJ2luZGljZSBOYXNkYXEgw6ggc2FsaXRvIGRlbGwnMSwxJS4KCklsIERpcGFydGltZW50byBkZWwgQ29tbWVyY2lvIGRlZ2xpIFN0YXRpIFVuaXRpIGhhIGRpY2hpYXJhdG8gY2hlIGkgbnVvdmkgb3JkaW5pIGRpIGJlbmkgY2FwaXRhbGkgbWFuaWZhdHR1cmllcmkgcHJpbmNpcGFsaSBuZWdsaSBTdGF0aSBVbml0aSBoYW5ubyByZWdpc3RyYXRvIHVuIHJpbWJhbHpvIHN1cGVyaW9yZSBhbGxlIGFzcGV0dGF0aXZlIGEgYXByaWxlLiBOZWwgZnJhdHRlbXBvLCB1biByYXBwb3J0byBkZWxsJ1VuaXZlcnNpdMOgIGRlbCBNaWNoaWdhbiBtb3N0cmEgY2hlIGxlIGFzcGV0dGF0aXZlIGRlaSBjb25zdW1hdG9yaSBzdWxsJ2luZmxhemlvbmUgc29ubyBtaWdsaW9yYXRlIGRvcG8gZXNzZXJzaSBkZXRlcmlvcmF0ZSBhbGwnaW5pemlvIGRlbCBtZXNlLgoKVmVuZXJkw6wgbGEgRmVkZXJhbCBSZXNlcnZlIHB1YmJsaWNoZXLDoCBpIGRhdGkgc3VsbGUgc3Blc2UgZGkgY29uc3VtbyBwZXJzb25hbGUgZGkgYmFzZSAoUENFKSwgY2hlIMOoIHVubyBkZWdsaSBpbmRpY2F0b3JpIHByZWZlcml0aSBwZXIgbWlzdXJhcmUgbCdpbmZsYXppb25lLiBTaSBwcmV2ZWRlIGNoZSBpbCB0YXNzbyBkaSBpbmZsYXppb25lIGF1bWVudGVyw6AgZGVsbG8gMCwzJSBhZCBhcHJpbGUsIGNvbiB1biB0YXNzbyBhbm51YWxlIGRlbCAyLDglLCBtYSBjJ8OoIHVuIHJpc2NoaW8gYWwgcmliYXNzby4KCkxvIHN0cnVtZW50byBGZWRXYXRjaCBkZWwgQ2hpY2FnbyBNZXJjYW50aWxlIEV4Y2hhbmdlIG1vc3RyYSBjaGUgaWwgbWVyY2F0byBzaSBhc3BldHRhIHVuYSBwcm9iYWJpbGl0w6AgZGVsIDQ5LDQlIGNoZSBsYSBGZWRlcmFsIFJlc2VydmUgcmlkdWNhIGkgdGFzc2kgZGkgaW50ZXJlc3NlIG5lbCBzdW8gaW5jb250cm8gZGkgc2V0dGVtYnJlLCBpbiBjYWxvIGRhbCA1NCw4JSBkZWxsYSBzY29yc2Egc2V0dGltYW5hLiBHb2xkbWFuIFNhY2hzIGhhIHBvc3RpY2lwYXRvIGlsIHN1byBwcmltbyB0YWdsaW8gZGVpIHRhc3NpIGRpIGludGVyZXNzZSBkYSBsdWdsaW8gYSBzZXR0ZW1icmUuCgpMYSBzY29yc2Egc2V0dGltYW5hLCBOdmlkaWEgaGEgcmFnZ2l1bnRvIHVuIGxpdmVsbG8gc3Rvcmljby4gSW4gZWZmZXR0aSwgTnZpZGlhIGRhIHNvbGEgaGEgY29udHJpYnVpdG8gcGVyIHVuIHF1YXJ0byBhbGwnYXVtZW50byBkZWxsJ2luZGljZSBTJlAgNTAwIGZpbm8gYWQgb3JhIHF1ZXN0J2Fubm8sIG1lbnRyZSBsZSBzZXR0ZSBwcmluY2lwYWxpIGF6aWVuZGUgdGVjbm9sb2dpY2hlIGhhbm5vIHJlZ2lzdHJhdG8gdW4gYXVtZW50byBkZWwgMjQlIHF1ZXN0J2Fubm8uCgoqKlByaW1hIGRlbCB0ZXN0IGRpIGluZmxhemlvbmUsIGkgbWVyY2F0aSBhemlvbmFyaSBhc2lhdGljaSBzb25vIGF1bWVudGF0aSBsZWdnZXJtZW50ZSoqCkx1bmVkw6wsIGkgbWVyY2F0aSBhemlvbmFyaSBhc2lhdGljaSBzb25vIGxlZ2dlcm1lbnRlIGF1bWVudGF0aSBtZW50cmUgZ2xpIGludmVzdGl0b3JpIGFzcGV0dGFubyBpbCByYXBwb3J0byBjaGlhdmUgc3VsbCdpbmZsYXppb25lIG5lZ2xpIFN0YXRpIFVuaXRpIHF1ZXN0YSBzZXR0aW1hbmEsIGNoZSBwb3RyZWJiZSBnZXR0YXJlIGxlIGJhc2kgcGVyIGkgdGFnbGkgZGVpIHRhc3NpIGRpIGludGVyZXNzZSBuZWdsaSBTdGF0aSBVbml0aS4KCkwnaW5kaWNlIGF6aW9uYXJpbyBNU0NJIEFzaWEgUGFjaWZpYyDDqCBzY2VzbyBkZWxsJzEsNSUgbGEgc2NvcnNhIHNldHRpbWFuYSwgbG9udGFubyBkYWwgc3VvIHB1bnRvIHBpw7kgYWx0byBkZWdsaSB1bHRpbWkgZHVlIGFubmkuIEwnaW5kaWNlIE5pa2tlaSBpbiBHaWFwcG9uZSDDqCBzYWxpdG8gZGVsbG8gMCwyNiUuIFNlY29uZG8gaSBkYXRpIGRlbCBOYXRpb25hbCBCdXJlYXUgb2YgU3RhdGlzdGljcyBkZWxsYSBDaW5hLCBpIHByb2ZpdHRpIGRlbGxlIGltcHJlc2UgaW5kdXN0cmlhbGkgZGkgZGltZW5zaW9uaSBzdXBlcmlvcmkgaW4gQ2luYSBzb25vIGF1bWVudGF0aSBkZWwgNCwzJSBzdSBiYXNlIGFubnVhIG5laSBwcmltaSBxdWF0dHJvIG1lc2kgZGkgcXVlc3QnYW5uby4KCkluIHRlcm1pbmkgZGkgbWVyY2F0byB2YWx1dGFyaW8sIGwnYXR0ZW56aW9uZSDDqCBhbmNvcmEgdW5hIHZvbHRhIHJpdm9sdGEgYWwgcmlzY2hpbyBkaSB1biBpbnRlcnZlbnRvIGdpYXBwb25lc2Ugc3VsIHRhc3NvIGRpIGNhbWJpbyBkZWxsbyB5ZW4gcHJpbWEgZGkgcmFnZ2l1bmdlcmUgaWwgbGl2ZWxsbyBkaSAxNjAsMDAuIElsIHRhc3NvIGRpIGNhbWJpbyB0cmEgaWwgZG9sbGFybyBVU0EgZSBsbyB5ZW4gZ2lhcHBvbmVzZSDDqCBzdGF0byBkaSAxNTYsODksIGluIHJpYWx6byBkZWxsbyAwLDklIGxhIHNjb3JzYSBzZXR0aW1hbmEuIElsIEdvdmVybmF0b3JlIGUgaWwgVmljZSBHb3Zlcm5hdG9yZSBkZWxsYSBCYW5jYSBkZWwgR2lhcHBvbmUsIG5vbmNow6kgaWwgQ2FwbyBFY29ub21pc3RhIGRlbGxhIEJhbmNhIENlbnRyYWxlIEV1cm9wZWEsIHRlcnJhbm5vIGRpc2NvcnNpIHBpw7kgdGFyZGkgbHVuZWTDrC4gTGEgQmFuY2EgZGVsIEdpYXBwb25lIHRlcnLDoCB1bmEgcml1bmlvbmUgcG9saXRpY2EgaWwgMTQgZ2l1Z25vLCBjaGUgcG90cmViYmUgaW52ZXJ0aXJlIGxhIHRlbmRlbnphIGdsb2JhbGUgZSBhdW1lbnRhcmUgbnVvdmFtZW50ZSBpIHRhc3NpIGRpIGludGVyZXNzZSwgYW5jaGUgc2UgbCdhdW1lbnRvIGRlaSB0YXNzaSDDqCBzb2xvIGRlbGxvIDAsMTUlLgoKSW4gdGVybWluaSBkaSBjb21tb2RpdHksIGxhIHN0YWdpb25lIGRpIHBpY2NvIGRlbGxhIGd1aWRhIG5lZ2xpIFN0YXRpIFVuaXRpIMOoIGluaXppYXRhIHF1ZXN0YSBzZXR0aW1hbmEgZSBsZSBwcmVvY2N1cGF6aW9uaSBzdWxsYSBkb21hbmRhIGhhbm5vIHBvcnRhdG8gaSBwcmV6emkgZGVsIHBldHJvbGlvIGEgb3NjaWxsYXJlIGludG9ybm8gYWkgbWluaW1pIGRpIHF1YXR0cm8gbWVzaS4gR2xpIGludmVzdGl0b3JpIHN0YW5ubyBvc3NlcnZhbmRvIHNlIGwnT1BFQysgZGlzY3V0ZXLDoCBudW92ZSBtaXN1cmUgZGkgcmlkdXppb25lIGRlbGxhIHByb2R1emlvbmUgYWwgc3VvIG1lZXRpbmcgb25saW5lIGRlbCAyIGdpdWdubywgbWEgZ2xpIGFuYWxpc3RpIGR1Yml0YW5vIGNoZSBzaSByYWdnaXVuZ2EgdW4gY29uc2Vuc28gc3UgcXVlc3RvLgoKSWwgcHJlenpvIGRlbCBwZXRyb2xpbyBncmVnZ2lvIEJyZW50IMOoIGF1bWVudGF0byBkaSAkMCwwNSBhICQ4MiwxNyBhbCBiYXJpbGUsIG1lbnRyZSBpbCBwcmV6em8gZGVsIHBldHJvbGlvIGdyZWdnaW8gc3RhdHVuaXRlbnNlIMOoIGF1bWVudGF0byBkaSA5IGNlbnRlc2ltaSBhICQ3Nyw4MSBhbCBiYXJpbGUuCgpJbCBwcmV6em8gZGVsbCdvcm8gw6ggcmltYXN0byBhICQyLDMzNyBwZXIgb25jaWEsIGluIGNhbG8gZGVsIDMsNCUgbGEgc2NvcnNhIHNldHRpbWFuYS4KCjxkaXYgY2xhc3M9ImJsb2ctZGV0YWlscy1pbmZvIj4KPGRpdj5BdXRvcmU6PHN0cm9uZz5TaGVycnkgUy4gJmFtcDsgR2xhc3NhPC9zdHJvbmc+LCBSaWNlcmNhdG9yZSBkaSBHYXRlLmlvCjxkaXY+VHJhZHV0dG9yZTogSm95IFouCjxkaXYgY2xhc3M9ImluZm8tdGlwcyI+KlF1ZXN0byBhcnRpY29sbyByYXBwcmVzZW50YSBzb2xvIGxlIG9waW5pb25pIGRlbCByaWNlcmNhdG9yZSBlIG5vbiBjb3N0aXR1aXNjZSBhbGN1biBzdWdnZXJpbWVudG8gZGkgaW52ZXN0aW1lbnRvLgo8ZGl2PipHYXRlLmlvIHNpIHJpc2VydmEgdHV0dGkgaSBkaXJpdHRpIHN1IHF1ZXN0byBhcnRpY29sby4gU2Fyw6AgY29uc2VudGl0byBpbCByZS1wb3N0YWdnaW8gZGVsbCYjMzk7YXJ0aWNvbG8gYSBjb25kaXppb25lIGNoZSB2ZW5nYSBmYXR0byByaWZlcmltZW50byBhIEdhdGUuaW8uIEluIHR1dHRpIGkgY2FzaSwgc2FyYW5ubyBpbnRyYXByZXNlIGF6aW9uaSBsZWdhbGkgYSBjYXVzYSBkZWxsYSB2aW9sYXppb25lIGRlbCBjb3B5cmlnaHQuCjwvZGl2PjxwPjwvcD4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+