API.get = function(controller, method, data, success, error) { The Snyder family has proudly served the families of North-Central Ohio for a century.

Thank you!

Marie Davis. API.tcoSecureBaseUrl && API.apiBaseUrl = 'https://api.secure.tributecenteronline.com' + '/ClientApi/'; API.postMedia = function (controller, method, data, success, error) { API.xWallUser = 'null'; Obituaries Subscribe To Updates 02/11/2023 Sandra Marie Jennings Snyder Funeral Homes 02/11/2023 Mary Janet Held Snyder Funeral Homes 02/10/2023 Mary Lou Penhorwood Snyder Funeral Homes 02/09/2023 var resp = JSON.parse(data.responseText); }; View Tribute Book Events De Vore-Snyder Funeral Home $body = $('body'), API.isLocal = 'False' === 'True'; wells fargo 401k empower. return false; if (hash) { Greg A. Derouaux Services: Friday morning at 10 am at the Our Lady of Lourdes Church in Marysville Visitation: Thursday February 23, 2023 from 5-7 pm at the Stofcheck-Ballinger Funeral Home in Richwood. Obituaries from Snyder Funeral Homes in Delaware, Ohio. $form.addClass('submited'); AC_FL_RunContent = 0; "x-wall-user": API.xWallUser .on('click', remove); - 02/23/2023. DeVore-Snyder Funeral Home Sunbury, Ohio (OH) | Who Passed On DeVore-Snyder Funeral Home DeVore-Snyder Funeral Home Sunbury, Ohio Order Flowers (740) 965-3936 delaware@snyderfuneralhomes.com Get Directions DeVore-Snyder Funeral Home 637 State Highway 61 Sunbury, Ohio 43074 Funeral Flower Options Ohio Death Certificate Info Sunbury, OH Snyder Funeral Homes, DeVore Chapel Friday, January 13, 2023 Add Photos Add a Memory William Dane Scholl William Dane Scholl, age 85, of Sunbury, died peacefully on. Marie Davis. Snyder Funeral Homes, DeVore Chapel 637 N. St. Rt. "Wonderfully responsive to our needs.
Snyder Funeral Homes, DeVore Chapel 637 Ohio 61, Sunbury, OH Funeral services provided by: Snyder Funeral Homes, DeVore Chapel 740-965-3936 How to support Thomas's loved ones. .hide() Learn what your friends and neighbors have to say about our services. API.post = function (controller, method, data, success, error) { $overlay = $('.overlay', $container), REVIEWS. $overlay Services offered by DE Vore-Snyder Funeral Home. API.tcoAppPath = '/'; Obituaries Subscribe To Updates 08/12/2022 Rita Lartona Young Snyder Funeral Homes 08/11/2022 Jane Eleanor Swysgood Snyder Funeral Homes 08/08/2022 A licensed funeral director will assist you in making the proper funeral arrangements for your loved one. . if (API.tcoAppPath === "//") .on('click', remove); . FrazerMaps.Init({ apiKey: "AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow" }); var token = $('input[name="__RequestVerificationToken"]', form).val(); Leave your condolences to the family on this memorial page or send flowers to show you care. beforeSend: function (e) { Through five generations, the Snyder familys goal has remained the same: We take care of more details than the average funeral provider, so you can spend more time grieving & healing with your family. API.ensureHttps = function(hash) { Price: Work Time. data: data, Authorize the original obituary. Doris "Dorie" Fern Moran. xhrFields: { API.xWallUser = null; $content.append(html); window.location.hash = hash; if (!window.aciveAnim) Make funeral arrangements from anywhere in 15 minutes or less. gtag('config', 'G-7P7W5SF9C6'); }, . Share Obituary: Obituary & Events. API.tcoSecureBaseUrl = 'https://www.snyderfuneralhomes.com' + API.tcoAppPath; . Snyder Funeral Homes, DeVore Chapel 637 Ohio 61 Sunbury, OH BEVERLY RYDER OBITUARY SUNBURY Beverly J. Ryder, 87 of Sunbury passed away peacefully Friday afternoon, September.

Subscribe to Obituaries

"https://twitter.com/SnyderFunerals", function filterError(data, textStatus, jqXHR) { My family was so thankful for all they did and managing all the arr". API.xPending = false; setTimeout(function () { "sameAs" : [ } settings.data = JSON.stringify(settings.data); xhrFields: { "DomainId": API.domainId var init = function () { He was born May 6, 1944, in Sunbury, a son of the late Girard and Sarah (Bordner) Deibler. API.s3Path = '//tributecenteronline.s3-accelerate.amazonaws.com/'; Lindsey Chapel 123 N Market St, Loudonville, OH (419) 994-3030 Send flowers. cache: false, success: function () { } . com. "@type" : "Organization", . } else if (Funeral.BeforePostData(authCallback)) {
headers: { snyder, oklahoma obituaries snyder, oklahoma obituaries Snyder Funeral Homes, Lexington Avenue Chapel. }, 500); }); We will get back to you as soon as possible. API.recaptchaV3PublicKey = '6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe'; Anthony "Tony" G. Kavalieros, age 76 of Dublin, Ohio peacefully passed away on January 10, 2023, at Mt. }, API.apiBaseUrl : API.tcoAppPath; 61 Sunbury, OH 43074 Get Directions View Map Text Email Feb 16 Graveside Service Thursday, February 16 2023 01:00 PM - 01:30 PM Jefferson Cemetery Reynoldsburg-New Albany Road & Taylor Road Blacklick, OH 43004 Get Directions View Map Text Email Final Resting Place Jefferson Cemetery - -, - - A licensed funeral director will assist you in making the proper funeral arrangements for your loved one. A mass of christian burial was held on Thursday, February 23rd 2023 at 10:00 AM at the St Leo Oratory. error(data.responseText); var remove = function () { Charles "Chuck" Leroy Snyder III was born in Columbus, Ohio to Charles Jr. and Edna (Clouse) Snyder. if ($.browser.name === 'msie') { var baseUrl = isApi ? if (token) function authCallback() { at the Schaeffer Funeral Home in Petersburg. contentType: contentType, About DeVore-Snyder Funeral Home Address 637 State Route 61 Sunbury, OH 43074 Send Flowers Send sympathy flowers Website http://www.snyderfuneralh Phone (740) 965-3936 This Ever Loved listing has not been claimed by an employee of the funeral home yet. Batt, age 73 of Defiance, passed away early Sunday morning, April 24, 2022 at Mercy Hospital of Defiance. if (API.xWallUser === "null") Devore Snyder Funeral Home 637 State Route 61 Sunbury, Ohio 43074 Devore Snyder Funeral Home provides funeral and cremation services to families of Sunbury, Ohio and the surrounding area. dataType: "json", if (data && data.status === 403) { window.API.brand = { id: 3, name: 'SRS Computing Admin', obitStyle: 0, providerId: 1}; $('.close-popup', $content) Very helpful and caring. $container API.brands = JSON.parse('{"0":"Frazer","1":"SRS","2":"Osiris","3":"Mortware","4":"TMS","5":"Ionic","6":"Passare","7":"ContinentalComputersCorp","8":"FuneralNet","9":"Aurora","10":"FuneralDecisions","11":"Halcyon","12":"FuneralSync","13":"FuneralCall","14":"InsuranceAssignments","15":"FrontRunner","16":"TownNews","17":"AdPerfect","18":"TCO","20":"FuneralTech","21":"ObituaryHub","22":"FuneraLogic","23":"FrontRunnerNewspaper","24":"GeneralStore","25":"FuneralDataManager","26":"CFS","27":"ConnecticutPublicBroadcasting","28":"FuneralInnovations","29":"FreedomSoftware","30":"MIMS","31":"WedLFD","33":"WhiteLabelTraining","34":"MKJ"}'); Carmel St. Ann's Hospital followed by an eight-year battle with cancer. Snyder Funeral Homes, DeVore Chapel . }; Request Information if (API.xWallUser) withCredentials: isApi }; setTimeout(function(){$('#msie-banner').fadeOut(1000);}, 5000); We are a family-owned funeral service in Ohio with 18 chapels, 4 crematories, and 100 years of experience. Upgrade now. Snyder Funeral Homes, DeVore Chapel 637 Ohio 61, Sunbury, OH, 43074 Get Directions (740) 965-3936 | https://www.snyderfuneralhomes.com/ 12 reviews Leave a review Send Flowers How can We Help? $formChildren = $form.children(); method: httpMethod, return API.ajax('GET', controller, method, data, "application/json", true, success, error); She was predeceased by : her parents, Roy Nave and . "https://www.facebook.com/SnyderFuneralHomes/", } Snyder Funeral Homes, DeVore Chapel 637 OH-61, Sunbury, OH 43074 Tue Feb 14 Funeral service Snyder Funeral Homes, DeVore Chapel 637 OH-61, Sunbury, OH 43074 Send Flowers Share your support Light a candle Illuminate their memory Give a memorial tree Plant a tree Sympathy messages complete: function (e) { settings.dataType = "json"; Funeral homes; Help and advice. Browse our recent and archived obituaries. "https://www.youtube.com/channel/UCQrVK1sFBcB7dc6Viszy8nA", DeVore-Snyder Funeral Home 637 OH-61, Sunbury, OH (740) 965-3936 Send flowers. API.tcoSecureBaseUrl.indexOf("https") > -1) { } API.domainId = '5a05b514-ffe6-4152-af4e-2345dc809627'; }, Snyder Funeral Homes, DeVore Chapel 637 OH-61 . if (navigator.userAgent.toLowerCase().indexOf("lighthouse") < 0) { if (resp.type && resp.type == 1) { } if (controller.toLowerCase() === 'comments' && method.toLowerCase() === 'create') API.moderatorName = 'Snyder Funeral Homes'; },
We promise not to spam or share your email
. Find the obituary of Jeanine A. Goodyear (1928 - 2021) from Sunbury, OH. , Bellville, Ohio - Bellville Butler Chapel, Delaware, Ohio - Snyder Rodman Funeral Center, Fredericktown, Ohio - Fredericktown Chapel, Mansfield, Ohio - Lexington Avenue Chapel. if (!window.aciveAnim) API.isLocal = 'false' === 'true'; He was an avid fan. ] gtag('js', new Date()); Your browser may not work with certain site. Girard "Lefty" Deibler, 78, of Sunbury, passed away Wednesday, Feb. 22, 2023, in the comfort of his home. .head-menu.mobile-menu.navbar-default .navbar-toggle { The florists near DE Vore-Snyder Funeral Home possess a wonderful and diverse selection of wreaths, arrangements, and baskets to help communicate your empathy for the family. window.API = window.API || {}; Responded very quickly to calls and requests. })(); Today, a century since Ora founded that first funeral home, the Snyder family strives to honor their long-standing heritage with each family they serve. .fadeIn('fast'); } url: baseUrl + controller + '/' + method, Obituaries Subscribe To Updates 01/12/2023 William Dane Scholl Snyder Funeral Homes 01/11/2023 Wanita Faye Ross Snyder Funeral Homes 01/10/2023 } }, 500); Snyder Funeral Homes. return API.ajax('POST', controller, method, data, "multipart/form-data", true, success, error); FUNERAL HOME Snyder Funeral Homes, DeVore Chapel 637 Ohio 61 Sunbury, OH EDWARD MILLER OBITUARY Edward "EJ" Miller, 85, passed away peacefully Monday January 16, 2023. $content = $('.content', $container), var funeralModal = { if (window.location.protocol !== "https:" && $('#msie-banner').css("display", "block"); "name" : "Snyder Funeral Homes", February 15, 1934 - February 27, 2023. window.dataLayer = window.dataLayer || []; 67 North Main Street, Mount Gilead, Ohio 43338.
Where to Start; Burial; Cremation . return authCallback(); Claim this page . jQuery.ajaxSetup({ . $('.page-loader-wrapper').addClass('active'); "https://www.instagram.com/snyderfuneralhomes" headers: headers, authCallback.showRelationship = true; Anne Boone Nave Snyder Obituary. View Cheryl Freel's obituary, contribute to their memorial, see their funeral service details, and more. Obituary information for Nicole M. Solomon Sign In Nicole M. Solomon March 25, 1988 - February 18, 2023 Share Obituary: Obituary & Events Tribute Wall 27 Share a memory Send Flowers Plant a tree Obituary Please share a memory of Nicole to include in a keepsake book for family and friends. $form.on('submit', function () { Contact them today using the info provided previously mentioned. Family and friends are welcome to leave their condolences on this memorial page and share them with the family. 637 OH-61 Sunbury, OH 43074PHONE: (740) 965-3936, EMAIL:delaware@snyderfuneralhomes.com FACEBOOK:www.facebook.com/SunburySFH/ If you have any questions or concerns, please do not hesitate to contact us. Offer condolences/tributes, send flowers or create an online memorial for free. }).done(success).error(filterError); }; var headers = { Find the obituary of Rose Hayes (1926 - 2021) from Sunbury, OH. API.getCurrentUser = function () { return JSON.parse(API.xWallUser) }; $("html").addClass($.browser.name).addClass("version-" + $.browser.versionNumber); API.tcoBaseUrl = 'https://www.snyderfuneralhomes.com' + API.tcoAppPath; success: function(res, status, xhr) { if (!isApi) { $('.page-loader-wrapper').removeClass('active'); Sunbury, OH 43074. Upgrade now. 61 Sunbury, OH 43074 Get Directions View Map Text Email Feb 18 Funeral Ceremony Saturday, February 18 2023 12:00 PM Snyder Funeral Homes, DeVore Chapel 637 N. St. Rt. settings.headers["__RequestVerificationToken"] = token; var settings = { $(function () { DynamicForms.setDomainId('content$empty_root$$_p__nhibernate$_v__guid$_5a05b514ffe64152af4e2345dc809627'); }); EJ leaves. phone Phone: 740-965-3XXX or. "url" : "https://www.snyderfuneralhomes.com", method: httpMethod, var form = $('#__AjaxAntiForgeryForm'); place Address: Ohio Rt 3 At Ohio Rt 61, Sunbury, Ohio. Your browser may not work with certain site. }); { init(); cremation near me funeral home Ohio "contactPoint" : { Snyder Funeral Homes family-owned Ohio burial and cremation service in: Bellville, Carey, Delaware, Fredericktown, Galion, Loudonville, Mansfield, Marion, Mount Gilead, Mount Vernon, and Sunbury. dynSubscribeToObituaryEmails($formChildren.first(), $form.attr('action'), $form.data('domainid'), API.getTco = function(controller, method, data, success, error) { We offer a variety of arrangements delivered directly from a local florist to help comfort and support those who need it the most. Facility very clean and orderly. 25 Feb/23. data: JSON.stringify(data) }); Blogs; Online will; Shop. February 22nd 2023 from 6:00 PM to 8:00 PM at the Snyder Funeral Homes, DeVore Chapel (637 OH-61, Sunbury, OH 43074). PGRpdj4NCiAgICA8aDE+RnJhemVyIENvbnN1bHRhbnRzIFByaXZhY3kgUG9saWN5PC9oMT4NCiAgICA8cD4mbmJzcDs8L3A+DQogICAgPGRpdj4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgPHA+TGFzdCBVcGRhdGVkOiAwOS8wNC8yMDIwPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgQ29uc3VsdGFudHMsIExMQyAoIkZyYXplciwiICJ3ZSwiICJ1cywiICJvdXIiKSBpcyBjb21taXR0ZWQgdG8gcHJvdGVjdGluZyB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGlzIFByaXZhY3kgTm90aWNlIGRlc2NyaWJlcyB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBjb2xsZWN0IGFib3V0IHlvdSwgaG93IHdlIHVzZSBhbmQgZGlzY2xvc2UgdGhpcyBpbmZvcm1hdGlvbiwgYW5kIHRoZSBzdGVwcyB3ZSB0YWtlIHRvIHByb3RlY3QgdGhpcyBpbmZvcm1hdGlvbi4gRm9yIHB1cnBvc2VzIG9mIHRoaXMgUHJpdmFjeSBOb3RpY2UsICJwZXJzb25hbCBpbmZvcm1hdGlvbiIgbWVhbnMgYW55IGluZm9ybWF0aW9uIHRoYXQgcmVsYXRlcyB0byB5b3UgYXMgYW4gaW5kaXZpZHVhbCBhbmQgY291bGQgcmVhc29uYWJseSBiZSB1c2VkIHRvIGlkZW50aWZ5IHlvdS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIG91ciBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhyb3VnaCB0aGlzIHdlYnNpdGUgYW5kIGFueSByZWxhdGVkIHdlYnNpdGVzLCBhcHBsaWNhdGlvbnMsIHRvb2xzLCBvciBwbGF0Zm9ybXMgKHRoZSAiU2VydmljZXMiKSwgYXMgd2VsbCBhcyB0aHJvdWdoIGFueSBvdGhlciBtZWFucyB3aGVyZSBhIGxpbmsgb3IgcmVmZXJlbmNlIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UgaXMgcHJvdmlkZWQgYXQgdGhlIHRpbWUgb2YgY29sbGVjdGlvbi48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPk91ciBTZXJ2aWNlczwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RnJhemVyJ3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGluc3VyYW5jZSwgc2VhcmNoIGVuZ2luZSBvcHRpbWl6YXRpb24sIG1hcmtldGluZyBhbmQgZWNvbW1lcmNlIHNlcnZpY2VzLCB0byBmdW5lcmFsIGhvbWVzIGFuZCBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgKG91ciAiQ2xpZW50cyIpLiBJbiBjb25uZWN0aW9uIHdpdGggdGhpcyBmYWNldCBvZiBGcmF6ZXIncyBidXNpbmVzcywgRnJhemVyIGNvbGxlY3RzIGFuZCBzdG9yZXMgcGVyc29uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGluZGl2aWR1YWxzIHdobyB2aXNpdCBhbmQgdXRpbGl6ZSBjZXJ0YWluIGZ1bmN0aW9ucyBvciBmZWF0dXJlcyBvZiBvdXIgQ2xpZW50cycgd2Vic2l0ZXMgKCJFbmQgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIEZyYXplcidzIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBDbGllbnQgYW5kIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ1dCBub3QgdG8gb3VyIENsaWVudHMgdXNlIG9mIHN1Y2ggcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgYWxzbyBtYWludGFpbnMgYW4gb25saW5lIHByZXNlbmNlLCBpbmNsdWRpbmcgYW4gZWNvbW1lcmNlIHN0b3JlLCB0aGUgVHJpYnV0ZSBTdG9yZSwgb2ZmZXJpbmcgY2VydGFpbiBmdW5lcmFsIHBhcmFwaGVybmFsaWEgYW5kIHJlbGF0ZWQgcHJvZHVjdHMsIGFuZCBhIHdlYiByZXBvc2l0b3J5LCB0aGUgVHJpYnV0ZSBBcmNoaXZlLCBjb250YWluaW5nIG9iaXR1YXJpZXMsIGEgbGlzdGluZyBvZiBmdW5lcmFsIGhvbWVzLCBhbmQgb3RoZXIgZnVuZXJhbC1yZWxhdGVkIGNvbnRlbnQgaW4gY29ubmVjdGlvbiB3aXRoIHdoaWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBiZSBjb2xsZWN0ZWQgZnJvbSBpbmRpdmlkdWFscyAoIlRyaWJ1dGUgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhbHNvIGFwcGxpZXMgdG8gRnJhemVyJ3MgY29sbGVjdGlvbiBhbmQgdXNlIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZyb20gVHJpYnV0ZSBVc2VycyBhbmQgb3RoZXIgaW5kaXZpZHVhbHMgd2hvIGludGVyYWN0IGRpcmVjdGx5IHdpdGggRnJhemVyLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdDwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2hlbiB5b3UgYWNjZXNzIG9yIHVzZSB0aGUgU2VydmljZXMgb3Igb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggdXMsIHdoZXRoZXIgYXMgYSBDbGllbnQsIEVuZCBVc2VyLCBUcmlidXRlIFVzZXIgb3Igb3RoZXIgaW5kaXZpZHVhbCwgd2UgbWF5IGNvbGxlY3QgY2VydGFpbiBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFib3V0IHlvdSBmcm9tIGEgdmFyaWV0eSBvZiBzb3VyY2VzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIG1heSBjb2xsZWN0IGZyb20geW91IGRpcmVjdGx5IGluY2x1ZGU6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29udGFjdCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIG5hbWUsIHBob25lIG51bWJlciwgbWFpbGluZyBhZGRyZXNzLCBlbWFpbCBhZGRyZXNzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+UGF5bWVudC1yZWxhdGVkIGRldGFpbHMgKGZvciBleGFtcGxlLCBiaWxsaW5nIGFkZHJlc3MgYW5kIG90aGVyIGNyZWRpdCBjYXJkIGRldGFpbHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5BY2NvdW50IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFuZCB0cmFuc2FjdGlvbiBoaXN0b3J5KTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29tbXVuaWNhdGlvbnMgKGZvciBleGFtcGxlLCBzdWJtaXR0ZWQgcXVlc3Rpb25zIG9yIG90aGVyIHBvc3RzIGFuZCBtYXJrZXRpbmcgcHJlZmVyZW5jZXMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5SZWNydWl0bWVudCBkYXRhIChmb3IgZXhhbXBsZSwgcmVzdW1lcyBhbmQgb3RoZXIgZGV0YWlscyByZWdhcmRpbmcgYW4gYXBwbGljYW50J3MgcXVhbGlmaWNhdGlvbnMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIG1heSBjb2xsZWN0IGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcyBpbmNsdWRlOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlRlY2huaWNhbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIGJyb3dzZXIgdHlwZSwgSVAgYWRkcmVzcywgY29va2llcywgYW5kIG9wZXJhdGluZyBzeXN0ZW0pPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Vc2FnZSBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhZ2VzIHZpc2l0ZWQsIHNlYXJjaCB0ZXJtcyBlbnRlcmVkLCBhbmQgZnJlcXVlbmN5IG9mIHZpc2l0cyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgbWF5IGNvbGxlY3QgZnJvbSBvdGhlciBzb3VyY2VzLCBpbmNsdWRpbmcgZnJvbSBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggdGhlaXIgdXNlIG9mIHRoZSBTZXJ2aWNlcywgaW5jbHVkZTo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgICAgICAgICBXZSB1c2UgR29vZ2xlIEFuYWx5dGljcyB0byBjb2xsZWN0IGFuZCBhbmFseXplIGluZm9ybWF0aW9uIGFib3V0IHVzZSBvZiB0aGUgd2Vic2l0ZSBhbmQgdG8gaGVscCB1cyB1bmRlcnN0YW5kIGFjdGl2aXRpZXMgYW5kIHRyZW5kcywgdGhpcyBpbmNsdWRlcyB1c2Ugb2YgR29vZ2xlIEFuYWx5dGljcyBwZXJmb3JtYW5jZSByZXBvcnRzIHJlbGF0aW5nIHRvIGRlbW9ncmFwaGljcyBhbmQgaW50ZXJlc3RzLiBBcyBwYXJ0IG9mIHRoaXMgc2VydmljZSwgd2Ugc2hhcmUgYSB1bmlxdWUgaWRlbnRpZmllciB3aXRoIEdvb2dsZSBBbmFseXRpY3MuIFlvdSBtYXkgb3B0LW91dCBvZiBHb29nbGUgQW5hbHl0aWNzIGJ5IGluc3RhbGxpbmcgYSBHb29nbGUgQW5hbHl0aWNzIG9wdC1vdXQgYnJvd3NlciBhZGQtb24gYXZhaWxhYmxlIGZvciBkb3dubG9hZCBoZXJlOiA8YSBocmVmPSJodHRwczovL3Rvb2xzLmdvb2dsZS5jb20vZGxwYWdlL2dhb3B0b3V0Ij5odHRwczovL3Rvb2xzLmdvb2dsZS5jb20vZGxwYWdlL2dhb3B0b3V0PC9hPi4NCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GaW5hbGx5LCB3ZSBtYXkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwdXJzdWFudCB0byBhIGxlZ2FsIG9yIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50LCBhbmQgZmFpbHVyZSB0byBwcm92aWRlIHN1Y2ggaW5mb3JtYXRpb24gbWF5IGltcGFjdCBvdXIgYWJpbGl0eSB0byBmdWxmaWxsIG91ciBvYmxpZ2F0aW9ucy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkhvdyBXZSBVc2UgWW91ciBQZXJzb25hbCBJbmZvcm1hdGlvbjwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWF5IHVzZSB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gd2UgY29sbGVjdCBmb3IgdGhlIGZvbGxvd2luZyBwdXJwb3Nlczo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Qcm92aWRlIGFuZCBpbXByb3ZlIHRoZSBTZXJ2aWNlcy48L2I+IFdlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byBwcm92aWRlIGFuZCBpbXByb3ZlIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRvIGZ1bGZpbGwgeW91ciBvcmRlcnMgYW5kIHJlcXVlc3RzIGFuZCB0byBwb3N0IHlvdXIgY29tbWVudHMgYW5kIG90aGVyIGZ1bmVyYWwgY29udHJpYnV0aW9ucy4gV2UgbWF5IGFsc28gdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiBvdXIgYnVzaW5lc3MsIGZvciBidXNpbmVzcyBkZXZlbG9wbWVudCBwdXJwb3NlcywgYW5kIHRvIGZ1bGZpbGwgb3VyIGNvbnRyYWN0dWFsIG9ibGlnYXRpb25zLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eS48L2I+IFdlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIENsaWVudHMsIHN0YWZmIGFuZCBhc3NldHMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Db21tdW5pY2F0aW9uIGFuZCBtYXJrZXRpbmcuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXMgcmVhc29uYWJseSBuZWNlc3NhcnkgdG8gYXNzZXNzIGFuZCBlbnN1cmUgY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgbGF3cywgbGVnYWwgcmVxdWlyZW1lbnRzLCBhbmQgY29tcGFueSBwb2xpY2llczsgdG8gcHJvdGVjdCBvdXIgYXNzZXRzIG9yIHRvIGludmVzdGlnYXRlIG9yIGRlZmVuZCBhZ2FpbnN0IGFueSBjbGFpbXMgb2YgaWxsZWdhbGl0eSBvciB3cm9uZ2RvaW5nIChpbmNsdWRpbmcgdG8gb2J0YWluIGxlZ2FsIGFkdmljZSBvciB0byBlc3RhYmxpc2gsIGV4ZXJjaXNlIG9yIGRlZmVuZCBsZWdhbCByaWdodHMpOyBhbmQgaW4gcmVzcG9uc2UgdG8gYSBjb3VydCBvcmRlciBvciBqdWRpY2lhbCBvciBvdGhlciBnb3Zlcm5tZW50IHN1YnBvZW5hIG9yIHdhcnJhbnQuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Db3Jwb3JhdGUgdHJhbnNhY3Rpb24uPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gaW4gdGhlIGV2ZW50IHdlIHVuZGVydGFrZSBvciBhcmUgaW52b2x2ZWQgaW4gb3IgY29udGVtcGxhdGluZyBhbnkgbWVyZ2VyLCBhY3F1aXNpdGlvbiwgcmVvcmdhbml6YXRpb24sIHNhbGUgb2YgYXNzZXRzLCBiYW5rcnVwdGN5LCBvciBpbnNvbHZlbmN5IGV2ZW50LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UmVjcnVpdG1lbnQgYW5kIGhpcmluZy48L2I+IFdlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byBldmFsdWF0ZSB5b3VyIGNhbmRpZGFjeSB3aGVuIHlvdSBhcHBseSBmb3IgYSBqb2Igd2l0aCB1cy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBtYXkgYWxzbyBhZ2dyZWdhdGUsIGFub255bWl6ZSwgb3Igb3RoZXJ3aXNlIGRlLWlkZW50aWZ5IHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+U29tZSBqdXJpc2RpY3Rpb25zIHJlcXVpcmUgdGhhdCB3ZSBkZXRlcm1pbmUgYSAibGF3ZnVsIGJhc2lzIiBmb3IgcHJvY2Vzc2luZyBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2hlcmUgc3VjaCByZXF1aXJlbWVudHMgZXhpc3QsIHdlIHJlbHkgb24gdGhlIGZvbGxvd2luZyBsYXdmdWwgYmFzZXMgZm9yIG91ciBwcm9jZXNzaW5nIGFjdGl2aXRpZXM6IHRoYXQgeW91IGhhdmUgY29uc2VudGVkIHRvIHRoZSBwcm9jZXNzaW5nOyB0aGF0IHRoZSBwcm9jZXNzaW5nIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIHBlcmZvcm1hbmNlIG9mIG91ciBjb250cmFjdCB3aXRoIHlvdTsgdGhhdCB3ZSBoYXZlIGEgbGVnYWwgb2JsaWdhdGlvbjsgb3IgdGhhdCB3ZSBoYXZlIGEgbGVnaXRpbWF0ZSBpbnRlcmVzdCBpbiBwcm92aWRpbmcgYW5kIGltcHJvdmluZyB0aGUgU2VydmljZXMgYW5kIG1hbmFnaW5nIG91ciBidXNpbmVzcyBvcGVyYXRpb25zLiBPdXIgQ2xpZW50cyBkZXRlcm1pbmUgdGhlIGxhd2Z1bCBiYXNpcyBmb3IgcHJvY2Vzc2luZyBFbmQgVXNlciBwZXJzb25hbCBpbmZvcm1hdGlvbi48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPlVzZSBvZiBDb29raWVzPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XaGVuIHlvdSB1c2UgdGhlIFNlcnZpY2VzLCB3ZSBtYXkgc2VuZCBvbmUgb3IgbW9yZSBjb29raWVzICh3aGljaCBhcmUgc21hbGwgdGV4dCBmaWxlcyBjb250YWluaW5nIGEgc3RyaW5nIG9mIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSB0byB5b3VyIGNvbXB1dGVyIG9yIG1vYmlsZSBkZXZpY2UsIHRvIGhlbHAgYW5hbHl6ZSBvdXIgd2ViIHBhZ2UgZmxvdywgY3VzdG9taXplIG91ciBjb250ZW50LCBtZWFzdXJlIHByb21vdGlvbmFsIGVmZmVjdGl2ZW5lc3MsIGFuZCBwcm9tb3RlIHRydXN0IGFuZCBzYWZldHkuIFlvdSBhcmUgYWx3YXlzIGZyZWUgdG8gZGVjbGluZSBvdXIgY29va2llcyBpZiB5b3VyIGJyb3dzZXIgcGVybWl0cywgYWx0aG91Z2ggZG9pbmcgc28gbWF5IGludGVyZmVyZSB3aXRoIHlvdXIgYWJpbGl0eSB0byB1c2UgdGhlIFNlcnZpY2VzIG9yIGNlcnRhaW4gZmVhdHVyZXMgb2YgdGhlIFNlcnZpY2VzLiBXZSBtYXkgYWxzbyB1c2UgR29vZ2xlIEFuYWx5dGljcyBvciBhIHNpbWlsYXIgc2VydmljZSB0aGF0IHVzZXMgY29va2llcyB0byBoZWxwIHVzIGFuYWx5emUgaG93IHVzZXJzIHVzZSB0aGUgU2VydmljZXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBtYXkgYWxzbyBhbGxvdyBjZXJ0YWluIHRoaXJkIHBhcnRpZXMgc3VjaCBhcyBhZHZlcnRpc2luZywgYW5hbHl0aWNzIHByb3ZpZGVycywgYW5kIHdpZGdldCBwcm92aWRlcnMgdG8gcGxhY2UgY29va2llcyBpbiBvcmRlciB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHlvdXIgb25saW5lIGFjdGl2aXRpZXMgb3ZlciB0aW1lIGFuZCBhY3Jvc3MgZGlmZmVyZW50IHdlYnNpdGVzIHdoZW4geW91IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzLiBDdXJyZW50bHksIHZhcmlvdXMgYnJvd3NlcnMgb2ZmZXIgYSAiRG8gTm90IFRyYWNrIiBvcHRpb24sIGJ1dCB0aGVyZSBpcyBubyBzdGFuZGFyZCBmb3IgaG93ICJEbyBOb3QgVHJhY2siIHNob3VsZCB3b3JrIG9uIGNvbW1lcmNpYWwgd2Vic2l0ZXMuIER1ZSB0byB0aGUgbGFjayBvZiBzdWNoIHN0YW5kYXJkcywgdGhpcyB3ZWJzaXRlIGRvZXMgbm90IHJlc3BvbmQgdG8gIkRvIE5vdCBUcmFjayIgY29uc3VtZXIgYnJvd3NlciBzZXR0aW5ncy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBtYXkgZGlzY2xvc2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byB0aGUgZm9sbG93aW5nIGNhdGVnb3JpZXMgb2YgcmVjaXBpZW50cywgdG8gYmUgdXNlZCBvbmx5IGZvciBsZWdpdGltYXRlIHB1cnBvc2VzIGluIGtlZXBpbmcgd2l0aCB0aGlzIFByaXZhY3kgTm90aWNlOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkdyb3VwIGNvbXBhbmllcyBhbmQgYWZmaWxpYXRlcy48L2I+IFdlIG1heSBkaXNjbG9zZSwgc2hhcmUsIG9yIHRyYW5zZmVyIHlvdXIgaW5mb3JtYXRpb24gdG8gYW55IGJ1c2luZXNzIGVudGl0eSB0aGF0IGlzIHBhcnQgb2Ygb3VyIGNvcnBvcmF0ZSBmYW1pbHkuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5DbGllbnRzLjwvYj4gV2UgbWF5IHNoYXJlIHlvdXIgaW5mb3JtYXRpb24gd2l0aCBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggb3VyIENsaWVudHMgcHJvdmlzaW9uIG9mIHNlcnZpY2VzIHRvIHlvdS48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlNlcnZpY2UgcHJvdmlkZXJzIGFuZCBwcm9mZXNzaW9uYWwgYWR2aXNvcnMuPC9iPiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byB0aGlyZCBwYXJ0eSB2ZW5kb3JzIHdobyBwcm92aWRlIHNlcnZpY2VzIGluIHN1cHBvcnQgb2Ygb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMsIHN1Y2ggYXMgd2Vic2l0ZSBkZXZlbG9wbWVudCBhbmQgaG9zdGluZywgcGF5bWVudCBwcm9jZXNzaW5nLCByZWNydWl0bWVudCBhbmQgaGlyaW5nLCBtYXJrZXRpbmcgbWFuYWdlbWVudCwgc2VydmljZSBvcHRpbWl6YXRpb24sIHZlbmRvcnMgdGhhdCBmdWxmaWxsIG9yZGVycyBmb3IgZnVuZXJhbC1yZWxhdGVkIGl0ZW1zIHN1Y2ggYXMgZmxvd2VycywgYW5kIGRhdGEgYW5hbHl0aWNzLiBXZSBtYXkgYWxzbyBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgb3VycyBvciBFbmQgVXNlcnMnIGluc3VyYW5jZSBwcm92aWRlcnMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5QYXJ0aWVzIGludm9sdmVkIGluIGEgY29ycG9yYXRlIHRyYW5zYWN0aW9uLjwvYj4gV2UgbWF5IGRpc2Nsb3NlIHlvdXIgaW5mb3JtYXRpb24gdG8gcmVsZXZhbnQgdGhpcmQgcGFydGllcyBpbiB0aGUgZXZlbnQgb2YgYSBkaXZlc3RpdHVyZSwgbWVyZ2VyLCBjb25zb2xpZGF0aW9uLCBvciBhc3NldCBzYWxlLCBvciBpbiB0aGUgdW5saWtlbHkgZXZlbnQgb2YgYSBiYW5rcnVwdGN5LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TGF3IGVuZm9yY2VtZW50IG9yIG90aGVyIGdvdmVybm1lbnRhbCBlbnRpdGllcy48L2I+IFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIGlmIHJlcXVpcmVkIHRvIGRvIHNvIGJ5IGxhdyBvciBpZiB3ZSBiZWxpZXZlIGluIGdvb2QgZmFpdGggdGhhdCBzdWNoIGFjdGlvbiBpcyBuZWNlc3NhcnkgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCB1bmxhd2Z1bCBhY3Rpdml0eSwgZGVmZW5kIG91ciByaWdodHMsIG9yIG1haW50YWluIHNlY3VyaXR5LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+T3RoZXIgdGhpcmQgcGFydGllcyB3aXRoIHlvdXIgY29uc2VudC48L2I+IFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBvdGhlciB0aGlyZCBwYXJ0eSB3aGVyZSB5b3UgaGF2ZSBwcm92aWRlZCBjb25zZW50IHRvIHN1Y2ggZGlzY2xvc3VyZS48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5TZWN1cml0eSwgUmV0ZW50aW9uICZhbXA7IFRyYW5zZmVyIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBoYXZlIGltcGxlbWVudGVkIGFuZCBtYWludGFpbiBjb21tZXJjaWFsbHkgcmVhc29uYWJsZSBhbmQgYXBwcm9wcmlhdGUgdGVjaG5pY2FsIGFuZCBvcmdhbml6YXRpb25hbCBtZWFzdXJlcyBkZXNpZ25lZCB0byBwcm90ZWN0IHRoZSBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5kIHNlY3VyaXR5IG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24uIFBsZWFzZSBub3RlLCBob3dldmVyLCB0aGF0IG5vIHNlY3VyaXR5IG1lYXN1cmVzIGFyZSBwZXJmZWN0IG9yIGltcGVuZXRyYWJsZS4gV2UgdGhlcmVmb3JlIGNhbm5vdCBndWFyYW50eSBhbmQgZG8gbm90IHdhcnJhbnQgdGhlIGFic29sdXRlIHNlY3VyaXR5IG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24uIFdlIHJldGFpbiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZvciBubyBsb25nZXIgdGhhbiByZWFzb25hYmx5IG5lY2Vzc2FyeSB0byBmdWxmaWxsIHRoZSBwdXJwb3NlcyBmb3Igd2hpY2ggd2UgY29sbGVjdGVkIGl0IG9yIHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgZnJhdWQsIGZhY2lsaXRhdGUgYW4gaW52ZXN0aWdhdGlvbiwgZGVmZW5kIGFnYWluc3QgbGVnYWwgY2xhaW1zLCBvciBleGVyY2lzZSBvdXIgbGVnYWwgcmlnaHRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RGVwZW5kaW5nIG9uIHlvdXIgbG9jYXRpb24sIHRoZSBwZXJzb25hbCBpbmZvcm1hdGlvbiB3ZSBjb2xsZWN0IGFib3V0IHlvdSBtYXkgYmUgdHJhbnNmZXJyZWQgdG8gYSBqdXJpc2RpY3Rpb24gdGhhdCBkb2VzIG5vdCBwcm92aWRlIHRoZSBzYW1lIGxldmVsIG9mIHByb3RlY3Rpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gYXMgdGhlIGp1cmlzZGljdGlvbiBpbiB3aGljaCB5b3UgcmVzaWRlLiBBbW9uZyBvdGhlciBwbGFjZXMsIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBiZSB0cmFuc2ZlcnJlZCB0bywgYW5kIHN0b3JlZCBpbiwgQ2FuYWRhLCBBdXN0cmFsaWEgYW5kIHRoZSBVbml0ZWQgU3RhdGVzLiBUcmFuc2ZlcnMgZnJvbSB0aGUgRXVyb3BlYW4gVW5pb24gdG8gQ2FuYWRhIGFyZSBtYWRlIHB1cnN1YW50IHRvIEV1cm9wZWFuIENvbW1pc3Npb24gRGVjaXNpb24gMjAwMi8yL0VDLCB3aGljaCBkZXRlcm1pbmVkIHRoYXQgQ2FuYWRhIGlzIGNvbnNpZGVyZWQgYXMgcHJvdmlkaW5nIGFuIGFkZXF1YXRlIGxldmVsIG9mIHByb3RlY3Rpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Zb3VyIENob2ljZXMgJmFtcDsgUmlnaHRzPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5Zb3UgbWF5IGRlY2xpbmUgdG8gc2hhcmUgY2VydGFpbiBpbmZvcm1hdGlvbiB3aXRoIHVzLCBpbiB3aGljaCBjYXNlIHdlIG1heSBub3QgYmUgYWJsZSB0byBwcm92aWRlIHRvIHlvdSBzb21lIG9mIHRoZSBmZWF0dXJlcyBhbmQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgU2VydmljZXMuIE9uY2UgeW91IGhhdmUgcmVnaXN0ZXJlZCBmb3IgYW4gYWNjb3VudCB3aXRoIHVzLCB5b3UgbWF5IHVwZGF0ZSwgY29ycmVjdCwgb3IgZGVsZXRlIHlvdXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBhbmQgcHJlZmVyZW5jZXMgYXQgYW55IHRpbWUgYnkgYWNjZXNzaW5nIHlvdXIgYWNjb3VudCBwcmVmZXJlbmNlcyBwYWdlIHRocm91Z2ggdGhlIFNlcnZpY2VzLiBJZiB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBtYXJrZXRpbmcgY29tbXVuaWNhdGlvbnMgZnJvbSB1cywgeW91IGNhbiBvcHQtb3V0IGJ5IHVzaW5nIHRoZSB1bnN1YnNjcmliZSBwcm9jZXNzIHByb3ZpZGVkIG9yIGRlc2NyaWJlZCBpbiBhbnkgc3VjaCBjb21tdW5pY2F0aW9uLCBidXQgeW91IG1heSBzdGlsbCByZWNlaXZlIHRyYW5zYWN0aW9uYWwgb3IgYWRtaW5pc3RyYXRpdmUgY29tbXVuaWNhdGlvbnMgZnJvbSB1cy4gQWx0aG91Z2ggeW91ciBjaGFuZ2VzIGFyZSByZWZsZWN0ZWQgcHJvbXB0bHkgaW4gYWN0aXZlIHVzZXIgZGF0YWJhc2VzLCB3ZSBtYXkgcmV0YWluIGFsbCBpbmZvcm1hdGlvbiB5b3Ugc3VibWl0IGZvciBhIHZhcmlldHkgb2YgcHVycG9zZXMsIGluY2x1ZGluZyBiYWNrdXBzIGFuZCBhcmNoaXZpbmcsIHByZXZlbnRpb24gb2YgZnJhdWQgYW5kIGFidXNlLCBhbmQgYW5hbHl0aWNzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RGVwZW5kaW5nIG9uIHlvdXIgbG9jYXRpb24gYW5kIHN1YmplY3QgdG8gbG9jYWwgbGF3LCB5b3UgbWF5IGhhdmUgY2VydGFpbiByaWdodHMgd2l0aCByZXNwZWN0IHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24uIFRoZXNlIG1heSBpbmNsdWRlOiB0aGUgcmlnaHQgdG8gYWNjZXNzLCBjb3JyZWN0LCBhbmQgZGVsZXRlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb247IHRoZSByaWdodCB0byByZXN0cmljdCBvciBvYmplY3QgdG8gb3VyIHVzZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyBhbmQgdGhlIHJpZ2h0IHRvIHJlY2VpdmUgYSBwb3J0YWJsZSBjb3B5IG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gaW4gYSB1c2FibGUgZm9ybWF0LiBJZiB5b3UgcHJvdmlkZSB1cyB3aXRoIGNvbnNlbnQgdG8gdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24sIHlvdSBtYXkgd2l0aGRyYXcgdGhhdCBjb25zZW50IGF0IGFueSB0aW1lLCBob3dldmVyLCBzdWNoIHdpdGhkcmF3YWwgd2lsbCBub3QgaW1wYWN0IHRoZSBsYXdmdWxuZXNzIG9mIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBiYXNlZCBvbiB5b3VyIGNvbnNlbnQgdXAgdG8gdGhhdCBwb2ludC48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlRvIG1ha2UgYSByZXF1ZXN0IHJlbGF0ZWQgdG8geW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBvciBvdGhlcndpc2UgZXhlcmNpc2UgeW91ciByaWdodHMsIHlvdSBtYXkgY29udGFjdCB1cyB1c2luZyB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiBwcm92aWRlZCBiZWxvdy4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZnJvbSB5b3UuIFdlIHdpbGwgcmVzcG9uZCB0byByZXF1ZXN0cyB3aXRoaW4gdGhlIHJlbGV2YW50IHRpbWUgcGVyaW9kcyBlc3RhYmxpc2hlZCBieSBhcHBsaWNhYmxlIGxhdy4gV2UgYXJlIGNvbW1pdHRlZCB0byBmaW5kaW5nIGEgZmFpciBhbmQgcmVhc29uYWJsZSByZXNvbHV0aW9uIHRvIGFueSByZXF1ZXN0LCBjb25jZXJuLCBvciBjb21wbGFpbnQgeW91IGJyaW5nIHRvIG91ciBhdHRlbnRpb24uIEhvd2V2ZXIsIGlmIHlvdSBhcmUgdW5zYXRpc2ZpZWQgd2l0aCBvdXIgcmVzcG9uc2UgdG8geW91ciByZXF1ZXN0LCB5b3UgbWF5IGhhdmUgdGhlIHJpZ2h0IHRvIGxvZGdlIGEgY29tcGxhaW50IHdpdGggYXBwbGljYWJsZSBnb3Zlcm5tZW50YWwgYXV0aG9yaXRpZXMsIHN1YmplY3QgdG8gbG9jYWwgbGF3LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q2hpbGRyZW4ncyBQcml2YWN5PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDE2IHllYXJzIG9mIGFnZSAoImNoaWxkcmVuIiksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxNiB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5DYWxpZm9ybmlhIFJlc2lkZW50czwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+U3VwcGxlbWVudGFsIHRvIHRoZSBhYm92ZSwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHBlcnRhaW5zIHRvIENhbGlmb3JuaWEgcmVzaWRlbnRzIG9ubHk6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD48Yj5Db2xsZWN0aW9uIGFuZCBVc2Ugb2YgUGVyc29uYWwgSW5mb3JtYXRpb248L2I+PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQgYWJvdXQgQ2FsaWZvcm5pYSByZXNpZGVudHMgaW4gdGhlIHBhc3QgdHdlbHZlIG1vbnRocyBpbmNsdWRlIGlkZW50aWZpZXJzLCBvdGhlciBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiwgY2hhcmFjdGVyaXN0aWNzIG9mIHByb3RlY3RlZCBjbGFzcywgY29tbWVyY2lhbCBpbmZvcm1hdGlvbiwgSW50ZXJuZXQgb3Igb3RoZXIgZWxlY3Ryb25pYyBuZXR3b3JrIGFjdGl2aXR5IGluZm9ybWF0aW9uLCBwcm9mZXNzaW9uYWwgb3IgZW1wbG95bWVudC1yZWxhdGVkIGluZm9ybWF0aW9uLCBlZHVjYXRpb24gaW5mb3JtYXRpb24sIGFuZCBpbmZlcmVuY2VzIGRyYXduIGZyb20gc3VjaCBpbmZvcm1hdGlvbi4gRm9yIGV4YW1wbGVzIG9mIHNwZWNpZmljIHBpZWNlcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQsIHBsZWFzZSBzZWUgdGhlICJQZXJzb25hbCBJbmZvcm1hdGlvbiBXZSBDb2xsZWN0IiBzZWN0aW9uIGFib3ZlLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBkaXNjbG9zZWQgZm9yIGEgYnVzaW5lc3MgcHVycG9zZSBhYm91dCBDYWxpZm9ybmlhIHJlc2lkZW50cyBpbiB0aGUgcGFzdCB0d2VsdmUgbW9udGhzIGluY2x1ZGUgaWRlbnRpZmllcnMsIG90aGVyIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBjaGFyYWN0ZXJpc3RpY3Mgb2YgcHJvdGVjdGVkIGNsYXNzLCBjb21tZXJjaWFsIGluZm9ybWF0aW9uLCBJbnRlcm5ldCBvciBvdGhlciBlbGVjdHJvbmljIG5ldHdvcmsgYWN0aXZpdHkgaW5mb3JtYXRpb24sIHByb2Zlc3Npb25hbCBvciBlbXBsb3ltZW50LXJlbGF0ZWQgaW5mb3JtYXRpb24sIGFuZCBlZHVjYXRpb24gaW5mb3JtYXRpb24uPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcycgZGlyZWN0IG1hcmtldGluZyBwdXJwb3Nlcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD48Yj5Zb3VyIENhbGlmb3JuaWEgUHJpdmFjeSBSaWdodHM8L2I+PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5BcyBhIENhbGlmb3JuaWEgcmVzaWRlbnQsIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRvIGtub3cgYWJvdXQgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBkaXNjbG9zZWQsIG9yIHNvbGQuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gcmVxdWVzdCB0aGUgZGVsZXRpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gb3B0LW91dCBvZiB0aGUgc2FsZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGF0IGFueSB0aW1lLiBOb3RlIHRoYXQgd2UgZG8gbm90IGN1cnJlbnRseSBzZWxsIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDxwPkZpbmFsbHksIHlvdSBoYXZlIHRoZSByaWdodCB0byBub3QgYmUgZGlzY3JpbWluYXRlZCBhZ2FpbnN0IGFzIGEgcmVzdWx0IG9mIGV4ZXJjaXNpbmcgeW91ciBwcml2YWN5IHJpZ2h0cy4gQWNjb3JkaW5nbHksIHVubGVzcyBwZXJtaXR0ZWQgYnkgbGF3LCB3ZSB3aWxsIG5vdCBkZW55IHlvdSBnb29kcyBvciBzZXJ2aWNlcywgY2hhcmdlIHlvdSBkaWZmZXJlbnQgcHJpY2VzIG9yIHJhdGVzIGZvciBnb29kcyBvciBzZXJ2aWNlcywgcHJvdmlkZSB5b3UgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlRvIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cgb3IgY2FsbCA8IS0tZ29vZ2xlb2ZmOiBhbGwtLT4xLTg2Ni0zNzItOTM3MjwhLS1nb29nbGVvbjogYWxsLS0+LiBJbiBvcmRlciB0byBmdWxmaWxsIHlvdXIgcmVxdWVzdCwgd2UgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcHVycG9zZXMgb2YgdmVyaWZ5aW5nIHlvdXIgaWRlbnRpdHkuIElmIHlvdSBtYWtlIGEgcmVxdWVzdCB0aHJvdWdoIGFuIGF1dGhvcml6ZWQgYWdlbnQsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gdmVyaWZ5IHlvdXIgYXV0aG9yaXphdGlvbiBvZiB0aGUgYWdlbnQuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5DaGFuZ2VzIHRvIFByaXZhY3kgTm90aWNlPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSByZXNlcnZlIHRoZSByaWdodCB0byBtYWtlIGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBhdCBhbnkgdGltZSwgd2l0aG91dCBub3RpY2UuIFdlIHdpbGwgbm90aWZ5IHlvdSBhYm91dCBjaGFuZ2VzIHRoYXQgc2lnbmlmaWNhbnRseSBpbXBhY3Qgb3VyIHVzZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ5IHBsYWNpbmcgYSBwcm9taW5lbnQgbm90aWNlIG9uIHRoaXMgd2Vic2l0ZSBvciBieSBzZW5kaW5nIHlvdSBhbiBlbWFpbC4gUGxlYXNlIHJldmlzaXQgdGhpcyBwYWdlIHBlcmlvZGljYWxseSB0byBzdGF5IGF3YXJlIG9mIGFueSBjaGFuZ2VzIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UuIEZvciB0aGUgYXZvaWRhbmNlIG9mIGRvdWJ0LCBkaXNwdXRlcyBhcmlzaW5nIGhlcmV1bmRlciB3aWxsIGJlIHJlc29sdmVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgUHJpdmFjeSBOb3RpY2UgaW4gZWZmZWN0IGF0IHRoZSB0aW1lIHRoZSBkaXNwdXRlIGFyb3NlLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q29udGFjdCBVczwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+UGxlYXNlIGNvbnRhY3QgdXMgd2l0aCBhbnkgcXVlc3Rpb25zLCBjb21tZW50cyBvciBjb25jZXJucyBhYm91dCB0aGlzIFByaXZhY3kgTm90aWNlIG9yIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBieSBlLW1haWwgYXQgPGEgaHJlZj0ibWFpbHRvOnByaXZhY3lAZnJhemVyY29uc3VsdGFudHMuY29tIj5wcml2YWN5QGZyYXplcmNvbnN1bHRhbnRzLmNvbTwvYT4gb3IgYnkgbWFpbCBhdDo8L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPkZyYXplciBDb25zdWx0YW50cyBMTEM8YnI+IDI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQTxicj4gTWlkZGxldG9uLCBXSSA1MzU2MjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg==, PGRpdj4NCiAgICA8aDE+RnJhemVyIENvbnN1bHRhbnRzIFRlcm1zIG9mIFVzZTwvaDE+DQogICAgPHA+Jm5ic3A7PC9wPg0KICAgIDxkaXY+DQogICAgICAgIFRoZXNlIFRlcm1zIG9mIFVzZSwgdG9nZXRoZXIgd2l0aCBGcmF6ZXIgQ29uc3VsdGFudHMnIDxhIGhyZWY9Imh0dHBzOi8vZnJhemVyY29uc3VsdGFudHMuY29tL3ByaXZhY3ktcG9saWN5LyI+UHJpdmFjeSBQb2xpY3k8L2E+LCAoY29sbGVjdGl2ZWx5LCB0aGUgIlRlcm1zIikgc2V0IGZvcnRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGFwcGx5IHRvIHlvdXIgYWNjZXNzIGFuZCB1c2Ugb2YgdGhlIHdlYnNpdGUgb2YgRnJhemVyIENvbnN1bHRhbnRzIExMQyAoaHR0cHM6Ly93d3cuZnJhemVyY29uc3VsdGFudHMuY29tLykgKCJGcmF6ZXIiICJ3ZSIgb3IgInVzIikgYW5kIGFzc29jaWF0ZWQgc2VydmljZXMsIGluY2x1ZGluZyBGcmF6ZXIgc2VydmljZXMgdGhhdCBhcmUgYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdlYnNpdGVzIG9mIG91ciBjbGllbnQgZnVuZXJhbCBob21lcyBhbmQgb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzICh0b2dldGhlciwgdGhlICJTaXRlcyIpLCB3aGV0aGVyIGFzIGEgY2xpZW50LCBlbmQgdXNlciBvciBjdXN0b21lciBvZiBhIGNsaWVudCwgb3Igb3RoZXJ3aXNlLiAiRnJhemVyIiBpbmNsdWRlcyBhbGwgb2ZmaWNlcnMsIGRpcmVjdG9ycywgZW1wbG95ZWVzLCBjb25zdWx0YW50cywgYWZmaWxpYXRlcywgc3Vic2lkaWFyaWVzLCBhbmQgYWdlbnRzLiBUaGUgVGVybXMgY29uc3RpdHV0ZSBhIGxlZ2FsbHkgYmluZGluZyBhZ3JlZW1lbnQgYmV0d2VlbiB5b3UsIHdoZXRoZXIgcGVyc29uYWxseSBvciBvbiBiZWhhbGYgb2YgYW4gZW50aXR5ICgieW91IikgYW5kIEZyYXplciBjb25jZXJuaW5nIHlvdXIgYWNjZXNzIHRvIGFuZCB1c2Ugb2YgdGhlIFNpdGVzLg0KICAgICAgICA8cD48L3A+DQogICAgICAgIDxwPkJ5IHVzaW5nIG9yIGFjY2Vzc2luZyB0aGUgU2l0ZXMsIHlvdSBhZ3JlZSB0byB0aGVzZSBUZXJtcywgYXMgbWF5IGJlIHVwZGF0ZWQgZnJvbSB0aW1lIHRvIHRpbWUgaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24gOSBiZWxvdy48L3A+DQogICAgICAgIDxvbD4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkFjY291bnQgU2VjdXJpdHkuPC9zdHJvbmc+IFRvIHVzZSB0aGUgU2l0ZXMgeW91IG11c3QgKGkpIGJlIGF0IGxlYXN0IGVpZ2h0ZWVuICgxOCkgeWVhcnMgb2YgYWdlOyAoaWkpIGhhdmUgbm90IHByZXZpb3VzbHkgYmVlbiBzdXNwZW5kZWQgb3IgcmVtb3ZlZCBmcm9tIHRoZSBTaXRlczsgYW5kIChpaWkpIHJlZ2lzdGVyIGZvciBhbmQgdXNlIHRoZSBTaXRlcyBpbiBjb21wbGlhbmNlIHdpdGggYW55IGFuZCBhbGwgYXBwbGljYWJsZSBsYXdzIGFuZCByZWd1bGF0aW9ucy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+IFRvIGFjY2VzcyBzb21lIGZlYXR1cmVzIG9mIHRoZSBTaXRlcywgeW91IG1heSBiZSByZXF1aXJlZCB0byByZWdpc3RlciBmb3IgYW4gYWNjb3VudC4gV2hlbiB5b3UgcmVnaXN0ZXIgZm9yIGFuIGFjY291bnQsIHdlIG1heSBhc2sgeW91IHRvIGdpdmUgdXMgY2VydGFpbiBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB5b3Vyc2VsZiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIG90aGVyIGNvbnRhY3QgaW5mb3JtYXRpb24sIGFuZCB0byBjcmVhdGUgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkICgiUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIikuIFdoZW4gcmVnaXN0ZXJpbmcgZm9yIGFuZCBtYWludGFpbmluZyBhbiBhY2NvdW50LCB5b3UgYWdyZWUgdG8gcHJvdmlkZSB0cnVlLCBhY2N1cmF0ZSwgY3VycmVudCwgYW5kIGNvbXBsZXRlIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLiBZb3UgYWxzbyBhZ3JlZSBub3QgdG8gaW1wZXJzb25hdGUgYW55b25lLCBtaXNyZXByZXNlbnQgYW55IGFmZmlsaWF0aW9uIHdpdGggYW55b25lIGVsc2UsIHVzZSBmYWxzZSBpbmZvcm1hdGlvbiwgb3Igb3RoZXJ3aXNlIGNvbmNlYWwgeW91ciBpZGVudGl0eSBmcm9tIEZyYXplciBmb3IgYW55IHB1cnBvc2UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmluZyB0aGUgY29uZmlkZW50aWFsaXR5IGFuZCBzZWN1cml0eSBvZiB5b3VyIHBhc3N3b3JkIGFuZCBvdGhlciBSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24uIEZvciB5b3VyIHByb3RlY3Rpb24gYW5kIHRoZSBwcm90ZWN0aW9uIG9mIG90aGVyIHVzZXJzLCB3ZSBhc2sgeW91IG5vdCB0byBzaGFyZSB5b3VyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiB3aXRoIGFueW9uZSBlbHNlLiBJZiB5b3UgZG8gc2hhcmUgdGhpcyBpbmZvcm1hdGlvbiB3aXRoIGFueW9uZSwgd2Ugd2lsbCBjb25zaWRlciB0aGVpciBhY3Rpdml0aWVzIHRvIGhhdmUgYmVlbiBhdXRob3JpemVkIGJ5IHlvdS4gSWYgeW91IGhhdmUgcmVhc29uIHRvIGJlbGlldmUgdGhhdCB5b3VyIGFjY291bnQgaXMgbm8gbG9uZ2VyIHNlY3VyZSwgeW91IG11c3QgaW1tZWRpYXRlbHkgbm90aWZ5IHVzIGF0IGhlbHBAZnJhemVyY29uc3VsdGFudHMuY29tLjwvbGk+DQogICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgPHN0cm9uZz5Qcm9oaWJpdGVkLjwvc3Ryb25nPiBZb3UgYWdyZWUgbm90IHRvOg0KICAgICAgICAgICAgICAgIDxvbCB0eXBlPSJBIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlVzZSB0aGUgU2l0ZXMgZm9yIGFueSBpbGxlZ2FsIHB1cnBvc2UsIG9yIGluIHZpb2xhdGlvbiBvZiBhbnkgbG9jYWwsIHN0YXRlLCBuYXRpb25hbCwgb3IgaW50ZXJuYXRpb25hbCBsYXc7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlZpb2xhdGUgb3IgZW5jb3VyYWdlIG90aGVycyB0byB2aW9sYXRlIHRoZSByaWdodHMgb2YgdGhpcmQgcGFydGllcywgaW5jbHVkaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHM7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGU7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkludGVyZmVyZSBpbiBhbnkgd2F5IHdpdGggc2VjdXJpdHktcmVsYXRlZCBmZWF0dXJlcyBvZiB0aGUgU2l0ZXM7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkludGVyZmVyZSB3aXRoIHRoZSBvcGVyYXRpb24gb3IgYW55IHVzZXIncyBlbmpveW1lbnQgb2YgdGhlIFNpdGVzLCBpbmNsdWRpbmcgYnkgdXBsb2FkaW5nIG9yIG90aGVyd2lzZSBkaXNzZW1pbmF0aW5nIHZpcnVzZXMsIGFkd2FyZSwgc3B5d2FyZSwgd29ybXMsIG9yIG90aGVyIG1hbGljaW91cyBjb2RlLCBtYWtpbmcgdW5zb2xpY2l0ZWQgb2ZmZXJzIG9yIGFkdmVydGlzZW1lbnRzIHRvIG90aGVyIHVzZXJzLCBvciBhdHRlbXB0aW5nIHRvIGNvbGxlY3QgcGVyc29uYWwgaW5mb3JtYXRpb24gYWJvdXQgdXNlcnMgb3IgdGhpcmQgcGFydGllcyB3aXRob3V0IHRoZWlyIGNvbnNlbnQ7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkFjY2VzcywgbW9uaXRvciBvciBjb3B5IGFueSBjb250ZW50IG9yIGluZm9ybWF0aW9uIG9mIHRoZSBTaXRlcyB1c2luZyBhbnkgcm9ib3QsIHNwaWRlciwgc2NyYXBlciwgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBGcmF6ZXIncyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+VXNlLCByZXByb2R1Y2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSBvciBzdG9yZSBhbnkgcGFydCBvZiB0aGUgU2l0ZXMgKGluY2x1ZGluZyBvYml0dWFyaWVzLCBldmVudCBpbmZvcm1hdGlvbiwgb3Igb3RoZXIgY29udGVudCkgZm9yIGFueSBwdXJwb3NlIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiBGcmF6ZXI7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlBlcmZvcm0gYW55IGZyYXVkdWxlbnQgYWN0aXZpdHksIGluY2x1ZGluZyBpbXBlcnNvbmF0aW5nIGFueSBwZXJzb24gb3IgZW50aXR5LCBjbGFpbWluZyBmYWxzZSBhZmZpbGlhdGlvbnMsIGFjY2Vzc2luZyB0aGUgYWNjb3VudHMgb2Ygb3RoZXIgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uLCBvciBmYWxzaWZ5aW5nIHlvdXIgaWRlbnRpdHkgb3IgYW55IGluZm9ybWF0aW9uIGFib3V0IHlvdSwgaW5jbHVkaW5nIGFnZSBvciBkYXRlIG9mIGJpcnRoOyBvcjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJBIj5TZWxsIG9yIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgYWNjZXNzIGdyYW50ZWQgaGVyZWluLjwvbGk+DQogICAgICAgICAgICAgICAgPC9vbD4NCiAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5UaGlyZCBQYXJ0eSBDb250ZW50Ljwvc3Ryb25nPiBUaGUgU2l0ZXMgbWF5IGNvbnRhaW4gbGlua3MgdG8gdGhpcmQgcGFydHkgd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiZuYnNwOyBGcmF6ZXIgcHJvdmlkZXMgc3VjaCBsaW5rcyBhcyBhIGNvbnZlbmllbmNlLCBhbmQgZG9lcyBub3QgY29udHJvbCBvciBlbmRvcnNlIHRoZXNlIHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4mbmJzcDsgWW91IGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IEZyYXplciBoYXMgbm90IHJldmlld2VkIHRoZSBjb250ZW50LCBhZHZlcnRpc2luZywgcHJvZHVjdHMsIHNlcnZpY2VzLCBvciBvdGhlciBtYXRlcmlhbHMgdGhhdCBhcHBlYXIgb24gc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSBmb3IgdGhlIGxlZ2FsaXR5LCBhY2N1cmFjeSwgb3IgYXBwcm9wcmlhdGVuZXNzIG9mIGFueSBzdWNoIGNvbnRlbnQsIGFuZCBzaGFsbCBub3QgYmUgcmVzcG9uc2libGUgb3IgbGlhYmxlLCBkaXJlY3RseSBvciBpbmRpcmVjdGx5LCBmb3IgYW55IGRhbWFnZSBvciBsb3NzIGNhdXNlZCBvciBhbGxlZ2VkIHRvIGJlIGNhdXNlZCBieSBvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHVzZSBvZiBhbnkgc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+SW50ZWxsZWN0dWFsIFByb3BlcnR5Ljwvc3Ryb25nPiBZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgImNvbnRlbnQiKSB0byBGcmF6ZXIgb3IgYW55IHdlYnNpdGUgb2YgYW55IGZ1bmVyYWwgaG9tZSBvcGVyYXRlZCBieSBGcmF6ZXIsIHN1Y2ggY29udGVudCB3aWxsIGJlIHNoYXJlZCB3aXRoIGFuZCBzdG9yZWQgYnkgRnJhemVyIGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gVHJpYnV0ZSBBcmNoaXZlICh0cmlidXRlYXJjaGl2ZS5jb20pLiZuYnNwO1lvdSBmdXJ0aGVyIGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IHlvdSByZWxpbnF1aXNoIGFsbCBvd25lcnNoaXAgcmlnaHRzIGluIGFueSBpZGVhcyBvciBzdWdnZXN0aW9ucyB0aGF0IHlvdSBzdWJtaXQgdG8gRnJhemVyIHRocm91Z2ggdGhlIFNpdGVzLiZuYnNwO1RoZSBTaXRlcyBhcmUgcHJvdGVjdGVkIGJ5IGFwcGxpY2FibGUgY29weXJpZ2h0IGFuZCBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgbGF3cywgYW5kIG5vIG1hdGVyaWFscyBmcm9tIHRoZSBTaXRlcyBtYXkgYmUgY29waWVkLCByZXByb2R1Y2VkLCByZXB1Ymxpc2hlZCwgdXBsb2FkZWQsIHBvc3RlZCwgdHJhbnNtaXR0ZWQsIG9yIGRpc3RyaWJ1dGVkIGluIGFueSB3YXkgd2l0aG91dCBvdXIgZXhwcmVzcyBwZXJtaXNzaW9uLiZuYnNwO0FsbCB0cmFkZW1hcmtzIGFuZCBzZXJ2aWNlIG1hcmtzIG9uIHRoZSBTaXRlcyBiZWxvbmcgdG8gRnJhemVyLCBleGNlcHQgdGhpcmQtcGFydHkgdHJhZGVtYXJrcyBvciBzZXJ2aWNlIG1hcmtzLCB3aGljaCBhcmUgdGhlIHByb3BlcnR5IG9mIHRoZWlyIHJlc3BlY3RpdmUgb3duZXJzLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5Vc2VyIENvbnRlbnQuPC9zdHJvbmc+IFlvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3Ugb3duIG9yIG90aGVyd2lzZSBoYXZlIHRoZSByaWdodCB0byB1c2UgYW55IGNvbnRlbnQgeW91IHBvc3QgdG8gdGhlIFNpdGVzLiZuYnNwO0lmIHlvdSBiZWxpZXZlIHRoYXQgeW91ciBjb250ZW50IGhhcyBiZWVuIHVzZWQgaW4gYSB3YXkgdGhhdCBjb25zdGl0dXRlcyBjb3B5cmlnaHQgaW5mcmluZ2VtZW50LCB5b3UgbWF5IGNvbnRhY3Qgb3VyIERlc2lnbmF0ZWQgQWdlbnQ6PC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgICAgPCEtLWdvb2dsZW9mZjogYWxsLS0+DQogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogNDBweCI+DQogICAgICAgICAgICBBZGFtIEhvdmV5PGJyPg0KICAgICAgICAgICAgRnJhemVyIENvbnN1bHRhbnRzLCBMTEM8YnI+DQogICAgICAgICAgICAyNTAxIFBhcm1lbnRlciBTdHJlZXQgLSBTdWl0ZSAzMDBBPGJyPg0KICAgICAgICAgICAgTWlkZGxldG9uLCBXSSA1MzU2Mjxicj4NCiAgICAgICAgICAgIFBob25lOiA2MDgtNTg4LTg1MjI8YnI+DQogICAgICAgICAgICBGYXg6IDg2Ni00NDctMDMxMTxicj4NCiAgICAgICAgICAgIEVtYWlsOiBhZGFtQGZyYXplcmNvbnN1bHRhbnRzLmNvbQ0KICAgICAgICA8L3A+DQogICAgICAgIDwhLS1nb29nbGVvbjogYWxsLS0+DQogICAgICAgIDxwPllvdSBtdXN0IHByb3ZpZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogYW4gZWxlY3Ryb25pYyBvciBwaHlzaWNhbCBzaWduYXR1cmUgb2YgdGhlIGNvcHlyaWdodCBvd25lciBvciB0aGUgcGVyc29uIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgY29weXJpZ2h0IG93bmVyOyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjb3B5cmlnaHRlZCB3b3JrIHRoYXQgeW91IGNsYWltIGhhcyBiZWVuIGluZnJpbmdlZDsgYSBkZXNjcmlwdGlvbiBvZiB3aGVyZSB0aGUgbWF0ZXJpYWwgdGhhdCB5b3UgY2xhaW0gaXMgaW5mcmluZ2luZyBpcyBsb2NhdGVkOyB5b3VyIGFkZHJlc3MsIHRlbGVwaG9uZSBudW1iZXIsIGFuZCBlbWFpbCBhZGRyZXNzOyBhIHdyaXR0ZW4gc3RhdGVtZW50IHRoYXQgeW91IGhhdmUgYSBnb29kIGZhaXRoIGJlbGllZiB0aGF0IHRoZSBkaXNwdXRlZCB1c2UgaXMgbm90IGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBvd25lciwgaXRzIGFnZW50LCBvciB0aGUgbGF3OyBhIHN0YXRlbWVudCBieSB5b3UsIG1hZGUgdW5kZXIgcGVuYWx0eSBvZiBwZXJqdXJ5LCB0aGF0IHRoZSBhYm92ZSBpbmZvcm1hdGlvbiBpbiB5b3VyIG5vdGljZSBpcyBhY2N1cmF0ZSBhbmQgdGhhdCB5b3UgYXJlIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgYXV0aG9yaXplZCB0byBhY3Qgb24gdGhlIGNvcHlyaWdodCBvd25lcidzIGJlaGFsZi4mbmJzcDtGcmF6ZXIgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBGcmF6ZXIgb3Igb3RoZXJzLjwvcD4NCiAgICAgICAgPG9sIHN0YXJ0PSI3Ij4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkluZGVtbmlmaWNhdGlvbi48L3N0cm9uZz4gWW91IGFncmVlIHRoYXQgeW91IHdpbGwgYmUgcGVyc29uYWxseSByZXNwb25zaWJsZSBmb3IgeW91ciB1c2Ugb2YgdGhlIFNpdGVzLCBhbmQgeW91IGFncmVlIHRvIGRlZmVuZCwgaW5kZW1uaWZ5LCBhbmQgaG9sZCBoYXJtbGVzcyBGcmF6ZXIgZnJvbSBhbmQgYWdhaW5zdCBhbnkgYW5kIGFsbCBjbGFpbXMsIGxpYWJpbGl0aWVzLCBkYW1hZ2VzLCBsb3NzZXMsIGFuZCBleHBlbnNlcyAoaW5jbHVkaW5nIGF0dG9ybmV5cycgYW5kIGFjY291bnRpbmcgZmVlcyBhbmQgY29zdHMpLCBhcmlzaW5nIG91dCBvZiBvciBpbiBhbnkgd2F5IGNvbm5lY3RlZCB3aXRoIChpKSB5b3VyIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2l0ZXM7IChpaSkgeW91ciB2aW9sYXRpb24gb2YgdGhlIFRlcm1zIG9yIGFueSBhcHBsaWNhYmxlIGxhdyBvciByZWd1bGF0aW9uOyAoaWlpKSB5b3VyIHZpb2xhdGlvbiBvZiBhbnkgdGhpcmQgcGFydHkgcmlnaHQsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodCwgcHVibGljaXR5LCBjb25maWRlbnRpYWxpdHksIHByb3BlcnR5LCBvciBwcml2YWN5IHJpZ2h0OyBvciAoaXYpIGFueSBkaXNwdXRlcyBvciBpc3N1ZXMgYmV0d2VlbiB5b3UgYW5kIGFueSB0aGlyZCBwYXJ0eS4gRnJhemVyIHJlc2VydmVzIHRoZSByaWdodCwgYXQgb3VyIG93biBleHBlbnNlLCB0byBhc3N1bWUgdGhlIGV4Y2x1c2l2ZSBkZWZlbnNlIGFuZCBjb250cm9sIG9mIGFueSBtYXR0ZXIgb3RoZXJ3aXNlIHN1YmplY3QgdG8gaW5kZW1uaWZpY2F0aW9uIGJ5IHlvdSwgYW5kIGluIHN1Y2ggY2FzZSwgeW91IGFncmVlIHRvIGNvb3BlcmF0ZSB3aXRoIG91ciBkZWZlbnNlIG9mIHN1Y2ggY2xhaW0uPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPlRlcm1pbmF0aW9uLjwvc3Ryb25nPiBJZiB5b3UgdmlvbGF0ZSB0aGVzZSBUZXJtcywgeW91ciBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgU2l0ZXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZS4mbmJzcDtJbiBhZGRpdGlvbiwgRnJhemVyIGluIGl0cyBzb2xlIGRpc2NyZXRpb24gbWF5IHN1c3BlbmQgb3IgdGVybWluYXRlIHlvdXIgdXNlciBhY2NvdW50IGFuZC9vciBzdXNwZW5kIG9yIHRlcm1pbmF0ZSBzb21lIG9yIGFsbCBvZiB5b3VyIGFjY2VzcyB0byB0aGUgU2l0ZXMgYXQgYW55IHRpbWUsIHdpdGggb3Igd2l0aG91dCBub3RpY2UgdG8geW91LiZuYnNwO1lvdSBtYXkgdGVybWluYXRlIHlvdXIgYWNjb3VudCBhdCBhbnkgdGltZSBieSBjb250YWN0aW5nIEZyYXplciBhdCBoZWxwQGZyYXplcmNvbnN1bHRhbnRzLmNvbS4gQWZ0ZXIgeW91ciBhY2NvdW50IGlzIHRlcm1pbmF0ZWQsIGluZm9ybWF0aW9uIGFuZCBjb250ZW50IHByZXZpb3VzbHkgcHJvdmlkZWQgYnkgeW91IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgdGhyb3VnaCB5b3VyIGFjY291bnQsIGJ1dCBGcmF6ZXIgbWF5IGNvbnRpbnVlIHRvIHN0b3JlIHN1Y2ggaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQsIGFuZCBpdCBtYXkgYWxzbyBiZSBzdG9yZWQgYnkgdGhpcmQgcGFydGllcyB0byB3aG9tIGl0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRocm91Z2ggeW91ciB1c2Ugb2YgdGhlIFNpdGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5Nb2RpZmljYXRpb24gb2YgdGhlIFRlcm1zLjwvc3Ryb25nPiBGcmF6ZXIgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNpdGVzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgdXBvbiBub3RpY2UgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zLiZuYnNwO1dlIHdpbGwgbWFrZSByZWFzb25hYmxlIGVmZm9ydHMgdG8gbm90aWZ5IHlvdSBvZiBhbnkgbWF0ZXJpYWwgY2hhbmdlcyB0byB0aGUgVGVybXMsIGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCBieSBwb3N0aW5nIGEgbm90aWNlIHRvIG91ciB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgYW4gZW1haWwgdG8gYW55IGFkZHJlc3MgeW91IG1heSBoYXZlIHByb3ZpZGVkIHRvIHVzLiZuYnNwO1lvdXIgY29udGludWVkIHVzZSBvZiB0aGUgU2l0ZXMgZm9sbG93aW5nIG5vdGljZSB3aWxsIGJlIGRlZW1lZCBhY2NlcHRhbmNlIG9mIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+RGlzY2xhaW1lcnMgb2YgV2FycmFudGllcy48L3N0cm9uZz4gVGhlIFNpdGVzIGFyZSBwcm92aWRlZCAiYXMgaXMiIGFuZCBvbiBhbiAiYXMgYXZhaWxhYmxlIiBiYXNpcywgd2l0aG91dCB3YXJyYW50eSBvciBjb25kaXRpb24gb2YgYW55IGtpbmQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIEFsdGhvdWdoIEZyYXplciBzZWVrcyB0byBtYWludGFpbiBzYWZlLCBzZWN1cmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1mdW5jdGlvbmluZyBzZXJ2aWNlcywgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgY29udGludW91cyBvcGVyYXRpb24gb2Ygb3IgYWNjZXNzIHRvIG91ciBTaXRlcywgYW5kIHRoZXJlIG1heSBhdCB0aW1lcyBiZSBpbmFkdmVydGVudCB0ZWNobmljYWwgb3IgZmFjdHVhbCBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLiBGcmF6ZXIgc3BlY2lmaWNhbGx5IChidXQgd2l0aG91dCBsaW1pdGF0aW9uKSBkaXNjbGFpbXMgKGkpIGFueSBpbXBsaWVkIHdhcnJhbnRpZXMgb2YgbWVyY2hhbnRhYmlsaXR5LCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgcXVpZXQgZW5qb3ltZW50LCBvciBub24taW5mcmluZ2VtZW50OyBhbmQgKGlpKSBhbnkgd2FycmFudGllcyBhcmlzaW5nIG91dCBvZiBjb3Vyc2Utb2YtZGVhbGluZywgdXNhZ2UsIG9yIHRyYWRlLiBZb3UgYXNzdW1lIGFsbCByaXNrIGZvciBhbnkvYWxsIGRhbWFnZXMgdGhhdCBtYXkgcmVzdWx0IGZyb20geW91ciB1c2Ugb2Ygb3IgYWNjZXNzIHRvIHRoZSBTaXRlcy4mbmJzcDtGcmF6ZXIgZG9lcyBub3QgZ3VhcmFudGVlIHRoZSBhY2N1cmFjeSBvZiwgYW5kIGRpc2NsYWltcyBhbGwgbGlhYmlsaXR5IGZvciwgYW55IGVycm9ycyBvciBvdGhlciBpbmFjY3VyYWNpZXMgaW4gdGhlIGluZm9ybWF0aW9uLCBjb250ZW50LCByZWNvbW1lbmRhdGlvbnMsIGFuZCBtYXRlcmlhbHMgbWFkZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgU2l0ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Ljwvc3Ryb25nPiBJbiBubyBldmVudCB3aWxsIEZyYXplciBiZSBsaWFibGUgdG8geW91IGZvciBhbnkgaW5jaWRlbnRhbCwgc3BlY2lhbCwgY29uc2VxdWVudGlhbCwgZGlyZWN0LCBpbmRpcmVjdCwgb3IgcHVuaXRpdmUgZGFtYWdlcywgd2hldGhlciBiYXNlZCBvbiB3YXJyYW50eSwgY29udHJhY3QsIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgc3RhdHV0ZSwgb3IgYW55IG90aGVyIGxlZ2FsIHRoZW9yeSwgd2hldGhlciBvciBub3QgRnJhemVyIGhhcyBiZWVuIGluZm9ybWVkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZS4mbmJzcDtTb21lIGp1cmlzZGljdGlvbnMgZG8gbm90IGFsbG93IHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMgb3IgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLiBBY2NvcmRpbmdseSwgc29tZSBvZiB0aGUgYWJvdmUgbGltaXRhdGlvbnMgbWF5IG5vdCBhcHBseSB0byB5b3UuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkdvdmVybmluZyBMYXcuPC9zdHJvbmc+IFRoZXNlIFRlcm1zIGFyZSBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUgU3RhdGUgb2YgV2lzY29uc2luLCB3aXRob3V0IHJlZ2FyZCB0byBjb25mbGljdCBvZiBsYXcgcHJpbmNpcGxlcy4mbmJzcDtUbyB0aGUgZXh0ZW50IHRoYXQgYW55IGxhd3N1aXQgb3IgY291cnQgcHJvY2VlZGluZyBpcyBwZXJtaXR0ZWQgaGVyZXVuZGVyLCB5b3UgYW5kIEZyYXplciBhZ3JlZSB0byBzdWJtaXQgdG8gdGhlIGV4Y2x1c2l2ZSBwZXJzb25hbCBqdXJpc2RpY3Rpb24gb2YgdGhlIHN0YXRlIGNvdXJ0cyBvZiBXaXNjb25zaW4sIG9yLCBpZiBzdWNoIGNvdXJ0IHNoYWxsIG5vdCBoYXZlIGp1cmlzZGljdGlvbiwgYW55IGZlZGVyYWwgY291cnQgb2YgdGhlIFVuaXRlZCBTdGF0ZXMsIGFuZCBhcHByb3ByaWF0ZSBhcHBlbGxhdGUgY291cnRzIHRoZXJlZnJvbSwgZm9yIHRoZSBwdXJwb3NlIG9mIGxpdGlnYXRpbmcgYWxsIHN1Y2ggZGlzcHV0ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPk1vZGlmaWNhdGlvbiBvZiB0aGUgU2l0ZXMuPC9zdHJvbmc+IEZyYXplciByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IG9yIGRpc2NvbnRpbnVlLCB0ZW1wb3JhcmlseSBvciBwZXJtYW5lbnRseSwgc29tZSBvciBhbGwgb2YgdGhlIFNpdGVzIGF0IGFueSB0aW1lIHdpdGhvdXQgYW55IG5vdGljZSBvciBmdXJ0aGVyIG9ibGlnYXRpb24gdG8geW91LiZuYnNwO1lvdSBhZ3JlZSB0aGF0IEZyYXplciB3aWxsIG5vdCBiZSBsaWFibGUgdG8geW91IG9yIHRvIGFueSB0aGlyZCBwYXJ0eSBmb3IgYW55IG1vZGlmaWNhdGlvbiwgc3VzcGVuc2lvbiwgb3IgZGlzY29udGludWFuY2Ugb2YgYW55IG9mIHRoZSBTaXRlcy48L2xpPg0KICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgIDxzdHJvbmc+R2VuZXJhbC48L3N0cm9uZz4NCiAgICAgICAgICAgICAgICA8b2w+DQogICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJBIj48dT5FbnRpcmUgQWdyZWVtZW50PC91Pi4gVGhlc2UgVGVybXMgY29uc3RpdHV0ZSB0aGUgZW50aXJlIGFuZCBleGNsdXNpdmUgdW5kZXJzdGFuZGluZyBhbmQgYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBGcmF6ZXIgcmVnYXJkaW5nIHlvdXIgdXNlIG9mIGFuZCBhY2Nlc3MgdG8gdGhlIFNpdGVzLCBhbmQgZXhjZXB0IGFzIGV4cHJlc3NseSBwZXJtaXR0ZWQgYWJvdmUgbWF5IG9ubHkgYmUgYW1lbmRlZCBieSBhIHdyaXR0ZW4gYWdyZWVtZW50IHNpZ25lZCBieSBhdXRob3JpemVkIHJlcHJlc2VudGF0aXZlcyBvZiB0aGUgcGFydGllcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+PHU+Tm8gV2FpdmVyPC91Pi4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+PHU+UGFyYWdyYXBoIEhlYWRlcnM8L3U+LiBVc2Ugb2YgcGFyYWdyYXBoIGhlYWRlcnMgaW4gdGhlIFRlcm1zIGlzIGZvciBjb252ZW5pZW5jZSBvbmx5IGFuZCBzaGFsbCBub3QgaGF2ZSBhbnkgaW1wYWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBwYXJ0aWN1bGFyIHByb3Zpc2lvbnMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPjx1PlNldmVyYWJpbGl0eTwvdT4uIEluIHRoZSBldmVudCB0aGF0IGFueSBwYXJ0IG9mIHRoZSBUZXJtcyBpcyBoZWxkIHRvIGJlIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSwgdGhlIHVuZW5mb3JjZWFibGUgcGFydCBzaGFsbCBiZSBnaXZlbiBlZmZlY3QgdG8gdGhlIGdyZWF0ZXN0IGV4dGVudCBwb3NzaWJsZSBhbmQgdGhlIHJlbWFpbmluZyBwYXJ0cyB3aWxsIHJlbWFpbiBpbiBmdWxsIGZvcmNlIGFuZCBlZmZlY3QuPC9saT4NCiAgICAgICAgICAgICAgICA8L29sPg0KICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPk5vdGljZSB0byBDYWxpZm9ybmlhIFJlc2lkZW50cy48L3N0cm9uZz4gVW5kZXIgQ2FsaWZvcm5pYSBDaXZpbCBDb2RlIFNlY3Rpb24gMTc4OS4zLCB5b3UgbWF5IGNvbnRhY3QgdGhlIENvbXBsYWludCBBc3Npc3RhbmNlIFVuaXQgb2YgdGhlIERpdmlzaW9uIG9mIENvbnN1bWVyIFNlcnZpY2VzIG9mIHRoZSBDYWxpZm9ybmlhIERlcGFydG1lbnQgb2YgQ29uc3VtZXIgQWZmYWlycyBpbiB3cml0aW5nIGF0IDE2MjUgTi4gTWFya2V0IEJsdmQuLCBTdWl0ZSBTLTIwMiwgU2FjcmFtZW50bywgQ2FsaWZvcm5pYSA5NTgzNCwgb3IgYnkgdGVsZXBob25lIGF0ICg4MDApIDk1Mi01MjEwIGluIG9yZGVyIHRvIHJlc29sdmUgYSBjb21wbGFpbnQgcmVnYXJkaW5nIHRoZSBzZXJ2aWNlIG9yIHRvIHJlY2VpdmUgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdXNlIG9mIHRoZSBzZXJ2aWNlLjwvbGk+DQogICAgICAgIDwvb2w+DQogICAgICAgIDxwPkxhc3QgVXBkYXRlZDogMDkvMDQvMjAyMDwvcD4NCiAgICA8L2Rpdj4NCjwvZGl2Pg==, PGRpdj4NCjxoMSBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMThwdDsiPjxzdHJvbmc+QWNjZXNzaWJpbGl0eTwvc3Ryb25nPjwvc3Bhbj48L2gxPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctdG9wOiAxMHB4OyI+V2UgYXJlIGNvbW1pdHRlZCB0byBpbXByb3ZpbmcgYW5kIG1haW50YWluaW5nIGEgd2Vic2l0ZSB0aGF0IGlzIGFjY2Vzc2libGUgdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBhdWRpZW5jZSwgcmVnYXJkbGVzcyBvZiB0ZWNobm9sb2d5IG9yIGFiaWxpdHkuIFRvIGFjaGlldmUgdGhpcyBnb2FsLCB3ZSBwYXJ0bmVyIHdpdGggRnJvbnQgUnVubmVyIHRvIGNvbXBseSB3aXRoIGFwcGxpY2FibGUgd2Vic2l0ZSBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkcy4gSWYgeW91IGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkgaW4gYWNjZXNzaW5nIGFueSBwYXJ0IG9mIHRoaXMgd2Vic2l0ZSwgcGxlYXNlIGZlZWwgZnJlZSB0byBjYWxsIDgwMC03OTctNDg2MSBvciBlbWFpbCBzdXBwb3J0QHNyc2NvbXB1dGluZy5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg0KPC9kaXY+.