{"id":4113,"date":"2026-04-19T11:19:19","date_gmt":"2026-04-19T11:19:19","guid":{"rendered":"https:\/\/shapo.io\/blog\/?p=4113"},"modified":"2026-04-19T11:19:19","modified_gmt":"2026-04-19T11:19:19","slug":"customer-feedback-practices","status":"publish","type":"post","link":"https:\/\/shapo.io\/blog\/customer-feedback-practices\/","title":{"rendered":"10 Customer Feedback Practices That Drive Results in 2026"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/shapo.io\/blog\/customer-feedback-management\/\">Customer feedback<\/a> is the raw material behind every product improvement, marketing message, and trust signal that actually resonates with buyers. Without a system to collect and use it, you&#8217;re guessing at what customers want instead of hearing it directly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers 10 proven practices for gathering feedback and the different types worth collecting. It also shows how to turn customer opinions into social proof that drives conversions.<\/p>\n\n\n\n<h2 id=\"what-is-customer-feedback\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_Customer_Feedback\"><\/span>What is Customer Feedback<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Customer feedback is any information your customers share about their experience with your product, service, or <a href=\"https:\/\/shapo.io\/blog\/branding-statistics\/\">brand<\/a>. Effective customer feedback practices involve actively soliciting input, promptly acting on it, and closing the loop with customers to show their voice is valued. The best approaches include keeping surveys short, blending qualitative and quantitative data, monitoring social media, and initiating feedback requests immediately after interactions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Feedback typically falls into two categories:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Direct feedback:<\/strong> survey responses, reviews, testimonials, interview answers<\/li>\n\n\n\n<li><strong>Indirect feedback:<\/strong> social media mentions, support conversations, behavioral data<\/li>\n<\/ul>\n\n\n\n<h2 id=\"why-customer-feedback-matters-for-business-growth\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_Customer_Feedback_Matters_for_Business_Growth\"><\/span>Why Customer Feedback Matters for Business Growth<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Customer feedback directly influences whether visitors trust you enough to buy. When potential customers see real opinions from real people, they&#8217;re far more likely to move forward with a purchase.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s what consistent feedback collection delivers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Builds trust and credibility:<\/strong> Positive feedback displayed on your site acts as <a href=\"https:\/\/shapo.io\/blog\/social-proof-examples\/\" target=\"_blank\" rel=\"noreferrer noopener\">social proof<\/a><\/li>\n\n\n\n<li><strong>Reveals improvement opportunities:<\/strong> You can spot pain points before they become churn reasons<\/li>\n\n\n\n<li><strong>Increases conversions:<\/strong> <a href=\"https:\/\/shapo.io\/blog\/why-customer-testimonials-can-skyrocket-your-sales\/\" target=\"_blank\" rel=\"noreferrer noopener\">Testimonials help hesitant buyers<\/a> feel confident<\/li>\n\n\n\n<li><strong>Strengthens customer relationships:<\/strong> Asking for feedback signals that you value their opinions<\/li>\n<\/ul>\n\n\n\n<h2 id=\"10-customer-feedback-practices-that-get-results\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"10_Customer_Feedback_Practices_That_Get_Results\"><\/span>10 Customer Feedback Practices That Get Results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 id=\"1-request-feedback-from-every-customer\" class=\"wp-block-heading\">1. Request Feedback From Every Customer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Most businesses only collect feedback passively, waiting for customers to leave reviews on their own. The problem? <a target=\"_blank\" href=\"https:\/\/www.qualtrics.com\/articles\/news\/ai-powered-customer-service-fails-at-four-times-the-rate-of-other-tasks\/\" rel=\"noreferrer noopener\">Qualtrics&#8217; 2025 consumer research<\/a> found that only 29% of customers communicate directly with a company after an experience \u2014 and that number is declining.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unless you ask, most feedback goes uncollected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Making feedback requests a standard part of your customer journey changes the equation entirely. Ask after purchase, after support interactions, and after onboarding milestones. Tools like Shapo let you send simple collection links that make requesting feedback a two-minute task.<\/p>\n\n\n\n<h3 id=\"2-make-feedback-submission-effortless\" class=\"wp-block-heading\">2. Make Feedback Submission Effortless<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Friction kills response rates. If your feedback form takes more than a minute to complete, you&#8217;ll lose most respondents before they finish.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Keep forms short and mobile-friendly. Offer one-click rating options where possible. Customers can submit text or record <a href=\"https:\/\/shapo.io\/video-testimonials\" title=\"video testimonials\">video testimonials<\/a> directly from their phone or desktop without downloading anything.<\/p>\n\n\n\n<h3 id=\"3-time-your-requests-strategically\" class=\"wp-block-heading\">3. Time Your Requests Strategically<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When you ask matters as much as how you ask. The sweet spot is when the experience is fresh but the customer isn&#8217;t frustrated.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Post-purchase:<\/strong> Within a few days while the experience is top of mind<\/li>\n\n\n\n<li><strong>After support resolution:<\/strong> When the customer feels helped<\/li>\n\n\n\n<li><strong>At key milestones:<\/strong> After onboarding, after renewal, after a success moment<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Avoid asking during frustrating moments or before customers have had time to form an opinion.<\/p>\n\n\n\n<h3 id=\"4-keep-your-questions-simple-and-focused\" class=\"wp-block-heading\">4. Keep Your Questions Simple and Focused<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Long surveys get abandoned. Ask one clear question at a time, skip the jargon, and don&#8217;t overwhelm customers with too many fields.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open-ended questions like &#8220;What did you enjoy most?&#8221; paired with optional rating scales tend to generate the most useful responses. You&#8217;re looking for authentic reactions, not checkbox fatigue.<\/p>\n\n\n\n<h3 id=\"5-use-multiple-channels-to-gather-feedback\" class=\"wp-block-heading\">5. Use Multiple Channels to Gather Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Different customers prefer different communication methods. Meeting them where they already are increases response rates significantly.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><tbody><tr><th>Channel<\/th><th>Best For<\/th><\/tr><tr><td><strong>Email<\/strong><\/td><td>Post-purchase follow-ups and detailed feedback<\/td><\/tr><tr><td><strong>SMS\/Text<\/strong><\/td><td>Quick satisfaction checks with higher open rates<\/td><\/tr><tr><td><strong>In-app or on-site<\/strong><\/td><td>Capturing feedback while customers are actively engaged<\/td><\/tr><tr><td><strong>Social media<\/strong><\/td><td>Monitoring mentions and comments for unsolicited feedback<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"6-collect-both-text-and-video-testimonials\" class=\"wp-block-heading\">6. Collect Both Text and Video Testimonials<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/why-video-testimonials-matter\/\" rel=\"noreferrer noopener\">Video testimonials<\/a>&nbsp;are more authentic and persuasive than text alone \u2014 according to <a target=\"_blank\" href=\"https:\/\/www.teleprompter.com\/blog\/video-testimonial-statistics\" rel=\"noreferrer noopener\">Teleprompter.com<\/a>, 77% of viewers say a testimonial video influenced their purchase decision. Seeing a real person share their experience builds trust in ways that written reviews simply can&#8217;t match.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Customers can record from any device through a simple shareable link. No special software, no app downloads, no friction. Shapo enables video collection this way, and the clips land directly in your dashboard ready to review.<\/p>\n\n\n\n<h3 id=\"7-centralize-all-feedback-in-one-hub\" class=\"wp-block-heading\">7. Centralize All Feedback in One Hub<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Scattered feedback is wasted feedback. When reviews live across Google, social media, review sites, and email threads, you lose track of what customers are actually saying.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/centralize-reviews-from-multiple-platforms\/\" rel=\"noreferrer noopener\">Consolidating everything into one dashboard<\/a> gives you a complete picture. Shapo can import <a href=\"https:\/\/shapo.io\/blog\/how-to-embed-google-reviews-on-website\/\">reviews from Google<\/a>, G2, Trustpilot, Facebook, and 20+ other sources into a single hub. That way, your strongest proof isn&#8217;t scattered across the internet.<\/p>\n\n\n\n<h3 id=\"8-personalize-your-feedback-requests\" class=\"wp-block-heading\">8. Personalize Your Feedback Requests<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generic requests feel automated, and customers can tell. Using the customer&#8217;s name, referencing their specific purchase, and customizing the ask based on their experience dramatically improves response rates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A personalized request signals that you genuinely care about their individual opinion, not just padding your review count.<\/p>\n\n\n\n<h3 id=\"9-act-on-the-feedback-you-receive\" class=\"wp-block-heading\">9. Act on the Feedback You Receive<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Collecting feedback without action damages trust over time. Customers notice when their input disappears into a void.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/customer-feedback-management\/\" rel=\"noreferrer noopener\">Close the loop<\/a> by acknowledging feedback, implementing suggestions where appropriate, and sharing what changed as a result. Even a simple &#8220;We heard you, and here&#8217;s what we did&#8221; goes a long way.<\/p>\n\n\n\n<h3 id=\"10-display-positive-feedback-as-social-proof\" class=\"wp-block-heading\">10. Display Positive Feedback as Social Proof<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Feedback sitting in a spreadsheet doesn&#8217;t help conversions \u2014 <a target=\"_blank\" href=\"https:\/\/spiegel.medill.northwestern.edu\/how-online-reviews-influence-sales\/\" rel=\"noreferrer noopener\">five reviews boost purchase likelihood by 270%<\/a>. Publishing testimonials on sales pages, landing pages, and product pages puts social proof where buying decisions happen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Customizable widgets like grids, carousels, and <a href=\"https:\/\/shapo.io\/blog\/what-is-a-wall-of-love-and-why-you-need-one\/\">Wall of Love<\/a> pages embed anywhere with simple copy-paste code. With Shapo, published widgets update automatically when new testimonials arrive.<\/p>\n\n\n\n<h2 id=\"types-of-customer-feedback-to-collect\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Types_of_Customer_Feedback_to_Collect\"><\/span>Types of Customer Feedback to Collect<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not all feedback serves the same purpose. Understanding the different types helps you ask the right questions at the right time.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><tbody><tr><th>Feedback Type<\/th><th>What It Measures<\/th><th>How to Collect<\/th><\/tr><tr><td>Customer Satisfaction<\/td><td>Happiness with specific interaction<\/td><td>Post-interaction surveys, CSAT<\/td><\/tr><tr><td>Customer Loyalty<\/td><td>Likelihood to recommend\/return<\/td><td>NPS surveys<\/td><\/tr><tr><td>Customer Service<\/td><td>Support quality<\/td><td>Post-ticket surveys<\/td><\/tr><tr><td>Product Feedback<\/td><td>Feature requests, usability<\/td><td>In-app surveys<\/td><\/tr><tr><td>Sales Feedback<\/td><td>Buying experience<\/td><td>Post-purchase surveys<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"customer-satisfaction-feedback\" class=\"wp-block-heading\">Customer Satisfaction Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CSAT (Customer Satisfaction Score) measures how happy customers are with a specific interaction or purchase. It&#8217;s typically a simple rating scale asked immediately after an experience, like &#8220;How satisfied were you with today&#8217;s support?&#8221;<\/p>\n\n\n\n<h3 id=\"customer-loyalty-feedback\" class=\"wp-block-heading\">Customer Loyalty Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">NPS (Net Promoter Score) measures willingness to recommend your business to others. The classic question: &#8220;On a scale of 0-10, how likely are you to recommend us to a friend?&#8221; Scores of 9-10 are promoters, 7-8 are passive, and 0-6 are detractors.<\/p>\n\n\n\n<h3 id=\"customer-service-feedback\" class=\"wp-block-heading\">Customer Service Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Customer service feedback measures how well your support team resolves issues. Often collected immediately after ticket resolution to capture the experience while it&#8217;s fresh.<\/p>\n\n\n\n<h3 id=\"product-and-feature-feedback\" class=\"wp-block-heading\">Product and Feature Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Product feedback covers functionality, usability, and desired improvements. This type is invaluable for roadmap planning and helps you prioritize what to build next.<\/p>\n\n\n\n<h3 id=\"sales-and-conversion-feedback\" class=\"wp-block-heading\">Sales and Conversion Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sales feedback captures the buying experience, including what convinced customers to purchase or what almost stopped them. Useful for optimizing your checkout flow and sales pages.<\/p>\n\n\n\n<h2 id=\"methods-of-collecting-customer-feedback\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Methods_of_Collecting_Customer_Feedback\"><\/span>Methods of Collecting Customer Feedback<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Choose methods based on your goals and where your customers already engage with you.<\/p>\n\n\n\n<h3 id=\"surveys-and-feedback-forms\" class=\"wp-block-heading\">Surveys and Feedback Forms<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Surveys are structured ways to gather customer feedback with specific questions. High-converting forms can be shared via link or embedded directly on your site. Keep them short, focused, and easy to complete on mobile.<\/p>\n\n\n\n<h3 id=\"email-campaigns\" class=\"wp-block-heading\">Email Campaigns<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Email remains effective for requesting feedback or testimonials. Include direct links to feedback forms and <a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/ask-for-reviews-testimonials-email-template\/\" rel=\"noreferrer noopener\">send within 24-48 hours<\/a> of purchase for best results. Shapo&#8217;s email campaign invites <a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/automated-review-requests\/\" rel=\"noreferrer noopener\">automate this process<\/a>.<\/p>\n\n\n\n<h3 id=\"social-media-listening\" class=\"wp-block-heading\">Social Media Listening<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Social listening means monitoring platforms for mentions, comments, and reviews. This captures unsolicited feedback and helps you understand overall sentiment without asking customers to fill out anything.<\/p>\n\n\n\n<h3 id=\"online-reviews-and-review-sites\" class=\"wp-block-heading\">Online Reviews and Review Sites<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Reviews on Google, G2, Trustpilot, and industry-specific platforms carry significant weight with potential customers. These reviews can be imported and <a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/add-customer-reviews-to-website\/\" rel=\"noreferrer noopener\">displayed on your own site<\/a> to maximize their impact.<\/p>\n\n\n\n<h2 id=\"how-to-encourage-customers-to-give-feedback\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Encourage_Customers_to_Give_Feedback\"><\/span>How to Encourage Customers to Give Feedback<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Getting feedback requires making the process easy and worthwhile for customers.<\/p>\n\n\n\n<h3 id=\"1-offer-incentives-for-participation\" class=\"wp-block-heading\">1. Offer Incentives for Participation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Discounts, entries into drawings, or exclusive content can motivate customers to share their thoughts. Keep incentives appropriate to avoid biasing responses toward only positive feedback.<\/p>\n\n\n\n<h3 id=\"2-keep-the-process-short-and-simple\" class=\"wp-block-heading\">2. Keep the Process Short and Simple<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Limit surveys to essential questions. Longer forms get abandoned, so aim for under two minutes to complete.<\/p>\n\n\n\n<h3 id=\"3-send-follow-up-reminders\" class=\"wp-block-heading\">3. Send Follow-Up Reminders<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One request often isn&#8217;t enough. A polite reminder a few days later can significantly increase response rates without feeling pushy.<\/p>\n\n\n\n<h2 id=\"what-to-do-after-collecting-customer-feedback\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_to_Do_After_Collecting_Customer_Feedback\"><\/span>What to Do After Collecting Customer Feedback<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Collection is only the first step. Here&#8217;s how to turn feedback into action.<\/p>\n\n\n\n<h3 id=\"identify-opportunities-for-improvement\" class=\"wp-block-heading\">Identify Opportunities for Improvement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Analyze feedback for patterns, common complaints, and feature requests. Look for recurring themes rather than one-off comments. Use patterns to prioritize product and service improvements.<\/p>\n\n\n\n<h3 id=\"share-and-celebrate-positive-feedback\" class=\"wp-block-heading\">Share and Celebrate Positive Feedback<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use positive feedback internally for team morale and externally for marketing. Auto-sync features keep published widgets updated as new testimonials arrive, so your social proof stays fresh.<\/p>\n\n\n\n<h2 id=\"how-to-display-customer-feedback-on-your-website\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Display_Customer_Feedback_on_Your_Website\"><\/span>How to Display Customer Feedback on Your Website<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Collecting feedback is valuable, but displaying it publicly drives conversions. Showcasing your positive reviews where buying decisions happen turns passive feedback into an active sales tool.<\/p>\n\n\n\n<h3 id=\"testimonial-widgets-and-embeds\" class=\"wp-block-heading\">Testimonial Widgets and Embeds<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" href=\"https:\/\/shapo.io\/testimonial-widgets\" rel=\"noreferrer noopener\">Embeddable widgets<\/a> display testimonials in various layouts. Shapo&#8217;s widgets work on Shopify, WordPress, Webflow, Wix, and more with simple copy-paste code. No developer required.<\/p>\n\n\n\n<h3 id=\"wall-of-love-pages\" class=\"wp-block-heading\">Wall of Love Pages<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A <a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/what-is-a-wall-of-love-and-why-you-need-one\/\" rel=\"noreferrer noopener\">Wall of Love<\/a> is a dedicated page showcasing your best customer feedback. It&#8217;s a powerful way to highlight your strongest social proof in one place, especially useful for linking in email signatures or sales materials.<\/p>\n\n\n\n<h2 id=\"turn-customer-feedback-into-your-best-sales-tool\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Turn_Customer_Feedback_Into_Your_Best_Sales_Tool\"><\/span>Turn Customer Feedback Into Your Best Sales Tool<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Feedback isn&#8217;t just for improvement. It&#8217;s a conversion asset. Testimonials and reviews displayed strategically can be the difference between a visitor bouncing and a visitor buying.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The businesses seeing the best results treat feedback collection as an ongoing system, not a one-time project. They ask consistently, centralize everything, and put their best testimonials in front of potential customers at the right moments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" href=\"https:\/\/app.shapo.io\/signup\" rel=\"noreferrer noopener\">Sign up for free<\/a> \u2014 no credit card required \ud83c\udf89<\/p>\n\n\n\n<h2 id=\"faqs-about-customer-feedback-practices\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQs_About_Customer_Feedback_Practices\"><\/span>FAQs About Customer Feedback Practices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 id=\"what-are-the-4-types-of-customer-feedback\" class=\"wp-block-heading\">What are the 4 types of customer feedback?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The four main types are customer satisfaction feedback, customer loyalty feedback, product feedback, and customer service feedback. Each measures a different aspect of the customer experience.<\/p>\n\n\n\n<h3 id=\"how-do-you-collect-video-testimonials-from-customers\" class=\"wp-block-heading\">How do you collect video testimonials from customers?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Send customers a simple link where they can <a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/collect-video-testimonials\/\" rel=\"noreferrer noopener\">record a video testimonial<\/a> directly from their smartphone or desktop browser without downloading any apps.<\/p>\n\n\n\n<h3 id=\"how-often-should-businesses-ask-customers-for-feedback\" class=\"wp-block-heading\">How often should businesses ask customers for feedback?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Request feedback at key moments in the customer journey, including after purchase, after support interactions, and at renewal milestones. Avoid over-surveying the same customer.<\/p>\n\n\n\n<h3 id=\"can-you-import-existing-reviews-from-multiple-platforms-into-one-dashboard\" class=\"wp-block-heading\">Can you import existing reviews from multiple platforms into one dashboard?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Testimonial tools like Shapo let you import reviews from Google, G2, Trustpilot, Facebook, and many other platforms into a single hub for easy management and display.<\/p>\n\n\n\n<h3 id=\"what-tools-help-automate-customer-feedback-collection\" class=\"wp-block-heading\">What tools help automate customer feedback collection?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" href=\"https:\/\/shapo.io\/blog\/testimonial-collection-tools\/\" rel=\"noreferrer noopener\">Testimonial platforms<\/a> can auto-import new reviews from connected sources, send email campaign invites, and automatically update published widgets when new feedback arrives.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Customer feedback is the raw material behind every product improvement, marketing message, and trust signal that actually resonates with buyers. Without a system to collect and use it, you&#8217;re guessing at what customers want instead of hearing it directly. This guide covers 10 proven practices for gathering feedback and the different types worth collecting. It &#8230; <a title=\"10 Customer Feedback Practices That Drive Results in 2026\" class=\"read-more\" href=\"https:\/\/shapo.io\/blog\/customer-feedback-practices\/\" aria-label=\"Read more about 10 Customer Feedback Practices That Drive Results in 2026\">Read more<\/a><\/p>\n","protected":false},"author":4,"featured_media":4116,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","_crdt_document":"{\"document\":\"AAAH+fTkkgagCOAIGgEBVCK0AQEBCAJCSACOCAEBCAJCSACKBgEBCAJCSACCAQEBCAJCSAC0DgEBCAJCSACqAQEBCABIDgIBAQgCSgCGAwEBCAJK1gOmBgEBCAJCSACyAQEBCAJCSACaBgEBCAJCSAC4AQEBCABIDgIBAQgCSgCwBgEBCAJKAKgDAQEIAkoAggcBAQgCSuoRlBUBAQgCQkgArgEBAQgCQkgAngEBAQgCQkgAvA0BAQgCQkgArgEBAQgCQkgAgAkBAQgCQkgAnAEBAQgCQkgApgQBAQgCQkgArAYBAQgCQkgAlgEBAQgCQkgAjAQBAQgASA4CAQEIAkoAuAIBAQgCSgCgAgEBCAJK6AWsCAEBCAJCSACKAwEBCAJCSACiAQEBCAJCSACUBAEBCAJCSACSBgEBCAJCSACmAQEBCAJCSACeBAEBCAECSAAWAQEIAkJIAKYBAQEIAkJIAJYQAQEIAkJIAJIHAQEIAkJIAJoBAQEIAkJIAKgFAQEIAkJIALALAQEIAkJIAJoBAQEIAkJIALAGAQEIAkJIAIQEAQEIAkJIAJQBAQEIAkJIALoDAQEIAkJIAKoJAQEIAkJIAKoBAQEIAkJIAKQLAQEIAkJIAI4GAQEIAkJIAJoBAQEIAkJIAJAEAQEIAQJIABYBAQgCQkgAjAEBAQgCQkgAqAcBAQgCQkgAggEBAQgCQkgAvAcBAQgCQkgAggEBAQgCQkgArAUBAQgCQkgAiAEBAQgCQkgAmgUBAQgCQkgAigEBAQgCQkgAuAUBAQgCQkgAngEBAQgCQkgAuAIBAQgCQkgAhAEBAQgCQkgAhAcBAQgCQkgALgEBCAJCSACGDgEBCAJCSAA8AQEIAkJIAKoGAQEIAkJIAI4BAQEIAkJIAIYKAQEIAkJIAKYBAQEIAkJIAK4CAQEIAkJIAJoBAQEIAkJIAIgGAQEIAkJIAJgBAQEIAkJIAKYDAQEIAkJIAIYBAQEIAkJIAJYEAQEIAkJIAKoBAQEIAkJIAKYCAQEIAkJIAJwBAQEIAkJIAIgGAQEIAkJIAJoBAQEIAkJIAIwGAQEIAkJIALABAQEIAkJIAJAGAQEIAkJIAIwBAQEIAkJIAK4IAQEIAkJIADQBAQgCQkgAvAoBAQgCQkgAsAEBAQgCQkgAugUBAQgCQkgAtAcBAQgCQkgAkgQBAQgCQkgAnAEBAQgCQkgApAEBAQgCQkgAkAYBAQgCQkgAugEBAQgCQkgAkAgBAQgCQkgAvgEBAQgCQkgAsgUBAQgCQkgApgIBAQgCQkgApgUBAQgCQkgAvAEBAQgCQkj8uAOGGJgfrgGIGq4MmBGIDJoGjhmyEo4MuA6cE4AGtAi+CK4GogaCB5YEiAi0DqYHlAuUBKIHvgScBZAEpAemB4AIugmwC7ATnAG0B4oKsAeMCPzHA6K7BYgSiJEBhhX2nwO4tQb0iQoWrIkK6okKsIkK1IoKAgyIigoCCALC9giiYKbGA5CjAayrAwMATgasuwWQowHDCigAIQEnAigBIQAoAycAKAUnAAQABwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAAnACgCJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoACcAKAInAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnACgpBACBAIQAgQCEAKgFoQKoASEBoQIoAcQBqKb2AsTuAnN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZWRvY3VtZW50Y29udGVudGRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnRzdGlja3lkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRmb3JtYXRkb2N1bWVudG1ldGFfYWNmX2NoYW5nZWRfZ3NwYl9wb3N0X2Nzc19qZXRwYWNrX21lbWJlcnNoaXBzX2NvbnRhaW5zX3BhaWRfY29udGVudGZvb3Rub3Rlc2RvY3VtZW50Y2F0ZWdvcmllc2RvY3VtZW50dGFnc2RvY3VtZW50YmxvY2tzMTAgQ3VzdG9tZXIgRmVlZGJhY2sgUHJhY3RpY2VzIFRoYXQgRHJpdmUgUmVzdWx0cyBpbiAyMDI2Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q3VzdG9tZXIgZmVlZGJhY2sgaXMgdGhlIHJhdyBtYXRlcmlhbCBiZWhpbmQgZXZlcnkgcHJvZHVjdCBpbXByb3ZlbWVudCwgbWFya2V0aW5nIG1lc3NhZ2UsIGFuZCB0cnVzdCBzaWduYWwgdGhhdCBhY3R1YWxseSByZXNvbmF0ZXMgd2l0aCBidXllcnMuIFdpdGhvdXQgYSBzeXN0ZW0gdG8gY29sbGVjdCBhbmQgdXNlIGl0LCB5b3UncmUgZ3Vlc3NpbmcgYXQgd2hhdCBjdXN0b21lcnMgd2FudCBpbnN0ZWFkIG9mIGhlYXJpbmcgaXQgZGlyZWN0bHkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBndWlkZSBjb3ZlcnMgMTAgcHJvdmVuIHByYWN0aWNlcyBmb3IgZ2F0aGVyaW5nIGZlZWRiYWNrIGFuZCB0aGUgZGlmZmVyZW50IHR5cGVzIHdvcnRoIGNvbGxlY3RpbmcuIEl0IGFsc28gc2hvd3MgaG93IHRvIHR1cm4gY3VzdG9tZXIgb3BpbmlvbnMgaW50byBzb2NpYWwgcHJvb2YgdGhhdCBkcml2ZXMgY29udmVyc2lvbnMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2hhdCBpcyBDdXN0b21lciBGZWVkYmFja2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDdXN0b21lciBmZWVkYmFjayBpcyBhbnkgaW5mb3JtYXRpb24geW91ciBjdXN0b21lcnMgc2hhcmUgYWJvdXQgdGhlaXIgZXhwZXJpZW5jZSB3aXRoIHlvdXIgcHJvZHVjdCwgc2VydmljZSwgb3IgYnJhbmQuIEVmZmVjdGl2ZSBjdXN0b21lciBmZWVkYmFjayBwcmFjdGljZXMgaW52b2x2ZSBhY3RpdmVseSBzb2xpY2l0aW5nIGlucHV0LCBwcm9tcHRseSBhY3Rpbmcgb24gaXQsIGFuZCBjbG9zaW5nIHRoZSBsb29wIHdpdGggY3VzdG9tZXJzIHRvIHNob3cgdGhlaXIgdm9pY2UgaXMgdmFsdWVkLiBUaGUgYmVzdCBhcHByb2FjaGVzIGluY2x1ZGUga2VlcGluZyBzdXJ2ZXlzIHNob3J0LCBibGVuZGluZyBxdWFsaXRhdGl2ZSBhbmQgcXVhbnRpdGF0aXZlIGRhdGEsIG1vbml0b3Jpbmcgc29jaWFsIG1lZGlhLCBhbmQgaW5pdGlhdGluZyBmZWVkYmFjayByZXF1ZXN0cyBpbW1lZGlhdGVseSBhZnRlciBpbnRlcmFjdGlvbnMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RmVlZGJhY2sgdHlwaWNhbGx5IGZhbGxzIGludG8gdHdvIGNhdGVnb3JpZXM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkRpcmVjdCBmZWVkYmFjazo8L3N0cm9uZz4gc3VydmV5IHJlc3BvbnNlcywgcmV2aWV3cywgdGVzdGltb25pYWxzLCBpbnRlcnZpZXcgYW5zd2Vyc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5JbmRpcmVjdCBmZWVkYmFjazo8L3N0cm9uZz4gc29jaWFsIG1lZGlhIG1lbnRpb25zLCBzdXBwb3J0IGNvbnZlcnNhdGlvbnMsIGJlaGF2aW9yYWwgZGF0YWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2h5IEN1c3RvbWVyIEZlZWRiYWNrIE1hdHRlcnMgZm9yIEJ1c2luZXNzIEdyb3d0aGxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDdXN0b21lciBmZWVkYmFjayBkaXJlY3RseSBpbmZsdWVuY2VzIHdoZXRoZXIgdmlzaXRvcnMgdHJ1c3QgeW91IGVub3VnaCB0byBidXkuIFdoZW4gcG90ZW50aWFsIGN1c3RvbWVycyBzZWUgcmVhbCBvcGluaW9ucyBmcm9tIHJlYWwgcGVvcGxlLCB0aGV5J3JlIGZhciBtb3JlIGxpa2VseSB0byBtb3ZlIGZvcndhcmQgd2l0aCBhIHB1cmNoYXNlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhlcmUncyB3aGF0IGNvbnNpc3RlbnQgZmVlZGJhY2sgY29sbGVjdGlvbiBkZWxpdmVyczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QnVpbGRzIHRydXN0IGFuZCBjcmVkaWJpbGl0eTo8L3N0cm9uZz4gUG9zaXRpdmUgZmVlZGJhY2sgZGlzcGxheWVkIG9uIHlvdXIgc2l0ZSBhY3RzIGFzIDxhIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy9zb2NpYWwtcHJvb2YtZXhhbXBsZXMvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5zb2NpYWwgcHJvb2Y8L2E+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlJldmVhbHMgaW1wcm92ZW1lbnQgb3Bwb3J0dW5pdGllczo8L3N0cm9uZz4gWW91IGNhbiBzcG90IHBhaW4gcG9pbnRzIGJlZm9yZSB0aGV5IGJlY29tZSBjaHVybiByZWFzb25zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkluY3JlYXNlcyBjb252ZXJzaW9uczo8L3N0cm9uZz4gPGEgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby9ibG9nL3doeS1jdXN0b21lci10ZXN0aW1vbmlhbHMtY2FuLXNreXJvY2tldC15b3VyLXNhbGVzLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+VGVzdGltb25pYWxzIGhlbHAgaGVzaXRhbnQgYnV5ZXJzPC9hPiBmZWVsIGNvbmZpZGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TdHJlbmd0aGVucyBjdXN0b21lciByZWxhdGlvbnNoaXBzOjwvc3Ryb25nPiBBc2tpbmcgZm9yIGZlZWRiYWNrIHNpZ25hbHMgdGhhdCB5b3UgdmFsdWUgdGhlaXIgb3BpbmlvbnNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDEwIEN1c3RvbWVyIEZlZWRiYWNrIFByYWN0aWNlcyBUaGF0IEdldCBSZXN1bHRzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDEuIFJlcXVlc3QgRmVlZGJhY2sgRnJvbSBFdmVyeSBDdXN0b21lcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNb3N0IGJ1c2luZXNzZXMgb25seSBjb2xsZWN0IGZlZWRiYWNrIHBhc3NpdmVseSwgd2FpdGluZyBmb3IgY3VzdG9tZXJzIHRvIGxlYXZlIHJldmlld3Mgb24gdGhlaXIgb3duLiBUaGUgcHJvYmxlbT8gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnF1YWx0cmljcy5jb20vYXJ0aWNsZXMvbmV3cy9haS1wb3dlcmVkLWN1c3RvbWVyLXNlcnZpY2UtZmFpbHMtYXQtZm91ci10aW1lcy10aGUtcmF0ZS1vZi1vdGhlci10YXNrcy8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+UXVhbHRyaWNzJyAyMDI1IGNvbnN1bWVyIHJlc2VhcmNoPC9hPiBmb3VuZCB0aGF0IG9ubHkgMjklIG9mIGN1c3RvbWVycyBjb21tdW5pY2F0ZSBkaXJlY3RseSB3aXRoIGEgY29tcGFueSBhZnRlciBhbiBleHBlcmllbmNlIOKAlCBhbmQgdGhhdCBudW1iZXIgaXMgZGVjbGluaW5nLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVubGVzcyB5b3UgYXNrLCBtb3N0IGZlZWRiYWNrIGdvZXMgdW5jb2xsZWN0ZWQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWFraW5nIGZlZWRiYWNrIHJlcXVlc3RzIGEgc3RhbmRhcmQgcGFydCBvZiB5b3VyIGN1c3RvbWVyIGpvdXJuZXkgY2hhbmdlcyB0aGUgZXF1YXRpb24gZW50aXJlbHkuIEFzayBhZnRlciBwdXJjaGFzZSwgYWZ0ZXIgc3VwcG9ydCBpbnRlcmFjdGlvbnMsIGFuZCBhZnRlciBvbmJvYXJkaW5nIG1pbGVzdG9uZXMuIFRvb2xzIGxpa2UgU2hhcG8gbGV0IHlvdSBzZW5kIHNpbXBsZSBjb2xsZWN0aW9uIGxpbmtzIHRoYXQgbWFrZSByZXF1ZXN0aW5nIGZlZWRiYWNrIGEgdHdvLW1pbnV0ZSB0YXNrLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDIuIE1ha2UgRmVlZGJhY2sgU3VibWlzc2lvbiBFZmZvcnRsZXNzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZyaWN0aW9uIGtpbGxzIHJlc3BvbnNlIHJhdGVzLiBJZiB5b3VyIGZlZWRiYWNrIGZvcm0gdGFrZXMgbW9yZSB0aGFuIGEgbWludXRlIHRvIGNvbXBsZXRlLCB5b3UnbGwgbG9zZSBtb3N0IHJlc3BvbmRlbnRzIGJlZm9yZSB0aGV5IGZpbmlzaC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRLZWVwIGZvcm1zIHNob3J0IGFuZCBtb2JpbGUtZnJpZW5kbHkuIE9mZmVyIG9uZS1jbGljayByYXRpbmcgb3B0aW9ucyB3aGVyZSBwb3NzaWJsZS4gQ3VzdG9tZXJzIGNhbiBzdWJtaXQgdGV4dCBvciByZWNvcmQgdmlkZW8gdGVzdGltb25pYWxzIGRpcmVjdGx5IGZyb20gdGhlaXIgcGhvbmUgb3IgZGVza3RvcCB3aXRob3V0IGRvd25sb2FkaW5nIGFueXRoaW5nLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDMuIFRpbWUgWW91ciBSZXF1ZXN0cyBTdHJhdGVnaWNhbGx5bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoZW4geW91IGFzayBtYXR0ZXJzIGFzIG11Y2ggYXMgaG93IHlvdSBhc2suIFRoZSBzd2VldCBzcG90IGlzIHdoZW4gdGhlIGV4cGVyaWVuY2UgaXMgZnJlc2ggYnV0IHRoZSBjdXN0b21lciBpc24ndCBmcnVzdHJhdGVkLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Qb3N0LXB1cmNoYXNlOjwvc3Ryb25nPiBXaXRoaW4gYSBmZXcgZGF5cyB3aGlsZSB0aGUgZXhwZXJpZW5jZSBpcyB0b3Agb2YgbWluZGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5BZnRlciBzdXBwb3J0IHJlc29sdXRpb246PC9zdHJvbmc+IFdoZW4gdGhlIGN1c3RvbWVyIGZlZWxzIGhlbHBlZGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5BdCBrZXkgbWlsZXN0b25lczo8L3N0cm9uZz4gQWZ0ZXIgb25ib2FyZGluZywgYWZ0ZXIgcmVuZXdhbCwgYWZ0ZXIgYSBzdWNjZXNzIG1vbWVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QXZvaWQgYXNraW5nIGR1cmluZyBmcnVzdHJhdGluZyBtb21lbnRzIG9yIGJlZm9yZSBjdXN0b21lcnMgaGF2ZSBoYWQgdGltZSB0byBmb3JtIGFuIG9waW5pb24uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50NC4gS2VlcCBZb3VyIFF1ZXN0aW9ucyBTaW1wbGUgYW5kIEZvY3VzZWRsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TG9uZyBzdXJ2ZXlzIGdldCBhYmFuZG9uZWQuIEFzayBvbmUgY2xlYXIgcXVlc3Rpb24gYXQgYSB0aW1lLCBza2lwIHRoZSBqYXJnb24sIGFuZCBkb24ndCBvdmVyd2hlbG0gY3VzdG9tZXJzIHdpdGggdG9vIG1hbnkgZmllbGRzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9wZW4tZW5kZWQgcXVlc3Rpb25zIGxpa2UgIldoYXQgZGlkIHlvdSBlbmpveSBtb3N0PyIgcGFpcmVkIHdpdGggb3B0aW9uYWwgcmF0aW5nIHNjYWxlcyB0ZW5kIHRvIGdlbmVyYXRlIHRoZSBtb3N0IHVzZWZ1bCByZXNwb25zZXMuIFlvdSdyZSBsb29raW5nIGZvciBhdXRoZW50aWMgcmVhY3Rpb25zLCBub3QgY2hlY2tib3ggZmF0aWd1ZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ1LiBVc2UgTXVsdGlwbGUgQ2hhbm5lbHMgdG8gR2F0aGVyIEZlZWRiYWNrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERpZmZlcmVudCBjdXN0b21lcnMgcHJlZmVyIGRpZmZlcmVudCBjb21tdW5pY2F0aW9uIG1ldGhvZHMuIE1lZXRpbmcgdGhlbSB3aGVyZSB0aGV5IGFscmVhZHkgYXJlIGluY3JlYXNlcyByZXNwb25zZSByYXRlcyBzaWduaWZpY2FudGx5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzaGFzRml4ZWRMYXlvdXRjYXB0aW9uaGVhZGJvZHlmb290aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ2LiBDb2xsZWN0IEJvdGggVGV4dCBhbmQgVmlkZW8gVGVzdGltb25pYWxzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvd2h5LXZpZGVvLXRlc3RpbW9uaWFscy1tYXR0ZXIvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPlZpZGVvIHRlc3RpbW9uaWFsczwvYT4mbmJzcDthcmUgbW9yZSBhdXRoZW50aWMgYW5kIHBlcnN1YXNpdmUgdGhhbiB0ZXh0IGFsb25lIOKAlCBhY2NvcmRpbmcgdG8gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnRlbGVwcm9tcHRlci5jb20vYmxvZy92aWRlby10ZXN0aW1vbmlhbC1zdGF0aXN0aWNzIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPlRlbGVwcm9tcHRlci5jb208L2E+LCA3NyUgb2Ygdmlld2VycyBzYXkgYSB0ZXN0aW1vbmlhbCB2aWRlbyBpbmZsdWVuY2VkIHRoZWlyIHB1cmNoYXNlIGRlY2lzaW9uLiBTZWVpbmcgYSByZWFsIHBlcnNvbiBzaGFyZSB0aGVpciBleHBlcmllbmNlIGJ1aWxkcyB0cnVzdCBpbiB3YXlzIHRoYXQgd3JpdHRlbiByZXZpZXdzIHNpbXBseSBjYW4ndCBtYXRjaC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDdXN0b21lcnMgY2FuIHJlY29yZCBmcm9tIGFueSBkZXZpY2UgdGhyb3VnaCBhIHNpbXBsZSBzaGFyZWFibGUgbGluay4gTm8gc3BlY2lhbCBzb2Z0d2FyZSwgbm8gYXBwIGRvd25sb2Fkcywgbm8gZnJpY3Rpb24uIFNoYXBvIGVuYWJsZXMgdmlkZW8gY29sbGVjdGlvbiB0aGlzIHdheSwgYW5kIHRoZSBjbGlwcyBsYW5kIGRpcmVjdGx5IGluIHlvdXIgZGFzaGJvYXJkIHJlYWR5IHRvIHJldmlldy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ3LiBDZW50cmFsaXplIEFsbCBGZWVkYmFjayBpbiBPbmUgSHVibGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNjYXR0ZXJlZCBmZWVkYmFjayBpcyB3YXN0ZWQgZmVlZGJhY2suIFdoZW4gcmV2aWV3cyBsaXZlIGFjcm9zcyBHb29nbGUsIHNvY2lhbCBtZWRpYSwgcmV2aWV3IHNpdGVzLCBhbmQgZW1haWwgdGhyZWFkcywgeW91IGxvc2UgdHJhY2sgb2Ygd2hhdCBjdXN0b21lcnMgYXJlIGFjdHVhbGx5IHNheWluZy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby9ibG9nL2NlbnRyYWxpemUtcmV2aWV3cy1mcm9tLW11bHRpcGxlLXBsYXRmb3Jtcy8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+Q29uc29saWRhdGluZyBldmVyeXRoaW5nIGludG8gb25lIGRhc2hib2FyZDwvYT4gZ2l2ZXMgeW91IGEgY29tcGxldGUgcGljdHVyZS4gU2hhcG8gY2FuIGltcG9ydCByZXZpZXdzIGZyb20gR29vZ2xlLCBHMiwgVHJ1c3RwaWxvdCwgRmFjZWJvb2ssIGFuZCAyMCsgb3RoZXIgc291cmNlcyBpbnRvIGEgc2luZ2xlIGh1Yi4gVGhhdCB3YXksIHlvdXIgc3Ryb25nZXN0IHByb29mIGlzbid0IHNjYXR0ZXJlZCBhY3Jvc3MgdGhlIGludGVybmV0LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDguIFBlcnNvbmFsaXplIFlvdXIgRmVlZGJhY2sgUmVxdWVzdHNsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50R2VuZXJpYyByZXF1ZXN0cyBmZWVsIGF1dG9tYXRlZCwgYW5kIGN1c3RvbWVycyBjYW4gdGVsbC4gVXNpbmcgdGhlIGN1c3RvbWVyJ3MgbmFtZSwgcmVmZXJlbmNpbmcgdGhlaXIgc3BlY2lmaWMgcHVyY2hhc2UsIGFuZCBjdXN0b21pemluZyB0aGUgYXNrIGJhc2VkIG9uIHRoZWlyIGV4cGVyaWVuY2UgZHJhbWF0aWNhbGx5IGltcHJvdmVzIHJlc3BvbnNlIHJhdGVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgcGVyc29uYWxpemVkIHJlcXVlc3Qgc2lnbmFscyB0aGF0IHlvdSBnZW51aW5lbHkgY2FyZSBhYm91dCB0aGVpciBpbmRpdmlkdWFsIG9waW5pb24sIG5vdCBqdXN0IHBhZGRpbmcgeW91ciByZXZpZXcgY291bnQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50OS4gQWN0IG9uIHRoZSBGZWVkYmFjayBZb3UgUmVjZWl2ZWxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb2xsZWN0aW5nIGZlZWRiYWNrIHdpdGhvdXQgYWN0aW9uIGRhbWFnZXMgdHJ1c3Qgb3ZlciB0aW1lLiBDdXN0b21lcnMgbm90aWNlIHdoZW4gdGhlaXIgaW5wdXQgZGlzYXBwZWFycyBpbnRvIGEgdm9pZC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby9ibG9nL2N1c3RvbWVyLWZlZWRiYWNrLW1hbmFnZW1lbnQvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPkNsb3NlIHRoZSBsb29wPC9hPiBieSBhY2tub3dsZWRnaW5nIGZlZWRiYWNrLCBpbXBsZW1lbnRpbmcgc3VnZ2VzdGlvbnMgd2hlcmUgYXBwcm9wcmlhdGUsIGFuZCBzaGFyaW5nIHdoYXQgY2hhbmdlZCBhcyBhIHJlc3VsdC4gRXZlbiBhIHNpbXBsZSAiV2UgaGVhcmQgeW91LCBhbmQgaGVyZSdzIHdoYXQgd2UgZGlkIiBnb2VzIGEgbG9uZyB3YXkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50MTAuIERpc3BsYXkgUG9zaXRpdmUgRmVlZGJhY2sgYXMgU29jaWFsIFByb29mbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZlZWRiYWNrIHNpdHRpbmcgaW4gYSBzcHJlYWRzaGVldCBkb2Vzbid0IGhlbHAgY29udmVyc2lvbnMg4oCUIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NwaWVnZWwubWVkaWxsLm5vcnRod2VzdGVybi5lZHUvaG93LW9ubGluZS1yZXZpZXdzLWluZmx1ZW5jZS1zYWxlcy8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+Zml2ZSByZXZpZXdzIGJvb3N0IHB1cmNoYXNlIGxpa2VsaWhvb2QgYnkgMjcwJTwvYT4uIFB1Ymxpc2hpbmcgdGVzdGltb25pYWxzIG9uIHNhbGVzIHBhZ2VzLCBsYW5kaW5nIHBhZ2VzLCBhbmQgcHJvZHVjdCBwYWdlcyBwdXRzIHNvY2lhbCBwcm9vZiB3aGVyZSBidXlpbmcgZGVjaXNpb25zIGhhcHBlbi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDdXN0b21pemFibGUgd2lkZ2V0cyBsaWtlIGdyaWRzLCBjYXJvdXNlbHMsIGFuZCBXYWxsIG9mIExvdmUgcGFnZXMgZW1iZWQgYW55d2hlcmUgd2l0aCBzaW1wbGUgY29weS1wYXN0ZSBjb2RlLiBXaXRoIFNoYXBvLCBwdWJsaXNoZWQgd2lkZ2V0cyB1cGRhdGUgYXV0b21hdGljYWxseSB3aGVuIG5ldyB0ZXN0aW1vbmlhbHMgYXJyaXZlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFR5cGVzIG9mIEN1c3RvbWVyIEZlZWRiYWNrIHRvIENvbGxlY3RsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Tm90IGFsbCBmZWVkYmFjayBzZXJ2ZXMgdGhlIHNhbWUgcHVycG9zZS4gVW5kZXJzdGFuZGluZyB0aGUgZGlmZmVyZW50IHR5cGVzIGhlbHBzIHlvdSBhc2sgdGhlIHJpZ2h0IHF1ZXN0aW9ucyBhdCB0aGUgcmlnaHQgdGltZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2hhc0ZpeGVkTGF5b3V0Y2FwdGlvbmhlYWRib2R5Zm9vdGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q3VzdG9tZXIgU2F0aXNmYWN0aW9uIEZlZWRiYWNrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENTQVQgKEN1c3RvbWVyIFNhdGlzZmFjdGlvbiBTY29yZSkgbWVhc3VyZXMgaG93IGhhcHB5IGN1c3RvbWVycyBhcmUgd2l0aCBhIHNwZWNpZmljIGludGVyYWN0aW9uIG9yIHB1cmNoYXNlLiBJdCdzIHR5cGljYWxseSBhIHNpbXBsZSByYXRpbmcgc2NhbGUgYXNrZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYW4gZXhwZXJpZW5jZSwgbGlrZSAiSG93IHNhdGlzZmllZCB3ZXJlIHlvdSB3aXRoIHRvZGF5J3Mgc3VwcG9ydD8iZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q3VzdG9tZXIgTG95YWx0eSBGZWVkYmFja2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnROUFMgKE5ldCBQcm9tb3RlciBTY29yZSkgbWVhc3VyZXMgd2lsbGluZ25lc3MgdG8gcmVjb21tZW5kIHlvdXIgYnVzaW5lc3MgdG8gb3RoZXJzLiBUaGUgY2xhc3NpYyBxdWVzdGlvbjogIk9uIGEgc2NhbGUgb2YgMC0xMCwgaG93IGxpa2VseSBhcmUgeW91IHRvIHJlY29tbWVuZCB1cyB0byBhIGZyaWVuZD8iIFNjb3JlcyBvZiA5LTEwIGFyZSBwcm9tb3RlcnMsIDctOCBhcmUgcGFzc2l2ZSwgYW5kIDAtNiBhcmUgZGV0cmFjdG9ycy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDdXN0b21lciBTZXJ2aWNlIEZlZWRiYWNrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEN1c3RvbWVyIHNlcnZpY2UgZmVlZGJhY2sgbWVhc3VyZXMgaG93IHdlbGwgeW91ciBzdXBwb3J0IHRlYW0gcmVzb2x2ZXMgaXNzdWVzLiBPZnRlbiBjb2xsZWN0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGlja2V0IHJlc29sdXRpb24gdG8gY2FwdHVyZSB0aGUgZXhwZXJpZW5jZSB3aGlsZSBpdCdzIGZyZXNoLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByb2R1Y3QgYW5kIEZlYXR1cmUgRmVlZGJhY2tsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UHJvZHVjdCBmZWVkYmFjayBjb3ZlcnMgZnVuY3Rpb25hbGl0eSwgdXNhYmlsaXR5LCBhbmQgZGVzaXJlZCBpbXByb3ZlbWVudHMuIFRoaXMgdHlwZSBpcyBpbnZhbHVhYmxlIGZvciByb2FkbWFwIHBsYW5uaW5nIGFuZCBoZWxwcyB5b3UgcHJpb3JpdGl6ZSB3aGF0IHRvIGJ1aWxkIG5leHQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2FsZXMgYW5kIENvbnZlcnNpb24gRmVlZGJhY2tsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2FsZXMgZmVlZGJhY2sgY2FwdHVyZXMgdGhlIGJ1eWluZyBleHBlcmllbmNlLCBpbmNsdWRpbmcgd2hhdCBjb252aW5jZWQgY3VzdG9tZXJzIHRvIHB1cmNoYXNlIG9yIHdoYXQgYWxtb3N0IHN0b3BwZWQgdGhlbS4gVXNlZnVsIGZvciBvcHRpbWl6aW5nIHlvdXIgY2hlY2tvdXQgZmxvdyBhbmQgc2FsZXMgcGFnZXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWV0aG9kcyBvZiBDb2xsZWN0aW5nIEN1c3RvbWVyIEZlZWRiYWNrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENob29zZSBtZXRob2RzIGJhc2VkIG9uIHlvdXIgZ29hbHMgYW5kIHdoZXJlIHlvdXIgY3VzdG9tZXJzIGFscmVhZHkgZW5nYWdlIHdpdGggeW91LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN1cnZleXMgYW5kIEZlZWRiYWNrIEZvcm1zbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN1cnZleXMgYXJlIHN0cnVjdHVyZWQgd2F5cyB0byBnYXRoZXIgY3VzdG9tZXIgZmVlZGJhY2sgd2l0aCBzcGVjaWZpYyBxdWVzdGlvbnMuIEhpZ2gtY29udmVydGluZyBmb3JtcyBjYW4gYmUgc2hhcmVkIHZpYSBsaW5rIG9yIGVtYmVkZGVkIGRpcmVjdGx5IG9uIHlvdXIgc2l0ZS4gS2VlcCB0aGVtIHNob3J0LCBmb2N1c2VkLCBhbmQgZWFzeSB0byBjb21wbGV0ZSBvbiBtb2JpbGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RW1haWwgQ2FtcGFpZ25zbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEVtYWlsIHJlbWFpbnMgZWZmZWN0aXZlIGZvciByZXF1ZXN0aW5nIGZlZWRiYWNrIG9yIHRlc3RpbW9uaWFscy4gSW5jbHVkZSBkaXJlY3QgbGlua3MgdG8gZmVlZGJhY2sgZm9ybXMgYW5kIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvYXNrLWZvci1yZXZpZXdzLXRlc3RpbW9uaWFscy1lbWFpbC10ZW1wbGF0ZS8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+c2VuZCB3aXRoaW4gMjQtNDggaG91cnM8L2E+IG9mIHB1cmNoYXNlIGZvciBiZXN0IHJlc3VsdHMuIFNoYXBvJ3MgZW1haWwgY2FtcGFpZ24gaW52aXRlcyA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby9ibG9nL2F1dG9tYXRlZC1yZXZpZXctcmVxdWVzdHMvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPmF1dG9tYXRlIHRoaXMgcHJvY2VzczwvYT4uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U29jaWFsIE1lZGlhIExpc3RlbmluZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTb2NpYWwgbGlzdGVuaW5nIG1lYW5zIG1vbml0b3JpbmcgcGxhdGZvcm1zIGZvciBtZW50aW9ucywgY29tbWVudHMsIGFuZCByZXZpZXdzLiBUaGlzIGNhcHR1cmVzIHVuc29saWNpdGVkIGZlZWRiYWNrIGFuZCBoZWxwcyB5b3UgdW5kZXJzdGFuZCBvdmVyYWxsIHNlbnRpbWVudCB3aXRob3V0IGFza2luZyBjdXN0b21lcnMgdG8gZmlsbCBvdXQgYW55dGhpbmcuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T25saW5lIFJldmlld3MgYW5kIFJldmlldyBTaXRlc2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZXZpZXdzIG9uIEdvb2dsZSwgRzIsIFRydXN0cGlsb3QsIGFuZCBpbmR1c3RyeS1zcGVjaWZpYyBwbGF0Zm9ybXMgY2Fycnkgc2lnbmlmaWNhbnQgd2VpZ2h0IHdpdGggcG90ZW50aWFsIGN1c3RvbWVycy4gVGhlc2UgcmV2aWV3cyBjYW4gYmUgaW1wb3J0ZWQgYW5kIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvYWRkLWN1c3RvbWVyLXJldmlld3MtdG8td2Vic2l0ZS8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+ZGlzcGxheWVkIG9uIHlvdXIgb3duIHNpdGU8L2E+IHRvIG1heGltaXplIHRoZWlyIGltcGFjdC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIb3cgdG8gRW5jb3VyYWdlIEN1c3RvbWVycyB0byBHaXZlIEZlZWRiYWNrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEdldHRpbmcgZmVlZGJhY2sgcmVxdWlyZXMgbWFraW5nIHRoZSBwcm9jZXNzIGVhc3kgYW5kIHdvcnRod2hpbGUgZm9yIGN1c3RvbWVycy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQxLiBPZmZlciBJbmNlbnRpdmVzIGZvciBQYXJ0aWNpcGF0aW9ubGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERpc2NvdW50cywgZW50cmllcyBpbnRvIGRyYXdpbmdzLCBvciBleGNsdXNpdmUgY29udGVudCBjYW4gbW90aXZhdGUgY3VzdG9tZXJzIHRvIHNoYXJlIHRoZWlyIHRob3VnaHRzLiBLZWVwIGluY2VudGl2ZXMgYXBwcm9wcmlhdGUgdG8gYXZvaWQgYmlhc2luZyByZXNwb25zZXMgdG93YXJkIG9ubHkgcG9zaXRpdmUgZmVlZGJhY2suZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Mi4gS2VlcCB0aGUgUHJvY2VzcyBTaG9ydCBhbmQgU2ltcGxlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExpbWl0IHN1cnZleXMgdG8gZXNzZW50aWFsIHF1ZXN0aW9ucy4gTG9uZ2VyIGZvcm1zIGdldCBhYmFuZG9uZWQsIHNvIGFpbSBmb3IgdW5kZXIgdHdvIG1pbnV0ZXMgdG8gY29tcGxldGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50My4gU2VuZCBGb2xsb3ctVXAgUmVtaW5kZXJzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9uZSByZXF1ZXN0IG9mdGVuIGlzbid0IGVub3VnaC4gQSBwb2xpdGUgcmVtaW5kZXIgYSBmZXcgZGF5cyBsYXRlciBjYW4gc2lnbmlmaWNhbnRseSBpbmNyZWFzZSByZXNwb25zZSByYXRlcyB3aXRob3V0IGZlZWxpbmcgcHVzaHkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2hhdCB0byBEbyBBZnRlciBDb2xsZWN0aW5nIEN1c3RvbWVyIEZlZWRiYWNrbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbGxlY3Rpb24gaXMgb25seSB0aGUgZmlyc3Qgc3RlcC4gSGVyZSdzIGhvdyB0byB0dXJuIGZlZWRiYWNrIGludG8gYWN0aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElkZW50aWZ5IE9wcG9ydHVuaXRpZXMgZm9yIEltcHJvdmVtZW50bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFuYWx5emUgZmVlZGJhY2sgZm9yIHBhdHRlcm5zLCBjb21tb24gY29tcGxhaW50cywgYW5kIGZlYXR1cmUgcmVxdWVzdHMuIExvb2sgZm9yIHJlY3VycmluZyB0aGVtZXMgcmF0aGVyIHRoYW4gb25lLW9mZiBjb21tZW50cy4gVXNlIHBhdHRlcm5zIHRvIHByaW9yaXRpemUgcHJvZHVjdCBhbmQgc2VydmljZSBpbXByb3ZlbWVudHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2hhcmUgYW5kIENlbGVicmF0ZSBQb3NpdGl2ZSBGZWVkYmFja2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVc2UgcG9zaXRpdmUgZmVlZGJhY2sgaW50ZXJuYWxseSBmb3IgdGVhbSBtb3JhbGUgYW5kIGV4dGVybmFsbHkgZm9yIG1hcmtldGluZy4gQXV0by1zeW5jIGZlYXR1cmVzIGtlZXAgcHVibGlzaGVkIHdpZGdldHMgdXBkYXRlZCBhcyBuZXcgdGVzdGltb25pYWxzIGFycml2ZSwgc28geW91ciBzb2NpYWwgcHJvb2Ygc3RheXMgZnJlc2guZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG93IHRvIERpc3BsYXkgQ3VzdG9tZXIgRmVlZGJhY2sgb24gWW91ciBXZWJzaXRlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbGxlY3RpbmcgZmVlZGJhY2sgaXMgdmFsdWFibGUsIGJ1dCBkaXNwbGF5aW5nIGl0IHB1YmxpY2x5IGRyaXZlcyBjb252ZXJzaW9ucy4gU2hvd2Nhc2luZyB5b3VyIHBvc2l0aXZlIHJldmlld3Mgd2hlcmUgYnV5aW5nIGRlY2lzaW9ucyBoYXBwZW4gdHVybnMgcGFzc2l2ZSBmZWVkYmFjayBpbnRvIGFuIGFjdGl2ZSBzYWxlcyB0b29sLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRlc3RpbW9uaWFsIFdpZGdldHMgYW5kIEVtYmVkc2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby90ZXN0aW1vbmlhbC13aWRnZXRzIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPkVtYmVkZGFibGUgd2lkZ2V0czwvYT4gZGlzcGxheSB0ZXN0aW1vbmlhbHMgaW4gdmFyaW91cyBsYXlvdXRzLiBTaGFwbydzIHdpZGdldHMgd29yayBvbiBTaG9waWZ5LCBXb3JkUHJlc3MsIFdlYmZsb3csIFdpeCwgYW5kIG1vcmUgd2l0aCBzaW1wbGUgY29weS1wYXN0ZSBjb2RlLiBObyBkZXZlbG9wZXIgcmVxdWlyZWQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2FsbCBvZiBMb3ZlIFBhZ2VzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy93aGF0LWlzLWEtd2FsbC1vZi1sb3ZlLWFuZC13aHkteW91LW5lZWQtb25lLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5XYWxsIG9mIExvdmU8L2E+IGlzIGEgZGVkaWNhdGVkIHBhZ2Ugc2hvd2Nhc2luZyB5b3VyIGJlc3QgY3VzdG9tZXIgZmVlZGJhY2suIEl0J3MgYSBwb3dlcmZ1bCB3YXkgdG8gaGlnaGxpZ2h0IHlvdXIgc3Ryb25nZXN0IHNvY2lhbCBwcm9vZiBpbiBvbmUgcGxhY2UsIGVzcGVjaWFsbHkgdXNlZnVsIGZvciBsaW5raW5nIGluIGVtYWlsIHNpZ25hdHVyZXMgb3Igc2FsZXMgbWF0ZXJpYWxzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFR1cm4gQ3VzdG9tZXIgRmVlZGJhY2sgSW50byBZb3VyIEJlc3QgU2FsZXMgVG9vbGxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGZWVkYmFjayBpc24ndCBqdXN0IGZvciBpbXByb3ZlbWVudC4gSXQncyBhIGNvbnZlcnNpb24gYXNzZXQuIFRlc3RpbW9uaWFscyBhbmQgcmV2aWV3cyBkaXNwbGF5ZWQgc3RyYXRlZ2ljYWxseSBjYW4gYmUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHZpc2l0b3IgYm91bmNpbmcgYW5kIGEgdmlzaXRvciBidXlpbmcuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIGJ1c2luZXNzZXMgc2VlaW5nIHRoZSBiZXN0IHJlc3VsdHMgdHJlYXQgZmVlZGJhY2sgY29sbGVjdGlvbiBhcyBhbiBvbmdvaW5nIHN5c3RlbSwgbm90IGEgb25lLXRpbWUgcHJvamVjdC4gVGhleSBhc2sgY29uc2lzdGVudGx5LCBjZW50cmFsaXplIGV2ZXJ5dGhpbmcsIGFuZCBwdXQgdGhlaXIgYmVzdCB0ZXN0aW1vbmlhbHMgaW4gZnJvbnQgb2YgcG90ZW50aWFsIGN1c3RvbWVycyBhdCB0aGUgcmlnaHQgbW9tZW50cy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9hcHAuc2hhcG8uaW8vc2lnbnVwIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPlNpZ24gdXAgZm9yIGZyZWU8L2E+IOKAlCBubyBjcmVkaXQgY2FyZCByZXF1aXJlZCDwn46JZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RkFRcyBBYm91dCBDdXN0b21lciBGZWVkYmFjayBQcmFjdGljZXNsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2hhdCBhcmUgdGhlIDQgdHlwZXMgb2YgY3VzdG9tZXIgZmVlZGJhY2s\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBmb3VyIG1haW4gdHlwZXMgYXJlIGN1c3RvbWVyIHNhdGlzZmFjdGlvbiBmZWVkYmFjaywgY3VzdG9tZXIgbG95YWx0eSBmZWVkYmFjaywgcHJvZHVjdCBmZWVkYmFjaywgYW5kIGN1c3RvbWVyIHNlcnZpY2UgZmVlZGJhY2suIEVhY2ggbWVhc3VyZXMgYSBkaWZmZXJlbnQgYXNwZWN0IG9mIHRoZSBjdXN0b21lciBleHBlcmllbmNlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhvdyBkbyB5b3UgY29sbGVjdCB2aWRlbyB0ZXN0aW1vbmlhbHMgZnJvbSBjdXN0b21lcnM\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNlbmQgY3VzdG9tZXJzIGEgc2ltcGxlIGxpbmsgd2hlcmUgdGhleSBjYW4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy9jb2xsZWN0LXZpZGVvLXRlc3RpbW9uaWFscy8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+cmVjb3JkIGEgdmlkZW8gdGVzdGltb25pYWw8L2E+IGRpcmVjdGx5IGZyb20gdGhlaXIgc21hcnRwaG9uZSBvciBkZXNrdG9wIGJyb3dzZXIgd2l0aG91dCBkb3dubG9hZGluZyBhbnkgYXBwcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIb3cgb2Z0ZW4gc2hvdWxkIGJ1c2luZXNzZXMgYXNrIGN1c3RvbWVycyBmb3IgZmVlZGJhY2s\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlcXVlc3QgZmVlZGJhY2sgYXQga2V5IG1vbWVudHMgaW4gdGhlIGN1c3RvbWVyIGpvdXJuZXksIGluY2x1ZGluZyBhZnRlciBwdXJjaGFzZSwgYWZ0ZXIgc3VwcG9ydCBpbnRlcmFjdGlvbnMsIGFuZCBhdCByZW5ld2FsIG1pbGVzdG9uZXMuIEF2b2lkIG92ZXItc3VydmV5aW5nIHRoZSBzYW1lIGN1c3RvbWVyLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENhbiB5b3UgaW1wb3J0IGV4aXN0aW5nIHJldmlld3MgZnJvbSBtdWx0aXBsZSBwbGF0Zm9ybXMgaW50byBvbmUgZGFzaGJvYXJkP2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZZXMuIFRlc3RpbW9uaWFsIHRvb2xzIGxpa2UgU2hhcG8gbGV0IHlvdSBpbXBvcnQgcmV2aWV3cyBmcm9tIEdvb2dsZSwgRzIsIFRydXN0cGlsb3QsIEZhY2Vib29rLCBhbmQgbWFueSBvdGhlciBwbGF0Zm9ybXMgaW50byBhIHNpbmdsZSBodWIgZm9yIGVhc3kgbWFuYWdlbWVudCBhbmQgZGlzcGxheS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaGF0IHRvb2xzIGhlbHAgYXV0b21hdGUgY3VzdG9tZXIgZmVlZGJhY2sgY29sbGVjdGlvbj9sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy90ZXN0aW1vbmlhbC1jb2xsZWN0aW9uLXRvb2xzLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5UZXN0aW1vbmlhbCBwbGF0Zm9ybXM8L2E+IGNhbiBhdXRvLWltcG9ydCBuZXcgcmV2aWV3cyBmcm9tIGNvbm5lY3RlZCBzb3VyY2VzLCBzZW5kIGVtYWlsIGNhbXBhaWduIGludml0ZXMsIGFuZCBhdXRvbWF0aWNhbGx5IHVwZGF0ZSBwdWJsaXNoZWQgd2lkZ2V0cyB3aGVuIG5ldyBmZWVkYmFjayBhcnJpdmVzLmRyb3BDYXBpbm5lckJsb2Nrc2FuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmFuY2hvcmRvY3VtZW50c2x1ZzwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DdXN0b21lciBmZWVkYmFjayBpcyB0aGUgcmF3IG1hdGVyaWFsIGJlaGluZCBldmVyeSBwcm9kdWN0IGltcHJvdmVtZW50LCBtYXJrZXRpbmcgbWVzc2FnZSwgYW5kIHRydXN0IHNpZ25hbCB0aGF0IGFjdHVhbGx5IHJlc29uYXRlcyB3aXRoIGJ1eWVycy4gV2l0aG91dCBhIHN5c3RlbSB0byBjb2xsZWN0IGFuZCB1c2UgaXQsIHlvdSdyZSBndWVzc2luZyBhdCB3aGF0IGN1c3RvbWVycyB3YW50IGluc3RlYWQgb2YgaGVhcmluZyBpdCBkaXJlY3RseS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGd1aWRlIGNvdmVycyAxMCBwcm92ZW4gcHJhY3RpY2VzIGZvciBnYXRoZXJpbmcgZmVlZGJhY2sgYW5kIHRoZSBkaWZmZXJlbnQgdHlwZXMgd29ydGggY29sbGVjdGluZy4gSXQgYWxzbyBzaG93cyBob3cgdG8gdHVybiBjdXN0b21lciBvcGluaW9ucyBpbnRvIHNvY2lhbCBwcm9vZiB0aGF0IGRyaXZlcyBjb252ZXJzaW9ucy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImFuY2hvciI6IndoYXQtaXMtY3VzdG9tZXItZmVlZGJhY2sifSAtLT4KPGgyIGlkPSJ3aGF0LWlzLWN1c3RvbWVyLWZlZWRiYWNrIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+V2hhdCBpcyBDdXN0b21lciBGZWVkYmFjazwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q3VzdG9tZXIgZmVlZGJhY2sgaXMgYW55IGluZm9ybWF0aW9uIHlvdXIgY3VzdG9tZXJzIHNoYXJlIGFib3V0IHRoZWlyIGV4cGVyaWVuY2Ugd2l0aCB5b3VyIHByb2R1Y3QsIHNlcnZpY2UsIG9yIGJyYW5kLiBFZmZlY3RpdmUgY3VzdG9tZXIgZmVlZGJhY2sgcHJhY3RpY2VzIGludm9sdmUgYWN0aXZlbHkgc29saWNpdGluZyBpbnB1dCwgcHJvbXB0bHkgYWN0aW5nIG9uIGl0LCBhbmQgY2xvc2luZyB0aGUgbG9vcCB3aXRoIGN1c3RvbWVycyB0byBzaG93IHRoZWlyIHZvaWNlIGlzIHZhbHVlZC4gVGhlIGJlc3QgYXBwcm9hY2hlcyBpbmNsdWRlIGtlZXBpbmcgc3VydmV5cyBzaG9ydCwgYmxlbmRpbmcgcXVhbGl0YXRpdmUgYW5kIHF1YW50aXRhdGl2ZSBkYXRhLCBtb25pdG9yaW5nIHNvY2lhbCBtZWRpYSwgYW5kIGluaXRpYXRpbmcgZmVlZGJhY2sgcmVxdWVzdHMgaW1tZWRpYXRlbHkgYWZ0ZXIgaW50ZXJhY3Rpb25zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkZlZWRiYWNrIHR5cGljYWxseSBmYWxscyBpbnRvIHR3byBjYXRlZ29yaWVzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5EaXJlY3QgZmVlZGJhY2s6PC9zdHJvbmc+IHN1cnZleSByZXNwb25zZXMsIHJldmlld3MsIHRlc3RpbW9uaWFscywgaW50ZXJ2aWV3IGFuc3dlcnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+SW5kaXJlY3QgZmVlZGJhY2s6PC9zdHJvbmc+IHNvY2lhbCBtZWRpYSBtZW50aW9ucywgc3VwcG9ydCBjb252ZXJzYXRpb25zLCBiZWhhdmlvcmFsIGRhdGE8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImFuY2hvciI6IndoeS1jdXN0b21lci1mZWVkYmFjay1tYXR0ZXJzLWZvci1idXNpbmVzcy1ncm93dGgifSAtLT4KPGgyIGlkPSJ3aHktY3VzdG9tZXItZmVlZGJhY2stbWF0dGVycy1mb3ItYnVzaW5lc3MtZ3Jvd3RoIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+V2h5IEN1c3RvbWVyIEZlZWRiYWNrIE1hdHRlcnMgZm9yIEJ1c2luZXNzIEdyb3d0aDwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q3VzdG9tZXIgZmVlZGJhY2sgZGlyZWN0bHkgaW5mbHVlbmNlcyB3aGV0aGVyIHZpc2l0b3JzIHRydXN0IHlvdSBlbm91Z2ggdG8gYnV5LiBXaGVuIHBvdGVudGlhbCBjdXN0b21lcnMgc2VlIHJlYWwgb3BpbmlvbnMgZnJvbSByZWFsIHBlb3BsZSwgdGhleSdyZSBmYXIgbW9yZSBsaWtlbHkgdG8gbW92ZSBmb3J3YXJkIHdpdGggYSBwdXJjaGFzZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5IZXJlJ3Mgd2hhdCBjb25zaXN0ZW50IGZlZWRiYWNrIGNvbGxlY3Rpb24gZGVsaXZlcnM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkJ1aWxkcyB0cnVzdCBhbmQgY3JlZGliaWxpdHk6PC9zdHJvbmc+IFBvc2l0aXZlIGZlZWRiYWNrIGRpc3BsYXllZCBvbiB5b3VyIHNpdGUgYWN0cyBhcyA8YSBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvc29jaWFsLXByb29mLWV4YW1wbGVzLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+c29jaWFsIHByb29mPC9hPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5SZXZlYWxzIGltcHJvdmVtZW50IG9wcG9ydHVuaXRpZXM6PC9zdHJvbmc+IFlvdSBjYW4gc3BvdCBwYWluIHBvaW50cyBiZWZvcmUgdGhleSBiZWNvbWUgY2h1cm4gcmVhc29uczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5JbmNyZWFzZXMgY29udmVyc2lvbnM6PC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy93aHktY3VzdG9tZXItdGVzdGltb25pYWxzLWNhbi1za3lyb2NrZXQteW91ci1zYWxlcy8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPlRlc3RpbW9uaWFscyBoZWxwIGhlc2l0YW50IGJ1eWVyczwvYT4gZmVlbCBjb25maWRlbnQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+U3RyZW5ndGhlbnMgY3VzdG9tZXIgcmVsYXRpb25zaGlwczo8L3N0cm9uZz4gQXNraW5nIGZvciBmZWVkYmFjayBzaWduYWxzIHRoYXQgeW91IHZhbHVlIHRoZWlyIG9waW5pb25zPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJhbmNob3IiOiIxMC1jdXN0b21lci1mZWVkYmFjay1wcmFjdGljZXMtdGhhdC1nZXQtcmVzdWx0cyJ9IC0tPgo8aDIgaWQ9IjEwLWN1c3RvbWVyLWZlZWRiYWNrLXByYWN0aWNlcy10aGF0LWdldC1yZXN1bHRzIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+MTAgQ3VzdG9tZXIgRmVlZGJhY2sgUHJhY3RpY2VzIFRoYXQgR2V0IFJlc3VsdHM8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjMsImFuY2hvciI6IjEtcmVxdWVzdC1mZWVkYmFjay1mcm9tLWV2ZXJ5LWN1c3RvbWVyIn0gLS0+CjxoMyBpZD0iMS1yZXF1ZXN0LWZlZWRiYWNrLWZyb20tZXZlcnktY3VzdG9tZXIiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj4xLiBSZXF1ZXN0IEZlZWRiYWNrIEZyb20gRXZlcnkgQ3VzdG9tZXI8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vc3QgYnVzaW5lc3NlcyBvbmx5IGNvbGxlY3QgZmVlZGJhY2sgcGFzc2l2ZWx5LCB3YWl0aW5nIGZvciBjdXN0b21lcnMgdG8gbGVhdmUgcmV2aWV3cyBvbiB0aGVpciBvd24uIFRoZSBwcm9ibGVtPyA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cucXVhbHRyaWNzLmNvbS9hcnRpY2xlcy9uZXdzL2FpLXBvd2VyZWQtY3VzdG9tZXItc2VydmljZS1mYWlscy1hdC1mb3VyLXRpbWVzLXRoZS1yYXRlLW9mLW90aGVyLXRhc2tzLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5RdWFsdHJpY3MnIDIwMjUgY29uc3VtZXIgcmVzZWFyY2g8L2E+IGZvdW5kIHRoYXQgb25seSAyOSUgb2YgY3VzdG9tZXJzIGNvbW11bmljYXRlIGRpcmVjdGx5IHdpdGggYSBjb21wYW55IGFmdGVyIGFuIGV4cGVyaWVuY2Ug4oCUIGFuZCB0aGF0IG51bWJlciBpcyBkZWNsaW5pbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VW5sZXNzIHlvdSBhc2ssIG1vc3QgZmVlZGJhY2sgZ29lcyB1bmNvbGxlY3RlZC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NYWtpbmcgZmVlZGJhY2sgcmVxdWVzdHMgYSBzdGFuZGFyZCBwYXJ0IG9mIHlvdXIgY3VzdG9tZXIgam91cm5leSBjaGFuZ2VzIHRoZSBlcXVhdGlvbiBlbnRpcmVseS4gQXNrIGFmdGVyIHB1cmNoYXNlLCBhZnRlciBzdXBwb3J0IGludGVyYWN0aW9ucywgYW5kIGFmdGVyIG9uYm9hcmRpbmcgbWlsZXN0b25lcy4gVG9vbHMgbGlrZSBTaGFwbyBsZXQgeW91IHNlbmQgc2ltcGxlIGNvbGxlY3Rpb24gbGlua3MgdGhhdCBtYWtlIHJlcXVlc3RpbmcgZmVlZGJhY2sgYSB0d28tbWludXRlIHRhc2suPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiMi1tYWtlLWZlZWRiYWNrLXN1Ym1pc3Npb24tZWZmb3J0bGVzcyJ9IC0tPgo8aDMgaWQ9IjItbWFrZS1mZWVkYmFjay1zdWJtaXNzaW9uLWVmZm9ydGxlc3MiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj4yLiBNYWtlIEZlZWRiYWNrIFN1Ym1pc3Npb24gRWZmb3J0bGVzczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RnJpY3Rpb24ga2lsbHMgcmVzcG9uc2UgcmF0ZXMuIElmIHlvdXIgZmVlZGJhY2sgZm9ybSB0YWtlcyBtb3JlIHRoYW4gYSBtaW51dGUgdG8gY29tcGxldGUsIHlvdSdsbCBsb3NlIG1vc3QgcmVzcG9uZGVudHMgYmVmb3JlIHRoZXkgZmluaXNoLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPktlZXAgZm9ybXMgc2hvcnQgYW5kIG1vYmlsZS1mcmllbmRseS4gT2ZmZXIgb25lLWNsaWNrIHJhdGluZyBvcHRpb25zIHdoZXJlIHBvc3NpYmxlLiBDdXN0b21lcnMgY2FuIHN1Ym1pdCB0ZXh0IG9yIHJlY29yZCB2aWRlbyB0ZXN0aW1vbmlhbHMgZGlyZWN0bHkgZnJvbSB0aGVpciBwaG9uZSBvciBkZXNrdG9wIHdpdGhvdXQgZG93bmxvYWRpbmcgYW55dGhpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiMy10aW1lLXlvdXItcmVxdWVzdHMtc3RyYXRlZ2ljYWxseSJ9IC0tPgo8aDMgaWQ9IjMtdGltZS15b3VyLXJlcXVlc3RzLXN0cmF0ZWdpY2FsbHkiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj4zLiBUaW1lIFlvdXIgUmVxdWVzdHMgU3RyYXRlZ2ljYWxseTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2hlbiB5b3UgYXNrIG1hdHRlcnMgYXMgbXVjaCBhcyBob3cgeW91IGFzay4gVGhlIHN3ZWV0IHNwb3QgaXMgd2hlbiB0aGUgZXhwZXJpZW5jZSBpcyBmcmVzaCBidXQgdGhlIGN1c3RvbWVyIGlzbid0IGZydXN0cmF0ZWQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlBvc3QtcHVyY2hhc2U6PC9zdHJvbmc+IFdpdGhpbiBhIGZldyBkYXlzIHdoaWxlIHRoZSBleHBlcmllbmNlIGlzIHRvcCBvZiBtaW5kPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkFmdGVyIHN1cHBvcnQgcmVzb2x1dGlvbjo8L3N0cm9uZz4gV2hlbiB0aGUgY3VzdG9tZXIgZmVlbHMgaGVscGVkPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkF0IGtleSBtaWxlc3RvbmVzOjwvc3Ryb25nPiBBZnRlciBvbmJvYXJkaW5nLCBhZnRlciByZW5ld2FsLCBhZnRlciBhIHN1Y2Nlc3MgbW9tZW50PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QXZvaWQgYXNraW5nIGR1cmluZyBmcnVzdHJhdGluZyBtb21lbnRzIG9yIGJlZm9yZSBjdXN0b21lcnMgaGF2ZSBoYWQgdGltZSB0byBmb3JtIGFuIG9waW5pb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiNC1rZWVwLXlvdXItcXVlc3Rpb25zLXNpbXBsZS1hbmQtZm9jdXNlZCJ9IC0tPgo8aDMgaWQ9IjQta2VlcC15b3VyLXF1ZXN0aW9ucy1zaW1wbGUtYW5kLWZvY3VzZWQiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj40LiBLZWVwIFlvdXIgUXVlc3Rpb25zIFNpbXBsZSBhbmQgRm9jdXNlZDwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TG9uZyBzdXJ2ZXlzIGdldCBhYmFuZG9uZWQuIEFzayBvbmUgY2xlYXIgcXVlc3Rpb24gYXQgYSB0aW1lLCBza2lwIHRoZSBqYXJnb24sIGFuZCBkb24ndCBvdmVyd2hlbG0gY3VzdG9tZXJzIHdpdGggdG9vIG1hbnkgZmllbGRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk9wZW4tZW5kZWQgcXVlc3Rpb25zIGxpa2UgIldoYXQgZGlkIHlvdSBlbmpveSBtb3N0PyIgcGFpcmVkIHdpdGggb3B0aW9uYWwgcmF0aW5nIHNjYWxlcyB0ZW5kIHRvIGdlbmVyYXRlIHRoZSBtb3N0IHVzZWZ1bCByZXNwb25zZXMuIFlvdSdyZSBsb29raW5nIGZvciBhdXRoZW50aWMgcmVhY3Rpb25zLCBub3QgY2hlY2tib3ggZmF0aWd1ZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiI1LXVzZS1tdWx0aXBsZS1jaGFubmVscy10by1nYXRoZXItZmVlZGJhY2sifSAtLT4KPGgzIGlkPSI1LXVzZS1tdWx0aXBsZS1jaGFubmVscy10by1nYXRoZXItZmVlZGJhY2siIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj41LiBVc2UgTXVsdGlwbGUgQ2hhbm5lbHMgdG8gR2F0aGVyIEZlZWRiYWNrPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5EaWZmZXJlbnQgY3VzdG9tZXJzIHByZWZlciBkaWZmZXJlbnQgY29tbXVuaWNhdGlvbiBtZXRob2RzLiBNZWV0aW5nIHRoZW0gd2hlcmUgdGhleSBhbHJlYWR5IGFyZSBpbmNyZWFzZXMgcmVzcG9uc2UgcmF0ZXMgc2lnbmlmaWNhbnRseS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gL3dwOnRhYmxlIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjMsImFuY2hvciI6IjYtY29sbGVjdC1ib3RoLXRleHQtYW5kLXZpZGVvLXRlc3RpbW9uaWFscyJ9IC0tPgo8aDMgaWQ9IjYtY29sbGVjdC1ib3RoLXRleHQtYW5kLXZpZGVvLXRlc3RpbW9uaWFscyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjYuIENvbGxlY3QgQm90aCBUZXh0IGFuZCBWaWRlbyBUZXN0aW1vbmlhbHM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvd2h5LXZpZGVvLXRlc3RpbW9uaWFscy1tYXR0ZXIvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPlZpZGVvIHRlc3RpbW9uaWFsczwvYT4mbmJzcDthcmUgbW9yZSBhdXRoZW50aWMgYW5kIHBlcnN1YXNpdmUgdGhhbiB0ZXh0IGFsb25lIOKAlCBhY2NvcmRpbmcgdG8gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnRlbGVwcm9tcHRlci5jb20vYmxvZy92aWRlby10ZXN0aW1vbmlhbC1zdGF0aXN0aWNzIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPlRlbGVwcm9tcHRlci5jb208L2E+LCA3NyUgb2Ygdmlld2VycyBzYXkgYSB0ZXN0aW1vbmlhbCB2aWRlbyBpbmZsdWVuY2VkIHRoZWlyIHB1cmNoYXNlIGRlY2lzaW9uLiBTZWVpbmcgYSByZWFsIHBlcnNvbiBzaGFyZSB0aGVpciBleHBlcmllbmNlIGJ1aWxkcyB0cnVzdCBpbiB3YXlzIHRoYXQgd3JpdHRlbiByZXZpZXdzIHNpbXBseSBjYW4ndCBtYXRjaC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DdXN0b21lcnMgY2FuIHJlY29yZCBmcm9tIGFueSBkZXZpY2UgdGhyb3VnaCBhIHNpbXBsZSBzaGFyZWFibGUgbGluay4gTm8gc3BlY2lhbCBzb2Z0d2FyZSwgbm8gYXBwIGRvd25sb2Fkcywgbm8gZnJpY3Rpb24uIFNoYXBvIGVuYWJsZXMgdmlkZW8gY29sbGVjdGlvbiB0aGlzIHdheSwgYW5kIHRoZSBjbGlwcyBsYW5kIGRpcmVjdGx5IGluIHlvdXIgZGFzaGJvYXJkIHJlYWR5IHRvIHJldmlldy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiI3LWNlbnRyYWxpemUtYWxsLWZlZWRiYWNrLWluLW9uZS1odWIifSAtLT4KPGgzIGlkPSI3LWNlbnRyYWxpemUtYWxsLWZlZWRiYWNrLWluLW9uZS1odWIiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj43LiBDZW50cmFsaXplIEFsbCBGZWVkYmFjayBpbiBPbmUgSHViPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TY2F0dGVyZWQgZmVlZGJhY2sgaXMgd2FzdGVkIGZlZWRiYWNrLiBXaGVuIHJldmlld3MgbGl2ZSBhY3Jvc3MgR29vZ2xlLCBzb2NpYWwgbWVkaWEsIHJldmlldyBzaXRlcywgYW5kIGVtYWlsIHRocmVhZHMsIHlvdSBsb3NlIHRyYWNrIG9mIHdoYXQgY3VzdG9tZXJzIGFyZSBhY3R1YWxseSBzYXlpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy9jZW50cmFsaXplLXJldmlld3MtZnJvbS1tdWx0aXBsZS1wbGF0Zm9ybXMvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPkNvbnNvbGlkYXRpbmcgZXZlcnl0aGluZyBpbnRvIG9uZSBkYXNoYm9hcmQ8L2E+IGdpdmVzIHlvdSBhIGNvbXBsZXRlIHBpY3R1cmUuIFNoYXBvIGNhbiBpbXBvcnQgcmV2aWV3cyBmcm9tIEdvb2dsZSwgRzIsIFRydXN0cGlsb3QsIEZhY2Vib29rLCBhbmQgMjArIG90aGVyIHNvdXJjZXMgaW50byBhIHNpbmdsZSBodWIuIFRoYXQgd2F5LCB5b3VyIHN0cm9uZ2VzdCBwcm9vZiBpc24ndCBzY2F0dGVyZWQgYWNyb3NzIHRoZSBpbnRlcm5ldC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiI4LXBlcnNvbmFsaXplLXlvdXItZmVlZGJhY2stcmVxdWVzdHMifSAtLT4KPGgzIGlkPSI4LXBlcnNvbmFsaXplLXlvdXItZmVlZGJhY2stcmVxdWVzdHMiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj44LiBQZXJzb25hbGl6ZSBZb3VyIEZlZWRiYWNrIFJlcXVlc3RzPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5HZW5lcmljIHJlcXVlc3RzIGZlZWwgYXV0b21hdGVkLCBhbmQgY3VzdG9tZXJzIGNhbiB0ZWxsLiBVc2luZyB0aGUgY3VzdG9tZXIncyBuYW1lLCByZWZlcmVuY2luZyB0aGVpciBzcGVjaWZpYyBwdXJjaGFzZSwgYW5kIGN1c3RvbWl6aW5nIHRoZSBhc2sgYmFzZWQgb24gdGhlaXIgZXhwZXJpZW5jZSBkcmFtYXRpY2FsbHkgaW1wcm92ZXMgcmVzcG9uc2UgcmF0ZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QSBwZXJzb25hbGl6ZWQgcmVxdWVzdCBzaWduYWxzIHRoYXQgeW91IGdlbnVpbmVseSBjYXJlIGFib3V0IHRoZWlyIGluZGl2aWR1YWwgb3Bpbmlvbiwgbm90IGp1c3QgcGFkZGluZyB5b3VyIHJldmlldyBjb3VudC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiI5LWFjdC1vbi10aGUtZmVlZGJhY2steW91LXJlY2VpdmUifSAtLT4KPGgzIGlkPSI5LWFjdC1vbi10aGUtZmVlZGJhY2steW91LXJlY2VpdmUiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj45LiBBY3Qgb24gdGhlIEZlZWRiYWNrIFlvdSBSZWNlaXZlPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Db2xsZWN0aW5nIGZlZWRiYWNrIHdpdGhvdXQgYWN0aW9uIGRhbWFnZXMgdHJ1c3Qgb3ZlciB0aW1lLiBDdXN0b21lcnMgbm90aWNlIHdoZW4gdGhlaXIgaW5wdXQgZGlzYXBwZWFycyBpbnRvIGEgdm9pZC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby9ibG9nL2N1c3RvbWVyLWZlZWRiYWNrLW1hbmFnZW1lbnQvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPkNsb3NlIHRoZSBsb29wPC9hPiBieSBhY2tub3dsZWRnaW5nIGZlZWRiYWNrLCBpbXBsZW1lbnRpbmcgc3VnZ2VzdGlvbnMgd2hlcmUgYXBwcm9wcmlhdGUsIGFuZCBzaGFyaW5nIHdoYXQgY2hhbmdlZCBhcyBhIHJlc3VsdC4gRXZlbiBhIHNpbXBsZSAiV2UgaGVhcmQgeW91LCBhbmQgaGVyZSdzIHdoYXQgd2UgZGlkIiBnb2VzIGEgbG9uZyB3YXkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiMTAtZGlzcGxheS1wb3NpdGl2ZS1mZWVkYmFjay1hcy1zb2NpYWwtcHJvb2YifSAtLT4KPGgzIGlkPSIxMC1kaXNwbGF5LXBvc2l0aXZlLWZlZWRiYWNrLWFzLXNvY2lhbC1wcm9vZiIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjEwLiBEaXNwbGF5IFBvc2l0aXZlIEZlZWRiYWNrIGFzIFNvY2lhbCBQcm9vZjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RmVlZGJhY2sgc2l0dGluZyBpbiBhIHNwcmVhZHNoZWV0IGRvZXNuJ3QgaGVscCBjb252ZXJzaW9ucyDigJQgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc3BpZWdlbC5tZWRpbGwubm9ydGh3ZXN0ZXJuLmVkdS9ob3ctb25saW5lLXJldmlld3MtaW5mbHVlbmNlLXNhbGVzLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5maXZlIHJldmlld3MgYm9vc3QgcHVyY2hhc2UgbGlrZWxpaG9vZCBieSAyNzAlPC9hPi4gUHVibGlzaGluZyB0ZXN0aW1vbmlhbHMgb24gc2FsZXMgcGFnZXMsIGxhbmRpbmcgcGFnZXMsIGFuZCBwcm9kdWN0IHBhZ2VzIHB1dHMgc29jaWFsIHByb29mIHdoZXJlIGJ1eWluZyBkZWNpc2lvbnMgaGFwcGVuLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkN1c3RvbWl6YWJsZSB3aWRnZXRzIGxpa2UgZ3JpZHMsIGNhcm91c2VscywgYW5kIFdhbGwgb2YgTG92ZSBwYWdlcyBlbWJlZCBhbnl3aGVyZSB3aXRoIHNpbXBsZSBjb3B5LXBhc3RlIGNvZGUuIFdpdGggU2hhcG8sIHB1Ymxpc2hlZCB3aWRnZXRzIHVwZGF0ZSBhdXRvbWF0aWNhbGx5IHdoZW4gbmV3IHRlc3RpbW9uaWFscyBhcnJpdmUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJhbmNob3IiOiJ0eXBlcy1vZi1jdXN0b21lci1mZWVkYmFjay10by1jb2xsZWN0In0gLS0+CjxoMiBpZD0idHlwZXMtb2YtY3VzdG9tZXItZmVlZGJhY2stdG8tY29sbGVjdCIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlR5cGVzIG9mIEN1c3RvbWVyIEZlZWRiYWNrIHRvIENvbGxlY3Q8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk5vdCBhbGwgZmVlZGJhY2sgc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UuIFVuZGVyc3RhbmRpbmcgdGhlIGRpZmZlcmVudCB0eXBlcyBoZWxwcyB5b3UgYXNrIHRoZSByaWdodCBxdWVzdGlvbnMgYXQgdGhlIHJpZ2h0IHRpbWUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIC93cDp0YWJsZSAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJjdXN0b21lci1zYXRpc2ZhY3Rpb24tZmVlZGJhY2sifSAtLT4KPGgzIGlkPSJjdXN0b21lci1zYXRpc2ZhY3Rpb24tZmVlZGJhY2siIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5DdXN0b21lciBTYXRpc2ZhY3Rpb24gRmVlZGJhY2s8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNTQVQgKEN1c3RvbWVyIFNhdGlzZmFjdGlvbiBTY29yZSkgbWVhc3VyZXMgaG93IGhhcHB5IGN1c3RvbWVycyBhcmUgd2l0aCBhIHNwZWNpZmljIGludGVyYWN0aW9uIG9yIHB1cmNoYXNlLiBJdCdzIHR5cGljYWxseSBhIHNpbXBsZSByYXRpbmcgc2NhbGUgYXNrZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYW4gZXhwZXJpZW5jZSwgbGlrZSAiSG93IHNhdGlzZmllZCB3ZXJlIHlvdSB3aXRoIHRvZGF5J3Mgc3VwcG9ydD8iPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiY3VzdG9tZXItbG95YWx0eS1mZWVkYmFjayJ9IC0tPgo8aDMgaWQ9ImN1c3RvbWVyLWxveWFsdHktZmVlZGJhY2siIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5DdXN0b21lciBMb3lhbHR5IEZlZWRiYWNrPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5OUFMgKE5ldCBQcm9tb3RlciBTY29yZSkgbWVhc3VyZXMgd2lsbGluZ25lc3MgdG8gcmVjb21tZW5kIHlvdXIgYnVzaW5lc3MgdG8gb3RoZXJzLiBUaGUgY2xhc3NpYyBxdWVzdGlvbjogIk9uIGEgc2NhbGUgb2YgMC0xMCwgaG93IGxpa2VseSBhcmUgeW91IHRvIHJlY29tbWVuZCB1cyB0byBhIGZyaWVuZD8iIFNjb3JlcyBvZiA5LTEwIGFyZSBwcm9tb3RlcnMsIDctOCBhcmUgcGFzc2l2ZSwgYW5kIDAtNiBhcmUgZGV0cmFjdG9ycy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJjdXN0b21lci1zZXJ2aWNlLWZlZWRiYWNrIn0gLS0+CjxoMyBpZD0iY3VzdG9tZXItc2VydmljZS1mZWVkYmFjayIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkN1c3RvbWVyIFNlcnZpY2UgRmVlZGJhY2s8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkN1c3RvbWVyIHNlcnZpY2UgZmVlZGJhY2sgbWVhc3VyZXMgaG93IHdlbGwgeW91ciBzdXBwb3J0IHRlYW0gcmVzb2x2ZXMgaXNzdWVzLiBPZnRlbiBjb2xsZWN0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGlja2V0IHJlc29sdXRpb24gdG8gY2FwdHVyZSB0aGUgZXhwZXJpZW5jZSB3aGlsZSBpdCdzIGZyZXNoLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjMsImFuY2hvciI6InByb2R1Y3QtYW5kLWZlYXR1cmUtZmVlZGJhY2sifSAtLT4KPGgzIGlkPSJwcm9kdWN0LWFuZC1mZWF0dXJlLWZlZWRiYWNrIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+UHJvZHVjdCBhbmQgRmVhdHVyZSBGZWVkYmFjazwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+UHJvZHVjdCBmZWVkYmFjayBjb3ZlcnMgZnVuY3Rpb25hbGl0eSwgdXNhYmlsaXR5LCBhbmQgZGVzaXJlZCBpbXByb3ZlbWVudHMuIFRoaXMgdHlwZSBpcyBpbnZhbHVhYmxlIGZvciByb2FkbWFwIHBsYW5uaW5nIGFuZCBoZWxwcyB5b3UgcHJpb3JpdGl6ZSB3aGF0IHRvIGJ1aWxkIG5leHQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoic2FsZXMtYW5kLWNvbnZlcnNpb24tZmVlZGJhY2sifSAtLT4KPGgzIGlkPSJzYWxlcy1hbmQtY29udmVyc2lvbi1mZWVkYmFjayIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlNhbGVzIGFuZCBDb252ZXJzaW9uIEZlZWRiYWNrPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TYWxlcyBmZWVkYmFjayBjYXB0dXJlcyB0aGUgYnV5aW5nIGV4cGVyaWVuY2UsIGluY2x1ZGluZyB3aGF0IGNvbnZpbmNlZCBjdXN0b21lcnMgdG8gcHVyY2hhc2Ugb3Igd2hhdCBhbG1vc3Qgc3RvcHBlZCB0aGVtLiBVc2VmdWwgZm9yIG9wdGltaXppbmcgeW91ciBjaGVja291dCBmbG93IGFuZCBzYWxlcyBwYWdlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImFuY2hvciI6Im1ldGhvZHMtb2YtY29sbGVjdGluZy1jdXN0b21lci1mZWVkYmFjayJ9IC0tPgo8aDIgaWQ9Im1ldGhvZHMtb2YtY29sbGVjdGluZy1jdXN0b21lci1mZWVkYmFjayIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPk1ldGhvZHMgb2YgQ29sbGVjdGluZyBDdXN0b21lciBGZWVkYmFjazwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q2hvb3NlIG1ldGhvZHMgYmFzZWQgb24geW91ciBnb2FscyBhbmQgd2hlcmUgeW91ciBjdXN0b21lcnMgYWxyZWFkeSBlbmdhZ2Ugd2l0aCB5b3UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoic3VydmV5cy1hbmQtZmVlZGJhY2stZm9ybXMifSAtLT4KPGgzIGlkPSJzdXJ2ZXlzLWFuZC1mZWVkYmFjay1mb3JtcyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlN1cnZleXMgYW5kIEZlZWRiYWNrIEZvcm1zPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TdXJ2ZXlzIGFyZSBzdHJ1Y3R1cmVkIHdheXMgdG8gZ2F0aGVyIGN1c3RvbWVyIGZlZWRiYWNrIHdpdGggc3BlY2lmaWMgcXVlc3Rpb25zLiBIaWdoLWNvbnZlcnRpbmcgZm9ybXMgY2FuIGJlIHNoYXJlZCB2aWEgbGluayBvciBlbWJlZGRlZCBkaXJlY3RseSBvbiB5b3VyIHNpdGUuIEtlZXAgdGhlbSBzaG9ydCwgZm9jdXNlZCwgYW5kIGVhc3kgdG8gY29tcGxldGUgb24gbW9iaWxlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjMsImFuY2hvciI6ImVtYWlsLWNhbXBhaWducyJ9IC0tPgo8aDMgaWQ9ImVtYWlsLWNhbXBhaWducyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkVtYWlsIENhbXBhaWduczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RW1haWwgcmVtYWlucyBlZmZlY3RpdmUgZm9yIHJlcXVlc3RpbmcgZmVlZGJhY2sgb3IgdGVzdGltb25pYWxzLiBJbmNsdWRlIGRpcmVjdCBsaW5rcyB0byBmZWVkYmFjayBmb3JtcyBhbmQgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy9hc2stZm9yLXJldmlld3MtdGVzdGltb25pYWxzLWVtYWlsLXRlbXBsYXRlLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5zZW5kIHdpdGhpbiAyNC00OCBob3VyczwvYT4gb2YgcHVyY2hhc2UgZm9yIGJlc3QgcmVzdWx0cy4gU2hhcG8ncyBlbWFpbCBjYW1wYWlnbiBpbnZpdGVzIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvYXV0b21hdGVkLXJldmlldy1yZXF1ZXN0cy8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+YXV0b21hdGUgdGhpcyBwcm9jZXNzPC9hPi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJzb2NpYWwtbWVkaWEtbGlzdGVuaW5nIn0gLS0+CjxoMyBpZD0ic29jaWFsLW1lZGlhLWxpc3RlbmluZyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlNvY2lhbCBNZWRpYSBMaXN0ZW5pbmc8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlNvY2lhbCBsaXN0ZW5pbmcgbWVhbnMgbW9uaXRvcmluZyBwbGF0Zm9ybXMgZm9yIG1lbnRpb25zLCBjb21tZW50cywgYW5kIHJldmlld3MuIFRoaXMgY2FwdHVyZXMgdW5zb2xpY2l0ZWQgZmVlZGJhY2sgYW5kIGhlbHBzIHlvdSB1bmRlcnN0YW5kIG92ZXJhbGwgc2VudGltZW50IHdpdGhvdXQgYXNraW5nIGN1c3RvbWVycyB0byBmaWxsIG91dCBhbnl0aGluZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJvbmxpbmUtcmV2aWV3cy1hbmQtcmV2aWV3LXNpdGVzIn0gLS0+CjxoMyBpZD0ib25saW5lLXJldmlld3MtYW5kLXJldmlldy1zaXRlcyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPk9ubGluZSBSZXZpZXdzIGFuZCBSZXZpZXcgU2l0ZXM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlJldmlld3Mgb24gR29vZ2xlLCBHMiwgVHJ1c3RwaWxvdCwgYW5kIGluZHVzdHJ5LXNwZWNpZmljIHBsYXRmb3JtcyBjYXJyeSBzaWduaWZpY2FudCB3ZWlnaHQgd2l0aCBwb3RlbnRpYWwgY3VzdG9tZXJzLiBUaGVzZSByZXZpZXdzIGNhbiBiZSBpbXBvcnRlZCBhbmQgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy9hZGQtY3VzdG9tZXItcmV2aWV3cy10by13ZWJzaXRlLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5kaXNwbGF5ZWQgb24geW91ciBvd24gc2l0ZTwvYT4gdG8gbWF4aW1pemUgdGhlaXIgaW1wYWN0LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsiYW5jaG9yIjoiaG93LXRvLWVuY291cmFnZS1jdXN0b21lcnMtdG8tZ2l2ZS1mZWVkYmFjayJ9IC0tPgo8aDIgaWQ9Imhvdy10by1lbmNvdXJhZ2UtY3VzdG9tZXJzLXRvLWdpdmUtZmVlZGJhY2siIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5Ib3cgdG8gRW5jb3VyYWdlIEN1c3RvbWVycyB0byBHaXZlIEZlZWRiYWNrPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5HZXR0aW5nIGZlZWRiYWNrIHJlcXVpcmVzIG1ha2luZyB0aGUgcHJvY2VzcyBlYXN5IGFuZCB3b3J0aHdoaWxlIGZvciBjdXN0b21lcnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiMS1vZmZlci1pbmNlbnRpdmVzLWZvci1wYXJ0aWNpcGF0aW9uIn0gLS0+CjxoMyBpZD0iMS1vZmZlci1pbmNlbnRpdmVzLWZvci1wYXJ0aWNpcGF0aW9uIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+MS4gT2ZmZXIgSW5jZW50aXZlcyBmb3IgUGFydGljaXBhdGlvbjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RGlzY291bnRzLCBlbnRyaWVzIGludG8gZHJhd2luZ3MsIG9yIGV4Y2x1c2l2ZSBjb250ZW50IGNhbiBtb3RpdmF0ZSBjdXN0b21lcnMgdG8gc2hhcmUgdGhlaXIgdGhvdWdodHMuIEtlZXAgaW5jZW50aXZlcyBhcHByb3ByaWF0ZSB0byBhdm9pZCBiaWFzaW5nIHJlc3BvbnNlcyB0b3dhcmQgb25seSBwb3NpdGl2ZSBmZWVkYmFjay48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiIyLWtlZXAtdGhlLXByb2Nlc3Mtc2hvcnQtYW5kLXNpbXBsZSJ9IC0tPgo8aDMgaWQ9IjIta2VlcC10aGUtcHJvY2Vzcy1zaG9ydC1hbmQtc2ltcGxlIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+Mi4gS2VlcCB0aGUgUHJvY2VzcyBTaG9ydCBhbmQgU2ltcGxlPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5MaW1pdCBzdXJ2ZXlzIHRvIGVzc2VudGlhbCBxdWVzdGlvbnMuIExvbmdlciBmb3JtcyBnZXQgYWJhbmRvbmVkLCBzbyBhaW0gZm9yIHVuZGVyIHR3byBtaW51dGVzIHRvIGNvbXBsZXRlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjMsImFuY2hvciI6IjMtc2VuZC1mb2xsb3ctdXAtcmVtaW5kZXJzIn0gLS0+CjxoMyBpZD0iMy1zZW5kLWZvbGxvdy11cC1yZW1pbmRlcnMiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj4zLiBTZW5kIEZvbGxvdy1VcCBSZW1pbmRlcnM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk9uZSByZXF1ZXN0IG9mdGVuIGlzbid0IGVub3VnaC4gQSBwb2xpdGUgcmVtaW5kZXIgYSBmZXcgZGF5cyBsYXRlciBjYW4gc2lnbmlmaWNhbnRseSBpbmNyZWFzZSByZXNwb25zZSByYXRlcyB3aXRob3V0IGZlZWxpbmcgcHVzaHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJhbmNob3IiOiJ3aGF0LXRvLWRvLWFmdGVyLWNvbGxlY3RpbmctY3VzdG9tZXItZmVlZGJhY2sifSAtLT4KPGgyIGlkPSJ3aGF0LXRvLWRvLWFmdGVyLWNvbGxlY3RpbmctY3VzdG9tZXItZmVlZGJhY2siIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5XaGF0IHRvIERvIEFmdGVyIENvbGxlY3RpbmcgQ3VzdG9tZXIgRmVlZGJhY2s8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbGxlY3Rpb24gaXMgb25seSB0aGUgZmlyc3Qgc3RlcC4gSGVyZSdzIGhvdyB0byB0dXJuIGZlZWRiYWNrIGludG8gYWN0aW9uLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjMsImFuY2hvciI6ImlkZW50aWZ5LW9wcG9ydHVuaXRpZXMtZm9yLWltcHJvdmVtZW50In0gLS0+CjxoMyBpZD0iaWRlbnRpZnktb3Bwb3J0dW5pdGllcy1mb3ItaW1wcm92ZW1lbnQiIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5JZGVudGlmeSBPcHBvcnR1bml0aWVzIGZvciBJbXByb3ZlbWVudDwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QW5hbHl6ZSBmZWVkYmFjayBmb3IgcGF0dGVybnMsIGNvbW1vbiBjb21wbGFpbnRzLCBhbmQgZmVhdHVyZSByZXF1ZXN0cy4gTG9vayBmb3IgcmVjdXJyaW5nIHRoZW1lcyByYXRoZXIgdGhhbiBvbmUtb2ZmIGNvbW1lbnRzLiBVc2UgcGF0dGVybnMgdG8gcHJpb3JpdGl6ZSBwcm9kdWN0IGFuZCBzZXJ2aWNlIGltcHJvdmVtZW50cy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJzaGFyZS1hbmQtY2VsZWJyYXRlLXBvc2l0aXZlLWZlZWRiYWNrIn0gLS0+CjxoMyBpZD0ic2hhcmUtYW5kLWNlbGVicmF0ZS1wb3NpdGl2ZS1mZWVkYmFjayIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlNoYXJlIGFuZCBDZWxlYnJhdGUgUG9zaXRpdmUgRmVlZGJhY2s8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlVzZSBwb3NpdGl2ZSBmZWVkYmFjayBpbnRlcm5hbGx5IGZvciB0ZWFtIG1vcmFsZSBhbmQgZXh0ZXJuYWxseSBmb3IgbWFya2V0aW5nLiBBdXRvLXN5bmMgZmVhdHVyZXMga2VlcCBwdWJsaXNoZWQgd2lkZ2V0cyB1cGRhdGVkIGFzIG5ldyB0ZXN0aW1vbmlhbHMgYXJyaXZlLCBzbyB5b3VyIHNvY2lhbCBwcm9vZiBzdGF5cyBmcmVzaC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImFuY2hvciI6Imhvdy10by1kaXNwbGF5LWN1c3RvbWVyLWZlZWRiYWNrLW9uLXlvdXItd2Vic2l0ZSJ9IC0tPgo8aDIgaWQ9Imhvdy10by1kaXNwbGF5LWN1c3RvbWVyLWZlZWRiYWNrLW9uLXlvdXItd2Vic2l0ZSIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkhvdyB0byBEaXNwbGF5IEN1c3RvbWVyIEZlZWRiYWNrIG9uIFlvdXIgV2Vic2l0ZTwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q29sbGVjdGluZyBmZWVkYmFjayBpcyB2YWx1YWJsZSwgYnV0IGRpc3BsYXlpbmcgaXQgcHVibGljbHkgZHJpdmVzIGNvbnZlcnNpb25zLiBTaG93Y2FzaW5nIHlvdXIgcG9zaXRpdmUgcmV2aWV3cyB3aGVyZSBidXlpbmcgZGVjaXNpb25zIGhhcHBlbiB0dXJucyBwYXNzaXZlIGZlZWRiYWNrIGludG8gYW4gYWN0aXZlIHNhbGVzIHRvb2wuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoidGVzdGltb25pYWwtd2lkZ2V0cy1hbmQtZW1iZWRzIn0gLS0+CjxoMyBpZD0idGVzdGltb25pYWwtd2lkZ2V0cy1hbmQtZW1iZWRzIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+VGVzdGltb25pYWwgV2lkZ2V0cyBhbmQgRW1iZWRzPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9zaGFwby5pby90ZXN0aW1vbmlhbC13aWRnZXRzIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPkVtYmVkZGFibGUgd2lkZ2V0czwvYT4gZGlzcGxheSB0ZXN0aW1vbmlhbHMgaW4gdmFyaW91cyBsYXlvdXRzLiBTaGFwbydzIHdpZGdldHMgd29yayBvbiBTaG9waWZ5LCBXb3JkUHJlc3MsIFdlYmZsb3csIFdpeCwgYW5kIG1vcmUgd2l0aCBzaW1wbGUgY29weS1wYXN0ZSBjb2RlLiBObyBkZXZlbG9wZXIgcmVxdWlyZWQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoid2FsbC1vZi1sb3ZlLXBhZ2VzIn0gLS0+CjxoMyBpZD0id2FsbC1vZi1sb3ZlLXBhZ2VzIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+V2FsbCBvZiBMb3ZlIFBhZ2VzPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvd2hhdC1pcy1hLXdhbGwtb2YtbG92ZS1hbmQtd2h5LXlvdS1uZWVkLW9uZS8iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciI+V2FsbCBvZiBMb3ZlPC9hPiBpcyBhIGRlZGljYXRlZCBwYWdlIHNob3djYXNpbmcgeW91ciBiZXN0IGN1c3RvbWVyIGZlZWRiYWNrLiBJdCdzIGEgcG93ZXJmdWwgd2F5IHRvIGhpZ2hsaWdodCB5b3VyIHN0cm9uZ2VzdCBzb2NpYWwgcHJvb2YgaW4gb25lIHBsYWNlLCBlc3BlY2lhbGx5IHVzZWZ1bCBmb3IgbGlua2luZyBpbiBlbWFpbCBzaWduYXR1cmVzIG9yIHNhbGVzIG1hdGVyaWFscy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImFuY2hvciI6InR1cm4tY3VzdG9tZXItZmVlZGJhY2staW50by15b3VyLWJlc3Qtc2FsZXMtdG9vbCJ9IC0tPgo8aDIgaWQ9InR1cm4tY3VzdG9tZXItZmVlZGJhY2staW50by15b3VyLWJlc3Qtc2FsZXMtdG9vbCIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlR1cm4gQ3VzdG9tZXIgRmVlZGJhY2sgSW50byBZb3VyIEJlc3QgU2FsZXMgVG9vbDwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RmVlZGJhY2sgaXNuJ3QganVzdCBmb3IgaW1wcm92ZW1lbnQuIEl0J3MgYSBjb252ZXJzaW9uIGFzc2V0LiBUZXN0aW1vbmlhbHMgYW5kIHJldmlld3MgZGlzcGxheWVkIHN0cmF0ZWdpY2FsbHkgY2FuIGJlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSB2aXNpdG9yIGJvdW5jaW5nIGFuZCBhIHZpc2l0b3IgYnV5aW5nLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSBidXNpbmVzc2VzIHNlZWluZyB0aGUgYmVzdCByZXN1bHRzIHRyZWF0IGZlZWRiYWNrIGNvbGxlY3Rpb24gYXMgYW4gb25nb2luZyBzeXN0ZW0sIG5vdCBhIG9uZS10aW1lIHByb2plY3QuIFRoZXkgYXNrIGNvbnNpc3RlbnRseSwgY2VudHJhbGl6ZSBldmVyeXRoaW5nLCBhbmQgcHV0IHRoZWlyIGJlc3QgdGVzdGltb25pYWxzIGluIGZyb250IG9mIHBvdGVudGlhbCBjdXN0b21lcnMgYXQgdGhlIHJpZ2h0IG1vbWVudHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vYXBwLnNoYXBvLmlvL3NpZ251cCIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5TaWduIHVwIGZvciBmcmVlPC9hPiDigJQgbm8gY3JlZGl0IGNhcmQgcmVxdWlyZWQg8J+OiTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsiYW5jaG9yIjoiZmFxcy1hYm91dC1jdXN0b21lci1mZWVkYmFjay1wcmFjdGljZXMifSAtLT4KPGgyIGlkPSJmYXFzLWFib3V0LWN1c3RvbWVyLWZlZWRiYWNrLXByYWN0aWNlcyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkZBUXMgQWJvdXQgQ3VzdG9tZXIgRmVlZGJhY2sgUHJhY3RpY2VzPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJ3aGF0LWFyZS10aGUtNC10eXBlcy1vZi1jdXN0b21lci1mZWVkYmFjayJ9IC0tPgo8aDMgaWQ9IndoYXQtYXJlLXRoZS00LXR5cGVzLW9mLWN1c3RvbWVyLWZlZWRiYWNrIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+V2hhdCBhcmUgdGhlIDQgdHlwZXMgb2YgY3VzdG9tZXIgZmVlZGJhY2s\/PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgZm91ciBtYWluIHR5cGVzIGFyZSBjdXN0b21lciBzYXRpc2ZhY3Rpb24gZmVlZGJhY2ssIGN1c3RvbWVyIGxveWFsdHkgZmVlZGJhY2ssIHByb2R1Y3QgZmVlZGJhY2ssIGFuZCBjdXN0b21lciBzZXJ2aWNlIGZlZWRiYWNrLiBFYWNoIG1lYXN1cmVzIGEgZGlmZmVyZW50IGFzcGVjdCBvZiB0aGUgY3VzdG9tZXIgZXhwZXJpZW5jZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozLCJhbmNob3IiOiJob3ctZG8teW91LWNvbGxlY3QtdmlkZW8tdGVzdGltb25pYWxzLWZyb20tY3VzdG9tZXJzIn0gLS0+CjxoMyBpZD0iaG93LWRvLXlvdS1jb2xsZWN0LXZpZGVvLXRlc3RpbW9uaWFscy1mcm9tLWN1c3RvbWVycyIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkhvdyBkbyB5b3UgY29sbGVjdCB2aWRlbyB0ZXN0aW1vbmlhbHMgZnJvbSBjdXN0b21lcnM\/PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TZW5kIGN1c3RvbWVycyBhIHNpbXBsZSBsaW5rIHdoZXJlIHRoZXkgY2FuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NoYXBvLmlvL2Jsb2cvY29sbGVjdC12aWRlby10ZXN0aW1vbmlhbHMvIiByZWw9Im5vcmVmZXJyZXIgbm9vcGVuZXIiPnJlY29yZCBhIHZpZGVvIHRlc3RpbW9uaWFsPC9hPiBkaXJlY3RseSBmcm9tIHRoZWlyIHNtYXJ0cGhvbmUgb3IgZGVza3RvcCBicm93c2VyIHdpdGhvdXQgZG93bmxvYWRpbmcgYW55IGFwcHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiaG93LW9mdGVuLXNob3VsZC1idXNpbmVzc2VzLWFzay1jdXN0b21lcnMtZm9yLWZlZWRiYWNrIn0gLS0+CjxoMyBpZD0iaG93LW9mdGVuLXNob3VsZC1idXNpbmVzc2VzLWFzay1jdXN0b21lcnMtZm9yLWZlZWRiYWNrIiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+SG93IG9mdGVuIHNob3VsZCBidXNpbmVzc2VzIGFzayBjdXN0b21lcnMgZm9yIGZlZWRiYWNrPzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+UmVxdWVzdCBmZWVkYmFjayBhdCBrZXkgbW9tZW50cyBpbiB0aGUgY3VzdG9tZXIgam91cm5leSwgaW5jbHVkaW5nIGFmdGVyIHB1cmNoYXNlLCBhZnRlciBzdXBwb3J0IGludGVyYWN0aW9ucywgYW5kIGF0IHJlbmV3YWwgbWlsZXN0b25lcy4gQXZvaWQgb3Zlci1zdXJ2ZXlpbmcgdGhlIHNhbWUgY3VzdG9tZXIuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoiY2FuLXlvdS1pbXBvcnQtZXhpc3RpbmctcmV2aWV3cy1mcm9tLW11bHRpcGxlLXBsYXRmb3Jtcy1pbnRvLW9uZS1kYXNoYm9hcmQifSAtLT4KPGgzIGlkPSJjYW4teW91LWltcG9ydC1leGlzdGluZy1yZXZpZXdzLWZyb20tbXVsdGlwbGUtcGxhdGZvcm1zLWludG8tb25lLWRhc2hib2FyZCIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkNhbiB5b3UgaW1wb3J0IGV4aXN0aW5nIHJldmlld3MgZnJvbSBtdWx0aXBsZSBwbGF0Zm9ybXMgaW50byBvbmUgZGFzaGJvYXJkPzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+WWVzLiBUZXN0aW1vbmlhbCB0b29scyBsaWtlIFNoYXBvIGxldCB5b3UgaW1wb3J0IHJldmlld3MgZnJvbSBHb29nbGUsIEcyLCBUcnVzdHBpbG90LCBGYWNlYm9vaywgYW5kIG1hbnkgb3RoZXIgcGxhdGZvcm1zIGludG8gYSBzaW5nbGUgaHViIGZvciBlYXN5IG1hbmFnZW1lbnQgYW5kIGRpc3BsYXkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MywiYW5jaG9yIjoid2hhdC10b29scy1oZWxwLWF1dG9tYXRlLWN1c3RvbWVyLWZlZWRiYWNrLWNvbGxlY3Rpb24ifSAtLT4KPGgzIGlkPSJ3aGF0LXRvb2xzLWhlbHAtYXV0b21hdGUtY3VzdG9tZXItZmVlZGJhY2stY29sbGVjdGlvbiIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPldoYXQgdG9vbHMgaGVscCBhdXRvbWF0ZSBjdXN0b21lciBmZWVkYmFjayBjb2xsZWN0aW9uPzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vc2hhcG8uaW8vYmxvZy90ZXN0aW1vbmlhbC1jb2xsZWN0aW9uLXRvb2xzLyIgcmVsPSJub3JlZmVycmVyIG5vb3BlbmVyIj5UZXN0aW1vbmlhbCBwbGF0Zm9ybXM8L2E+IGNhbiBhdXRvLWltcG9ydCBuZXcgcmV2aWV3cyBmcm9tIGNvbm5lY3RlZCBzb3VyY2VzLCBzZW5kIGVtYWlsIGNhbXBhaWduIGludml0ZXMsIGFuZCBhdXRvbWF0aWNhbGx5IHVwZGF0ZSBwdWJsaXNoZWQgd2lkZ2V0cyB3aGVuIG5ldyBmZWVkYmFjayBhcnJpdmVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPnN0YXRlc2F2ZWRBdHN0YXRlc2F2ZWRCeWNsYXNzTmFtZWNsYXNzTmFtZTwhLS0gd3A6dGFibGUgeyJjbGFzc05hbWUiOiJpcy1zdHlsZS1zdHJpcGVzIn0gLS0+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLXRhYmxlIGlzLXN0eWxlLXN0cmlwZXMiPjx0YWJsZSBjbGFzcz0iaGFzLWZpeGVkLWxheW91dCI+PHRib2R5Pjx0cj48dGg+Q2hhbm5lbDwvdGg+PHRoPkJlc3QgRm9yPC90aD48L3RyPjx0cj48dGQ+PHN0cm9uZz5FbWFpbDwvc3Ryb25nPjwvdGQ+PHRkPlBvc3QtcHVyY2hhc2UgZm9sbG93LXVwcyBhbmQgZGV0YWlsZWQgZmVlZGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3Ryb25nPlNNUy9UZXh0PC9zdHJvbmc+PC90ZD48dGQ+UXVpY2sgc2F0aXNmYWN0aW9uIGNoZWNrcyB3aXRoIGhpZ2hlciBvcGVuIHJhdGVzPC90ZD48L3RyPjx0cj48dGQ+PHN0cm9uZz5Jbi1hcHAgb3Igb24tc2l0ZTwvc3Ryb25nPjwvdGQ+PHRkPkNhcHR1cmluZyBmZWVkYmFjayB3aGlsZSBjdXN0b21lcnMgYXJlIGFjdGl2ZWx5IGVuZ2FnZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3Ryb25nPlNvY2lhbCBtZWRpYTwvc3Ryb25nPjwvdGQ+PHRkPk1vbml0b3JpbmcgbWVudGlvbnMgYW5kIGNvbW1lbnRzIGZvciB1bnNvbGljaXRlZCBmZWVkYmFjazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9maWd1cmU+CjwhLS0gd3A6dGFibGUgeyJjbGFzc05hbWUiOiJpcy1zdHlsZS1zdHJpcGVzIn0gLS0+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLXRhYmxlIGlzLXN0eWxlLXN0cmlwZXMiPjx0YWJsZSBjbGFzcz0iaGFzLWZpeGVkLWxheW91dCI+PHRib2R5Pjx0cj48dGg+RmVlZGJhY2sgVHlwZTwvdGg+PHRoPldoYXQgSXQgTWVhc3VyZXM8L3RoPjx0aD5Ib3cgdG8gQ29sbGVjdDwvdGg+PC90cj48dHI+PHRkPkN1c3RvbWVyIFNhdGlzZmFjdGlvbjwvdGQ+PHRkPkhhcHBpbmVzcyB3aXRoIHNwZWNpZmljIGludGVyYWN0aW9uPC90ZD48dGQ+UG9zdC1pbnRlcmFjdGlvbiBzdXJ2ZXlzLCBDU0FUPC90ZD48L3RyPjx0cj48dGQ+Q3VzdG9tZXIgTG95YWx0eTwvdGQ+PHRkPkxpa2VsaWhvb2QgdG8gcmVjb21tZW5kL3JldHVybjwvdGQ+PHRkPk5QUyBzdXJ2ZXlzPC90ZD48L3RyPjx0cj48dGQ+Q3VzdG9tZXIgU2VydmljZTwvdGQ+PHRkPlN1cHBvcnQgcXVhbGl0eTwvdGQ+PHRkPlBvc3QtdGlja2V0IHN1cnZleXM8L3RkPjwvdHI+PHRyPjx0ZD5Qcm9kdWN0IEZlZWRiYWNrPC90ZD48dGQ+RmVhdHVyZSByZXF1ZXN0cywgdXNhYmlsaXR5PC90ZD48dGQ+SW4tYXBwIHN1cnZleXM8L3RkPjwvdHI+PHRyPjx0ZD5TYWxlcyBGZWVkYmFjazwvdGQ+PHRkPkJ1eWluZyBleHBlcmllbmNlPC90ZD48dGQ+UG9zdC1wdXJjaGFzZSBzdXJ2ZXlzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2ZpZ3VyZT4KBQcIBAgGCAUIBwgHCAYIDggOCAsIBkgBBggEDA4qCQgKCAQIBjkIBwQKB78DBwsIBwQKB70CBwsIBwQKBxkFCwgHBAoHkgcHCwgHBAoHLQcLCAcECgcGCwgHBAoHnAELCAcECgehAQsIBwQKBzEFCwgHBAoHhQMHCwgHBAoHNAcLCAcECgcGCwgHBAoHkQMLCAcECgetAQsIBwQKB5oDCwgHBAoHrgELCAcECgcvBQsIBwQKBycFCwgHBAoHtgYHCwgHBAoHLwcLCAcECgeYBAcLCAcECgcmBQsIBwQKB4sCBwsIBwQKB44DBwsIBwQKByMFCwgHBAoHvgEHCwgHBAoHBgsIBwQKB5UBCwgHBAoHiQELCAcECgebAQsIBwQKB50BBwsIBwQKBykFCwgHBAoHggIHCwgHBAoHgQMHCwgHBAoHKwULCAcECgeHAgcLCAcECg4HRAELCAcECgcrBQsIBwQKB4MIBwsIBwQKB6EDBwsIBwQKByUFCwgHBAoHrAIHCwgHBAoHsAUHCwgHBAoHJQULCAcECgeQAwcLCAcECge6AQcLCAcECgciBQsIBwQKB7UBBwsIBwQKB60EBwsIBwQKBy0FCwgHBAoHqgUHCwgHBAoHvwIHCwgHBAoHJQULCAcECgeAAgcLCAcECg4HRAELCAcECgceBQsIBwQKB6wDBwsIBwQKBxkFCwgHBAoHtgMHCwgHBAoHGQULCAcECgeuAgcLCAcECgccBQsIBwQKB6UCBwsIBwQKBx0FCwgHBAoHtAIHCwgHBAoHJwULCAcECgeUAQcLCAcECgcaBQsIBwQKB5oDBwsIBwQKBw8FCwgHBAoHuwYHCwgHBAoHFgULCAcECgeNAwcLCAcECgcfBQsIBwQKB7sEBwsIBwQKBysFCwgHBAoHjwEHCwgHBAoHJQULCAcECge8AgcLCAcECgckBQsIBwQKB6sBBwsIBwQKBxsFCwgHBAoHgwIHCwgHBAoHLQULCAcECgeLAQcLCAcECgcmBQsIBwQKB7wCBwsIBwQKByUFCwgHBAoHvgIHCwgHBAoHMAULCAcECgeAAwcLCAcECgceBQsIBwQKB48EBwsIBwQKBxIFCwgHBAoHlgUHCwgHBAoHMAULCAcECge1AgcLCAcECgeyAwcLCAcECgeBAgcLCAcECgcmBQsIBwQKByoFCwgHBAoHgAMHCwgHBAoHNQULCAcECgeABAcLCAcECgc3BQsIBwQKB7ECBwsIBwQKB4sBBQsIBwQKB6sCBwsIBwQKBzYFCwgHBAoHmAQHC0YnCASwc6RItsoBBQcFB0kAtgmVCxABDQADAQIAlQcBAAAAAQEAuQNCAQEAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgAPQfADhAmjCgtBAAUBAkEOAbMIAH0BfQR9AHcEb3Blbnl3AHcIc3RhbmRhcmR5dwB5dwB1AHUAdyQzNDA5ZTk1YS1jNjk3LTQwMmUtOWU1Yi1kNWM0ZTM0MzgyZjd4dw5jb3JlL3BhcmFncmFwaHl3JDllZmZhZDQwLTg1YTQtNDA5Yy1iNDQ3LWVmMWI5NzJlM2NlZnh3DmNvcmUvcGFyYWdyYXBoeXckMTc3MmMxODQtOTUwYy00ZTczLWFlY2ItMzcwMDUyNGRmZWQzeHcMY29yZS9oZWFkaW5nfQJ3JGZlZjgzN2IwLWNmZTUtNDEzMy1hNzZkLWRlYTJmYmY1NDY4NXh3DmNvcmUvcGFyYWdyYXBoeXckYzE4ODU2NDQtMjU4NS00MjkxLThmMjYtODQ2MzU4NmQ0YTRmeHcOY29yZS9wYXJhZ3JhcGh5dyQ4ZDM0ZTk0OC0wYjM1LTQzNGItYTJiOC1mODAwYWJhZDMxZjd4dwljb3JlL2xpc3R5dwB3JDlkNjZhOWZhLWFiNDItNDhiMy04ZmNiLWFiYjc5NmIxOTI0NXh3DmNvcmUvbGlzdC1pdGVtdyRlZjM0NTA4Zi05ZTg1LTQwYTgtOTE5ZS1lZmMzOWY2YjE0ODJ4dw5jb3JlL2xpc3QtaXRlbXckYzU3MjFjMTEtNjFiYS00OTJlLWJiOGYtN2NlZTAxYjAzMjA3eHcMY29yZS9oZWFkaW5nfQJ3JDUwOTkwNTE4LWY2NGMtNGRkNC1hYTc0LTU3ZTE1Mjk3MDc5OHh3DmNvcmUvcGFyYWdyYXBoeXckMThiNjJkNmItYmRlYy00ZDUxLWJmYTgtODlmNWFiYzM2Y2NjeHcOY29yZS9wYXJhZ3JhcGh5dyRkY2Q0Y2Q3NC1iYjJlLTQwODEtYjllOC0zOGMyZGI1NzllZTl4dwljb3JlL2xpc3R5dwB3JDA5Njk5N2E3LTY1NTAtNDQxNi1iNDEwLTVmNmU0MDVmNzFiYnh3DmNvcmUvbGlzdC1pdGVtdyRkZDcwMDlkOC0yOWQ2LTRjMjctODljYi1lY2YzMTdjZTdkNzh4dw5jb3JlL2xpc3QtaXRlbXckMTA0MWE2MmUtZjllOC00MzE4LThiMjQtMzYxNjk3NmRjYmMweHcOY29yZS9saXN0LWl0ZW13JGYyMmVjNzVjLTc0MDktNDM2ZS1hYjE4LWNhNzI4OTI1NzY5NHh3DmNvcmUvbGlzdC1pdGVtdyRjMTg3YjViNi1iZjg2LTQ5ZWQtOGI0YS05NzM2ODI3ZjczMjJ4dwxjb3JlL2hlYWRpbmd9AnckYzQyMjFlMGYtZmI0OS00OTQ0LThlOTctZTk5ZDRhMWZjMDEyeHcMY29yZS9oZWFkaW5nfQN3JDljZGZjZDkwLWZkYTAtNDQ5NC1hODQ2LTczYzdiZDU4NWVhOXh3DmNvcmUvcGFyYWdyYXBoeXckNzgwYWZjMWQtZmQyMC00MTFmLWIwZmItOTZiM2RiYWM1ZmRjeHcOY29yZS9wYXJhZ3JhcGh5dyRjMWMzZDFjYS1lMTczLTQwOGQtOGM2NC05YjQ0NGQxNTA5MDV4dw5jb3JlL3BhcmFncmFwaHl3JDRiNzE5ZGViLWE2YmYtNDc0OS1hODAxLTNhZmUwMTdmZTA5YXh3DGNvcmUvaGVhZGluZ30DdyRmYmYxZTg1ZS0zYWQ5LTQ5ZjktYWE1OC1mOWYxNzgwMjFkMGJ4dw5jb3JlL3BhcmFncmFwaHl3JDdmNzEzOTA4LTQwNmQtNGViMy1iMWU1LTJiNGYxNjAyMWMzY3h3DmNvcmUvcGFyYWdyYXBoeXckYzNkZWNmMmMtZDBkNy00NDg4LWE2MzUtYmE5Y2UyOWM1ZDlkeHcMY29yZS9oZWFkaW5nfQN3JDJjNzNlZDMyLTUwNDUtNDE2NC04NDcwLTI2YzMwZjZlOGZlNHh3DmNvcmUvcGFyYWdyYXBoeXckYmVhYjdlNGYtZjU4My00ZmU1LWExZTItMjQ1ZTM1OWNlN2MxeHcJY29yZS9saXN0eXcAdyQ3YWMwOWIyMC1hMDNhLTQyNDktOGUyYy1hYWVhN2VmYjIzMGN4dw5jb3JlL2xpc3QtaXRlbXckZGU5ZTMzZjAtOThhMy00ZWQwLThkZmUtMWJiOGFiY2NjNGQ0eHcOY29yZS9saXN0LWl0ZW13JDU1YzcyOWRiLWNlNDMtNGVjNy1hZjEzLTIyZWI3MGVkYzNjNXh3DmNvcmUvbGlzdC1pdGVtdyRiZWI1NDVlYS1iYmYzLTQyYmQtOWNmZi03NWFmOTU3MWM5ODV4dw5jb3JlL3BhcmFncmFwaHl3JDczZjRjMTQxLTJmMjUtNDcyNy1hNzAzLTQzNTk1YjZjZDk0Ynh3DGNvcmUvaGVhZGluZ30DdyRiZWI5ODQ2YS1lZDIyLTQwZGMtODM3OS1lMzE4Y2ZkYzg2MDl4dw5jb3JlL3BhcmFncmFwaHl3JDVmMWE0OWQ2LTMwNjItNGY2NS1hMWNhLTEwNjM0ZjFiOWE5NXh3DmNvcmUvcGFyYWdyYXBoeXckYTllMGM1OWQtMzJiMi00NDJjLWE4YTktYjFhYjNhN2U1NmY0eHcMY29yZS9oZWFkaW5nfQN3JDEzMDQxMDk5LTJkOTgtNGY2YS1hZjkzLTM4MmM4YzY1MDcyYXh3DmNvcmUvcGFyYWdyYXBoeXckMWNiODEwMjQtYTE4Ny00NGMxLTgyYjQtMmFlNmEwMTBlZTY0eHcKY29yZS90YWJsZXh1AHUFdgEFY2VsbHN1AnYFA3RhZ3cCdGgHY29udGVudHcHQ2hhbm5lbAdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRoB2NvbnRlbnR3CEJlc3QgRm9yB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YBBWNlbGxzdQJ2BQN0YWd3AnRkB2NvbnRlbnR3FjxzdHJvbmc+RW1haWw8L3N0cm9uZz4Hcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dy5Qb3N0LXB1cmNoYXNlIGZvbGxvdy11cHMgYW5kIGRldGFpbGVkIGZlZWRiYWNrB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YBBWNlbGxzdQJ2BQN0YWd3AnRkB2NvbnRlbnR3GTxzdHJvbmc+U01TL1RleHQ8L3N0cm9uZz4Hcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dzBRdWljayBzYXRpc2ZhY3Rpb24gY2hlY2tzIHdpdGggaGlnaGVyIG9wZW4gcmF0ZXMHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgEFY2VsbHN1AnYFA3RhZ3cCdGQHY29udGVudHciPHN0cm9uZz5Jbi1hcHAgb3Igb24tc2l0ZTwvc3Ryb25nPgdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRkB2NvbnRlbnR3N0NhcHR1cmluZyBmZWVkYmFjayB3aGlsZSBjdXN0b21lcnMgYXJlIGFjdGl2ZWx5IGVuZ2FnZWQHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgEFY2VsbHN1AnYFA3RhZ3cCdGQHY29udGVudHcdPHN0cm9uZz5Tb2NpYWwgbWVkaWE8L3N0cm9uZz4Hcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dzlNb25pdG9yaW5nIG1lbnRpb25zIGFuZCBjb21tZW50cyBmb3IgdW5zb2xpY2l0ZWQgZmVlZGJhY2sHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dQB3JDM1MjMyOWQyLWVmZWUtNGM3Yi1hMDNmLTg4OWVhNTZkOWM5N3h3DGNvcmUvaGVhZGluZ30DdyQxOTRiYmU5Ni05NWY1LTRjN2YtOWEyZi00NWM0Yzg1MDJiYjZ4dw5jb3JlL3BhcmFncmFwaHl3JDA5ZWFiZjI1LWQ4OTEtNDNhYS1iOGY5LWJmNTY0MGNkMGZlMnh3DmNvcmUvcGFyYWdyYXBoeXckOWMyNzZiMzUtMWJiOC00MDIxLTlmZmUtNTJkMWViY2NjOGQzeHcMY29yZS9oZWFkaW5nfQN3JDQ3MTU2YjAzLTg3MjktNDM0OS1hMDU2LWY3YmYwMTFkMWQ1ZXh3DmNvcmUvcGFyYWdyYXBoeXckZmEzNzM3ZGUtMDQ5Ny00NTBjLTgxZTktYzY0YmNmMWEyNjY4eHcOY29yZS9wYXJhZ3JhcGh5dyRkMDkyMGQxNi05OGFkLTQ1MDEtYmUxYy1jMWJlNWVmYWEyOWF4dwxjb3JlL2hlYWRpbmd9A3ckMjhkMTAwMGQtOTc5Mi00ZTkyLWE4NzgtOTU2NjA4ZDk0MmVmeHcOY29yZS9wYXJhZ3JhcGh5dyRjMWRhNTc5ZS0wZDhmLTRiYTUtOGM0YS0xOThlYTA0NDY4Mzh4dw5jb3JlL3BhcmFncmFwaHl3JDk4NDViYzM0LWFhYjgtNGNiZS1hMWRlLTNiY2JlYzA5NTg4Y3h3DGNvcmUvaGVhZGluZ30DdyQ4NmNjYzFkZC04OGFhLTQwYjUtYThjZi04YzAxZTczMTNjMTl4dw5jb3JlL3BhcmFncmFwaHl3JGU4ZWFjNjQ5LWYzOGMtNDZjNS1iMWVhLTk0MmYyOGMwNGM5M3h3DmNvcmUvcGFyYWdyYXBoeXckN2M3NTRhMzYtMGI1MS00OGJlLTk3YWYtNWRjNTcxYjU0YTA2eHcMY29yZS9oZWFkaW5nfQN3JDgxZmUzNjNkLWRhNmQtNDE2NC1hZDBkLTI3ZDk4NWE5ZTU5MXh3DmNvcmUvcGFyYWdyYXBoeXckODNkNjNjZGUtYjkwYS00ZjIwLWJhZmQtNjFkN2QxMTEyNThheHcOY29yZS9wYXJhZ3JhcGh5dyRhYzg2OGE5MC1jMTQyLTQ3MTctYjdhNC1jMWRkN2M5ZjVhMzl4dwxjb3JlL2hlYWRpbmd9AnckYWNiYWJiZjQtNDg5Yi00ZTA2LTljYTYtOTFlMDhlYTY3OTBieHcOY29yZS9wYXJhZ3JhcGh5dyRiOTEzNjE3Mi1lZWZiLTQ4YzgtYWY0OS1iMjBiNDU0NTdlOTh4dwpjb3JlL3RhYmxleHUAdQZ2AQVjZWxsc3UDdgUDdGFndwJ0aAdjb250ZW50dw1GZWVkYmFjayBUeXBlB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGgHY29udGVudHcQV2hhdCBJdCBNZWFzdXJlcwdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRoB2NvbnRlbnR3DkhvdyB0byBDb2xsZWN0B3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YBBWNlbGxzdQN2BQN0YWd3AnRkB2NvbnRlbnR3FUN1c3RvbWVyIFNhdGlzZmFjdGlvbgdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRkB2NvbnRlbnR3I0hhcHBpbmVzcyB3aXRoIHNwZWNpZmljIGludGVyYWN0aW9uB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHceUG9zdC1pbnRlcmFjdGlvbiBzdXJ2ZXlzLCBDU0FUB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YBBWNlbGxzdQN2BQN0YWd3AnRkB2NvbnRlbnR3EEN1c3RvbWVyIExveWFsdHkHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dx5MaWtlbGlob29kIHRvIHJlY29tbWVuZC9yZXR1cm4Hcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dwtOUFMgc3VydmV5cwdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92AQVjZWxsc3UDdgUDdGFndwJ0ZAdjb250ZW50dxBDdXN0b21lciBTZXJ2aWNlB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcPU3VwcG9ydCBxdWFsaXR5B3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcTUG9zdC10aWNrZXQgc3VydmV5cwdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92AQVjZWxsc3UDdgUDdGFndwJ0ZAdjb250ZW50dxBQcm9kdWN0IEZlZWRiYWNrB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcbRmVhdHVyZSByZXF1ZXN0cywgdXNhYmlsaXR5B3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcOSW4tYXBwIHN1cnZleXMHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgEFY2VsbHN1A3YFA3RhZ3cCdGQHY29udGVudHcOU2FsZXMgRmVlZGJhY2sHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dxFCdXlpbmcgZXhwZXJpZW5jZQdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRkB2NvbnRlbnR3FVBvc3QtcHVyY2hhc2Ugc3VydmV5cwdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn91AHckZWYyMTUwNzctMGU2Yi00ZDE1LWI1NjgtOWM5NTlmN2RiZmQ0eHcMY29yZS9oZWFkaW5nfQN3JDdjYzAwMjhkLWMxYWEtNGM3Yi1iZDI0LTVhODU4NjYyNzA1N3h3DmNvcmUvcGFyYWdyYXBoeXckNDIyZDY0YjktYjA3MC00NTlkLTkwZTItOTRkYjhiNjczNGE1eHcMY29yZS9oZWFkaW5nfQN3JGEwOTNiMDEyLTQ4ODAtNDUzNS05ZmQ2LTM4YTQ5MTExMjU5MHh3DmNvcmUvcGFyYWdyYXBoeXckYjU2NDFjM2QtODUyYS00NWQyLWE2NjktM2EyMjRhZWQ0MjZkeHcMY29yZS9oZWFkaW5nfQN3JDY5YjQxNDE4LTYxNjAtNDIzMS04MDNmLTlkOTZiYzljYzdiM3h3DmNvcmUvcGFyYWdyYXBoeXckYmI2ODMwODMtNzE0Mi00MzQ4LTliMWYtODEwNTgzNzAxNjk3eHcMY29yZS9oZWFkaW5nfQN3JDBiYWMwMGM1LWUyMjItNDc5Yi1hN2Y3LTc3OGY2YzBmZmU1MHh3DmNvcmUvcGFyYWdyYXBoeXckMzQ3MzkyNTMtNWIwNS00YTY1LWE0YjUtNWYzYzM5MjA2ODY1eHcMY29yZS9oZWFkaW5nfQN3JDVmNTQzMTg0LTNjNDgtNDU4OC04MDFkLTI3ODJlNWM5N2MwM3h3DmNvcmUvcGFyYWdyYXBoeXckM2M0ZDYzMWUtZmJkZi00Mzk4LTljNDMtMDE2OTcwNzIyOTZmeHcMY29yZS9oZWFkaW5nfQJ3JGRhMGUyNzVlLTYzZmUtNGNmMy04YWE2LTk3ZTlkN2ZmOGNlOHh3DmNvcmUvcGFyYWdyYXBoeXckNzk1ZDUzNjMtMTNmNC00MDRiLTg0OGQtODM0MTNiZDU3YTBmeHcMY29yZS9oZWFkaW5nfQN3JDJhZDJjMDk5LWVkMTEtNGE0OC04YTVhLWQ2OWYzMWRlODlhZXh3DmNvcmUvcGFyYWdyYXBoeXckYzU4NTE3MjctZjIxZS00OTJlLWJhYjMtMmEwZWEzMjA3MzRieHcMY29yZS9oZWFkaW5nfQN3JGRjNmYwNWIzLTNlZTMtNGM5ZS1hZjI3LTU2OTE2Zjg2ZmY3Y3h3DmNvcmUvcGFyYWdyYXBoeXckNGNhM2RmYTktMGY2ZC00MGQ2LTkyNDQtNTAwYzY3NTgzZjAzeHcMY29yZS9oZWFkaW5nfQN3JGE1OTA0M2Y2LTlkZTItNDlmNC1hNGUwLTcyNjZjMWYxZjU1OHh3DmNvcmUvcGFyYWdyYXBoeXckNjMyNjBjNmItMmY1OC00MjAwLWE0NGYtOGQ4MDM0NzU5NTFjeHcMY29yZS9oZWFkaW5nfQN3JGU4OTNkZjI3LTBjODgtNGE4Zi1iYjU0LWRkYjg0MmIzMWU1ZXh3DmNvcmUvcGFyYWdyYXBoeXckNzM2NGE1ZDQtOGEyOS00ZWY2LWFhOTAtODhiYzg2YzJmNGU2eHcMY29yZS9oZWFkaW5nfQJ3JDM3NDgxMzUxLTljNDAtNDQxYS05ODhiLWJhZDM3YWYxZTM5MXh3DmNvcmUvcGFyYWdyYXBoeXckNjlhYTM5YTYtMTUwZi00MGFlLWIyZmUtMTRjMTQ2NWJmZWEyeHcMY29yZS9oZWFkaW5nfQN3JDEzNWVkNGRhLTAwNTgtNDEyMi1iOTI3LTQ2YTVkOWRjNDA1ZHh3DmNvcmUvcGFyYWdyYXBoeXckY2M4ZTJhOGQtZGRhZi00OWY2LWI2YzAtMTM0MDVmNmY4MGE5eHcMY29yZS9oZWFkaW5nfQN3JGE4ZDg2NjIxLTFmMjgtNDVlNC1iNGE0LTM3YmQ4NmViMTdhNnh3DmNvcmUvcGFyYWdyYXBoeXckYTU2MGY0NzQtNzE3MS00OTBmLTliYTItOThmNmNjZjU1YzFieHcMY29yZS9oZWFkaW5nfQN3JDRiODBmODJiLTA0M2UtNGExZi05OTk4LTQ4NjU5OGJkYWFiYXh3DmNvcmUvcGFyYWdyYXBoeXckNjMzMDU1MmQtNGUzZC00NjBlLWE2MDItMTczNzlhMWMwYmU4eHcMY29yZS9oZWFkaW5nfQJ3JGI3OWU5Mzk2LTJlNzQtNGRjNC05YmU2LTkwYmY2OTkwYTU3ZXh3DmNvcmUvcGFyYWdyYXBoeXckNWQzY2RlYWMtNzY5Yy00YzRlLTg0M2YtODAyMmIxOTJhZTMweHcMY29yZS9oZWFkaW5nfQN3JGE0ZmM0MDUzLTc2YzMtNDI2Yi04MzNjLTcwZjRiOTQ1NjYwYnh3DmNvcmUvcGFyYWdyYXBoeXckY2NlMTU0ODYtYWFjZC00MWJhLWIwOWEtNDNmOTAzMzczNmM4eHcMY29yZS9oZWFkaW5nfQN3JDY2YzEyMGEyLTUzMjItNDAzNC1iOTE4LTcxZmRmOTQwN2M4Ynh3DmNvcmUvcGFyYWdyYXBoeXckZDdjZDhiODMtNDBiMC00NTY1LThjMGYtMjA4ZjU4NDc3ODUxeHcMY29yZS9oZWFkaW5nfQJ3JGUwYzQxMjVhLWM4YTUtNDRhZi05YjQ3LTMwNzcyNjNlMDk1Mnh3DmNvcmUvcGFyYWdyYXBoeXckYjFiY2RjMGEtZGUyZi00N2Q3LThlMzItMmUwN2FlZmY2ZDFkeHcMY29yZS9oZWFkaW5nfQN3JDBhZjU4MjcxLTE5MWYtNGZmYy1hMDNmLTQ4NDQ1YzA2ZDllNXh3DmNvcmUvcGFyYWdyYXBoeXckNjMxMTYwYWYtYWY4NS00NGQ2LThkYWItZjE2M2U3ODgzMDgyeHcMY29yZS9oZWFkaW5nfQN3JDIyNGI0OTZiLTEyM2EtNDgzMC05YjczLWI3MDAwMTFlZDg3OXh3DmNvcmUvcGFyYWdyYXBoeXckOTFiMzZjY2UtZmQ2Zi00YTdhLWFmNzQtNWVhZGIxYjJlZDUzeHcMY29yZS9oZWFkaW5nfQJ3JGMyNzIwNDJiLWM0YjgtNDliZC05OWU5LWU3NDI3MzQ4ZDRiN3h3DmNvcmUvcGFyYWdyYXBoeXckNWI3NTQ5NmYtMThlYi00MDhiLWEwZTUtYjFmMDhjMDJlYzA0eHcOY29yZS9wYXJhZ3JhcGh5dyQxYjVhYWY1NC0zMDQzLTQwM2MtODNmZC05YTE5NWMxMGZmYTh4dw5jb3JlL3BhcmFncmFwaHl3JDQ4NmE1ZGNhLTNjMTktNDE4Yi05Nzk5LTQ2YTQzZGZkZGUxOXh3DGNvcmUvaGVhZGluZ30CdyRkNTAyMDIxMS02ZTY5LTQxNzctYjdkNC03YjJjMWIwNjI5OWJ4dwxjb3JlL2hlYWRpbmd9A3ckZjM5ZTdjNWYtMDdjMS00ZGJmLWJmODgtOTdmZmZhMzQ2NDUweHcOY29yZS9wYXJhZ3JhcGh5dyQyM2RlNDU1Ny0zODE2LTRkNDAtOTkxNS1jYWU5MTMyOWMzNWN4dwxjb3JlL2hlYWRpbmd9A3ckODU5MzQxZjUtZjIxMi00OWJiLWFlNmMtMTBmMzhkZWJmMjhleHcOY29yZS9wYXJhZ3JhcGh5dyQxY2IyMDA0OS02YzM2LTQ0ZTMtYjQxMS0yMDdhN2JkYzFkMjJ4dwxjb3JlL2hlYWRpbmd9A3ckNTZmYTE4YzAtMjhkYS00ODZkLThjMzItOTBiM2Q4NmJiOGIzeHcOY29yZS9wYXJhZ3JhcGh5dyQzOWNkNWUzNS0wYjM2LTQ2Y2YtYTgxNi05ZjgyY2M0MWJhZjZ4dwxjb3JlL2hlYWRpbmd9A3ckM2JhNTg4MWYtNDk5My00YTdjLWJmZDktMTc0MTMyMzBiNjYxeHcOY29yZS9wYXJhZ3JhcGh5dyQzMzIyN2UyNS02OTRlLTQzOGMtOGJiOC1jYjc5MTU3ZWEyMzN4dwxjb3JlL2hlYWRpbmd9A3ckZjU0MTY0N2MtZWQ4Ni00ZjhhLThmYjItNWQ1NTYzN2I4YjNmeHcOY29yZS9wYXJhZ3JhcGh5dxl3aGF0LWlzLWN1c3RvbWVyLWZlZWRiYWNrdzF3aHktY3VzdG9tZXItZmVlZGJhY2stbWF0dGVycy1mb3ItYnVzaW5lc3MtZ3Jvd3Rody8xMC1jdXN0b21lci1mZWVkYmFjay1wcmFjdGljZXMtdGhhdC1nZXQtcmVzdWx0c3cmMS1yZXF1ZXN0LWZlZWRiYWNrLWZyb20tZXZlcnktY3VzdG9tZXJ3JTItbWFrZS1mZWVkYmFjay1zdWJtaXNzaW9uLWVmZm9ydGxlc3N3IjMtdGltZS15b3VyLXJlcXVlc3RzLXN0cmF0ZWdpY2FsbHl3KDQta2VlcC15b3VyLXF1ZXN0aW9ucy1zaW1wbGUtYW5kLWZvY3VzZWR3KjUtdXNlLW11bHRpcGxlLWNoYW5uZWxzLXRvLWdhdGhlci1mZWVkYmFja3cqNi1jb2xsZWN0LWJvdGgtdGV4dC1hbmQtdmlkZW8tdGVzdGltb25pYWxzdyQ3LWNlbnRyYWxpemUtYWxsLWZlZWRiYWNrLWluLW9uZS1odWJ3JDgtcGVyc29uYWxpemUteW91ci1mZWVkYmFjay1yZXF1ZXN0c3chOS1hY3Qtb24tdGhlLWZlZWRiYWNrLXlvdS1yZWNlaXZldywxMC1kaXNwbGF5LXBvc2l0aXZlLWZlZWRiYWNrLWFzLXNvY2lhbC1wcm9vZncldHlwZXMtb2YtY3VzdG9tZXItZmVlZGJhY2stdG8tY29sbGVjdHceY3VzdG9tZXItc2F0aXNmYWN0aW9uLWZlZWRiYWNrdxljdXN0b21lci1sb3lhbHR5LWZlZWRiYWNrdxljdXN0b21lci1zZXJ2aWNlLWZlZWRiYWNrdxxwcm9kdWN0LWFuZC1mZWF0dXJlLWZlZWRiYWNrdx1zYWxlcy1hbmQtY29udmVyc2lvbi1mZWVkYmFja3cnbWV0aG9kcy1vZi1jb2xsZWN0aW5nLWN1c3RvbWVyLWZlZWRiYWNrdxpzdXJ2ZXlzLWFuZC1mZWVkYmFjay1mb3Jtc3cPZW1haWwtY2FtcGFpZ25zdxZzb2NpYWwtbWVkaWEtbGlzdGVuaW5ndx9vbmxpbmUtcmV2aWV3cy1hbmQtcmV2aWV3LXNpdGVzdytob3ctdG8tZW5jb3VyYWdlLWN1c3RvbWVycy10by1naXZlLWZlZWRiYWNrdyQxLW9mZmVyLWluY2VudGl2ZXMtZm9yLXBhcnRpY2lwYXRpb253IzIta2VlcC10aGUtcHJvY2Vzcy1zaG9ydC1hbmQtc2ltcGxldxozLXNlbmQtZm9sbG93LXVwLXJlbWluZGVyc3ctd2hhdC10by1kby1hZnRlci1jb2xsZWN0aW5nLWN1c3RvbWVyLWZlZWRiYWNrdyZpZGVudGlmeS1vcHBvcnR1bml0aWVzLWZvci1pbXByb3ZlbWVudHclc2hhcmUtYW5kLWNlbGVicmF0ZS1wb3NpdGl2ZS1mZWVkYmFja3cwaG93LXRvLWRpc3BsYXktY3VzdG9tZXItZmVlZGJhY2stb24teW91ci13ZWJzaXRldx50ZXN0aW1vbmlhbC13aWRnZXRzLWFuZC1lbWJlZHN3EndhbGwtb2YtbG92ZS1wYWdlc3cwdHVybi1jdXN0b21lci1mZWVkYmFjay1pbnRvLXlvdXItYmVzdC1zYWxlcy10b29sdyZmYXFzLWFib3V0LWN1c3RvbWVyLWZlZWRiYWNrLXByYWN0aWNlc3cpd2hhdC1hcmUtdGhlLTQtdHlwZXMtb2YtY3VzdG9tZXItZmVlZGJhY2t3NGhvdy1kby15b3UtY29sbGVjdC12aWRlby10ZXN0aW1vbmlhbHMtZnJvbS1jdXN0b21lcnN3Nmhvdy1vZnRlbi1zaG91bGQtYnVzaW5lc3Nlcy1hc2stY3VzdG9tZXJzLWZvci1mZWVkYmFja3dKY2FuLXlvdS1pbXBvcnQtZXhpc3RpbmctcmV2aWV3cy1mcm9tLW11bHRpcGxlLXBsYXRmb3Jtcy1pbnRvLW9uZS1kYXNoYm9hcmR3NXdoYXQtdG9vbHMtaGVscC1hdXRvbWF0ZS1jdXN0b21lci1mZWVkYmFjay1jb2xsZWN0aW9udxtjdXN0b21lci1mZWVkYmFjay1wcmFjdGljZXN3HGN1c3RvbWVyLWZlZWRiYWNrLXRwcmFjdGljZXN3HWN1c3RvbWVyLWZlZWRiYWNrLXRvcHJhY3RpY2Vzdx5jdXN0b21lci1mZWVkYmFjay10by1wcmFjdGljZXN3HWN1c3RvbWVyLWZlZWRiYWNrLXRvcHJhY3RpY2Vzdx5jdXN0b21lci1mZWVkYmFjay10b3BwcmFjdGljZXN3H2N1c3RvbWVyLWZlZWRiYWNrLXRvcCBwcmFjdGljZXN3HmN1c3RvbWVyLWZlZWRiYWNrLXRvcHByYWN0aWNlc3cfY3VzdG9tZXItZmVlZGJhY2stdG9wLXByYWN0aWNlc3ceY3VzdG9tZXItZmVlZGJhY2stdG9wcHJhY3RpY2Vzdx1jdXN0b21lci1mZWVkYmFjay10b3ByYWN0aWNlc3ccY3VzdG9tZXItZmVlZGJhY2stdHByYWN0aWNlc3cbY3VzdG9tZXItZmVlZGJhY2stcHJhY3RpY2VzfZRAdQF9pgF1An2mAX2dAXUBfaYBdQB1AX2DAXUCfYMBfYABdQF9BnUCfQZ9BXcGY2xvc2VkdQN9BX0GfQR3EGlzLXN0eWxlLXN0cmlwZXN3EGlzLXN0eWxlLXN0cmlwZXN3EzIwMjYtMDQtMTlUMTE6MTg6NTV7QnnaV3DtcAB9ufTkkgZ3B3B1Ymxpc2gBubqyiQMKAQEEAQkB8XQA8DnDBKQkogW2ZQoCBAEEAgQ=\",\"updateId\":332428287}","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[67,64],"tags":[5,6,4],"class_list":["post-4113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business","category-marketing-tips","tag-reviews","tag-social-proof","tag-testimonials"],"acf":{"cta_button_text":"","cta_button_url":"https:\/\/app.shapo.io\/signup","hero_excerpt":"","hero_image_right":"","schema":""},"jetpack_featured_media_url":"https:\/\/shapo.io\/blog\/wp-content\/uploads\/2026\/04\/10-Customer-Feedback-Practices-That-Drive-Results.webp","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/posts\/4113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/comments?post=4113"}],"version-history":[{"count":3,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/posts\/4113\/revisions"}],"predecessor-version":[{"id":4121,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/posts\/4113\/revisions\/4121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/media\/4116"}],"wp:attachment":[{"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/media?parent=4113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/categories?post=4113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shapo.io\/blog\/wp-json\/wp\/v2\/tags?post=4113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}