www.shorelinememorial.com
Open in
urlscan Pro
44.215.167.105
Public Scan
Submitted URL: http://www.shorelinememorial.com:443/
Effective URL: https://www.shorelinememorial.com/
Submission: On April 04 via api from US — Scanned from US
Effective URL: https://www.shorelinememorial.com/
Submission: On April 04 via api from US — Scanned from US
Form analysis
1 forms found in the DOM/Forms/DynamicForm
<form class="dynamic-form obituary-subs clearfix" action="/Forms/DynamicForm">
<input type="hidden" name="domainId" id="domainId" value="d60f6c0d-88e1-4bac-948f-d8e3156951af">
<div>
<input type="text" class="obituary-subs-name fun-form-control watermark" placeholder="Name" title="Name">
<input type="text" class="obituary-subs-email fun-form-control watermark" placeholder="Email Address" title="Email Address">
</div>
<input type="submit" class="fun-button primary" onclick="dynSubscribeToObituaryEmails(this, '/FunHelper/SubscribeToObituaryEmails', $(this).closest('.obituary-subs').find('#domainId').val()); return false;" value="Subscribe" role="button"
aria-disabled="false">
</form>
Text Content
Send Flowers Toggle navigation * * Home * Obituaries * Services * When Death Occurs * General Price List * Burial Pricing * Cremation Pricing * Personalization * Payment Center * Preplan * Why Plan Ahead * Preplanning Checklist * Preplan Online * Resources * Resources * Honoring Veterans * Grief Support * Social Security Benefits * Who We Are * Facilities * Staff * Testimonials * Headstones & Monuments * Contact * Muskegon, MI * Whitehall, MI * * Send Flowers * Loading... 1. 2. 3. 4. 5. Previous Next Previous Next Previous Next Previous Next Previous Next SERVING MUSKEGON, WHITE LAKE AND SURROUNDING AREAS Shoreline Memorial Services is the areas newest and most economical full service funeral provider. Whether you are thinking about a basic cremation or a traditional service, we can help. We will give you over 45 years of combined experience in helping you select the right choices at such a difficult time. If you are looking for relevant information to help you make an informed choice done in a compassionate way, then you have come to the right provider. Our website is designed to give you information about us, as well as to be a useful tool for you. Please use it and the forms and links provided. Remember, from cremations and alternative funerals, to more traditional services we are here to help. Call us anytime 24/7 or drop us an email. We promise there will never be any "sales" pressure from us. Simply put, we will give you the best service and prices no matter what you choose. Honoring my Dad’s service meant a lot to me and I wanted to say “THANK YOU” from the bottom of my heart. Sylvia & Dave – Whitehall Thank you for helping my family through such a hard time. We appreciate you so much. Karen; Muskegon Thank you for making my wife’s funeral so beautiful. You took care of everything we needed and we all appreciated how professional you were. Ken & Family – Norton Shores View All Testimonials RECENT OBITUARIES ROBERT MARTIN REESE CHARLES ERNEST RUMPPE MARGO A. WATSON DIANE S. CARLSON HELEN CLEO SANDER GARY DAILEY GAULTNEY MARION LOUISE PALMER DANIEL C. BRAMER LESLIE "LES" Q. ADKINS JEFFREY LOUIS KAULE BEVERLY JOHNSON ROCHELLE LEIGH HOUGHTALING RANDY L. CARNES TIFFANY J. BREWSTER LOUISE J. GILLISH KENNETH LEE DEKAM CAROL E. HOLLAR WILLIAM JAMES ROOT JUDITH ANN SANTOS LARRY CHARLES RANSOM prev next View All Show your support Order Flowers We offer a full range of gifts to help comfort and support those who need it the most delivered direct from your local florist. Shop Now HOW WE CAN HELP WHEN DEATH OCCURS Learn more WHY PLAN AHEAD Learn more SOCIAL SECURITY BENEFITS Learn more TESTIMONIALS Learn more OBITUARY NOTIFICATIONS OUR LOCATIONS Shoreline Memorial Services - Muskegon 137 E. Laketon Ave. Muskegon, MI 49442 Phone: (231) 722-5050 Fax: (231) 563-6571 Get directions Shoreline Memorial Services - Muskegon 137 E. Laketon Ave. Muskegon, MI 49442 Phone: (231) 722-5050 Fax: (231) 563-6571 DRIVING DIRECTIONS From: OUR LOCATIONS Shoreline Memorial Services - Whitehall 816 S. Mears Ave. Whitehall, MI 49461 Phone: (231) 893-5300 Fax: (231) 292-1628 Get directions Shoreline Memorial Services - Whitehall 816 S. Mears Ave. Whitehall, MI 49461 Phone: (231) 893-5300 Fax: (231) 292-1628 DRIVING DIRECTIONS From: 1. 2. Shoreline Memorial Services - Muskegon (231) 722-5050 Fax: (231) 563-6571 137 E. Laketon Ave., Muskegon, MI 49442 Get Directions Shoreline Memorial Services - Whitehall (231) 893-5300 Fax: (231) 292-1628 816 S. Mears Ave., Whitehall, MI 49461 Get Directions -------------------------------------------------------------------------------- © Shoreline Memorial Services Crafted with care by Frazer Consultants and TA Privacy Policy & Terms of Use | Accessibility PHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgUHJpdmFjeSBQb2xpY3k8L3N0cm9uZz48L3A+DQo8cD48ZW0+TGFzdCB1cGRhdGVkOiBBcHJpbCAyMCwgMjAyMzwvZW0+PGJyPjxicj5UcmlidXRlIFRlY2hub2xvZ3kgaXMgY29tbWl0dGVkIHRvIHByb3RlY3RpbmcgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gVGhpcyBQcml2YWN5IE5vdGljZSBkZXNjcmliZXMgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgY29sbGVjdCBhYm91dCB5b3UsIGhvdyB3ZSB1c2UgYW5kIGRpc2Nsb3NlIHRoaXMgaW5mb3JtYXRpb24sIGFuZCB0aGUgc3RlcHMgd2UgdGFrZSB0byBwcm90ZWN0IHRoaXMgaW5mb3JtYXRpb24uIEZvciBwdXJwb3NlcyBvZiB0aGlzIFByaXZhY3kgTm90aWNlLCAoYSkgJmxkcXVvO3BlcnNvbmFsIGluZm9ybWF0aW9uJnJkcXVvOyBtZWFucyBhbnkgaW5mb3JtYXRpb24gdGhhdCByZWxhdGVzIHRvIHlvdSBhcyBhbiBpbmRpdmlkdWFsIGFuZCBjb3VsZCByZWFzb25hYmx5IGJlIHVzZWQgdG8gaWRlbnRpZnkgeW91IGFuZCAoYikgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSwmcmRxdW87ICZsZHF1bzt3ZSwmcmRxdW87ICZsZHF1bzt1cyZyZHF1bzsgYW5kICZsZHF1bztvdXImcmRxdW87IGVhY2ggcmVmZXIgdG8gdGhlIGxlZ2FsIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlICZsZHF1bztBcHBsaWNhYmxlIEVudGl0eSZyZHF1bzsgc2VjdGlvbiB0aGlzIFByaXZhY3kgTm90aWNlIGJlbG93LiBUaGlzIFByaXZhY3kgTm90aWNlIGFwcGxpZXMgdG8gb3VyIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aHJvdWdoIHRoaXMgd2Vic2l0ZSBhbmQgYW55IHJlbGF0ZWQgd2Vic2l0ZXMsIGFwcGxpY2F0aW9ucywgdG9vbHMsIG9yIHBsYXRmb3JtcyAodGhlICZsZHF1bztTZXJ2aWNlcyZyZHF1bzspLCBhcyB3ZWxsIGFzIHRocm91Z2ggYW55IG90aGVyIG1lYW5zIHdoZXJlIGEgbGluayBvciByZWZlcmVuY2UgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBpcyBwcm92aWRlZCBhdCB0aGUgdGltZSBvZiBjb2xsZWN0aW9uLjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5PdXIgU2VydmljZXM8L3N0cm9uZz48L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5JnJzcXVvO3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGxpZmUgaW5zdXJhbmNlIGFzc2lnbm1lbnRzLCBzZWFyY2ggZW5naW5lIG9wdGltaXphdGlvbiwgbWFya2V0aW5nIGFuZCBlY29tbWVyY2Ugc2VydmljZXMsIHRvIGZ1bmVyYWwgaG9tZXMgYW5kIG90aGVyIGZ1bmVyYWwgcHJvZmVzc2lvbmFscyAob3VyICZsZHF1bztDbGllbnRzJnJkcXVvOykuIEluIGNvbm5lY3Rpb24gd2l0aCB0aGlzIGZhY2V0IG9mIFRyaWJ1dGUgVGVjaG5vbG9neSZyc3F1bztzIGJ1c2luZXNzLCBUcmlidXRlIFRlY2hub2xvZ3kgY29sbGVjdHMgYW5kIHN0b3JlcyBwZXJzb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgaW5kaXZpZHVhbHMgd2hvIHZpc2l0IGFuZCB1dGlsaXplIGNlcnRhaW4gZnVuY3Rpb25zIG9yIGZlYXR1cmVzIG9mIG91ciBhbmQgb3VyIENsaWVudHMmcnNxdW87IHdlYnNpdGVzICgmbGRxdW87RW5kIFVzZXJzJnJkcXVvOykuIFRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgQ2xpZW50IGFuZCBFbmQgVXNlciBwZXJzb25hbCBpbmZvcm1hdGlvbiBidXQgbm90IHRvIG91ciBDbGllbnRzJnJzcXVvOyBvciBhbnkgb3RoZXIgdGhpcmQgcGFydHkmcnNxdW87cyBjb2xsZWN0aW9uIG9yIHVzZSBvZiBzdWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uLjxicj48YnI+VHJpYnV0ZSBUZWNobm9sb2d5IGFsc28gbWFpbnRhaW5zIGEgd2ViIHJlcG9zaXRvcnksIHRoZSBUcmlidXRlIEFyY2hpdmUsIGNvbnRhaW5pbmcgb2JpdHVhcmllcywgYSBsaXN0aW5nIG9mIGZ1bmVyYWwgaG9tZXMsIGFuZCBvdGhlciBmdW5lcmFsLXJlbGF0ZWQgY29udGVudCBpbiBjb25uZWN0aW9uIHdpdGggd2hpY2ggcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIGNvbGxlY3RlZCBmcm9tIGluZGl2aWR1YWxzICgmbGRxdW87VHJpYnV0ZSBVc2VycyZyZHF1bzspLiBUaGlzIFByaXZhY3kgTm90aWNlIGFsc28gYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gZnJvbSBUcmlidXRlIFVzZXJzIGFuZCBvdGhlciBpbmRpdmlkdWFscyB3aG8gaW50ZXJhY3QgZGlyZWN0bHkgd2l0aCBUcmlidXRlIFRlY2hub2xvZ3kuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5QZXJzb25hbCBJbmZvcm1hdGlvbiBXZSBDb2xsZWN0PC9zdHJvbmc+PC9wPg0KPHA+PGJyPldoZW4geW91IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzIG9yIG90aGVyd2lzZSBpbnRlcmFjdCB3aXRoIHVzLCB3aGV0aGVyIGFzIGEgQ2xpZW50LCBFbmQgVXNlciwgVHJpYnV0ZSBVc2VyIG9yIG90aGVyIGluZGl2aWR1YWwsIHdlIG1heSBjb2xsZWN0IGNlcnRhaW4gY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB5b3UgZnJvbSBhIHZhcmlldHkgb2Ygc291cmNlcy48YnI+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIHlvdSBkaXJlY3RseSBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5Db250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5QYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkFjY291bnQgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYW5kIHRyYW5zYWN0aW9uIGhpc3RvcnkpPC9saT4NCjxsaT5Db21tdW5pY2F0aW9ucyAoZm9yIGV4YW1wbGUsIHN1Ym1pdHRlZCBxdWVzdGlvbnMgb3Igb3RoZXIgcG9zdHMsIG1hcmtldGluZyBwcmVmZXJlbmNlcyBhbmQgdXNlciBnZW5lcmF0ZWQgY29udGVudCBsaWtlIHBob3RvcyBhbmQgdmlkZW9zKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IHVzZSB0aGUgU2VydmljZXMgaW5jbHVkZTo8L3A+DQo8dWw+DQo8bGk+VGVjaG5pY2FsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgYnJvd3NlciB0eXBlLCBJUCBhZGRyZXNzLCBjb29raWVzLCBhbmQgb3BlcmF0aW5nIHN5c3RlbSk8L2xpPg0KPGxpPlVzYWdlIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGFnZXMgdmlzaXRlZCwgc2VhcmNoIHRlcm1zIGVudGVyZWQsIGFuZCBmcmVxdWVuY3kgb2YgdmlzaXRzKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIG90aGVyIHNvdXJjZXMsIGluY2x1ZGluZyBmcm9tIG91ciBDbGllbnRzIGluIGNvbm5lY3Rpb24gd2l0aCB0aGVpciB1c2Ugb2YgdGhlIFNlcnZpY2VzLCBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQo8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCjwvdWw+DQo8cD48YnI+V2UgdXNlIEdvb2dsZSBBbmFseXRpY3MgdG8gY29sbGVjdCBhbmQgYW5hbHl6ZSBpbmZvcm1hdGlvbiBhYm91dCB1c2Ugb2YgdGhlIFNlcnZpY2VzIGFuZCB0byBoZWxwIHVzIHVuZGVyc3RhbmQgYWN0aXZpdGllcyBhbmQgdHJlbmRzLiBUaGlzIGluY2x1ZGVzIHVzZSBvZiBHb29nbGUgQW5hbHl0aWNzIHBlcmZvcm1hbmNlIHJlcG9ydHMgcmVsYXRpbmcgdG8gZGVtb2dyYXBoaWNzIGFuZCBpbnRlcmVzdHMuIEFzIHBhcnQgb2YgdGhpcyBzZXJ2aWNlLCB3ZSBzaGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIHdpdGggR29vZ2xlIEFuYWx5dGljcy4gWW91IG1heSBvcHQtb3V0IG9mIEdvb2dsZSBBbmFseXRpY3MgYnkgaW5zdGFsbGluZyBhIEdvb2dsZSBBbmFseXRpY3Mgb3B0LW91dCBicm93c2VyIGFkZC1vbiBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGhlcmU6Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dCI+aHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dDwvYT4uPGJyPjxicj5GaW5hbGx5LCB3ZSBtYXkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwdXJzdWFudCB0byBhIGxlZ2FsIG9yIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50LCBhbmQgZmFpbHVyZSB0byBwcm92aWRlIHN1Y2ggaW5mb3JtYXRpb24gbWF5IGltcGFjdCBvdXIgYWJpbGl0eSB0byBmdWxmaWxsIG91ciBvYmxpZ2F0aW9ucy48L3A+DQo8cD48c3Ryb25nPiZuYnNwOzwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+SG93IFdlIFVzZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSB1c2UgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgZm9yIHRoZSBmb2xsb3dpbmcgcHVycG9zZXM6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+UHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb3ZpZGUgYW5kIGltcHJvdmUgdGhlIFNlcnZpY2VzLCBpbmNsdWRpbmcgdG8gZnVsZmlsbCB5b3VyIG9yZGVycyBhbmQgcmVxdWVzdHMgYW5kIHRvIHBvc3QgeW91ciBjb21tZW50cyBhbmQgb3RoZXIgZnVuZXJhbCBjb250cmlidXRpb25zLiBXZSBtYXkgYWxzbyB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIG91ciBidXNpbmVzcywgZm9yIGJ1c2luZXNzIGRldmVsb3BtZW50IHB1cnBvc2VzLCBhbmQgdG8gZnVsZmlsbCBvdXIgY29udHJhY3R1YWwgb2JsaWdhdGlvbnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5SaXNrIG1pdGlnYXRpb24gYW5kIHNlY3VyaXR5LiZuYnNwOzwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgQ2xpZW50cywgc3RhZmYgYW5kIGFzc2V0cy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbW11bmljYXRpb24gYW5kIG1hcmtldGluZy48L3N0cm9uZz4mbmJzcDtXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFzIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGFzc2VzcyBhbmQgZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhcHBsaWNhYmxlIGxhd3MsIGxlZ2FsIHJlcXVpcmVtZW50cywgYW5kIGNvbXBhbnkgcG9saWNpZXM7IHRvIHByb3RlY3Qgb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgYXNzZXRzIG9yIHRvIGludmVzdGlnYXRlIG9yIGRlZmVuZCBhZ2FpbnN0IGFueSBjbGFpbXMgb2YgaWxsZWdhbGl0eSBvciB3cm9uZ2RvaW5nIChpbmNsdWRpbmcgdG8gb2J0YWluIGxlZ2FsIGFkdmljZSBvciB0byBlc3RhYmxpc2gsIGV4ZXJjaXNlIG9yIGRlZmVuZCBsZWdhbCByaWdodHMpOyBhbmQgaW4gcmVzcG9uc2UgdG8gYSBjb3VydCBvcmRlciBvciBqdWRpY2lhbCBvciBvdGhlciBnb3Zlcm5tZW50IHN1YnBvZW5hIG9yIHdhcnJhbnQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5Db3Jwb3JhdGUgdHJhbnNhY3Rpb24uJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIHRoZSBldmVudCB3ZSB1bmRlcnRha2Ugb3IgYXJlIGludm9sdmVkIGluIG9yIGNvbnRlbXBsYXRpbmcgYW55IG1lcmdlciwgYWNxdWlzaXRpb24sIHJlb3JnYW5pemF0aW9uLCBzYWxlIG9mIGFzc2V0cywgYmFua3J1cHRjeSwgb3IgaW5zb2x2ZW5jeSBldmVudC48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjxwPldlIG1heSBhbHNvIGFnZ3JlZ2F0ZSwgYW5vbnltaXplLCBvciBvdGhlcndpc2UgZGUtaWRlbnRpZnkgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGl0IGZvciBhbnkgcHVycG9zZSBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuPGJyPjxicj5Tb21lIGp1cmlzZGljdGlvbnMgcmVxdWlyZSB0aGF0IHdlIGRldGVybWluZSBhICZsZHF1bztsYXdmdWwgYmFzaXMmcmRxdW87IGZvciBwcm9jZXNzaW5nIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBXaGVyZSBzdWNoIHJlcXVpcmVtZW50cyBleGlzdCwgd2UgcmVseSBvbiB0aGUgZm9sbG93aW5nIGxhd2Z1bCBiYXNlcyBmb3Igb3VyIHByb2Nlc3NpbmcgYWN0aXZpdGllczogdGhhdCB5b3UgaGF2ZSBjb25zZW50ZWQgdG8gdGhlIHByb2Nlc3Npbmc7IHRoYXQgdGhlIHByb2Nlc3NpbmcgaXMgbmVjZXNzYXJ5IGZvciB0aGUgcGVyZm9ybWFuY2Ugb2Ygb3VyIGNvbnRyYWN0IHdpdGggeW91OyB0aGF0IHdlIGhhdmUgYSBsZWdhbCBvYmxpZ2F0aW9uOyBvciB0aGF0IHdlIGhhdmUgYSBsZWdpdGltYXRlIGludGVyZXN0IGluIHByb3ZpZGluZyBhbmQgaW1wcm92aW5nIHRoZSBTZXJ2aWNlcyBhbmQgbWFuYWdpbmcgb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMuIE91ciBDbGllbnRzIGRldGVybWluZSB0aGUgbGF3ZnVsIGJhc2lzIGZvciBwcm9jZXNzaW5nIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+VXNlIG9mIENvb2tpZXM8L3N0cm9uZz48L3A+DQo8cD48YnI+V2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcywgd2UgbWF5IHNlbmQgb25lIG9yIG1vcmUgY29va2llcyAod2hpY2ggYXJlIHNtYWxsIHRleHQgZmlsZXMgY29udGFpbmluZyBhIHN0cmluZyBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycykgdG8geW91ciBjb21wdXRlciBvciBtb2JpbGUgZGV2aWNlLCB0byBoZWxwIGFuYWx5emUgb3VyIHdlYiBwYWdlIGZsb3csIGN1c3RvbWl6ZSBvdXIgY29udGVudCwgbWVhc3VyZSBwcm9tb3Rpb25hbCBlZmZlY3RpdmVuZXNzLCBhbmQgcHJvbW90ZSB0cnVzdCBhbmQgc2FmZXR5LiBZb3UgYXJlIGFsd2F5cyBmcmVlIHRvIGRlY2xpbmUgb3VyIGNvb2tpZXMgaWYgeW91ciBicm93c2VyIHBlcm1pdHMsIGFsdGhvdWdoIGRvaW5nIHNvIG1heSBpbnRlcmZlcmUgd2l0aCB5b3VyIGFiaWxpdHkgdG8gdXNlIHRoZSBTZXJ2aWNlcyBvciBjZXJ0YWluIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlcy4gV2UgbWF5IGFsc28gdXNlIEdvb2dsZSBBbmFseXRpY3Mgb3IgYSBzaW1pbGFyIHNlcnZpY2UgdGhhdCB1c2VzIGNvb2tpZXMgdG8gaGVscCB1cyBhbmFseXplIGhvdyB1c2VycyB1c2UgdGhlIFNlcnZpY2VzLjxicj48YnI+V2UgbWF5IGFsc28gYWxsb3cgY2VydGFpbiB0aGlyZCBwYXJ0aWVzIHN1Y2ggYXMgYWR2ZXJ0aXNpbmcsIGFuYWx5dGljcyBwcm92aWRlcnMsIGFuZCB3aWRnZXQgcHJvdmlkZXJzIHRvIHBsYWNlIGNvb2tpZXMgaW4gb3JkZXIgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIG9ubGluZSBhY3Rpdml0aWVzIG92ZXIgdGltZSBhbmQgYWNyb3NzIGRpZmZlcmVudCB3ZWJzaXRlcyB3aGVuIHlvdSBhY2Nlc3Mgb3IgdXNlIHRoZSBTZXJ2aWNlcy4gQ3VycmVudGx5LCB2YXJpb3VzIGJyb3dzZXJzIG9mZmVyIGEgJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgb3B0aW9uLCBidXQgdGhlcmUgaXMgbm8gc3RhbmRhcmQgZm9yIGhvdyAmbGRxdW87RG8gTm90IFRyYWNrJnJkcXVvOyBzaG91bGQgd29yayBvbiBjb21tZXJjaWFsIHdlYnNpdGVzLiBEdWUgdG8gdGhlIGxhY2sgb2Ygc3VjaCBzdGFuZGFyZHMsIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRoaXMgd2Vic2l0ZSwgZG8gbm90IHJlc3BvbmQgdG8gJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgY29uc3VtZXIgYnJvd3NlciBzZXR0aW5ncy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHRoZSBmb2xsb3dpbmcgY2F0ZWdvcmllcyBvZiByZWNpcGllbnRzLCB0byBiZSB1c2VkIG9ubHkgZm9yIGxlZ2l0aW1hdGUgcHVycG9zZXMgaW4ga2VlcGluZyB3aXRoIHRoaXMgUHJpdmFjeSBOb3RpY2U6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+R3JvdXAgY29tcGFuaWVzIGFuZCBhZmZpbGlhdGVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UsIHNoYXJlLCBvciB0cmFuc2ZlciB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBidXNpbmVzcyBlbnRpdHkgdGhhdCBpcyBwYXJ0IG9mIG91ciBjb3Jwb3JhdGUgZmFtaWx5LjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+Q2xpZW50czwvc3Ryb25nPi4gV2UgbWF5IHNoYXJlIHlvdXIgaW5mb3JtYXRpb24gd2l0aCBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggb3VyIENsaWVudHMmcnNxdW87IHByb3Zpc2lvbiBvZiBzZXJ2aWNlcyB0byB5b3UuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5TZXJ2aWNlIHByb3ZpZGVycyBhbmQgcHJvZmVzc2lvbmFsIGFkdmlzb3JzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byB0aGlyZCBwYXJ0eSB2ZW5kb3JzIHdobyBwcm92aWRlIHNlcnZpY2VzIGluIHN1cHBvcnQgb2Ygb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMsIHN1Y2ggYXMgd2Vic2l0ZSBkZXZlbG9wbWVudCBhbmQgaG9zdGluZywgcGF5bWVudCBwcm9jZXNzaW5nLCBtYXJrZXRpbmcgbWFuYWdlbWVudCwgc2VydmljZSBvcHRpbWl6YXRpb24sIHZlbmRvcnMgdGhhdCBmdWxmaWxsIG9yZGVycyBmb3IgZnVuZXJhbC1yZWxhdGVkIGl0ZW1zIHN1Y2ggYXMgZmxvd2VycywgYW5kIGRhdGEgYW5hbHl0aWNzLiBXZSBtYXkgYWxzbyBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgb3VycyBvciBFbmQgVXNlcnMmcnNxdW87IGluc3VyYW5jZSBwcm92aWRlcnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5QYXJ0aWVzIGludm9sdmVkIGluIGEgY29ycG9yYXRlIHRyYW5zYWN0aW9uPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byByZWxldmFudCB0aGlyZCBwYXJ0aWVzIGluIHRoZSBldmVudCBvZiBhIGRpdmVzdGl0dXJlLCBtZXJnZXIsIGNvbnNvbGlkYXRpb24sIG9yIGFzc2V0IHNhbGUsIG9yIGluIHRoZSB1bmxpa2VseSBldmVudCBvZiBhIGJhbmtydXB0Y3kuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5MYXcgZW5mb3JjZW1lbnQgb3Igb3RoZXIgZ292ZXJubWVudGFsIGVudGl0aWVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiBpZiByZXF1aXJlZCB0byBkbyBzbyBieSBsYXcgb3IgaWYgd2UgYmVsaWV2ZSBpbiBnb29kIGZhaXRoIHRoYXQgc3VjaCBhY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgdW5sYXdmdWwgYWN0aXZpdHksIGRlZmVuZCBvdXIgcmlnaHRzLCBvciBtYWludGFpbiBzZWN1cml0eS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPk90aGVyIHRoaXJkIHBhcnRpZXMgd2l0aCB5b3VyIGNvbnNlbnQ8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBvdGhlciB0aGlyZCBwYXJ0eSB3aGVyZSB5b3UgaGF2ZSBwcm92aWRlZCBjb25zZW50IHRvIHN1Y2ggZGlzY2xvc3VyZS48L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5TZWN1cml0eSwgUmV0ZW50aW9uICZhbXA7IFRyYW5zZmVyIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIGhhdmUgaW1wbGVtZW50ZWQgYW5kIG1haW50YWluIGNvbW1lcmNpYWxseSByZWFzb25hYmxlIGFuZCBhcHByb3ByaWF0ZSB0ZWNobmljYWwgYW5kIG9yZ2FuaXphdGlvbmFsIG1lYXN1cmVzIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gUGxlYXNlIG5vdGUsIGhvd2V2ZXIsIHRoYXQgbm8gc2VjdXJpdHkgbWVhc3VyZXMgYXJlIHBlcmZlY3Qgb3IgaW1wZW5ldHJhYmxlLiBXZSB0aGVyZWZvcmUgY2Fubm90IGd1YXJhbnR5IGFuZCBkbyBub3Qgd2FycmFudCB0aGUgYWJzb2x1dGUgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2UgcmV0YWluIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIG5vIGxvbmdlciB0aGFuIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgdGhlIHB1cnBvc2VzIGZvciB3aGljaCB3ZSBjb2xsZWN0ZWQgaXQgb3IgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCBmcmF1ZCwgZmFjaWxpdGF0ZSBhbiBpbnZlc3RpZ2F0aW9uLCBkZWZlbmQgYWdhaW5zdCBsZWdhbCBjbGFpbXMsIG9yIGV4ZXJjaXNlIG91ciBsZWdhbCByaWdodHMuPGJyPjxicj5EZXBlbmRpbmcgb24geW91ciBsb2NhdGlvbiwgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgYWJvdXQgeW91IG1heSBiZSB0cmFuc2ZlcnJlZCB0byBhIGp1cmlzZGljdGlvbiB0aGF0IGRvZXMgbm90IHByb3ZpZGUgdGhlIHNhbWUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhcyB0aGUganVyaXNkaWN0aW9uIGluIHdoaWNoIHlvdSByZXNpZGUuIEFtb25nIG90aGVyIHBsYWNlcywgcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIHRyYW5zZmVycmVkIHRvLCBhbmQgc3RvcmVkIGluLCBDYW5hZGEsIEF1c3RyYWxpYSBhbmQgdGhlIFVuaXRlZCBTdGF0ZXMuIFRyYW5zZmVycyBmcm9tIHRoZSBFdXJvcGVhbiBVbmlvbiB0byBDYW5hZGEgYXJlIG1hZGUgcHVyc3VhbnQgdG8gRXVyb3BlYW4gQ29tbWlzc2lvbiBEZWNpc2lvbiAyMDAyLzIvRUMsIHdoaWNoIGRldGVybWluZWQgdGhhdCBDYW5hZGEgaXMgY29uc2lkZXJlZCBhcyBwcm92aWRpbmcgYW4gYWRlcXVhdGUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbi48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPllvdXIgQ2hvaWNlcyAmYW1wOyBSaWdodHM8L3N0cm9uZz48L3A+DQo8cD48YnI+WW91IG1heSBkZWNsaW5lIHRvIHNoYXJlIGNlcnRhaW4gaW5mb3JtYXRpb24gd2l0aCB1cywgaW4gd2hpY2ggY2FzZSB3ZSBtYXkgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0byB5b3Ugc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFNlcnZpY2VzLiBPbmNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgd2l0aCB1cywgeW91IG1heSB1cGRhdGUsIGNvcnJlY3QsIG9yIGRlbGV0ZSB5b3VyIHByb2ZpbGUgaW5mb3JtYXRpb24gYW5kIHByZWZlcmVuY2VzIGF0IGFueSB0aW1lIGJ5IGFjY2Vzc2luZyB5b3VyIGFjY291bnQgcHJlZmVyZW5jZXMgcGFnZSB0aHJvdWdoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgbWFya2V0aW5nIGNvbW11bmljYXRpb25zIGZyb20gdXMsIHlvdSBjYW4gb3B0LW91dCBieSB1c2luZyB0aGUgdW5zdWJzY3JpYmUgcHJvY2VzcyBwcm92aWRlZCBvciBkZXNjcmliZWQgaW4gYW55IHN1Y2ggY29tbXVuaWNhdGlvbiwgYnV0IHlvdSBtYXkgc3RpbGwgcmVjZWl2ZSB0cmFuc2FjdGlvbmFsIG9yIGFkbWluaXN0cmF0aXZlIGNvbW11bmljYXRpb25zIGZyb20gdXMuIEFsdGhvdWdoIHlvdXIgY2hhbmdlcyBhcmUgcmVmbGVjdGVkIHByb21wdGx5IGluIGFjdGl2ZSB1c2VyIGRhdGFiYXNlcywgd2UgbWF5IHJldGFpbiBhbGwgaW5mb3JtYXRpb24geW91IHN1Ym1pdCBmb3IgYSB2YXJpZXR5IG9mIHB1cnBvc2VzLCBpbmNsdWRpbmcgYmFja3VwcyBhbmQgYXJjaGl2aW5nLCBwcmV2ZW50aW9uIG9mIGZyYXVkIGFuZCBhYnVzZSwgYW5kIGFuYWx5dGljcy48YnI+PGJyPkRlcGVuZGluZyBvbiB5b3VyIGxvY2F0aW9uIGFuZCBzdWJqZWN0IHRvIGxvY2FsIGxhdywgeW91IG1heSBoYXZlIGNlcnRhaW4gcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGVzZSBtYXkgaW5jbHVkZTogdGhlIHJpZ2h0IHRvIGFjY2VzcywgY29ycmVjdCwgYW5kIGRlbGV0ZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyB0aGUgcmlnaHQgdG8gcmVzdHJpY3Qgb3Igb2JqZWN0IHRvIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbjsgYW5kIHRoZSByaWdodCB0byByZWNlaXZlIGEgcG9ydGFibGUgY29weSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGEgdXNhYmxlIGZvcm1hdC4gSWYgeW91IHByb3ZpZGUgdXMgd2l0aCBjb25zZW50IHRvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLCB5b3UgbWF5IHdpdGhkcmF3IHRoYXQgY29uc2VudCBhdCBhbnkgdGltZSwgaG93ZXZlciwgc3VjaCB3aXRoZHJhd2FsIHdpbGwgbm90IGltcGFjdCB0aGUgbGF3ZnVsbmVzcyBvZiBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYmFzZWQgb24geW91ciBjb25zZW50IHVwIHRvIHRoYXQgcG9pbnQuPGJyPjxicj5UbyBtYWtlIGEgcmVxdWVzdCByZWxhdGVkIHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gb3Igb3RoZXJ3aXNlIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cuIEluIG9yZGVyIHRvIGZ1bGZpbGwgeW91ciByZXF1ZXN0LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZyb20geW91LiBXZSB3aWxsIHJlc3BvbmQgdG8gcmVxdWVzdHMgd2l0aGluIHRoZSByZWxldmFudCB0aW1lIHBlcmlvZHMgZXN0YWJsaXNoZWQgYnkgYXBwbGljYWJsZSBsYXcuIFdlIGFyZSBjb21taXR0ZWQgdG8gZmluZGluZyBhIGZhaXIgYW5kIHJlYXNvbmFibGUgcmVzb2x1dGlvbiB0byBhbnkgcmVxdWVzdCwgY29uY2Vybiwgb3IgY29tcGxhaW50IHlvdSBicmluZyB0byBvdXIgYXR0ZW50aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVuc2F0aXNmaWVkIHdpdGggb3VyIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdCwgeW91IG1heSBoYXZlIHRoZSByaWdodCB0byBsb2RnZSBhIGNvbXBsYWludCB3aXRoIGFwcGxpY2FibGUgZ292ZXJubWVudGFsIGF1dGhvcml0aWVzLCBzdWJqZWN0IHRvIGxvY2FsIGxhdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkNoaWxkcmVuJnJzcXVvO3MgUHJpdmFjeTwvc3Ryb25nPjwvcD4NCjxwPjxicj5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDE2IHllYXJzIG9mIGFnZSAoJmxkcXVvO2NoaWxkcmVuJnJkcXVvOyksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxNiB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIEVudGl0eTwvc3Ryb25nPjwvcD4NCjxwPjxicj5BbGwgcmVmZXJlbmNlcyB0byAmbGRxdW87VHJpYnV0ZSBUZWNobm9sb2d5LCZyZHF1bzsgJmxkcXVvO3dlLCZyZHF1bzsgJmxkcXVvO3VzJnJkcXVvOyBvciAmbGRxdW87b3VyJnJkcXVvOyBpbiB0aGlzIFByaXZhY3kgTm90aWNlIHJlZmVyIHRvIHRoZSBhcHBsaWNhYmxlIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlIHRhYmxlIGJlbG93LCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwZWFycyAoYXMgcG9zdGVkIG9uIHN1Y2ggd2Vic2l0ZSk6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHRhYmxlPg0KPHRib2R5Pg0KPHRyPg0KPHRkIHdpZHRoPSIxODYiPg0KPHA+PHN0cm9uZz5Mb2NhdGlvbiBvZiBCdXNpbmVzcyBBZGRyZXNzPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMjEwIj4NCjxwPjxzdHJvbmc+QXBwbGljYWJsZSBFbnRpdHk8L3N0cm9uZz48L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPkNhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgQ2FuYWRhLCBVTEMsIGEgQnJpdGlzaCBDb2x1bWJpYSB1bmxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPlVuaXRlZCBTdGF0ZXMgYW5kIHRoZSByZXN0IG9mIHRoZSB3b3JsZCBvdXRzaWRlIENhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgVVMsIExMQywgYSBEZWxhd2FyZSBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+Q2FsaWZvcm5pYSBSZXNpZGVudHM8L3N0cm9uZz48L3A+DQo8cD48YnI+U3VwcGxlbWVudGFsIHRvIHRoZSBhYm92ZSwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHBlcnRhaW5zIHRvIENhbGlmb3JuaWEgcmVzaWRlbnRzIG9ubHk6PGJyPjxicj48ZW0+PHU+Q29sbGVjdGlvbiBhbmQgVXNlIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC91PjwvZW0+PC9wPg0KPHVsPg0KPGxpPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLCBhbmQgaW5mZXJlbmNlcyBkcmF3biBmcm9tIHN1Y2ggaW5mb3JtYXRpb24uIEZvciBleGFtcGxlcyBvZiBzcGVjaWZpYyBwaWVjZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBwbGVhc2Ugc2VlIHRoZSAmbGRxdW87UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCZyZHF1bzsgc2VjdGlvbiBhYm92ZS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGRpc2Nsb3NlZCBmb3IgYSBidXNpbmVzcyBwdXJwb3NlIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgYW5kIGVkdWNhdGlvbiBpbmZvcm1hdGlvbi48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcyZyc3F1bzsgZGlyZWN0IG1hcmtldGluZyBwdXJwb3Nlcy48L2xpPg0KPC91bD4NCjxwPjxicj48ZW0+PHU+WW91ciBDYWxpZm9ybmlhIFByaXZhY3kgUmlnaHRzPC91PjwvZW0+PGJyPkFzIGEgQ2FsaWZvcm5pYSByZXNpZGVudCwgeW91IGhhdmUgdGhlIGZvbGxvd2luZyByaWdodHMgd2l0aCByZXNwZWN0IHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb246PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRvIGtub3cgYWJvdXQgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBkaXNjbG9zZWQsIG9yIHNvbGQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+WW91IGhhdmUgdGhlIHJpZ2h0IHRvIHJlcXVlc3QgdGhlIGRlbGV0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byBvcHQtb3V0IG9mIHRoZSBzYWxlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXQgYW55IHRpbWUuIE5vdGUgdGhhdCB3ZSBkbyBub3QgY3VycmVudGx5IHNlbGwgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9saT4NCjwvdWw+DQo8cD48YnI+RmluYWxseSwgeW91IGhhdmUgdGhlIHJpZ2h0IHRvIG5vdCBiZSBkaXNjcmltaW5hdGVkIGFnYWluc3QgYXMgYSByZXN1bHQgb2YgZXhlcmNpc2luZyB5b3VyIHByaXZhY3kgcmlnaHRzLiBBY2NvcmRpbmdseSwgdW5sZXNzIHBlcm1pdHRlZCBieSBsYXcsIHdlIHdpbGwgbm90IGRlbnkgeW91IGdvb2RzIG9yIHNlcnZpY2VzLCBjaGFyZ2UgeW91IGRpZmZlcmVudCBwcmljZXMgb3IgcmF0ZXMgZm9yIGdvb2RzIG9yIHNlcnZpY2VzLCBwcm92aWRlIHlvdSBhIGRpZmZlcmVudCBsZXZlbCBvciBxdWFsaXR5IG9mIGdvb2RzIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48YnI+PGJyPlRvIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cgb3IgY2FsbCAxLTgzMy0zMDMtMTg4MC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHB1cnBvc2VzIG9mIHZlcmlmeWluZyB5b3VyIGlkZW50aXR5LiBJZiB5b3UgbWFrZSBhIHJlcXVlc3QgdGhyb3VnaCBhbiBhdXRob3JpemVkIGFnZW50LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHZlcmlmeSB5b3VyIGF1dGhvcml6YXRpb24gb2YgdGhlIGFnZW50LjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5DaGFuZ2VzIHRvIFByaXZhY3kgTm90aWNlPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIHJlc2VydmUgdGhlIHJpZ2h0IHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIFByaXZhY3kgTm90aWNlIGF0IGFueSB0aW1lLCB3aXRob3V0IG5vdGljZS4gV2Ugd2lsbCBub3RpZnkgeW91IGFib3V0IGNoYW5nZXMgdGhhdCBzaWduaWZpY2FudGx5IGltcGFjdCBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgcGxhY2luZyBhIHByb21pbmVudCBub3RpY2Ugb24gdGhpcyB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgeW91IGFuIGVtYWlsLiBQbGVhc2UgcmV2aXNpdCB0aGlzIHBhZ2UgcGVyaW9kaWNhbGx5IHRvIHN0YXkgYXdhcmUgb2YgYW55IGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQsIGRpc3B1dGVzIGFyaXNpbmcgaGVyZXVuZGVyIHdpbGwgYmUgcmVzb2x2ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBQcml2YWN5IE5vdGljZSBpbiBlZmZlY3QgYXQgdGhlIHRpbWUgdGhlIGRpc3B1dGUgYXJvc2UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5Db250YWN0IFVzPC9zdHJvbmc+PC9wPg0KPHA+PGJyPlBsZWFzZSBjb250YWN0IHVzIHdpdGggYW55IHF1ZXN0aW9ucywgY29tbWVudHMgb3IgY29uY2VybnMgYWJvdXQgdGhpcyBQcml2YWN5IE5vdGljZSBvciBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgZW1haWwgYXQgcHJpdmFjeUB0cmlidXRldGVjaC5jb20gb3IgYnkgbWFpbCBhdDo8L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5PGJyPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzxicj5NaWRkbGV0b24sIFdJIDUzNTYyPC9wPg0KPHA+Jm5ic3A7PC9wPg== PGRpdiBpZD0iMTc3ODY4MTk4NiIgY2xhc3M9InVfMTc3ODY4MTk4NiBkbU5ld1BhcmFncmFwaCIgZGF0YS1lbGVtZW50LXR5cGU9InBhcmFncmFwaCIgZGF0YS12ZXJzaW9uPSI1IiBkYXRhLWFuaW0tZXh0ZW5kZWQ9ImV5SmtaWE5yZEc5d0lqcDdJblJ5YVdkblpYSWlPaUpsYm5SeVlXNWpaU0lzSW1GdWFXMWhkR2x2YmlJNkltWmhaR1ZKYmtOdmJXSnZJaXdpWkhWeVlYUnBiMjRpT2pFc0ltUmxiR0Y1SWpvd0xqVXNJbWx1ZEdWdWMybDBlU0k2TVN3aWNtVjJaWEp6WlNJNlptRnNjMlVzSW1ScGNpSTZJbWx1TFhCc1lXTmxJbjE5IiBkYXRhLWFuaW0tZGVza3RvcD0iZmFkZUluQ29tYm8iPg0KPHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgVGVybXMgb2YgVXNlPC9zdHJvbmc+PC9wPg0KPHA+PGVtPkxhc3QgVXBkYXRlZDogQXByaWwgMjAsIDIwMjM8L2VtPjxicj48YnI+VGhlc2UgVGVybXMgb2YgVXNlLCB0b2dldGhlciB3aXRoIFRyaWJ1dGUgVGVjaG5vbG9neSdzIDx1PlByaXZhY3kgUG9saWN5PC91PiwgKGNvbGxlY3RpdmVseSwgdGhlICJUZXJtcyIpIHNldCBmb3J0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBhcHBseSB0byB5b3VyIGFjY2VzcyBhbmQgdXNlIG9mIHRoZSB3ZWJzaXRlIG9mIFRyaWJ1dGUgVGVjaG5vbG9neSAoaHR0cHM6Ly93d3cudHJpYnV0ZXRlY2guY29tLykgYW5kIG91ciBhc3NvY2lhdGVkIHNlcnZpY2VzLCBpbmNsdWRpbmcgVHJpYnV0ZSBUZWNobm9sb2d5IHNlcnZpY2VzIHRoYXQgYXJlIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3ZWJzaXRlcyBvZiBvdXIgY2xpZW50IGZ1bmVyYWwgaG9tZXMgYW5kIG90aGVyIGZ1bmVyYWwgcHJvZmVzc2lvbmFscyAoZWFjaCwgYSAmbGRxdW87Q2xpZW50JnJkcXVvOykgYW5kIGFueSBvdGhlciB3ZWJzaXRlcyB3aGVyZSB3ZSBsaW5rIHRvIHRoZXNlIFRlcm1zICh0b2dldGhlciwgdGhlICJTaXRlcyIpLCB3aGV0aGVyIGFzIGEgQ2xpZW50LCBlbmQgdXNlciBvciBjdXN0b21lciBvZiBhIENsaWVudCwgb3Igb3RoZXJ3aXNlLiBTdWNoIFRyaWJ1dGUgVGVjaG5vbG9neSBzZXJ2aWNlcyBhcmUgcmVmZXJyZWQgdG8gaGVyZWluIGNvbGxlY3RpdmVseSBhcyB0aGUgJmxkcXVvO1NlcnZpY2VzLiZyZHF1bzsgQ2VydGFpbiBTZXJ2aWNlcyBhY2Nlc3NpYmxlIHRocm91Z2ggdGhlIFNpdGVzIG1heSBoYXZlIHRoZWlyIG93biB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGFwcGx5IHRvIHlvdXIgdXNlIG9mIHRob3NlIHBhcnRpY3VsYXIgU2VydmljZXMuJm5ic3A7IFRoZXNlIFRlcm1zIGNvbnN0aXR1dGUgYSBsZWdhbGx5IGJpbmRpbmcgYWdyZWVtZW50IGJldHdlZW4geW91LCB3aGV0aGVyIHBlcnNvbmFsbHkgb3Igb24gYmVoYWxmIG9mIGFuIGVudGl0eSAoInlvdSIpLCBhbmQgdGhlIGFwcGxpY2FibGUgZW50aXR5IHJlZmVycmVkIHRvIGluIFNlY3Rpb24gMTMgb2YgdGhlc2UgVGVybXMgKCJUcmlidXRlIFRlY2hub2xvZ3ksIiAid2UsIiAidXMiIGFuZCAmbGRxdW87b3VyJnJkcXVvOykgY29uY2VybmluZyB5b3VyIGFjY2VzcyB0byBhbmQgdXNlIG9mIHRoZSBTZXJ2aWNlcy48YnI+PGJyPkJ5IHVzaW5nIG9yIGFjY2Vzc2luZyB0aGUgU2VydmljZXMsIHlvdSBhZ3JlZSB0byB0aGVzZSBUZXJtcywgYXMgbWF5IGJlIHVwZGF0ZWQgZnJvbSB0aW1lIHRvIHRpbWUgaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24gOSBiZWxvdy4gSWYgeW91IGRvIG5vdCBhZ3JlZSB0byB0aGUgZm9sbG93aW5nIFRlcm1zLCBkbyBub3QgYWNjZXNzIG9yIHVzZSB0aGUgU2VydmljZXMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz48dT5Ob3RpY2Ugb2YgQmluZGluZyBBcmJpdHJhdGlvbjwvdT48L3N0cm9uZz48c3Ryb25nPi4mbmJzcDsgVGhlc2UgVGVybXMgcHJvdmlkZSB0aGF0IGFsbCBkaXNwdXRlcyBiZXR3ZWVuIHlvdSBhbmQgdXMgdGhhdCBpbiBhbnkgd2F5IHJlbGF0ZSB0byB0aGVzZSBUZXJtcyBvciB5b3VyIHVzZSBvZiB0aGUgU2VydmljZXMgd2lsbCBiZSByZXNvbHZlZCBieSBCSU5ESU5HIEFSQklUUkFUSU9OLiBBQ0NPUkRJTkdMWSwgWU9VIEFHUkVFIFRPIEdJVkUgVVAgWU9VUiBSSUdIVCBUTyBHTyBUTyBDT1VSVCAoSU5DTFVESU5HIElOIEEgQ0xBU1MgQUNUSU9OIFBST0NFRURJTkcpIHRvIGFzc2VydCBvciBkZWZlbmQgeW91ciByaWdodHMgdW5kZXIgdGhlc2UgVGVybXMuIFlvdXIgcmlnaHRzIHdpbGwgYmUgZGV0ZXJtaW5lZCBieSBhIE5FVVRSQUwgQVJCSVRSQVRPUiBhbmQgTk9UIGEganVkZ2Ugb3IganVyeSBhbmQgeW91ciBjbGFpbXMgY2Fubm90IGJlIGJyb3VnaHQgYXMgYSBjbGFzcyBhY3Rpb24uIFBsZWFzZSByZXZpZXcgU2VjdGlvbiAxMiBiZWxvdyBlbnRpdGxlZCAmbGRxdW87SW50ZXJwcmV0YXRpb25zIGFuZCBEaXNwdXRlcyZyZHF1bzsgZm9yIHRoZSBkZXRhaWxzIHJlZ2FyZGluZyB5b3VyIGFncmVlbWVudCB0byBhcmJpdHJhdGUgYW55IGRpc3B1dGVzIHdpdGggdXMuPC9zdHJvbmc+PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+QWNjb3VudCBTZWN1cml0eS48L3N0cm9uZz4mbmJzcDtUbyB1c2UgdGhlIFNlcnZpY2VzIHlvdSBtdXN0IChpKSBiZSBhdCBsZWFzdCBlaWdodGVlbiAoMTgpIHllYXJzIG9mIGFnZTsgKGlpKSBoYXZlIG5vdCBwcmV2aW91c2x5IGJlZW4gc3VzcGVuZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgU2VydmljZXM7IGFuZCAoaWlpKSByZWdpc3RlciBmb3IgYW5kIHVzZSB0aGUgU2VydmljZXMgaW4gY29tcGxpYW5jZSB3aXRoIGFueSBhbmQgYWxsIGFwcGxpY2FibGUgbGF3cyBhbmQgcmVndWxhdGlvbnMuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5BY2NvdW50IFJlZ2lzdHJhdGlvbi48L3N0cm9uZz4mbmJzcDtUbyBhY2Nlc3Mgc29tZSBmZWF0dXJlcyBvZiB0aGUgU2VydmljZXMsIHlvdSBtYXkgYmUgcmVxdWlyZWQgdG8gcmVnaXN0ZXIgZm9yIGFuIGFjY291bnQuIFdoZW4geW91IHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50LCB3ZSBtYXkgYXNrIHlvdSB0byBnaXZlIHVzIGNlcnRhaW4gaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gYWJvdXQgeW91cnNlbGYsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8geW91ciBlbWFpbCBhZGRyZXNzIGFuZCBvdGhlciBjb250YWN0IGluZm9ybWF0aW9uLCBhbmQgdG8gY3JlYXRlIGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZCAoIlJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiIpLiBXaGVuIHJlZ2lzdGVyaW5nIGZvciBhbmQgbWFpbnRhaW5pbmcgYW4gYWNjb3VudCwgeW91IGFncmVlIHRvIHByb3ZpZGUgdHJ1ZSwgYWNjdXJhdGUsIGN1cnJlbnQsIGFuZCBjb21wbGV0ZSBpbmZvcm1hdGlvbiBhYm91dCB5b3Vyc2VsZi4gWW91IGFsc28gYWdyZWUgbm90IHRvIGltcGVyc29uYXRlIGFueW9uZSwgbWlzcmVwcmVzZW50IGFueSBhZmZpbGlhdGlvbiB3aXRoIGFueW9uZSBlbHNlLCB1c2UgZmFsc2UgaW5mb3JtYXRpb24sIG9yIG90aGVyd2lzZSBjb25jZWFsIHlvdXIgaWRlbnRpdHkgZnJvbSBUcmlidXRlIFRlY2hub2xvZ3kgZm9yIGFueSBwdXJwb3NlLiBZb3UgYXJlIHNvbGVseSByZXNwb25zaWJsZSBmb3IgbWFpbnRhaW5pbmcgdGhlIGNvbmZpZGVudGlhbGl0eSBhbmQgc2VjdXJpdHkgb2YgeW91ciBwYXNzd29yZCBhbmQgb3RoZXIgUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uLiBGb3IgeW91ciBwcm90ZWN0aW9uIGFuZCB0aGUgcHJvdGVjdGlvbiBvZiBvdGhlciB1c2Vycywgd2UgYXNrIHlvdSBub3QgdG8gc2hhcmUgeW91ciBSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24gd2l0aCBhbnlvbmUgZWxzZS4gSWYgeW91IGRvIHNoYXJlIHRoaXMgaW5mb3JtYXRpb24gd2l0aCBhbnlvbmUsIHdlIHdpbGwgY29uc2lkZXIgdGhlaXIgYWN0aXZpdGllcyB0byBoYXZlIGJlZW4gYXV0aG9yaXplZCBieSB5b3UuIElmIHlvdSBoYXZlIHJlYXNvbiB0byBiZWxpZXZlIHRoYXQgeW91ciBhY2NvdW50IGlzIG5vIGxvbmdlciBzZWN1cmUsIHlvdSBtdXN0IGltbWVkaWF0ZWx5IG5vdGlmeSB1cyBhdCZuYnNwO3dlYnNpdGVzQHRyaWJ1dGV0ZWNoLmNvbS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPllvdXIgVXNlIG9mIHRoZSBTZXJ2aWNlcyBhbmQgUHJvaGliaXRlZCBDb25kdWN0Ljwvc3Ryb25nPiZuYnNwO1lvdSBhcmUgZ3JhbnRlZCBhIGxpbWl0ZWQsIG5vbi1leGNsdXNpdmUsIHJldm9jYWJsZSByaWdodCB0byBhY2Nlc3MgYW5kIHVzZSB0aGUgU2VydmljZXMgc29sZWx5IGZvciB5b3VyIHBlcnNvbmFsIG9yIG5vbi1jb21tZXJjaWFsIHVzZTsgcHJvdmlkZWQsIHRoYXQgaWYgeW91IGFyZSBhIENsaWVudCwgeW91ciBjb21tZXJjaWFsIHVzZSBpbiBjb25uZWN0aW9uIHdpdGggeW91ciBTaXRlIGlzIHBlcm1pdHRlZCBmb3IgeW91ciBidXNpbmVzcy4mbmJzcDsgRXhjZXB0IGZvciB0aGUgbGltaXRlZCByaWdodCBleHByZXNzbHkgZ3JhbnRlZCB0byB5b3UgaW4gdGhlc2UgVGVybXMsIFRyaWJ1dGUgVGVjaG5vbG9neSBhbmQgaXRzIGxpY2Vuc29ycyBleHByZXNzbHkgcmVzZXJ2ZSBhbGwgb3RoZXIgcmlnaHRzIGFuZCBsaWNlbnNlcyB0byB0aGUgU2VydmljZXMgYW5kIHRoZWlyIGNvbnRlbnQuIFlvdSBhZ3JlZSBub3QgdG86PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+VXNlIHRoZSBTZXJ2aWNlcyBmb3IgYW55IGlsbGVnYWwgcHVycG9zZSwgb3IgaW4gdmlvbGF0aW9uIG9mIGFueSBsb2NhbCwgc3RhdGUsIG5hdGlvbmFsLCBvciBpbnRlcm5hdGlvbmFsIGxhdzs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+VmlvbGF0ZSBvciBlbmNvdXJhZ2Ugb3RoZXJzIHRvIHZpb2xhdGUgdGhlIHJpZ2h0cyBvZiB0aGlyZCBwYXJ0aWVzLCBpbmNsdWRpbmcgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0czs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+UG9zdCwgdXBsb2FkLCBvciBkaXN0cmlidXRlIGFueSBjb250ZW50IHRoYXQgaXMgdW5sYXdmdWwsIGRlZmFtYXRvcnksIGxpYmVsb3VzLCBpbmFjY3VyYXRlLCBvciB0aGF0IGEgcmVhc29uYWJsZSBwZXJzb24gY291bGQgZGVlbSB0byBiZSBvYmplY3Rpb25hYmxlLCBwcm9mYW5lLCBpbmRlY2VudCwgcG9ybm9ncmFwaGljLCBoYXJhc3NpbmcsIHRocmVhdGVuaW5nLCBoYXRlZnVsLCBvciBvdGhlcndpc2UgaW5hcHByb3ByaWF0ZSwgb3IgdGhhdCB2aW9sYXRlcyBvciBpbmZyaW5nZXMgdGhlIHByaXZhY3ksIGNvcHlyaWdodCwgdHJhZGVtYXJrLCB0cmFkZSBkcmVzcywgdHJhZGUgc2VjcmV0cyBvciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIGFueSBwZXJzb24gb3IgZW50aXR5OzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5JbnRlcmZlcmUgaW4gYW55IHdheSB3aXRoLCBieXBhc3Mgb3IgYXR0ZW1wdCB0byBieXBhc3MgYW55IHNlY3VyaXR5LXJlbGF0ZWQgZmVhdHVyZXMgb2YgdGhlIFNlcnZpY2VzOzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5JbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9yIGFueSB1c2VyJ3MgZW5qb3ltZW50IG9mIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIGJ5IHVwbG9hZGluZyBvciBvdGhlcndpc2UgZGlzc2VtaW5hdGluZyB2aXJ1c2VzLCBhZHdhcmUsIHNweXdhcmUsIHdvcm1zLCBvciBvdGhlciBtYWxpY2lvdXMgY29kZSwgbWFraW5nIHVuc29saWNpdGVkIG9mZmVycyBvciBhZHZlcnRpc2VtZW50cyB0byBvdGhlciB1c2Vycywgb3IgYXR0ZW1wdGluZyB0byBjb2xsZWN0IHBlcnNvbmFsIGluZm9ybWF0aW9uIGFib3V0IHVzZXJzIG9yIHRoaXJkIHBhcnRpZXMgd2l0aG91dCB0aGVpciBjb25zZW50OzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5EZWVwLWxpbmsgdG8gYW55IGZlYXR1cmUgb3IgY29udGVudCBvbiB0aGUgU2VydmljZXMsIG9yIGFjY2VzcywgbW9uaXRvciBvciBjb3B5IGFueSBjb250ZW50IG9yIGluZm9ybWF0aW9uIG9mIHRoZSBTZXJ2aWNlcyB1c2luZyBhbnkgcm9ib3QsIHNwaWRlciwgc2NyYXBlciwgY3Jhd2xlciBvciBvdGhlciBhdXRvbWF0ZWQgbWVhbnMgb3IgYW55IG1hbnVhbCBwcm9jZXNzIGZvciBhbnkgcHVycG9zZSB3aXRob3V0IFRyaWJ1dGUgVGVjaG5vbG9neSZyc3F1bztzIGV4cHJlc3Mgd3JpdHRlbiBwZXJtaXNzaW9uOzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5Vc2UsIHJlcHJvZHVjZSwgbW9kaWZ5LCBkaXN0cmlidXRlIG9yIHN0b3JlIGFueSBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyAoaW5jbHVkaW5nIG9iaXR1YXJpZXMsIGV2ZW50IGluZm9ybWF0aW9uLCBvciBvdGhlciBjb250ZW50KSBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCB0aGUgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mIFRyaWJ1dGUgVGVjaG5vbG9neTs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+UGVyZm9ybSBhbnkgZnJhdWR1bGVudCBhY3Rpdml0eSwgaW5jbHVkaW5nIGltcGVyc29uYXRpbmcgYW55IHBlcnNvbiBvciBlbnRpdHksIGNsYWltaW5nIGZhbHNlIGFmZmlsaWF0aW9ucywgYWNjZXNzaW5nIHRoZSBhY2NvdW50cyBvZiBvdGhlciB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24sIG9yIGZhbHNpZnlpbmcgeW91ciBpZGVudGl0eSBvciBhbnkgaW5mb3JtYXRpb24gYWJvdXQgeW91LCBpbmNsdWRpbmcgYWdlIG9yIGRhdGUgb2YgYmlydGg7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBvc3QsIGRpc3NlbWluYXRlLCBzdWJtaXQsIHRyYW5zbWl0LCBob3N0LCBzaGFyZSwgYW5kL29yIHB1Ymxpc2ggYWR2ZXJ0aXNlbWVudHMgb3Igc29saWNpdGF0aW9ucyBvZiBidXNpbmVzczsgb3I8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+U2VsbCBvciBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIGFjY2VzcyBncmFudGVkIGhlcmVpbi48L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5UaGlyZCBQYXJ0eSBDb250ZW50Ljwvc3Ryb25nPiZuYnNwO1RoZSBTZXJ2aWNlcyBtYXkgY29udGFpbiBsaW5rcyB0byB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBhbmQgc2VydmljZXMuIFRyaWJ1dGUgVGVjaG5vbG9neSBwcm92aWRlcyBzdWNoIGxpbmtzIGFzIGEgY29udmVuaWVuY2UsIGFuZCBkb2VzIG5vdCBjb250cm9sIG9yIGVuZG9yc2UgdGhlc2Ugd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiBZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgVHJpYnV0ZSBUZWNobm9sb2d5IGhhcyBub3QgcmV2aWV3ZWQgdGhlIGNvbnRlbnQsIGFkdmVydGlzaW5nLCBwcm9kdWN0cywgc2VydmljZXMsIG9yIG90aGVyIG1hdGVyaWFscyB0aGF0IGFwcGVhciBvbiBzdWNoIHRoaXJkIHBhcnR5IHdlYnNpdGVzIG9yIHNlcnZpY2VzLCBhbmQgaXMgbm90IHJlc3BvbnNpYmxlIGZvciB0aGUgbGVnYWxpdHksIGFjY3VyYWN5LCBvciBhcHByb3ByaWF0ZW5lc3Mgb2YgYW55IHN1Y2ggY29udGVudCwgYW5kIHNoYWxsIG5vdCBiZSByZXNwb25zaWJsZSBvciBsaWFibGUsIGRpcmVjdGx5IG9yIGluZGlyZWN0bHksIGZvciBhbnkgZGFtYWdlIG9yIGxvc3MgY2F1c2VkIG9yIGFsbGVnZWQgdG8gYmUgY2F1c2VkIGJ5IG9yIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgdXNlIG9mIGFueSBzdWNoIHRoaXJkIHBhcnR5IHdlYnNpdGVzIG9yIHNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+SW50ZWxsZWN0dWFsIFByb3BlcnR5Ljwvc3Ryb25nPiZuYnNwO1lvdSBhY2tub3dsZWRnZSBhbmQgYWdyZWUgdGhhdCB3aGVuIHlvdSBzdWJtaXQgYW4gb2JpdHVhcnksIHBvc3QgY29tbWVudHMsIHN1Ym1pdCBhIHRyaWJ1dGUgdmlkZW8gb3IgaW1hZ2UsIG9yIHBvc3Qgb3Igc3VibWl0IG90aGVyIGNvbnRlbnQgKHRvZ2V0aGVyLCAiQ29udGVudCIpIHRvIFRyaWJ1dGUgVGVjaG5vbG9neSBvciB2aWEgdGhlIFNlcnZpY2VzLCBpbmNsdWRpbmcgdG8gYW55IHdlYnNpdGUgb2YgYW55IGZ1bmVyYWwgaG9tZSBvciBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgcHJvdmlkZWQgYnkgVHJpYnV0ZSBUZWNobm9sb2d5LCBzdWNoIENvbnRlbnQgd2lsbCBiZSBzaGFyZWQgd2l0aCBhbmQgc3RvcmVkIGJ5IFRyaWJ1dGUgVGVjaG5vbG9neSBhbmQgaXRzIGFmZmlsaWF0ZXMgYW5kIHBhcnRuZXJzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIFRyaWJ1dGUgQXJjaGl2ZSAodHJpYnV0ZWFyY2hpdmUuY29tKSwgYW5kIG1heSBhbHNvIGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoIG90aGVyIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBwcm92aWRlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBhZmZpbGlhdGVzIGFuZCBwYXJ0bmVycyBpbiBjb25uZWN0aW9uIHdpdGggdGhlIFNpdGVzLCBpbmNsdWRpbmcgcHJvZHVjdHMgc3VjaCBhcyBUcmlidXRlIEJvb2suIFdpdGggcmVzcGVjdCB0byBhbnkgaW1hZ2VzIG9yIHZpZGVvcyB0aGF0IHlvdSBwb3N0IG9yIHByb3ZpZGUgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlcywgeW91IHJlcHJlc2VudCBhbmQgd2FycmFudCB0aGF0IHlvdSBoYXZlIHNlY3VyZWQgdGhlIHBlcm1pc3Npb24gb2YgYW55IGxpdmluZyBwZXJzb25zIGRlcGljdGVkIHRoZXJlaW4gdG8gKGkpIHBvc3QgdGhlbSwgYW5kIChpaSkgdGhlIHVzZSBvZiBzdWNoIENvbnRlbnQgYXMgc2V0IG91dCBpbiB0aGVzZSBUZXJtcy4gWW91IGhlcmVieSBncmFudCB0byBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBhZ2VudHMsIGF0dG9ybmV5cywgcmVwcmVzZW50YXRpdmVzLCBwcmVkZWNlc3NvcnMsIHN1Y2Nlc3NvcnMsIGFmZmlsaWF0ZXMsIHBhcmVudHMsIHN1YnNpZGlhcmllcywgbm9taW5lZXMsIGxpY2Vuc2VlcywgZXhlY3V0b3JzLCBhZG1pbmlzdHJhdG9ycywgYXNzaWducywgZnVuZXJhbCBob21lcyBvciBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgdGhhdCBhcmUgb3VyIENsaWVudHMsIGFuZCB0aG9zZSBhY3Rpbmcgd2l0aCBhdXRob3JpdHkgb2YgdGhlIGZvcmVnb2luZyAoY29sbGVjdGl2ZWx5LCAmbGRxdW87VHJpYnV0ZSBUZWNobm9sb2d5IFBhcnRpZXMmcmRxdW87KSwgYSB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIHBlcnBldHVhbCwgaXJyZXZvY2FibGUsIHJveWFsdHkgZnJlZSwgdHJhbnNmZXJhYmxlLCBhbmQgc3VibGljZW5zYWJsZSByaWdodCBhbmQgbGljZW5zZSB0byB1c2UsIHNoYXJlLCByZXByb2R1Y2UsIGRpc3RyaWJ1dGUsIHNlbGwsIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcyBvZiwgZXhjZXJwdCwgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgaG9zdCwgY2FjaGUsIHJvdXRlLCB0cmFuc21pdCwgc3RvcmUsIHJlZm9ybWF0LCBleGNlcnB0LCBlZGl0LCBhcmNoaXZlLCBpbmRleCwgY3JlYXRlIGFsZ29yaXRobXMgYmFzZWQgb24sIG1vZGlmeSwgYW5kL29yIHRyYW5zY29kZSBzdWNoIENvbnRlbnQgaW4gYW55IGFuZCBhbGwgZm9ybWF0cyBhbmQgdGhyb3VnaCBhbnkgYW5kIGFsbCBtZWFucyBhbmQgY2hhbm5lbHMsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhyb3VnaCBkb3dubG9hZGluZyB0ZWNobm9sb2dpZXMsIG9uIHRoZSBpbnRlcm5ldCwgYW5kIGluIHB1YmxpY2F0aW9ucyBhbmQgYWR2ZXJ0aXNlbWVudHMuJm5ic3A7IFlvdSBhbHNvIGhlcmVieSBpcnJldm9jYWJseSB3YWl2ZSwgYXMgYWdhaW5zdCB0aGUgVHJpYnV0ZSBUZWNobm9sb2d5IFBhcnRpZXMsIGFsbCBtb3JhbCByaWdodHMgYW5kIHJpZ2h0cyBvZiByZXN0cmFpbnQgaW4gc3VjaCBDb250ZW50LiZuYnNwOyBUaGUgbGljZW5zZSwgY29uc2VudCwgYW5kIHJlbGVhc2UgaGVyZWluIGFyZSBiaW5kaW5nIHVwb24geW91IGFuZCB5b3VyIGhlaXJzLCBleGVjdXRvcnMsIGFkbWluaXN0cmF0b3JzLCBzdWNjZXNzb3JzLCBsaWNlbnNlZXMsIGFuZCBhc3NpZ25zLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPHA+RXhjZXB0IGZvciBDb250ZW50LCBhbGwgdGV4dCwgZ3JhcGhpY3MsIHBob3RvZ3JhcGhzLCB2aWRlb3MsIHVzZXIgaW50ZXJmYWNlcywgdHJhZGVtYXJrcywgbG9nb3MsIHRhZ2xpbmVzLCBhbmltYXRpb25zLCBzb3VuZHMsIG11c2ljIGFuZCBvdGhlciBtYXRlcmlhbHMgY29udGFpbmVkIG9uIG9yIGNvbXByaXNpbmcgdGhlIFNlcnZpY2VzLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBkZXNpZ24sIHN0cnVjdHVyZSwgc2VsZWN0aW9uLCBvcmdhbml6YXRpb24sIGNvbXBpbGF0aW9uLCBkaXNwbGF5LCBhcnJhbmdlbWVudCwgZXhwcmVzc2lvbiwgYW5kICZsZHF1bztsb29rIGFuZCBmZWVsJnJkcXVvOyBvZiB0aGUgU2l0ZXMgYW5kIFNlcnZpY2VzLCBhbmQgdGhlIHNvZnR3YXJlIGNvbXByaXNpbmcgYW5kL29yIGVtYm9keWluZyB0aGUgZm9yZWdvaW5nIChjb2xsZWN0aXZlbHksIHRoZSAmbGRxdW87VHJpYnV0ZSBUZWNobm9sb2d5IE1hdGVyaWFscyZyZHF1bzspLCBhcmUgb3duZWQsIGNvbnRyb2xsZWQsIG9yIGxpY2Vuc2VkIGJ5IG9yIHRvIFRyaWJ1dGUgVGVjaG5vbG9neSwgYW5kIGFyZSBwcm90ZWN0ZWQgdW5kZXIgYXBwbGljYWJsZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgbGF3cywgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiBjb3B5cmlnaHQsIHRyYWRlIGRyZXNzLCB0cmFkZW1hcmssIGFuZC9vciBwYXRlbnQgbGF3cy4mbmJzcDsgWW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzIGdpdmVzIHlvdSBubyBvd25lcnNoaXAgcmlnaHRzIGluIHRoZSBUcmlidXRlIFRlY2hub2xvZ3kgTWF0ZXJpYWxzLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPlRyaWJ1dGUgVGVjaG5vbG9neSwgb3IgdGhpcmQgcGFydGllcyBmcm9tIHdob20gVHJpYnV0ZSBUZWNobm9sb2d5IGhhcyBwZXJtaXNzaW9uLCBvd24gdGhlIHRyYWRlbWFya3MgYW5kIHNlcnZpY2UgbWFya3MgdGhhdCBhcmUgdXNlZCBpbiB0aGUgU2VydmljZXMuJm5ic3A7IEFsbCByaWdodHMgYXJlIHJlc2VydmVkIGJ5IFRyaWJ1dGUgVGVjaG5vbG9neSBhbmQgc2FpZCB0aGlyZCBwYXJ0aWVzLCBhbmQgbm8gaW1wbGllZCByaWdodHMgYXJlIGdyYW50ZWQgdG8geW91IG9yIGFueSB0aGlyZCBwYXJ0aWVzLiZuYnNwOyBUaGVzZSBhbmQgb3RoZXIgZ3JhcGhpY3MsIGxvZ29zLCBzZXJ2aWNlIG1hcmtzLCB0cmFkZW1hcmtzLCBhbmQgdHJhZGUgZHJlc3Mgb2YgVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgbGljZW5zb3JzIG1heSBub3QgYmUgdXNlZCB3aXRob3V0IHByaW9yIHdyaXR0ZW4gY29uc2VudCBvZiBUcmlidXRlIFRlY2hub2xvZ3kgb3IgaXRzIGxpY2Vuc29yLCBhcyB0aGUgY2FzZSBtYXkgYmUuJm5ic3A7IFdpdGhvdXQgbGltaXRpbmcgdGhlIGZvcmVnb2luZywgbm8gVHJpYnV0ZSBUZWNobm9sb2d5IHRyYWRlbWFyayBvciB0cmFkZSBkcmVzcyBtYXkgYmUgdXNlZCBpbiBjb25uZWN0aW9uIHdpdGggYW55IHByb2R1Y3Qgb3Igc2VydmljZSB0aGF0IGlzIG5vdCBUcmlidXRlIFRlY2hub2xvZ3kncyBpbiBhbnkgbWFubmVyIHRoYXQgaXMgbGlrZWx5IHRvIGNhdXNlIGNvbmZ1c2lvbiBhbW9uZyB1c2Vycywgb3IgaW4gYW55IG1hbm5lciB0aGF0IGRpc3BhcmFnZXMgb3IgZGlzY3JlZGl0cyBUcmlidXRlIFRlY2hub2xvZ3kuJm5ic3A7PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+WW91IGdyYW50IFRyaWJ1dGUgVGVjaG5vbG9neSBhIHBlcnBldHVhbCwgcm95YWx0eSBmcmVlLCBpcnJldm9jYWJsZSwgc3ViLWxpY2Vuc2FibGUsIGFzc2lnbmFibGUsIGFuZCB0cmFuc2ZlcmFibGUgbGljZW5zZSB0byBhbnkgZmVlZGJhY2ssIHN1Ym1pc3Npb25zLCBpZGVhcywgY29uY2VwdHMsIGtub3cgaG93LCBvciB0ZWNobmlxdWVzIHRoYXQgeW91IHN1Ym1pdCBhYm91dCB0aGUgU2VydmljZXMgb3IgVHJpYnV0ZSBUZWNobm9sb2d5IE1hdGVyaWFscyBmb3IgYW55IHB1cnBvc2UgKGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBjb21tZXJjaWFsaXphdGlvbikgYW5kIHdpdGhvdXQgY29tcGVuc2F0aW9uIHRvIHlvdS48L3A+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Vc2VyIENvbnRlbnQuPC9zdHJvbmc+Jm5ic3A7WW91IHJlcHJlc2VudCBhbmQgd2FycmFudCB0aGF0IHlvdSBvd24gb3Igb3RoZXJ3aXNlIGhhdmUgdGhlIHJpZ2h0cywgbGljZW5zZXMsIGNvbnNlbnRzIGFuZCBwZXJtaXNzaW9ucyBuZWNlc3NhcnkgdG8gcHJvdmlkZSBUcmlidXRlIFRlY2hub2xvZ3kgdGhlIENvbnRlbnQgeW91IHByb3ZpZGUgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGJlbGlldmUgdGhhdCB5b3VyIENvbnRlbnQgb3IgYW55IG90aGVyIG1hdGVyaWFsIHBvc3RlZCBpbiBjb25uZWN0aW9uIHdpdGggdGhlIFNlcnZpY2VzIGhhcyBiZWVuIHVzZWQgaW4gYSB3YXkgdGhhdCBjb25zdGl0dXRlcyBjb3B5cmlnaHQgaW5mcmluZ2VtZW50LCBwbGVhc2Ugbm90aWZ5IHVzIGZvbGxvd2luZyB0aGUgcHJvY2VkdXJlcyBzZXQgZm9ydGggaW4gdGhpcyBTZWN0aW9uLjwvbGk+DQo8L29sPg0KPHA+PHN0cm9uZz4mbmJzcDs8L3N0cm9uZz48L3A+DQo8cD5XZSByZXNwZWN0IHRoZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIG90aGVycyBhbmQgZXhwZWN0IG91ciB1c2VycyB0byBkbyB0aGUgc2FtZS4gSW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBEaWdpdGFsIE1pbGxlbm5pdW0gQ29weXJpZ2h0IEFjdCwgd2Ugd2lsbCByZXNwb25kIHByb21wdGx5IHRvIG5vdGljZXMgb2YgYWxsZWdlZCBpbmZyaW5nZW1lbnQgdGhhdCBhcmUgcmVwb3J0ZWQgdG8gb3VyIGRlc2lnbmF0ZWQgQ29weXJpZ2h0IEFnZW50LCBpZGVudGlmaWVkIGJlbG93LjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjx1Pk5vdGljZXMgb2YgQWxsZWdlZCBJbmZyaW5nZW1lbnQ8L3U+OjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPklmIHlvdSBhcmUgYSBjb3B5cmlnaHQgb3duZXIsIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiBvbmUsIG9yIGF1dGhvcml6ZWQgdG8gYWN0IHVuZGVyIGFueSBleGNsdXNpdmUgcmlnaHQgdW5kZXIgY29weXJpZ2h0LCBwbGVhc2UgcmVwb3J0IGFsbGVnZWQgY29weXJpZ2h0IGluZnJpbmdlbWVudHMgdGFraW5nIHBsYWNlIG9uIG9yIHRocm91Z2ggb3VyIFNlcnZpY2VzIGJ5IHNlbmRpbmcgdXMgYSBub3RpY2UgKCZsZHF1bztOb3RpY2UmcmRxdW87KSBjb21wbHlpbmcgd2l0aCB0aGUgZm9sbG93aW5nIHJlcXVpcmVtZW50cy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+SWRlbnRpZnkgdGhlIGNvcHlyaWdodGVkIHdvcmtzIHRoYXQgeW91IGNsYWltIGhhdmUgYmVlbiBpbmZyaW5nZWQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+SWRlbnRpZnkgdGhlIG1hdGVyaWFsIG9yIGxpbmsgeW91IGNsYWltIGlzIGluZnJpbmdpbmcgKG9yIHRoZSBzdWJqZWN0IG9mIGluZnJpbmdpbmcgYWN0aXZpdHkpIGFuZCB0aGF0IGFjY2VzcyB0byB3aGljaCBpcyB0byBiZSBkaXNhYmxlZCwgaW5jbHVkaW5nIGF0IGEgbWluaW11bSwgaWYgYXBwbGljYWJsZSwgdGhlIFVSTCBvZiB0aGUgbGluayBzaG93biBvbiB0aGUgU2l0ZSB3aGVyZSBzdWNoIG1hdGVyaWFsIG1heSBiZSBmb3VuZC48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5Qcm92aWRlIHlvdXIgbWFpbGluZyBhZGRyZXNzLCB0ZWxlcGhvbmUgbnVtYmVyLCBhbmQsIGlmIGF2YWlsYWJsZSwgZW1haWwgYWRkcmVzcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5JbmNsdWRlIGJvdGggb2YgdGhlIGZvbGxvd2luZyBzdGF0ZW1lbnRzIGluIHRoZSBib2R5IG9mIHRoZSBOb3RpY2U6PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8cD4iSSBoZXJlYnkgc3RhdGUgdGhhdCBJIGhhdmUgYSBnb29kIGZhaXRoIGJlbGllZiB0aGF0IHRoZSBkaXNwdXRlZCB1c2Ugb2YgdGhlIGNvcHlyaWdodGVkIG1hdGVyaWFsIGlzIG5vdCBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIsIGl0cyBhZ2VudCwgb3IgdGhlIGxhdyAoZS5nLiwgYXMgYSBmYWlyIHVzZSkuIjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPiJJIGhlcmVieSBzdGF0ZSB0aGF0IHRoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIE5vdGljZSBpcyBhY2N1cmF0ZSBhbmQsIHVuZGVyIHBlbmFsdHkgb2YgcGVyanVyeSwgdGhhdCBJIGFtIHRoZSBvd25lciwgb3IgYXV0aG9yaXplZCB0byBhY3Qgb24gYmVoYWxmIG9mIHRoZSBvd25lciwgb2YgdGhlIGNvcHlyaWdodCBvciBvZiBhbiBleGNsdXNpdmUgcmlnaHQgdW5kZXIgdGhlIGNvcHlyaWdodCB0aGF0IGlzIGFsbGVnZWRseSBpbmZyaW5nZWQuIjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5Qcm92aWRlIHlvdXIgZnVsbCBsZWdhbCBuYW1lIGFuZCB5b3VyIGVsZWN0cm9uaWMgb3IgcGh5c2ljYWwgc2lnbmF0dXJlLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPHA+UGxlYXNlIGRlbGl2ZXIgdGhpcyBOb3RpY2UsIHdpdGggYWxsIGl0ZW1zIGNvbXBsZXRlZCwgdG8gb3VyIGRlc2lnbmF0ZWQgQ29weXJpZ2h0IEFnZW50IGF0IHRoZSBmb2xsb3dpbmcgYWRkcmVzczo8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5Db3B5cmlnaHQgQWdlbnQ8L3A+DQo8cD5jL28gVHJpYnV0ZSBUZWNobm9sb2d5PC9wPg0KPHA+MjUwMSBQYXJtZW50ZXIgU3RyZWV0LCBTdWl0ZSAzMDBDPC9wPg0KPHA+TWlkZGxldG9uLCBXSSA1MzU2MjwvcD4NCjxwPlBob25lOiA4NjYtMzAzLTE4ODA8L3A+DQo8cD5FbWFpbDogY29weXJpZ2h0QHRyaWJ1dGV0ZWNoLmNvbTwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPlRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgYWRvcHRlZCBhbmQgaW1wbGVtZW50cyBhIHBvbGljeSB0aGF0IHByb3ZpZGVzIGZvciB0ZXJtaW5hdGlvbiBpbiBhcHByb3ByaWF0ZSBjaXJjdW1zdGFuY2VzIG9mIGFjY291bnRzIG9mIHVzZXJzIHdobyByZXBlYXRlZGx5IGluZnJpbmdlIGNvcHlyaWdodCBvciBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIFRyaWJ1dGUgVGVjaG5vbG9neSBvciBvdGhlcnMuJm5ic3A7PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+SW5kZW1uaWZpY2F0aW9uLjwvc3Ryb25nPiZuYnNwO1lvdSBhZ3JlZSB0aGF0IHlvdSB3aWxsIGJlIHBlcnNvbmFsbHkgcmVzcG9uc2libGUgZm9yIHlvdXIgdXNlIG9mIHRoZSBTZXJ2aWNlcywgYW5kIHlvdSBhZ3JlZSB0byBkZWZlbmQsIGluZGVtbmlmeSwgYW5kIGhvbGQgaGFybWxlc3MgVHJpYnV0ZSBUZWNobm9sb2d5LCBpdHMgYWZmaWxpYXRlcywgYW5kIGVhY2ggb2YgdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3RvcnMsIG9mZmljZXJzLCBlbXBsb3llZXMgYW5kIGFnZW50cyBmcm9tIGFuZCBhZ2FpbnN0IGFueSBhbmQgYWxsIGNsYWltcywgbGlhYmlsaXRpZXMsIGRhbWFnZXMsIGxvc3NlcywgYW5kIGV4cGVuc2VzIChpbmNsdWRpbmcgYXR0b3JuZXlzJyBhbmQgYWNjb3VudGluZyBmZWVzIGFuZCBjb3N0cyksIGFyaXNpbmcgb3V0IG9mIG9yIGluIGFueSB3YXkgY29ubmVjdGVkIHdpdGggKGkpIHlvdXIgYWNjZXNzIHRvLCB1c2Ugb2YsIG9yIGFsbGVnZWQgdXNlIG9mIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGludm9sdmluZyBhbnkgQ29udGVudCB5b3UgcG9zdCBvciBzdWJtaXQgdG8gdXMgb3IgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlczsgKGlpKSB5b3VyIHZpb2xhdGlvbiBvZiB0aGUgVGVybXMgb3IgYW55IGFwcGxpY2FibGUgbGF3IG9yIHJlZ3VsYXRpb247IChpaWkpIHlvdXIgdmlvbGF0aW9uIG9mIGFueSB0aGlyZCBwYXJ0eSByaWdodCwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiBhbnkgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0LCBwdWJsaWNpdHksIGNvbmZpZGVudGlhbGl0eSwgcHJvcGVydHksIG9yIHByaXZhY3kgcmlnaHQ7IChpdikgYW55IGRpc3B1dGVzIG9yIGlzc3VlcyBiZXR3ZWVuIHlvdSBhbmQgYW55IHRoaXJkIHBhcnR5OyBvciAodikgYWNjZXNzIHRvLCB1c2Ugb2YsIG9yIGFsbGVnZWQgdXNlIG9mIHRoZSBTZXJ2aWNlcyBieSBhbnlvbmUgYWNjZXNzaW5nIHRoZSBTZXJ2aWNlcyB1c2luZyB5b3VyIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuIFRyaWJ1dGUgVGVjaG5vbG9neSByZXNlcnZlcyB0aGUgcmlnaHQsIGF0IG91ciBvd24gZXhwZW5zZSwgdG8gYXNzdW1lIHRoZSBleGNsdXNpdmUgZGVmZW5zZSBhbmQgY29udHJvbCBvZiBhbnkgbWF0dGVyIG90aGVyd2lzZSBzdWJqZWN0IHRvIGluZGVtbmlmaWNhdGlvbiBieSB5b3UsIGFuZCBpbiBzdWNoIGNhc2UsIHlvdSBhZ3JlZSB0byBjb29wZXJhdGUgd2l0aCBvdXIgZGVmZW5zZSBvZiBzdWNoIGNsYWltLiBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCBhbmQgd2l0aG91dCBsaW1pdGluZyB0aGUgZm9yZWdvaW5nLCB5b3UgYWdyZWUgdG8gaW5kZW1uaWZ5IFRyaWJ1dGUgVGVjaG5vbG9neSBhZ2FpbnN0IGFueSBjbGFpbXMgdGhhdCBDb250ZW50IHlvdSBzdWJtaXQgdG8gVHJpYnV0ZSBUZWNobm9sb2d5IHZpb2xhdGVzIHRoZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgYW5kL29yIHByaXZhY3kgcmlnaHRzIG9mIGFueSBwZXJzb24gb3IgdGhpcmQgcGFydHkuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5UZXJtaW5hdGlvbi48L3N0cm9uZz4mbmJzcDtJZiB5b3UgdmlvbGF0ZSB0aGVzZSBUZXJtcywgeW91ciBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgU2VydmljZXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZS4gSW4gYWRkaXRpb24sIFRyaWJ1dGUgVGVjaG5vbG9neSBpbiBpdHMgc29sZSBkaXNjcmV0aW9uIG1heSBzdXNwZW5kIG9yIHRlcm1pbmF0ZSB5b3VyIHVzZXIgYWNjb3VudCBhbmQvb3Igc3VzcGVuZCBvciB0ZXJtaW5hdGUgc29tZSBvciBhbGwgb2YgeW91ciBhY2Nlc3MgdG8gdGhlIFNlcnZpY2VzIGF0IGFueSB0aW1lLCB3aXRoIG9yIHdpdGhvdXQgbm90aWNlIHRvIHlvdS4gWW91IG1heSB0ZXJtaW5hdGUgeW91ciBhY2NvdW50IGF0IGFueSB0aW1lIGJ5IGNvbnRhY3RpbmcgVHJpYnV0ZSBUZWNobm9sb2d5IGF0Jm5ic3A7d2Vic2l0ZXNAdHJpYnV0ZXRlY2guY29tLiBBZnRlciB5b3VyIGFjY291bnQgaXMgdGVybWluYXRlZCwgaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQgcHJldmlvdXNseSBwcm92aWRlZCBieSB5b3Ugd2lsbCBubyBsb25nZXIgYmUgYWNjZXNzaWJsZSB0aHJvdWdoIHlvdXIgYWNjb3VudCwgYnV0IFRyaWJ1dGUgVGVjaG5vbG9neSBtYXkgY29udGludWUgdG8gc3RvcmUgc3VjaCBpbmZvcm1hdGlvbiBhbmQgY29udGVudCwgYW5kIGl0IG1heSBhbHNvIGJlIHN0b3JlZCBieSB0aGlyZCBwYXJ0aWVzIHRvIHdob20gaXQgaGFzIGJlZW4gdHJhbnNmZXJyZWQgdGhyb3VnaCB5b3VyIHVzZSBvZiB0aGUgU2VydmljZXMuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Nb2RpZmljYXRpb24gb2YgdGhlIFRlcm1zLjwvc3Ryb25nPiZuYnNwO1RyaWJ1dGUgVGVjaG5vbG9neSByZXNlcnZlcyB0aGUgcmlnaHQgYXQgYW55IHRpbWUgdG8gbW9kaWZ5IHRoZXNlIFRlcm1zIGFuZCB0byBpbXBvc2UgbmV3IG9yIGFkZGl0aW9uYWwgdGVybXMgb3IgY29uZGl0aW9ucyBvbiB5b3VyIHVzZSBvZiB0aGUgU2VydmljZXMuIFN1Y2ggbW9kaWZpY2F0aW9ucyBhbmQgYWRkaXRpb25hbCB0ZXJtcyBhbmQgY29uZGl0aW9ucyB3aWxsIGJlIGVmZmVjdGl2ZSBpbW1lZGlhdGVseSBhbmQgaW5jb3Jwb3JhdGVkIGludG8gdGhlc2UgVGVybXMgdXBvbiB1cGRhdGluZyB0aGUgcG9zdGluZyBvZiB0aGVzZSBUZXJtcy4gV2Ugd2lsbCBtYWtlIHJlYXNvbmFibGUgZWZmb3J0cyB0byBub3RpZnkgeW91IG9mIGFueSBtYXRlcmlhbCBjaGFuZ2VzIHRvIHRoZSBUZXJtcywgaW5jbHVkaW5nIGJ5IHVwZGF0aW5nIHRoaXMgcG9zdGluZy4gWW91IHNob3VsZCwgdGhlcmVmb3JlLCBwZXJpb2RpY2FsbHkgdmlzaXQgdGhpcyBwYWdlIHRvIHJldmlldyB0aGUgY3VycmVudCBUZXJtcywgc28geW91IGFyZSBhd2FyZSBvZiBhbnkgc3VjaCByZXZpc2lvbnMgdG8gd2hpY2ggeW91IGFyZSBib3VuZC4gWW91ciBjb250aW51ZWQgdXNlIG9mIHRoZSBTZXJ2aWNlcyBmb2xsb3dpbmcgcmV2aXNpb25zIHRvIHRoZXNlIFRlcm1zIHdpbGwgYmUgZGVlbWVkIGFjY2VwdGFuY2Ugb2YgYW55IG1vZGlmaWNhdGlvbnMgdG8gdGhlIFRlcm1zLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+RGlzY2xhaW1lcnMgb2YgV2FycmFudGllcy48L3N0cm9uZz4mbmJzcDtUSEUgU0VSVklDRVMgQVJFIFBST1ZJREVEICZsZHF1bztBUyBJUyZyZHF1bzsgQU5EIE9OIEFOICZsZHF1bztBUyBBVkFJTEFCTEUmcmRxdW87IEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRZIE9SIENPTkRJVElPTiBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRC4mbmJzcDsgQWx0aG91Z2ggVHJpYnV0ZSBUZWNobm9sb2d5IHNlZWtzIHRvIG1haW50YWluIHNhZmUsIHNlY3VyZSwgYWNjdXJhdGUsIGFuZCB3ZWxsLWZ1bmN0aW9uaW5nIHNlcnZpY2VzLCB3ZSBjYW5ub3QgZ3VhcmFudGVlIHRoZSBjb250aW51b3VzIG9wZXJhdGlvbiBvZiBvciBhY2Nlc3MgdG8gb3VyIFNlcnZpY2VzLCBhbmQgdGhlcmUgbWF5IGF0IHRpbWVzIGJlIGluYWR2ZXJ0ZW50IHRlY2huaWNhbCBvciBmYWN0dWFsIGVycm9ycyBvciBpbmFjY3VyYWNpZXMuJm5ic3A7IFRSSUJVVEUgVEVDSE5PTE9HWSBTUEVDSUZJQ0FMTFkgKEJVVCBXSVRIT1VUIExJTUlUQVRJT04pIERJU0NMQUlNUyAoSSkgQU5ZIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBRVUFMSVRZIE9GIElORk9STUFUSU9OLCBRVUlFVCBFTkpPWU1FTlQsIEFORCBUSVRMRS9OT04tSU5GUklOR0VNRU5UOyBBTkQgKElJKSBBTlkgV0FSUkFOVElFUyBBUklTSU5HIE9VVCBPRiBDT1VSU0UtT0YtREVBTElORywgVVNBR0UsIE9SIFRSQURFLiZuYnNwOyBZT1UgQVNTVU1FIEFMTCBSSVNLIEZPUiBBTlkvQUxMIERBTUFHRVMgVEhBVCBNQVkgUkVTVUxUIEZST00gWU9VUiBVU0UgT0YgT1IgQUNDRVNTIFRPIFRIRSBTSVRFUyBBTkQgVEhFIFNFUlZJQ0VTLiZuYnNwOyBUUklCVVRFIFRFQ0hOT0xPR1kgRE9FUyBOT1QgV0FSUkFOVCBPUiBHVUFSQU5URUUgVEhFIEFDQ1VSQUNZLCBDT01QTEVURU5FU1MgT1IgVElNRUxJTkVTUyBPRiwgQU5EIERJU0NMQUlNUyBBTEwgTElBQklMSVRZIEZPUiwgQU5ZIEVSUk9SUyBPUiBPVEhFUiBJTkFDQ1VSQUNJRVMgSU4gVEhFIElORk9STUFUSU9OLCBDT05URU5ULCBSRUNPTU1FTkRBVElPTlMgQU5EIE1BVEVSSUFMUyBNQURFIEFWQUlMQUJMRSBUSFJPVUdIIFRIRSBTSVRFUyBPUiBUSEUgU0VSVklDRVMuIFRSSUJVVEUgVEVDSE5PTE9HWSBET0VTIE5PVCBXQVJSQU5UIFRIQVQgRklMRVMgQVZBSUxBQkxFIEZPUiBET1dOTE9BRCBXSUxMIEJFIEZSRUUgT0YgVklSVVNFUywgV09STVMsIFRST0pBTiBIT1JTRVMgT1IgT1RIRVIgREVTVFJVQ1RJVkUgUFJPR1JBTU1JTkcuIFlPVSBBUkUgUkVTUE9OU0lCTEUgRk9SIElNUExFTUVOVElORyBQUk9DRURVUkVTIFNVRkZJQ0lFTlQgVE8gU0FUSVNGWSBZT1VSIE5FRURTIEZPUiBEQVRBIEJBQ0sgVVAgQU5EIFNFQ1VSSVRZLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+TGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuPC9zdHJvbmc+Jm5ic3A7SU4gTk8gRVZFTlQgV0lMTCBUUklCVVRFIFRFQ0hOT0xPR1kgT1IgSVRTIEFGRklMSUFURVMsIFZFTkRPUlMsIFNVUFBMSUVSUywgT1IgUEFSVE5FUlMgQkUgTElBQkxFIFRPIFlPVSBGT1IgQU5ZIElOQ0lERU5UQUwsIFNQRUNJQUwsIENPTlNFUVVFTlRJQUwsIElORElSRUNULCBFWEVNUExBUlkgT1IgUFVOSVRJVkUgREFNQUdFUyAoSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIFRIT1NFIFJFU1VMVElORyBGUk9NIExPU1QgUFJPRklUUywgTE9TVCBEQVRBLCBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pLCBXSEVUSEVSIEJBU0VEIE9OIFdBUlJBTlRZLCBDT05UUkFDVCwgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UpLCBTVEFUVVRFLCBPUiBBTlkgT1RIRVIgTEVHQUwgVEhFT1JZLCBXSEVUSEVSIE9SIE5PVCBUUklCVVRFIFRFQ0hOT0xPR1kgSEFTIEJFRU4gSU5GT1JNRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPHA+Tk9UV0lUSFNUQU5ESU5HIEFOWVRISU5HIFRPIFRIRSBDT05UUkFSWSBJTiBUSEVTRSBURVJNUywgVU5ERVIgTk8gQ0lSQ1VNU1RBTkNFUyBTSEFMTCBUUklCVVRFIFRFQ0hOT0xPR1kmcnNxdW87UywgT1IgSVRTIEFGRklMSUFURSZyc3F1bztTLCBWRU5ET1ImcnNxdW87UywgU1VQUExJRVImcnNxdW87UywgT1IgUEFSVE5FUiZyc3F1bztTLCBBR0dSRUdBVEUgTElBQklMSVRZIFRPIFlPVSBFWENFRUQgVEhFIExFU1NFUiBPRiBUSEUgQU1PVU5UIFlPVSBQQUlEIFRPIFVTIEZPUiBUSEUgUFJPRFVDVCBPUiBTRVJWSUNFIFJFTEFURUQgVE8gVEhFIENMQUlNLCBJRiBBTlksIE9SIE9ORSBIVU5EUkVEIERPTExBUlMgKCQxMDApLiZuYnNwOyBTT01FIEpVUklTRElDVElPTlMgRE8gTk9UIEFMTE9XIFRIRSBESVNDTEFJTUVSIE9GIFdBUlJBTlRJRVMgT1IgTElNSVRBVElPTiBPRiBMSUFCSUxJVFkgSU4gQ0VSVEFJTiBDSVJDVU1TVEFOQ0VTLiZuYnNwOyBBQ0NPUkRJTkdMWSwgU09NRSBPRiBUSEUgQUJPVkUgTElNSVRBVElPTlMgTUFZIE5PVCBBUFBMWSBUTyBZT1UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+SW50ZXJwcmV0YXRpb25zIGFuZCBEaXNwdXRlcy48L3N0cm9uZz4mbmJzcDtZT1UgQU5EIFRSSUJVVEUgVEVDSE5PTE9HWSBBUkUgQUdSRUVJTkcgVE8gR0lWRSBVUCBBTlkgUklHSFRTIFRPIExJVElHQVRFIENMQUlNUyBJTiBBIENPVVJUIE9SIEJFRk9SRSBBIEpVUlksIE9SIFRPIFBBUlRJQ0lQQVRFIElOIEEgQ0xBU1MgQUNUSU9OIE9SIFJFUFJFU0VOVEFUSVZFIEFDVElPTiBXSVRIIFJFU1BFQ1QgVE8gQSBDTEFJTS4mbmJzcDsgT1RIRVIgUklHSFRTIFRIQVQgWU9VIFdPVUxEIEhBVkUgSUYgWU9VIFdFTlQgVE8gQ09VUlQgTUFZIEFMU08gQkUgVU5BVkFJTEFCTEUgT1IgTUFZIEJFIExJTUlURUQgSU4gQVJCSVRSQVRJT04uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+QU5ZIENMQUlNLCBESVNQVVRFIE9SIENPTlRST1ZFUlNZIChXSEVUSEVSIElOIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgV0hFVEhFUiBQUkUtRVhJU1RJTkcsIFBSRVNFTlQgT1IgRlVUVVJFLCBBTkQgSU5DTFVESU5HIFNUQVRVVE9SWSwgQ09OU1VNRVIgUFJPVEVDVElPTiwgQ09NTU9OIExBVywgSU5URU5USU9OQUwgVE9SVCwgSU5KVU5DVElWRSBBTkQgRVFVSVRBQkxFIENMQUlNUykgQkVUV0VFTiBZT1UgQU5EIFVTIEFSSVNJTkcgRlJPTSBPUiBSRUxBVElORyBJTiBBTlkgV0FZIFRPIFRIRVNFIFRFUk1TIE9SIFlPVVIgVVNFIE9GIFRIRSBTSVRFIE9SIFNFUlZJQ0VTLCBJTkNMVURJTkcgQU5ZIFBVUkNIQVNFIE9SIFVTRSBPRiBPVVIgU0VSVklDRVMgT1IgUFJPRFVDVFMsIFdJTEwgQkUgUkVTT0xWRUQgRVhDTFVTSVZFTFkgQU5EIEZJTkFMTFkgQlkgQklORElORyBBUkJJVFJBVElPTi48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbCBzdGFydD0iNzg3OSI+DQo8bGk+SWYgdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQsIG9yIG90aGVyIGJ1c2luZXNzIG9uIHdob3NlIHdlYnNpdGUgdGhlc2UgVGVybXMgYXBwZWFyLCBpcyBpbiB0aGUgVW5pdGVkIFN0YXRlcyBvciBhbnl3aGVyZSBlbHNlIGluIHRoZSB3b3JsZCBvdXRzaWRlIG9mIENhbmFkYSwgYXJiaXRyYXRpb24gd2lsbCBiZSBhZG1pbmlzdGVyZWQgYnkgdGhlIEFtZXJpY2FuIEFyYml0cmF0aW9uIEFzc29jaWF0aW9uICgmbGRxdW87QUFBJnJkcXVvOykgaW4gYWNjb3JkYW5jZSB3aXRoIGVpdGhlciB0aGUgQ29uc3VtZXIgQXJiaXRyYXRpb24gUnVsZXMgb3IgdGhlIENvbW1lcmNpYWwgQXJiaXRyYXRpb24gUnVsZXMgYXMgYXBwbGljYWJsZSAodGhlICZsZHF1bztBQUEgUnVsZXMmcmRxdW87KSB0aGVuIGluIGVmZmVjdCwgZXhjZXB0IGFzIG1vZGlmaWVkIGJ5IHRoaXMgU2VjdGlvbiAxMiwgYW5kIHRoZSBGZWRlcmFsIEFyYml0cmF0aW9uIEFjdCAoJmxkcXVvO0ZBQSZyZHF1bzspIHdpbGwgZ292ZXJuIHRoZSBpbnRlcnByZXRhdGlvbiBhbmQgZW5mb3JjZW1lbnQgb2YgdGhpcyBTZWN0aW9uIDEyOyBwcm92aWRlZCwgdGhhdCBpZiB0aGUgRkFBIGlzIGluYXBwbGljYWJsZSBmb3IgYW55IHJlYXNvbiwgdGhlIGFwcGxpY2FibGUgZ292ZXJuaW5nIGxhdyBpZGVudGlmaWVkIGluIHRoZSB0YWJsZSBpbiBTZWN0aW9uIDEzIHNoYWxsIGFwcGx5LCBpbmNsdWRpbmcgd2l0aCByZXNwZWN0IHRvIERlbGF3YXJlIGxhdywgRGVsLiBDb2RlIHRpdC4gMTAgJnNlY3Q7IDU3MDEgZXQgc2VxLCB3aXRob3V0IHJlZ2FyZCB0byBjaG9pY2Ugb2YgbGF3IHByaW5jaXBsZXMuIChUaGUgQUFBIFJ1bGVzIGFyZSBhdmFpbGFibGUgYXQgYWRyLm9yZyBvciBieSBjYWxsaW5nIHRoZSBBQUEgYXQgMS04MDAtNzc4LTc4NzkuKSBVbmxlc3MgeW91IGFuZCB3ZSBtdXR1YWxseSBhZ3JlZSBvdGhlcndpc2UsIGFueSBpbi1wZXJzb24gYXJiaXRyYXRpb24gaGVhcmluZ3MgYmV0d2VlbiB5b3UgYW5kIHVzIHdpbGwgdGFrZSBwbGFjZSBpbiB0aGUgYXBwbGljYWJsZSBqdXJpc2RpY3Rpb24gbGlzdGVkIGluIHRoZSB0YWJsZSBpbiBTZWN0aW9uIDEzIGJlbG93LjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sIHN0YXJ0PSI4NDUiPg0KPGxpPklmIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnVzaW5lc3MgYWRkcmVzcyBvZiB0aGUgQ2xpZW50LCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoZXNlIFRlcm1zIGFwcGVhciwgaXMgaW4gQ2FuYWRhLCBhcmJpdHJhdGlvbiB3aWxsIGJlIGFkbWluaXN0ZXJlZCBieSB0aGUgSW50ZXJuYXRpb25hbCBDZW50cmUgZm9yIERpc3B1dGUgUmVzb2x1dGlvbiBDYW5hZGEgKCZsZHF1bztJQ0RSIENhbmFkYSZyZHF1bzspIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2FuYWRpYW4gQXJiaXRyYXRpb24gUnVsZXMgKHRoZSAmbGRxdW87SUNEUiBDYW5hZGEgQXJiaXRyYXRpb24gUnVsZXMmcmRxdW87KSB0aGVuIGluIGVmZmVjdCwgZXhjZXB0IGFzIG1vZGlmaWVkIGJ5IHRoaXMgU2VjdGlvbi4gKFRoZSBJQ0RSIENhbmFkYSBBcmJpdHJhdGlvbiBSdWxlcyBhcmUgYXZhaWxhYmxlIGF0IElDRFIub3JnIG9yIGJ5IGNhbGxpbmcgdGhlIElDRFIgQ2FuYWRhIGF0IDEtODQ0LTg1OS0wODQ1LikgVGhlIHNlYXQgb2YgYXJiaXRyYXRpb24gc2hhbGwgYmUgVG9yb250bywgT250YXJpby4gVW5sZXNzIHlvdSBhbmQgd2UgbXV0dWFsbHkgYWdyZWUgb3RoZXJ3aXNlLCBhbnkgaW4tcGVyc29uIGFyYml0cmF0aW9uIGhlYXJpbmdzIGJldHdlZW4geW91IGFuZCB1cyB3aWxsIHRha2UgcGxhY2UgaW4gdGhlIGFwcGxpY2FibGUganVyaXNkaWN0aW9uIGxpc3RlZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBiZWxvdy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5FeGNlcHQgYXMgcHJvdmlkZWQgaGVyZWluLCB0aGUgYXJiaXRyYXRvciB3aWxsIGhhdmUgZXhjbHVzaXZlIGF1dGhvcml0eSB0byByZXNvbHZlIGFueSBkaXNwdXRlIHJlbGF0aW5nIHRvIGFyYml0cmFiaWxpdHkgYW5kL29yIGVuZm9yY2VhYmlsaXR5IG9mIHRoaXMgYXJiaXRyYXRpb24gcHJvdmlzaW9uLCBpbmNsdWRpbmcgYW55IHVuY29uc2Npb25hYmlsaXR5IGNoYWxsZW5nZSBvciBhbnkgb3RoZXIgY2hhbGxlbmdlIHRoYXQgdGhlIGFyYml0cmF0aW9uIHByb3Zpc2lvbiBvciB0aGUgVGVybXMgYXJlIHZvaWQsIHZvaWRhYmxlIG9yIG90aGVyd2lzZSBpbnZhbGlkLiBUaGUgYXJiaXRyYXRvciB3aWxsIGJlIGVtcG93ZXJlZCB0byBncmFudCB3aGF0ZXZlciByZWxpZWYgd291bGQgYmUgYXZhaWxhYmxlIGluIGNvdXJ0IHVuZGVyIGxhdyBvciBpbiBlcXVpdHkuJm5ic3A7IEFueSBhd2FyZCBvZiB0aGUgYXJiaXRyYXRvcihzKSB3aWxsIGJlIGZpbmFsIGFuZCBiaW5kaW5nIG9uIGVhY2ggb2YgdGhlIHBhcnRpZXMgYW5kIG1heSBiZSBlbnRlcmVkIGFzIGEganVkZ21lbnQgaW4gYW55IGNvdXJ0IG9mIGNvbXBldGVudCBqdXJpc2RpY3Rpb24uIFlvdSBhbmQgd2UgYWdyZWUgdGhhdCBuZWl0aGVyIHBhcnR5IHNoYWxsIGFwcGVhbCBhbnkgYXdhcmQgb2YgdGhlIGFyYml0cmF0b3IsIGluY2x1ZGluZyBhbnkgYXBwZWFsIG9uIGEgcXVlc3Rpb24gb2YgbGF3LCBxdWVzdGlvbiBvZiBmYWN0IG9yIHF1ZXN0aW9uIG9mIG1peGVkIGZhY3QgYW5kIGxhdy4mbmJzcDs8L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5XZSB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBwYXlpbmcgYW55IGluZGl2aWR1YWwgY29uc3VtZXImcnNxdW87cyBhcmJpdHJhdGlvbi9hcmJpdHJhdG9yIGZlZXMuIElmIGFuIGluZGl2aWR1YWwgY29uc3VtZXIgcHJldmFpbHMgb24gYW55IGNsYWltIHRoYXQgYWZmb3JkcyB0aGUgcHJldmFpbGluZyBwYXJ0eSBhdHRvcm5leXMnIGZlZXMsIHRoZSBhcmJpdHJhdG9yIG1heSBhd2FyZCByZWFzb25hYmxlIGZlZXMgdG8geW91IHVuZGVyIHRoZSBzdGFuZGFyZHMgZm9yIGZlZSBzaGlmdGluZyBwcm92aWRlZCBieSBsYXcuJm5ic3A7IEZvciB0aGUgYXZvaWRhbmNlIG9mIGRvdWJ0LCB0aGlzIFNlY3Rpb24gMTIoRSkgc2hhbGwgb25seSBhcHBseSB0byBpbmRpdmlkdWFsIGNvbnN1bWVycy4mbmJzcDs8L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5Zb3UgYWdyZWUgdG8gYW4gYXJiaXRyYXRpb24gb24gYW4gaW5kaXZpZHVhbCBiYXNpcy4gSW4gYW55IGRpc3B1dGUsIE5FSVRIRVIgWU9VIE5PUiBUUklCVVRFIFRFQ0hOT0xPR1kgV0lMTCBCRSBFTlRJVExFRCBUTyBKT0lOIE9SIENPTlNPTElEQVRFIENMQUlNUyBCWSBPUiBBR0FJTlNUIE9USEVSIENVU1RPTUVSUyBJTiBDT1VSVCBPUiBJTiBBUkJJVFJBVElPTiBPUiBPVEhFUldJU0UgUEFSVElDSVBBVEUgSU4gQU5ZIENMQUlNIEFTIEEgQ0xBU1MgUkVQUkVTRU5UQVRJVkUsIENMQVNTIE1FTUJFUiBPUiBJTiBBIFBSSVZBVEUgQVRUT1JORVkgR0VORVJBTCBDQVBBQ0lUWS4mbmJzcDsgVGhlIGFyYml0cmFsIHRyaWJ1bmFsIHNoYWxsIG5vdCBjb25zb2xpZGF0ZSBtb3JlIHRoYW4gb25lIHBlcnNvbidzIGNsYWltcyBhbmQgc2hhbGwgbm90IG90aGVyd2lzZSBwcmVzaWRlIG92ZXIgYW55IGZvcm0gb2YgYSByZXByZXNlbnRhdGl2ZSBvciBjbGFzcyBwcm9jZWVkaW5nLiZuYnNwOyBUaGUgYXJiaXRyYWwgdHJpYnVuYWwgaGFzIG5vIHBvd2VyIHRvIGNvbnNpZGVyIHRoZSBlbmZvcmNlYWJpbGl0eSBvZiB0aGlzIGNsYXNzIGFyYml0cmF0aW9uIHdhaXZlciBhbmQgYW55IGNoYWxsZW5nZSB0byB0aGUgY2xhc3MgYXJiaXRyYXRpb24gd2FpdmVyIG1heSBvbmx5IGJlIHJhaXNlZCBpbiBhIGNvdXJ0IG9mIGNvbXBldGVudCBqdXJpc2RpY3Rpb24gbG9jYXRlZCBpbiB0aGUganVyaXNkaWN0aW9uIHNldCBmb3J0aCBpbiBTZWN0aW9uIDEzIGJlbG93LiZuYnNwOzwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklmIGFueSBwcm92aXNpb24gb2YgdGhpcyBTZWN0aW9uIGlzIGZvdW5kIHVuZW5mb3JjZWFibGUsIHRoZSB1bmVuZm9yY2VhYmxlIHByb3Zpc2lvbiB3aWxsIGJlIHNldmVyZWQgYW5kIHRoZSByZW1haW5pbmcgYXJiaXRyYXRpb24gdGVybXMgd2lsbCBiZSBlbmZvcmNlZDsgcHJvdmlkZWQsIHRoYXQgaW4gdGhlIGV2ZW50IHN1YnNlY3Rpb24gKEYpIGlzIGZvdW5kIHRvIGJlIHVuZW5mb3JjZWFibGUsIGFsbCBvZiB0aGlzIFNlY3Rpb24gMTIgc2hhbGwgYmUgZGVlbWVkIG51bGwgYW5kIHZvaWQgYW5kIG9mIG5vIGVmZmVjdC48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkNvbnRyYWN0aW5nIEVudGl0eTsgR292ZXJuaW5nIExhdy48L3N0cm9uZz4mbmJzcDsgQWxsIHJlZmVyZW5jZXMgdG8gJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSwmcmRxdW87ICZsZHF1bzt3ZSwmcmRxdW87ICZsZHF1bzt1cyZyZHF1bzsgb3IgJmxkcXVvO291ciZyZHF1bzsgaW4gdGhlIFRlcm1zIHJlZmVyIHRvIHRoZSBhcHBsaWNhYmxlIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlIHRhYmxlIGJlbG93LCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoZXNlIFRlcm1zIGFwcGVhciwgYXMgcG9zdGVkIG9uIHN1Y2ggd2Vic2l0ZS4gQWRkaXRpb25hbGx5LCB0aGVzZSBUZXJtcyBhcmUgZ292ZXJuZWQgYnkgdGhlIGxhd3Mgb2YgdGhlIHN0YXRlIG9yIHByb3ZpbmNlIGlkZW50aWZpZWQgaW4gdGhlIHRhYmxlIGJlbG93LCBhZ2FpbiBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoZXNlIFRlcm1zIGFwcGVhciwgYW5kIHdpdGhvdXQgcmVnYXJkIHRvIGNvbmZsaWN0IG9mIGxhdyBwcmluY2lwbGVzLiZuYnNwOyBUbyB0aGUgZXh0ZW50IHRoYXQgYW55IGxhd3N1aXQgb3IgY291cnQgcHJvY2VlZGluZyBpcyBwZXJtaXR0ZWQgaGVyZXVuZGVyLCB5b3UgYW5kIFRyaWJ1dGUgVGVjaG5vbG9neSBhZ3JlZSB0byBzdWJtaXQgdG8gdGhlIGV4Y2x1c2l2ZSBwZXJzb25hbCBqdXJpc2RpY3Rpb24gb2YgdGhlIGNvdXJ0cyBsb2NhdGVkIGluIGFuZCBmb3IgdGhlICZyZHF1bztFeGNsdXNpdmUgSnVyaXNkaWN0aW9uJnJkcXVvOyBpZGVudGlmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgZm9yIHRoZSBwdXJwb3NlIG9mIGxpdGlnYXRpbmcgYWxsIHN1Y2ggZGlzcHV0ZXMuJm5ic3A7IEFueSBjYXVzZSBvZiBhY3Rpb24gb3IgY2xhaW0gd2l0aCByZXNwZWN0IHRvIHRoZSBTaXRlcyBvciB0aGUgU2VydmljZXMgbXVzdCBiZSBjb21tZW5jZWQgd2l0aGluIHR3byAoMikgeWVhcnMgYWZ0ZXIgdGhlIGFjdGlvbiBvciBjbGFpbSBhcmlzZXMgb3IgaXMgZGlzY292ZXJlZC48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjx0YWJsZT4NCjx0Ym9keT4NCjx0cj4NCjx0ZCB3aWR0aD0iMTM2Ij4NCjxwPjxzdHJvbmc+TG9jYXRpb24gb2YgQnVzaW5lc3MgQWRkcmVzczwvc3Ryb25nPjwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjE2MSI+DQo8cD48c3Ryb25nPkFwcGxpY2FibGUgQ29udHJhY3RpbmcgRW50aXR5PC9zdHJvbmc+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTA3Ij4NCjxwPjxzdHJvbmc+R292ZXJuaW5nIExhdzwvc3Ryb25nPjwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjE2MCI+DQo8cD48c3Ryb25nPkV4Y2x1c2l2ZSBKdXJpc2RpY3Rpb248L3N0cm9uZz48L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTM2Ij4NCjxwPkNhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjE2MSI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgQ2FuYWRhLCBVTEMsIGEgQnJpdGlzaCBDb2x1bWJpYSB1bmxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxMDciPg0KPHA+T250YXJpbzwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjE2MCI+DQo8cD5Ub3JvbnRvLCBPbnRhcmlvPC9wPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD5Vbml0ZWQgU3RhdGVzIGFuZCB0aGUgcmVzdCBvZiB0aGUgd29ybGQgb3V0c2lkZSBDYW5hZGE8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+VHJpYnV0ZSBUZWNobm9sb2d5IFVTLCBMTEMsIGEgRGVsYXdhcmUgbGltaXRlZCBsaWFiaWxpdHkgY29tcGFueTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjEwNyI+DQo8cD5EZWxhd2FyZTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjE2MCI+DQo8cD5NYWRpc29uLCBXaXNjb25zaW48L3A+DQo8L3RkPg0KPC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPHA+Jm5ic3A7PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+TW9kaWZpY2F0aW9uIG9mIHRoZSBTaXRlcyBhbmQgU2VydmljZXMuPC9zdHJvbmc+Jm5ic3A7VHJpYnV0ZSBUZWNobm9sb2d5IHJlc2VydmVzIHRoZSByaWdodCB0byBtb2RpZnkgb3IgZGlzY29udGludWUsIHRlbXBvcmFyaWx5IG9yIHBlcm1hbmVudGx5LCBzb21lIG9yIGFsbCBvZiB0aGUgU2l0ZXMgYW5kIFNlcnZpY2VzIGF0IGFueSB0aW1lIHdpdGhvdXQgYW55IG5vdGljZSBvciBmdXJ0aGVyIG9ibGlnYXRpb24gdG8geW91LiBZb3UgYWdyZWUgdGhhdCBUcmlidXRlIFRlY2hub2xvZ3kgd2lsbCBub3QgYmUgbGlhYmxlIHRvIHlvdSBvciB0byBhbnkgdGhpcmQgcGFydHkgZm9yIGFueSBtb2RpZmljYXRpb24sIHN1c3BlbnNpb24sIG9yIGRpc2NvbnRpbnVhbmNlIG9mIGFueSBvZiB0aGUgU2l0ZXMgb3IgU2VydmljZXMuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5HZW5lcmFsLjwvc3Ryb25nPjwvbGk+DQo8L29sPg0KPG9sPg0KPG9sPg0KPGxpPjx1PkVudGlyZSBBZ3JlZW1lbnQ8L3U+LiBVbmxlc3Mgb3RoZXJ3aXNlIGV4cHJlc3NseSBzdGF0ZWQgaGVyZWluIG9yIGFub3RoZXIgd3JpdHRlbiBhZ3JlZW1lbnQgYmV0d2VlbiB5b3UgYW5kIFRyaWJ1dGUgVGVjaG5vbG9neSwgdGhlc2UgVGVybXMgY29uc3RpdHV0ZSB0aGUgZW50aXJlIGFuZCBleGNsdXNpdmUgdW5kZXJzdGFuZGluZyBhbmQgYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3kgcmVnYXJkaW5nIHlvdXIgdXNlIG9mIGFuZCBhY2Nlc3MgdG8gdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcywgYW5kIGV4Y2VwdCBhcyBleHByZXNzbHkgcGVybWl0dGVkIGFib3ZlIG1heSBvbmx5IGJlIGFtZW5kZWQgYnkgYSB3cml0dGVuIGFncmVlbWVudCBzaWduZWQgYnkgYXV0aG9yaXplZCByZXByZXNlbnRhdGl2ZXMgb2YgdGhlIHBhcnRpZXMuPC9saT4NCjxsaT48dT5ObyBXYWl2ZXI8L3U+LiBUaGUgZmFpbHVyZSB0byByZXF1aXJlIHBlcmZvcm1hbmNlIG9mIGFueSBwcm92aXNpb24gc2hhbGwgbm90IGFmZmVjdCBvdXIgcmlnaHQgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBhdCBhbnkgdGltZSB0aGVyZWFmdGVyLCBub3Igc2hhbGwgYSB3YWl2ZXIgb2YgYW55IGJyZWFjaCBvciBkZWZhdWx0IG9mIHRoZSBUZXJtcyBjb25zdGl0dXRlIGEgd2FpdmVyIG9mIGFueSBzdWJzZXF1ZW50IGJyZWFjaCBvciBkZWZhdWx0IG9yIGEgd2FpdmVyIG9mIHRoZSBwcm92aXNpb24gaXRzZWxmLjwvbGk+DQo8bGk+PHU+UGFyYWdyYXBoIEhlYWRlcnM8L3U+LiBVc2Ugb2YgcGFyYWdyYXBoIGhlYWRlcnMgaW4gdGhlIFRlcm1zIGlzIGZvciBjb252ZW5pZW5jZSBvbmx5IGFuZCBzaGFsbCBub3QgaGF2ZSBhbnkgaW1wYWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBwYXJ0aWN1bGFyIHByb3Zpc2lvbnMuPC9saT4NCjxsaT48dT5TZXZlcmFiaWxpdHk8L3U+LiBJbiB0aGUgZXZlbnQgdGhhdCBhbnkgcGFydCBvZiB0aGUgVGVybXMgaXMgaGVsZCB0byBiZSBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUsIHRoZSB1bmVuZm9yY2VhYmxlIHBhcnQgc2hhbGwgYmUgZ2l2ZW4gZWZmZWN0IHRvIHRoZSBncmVhdGVzdCBleHRlbnQgcG9zc2libGUgYW5kIHRoZSByZW1haW5pbmcgcGFydHMgd2lsbCByZW1haW4gaW4gZnVsbCBmb3JjZSBhbmQgZWZmZWN0LjwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPk5vdGljZSB0byBDYWxpZm9ybmlhIFJlc2lkZW50cy48L3N0cm9uZz4mbmJzcDtVbmRlciBDYWxpZm9ybmlhIENpdmlsIENvZGUgU2VjdGlvbiAxNzg5LjMsIHlvdSBtYXkgY29udGFjdCB0aGUgQ29tcGxhaW50IEFzc2lzdGFuY2UgVW5pdCBvZiB0aGUgRGl2aXNpb24gb2YgQ29uc3VtZXIgU2VydmljZXMgb2YgdGhlIENhbGlmb3JuaWEgRGVwYXJ0bWVudCBvZiBDb25zdW1lciBBZmZhaXJzIGluIHdyaXRpbmcgYXQgMTYyNSBOLiBNYXJrZXQgQmx2ZC4sIFN1aXRlIE4tMTEyLCBTYWNyYW1lbnRvLCBDYWxpZm9ybmlhIDk1ODM0LCBvciBieSB0ZWxlcGhvbmUgYXQgKDgwMCkgOTUyLTUyMTAgaW4gb3JkZXIgdG8gcmVzb2x2ZSBhIGNvbXBsYWludCByZWdhcmRpbmcgdGhlIHNlcnZpY2Ugb3IgdG8gcmVjZWl2ZSBmdXJ0aGVyIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB1c2Ugb2YgdGhlIHNlcnZpY2UuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8L2Rpdj4NCjxkaXYgaWQ9IjE1NzU5NDk2MjQiIGNsYXNzPSJkbU5ld1BhcmFncmFwaCIgZGF0YS1lbGVtZW50LXR5cGU9InBhcmFncmFwaCIgZGF0YS12ZXJzaW9uPSI1Ij48L2Rpdj4= PHA+V2UgYXJlIGNvbW1pdHRlZCB0byBpbXByb3ZpbmcgYW5kIG1haW50YWluaW5nIGEgd2Vic2l0ZSB0aGF0IGlzIGFjY2Vzc2libGUgdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBhdWRpZW5jZSwgcmVnYXJkbGVzcyBvZiB0ZWNobm9sb2d5IG9yIGFiaWxpdHkuIElmIHlvdSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5IGluIGFjY2Vzc2luZyBhbnkgcGFydCBvZiB0aGlzIHdlYnNpdGUsIHBsZWFzZSBmZWVsIGZyZWUgdG8gY2FsbCBvdXIgd2Vic2l0ZSBwcm92aWRlciBhdCA4NDQtMjAwLTYwMjAgb3IgZW1haWwgdGhlbSBhdCB3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg== Your browser may not work with certain site. Upgrade now. PreviousNext Loading...