General Price List
To help you understand all of the costs associated with a funeral service and make an informed decision, we’ve broken them down in our general price list. If you need any assistance or have questions, please don't hesitate to contact us. Our staff is happy to help you explore all the options available to you.
Prices are effective as of January 6, 2024 and are subject to change without notice.
Our fee for the services of the funeral director and staff includes, but is not limited to, staff to respond to initial request for service; arrangement conference with family or responsible party; arrangement of funeral; preparation and filing of necessary authorizations and permits; recording vital statistics; preparation and placement of obituary notices; and staff assistance prior to, during and following the funeral including coordination with those providing other portions of the funeral, i.e. cemetery, crematory and others. Also included in these charges are fixed business costs relative to our facility such as labor, insurance, utilities, taxes and other ongoing expenses necessary to be in a position to provide facilities and services. This fee for our basic services and overhead will be added to the total cost of the funeral arrangements you select. (This fee is already included in our charges for non-ceremonial cremation, immediate burial, forwarding remains and receiving remains.)
Except in certain special cases, embalming is not required by law. Embalming may be necessary, however, if you select certain funeral arrangements, such as a funeral with viewing. If you do not want embalming, you usually have the right to choose an arrangement that does not require you to pay for it, such as direct cremation or immediate burial.
Bathing, dressing, casketing, cosmetic application
Specialty care of autopsied or tissue donor cases
$ 150
Preparation of non-embalmed remains
$ 195
Transfer of Remains to Funeral Home *
$ 175
Crematory Transportation *
$ 270
* Charges include first 25 miles (one way) only. Beyond 25 miles there will be an additional charge of $3 per mile (one way) for each vehicle.
Supervision of attendants for visiting periods per day or part thereof up to 4 hours
2 hour visitation prior to service (same day)
Staff for coordination and direction of funeral ceremony and facilities and equipment for service immediately followed by committal service at graveside
Staff for coordination and direction of memorial service. Supervision of memorial service. Staff to assist with service and use of facilities
Staff for coordination and direction of memorial service. Supervision of memorial service. Staff to assist with service and equipment necessary to conduct service off-site
Supervision and attendants and equipment for committal service at graveside not immediately preceded by funeral/ memorial ceremony
$ 450
Streaming and Recording Services
All Services can be recorded. Live streaming requires wifi connection and therefor subject to venue capabilities
Banquet Facility Charges - Eaton Rapids Chapel
Monday - Friday up to 3 hours (Excluding holidays)
Saturday or Sunday up to 3 hours (Excluding holidays)
All banquet charges are subject to a cleaning fee. The Cleaning fee includes, but is not limited to, linen services; trash removal; provided beverages, plates, napkins and plastic cutlery
Insurance Assignments
A finance charge of 3.5% will be added to balances that require us to wait for insurance when an assignment is used to pay expenses.
Saturday, Sunday & Holiday Visitations and/or Services
$ 300
Delayed interment with cemetery procession
$ 250
Memorial service with cremation from outside provider
$ 1,895
Anatomical Donation and Willed Body Fee
$ 2,340
Includes transfer of remains to the funeral home, embalming, basic services of funeral director and staff with proportionate share of overhead costs
With transportation to GRR or DTW airport and airline approved shipping container necessary for shipping human remains
Includes transportation of remains to the funeral home from GRR or DTW airport, basic services of funeral director and staff with proportionate share of overhead costs, transfer of remains to local cemetery/ crematory. (This charge does not include any visitation, ceremonies, or other preparation of the body)
Includes basic services of funeral director and staff with proportionate share of overhead costs, transfer of remains to funeral home, hearse to local cemetery (If any ceremonies are desired, this charge does not apply)
With container provided by purchaser
With minimum casket (not including sales tax)
If you want to arrange a direct cremation, you can use an alternative container. Alternative containers encase the body and can be made of materials like fiberboard or composition materials (with or without an outside covering). The containers we provide are heavy cardboard. Our charge for direct cremation (without ceremony) includes basic services of the funeral director and staff with proportionate share of overhead costs, transportation from local place of death, sheltering remains, transportation to a local crematory, standard crematory expense. You are not required to purchase a casket for a direct cremation, but you may do so if you wish. (This cost does not include the county medical examiner cremation authorization fee).
With container provided by purchaser
With alternative container purchased from funeral home
Direct Cremation with memorial service held at the funeral home (M-F between 10am-3pm)
Burial Packages
VIEWING SERVICES
Includes: Basic services of funeral director and staff, transfer of remains to funeral home, embalming and other preparation, funeral vehicles including; hearse, limousine, utility/ lead vehicle. The live streaming and recording of service, Stationery package including: Video Tribute, 100 service folders, 50 acknowledgement cards and a register book.
Includes 2 days of visitation, a day of funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes a day of visitation, a day of funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes 2 hours of visitation prior to the funeral service on a Saturday or Sunday
With visitation/ services held midweek (M-F)
With 1 hour of visitation prior to the funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes one hour of visitation at the funeral home prior to funeral procession to the cemetery for graveside service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes: basic service charge of funeral director and staff, transfer of remains to funeral home, embalming and other preparation, hearse, utility/ lead vehicle, midweek (M-F) services.
With a day of visitation and a day of service
With 1hr. visitation prior to the service
With 1hr. visitation and procession to graveside service
Without embalming, viewing, and procession
Cremation Packages
VIEWING SERVICES
Includes: Basic services of funeral director and staff, transfer of remains to funeral home, embalming and other preparation, Oak rental casket with cremation insert ($1,040 value), hearse, standard crematory fees, live streaming and recording of service, Stationery package including: Video Tribute, 100 service folders, 50 acknowledgement cards and a register book.
Includes 2 days of visitation, a day of funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes a day of visitation, a day of funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes 2 hours of visitation prior to the funeral service on a Saturday or Sunday
With visitation/ services held midweek (M-F)
With 1 hour of visitation prior to the funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Direct Cremation Memorial Services
NO VIEWING
Includes basic services of funeral director and staff, transfer of remains to funeral home, standard crematory fees, minimum cremation container, live stream and recording of service, Stationery package including; 100 service folders, 50 acknowledgement cards, register book and Video Tribute.
Includes a day of visitation, a day of memorial service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Same Day Memorial Service
Includes 2 hours of visitation prior to the funeral service on a Saturday or Sunday
With visitation/ services held midweek (M-F)
With 1 hour of visitation prior to the funeral service, on a Saturday or Sunday
With visitation/ services held midweek (M-F)
Includes staff and equipment (urn table, flower stands, tent, 6 chairs), hearse, w/ service on Saturday or Sunday
With service held midweek (M-F)
Without stationery package
Direct Cremation
NO SERVICES
Includes basic services of funeral director and staff with proportionate share of overhead costs, transfer of remains to funeral home, minimum cremation container, crematory transportation, standard crematory fees.
With other preparation and up to 1 hour family ID
With burial of remains by funeral director (no services)
Price ranging from $ 1,095 to $ 31,995
A complete price list will be provided at the funeral home
Prices ranging $ 975 to $ 17,995
A complete price list will be provided at the funeral home
Prices ranging $ 185 to $ 3,495
Video tribute– up to 75 pictures
Additional Thumb Drive copies
Grave Markers (foundation not included)
Legacy Touch Print Keepsake Jewelry
Stationery |
50 pcs |
100 pcs |
150 pcs |
200 pcs |
Custom bulletins OR tri-fold folders |
$ 150 |
$ 175 |
$ 200 |
$ 225 |
Custom memorial folders |
$ 105 |
$ 115 |
$ 130 |
$ 145 |
Custom prayer cards |
$ 85 |
$ 95 |
$ 105 |
$ 115 |
Custom acknowledgements cards |
$ 100 |
$ 125 |
$ 150 |
$ 175 |
Stock memorial folders |
$ 75 |
$ 110 |
$ 135 |
$ 160 |
Stock prayer cards |
$ 85 |
$ 95 |
$ 105 |
$ 115 |
Skinner Funeral Home
© Skinner Funeral Home
Crafted with care by Frazer Consultants & 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==