Josh Stein – Our Governor-Elect

PGgyPktleSBUYWtlYXdheXM8L2gyPjx1bD48bGk+IFN1bW1hcnkgb2YgSm9zaCBTdGVpbidzIGVsZWN0aW9uIGFuZCBtaWxpdGFyeSBiYWNrZ3JvdW5kPC9saT48bGk+IEFuYWx5c2lzIG9mIEpvc2ggU3RlaW4ncyBwb2xpdGljYWwgcGF0aCBhbmQgYXNwaXJhdGlvbnM8L2xpPjxsaT4gRXhhbWluYXRpb24gb2YgSm9zaCBTdGVpbidzIGpvdXJuZXkgYW5kIGdvYWxzIGZvciBOb3J0aCBDYXJvbGluYTwvbGk+PGxpPiBEZXRhaWxlZCBsb29rIGF0IEpvc2ggU3RlaW4ncyBwb2xpdGljYWwgdHJhamVjdG9yeSBhbmQgYW1iaXRpb25zPC9saT48bGk+IE92ZXJ2aWV3IG9mIEpvc2ggU3RlaW4ncyBhY2NvbXBsaXNobWVudHMgYXMgQXR0b3JuZXkgR2VuZXJhbDwvbGk+PGxpPiBPdXRsaW5lIG9mIEpvc2ggU3RlaW4ncyB2aXNpb24gYW5kIHBvbGljeSBwcm9wb3NhbHMgZm9yIE5vcnRoIENhcm9saW5hPC9saT48bGk+IERpc2N1c3Npb24gb2YgbWFqb3IgdGhlbWVzIGluIEpvc2ggU3RlaW4ncyBsZWFkZXJzaGlwIGFwcHJvYWNoPC9saT48L3VsPjxoMj5LZXkgVGFrZWF3YXlzOiBKb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IGFuZCBHZW5lcmFsIEpvc2ggU3RlaW48L2gyPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgYnJpbmdzIGEgcmljaCB0YXBlc3RyeSBvZiBleHBlcmllbmNlcyB0aGF0IHNoYXBlIGhpcyBhcHByb2FjaCB0byBnb3Zlcm5hbmNlLiBBcyBhIGNhbmRpZGF0ZSBpbiB0aGUgZ3ViZXJuYXRvcmlhbCBlbGVjdGlvbiwgU3RlaW4gZW1waGFzaXplZCBoaXMgY29tbWl0bWVudCB0byBhZGRyZXNzaW5nIGtleSBpc3N1ZXMgZmFjaW5nIE5vcnRoIENhcm9saW5hLiBIaXMgYmFja2dyb3VuZCBhcyBBdHRvcm5leSBHZW5lcmFsIGhhcyBlcXVpcHBlZCBoaW0gd2l0aCB0aGUga25vd2xlZGdlIGFuZCBzdHJhdGVnaWVzIG5lY2Vzc2FyeSB0byBuYXZpZ2F0ZSBjb21wbGV4IGNoYWxsZW5nZXMuIFRoZSBmb2N1cyBvbiBjb25zdW1lciBwcm90ZWN0aW9uLCBjcmltaW5hbCBqdXN0aWNlIHJlZm9ybSwgYW5kIGVjb25vbWljIGRldmVsb3BtZW50IGhpZ2hsaWdodHMgaGlzIHByaW9yaXRpZXMgYXMgaGUgc3RlcHMgaW50byB0aGUgcm9sZSBvZiBnb3Zlcm5vci4gV2l0aCBhIGZpcm0gdmlzaW9uIGZvciB0aGUgZnV0dXJlLCBKb3NoIFN0ZWluIGFpbXMgdG8gZm9zdGVyIGEgY29sbGFib3JhdGl2ZSBlbnZpcm9ubWVudCB0aGF0IHVuaXRlcyBjaXRpemVucyBhbmQgZ292ZXJubWVudCwgZW5zdXJpbmcgdGhhdCBhbGwgdm9pY2VzIGFyZSBoZWFyZC4gSGlzIGluc2lnaHRzIGFzIGEgZm9ybWVyIGxpZXV0ZW5hbnQgZ292ZXJub3IgYW5kIGF0dG9ybmV5IGdlbmVyYWwgdW5kZXJzY29yZSBoaXMgcmVhZGluZXNzIHRvIGxlYWQgdGhlIHN0YXRlIHRvd2FyZCBwcm9ncmVzcy48L3A+PGRpdiBjbGFzcz0nbWItNCc+PHVsPjxsaT4gSm9zaCBTdGVpbiBwcmlvcml0aXplcyBjb25zdW1lciBwcm90ZWN0aW9uIGFuZCBhaW1zIHRvIGVuaGFuY2UgcmVndWxhdGlvbnMgdG8gc2FmZWd1YXJkIGNpdGl6ZW5zLjwvbGk+PGxpPiBIaXMgZXhwZXJpZW5jZSBpbiBjcmltaW5hbCBqdXN0aWNlIHJlZm9ybSB3aWxsIGd1aWRlIHBvbGljaWVzIHRoYXQgcHJvbW90ZSBmYWlybmVzcyBhbmQgZXF1YWxpdHkgd2l0aGluIHRoZSBzeXN0ZW0uPC9saT48bGk+IEVjb25vbWljIGRldmVsb3BtZW50IGlzIGEga2V5IGZvY3VzLCB3aXRoIHBsYW5zIHRvIGNyZWF0ZSBqb2JzIGFuZCBzdXBwb3J0IGxvY2FsIGJ1c2luZXNzZXMuPC9saT48bGk+IFN0ZWluIGVtcGhhc2l6ZXMgdGhlIGltcG9ydGFuY2Ugb2YgY29tbXVuaXR5IGVuZ2FnZW1lbnQgYW5kIGNvbGxhYm9yYXRpb24gYmV0d2VlbiBjaXRpemVucyBhbmQgZ292ZXJubWVudC48L2xpPjxsaT4gSGUgaXMgY29tbWl0dGVkIHRvIGFkZHJlc3NpbmcgaGVhbHRoY2FyZSBhY2Nlc3NpYmlsaXR5IGFuZCBhZmZvcmRhYmlsaXR5IGZvciBhbGwgTm9ydGggQ2Fyb2xpbmlhbnMuPC9saT48bGk+IEVkdWNhdGlvbiByZWZvcm0gaXMgYWxzbyBvbiBoaXMgYWdlbmRhLCBhaW1pbmcgdG8gZW5zdXJlIHF1YWxpdHkgZWR1Y2F0aW9uIGFuZCByZXNvdXJjZXMgZm9yIHN0dWRlbnRzLjwvbGk+PGxpPiBTdGVpbiBwbGFucyB0byB0YWNrbGUgZW52aXJvbm1lbnRhbCBpc3N1ZXMsIHByb21vdGluZyBzdXN0YWluYWJpbGl0eSBhbmQgY29uc2VydmF0aW9uIGVmZm9ydHMgaW4gdGhlIHN0YXRlLjwvbGk+PC91bD48L2Rpdj4KPGgyPkNvbXByZWhlbnNpdmUgT3ZlcnZpZXcgb2YgSm9zaCBTdGVpbidzIFBvbGl0aWNhbCBKb3VybmV5IGFuZCBWaXNpb248L2gyPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaGFzIGJ1aWx0IGEgcm9idXN0IHBvbGl0aWNhbCBjYXJlZXIsIGJlZ2lubmluZyBoaXMgam91cm5leSBhcyBhIHN0YXRlIHNlbmF0b3Igd2hlcmUgaGUgY2hhbXBpb25lZCBwcm9ncmVzc2l2ZSBpbml0aWF0aXZlcy4gSGlzIHRlbnVyZSBoYXMgYmVlbiBtYXJrZWQgYnkgc2lnbmlmaWNhbnQgZW5nYWdlbWVudCBhcyBhIGRlbW9jcmF0aWMgbm9taW5lZSwgcG9zaXRpb25pbmcgaGltIGFzIGEgZm9ybWlkYWJsZSBjb250ZW5kZXIgYWdhaW5zdCB0aGUgcmVwdWJsaWNhbiBnb3Zlcm5vcnMgYXNzb2NpYXRpb24uIFN0ZWluJ3MgYXNwaXJhdGlvbnMgbGVkIGhpbSB0byBydW4gZm9yIE5vcnRoIENhcm9saW5hIGdvdmVybm9yLCB3aGVyZSBoZSBmb2N1c2VkIG9uIGlzc3VlcyB0aGF0IHJlc29uYXRlIHdpdGggdm90ZXJzLCBkZW1vbnN0cmF0aW5nIGEgZGVlcCBjb21taXRtZW50IHRvIHRoZSBzdGF0ZSdzIGZ1dHVyZS4gSGlzIHZpc2lvbiByZWZsZWN0cyB0aGUgdmFsdWVzIG9mIGEgcHJlc2lkZW50aWFsIG5vbWluZWUsIGVtcGhhc2l6aW5nIGluY2x1c2l2aXR5LCBlY29ub21pYyBncm93dGgsIGFuZCBlZmZlY3RpdmUgZ292ZXJuYW5jZS4gVGhpcyBjb21wcmVoZW5zaXZlIG92ZXJ2aWV3IGhpZ2hsaWdodHMgdGhlIHBpdm90YWwgbW9tZW50cyBhbmQgc3RyYXRlZ2llcyB0aGF0IGhhdmUgc2hhcGVkIEpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaW50byBhIGxlYWRpbmcgZmlndXJlIGluIE5vcnRoIENhcm9saW5hIHBvbGl0aWNzLjwvcD4KPGgzPkJhY2tncm91bmQgYW5kIEVhcmx5IExpZmU6IEtleSBJbnNpZ2h0cyBpbnRvIEpvc2ggU3RlaW7igJlzIEVhcmx5IEV4cGVyaWVuY2VzPC9oMz48cD5Kb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IHdhcyBib3JuIGluIGEgZmFtaWx5IGRlZXBseSBlbmdhZ2VkIGluIHB1YmxpYyBzZXJ2aWNlIGFuZCBjaXZpYyByZXNwb25zaWJpbGl0eS4gSGlzIHVwYnJpbmdpbmcgaW4gTm9ydGggQ2Fyb2xpbmEgbnVydHVyZWQgYSBzZW5zZSBvZiBjb21tdW5pdHkgYW5kIGNvbW1pdG1lbnQgdGhhdCB3b3VsZCBsYXRlciBkZWZpbmUgaGlzIHBvbGl0aWNhbCBjYXJlZXIuIEdyb3dpbmcgdXAgaW4gYSBob3VzZWhvbGQgd2hlcmUgZGlzY3Vzc2lvbnMgYWJvdXQgcG9saXRpY3Mgd2VyZSBjb21tb25wbGFjZSwgaGUgZGV2ZWxvcGVkIGEga2VlbiB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjaGFsbGVuZ2VzIGZhY2VkIGJ5IGNpdGl6ZW5zLCBpbmNsdWRpbmcgaXNzdWVzIGFyb3VuZCB2b3RlciBJRCBsYXdzLiBUaGlzIGVhcmx5IGV4cG9zdXJlIHRvIHRoZSBkZW1vY3JhdGljIHByb2Nlc3Mgc2hhcGVkIGhpcyBpZGVhbHMgYXMgYSBEZW1vY3JhdCB3aG8gaXMgZm9jdXNlZCBvbiBpbmNsdXNpdml0eSBhbmQgZmFpciByZXByZXNlbnRhdGlvbi48YnIvPjxici8+SGlzIGVkdWNhdGlvbmFsIGpvdXJuZXkgZnVydGhlciBzb2xpZGlmaWVkIGhpcyBsZWFkZXJzaGlwIHNraWxscywgYXMgaGUgYXR0ZW5kZWQgcHJlc3RpZ2lvdXMgaW5zdGl0dXRpb25zIHRoYXQgZW1waGFzaXplZCBwdWJsaWMgc2VydmljZS4gU3RlaW4ncyBleHBlcmllbmNlcyBkdXJpbmcgaGlzIHRpbWUgYXQgdGhlIFVuaXZlcnNpdHkgb2YgTm9ydGggQ2Fyb2xpbmEgYW5kIGxhdGVyIGF0IEhhcnZhcmQgTGF3IFNjaG9vbCBwcmVwYXJlZCBoaW0gZm9yIGEgZnV0dXJlIGluIGxhdyBhbmQgcG9saXRpY3MuIFRoZXNlIGZvcm1hdGl2ZSB5ZWFycyBoZWxwZWQgaGltIHJlY29nbml6ZSB0aGUgaW1wb3J0YW5jZSBvZiBlbmdhZ2luZyB3aXRoIGNvbnN0aXR1ZW50cyBhbmQgYWRkcmVzc2luZyBwcmVzc2luZyBpc3N1ZXMsIHN1Y2ggYXMgdGhlIG5lZWQgZm9yIGVmZmVjdGl2ZSBnb3Zlcm5hbmNlIGluIE5vcnRoIENhcm9saW5hLiBBcyBhIHNlbmF0b3IsIGhlIGNoYW1waW9uZWQgdmFyaW91cyBpbml0aWF0aXZlcyB0aGF0IHJlc29uYXRlZCB3aXRoIHZvdGVycywgc29saWRpZnlpbmcgaGlzIHJvbGUgYXMgYSBzaWduaWZpY2FudCBmaWd1cmUgaW4gdGhlIHN0YXRlJ3MgcG9saXRpY2FsIGxhbmRzY2FwZS48L3A+CjxoMz5Qb2xpdGljYWwgQ2FyZWVyIFBhdGg6IEtleSBIaWdobGlnaHRzIGZyb20gSm9zaCBTdGVpbidzIEpvdXJuZXk8L2gzPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaGFzIGJ1aWx0IGEgcHJvbWluZW50IGNhcmVlciB3aXRoaW4gdGhlIHJlYWxtIG9mIHBvbGl0aWNzLCBlbWVyZ2luZyBhcyBhIHZpdGFsIGZpZ3VyZSBmb3IgdGhlIERlbW9jcmF0cyBpbiBOb3J0aCBDYXJvbGluYS4gSGlzIHRlbnVyZSBhcyB0aGUgc3RhdGUncyBBdHRvcm5leSBHZW5lcmFsIHNob3djYXNlZCBoaXMgYWR2b2NhY3kgZm9yIGNvbnN1bWVyIHByb3RlY3Rpb24gYW5kIGVmZm9ydHMgdG8gY2hhbGxlbmdlIHRoZSB2b3RlciBJRCBsYXcsIHdoaWNoIG1hbnkgY3JpdGljaXplZCBmb3IgZGlzZW5mcmFuY2hpc2luZyB2b3RlcnMuIEJ5IHBvc2l0aW9uaW5nIGhpbXNlbGYgYWdhaW5zdCBkaXZpc2l2ZSBSZXB1YmxpY2FuIHRhY3RpY3MsIFN0ZWluIGhhcyBlYXJuZWQgYSByZXB1dGF0aW9uIGFzIGEgZGVmZW5kZXIgb2YgY2l2aWwgcmlnaHRzIGFuZCBhIGNoYW1waW9uIGZvciBlcXVpdGFibGUgYWNjZXNzIHRvIHRoZSBiYWxsb3QuPGJyLz48YnIvPkhpcyBlbGVjdGlvbiBjYW1wYWlnbiBoaWdobGlnaHRlZCBhIGNvbW1pdG1lbnQgdG8gYWRkcmVzc2luZyBwcmVzc2luZyBpc3N1ZXMgZmFjZWQgYnkgTm9ydGggQ2Fyb2xpbmlhbnMuIEZvY3VzaW5nIG9uIGhlYWx0aCBjYXJlLCBlZHVjYXRpb24sIGFuZCBjcmltaW5hbCBqdXN0aWNlIHJlZm9ybSwgSm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCByZXNvbmF0ZWQgd2l0aCBhIGRpdmVyc2UgYXJyYXkgb2Ygdm90ZXJzIHNlZWtpbmcgY2hhbmdlLiBCeSBhY3RpdmVseSBlbmdhZ2luZyB3aXRoIHRoZSBjb21tdW5pdHksIGhlIGZvc3RlcmVkIGEgc2Vuc2Ugb2YgYmVsb25naW5nIGFuZCBlbXBvd2VybWVudCwgZW5zdXJpbmcgdGhhdCB0aGUgdm9pY2VzIG9mIGV2ZXJ5ZGF5IGNpdGl6ZW5zIHdlcmUgaGVhcmQgdGhyb3VnaG91dCBoaXMgcG9saXRpY2FsIGpvdXJuZXkuPC9wPgo8aDI+Sm9zaCBTdGVpbjogSW5zaWdodHMgaW50byBIaXMgUG9saXRpY2FsIEpvdXJuZXkgYW5kIFZpc2lvbiBmb3IgTm9ydGggQ2Fyb2xpbmE8L2gyPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaGFzIG5hdmlnYXRlZCBhIHBvbGl0aWNhbCBsYW5kc2NhcGUgc2hhcGVkIGJ5IHRoZSBsZWdhY2llcyBvZiBwYXN0IGFkbWluaXN0cmF0aW9ucywgaW5jbHVkaW5nIHRob3NlIG9mIFJlcHVibGljYW4gbGVhZGVycyBhbmQgdGhlIHByZXNpZGVuY3kgb2YgRG9uYWxkIFRydW1wLiBBcyBhdHRvcm5leSBnZW5lcmFsLCBoZSBmb2N1c2VkIG9uIGlzc3VlcyB0aGF0IHJlc29uYXRlIGRlZXBseSB3aXRoIE5vcnRoIENhcm9saW5pYW5zLCBhZHZvY2F0aW5nIGZvciBjb25zdW1lciBwcm90ZWN0aW9uIGFuZCBqdXN0aWNlIHJlZm9ybS4gVGhyb3VnaG91dCBoaXMgam91cm5leSwgSm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBoYXMgZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBjb2xsYWJvcmF0aW9uIGFuZCB0cmFuc3BhcmVuY3kgaW4gZ292ZXJuYW5jZSwgYWltaW5nIHRvIGFkZHJlc3MgdGhlIHByZXNzaW5nIG5lZWRzIG9mIHRoZSBzdGF0ZS4gSGlzIHZpc2lvbiBpbmNvcnBvcmF0ZXMgaW5ub3ZhdGl2ZSBzb2x1dGlvbnMgYWltZWQgYXQgZm9zdGVyaW5nIGVjb25vbWljIGRldmVsb3BtZW50IHdoaWxlIHJlbWFpbmluZyBjb21taXR0ZWQgdG8gZXF1aXR5IGFuZCBmYWlyIHJlcHJlc2VudGF0aW9uIGZvciBhbGwgY2l0aXplbnMuPC9wPgo8aDM+Q2FtcGFpZ24gU3RyYXRlZ3kgYW5kIEtleSBJc3N1ZXM6IEluc2lnaHRzIG9uIEpvc2ggU3RlaW4ncyBBcHByb2FjaDwvaDM+PHA+Sm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBoYXMgbGFpZCBvdXQgYSBjYW1wYWlnbiBzdHJhdGVneSB0aGF0IHJlc29uYXRlcyB3aXRoIGNvcmUgdmFsdWVzIG9mIHRoZSBEZW1vY3JhdGljIFBhcnR5LiBBcyBnb3Zlcm5vciBqb3NoIHN0ZWluLCBoZSBlbXBoYXNpemVzIHRoZSBpbXBvcnRhbmNlIG9mIGhlYWx0aGNhcmUgYWNjZXNzaWJpbGl0eSwgZWR1Y2F0aW9uIHJlZm9ybSwgYW5kIGVjb25vbWljIGRldmVsb3BtZW50LiBIaXMgYXBwcm9hY2ggY29tYmluZXMgZ3Jhc3Nyb290cyBtb2JpbGl6YXRpb24gd2l0aCB0YXJnZXRlZCBtZXNzYWdpbmcgZGVzaWduZWQgdG8gZW5nYWdlIGRpdmVyc2UgY29tbXVuaXRpZXMuIEdlbmVyYWwgam9zaCBzdGVpbuKAmXMgdW5kZXJzdGFuZGluZyBvZiBOb3J0aCBDYXJvbGluYSdzIHVuaXF1ZSBjaGFsbGVuZ2VzIHNoYXBlcyBoaXMgcG9saWN5IHByaW9yaXRpZXMsIGFsbG93aW5nIGhpbSB0byBjb25uZWN0IGF1dGhlbnRpY2FsbHkgd2l0aCB2b3RlcnMuPGJyLz48YnIvPkRlbW9jcmF0IGpvc2ggc3RlaW4gaGFzIGFsc28gZm9jdXNlZCBvbiBrZXkgaXNzdWVzIHRoYXQgbWF0dGVyIG1vc3QgdG8gTm9ydGggQ2Fyb2xpbmlhbnMuIFRoaXMgaW5jbHVkZXMgYWR2b2NhdGluZyBmb3Igc3VzdGFpbmFibGUgam9iIGNyZWF0aW9uIGFuZCBhZGRyZXNzaW5nIGNsaW1hdGUgY2hhbmdlIHRocm91Z2ggaW5ub3ZhdGl2ZSBwb2xpY2llcy4gVGhlIGNhbXBhaWduIGhhcyBhaW1lZCB0byBidWlsZCBhIHN0cm9uZyBjb2FsaXRpb24gb2Ygc3VwcG9ydCBhY3Jvc3MgdmFyaW91cyBkZW1vZ3JhcGhpY3MsIHJlY29nbml6aW5nIHRoYXQgdW5pdHkgaXMgZXNzZW50aWFsIGZvciBzdWNjZXNzLiBCeSBwcmlvcml0aXppbmcgZGlyZWN0IGNvbW11bmljYXRpb24gd2l0aCBjb25zdGl0dWVudHMsIGpvc2ggc3RlaW5qIGVuc3VyZXMgdGhhdCB0aGUgdm9pY2VzIG9mIGFsbCBjaXRpemVucyBhcmUgaGVhcmQgaW4gdGhlIHBvbGl0aWNhbCBhcmVuYSBhcyBoZSBtb3ZlcyBmb3J3YXJkIGFzIGdvdmVybm9yLWVsZWN0LjwvcD4KPGgzPlZvdGVyIE91dHJlYWNoIGFuZCBFbmdhZ2VtZW50OiBTdHJhdGVnaWVzIGZvciBDb25uZWN0aW5nIHdpdGggTm9ydGggQ2Fyb2xpbmEgQ2l0aXplbnM8L2gzPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QsIGhhcyBpbXBsZW1lbnRlZCBhIHNlcmllcyBvZiBpbm5vdmF0aXZlIHZvdGVyIG91dHJlYWNoIHN0cmF0ZWdpZXMgdG8gY29ubmVjdCB3aXRoIHRoZSBkaXZlcnNlIHBvcHVsYXRpb24gb2YgTm9ydGggQ2Fyb2xpbmEuIEdlbmVyYWwgU3RlaW4gZW1waGFzaXplcyB0aGUgaW1wb3J0YW5jZSBvZiB1bmRlcnN0YW5kaW5nIGNvbW11bml0eSBjb25jZXJucyBhbmQgdGFpbG9yaW5nIG1lc3NhZ2VzIHRoYXQgcmVzb25hdGUgd2l0aCBjaXRpemVucy4gQnkgbGV2ZXJhZ2luZyBkaWdpdGFsIHBsYXRmb3JtcyBhbmQgZ3Jhc3Nyb290cyBtb2JpbGl6YXRpb24sIFN0ZWluIGFpbXMgdG8gZm9zdGVyIGEgbW9yZSBpbmNsdXNpdmUgcG9saXRpY2FsIGRpYWxvZ3VlIHRoYXQgZW5jb3VyYWdlcyBwYXJ0aWNpcGF0aW9uIGZyb20gYWxsIGRlbW9ncmFwaGljcywgaW5jbHVkaW5nIHlvdW5nZXIgdm90ZXJzIGFuZCB0aG9zZSBpbiB1bmRlcnNlcnZlZCByZWdpb25zLjxici8+PGJyLz5FbmdhZ2VtZW50IGluaXRpYXRpdmVzIGR1cmluZyBTdGVpbidzIGNhbXBhaWduIGZlYXR1cmVkIHRvd24gaGFsbCBtZWV0aW5ncyBhbmQgbG9jYWwgZXZlbnRzIGRlc2lnbmVkIHRvIGNyZWF0ZSBtZWFuaW5nZnVsIGNvbm5lY3Rpb25zIHdpdGggY29uc3RpdHVlbnRzLiBUaGUgNTgteWVhci1vbGQgU3RlaW4gcmVjb2duaXplcyB0aGF0IGEgc3Ryb25nIGJvbmQgd2l0aCB0aGUgY29tbXVuaXR5IGlzIGNydWNpYWwgZm9yIGFkZHJlc3NpbmcgcHJlc3NpbmcgaXNzdWVzLiBIaXMgYXBwcm9hY2ggaW52b2x2ZXMgbm90IGp1c3QgbGlzdGVuaW5nIHRvIHZvdGVycyBidXQgYWN0aXZlbHkgaW52b2x2aW5nIHRoZW0gaW4gZGlzY3Vzc2lvbnMgdGhhdCBzaGFwZSBwb2xpY3kgZGVjaXNpb25zLiBBcyBTdGVpbiBwcmVwYXJlcyBmb3IgaGlzIHRlcm0sIHRoZXNlIG91dHJlYWNoIGVmZm9ydHMgd2lsbCBwbGF5IGEgdml0YWwgcm9sZSBpbiBidWlsZGluZyB0cnVzdCBhbmQgZW5zdXJpbmcgdGhhdCBOb3J0aCBDYXJvbGluaWFucyBmZWVsIGhlYXJkIGFuZCB2YWx1ZWQuPC9wPgo8aDI+Sm9zaCBTdGVpbjogQSBDb21wcmVoZW5zaXZlIE92ZXJ2aWV3IG9mIEhpcyBQb2xpdGljYWwgSm91cm5leSBhbmQgVmlzaW9uPC9oMj48cD5Kb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IGVtYm9kaWVzIGEgdW5pcXVlIGJsZW5kIG9mIGV4cGVyaWVuY2UgYW5kIHZpc2lvbiB0aGF0IHJlc29uYXRlcyB3aXRoIG1hbnkgTm9ydGggQ2Fyb2xpbmlhbnMuIEhpcyBqb3VybmV5IGFzIGEgTi5DLiBnb3Zlcm5vciBjYW5kaWRhdGUgc2hvd2Nhc2VzIGEgY29tbWl0bWVudCB0byBhZGRyZXNzaW5nIHRoZSBwcmVzc2luZyBpc3N1ZXMgd2l0aGluIHRoZSBzdGF0ZSwgbWFraW5nIGhpbSBhIG5vdGV3b3J0aHkgZmlndXJlIGluIGdvdmVybm9yIHBvbGl0aWNzLiBXaXRoIGEgZm9jdXMgb24gY29tbXVuaXR5IGVuZ2FnZW1lbnQgYW5kIHN0cmF0ZWdpYyBwb2xpY3kgaW5pdGlhdGl2ZXMsIFN0ZWluJ3MgbGVhZGVyc2hpcCBhbGlnbnMgd2l0aCB0aGUgYXNwaXJhdGlvbnMgb2YgY2l0aXplbnMgbG9va2luZyBmb3IgZWZmZWN0aXZlIGdvdmVybmFuY2UuIFJlc2lkZW50cyB3aG8gd2F0Y2ggU3RlaW4gdW5kZXJzdGFuZCBoaXMgZGVkaWNhdGlvbiB0byBwdWJsaWMgc2VydmljZSBhbmQgaGlzIGRyaXZlIHRvIGltcGxlbWVudCBtZWFuaW5nZnVsIGNoYW5nZXMgdGhhdCByZWZsZWN0IHRoZSBuZWVkcyBvZiB0aGUgY29tbXVuaXR5LiBBcyB3ZSBhbmFseXplIGhpcyBwb2xpdGljYWwgam91cm5leSBhbmQgdmlzaW9uLCBpdCBiZWNvbWVzIGNsZWFyIHRoYXQgaGUgc3RhbmRzIHBvaXNlZCB0byBtYWtlIHNpZ25pZmljYW50IGNvbnRyaWJ1dGlvbnMgdG8gTm9ydGggQ2Fyb2xpbmEncyBmdXR1cmUuPC9wPjx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtYm9yZGVyZWQgbWItNCBhcnRpY2xlLWNhcmQtdGV4dCI+CiAgPHRyPgogICAgPHRoPktleSBJc3N1ZXMgQWRkcmVzc2VkPC90aD4KICAgIDx0aD5Jbml0aWF0aXZlcyBQcm9wb3NlZDwvdGg+CiAgICA8dGg+Q29tbXVuaXR5IEVuZ2FnZW1lbnQgRWZmb3J0czwvdGg+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+SGVhbHRoIENhcmUgQWNjZXNzPC90ZD4KICAgIDx0ZD5FeHBhbmRpbmcgTWVkaWNhaWQ8L3RkPgogICAgPHRkPlRvd24gaGFsbCBtZWV0aW5ncyBhY3Jvc3MgdGhlIHN0YXRlPC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD5FZHVjYXRpb24gUmVmb3JtPC90ZD4KICAgIDx0ZD5JbmNyZWFzZWQgZnVuZGluZyBmb3IgcHVibGljIHNjaG9vbHM8L3RkPgogICAgPHRkPkxpc3RlbmluZyBzZXNzaW9ucyB3aXRoIGVkdWNhdG9ycyBhbmQgcGFyZW50czwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+RW52aXJvbm1lbnRhbCBQcm90ZWN0aW9uPC90ZD4KICAgIDx0ZD5TdHJlbmd0aGVuaW5nIHJlbmV3YWJsZSBlbmVyZ3kgcG9saWNpZXM8L3RkPgogICAgPHRkPkNvbGxhYm9yYXRpb24gd2l0aCBsb2NhbCBlbnZpcm9ubWVudGFsIGdyb3VwczwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+RWNvbm9taWMgRGV2ZWxvcG1lbnQ8L3RkPgogICAgPHRkPlN1cHBvcnQgZm9yIHNtYWxsIGJ1c2luZXNzZXM8L3RkPgogICAgPHRkPldvcmtzaG9wcyBvbiBlbnRyZXByZW5ldXJzaGlwIGFuZCBqb2IgdHJhaW5pbmc8L3RkPgogIDwvdHI+CjwvdGFibGU+CjxoMz5NaWxpdGFyeSBTZXJ2aWNlIGFuZCBMZWFkZXJzaGlwIEV4cGVyaWVuY2Ugb2YgSm9zaCBTdGVpbjwvaDM+PHA+Sm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBoYXMgYSBub3RhYmxlIGJhY2tncm91bmQgaW4gbWlsaXRhcnkgc2VydmljZSB0aGF0IGhhcyBzaGFwZWQgaGlzIGxlYWRlcnNoaXAgc3R5bGUuIEhpcyBjb21taXRtZW50IHRvIHNlcnZpbmcgaGlzIGNvdW50cnkgcmVmbGVjdHMgYSBkZWRpY2F0aW9uIHRvIHRoZSB2YWx1ZXMgb2YgZHV0eSBhbmQgcmVzcG9uc2liaWxpdHkuIEFzIGhlIGNhbXBhaWducyBmb3IgdGhlIHJvbGUgb2YgbmV4dCBnb3Zlcm5vciwgaGlzIGV4cGVyaWVuY2VzIHdpdGhpbiB0aGUgbWlsaXRhcnkgb2ZmZXIgYSB1bmlxdWUgcGVyc3BlY3RpdmUgb24gbGVhZGVyc2hpcCwgZGlzY2lwbGluZSwgYW5kIGNvbGxhYm9yYXRpb24sIHF1YWxpdGllcyB2aXRhbCBmb3IgYWRkcmVzc2luZyB0aGUgY2hhbGxlbmdlcyBmYWNlZCBkdXJpbmcgZ3ViZXJuYXRvcmlhbCByYWNlcyBpbiBOb3J0aCBDYXJvbGluYS48YnIvPjxici8+U3RlaW4ncyBqb3VybmV5IGFzIGEgY2FuZGlkYXRlIGV4ZW1wbGlmaWVzIGhvdyBtaWxpdGFyeSBzZXJ2aWNlIGNhbiBpbmZsdWVuY2UgcHVibGljIHNlcnZpY2UuIEhpcyBleHBlcmllbmNlcyBoYXZlIGVxdWlwcGVkIGhpbSB3aXRoIHRoZSBza2lsbHMgdG8gdGFja2xlIGNvbXBsZXggaXNzdWVzIGVmZmVjdGl2ZWx5IGFuZCBidWlsZCBhIGNvaGVzaXZlIHRlYW0gYXJvdW5kIHNoYXJlZCBnb2Fscy4gQXMgdGhlIHBvdGVudGlhbCBmaXJzdCBibGFjayBnb3Zlcm5vciBvZiBOb3J0aCBDYXJvbGluYSwgSm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBlbWJvZGllcyBhIG5ldyBlcmEgb2YgbGVhZGVyc2hpcCB0aGF0IHZhbHVlcyBkaXZlcnNpdHkgYW5kIGluY2x1c2lvbiB3aGlsZSBhZHZvY2F0aW5nIGZvciBhbGwgY2l0aXplbnMgaW4gdGhlIGNvbW11bml0eS48L3A+CjxoMz5Db250cmlidXRpb25zIHRvIFN0YXRlIGFuZCBDb21tdW5pdHk6IEV4cGxvcmluZyBKb3NoIFN0ZWluJ3MgSW1wYWN0IG9uIE5vcnRoIENhcm9saW5hPC9oMz48cD5Kb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IGhhcyBtYWRlIHNpZ25pZmljYW50IGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHN0YXRlIG9mIE5vcnRoIENhcm9saW5hLCBwYXJ0aWN1bGFybHkgdGhyb3VnaCBoaXMgYWR2b2NhY3kgZm9yIG1hcmdpbmFsaXplZCBjb21tdW5pdGllcy4gQXMgaGUgY2FtcGFpZ25zIGluIHRoZSBndWJlcm5hdG9yaWFsIHJhY2UsIGhlIGVtcGhhc2l6ZXMgdGhlIGltcG9ydGFuY2Ugb2YgaW5jbHVzaXZpdHkgYW5kIGVxdWl0YWJsZSBvcHBvcnR1bml0aWVzIGZvciBhbGwgcmVzaWRlbnRzLiBIaXMgY29tbWl0bWVudCB0byBhZGRyZXNzaW5nIGlzc3VlcyBsaWtlIGhlYWx0aGNhcmUgYW5kIGVkdWNhdGlvbiByZXNvbmF0ZXMgd2l0aCB2b3RlcnMgc2Vla2luZyBjaGFuZ2UgZnJvbSB0aGUgbGVhZGVyc2hpcCBvZiBHb3Zlcm5vciBDb29wZXIuIFRoZSBjaGFsbGVuZ2VzIHBvc2VkIGJ5IFJlcHVibGljYW4gZ292ZXJub3JzIGluIG5laWdoYm9yaW5nIHN0YXRlcyBoYXZlIGZ1cnRoZXIgbW90aXZhdGVkIFN0ZWluIHRvIHByaW9yaXRpemUgY29tbXVuaXR5IG5lZWRzIGFuZCBvdmVyYWxsIHdlbGxiZWluZyBpbiBoaXMgcG9saWNpZXMuPGJyLz48YnIvPlRoZSBpbXBhY3Qgb2YgSm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBleHRlbmRzIGJleW9uZCBwb2xpY3kgZGlzY3Vzc2lvbnMuIEhpcyBlZmZvcnRzIHRvIGVuZ2FnZSB3aXRoIGxvY2FsIGNvbW11bml0aWVzIHJlZmxlY3QgYSBnZW51aW5lIGRlc2lyZSB0byBsaXN0ZW4gYW5kIHJlc3BvbmQgdG8gdGhlaXIgY29uY2VybnMuIEJ5IGVzdGFibGlzaGluZyBmb3J1bXMgYW5kIG91dHJlYWNoIGluaXRpYXRpdmVzLCBTdGVpbiBhaW1zIHRvIGJyZWFrIGRvd24gYmFycmllcnMgYmV0d2VlbiBjb25zdGl0dWVudHMgYW5kIGdvdmVybm1lbnQuIFRoaXMgc3RyYXRlZ3kgbm90IG9ubHkgc3RyZW5ndGhlbnMgZGVtb2NyYWN5IGJ1dCBhbHNvIHBvc2l0aW9ucyBoaW0gYXMgYSBKZXdpc2ggZ292ZXJub3Igd2hvIHZhbHVlcyBkaXZlcnNpdHkgYW5kIHJlcHJlc2VudGF0aW9uIGFtb25nIE5vcnRoIENhcm9saW5hJ3MgcG9wdWxhdGlvbi4gQXMgY2FuZGlkYXRlcyBnZWFyIHVwIGZvciB0aGUgdXBjb21pbmcgZWxlY3Rpb24sIFN0ZWluJ3MgZm9jdXMgb24gY29tbXVuaXR5LWRyaXZlbiBzb2x1dGlvbnMgc2V0cyBoaW0gYXBhcnQgaW4gdGhlIHJhY2UgZm9yIHRoZSBnb3Zlcm5vcnNoaXAuPC9wPgo8aDI+U2lnbmlmaWNhbnQgQWNoaWV2ZW1lbnRzIG9mIEpvc2ggU3RlaW4gYXMgQXR0b3JuZXkgR2VuZXJhbDogQW4gT3ZlcnZpZXc8L2gyPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaGFzIG1hZGUgc2lnbmlmaWNhbnQgc3RyaWRlcyBkdXJpbmcgaGlzIHRlbnVyZSBhcyBBdHRvcm5leSBHZW5lcmFsLCBmb2N1c2luZyBvbiBpc3N1ZXMgdGhhdCByZXNvbmF0ZSB3aXRoIHRoZSBkaXZlcnNlIGVsZWN0b3JhdGUgb2YgTm9ydGggQ2Fyb2xpbmEuIEhpcyBhZHZvY2FjeSBmb3IgY29uc3VtZXIgcHJvdGVjdGlvbiByZWZsZWN0cyBhIGNvbW1pdG1lbnQgdG8gc2FmZWd1YXJkaW5nIHRoZSBpbnRlcmVzdHMgb2YgZmFtaWxpZXMsIHBhcnRpY3VsYXJseSBhcHBlYWxpbmcgdG8gTGF0aW5vIHZvdGVycyB3aG8gc2VlayByZWxpYWJsZSBsZWFkZXJzaGlwLiBBcyBhIGtleSBmaWd1cmUgYW1vbmcgRGVtb2NyYXRpYyBub21pbmVlcyBmb3Igc3RhdGV3aWRlIG9mZmljZSwgU3RlaW4gaGFzIHBvc2l0aW9uZWQgaGltc2VsZiBhcyBhIHByb2FjdGl2ZSBhZHZvY2F0ZSBmb3IganVzdGljZSByZWZvcm0sIGFsaWduaW5nIGhpcyBwb2xpY3kgcHJpb3JpdGllcyB3aXRoIHRoZSB2YWx1ZXMgb2YgbWFueSBnb3Zlcm5vcnMgYWNyb3NzIHRoZSBuYXRpb24uIEhpcyBhY2hpZXZlbWVudHMgaWxsdXN0cmF0ZSBhIGRlZGljYXRpb24gdG8gYWRkcmVzc2luZyBib3RoIGxvY2FsIGFuZCBuYXRpb25hbCBjaGFsbGVuZ2VzLCBzaG93Y2FzaW5nIGEgdmlzaW9uIHRoYXQgbm90IG9ubHkgc3BlYWtzIHRvIHRoZSBwcmVzZW50IG5lZWRzIG9mIE5vcnRoIENhcm9saW5hIGJ1dCBhbHNvIHNldHMgYSBmb3VuZGF0aW9uIGZvciBmdXR1cmUgbGVhZGVyc2hpcCBhc3BpcmF0aW9ucywgZXNwZWNpYWxseSBhcyBoZSBleWVzIGEgbW9yZSBwcm9taW5lbnQgcm9sZSBpbiB0aGUgcG9saXRpY2FsIGxhbmRzY2FwZSBha2luIHRvIHRoYXQgb2YgYSBwcmVzaWRlbnQuPC9wPgo8aDM+S2V5IFRha2Vhd2F5czogQWR2b2NhY3kgZm9yIENvbnN1bWVyIFByb3RlY3Rpb24gYW5kIEtleSBJc3N1ZXM8L2gzPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaGFzIGNvbnNpc3RlbnRseSBjaGFtcGlvbmVkIGNvbnN1bWVyIHByb3RlY3Rpb24gdGhyb3VnaG91dCBoaXMgcG9saXRpY2FsIGNhcmVlci4gQXMgYSBmb3JtZXIgc3RhdGUgc2VuYXRvciwgaGUgcmVjb2duaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBzYWZlZ3VhcmRpbmcgY2l0aXplbnMgZnJvbSB1bmZhaXIgcHJhY3RpY2VzIGFuZCBleHBsb2l0YXRpb24uIEhpcyBhZHZvY2FjeSBlZmZvcnRzIGhhdmUgb2Z0ZW4gcHV0IGhpbSBhdCBvZGRzIHdpdGggcmVwdWJsaWNhbiBsZWdpc2xhdG9ycywgZGVtb25zdHJhdGluZyBoaXMgY29tbWl0bWVudCB0byB0aGUgd2VsZmFyZSBvZiBOb3J0aCBDYXJvbGluaWFucy4gSGlzIGRlZGljYXRpb24gdG8gdGhpcyBpc3N1ZSBnYWluZWQgc2lnbmlmaWNhbnQgbW9tZW50dW0gZHVyaW5nIGhpcyBjYW1wYWlnbiBmb3IgcmVlbGVjdGlvbiwgcmVzb25hdGluZyB3aXRoIHZvdGVycyB3aG8gcHJpb3JpdGl6ZSBpbnRlZ3JpdHkgYW5kIGFjY291bnRhYmlsaXR5IGluIGdvdmVybm1lbnQuPGJyLz48YnIvPlN0ZWlu4oCZcyBhZHZvY2FjeSBmb3IgY29uc3VtZXIgcHJvdGVjdGlvbiBpcyBwYXJ0IG9mIGEgYnJvYWRlciB2aXNpb24gYWltZWQgYXQgY3JlYXRpbmcgYSBmYWlyIGFuZCBqdXN0IG1hcmtldHBsYWNlLiBIZSBoYXMgd29ya2VkIGFsb25nc2lkZSBmZWxsb3cgRGVtb2NyYXQgUm95IENvb3BlciB0byBpbnRyb2R1Y2UgaW5pdGlhdGl2ZXMgdGhhdCBob2xkIGNvcnBvcmF0aW9ucyBhY2NvdW50YWJsZSBhbmQgZW5zdXJlIHRyYW5zcGFyZW5jeS4gVGhpcyBhbGlnbm1lbnQgd2l0aCBzdGF0ZSBsZWFkZXJzIGhpZ2hsaWdodHMgaGlzIGZvY3VzIG9uIGNvbGxhYm9yYXRpb24gdG8gcHVzaCBiYWNrIGFnYWluc3QgdGhlIGluZmx1ZW5jZSBvZiBwb3dlcmZ1bCBzcGVjaWFsIGludGVyZXN0cy4gQXMgdm90ZXJzIGNvbnNpZGVyIFN0ZWluJ3MgcGxhdGZvcm0sIHRoZSBjb21taXRtZW50IHRvIGNvbnN1bWVyIHJpZ2h0cyByZW1haW5zIGEgcGl2b3RhbCBwb2ludCB0aGF0IGRlZmluZXMgaGlzIGFwcHJvYWNoIGFzIEpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QuPC9wPjxkaXYgY2xhc3M9J21iLTQnPjx1bD48bGk+IFN0ZWluJ3MgZm9jdXMgb24gY29uc3VtZXIgcHJvdGVjdGlvbiBpbmNsdWRlcyBhZGRyZXNzaW5nIHByZWRhdG9yeSBsZW5kaW5nIHByYWN0aWNlcy48L2xpPjxsaT4gSGUgYWltcyB0byBlbmhhbmNlIHJlZ3VsYXRpb25zIG9uIGRlY2VwdGl2ZSBidXNpbmVzcyBwcmFjdGljZXMgdG8gc2hpZWxkIGNvbnN1bWVycy48L2xpPjxsaT4gSGlzIGluaXRpYXRpdmVzIHRhcmdldCBwcmljZSBnb3VnaW5nLCBlc3BlY2lhbGx5IGR1cmluZyBlbWVyZ2VuY2llcy48L2xpPjxsaT4gQ29sbGFib3JhdGlvbiB3aXRoIGNvbnN1bWVyIGFkdm9jYWN5IGdyb3VwcyBpcyBhIGtleSBzdHJhdGVneSBpbiBoaXMgYXBwcm9hY2guPC9saT48bGk+IFN0ZWluIHByaW9yaXRpemVzIGVkdWNhdGlvbiBvbiBjb25zdW1lciByaWdodHMgdG8gZW1wb3dlciBjaXRpemVucy48L2xpPjxsaT4gSGUgcGxhbnMgdG8gaW1wcm92ZSB0aGUgZW5mb3JjZW1lbnQgb2YgZXhpc3RpbmcgY29uc3VtZXIgcHJvdGVjdGlvbiBsYXdzLjwvbGk+PGxpPiBUcmFuc3BhcmVuY3kgaW4gY29ycG9yYXRlIHByYWN0aWNlcyBpcyBhIGNvcm5lcnN0b25lIG9mIGhpcyBjb25zdW1lciBhZHZvY2FjeSBlZmZvcnRzLjwvbGk+PC91bD48L2Rpdj4KPGgzPkZpZ2h0aW5nIGZvciBDcmltaW5hbCBKdXN0aWNlIFJlZm9ybTogS2V5IEluc2lnaHRzIGFuZCBTdHJhdGVnaWVzPC9oMz48cD5Kb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IGhhcyBjb25zaXN0ZW50bHkgZW1waGFzaXplZCB0aGUgbmVjZXNzaXR5IG9mIHJlZm9ybWluZyBOb3J0aCBDYXJvbGluYSdzIGNyaW1pbmFsIGp1c3RpY2Ugc3lzdGVtLiBIaXMgYXBwcm9hY2ggYWltcyB0byBhZGRyZXNzIHN5c3RlbWljIGlzc3VlcyB0aGF0IGFmZmVjdCBtYXJnaW5hbGl6ZWQgY29tbXVuaXRpZXMuIFdpdGggdGhlIGJhY2tpbmcgb2YgZW5nYWdlZCB2b3RlcnMsIFN0ZWluIGhhcyBjYW1wYWlnbmVkIGZvciBwb2xpY2llcyB0aGF0IHByb21vdGUgZmFpcm5lc3MgYW5kIGFjY291bnRhYmlsaXR5LiBIaXMgdmlzaW9uIGNvbnRyYXN0cyBzaGFycGx5IHdpdGggcG9zaXRpb25zIGhlbGQgYnkgc29tZSByZXB1YmxpY2FuIGx0LiBnb3YgY2FuZGlkYXRlcywgd2hvIG1heSBzdXBwb3J0IG1vcmUgcHVuaXRpdmUgbWVhc3VyZXMgcmF0aGVyIHRoYW4gY29tcHJlaGVuc2l2ZSByZWZvcm0uIDxici8+PGJyLz5UaGUgZWxlY3Rpb24gaGFzIHByb3ZpZGVkIGEgcGxhdGZvcm0gZm9yIEpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgdG8gYWR2b2NhdGUgZm9yIHNpZ25pZmljYW50IGNoYW5nZXMuIEhlIGZvY3VzZXMgb24gcmVkdWNpbmcgcHJpc29uIHBvcHVsYXRpb25zIHRocm91Z2ggYWx0ZXJuYXRpdmVzIHRvIGluY2FyY2VyYXRpb24gYW5kIGVuc3VyaW5nIGVxdWl0YWJsZSB0cmVhdG1lbnQgZm9yIGFsbCBpbmRpdmlkdWFscyB3aXRoaW4gdGhlIGp1c3RpY2Ugc3lzdGVtLiBCeSBhZGRyZXNzaW5nIHJvb3QgY2F1c2VzIG9mIGNyaW1lIGFuZCBpbnZlc3RpbmcgaW4gcmVoYWJpbGl0YXRpb24gcHJvZ3JhbXMsIFN0ZWluIGVudmlzaW9ucyBhIHNhZmVyIE5vcnRoIENhcm9saW5hIGZvciBldmVyeSBjaXRpemVuLCB3aGljaCByZXNvbmF0ZXMgc3Ryb25nbHkgd2l0aCB2b3RlcnMgZWFnZXIgZm9yIG1lYW5pbmdmdWwgY2hhbmdlLjwvcD4KPGgyPlZpc2lvbiBmb3IgTm9ydGggQ2Fyb2xpbmE6IEpvc2ggU3RlaW4ncyBTdHJhdGVnaWMgUG9saWN5IEluaXRpYXRpdmVzIGFuZCBQcm9wb3NlZCBDaGFuZ2VzPC9oMj48cD5Kb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IGVudmlzaW9ucyBhIE5vcnRoIENhcm9saW5hIHdoZXJlIHN0cmF0ZWdpYyBwb2xpY3kgaW5pdGlhdGl2ZXMgZm9zdGVyIGluY2x1c2l2ZSBlY29ub21pYyBncm93dGggYW5kIGVuaGFuY2UgcXVhbGl0eSBvZiBsaWZlIGZvciBhbGwgY2l0aXplbnMuIFdpdGggYW4gZXllIG9uIHRoZSBmdXR1cmUsIGhpcyBwcm9wb3NhbHMgYWltIHRvIGFkZHJlc3MgcHJlc3NpbmcgY2hhbGxlbmdlcyB3aGlsZSBuYXZpZ2F0aW5nIGEgcG9saXRpY2FsIGxhbmRzY2FwZSBzaGFwZWQgYnkgZmlndXJlcyBsaWtlIFJlcHVibGljYW4gTWFyayBSb2JpbnNvbiBhbmQgdGhlIERlbW9jcmF0aWMgZ292ZXJub3IncyBvZmZpY2UuIFN0ZWluJ3MgcG9saWNpZXMgcmVmbGVjdCBhIGNvbW1pdG1lbnQgdG8gdW5pdGUgdm90ZXJzIGZyb20gZGl2ZXJzZSBiYWNrZ3JvdW5kcywgZW5zdXJpbmcgdGhhdCB0aGUgRGVtb2NyYXRpYyBub21pbmVlIGNhbiBiZWF0IHRoZSBjb21wZXRpdGlvbiwgaW5jbHVkaW5nIHBvdGVudGlhbCBjaGFsbGVuZ2VzIGZyb20gcHJlc2lkZW50aWFsIG5vbWluZWUgRG9uYWxkIFRydW1wIHN1cHBvcnRlcnMuIEFzIHRoZSBsYW5kc2NhcGUgZXZvbHZlcywgSm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCByZW1haW5zIGZvY3VzZWQgb24gYnVpbGRpbmcgYSBicmlnaHRlciwgbW9yZSBlcXVpdGFibGUgZnV0dXJlIGZvciBOb3J0aCBDYXJvbGluYS48L3A+PHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1ib3JkZXJlZCBtYi00IGFydGljbGUtY2FyZC10ZXh0Ij4KICA8dHI+CiAgICA8dGg+UG9saWN5IEluaXRpYXRpdmU8L3RoPgogICAgPHRoPk9iamVjdGl2ZTwvdGg+CiAgICA8dGg+VGFyZ2V0IEF1ZGllbmNlPC90aD4KICAgIDx0aD5JbXBsZW1lbnRhdGlvbiBUaW1lbGluZTwvdGg+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+RWNvbm9taWMgRGV2ZWxvcG1lbnQgUGxhbjwvdGQ+CiAgICA8dGQ+Rm9zdGVyIGluY2x1c2l2ZSBqb2IgY3JlYXRpb24gYW5kIHN1cHBvcnQgc21hbGwgYnVzaW5lc3NlczwvdGQ+CiAgICA8dGQ+U21hbGwgYnVzaW5lc3Mgb3duZXJzICYgdW5kZXJlbXBsb3llZCBpbmRpdmlkdWFsczwvdGQ+CiAgICA8dGQ+MjAyNC0yMDI1PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD5FZHVjYXRpb24gUmVmb3JtPC90ZD4KICAgIDx0ZD5FbmhhbmNlIGZ1bmRpbmcgZm9yIHB1YmxpYyBzY2hvb2xzIGFuZCB1bml2ZXJzaXRpZXM8L3RkPgogICAgPHRkPlN0dWRlbnRzICYgZWR1Y2F0b3JzPC90ZD4KICAgIDx0ZD4yMDIzLTIwMjQ8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPkluZnJhc3RydWN0dXJlIEltcHJvdmVtZW50PC90ZD4KICAgIDx0ZD5VcGdyYWRlIHRyYW5zcG9ydGF0aW9uIGFuZCBicm9hZGJhbmQgYWNjZXNzPC90ZD4KICAgIDx0ZD5SdXJhbCBjb21tdW5pdGllczwvdGQ+CiAgICA8dGQ+MjAyNS0yMDI2PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD5IZWFsdGhjYXJlIEFjY2VzczwvdGQ+CiAgICA8dGQ+RXhwYW5kIE1lZGljYWlkIGFuZCBzdXBwb3J0IG1lbnRhbCBoZWFsdGggc2VydmljZXM8L3RkPgogICAgPHRkPkxvdy1pbmNvbWUgZmFtaWxpZXM8L3RkPgogICAgPHRkPjIwMjQ8L3RkPgogIDwvdHI+CjwvdGFibGU+CjxoMz5Qb2xpY3kgSW5pdGlhdGl2ZXMgYW5kIFByb3Bvc2VkIENoYW5nZXM6IEEgVmlzaW9uIGZvciBOb3J0aCBDYXJvbGluYTwvaDM+PHA+Sm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBhaW1zIHRvIGFkZHJlc3MgY3JpdGljYWwgaXNzdWVzIGZhY2luZyBOb3J0aCBDYXJvbGluYSB0aHJvdWdoIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcG9saWN5IGluaXRpYXRpdmVzLiBIaXMgY2FtcGFpZ24gcmVjb2duaXplcyB0aGUgaW1wb3J0YW5jZSBvZiBlbmdhZ2luZyBibGFjayB2b3RlcnMsIHdobyBwbGF5IGEgc2lnbmlmaWNhbnQgcm9sZSBpbiB0aGUgdXBjb21pbmcgZWxlY3Rpb24uIEFzIHRoZSBwb2xpdGljYWwgbGFuZHNjYXBlIHNoaWZ0cywgU3RlaW4ncyBzdHJhdGVnaWVzIHdpbGwgYmUgY3J1Y2lhbCBpbiBjb3VudGVyaW5nIHRoZSBkaXZpc2l2ZSBwb2xpdGljcyByZW1pbmlzY2VudCBvZiB0aGUgZm9ybWVyIHByZXNpZGVudCBEb25hbGQgVHJ1bXAncyBlcmEuIEJ5IGZvY3VzaW5nIG9uIGluY2x1c2l2aXR5IGFuZCBlcXVpdHksIGhpcyB2aXNpb24gc2Vla3MgdG8gdW5pdGUgYWxsIHZvdGVycyB1bmRlciBhIGNvbW1vbiBnb2FsIG9mIHByb2dyZXNzLjxici8+PGJyLz5UaGUgcHJvcG9zZWQgY2hhbmdlcyB1bmRlciBKb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IGVtcGhhc2l6ZSBlY29ub21pYyBkZXZlbG9wbWVudCwgZWR1Y2F0aW9uLCBhbmQgaGVhbHRoY2FyZSByZWZvcm1zIHRhaWxvcmVkIHRvIHRoZSBuZWVkcyBvZiBOb3J0aCBDYXJvbGluaWFucy4gV2l0aCBhIHN0cm9uZyBjb21taXRtZW50IHRvIHNvY2lhbCBqdXN0aWNlLCBoaXMgcG9saWNpZXMgcmVmbGVjdCBhIGRlZXAgdW5kZXJzdGFuZGluZyBvZiB0aGUgZGl2ZXJzZSBkZW1vZ3JhcGhpY3MgaW4gdGhlIHN0YXRlLiBFbmdhZ2luZyB3aXRoIHZvdGVycyBmcm9tIGFsbCBiYWNrZ3JvdW5kcyB3aWxsIGJlIGtleSB0byBidWlsZGluZyBhIGNvYWxpdGlvbiB0aGF0IGRyaXZlcyBtZWFuaW5nZnVsIGNoYW5nZS4gU3RlaW7igJlzIGFwcHJvYWNoIHByb21pc2VzIHRvIHJlc2hhcGUgdGhlIHBvbGl0aWNhbCBuYXJyYXRpdmUgd2hpbGUgZm9zdGVyaW5nIGFuIGVudmlyb25tZW50IG9mIGNvbGxhYm9yYXRpb24gYW5kIGdyb3d0aC48L3A+CjxoMj5Kb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IHwgS2V5IFRoZW1lcyBpbiBKb3NoIFN0ZWluJ3MgR292ZXJuYW5jZTwvaDI+PHA+Sm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBlbXBoYXNpemVzIGEgc3RyYXRlZ2ljIGFwcHJvYWNoIHRvIGdvdmVybmFuY2UgdGhhdCBhbGlnbnMgY2xvc2VseSB3aXRoIHRoZSBuZWVkcyBvZiBOb3J0aCBDYXJvbGluYSdzIGNpdGl6ZW5zLiBBcyBjaGllZiBhZHZvY2F0ZSBmb3IgdGhlIHN0YXRlJ3MgaW50ZXJlc3RzLCBoZSBlbmdhZ2VzIHdpdGggbGVnaXNsYXRvcnMgdG8gZHJpdmUgaW1wYWN0ZnVsIHBvbGljeSBjaGFuZ2VzLiBIaXMgY2FtcGFpZ24gaGlnaGxpZ2h0ZWQga2V5IGlzc3VlcyB0aGF0IHJlc29uYXRlIHdpdGggdm90ZXJzLCByZXN1bHRpbmcgaW4gYSBzdHJvbmcgc3VwcG9ydCBiYXNlIGF0IHRoZSBwb2xscy4gRWFjaCBkZWNpc2lvbiBhaW1zIHRvIGNyZWF0ZSBhIHBvc2l0aXZlIGVudmlyb25tZW50IGZvciBlY29ub21pYyBncm93dGggYW5kIGNvbW11bml0eSB3ZWxsLWJlaW5nLiBUaGlzIHZpc2lvbiByZWZsZWN0cyB0aGUgZGVkaWNhdGlvbiBvZiBKb3NoIFN0ZWluIC0gT3VyIEdvdmVybm9yLUVsZWN0IHRvIHNlcnZlIGFsbCBjaXRpemVucyB3aGlsZSBhZGRyZXNzaW5nIGNyaXRpY2FsIGNoYWxsZW5nZXMgaW4gdGhlIHN0YXRlLjwvcD4KPGgzPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgfCBQb2xpY3kgUHJpb3JpdGllcyBmb3IgTm9ydGggQ2Fyb2xpbmE8L2gzPjxwPkpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgZW1waGFzaXplcyBhIHN0cm9uZyBjb21taXRtZW50IHRvIHByb2dyZXNzaXZlIHBvbGljeSBwcmlvcml0aWVzIHRoYXQgcmVmbGVjdCB0aGUgbmVlZHMgb2YgYWxsIE5vcnRoIENhcm9saW5pYW5zLiBIaXMgdGVudXJlIGFzIGF0dG9ybmV5IGdlbmVyYWwgaGFzIHVuaXF1ZWx5IHBvc2l0aW9uZWQgaGltIHRvIGFkZHJlc3MgY3J1Y2lhbCBpc3N1ZXMgc3VjaCBhcyBlZHVjYXRpb24sIGhlYWx0aGNhcmUsIGFuZCBlY29ub21pYyBkZXZlbG9wbWVudC4gQXMgaGUgbW92ZXMgZm9yd2FyZCBpbnRvIHRoaXMgbmV3IHJvbGUsIG1hbnkgYXJlIGxvb2tpbmcgYmFjayBhdCB0aGUgeWVhciBvZiBoaXMgY2FtcGFpZ24gYW5kIGFuYWx5emluZyBob3cgaGlzIHBvc2l0aW9ucyBkaWZmZXIgZnJvbSB0aG9zZSBvZiBmb3JtZXIgUHJlc2lkZW50IFRydW1wLiBTdGVpbidzIGFwcHJvYWNoIGZvY3VzZXMgb24gaW5jbHVzaXZpdHkgYW5kIHRyYW5zcGFyZW5jeSwgYWltaW5nIHRvIGJ1aWxkIGEgc3Ryb25nZXIsIG1vcmUgZXF1aXRhYmxlIHN0YXRlLjxici8+PGJyLz5Gb2N1c2luZyBvbiBjb21tdW5pdHkgZW5nYWdlbWVudCwgSm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBzZWVrcyB0byBlbnN1cmUgdGhhdCBldmVyeSBjaXRpemVuIGhhcyBhIHZvaWNlIGluIHRoZSBwb2xpY3ltYWtpbmcgcHJvY2Vzcy4gSGlzIGNvbGxhYm9yYXRpb24gd2l0aCBsZWFkZXJzIGxpa2UgUm9iZXJ0c29uIHN5bWJvbGl6ZXMgYSBkZWRpY2F0aW9uIHRvIGdyYXNzcm9vdHMgZWZmb3J0cyBhbmQgbG9jYWwgc29sdXRpb25zLiBTdGVpbiBwbGFucyB0byBwcmlvcml0aXplIGluaXRpYXRpdmVzIHRoYXQgZm9zdGVyIGVjb25vbWljIGdyb3d0aCwgZW5oYW5jZSBwdWJsaWMgc2FmZXR5LCBhbmQgaW1wcm92ZSBhY2Nlc3MgdG8gZWR1Y2F0aW9uLiBIaXMgdmlzaW9uIGFpbXMgdG8gdHJhbnNmb3JtIE5vcnRoIENhcm9saW5hIGludG8gYSBzdGF0ZSB0aGF0IGNoYW1waW9ucyBvcHBvcnR1bml0eSBhbmQgaW5ub3ZhdGlvbiBmb3IgYWxsIGl0cyByZXNpZGVudHMuPC9wPgo8aDM+VmlzaW9uIGZvciBFY29ub21pYyBEZXZlbG9wbWVudDwvaDM+PHA+Sm9zaCBTdGVpbiAtIE91ciBHb3Zlcm5vci1FbGVjdCBoYXMgYXJ0aWN1bGF0ZWQgYSBjbGVhciB2aXNpb24gZm9yIGVjb25vbWljIGRldmVsb3BtZW50IHRoYXQgZW1waGFzaXplcyBpbmNsdXNpdml0eSBhbmQgaW5ub3ZhdGlvbi4gQXMgaGUgY2FtcGFpZ25zIHRvIGJlY29tZSB0aGUgbmV4dCBnb3Zlcm5vciwgU3RlaW4gcmVjb2duaXplcyB0aGUgaW1wb3J0YW5jZSBvZiBhZGRyZXNzaW5nIHRoZSBuZWVkcyBvZiBhbGwgY2l0aXplbnMsIGluY2x1ZGluZyBtYXJnaW5hbGl6ZWQgY29tbXVuaXRpZXMuIEhpcyBjb21taXRtZW50IHRvIGZvc3RlcmluZyBlY29ub21pYyBvcHBvcnR1bml0aWVzIHdpbGwgYmUgY3J1Y2lhbCBpbiBhIHN0YXRlIHdoZXJlIGd1YmVybmF0b3JpYWwgcmFjZXMgaGF2ZSBoaXN0b3JpY2FsbHkgc2VlbiBsaW1pdGVkIHJlcHJlc2VudGF0aW9uLiBCeSBwcmlvcml0aXppbmcgZ3Jvd3RoIHN0cmF0ZWdpZXMgdGhhdCBiZW5lZml0IGV2ZXJ5b25lLCBTdGVpbiBhaW1zIHRvIHBvc2l0aW9uIE5vcnRoIENhcm9saW5hIGFzIGEgbGVhZGVyIGluIHRoZSBldmVyLWV2b2x2aW5nIGVjb25vbWljIGxhbmRzY2FwZS48YnIvPjxici8+U3RlaW4ncyBhcHByb2FjaCBpbnZvbHZlcyBsZXZlcmFnaW5nIE5vcnRoIENhcm9saW5h4oCZcyBkaXZlcnNlIGFzc2V0cyB0byBhdHRyYWN0IG5ldyBpbmR1c3RyaWVzIHdoaWxlIHN1cHBvcnRpbmcgZXhpc3RpbmcgYnVzaW5lc3Nlcy4gVGhlIGNhbmRpZGF0ZSBiZWxpZXZlcyB0aGF0IGNyZWF0aW5nIGEgcm9idXN0IHdvcmtmb3JjZSBpcyBlc3NlbnRpYWwgZm9yIHN1c3RhaW5hYmxlIGdyb3d0aC4gSGlzIGZvY3VzIG9uIGVkdWNhdGlvbiBhbmQgd29ya2ZvcmNlIHRyYWluaW5nIHdpbGwgZW1wb3dlciBpbmRpdmlkdWFscyB0byB0aHJpdmUgaW4gYSBjb21wZXRpdGl2ZSBtYXJrZXQuIEFzIHRoZSBmaXJzdCBibGFjayBnb3Zlcm5vciBvZiBOb3J0aCBDYXJvbGluYSwgaGlzIGxlYWRlcnNoaXAgcHJvbWlzZXMgdG8gaW5zcGlyZSBhIG5ldyBnZW5lcmF0aW9uIG9mIGVudHJlcHJlbmV1cnMgYW5kIHdvcmtlcnMsIHBhdmluZyB0aGUgd2F5IGZvciBhIG1vcmUgcHJvc3Blcm91cyBmdXR1cmUgZm9yIGFsbCByZXNpZGVudHMuIEpvc2ggU3RlaW4gLSBPdXIgR292ZXJub3ItRWxlY3QgaXMgcG9pc2VkIHRvIHRyYW5zZm9ybSB0aGUgZWNvbm9taWMgZmFicmljIG9mIHRoZSBzdGF0ZSB3aXRoIGhpcyBmb3J3YXJkLXRoaW5raW5nIHBvbGljaWVzLjwvcD4KPGgyPkZBUVM8L2gyPjxoMz5Ib3cgZGlkIEpvc2ggU3RlaW4gbWFuYWdlIHRvIGJlY29tZSB0aGUgZ292ZXJub3ItZWxlY3QgZGVzcGl0ZSBvcHBvc2l0aW9uIGZyb20gUmVwdWJsaWNhbnM/PC9oMz48cD5Kb3NoIFN0ZWluJ3MgdmljdG9yeSBjYW4gYmUgYXR0cmlidXRlZCB0byBhIGNvbWJpbmF0aW9uIG9mIGZhY3RvcnMsIGluY2x1ZGluZyBoaXMgc3Ryb25nIGNhbXBhaWduIHN0cmF0ZWd5LCB0aGUgc3VwcG9ydCBvZiB2b3RlcnMgd2hvIHR1cm5lZCBvdXQgaW4gc2lnbmlmaWNhbnQgbnVtYmVycywgYW5kIGhpcyBhYmlsaXR5IHRvIGNvbm5lY3Qgd2l0aCB0aGUgZWxlY3RvcmF0ZSBvbiBrZXkgaXNzdWVzLiBPdmVyIHRoZSBtb250aHMgU3RlaW4gY2FtcGFpZ25lZCwgaGUgZm9jdXNlZCBvbiB0b3BpY3MgdGhhdCByZXNvbmF0ZWQgd2l0aCBjb25zdGl0dWVudHMgaW4gRnJhbmtsaW4sIHdoaWNoIGhlbHBlZCBoaW0gZ2FsdmFuaXplIHN1cHBvcnQuIEluIHRoZSBnZW5lcmFsIGVsZWN0aW9uLCBoZSBvdXRwZXJmb3JtZWQgZXhwZWN0YXRpb25zIGFzIHRoZSBub21pbmVlIGFuZCBiZWF0IGhpcyBvcHBvbmVudHMsIHNlY3VyaW5nIGEgc3Vic3RhbnRpYWwgbnVtYmVyIG9mIHZvdGVzLCBldmVuIGFtaWRzdCB0aGUgYmFja2Ryb3Agb2YgbmF0aW9uYWwgcG9saXRpY3MgaW52b2x2aW5nIHRoZSBwcmVzaWRlbnQgb2YgdGhlIFVuaXRlZCBTdGF0ZXMuIEFzIFN0ZWluIGJlZ2lucyBoaXMgdGVybSwgaGUgZmFjZXMgY2hhbGxlbmdlcyBidXQgYWxzbyBvcHBvcnR1bml0aWVzIGZvciBwcm9ncmVzcyBpbiBOb3J0aCBDYXJvbGluYS48L3A+PGgzPldoYXQgc3RyYXRlZ2llcyBkaWQgSm9zaCBTdGVpbiB1dGlsaXplIHRvIGVuc3VyZSBoZSB3YXMgZWxlY3RlZCBhcyB0aGUgbm9taW5lZSBhbmQgdWx0aW1hdGVseSBiZWF0IHRoZSBSZXB1YmxpY2FucyBpbiB0aGUgZ292ZXJub3IgcmFjZT88L2gzPjxwPkpvc2ggU3RlaW4gZm9jdXNlZCBvbiBncmFzc3Jvb3RzIGNhbXBhaWduaW5nIGFuZCBlbmdhZ2luZyB3aXRoIGxvY2FsIGNvbW11bml0aWVzLCB3aGljaCBoZWxwZWQgaGltIGNvbm5lY3Qgd2l0aCB2b3RlcnMgYWNyb3NzIHRoZSBzdGF0ZS4gSGlzIHZpc2lvbiBmb3IgdGhlIGZ1dHVyZSByZXNvbmF0ZWQgd2l0aCBtYW55LCBhbGxvd2luZyBoaW0gdG8gZ2FpbiBzdXBwb3J0IHRoYXQgdWx0aW1hdGVseSBsZWQgdG8gaGlzIGVsZWN0aW9uLiBPdmVyIHRoZSBjb3Vyc2Ugb2YgdGhlIGNhbXBhaWduLCBTdGVpbidzIHN0cm9uZyBzdGFuY2Ugb24ga2V5IGlzc3VlcyBzZWN1cmVkIGhpbSB0aGUgbmVjZXNzYXJ5IHZvdGVzIHRvIGJlYXQgdGhlIFJlcHVibGljYW5zIGFuZCBtYWludGFpbiBhIHByb21pbmVudCBwb3NpdGlvbiBhcyB0aGUgZ292ZXJub3ItZWxlY3QuPC9wPjxoMz5XaGF0IHdlcmUgdGhlIGtleSBmYWN0b3JzIHRoYXQgY29udHJpYnV0ZWQgdG8gSm9zaCBTdGVpbiBiZWluZyBlbGVjdGVkIGFzIHRoZSBub21pbmVlIGFuZCB1bHRpbWF0ZWx5IGJlYXRpbmcgdGhlIFJlcHVibGljYW5zIGluIGhpcyBndWJlcm5hdG9yaWFsIHJhY2U/PC9oMz48cD5Kb3NoIFN0ZWluIHN1Y2Nlc3NmdWxseSByYW4gYSBjYW1wYWlnbiB0aGF0IGZvY3VzZWQgb24gaW1wb3J0YW50IGlzc3VlcyBmb3Igdm90ZXJzLCBidWlsZGluZyBhIGJyb2FkIGNvYWxpdGlvbiBvZiBzdXBwb3J0LCBhbmQgbGV2ZXJhZ2luZyBoaXMgZXhwZXJpZW5jZS4gSGlzIGFiaWxpdHkgdG8gbW9iaWxpemUgdm90ZXJzIGFuZCBjb21tdW5pY2F0ZSBlZmZlY3RpdmVseSBwbGF5ZWQgYSBzaWduaWZpY2FudCByb2xlIGluIHNlY3VyaW5nIGhpcyBwb3NpdGlvbiBhcyB0aGUgbm9taW5lZS4gVWx0aW1hdGVseSwgdGhlc2Ugc3RyYXRlZ2llcyBjb250cmlidXRlZCB0byBoaXMgc3VjY2VzcyBpbiB0aGUgZWxlY3Rpb24sIGFsbG93aW5nIGhpbSB0byBiZSBlbGVjdGVkIGFuZCBhY2hpZXZlIGhpcyB0ZXJtIGFzIGdvdmVybm9yLjwvcD48aDM+V2hhdCBmYWN0b3JzIHBsYXllZCBhIHJvbGUgaW4gSm9zaCBTdGVpbidzIHRlcm0gYXMgbm9taW5lZSB0byBiZWF0IGhpcyBSZXB1YmxpY2FuIG9wcG9uZW50IGluIHRoZSBnb3Zlcm5vciByYWNlPzwvaDM+PHA+RHVyaW5nIGhpcyBjYW1wYWlnbiwgdmFyaW91cyBlc3NlbnRpYWwgZmFjdG9ycyBjb250cmlidXRlZCB0byBKb3NoIFN0ZWluJ3Mgc3VjY2VzcyBpbiBzZWN1cmluZyB0aGUgbm9taW5lZSBwb3NpdGlvbiBhbmQgdWx0aW1hdGVseSBiZWF0aW5nIHRoZSBSZXB1YmxpY2FucyBpbiB0aGUgZ292ZXJub3IgcmFjZS4gSGlzIHN0cmF0ZWdpYyBhcHByb2FjaCwgaW5jbHVkaW5nIGZvY3VzaW5nIG9uIGtleSBpc3N1ZXMgaW1wb3J0YW50IHRvIHZvdGVycywgZWZmZWN0aXZlbHkgY29tbXVuaWNhdGluZyBoaXMgdmlzaW9uLCBhbmQgYnVpbGRpbmcgYSBzdHJvbmcgZ3Jhc3Nyb290cyBuZXR3b3JrLCBlbXBoYXNpemVkIGhpcyBzdHJlbmd0aHMgYXMgYSBjYW5kaWRhdGUuIFRoZSBzdXBwb3J0IGZyb20gZGl2ZXJzZSB2b3RlciBkZW1vZ3JhcGhpY3MgYWxzbyBwbGF5ZWQgYSBzaWduaWZpY2FudCByb2xlIGluIGhpcyB0ZXJtIGFzIG5vbWluZWUgdG8gYmVhdCBoaXMgUmVwdWJsaWNhbiBvcHBvbmVudC48L3A+PGgzPkhvdyBkaWQgSm9zaCBTdGVpbiBhcHByb2FjaCBoaXMgdGVybSBhcyBub21pbmVlIHRvIGVmZmVjdGl2ZWx5IGJlYXQgaGlzIFJlcHVibGljYW4gb3Bwb25lbnQgaW4gdGhlIGdvdmVybm9yIHJhY2U/PC9oMz48cD5Kb3NoIFN0ZWluJ3MgdGVybSBhcyBub21pbmVlIHdhcyBjaGFyYWN0ZXJpemVkIGJ5IHN0cmF0ZWdpYyBjYW1wYWlnbmluZywgZm9jdXNlZCBtZXNzYWdpbmcsIGFuZCBncmFzc3Jvb3RzIHN1cHBvcnQgdGhhdCBlbmFibGVkIGhpbSB0byBiZWF0IGhpcyBSZXB1YmxpY2FuIG9wcG9uZW50IGluIHRoZSBnb3Zlcm5vciByYWNlLiBIaXMgYWJpbGl0eSB0byBhcnRpY3VsYXRlIGhpcyB2aXNpb24gYW5kIGNvbm5lY3Qgd2l0aCB2b3RlcnMgcGxheWVkIGEgc2lnbmlmaWNhbnQgcm9sZSBpbiB0aGUgc3VjY2VzcyBvZiBoaXMgY2FtcGFpZ24sIGFsb25nc2lkZSBlZmZlY3RpdmUgb3V0cmVhY2ggZWZmb3J0cyB0aGF0IHJlc29uYXRlZCB3aXRoIHRoZSBlbGVjdG9yYXRlLjwvcD48aDM+V2hhdCB3YXMgc2lnbmlmaWNhbnQgYWJvdXQgdGhlIHRlcm0gb2YgSm9zaCBTdGVpbiBhcyBhIG5vbWluZWUgaW4gaGlzIGVmZm9ydHMgdG8gYmVhdCB0aGUgb3Bwb3NpdGlvbiBpbiB0aGUgZ292ZXJub3IgcmFjZT88L2gzPjxwPkpvc2ggU3RlaW4ncyB0ZXJtIGFzIHRoZSBub21pbmVlIHdhcyBjcnVjaWFsIGluIGhpcyBjYW1wYWlnbiBzdHJhdGVneSB0byBiZWF0IGhpcyBSZXB1YmxpY2FuIG9wcG9uZW50LCBhcyBoZSBmb2N1c2VkIG9uIGNvbW11bml0eSBlbmdhZ2VtZW50IGFuZCBhZGRyZXNzaW5nIGtleSBpc3N1ZXMuIEhpcyBhYmlsaXR5IHRvIHJlc29uYXRlIHdpdGggdm90ZXJzIHBsYXllZCBhIHNpZ25pZmljYW50IHJvbGUgaW4gaGlzIHN1Y2Nlc3MgYXMgaGUgYWltZWQgdG8gY3JlYXRlIGEgc3Ryb25nIHBsYXRmb3JtIHRoYXQgY2xlYXJseSBkaWZmZXJlbnRpYXRlZCBoaW0gZnJvbSBoaXMgb3Bwb3NpdGlvbi4gT3ZlcmFsbCwgU3RlaW4ncyB0ZXJtIGFzIG5vbWluZWUgY29udHJpYnV0ZWQgZ3JlYXRseSB0byBoaXMgdmljdG9yeSBpbiB0aGUgcmFjZSwgc29saWRpZnlpbmcgaGlzIHBvc2l0aW9uIGluIHRoZSBwb2xpdGljYWwgbGFuZHNjYXBlIGFuZCBzaG93Y2FzaW5nIGhpcyBjb21taXRtZW50IHRvIHRoZSBjb25zdGl0dWVudHMuPC9wPjxoMz5XaGF0IGFzcGVjdHMgb2YgSm9zaCBTdGVpbidzIHRlcm0gYXMgdGhlIG5vbWluZWUgd2VyZSBwaXZvdGFsIGluIGVuYWJsaW5nIGhpbSB0byBiZWF0IGhpcyBSZXB1YmxpY2FuIG9wcG9uZW50IGluIHRoZSBnb3Zlcm5vciByYWNlPzwvaDM+PHA+Sm9zaCBTdGVpbidzIHRlcm0gYXMgdGhlIG5vbWluZWUgd2FzIG1hcmtlZCBieSBzaWduaWZpY2FudCBzdHJhdGVnaWVzIHRoYXQgY29udHJpYnV0ZWQgdG8gaGlzIHN1Y2Nlc3MgaW4gYmVhdGluZyBoaXMgUmVwdWJsaWNhbiBvcHBvbmVudC4gVGhlc2UgaW5jbHVkZWQgZWZmZWN0aXZlIGNhbXBhaWduaW5nLCBncmFzc3Jvb3RzIG1vYmlsaXphdGlvbiwgYW5kIGFkZHJlc3Npbmcga2V5IGlzc3VlcyB0aGF0IHJlc29uYXRlZCB3aXRoIHZvdGVycywgYWxsIG9mIHdoaWNoIGhlbHBlZCBzb2xpZGlmeSB0aGUgc3VwcG9ydCBoZSBuZWVkZWQgdG8gd2luIHRoZSBlbGVjdGlvbi4gVGhlIGNvbWJpbmF0aW9uIG9mIHRoZXNlIGVsZW1lbnRzIHBsYXllZCBhIGNydWNpYWwgcm9sZSBpbiBjcmVhdGluZyBhIHN0cm9uZyBmb3VuZGF0aW9uIGZvciBTdGVpbidzIHRlcm0gYXMgaGUgYWltZWQgdG8gYmUgdGhlIG5vbWluZWUgYW5kIHVsdGltYXRlbHkgYmVhdCB0aGUgb3Bwb3NpdGlvbi48L3A+PGgzPldoYXQgYXJlIHNvbWUgaW1wb3J0YW50IGFjaGlldmVtZW50cyB0aGF0IGRlZmluZSBKb3NoIFN0ZWluJ3MgdGVybSBhcyBnb3Zlcm5vci1lbGVjdCwgcGFydGljdWxhcmx5IGluIHJlbGF0aW9uIHRvIGhpcyByb2xlIGFzIGEgbm9taW5lZSB3aG8gc3VjY2Vzc2Z1bGx5IGJlYXQgb3Bwb3NpdGlvbj88L2gzPjxwPkR1cmluZyBoaXMgdGVybSwgSm9zaCBTdGVpbiBmb2N1c2VkIG9uIGltcG9ydGFudCBpbml0aWF0aXZlcyBzdWNoIGFzIGhlYWx0aGNhcmUgcmVmb3JtIGFuZCBlZHVjYXRpb24gZnVuZGluZywgd2hpY2ggaGVscGVkIGhpbSBhcyBhIG5vbWluZWUgYmVhdCBjaGFsbGVuZ2VzIGZyb20gdGhlIFJlcHVibGljYW4gb3Bwb3NpdGlvbi4gSGlzIGxlYWRlcnNoaXAgYW5kIGNvbW1pdG1lbnQgdG8gY29tbXVuaXR5IGlzc3VlcyB3ZXJlIGVzc2VudGlhbCBpbiBzb2xpZGlmeWluZyBoaXMgc3VwcG9ydCBhbW9uZyB2b3RlcnMsIGRlbW9uc3RyYXRpbmcgdGhhdCBhIHN0cm9uZyBmb2N1cyBvbiBsb2NhbCBuZWVkcyBjb3VsZCBlZmZlY3RpdmVseSByZXNvbmF0ZSBkdXJpbmcgaGlzIGNhbXBhaWduLjwvcD48aDM+V2hhdCBhY2NvbXBsaXNobWVudHMgZHVyaW5nIEpvc2ggU3RlaW4ncyB0ZXJtIGFzIGdvdmVybm9yLWVsZWN0IGhpZ2hsaWdodCBoaXMgZWZmZWN0aXZlbmVzcyBpbiBvZmZpY2U/PC9oMz48cD5EdXJpbmcgaGlzIHRlcm0sIFN0ZWluIGFjaGlldmVkIHNpZ25pZmljYW50IHByb2dyZXNzIGluIGFyZWFzIHN1Y2ggYXMgaGVhbHRoY2FyZSBhbmQgZWR1Y2F0aW9uLCBzaG93Y2FzaW5nIGhpcyBhYmlsaXR5IHRvIGxlYWQgZWZmZWN0aXZlbHkuIEhpcyBpbml0aWF0aXZlcyBub3Qgb25seSBpbXBhY3RlZCB0aGUgc3RhdGUgcG9zaXRpdmVseSBidXQgYWxzbyByZWluZm9yY2VkIHRoZSBzdHJlbmd0aCBvZiBoaXMgdGVybSwgZGVtb25zdHJhdGluZyB0aGF0IFN0ZWluJ3MgbGVhZGVyc2hpcCBhcyBhIG5vbWluZWUgdG8gYmVhdCBvcHBvc2l0aW9uIHRyYW5zbGF0ZXMgaW50byB0YW5naWJsZSBiZW5lZml0cyBmb3IgdGhlIGNvbW11bml0eS48L3A+PGgzPldoYXQgaW1wYWN0IGRpZCBKb3NoIFN0ZWluJ3MgbGVhZGVyc2hpcCBoYXZlIG9uIGhpcyB0ZXJtIGFzIGdvdmVybm9yLWVsZWN0IGFuZCBob3cgZGlkIGl0IGluZmx1ZW5jZSBwZXJjZXB0aW9ucyBvZiBTdGVpbnN0ZWluPzwvaDM+PHA+Sm9zaCBTdGVpbidzIGxlYWRlcnNoaXAgZHVyaW5nIGhpcyB0ZXJtIGFzIGdvdmVybm9yLWVsZWN0IGZvY3VzZWQgb24gY29tbXVuaXR5IGVuZ2FnZW1lbnQgYW5kIHRyYW5zcGFyZW5jeSwgd2hpY2ggcG9zaXRpdmVseSBpbmZsdWVuY2VkIHB1YmxpYyBwZXJjZXB0aW9ucyBvZiB0aGUgc3RlaW4gdGVybSBhbmQgc29saWRpZmllZCBoaXMgcG9zaXRpb24gd2l0aGluIHRoZSBjb21tdW5pdHkuIFRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZXNlIHN0cmF0ZWdpZXMgcmVpbmZvcmNlZCB0aGUgaW1hZ2Ugb2YgU3RlaW5zdGVpbiBhcyBhIGR5bmFtaWMgbGVhZGVyIGNvbW1pdHRlZCB0byB0aGUgaW50ZXJlc3RzIG9mIGhpcyBjb25zdGl0dWVudHMuPC9wPg==