{"id":14332,"date":"2026-06-18T10:59:00","date_gmt":"2026-06-18T05:29:00","guid":{"rendered":"https:\/\/utho.com\/blog\/?p=14332"},"modified":"2026-06-19T15:02:53","modified_gmt":"2026-06-19T09:32:53","slug":"ci-cd-pipelines-explained","status":"publish","type":"post","link":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/","title":{"rendered":"CI\/CD Pipelines Explained: What You Need to Know"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In modern software development speed stability and automation are very important. Companies now release new features, security updates and bug fixes very quickly sometimes many times in a day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do this safely and without breaking systems companies use CI CD pipelines.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD means Continuous Integration and Continuous Delivery or Deployment and in 2026 it has become a very important part of DevOps cloud native systems and AI based development.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide explains CI CD pipelines in simple words how they work and how they have changed with AI cloud systems and modern DevOps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is CI CD<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD is a modern software method that automates the full process of building testing and delivering software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It helps teams release updates faster, more safely and with fewer mistakes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In traditional development, developers had to manually:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Combine code changes<\/li>\n\n\n\n<li>Test applications<\/li>\n\n\n\n<li>Build software versions<\/li>\n\n\n\n<li>Deploy updates to servers<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This manual process was slow and often caused mistakes, bugs and deployment failures.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD solves this problem by automating everything using a structured pipeline.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In simple words CI CD makes sure every code change is automatically checked, tested and prepared for deployment without manual work. This is what people mean when they ask what is ci cd pipeline because it shows how software moves from development to production in an automatic way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CI\/CD is divided into two main parts:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI (Continuous Integration)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Continuous Integration is the process of regularly merging code changes into a shared repository.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every time a developer adds new code:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>It is automatically integrated with the main codebase<\/li>\n\n\n\n<li>Automated tests are executed<\/li>\n\n\n\n<li>Errors or conflicts are detected early<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This ensures that the software is always in a stable and working state.<br>\u00a0CI helps teams avoid \u201cintegration problems\u201d that usually happen when multiple developers work on the same project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This entire workflow is often described when explaining <strong>ci\/cd pipeline meaning<\/strong>, because CI is the first and most important stage of any CI\/CD system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CD (Continuous Delivery \/ Deployment)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CD focuses on delivering or deploying the tested code to production environments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are two forms:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Continuous Delivery<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Code is automatically built and tested<\/li>\n\n\n\n<li>It is then prepared for release<\/li>\n\n\n\n<li>Manual approval may still be required before deployment<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Continuous Deployment<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Everything is fully automated<\/li>\n\n\n\n<li>Once code passes tests, it is directly deployed to production<\/li>\n\n\n\n<li>No manual intervention is needed<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This helps companies release updates fast and in a steady way<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modern engineering teams often use what is ci cd pipeline practices to understand how automation works in real systems while ci cd pipeline meaning explains the full flow from code to production<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why CI\/CD Matters in 2026<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In 2026, CI\/CD is not just a development practice\u2014it is a foundation of modern software delivery.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>It supports:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Faster release cycles<\/li>\n\n\n\n<li>Improved software quality<\/li>\n\n\n\n<li>Reduced human errors<\/li>\n\n\n\n<li>Better collaboration between teams<\/li>\n\n\n\n<li>Scalable deployment systems<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is why understanding what is ci cd pipeline and ci cd pipeline meaning has become very important for every developer, DevOps engineer and tech company working in modern cloud systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Continuous Delivery vs Continuous Deployment<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1770\" height=\"854\" src=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-vs-CD.jpeg\" alt=\"CI vs CD\" class=\"wp-image-15487\" srcset=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-vs-CD.jpeg 1770w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-vs-CD-300x145.jpeg 300w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-vs-CD-767x370.jpeg 767w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-vs-CD-1024x494.jpeg 1024w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-vs-CD-1536x741.jpeg 1536w\" sizes=\"auto, (max-width: 1770px) 100vw, 1770px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These two terms are often mixed but they are different. Even though both are part of CI CD pipelines and both help automate software release the main difference is how code goes to production and who controls the final step. This distinction is often explained when understanding <strong>what is ci\/cd pipeline<\/strong>, because both models define different ways a CI\/CD system behaves in real production environments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Continuous Delivery<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Code is automatically tested through CI pipelines after every commit<\/li>\n\n\n\n<li>Every change goes through a structured build process<\/li>\n\n\n\n<li>Automated testing checks for bugs, errors, and integration issues<\/li>\n\n\n\n<li>Code is always kept in a production-ready state<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The system makes sure the application is always safe to deploy at any time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This means developers do not need to manually prepare the app for release every time. The pipeline keeps checking the code and makes sure everything is stable before it is ready for production.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>However the most important part is<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Deployment is triggered manually.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even if all tests pass and the system confirms everything is stable the code does not go live automatically. A person like a DevOps engineer or developer decides when to send the changes to production.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This gives organizations more control over releases, allowing them to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose optimal deployment timing<\/li>\n\n\n\n<li>Avoid releasing during peak traffic hours<\/li>\n\n\n\n<li>Coordinate with business or marketing teams<\/li>\n\n\n\n<li>Reduce risk in critical systems<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Think of it as:<br>\u201cReady anytime, deploy when needed.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This model is often referenced when explaining <strong>ci\/cd pipeline meaning<\/strong>, because it clearly shows how controlled deployment works inside a CI\/CD pipeline.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Continuous Deployment<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In Continuous Deployment:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Code is automatically tested using CI pipelines.<\/li>\n\n\n\n<li>After all tests pass successfully, the code is automatically released to production.<\/li>\n\n\n\n<li>There is no manual approval step before deployment.<\/li>\n\n\n\n<li>Every validated change goes live instantly.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This method focuses on full automation where the system itself checks quality using tests and if everything is stable it directly sends the update to users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This means developers do not wait for release schedules or manual approvals The pipeline itself decides when to deploy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Think of it like this<\/strong><br>\u00a0<br>If it works release it immediately<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modern DevOps teams often study what is ci cd pipeline to understand how Continuous Deployment fully automates software release inside a CI CD pipeline while ci cd pipeline meaning explains the full flow from code to production.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is a CI CD Pipeline<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1770\" height=\"854\" src=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-CD-Pipeline-Stage.jpeg\" alt=\"CI\/CD pipeline stages\" class=\"wp-image-15488\" srcset=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-CD-Pipeline-Stage.jpeg 1770w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-CD-Pipeline-Stage-300x145.jpeg 300w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-CD-Pipeline-Stage-767x370.jpeg 767w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-CD-Pipeline-Stage-1024x494.jpeg 1024w, https:\/\/utho.com\/blog\/wp-content\/uploads\/CI-CD-Pipeline-Stage-1536x741.jpeg 1536w\" sizes=\"auto, (max-width: 1770px) 100vw, 1770px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A CI CD pipeline is a simple automated workflow that takes code from development and moves it to production.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It makes sure every code change is built, tested and delivered in a proper and reliable way without manual work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A normal CI CD pipeline has different steps.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Source Control<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the starting point of the pipeline. Developers write and store their code in version control systems such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Git repositories<\/li>\n\n\n\n<li>GitHub<\/li>\n\n\n\n<li>GitLab<\/li>\n\n\n\n<li>Bitbucket<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Whenever a developer pushes new code, it automatically triggers the CI\/CD pipeline. This ensures that every change is tracked, versioned, and processed through the same workflow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Build Stage<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In this stage, the system prepares the application for testing and deployment. It typically includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Compiling source code<\/li>\n\n\n\n<li>Resolving dependencies and libraries<\/li>\n\n\n\n<li>Packaging the application into build artifacts<\/li>\n\n\n\n<li>Preparing runtime-compatible output<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This step ensures that the code is technically correct and can be executed in a controlled environment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Testing Stage<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is one of the most important parts of the pipeline. Automated tests are executed to ensure code quality and stability, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unit tests (testing individual components)<\/li>\n\n\n\n<li>Integration tests (testing combined modules)<\/li>\n\n\n\n<li>End-to-end tests (testing full application flow)<\/li>\n\n\n\n<li>Security tests (checking vulnerabilities and risks)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In 2026, CI\/CD pipelines are further enhanced with AI-powered testing tools that help identify:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Edge-case failures<\/li>\n\n\n\n<li>Performance bottlenecks<\/li>\n\n\n\n<li>Security vulnerabilities<\/li>\n\n\n\n<li>Unexpected system behavior<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This makes the testing process smarter, faster, and more reliable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Deployment Stage<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the final stage where the application is delivered to users or environments. The tested code is deployed to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Staging environments (for final validation)<\/li>\n\n\n\n<li>Production environments (live user systems)<\/li>\n\n\n\n<li>Cloud infrastructure platforms<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Modern CI\/CD systems often use advanced deployment strategies like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Blue-green deployments (switching between two environments)<\/li>\n\n\n\n<li>Canary releases (releasing to a small user group first)<\/li>\n\n\n\n<li>Rolling updates (gradual system-wide deployment)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These methods help reduce downtime and minimize risk during releases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In real world CI CD systems, understanding what is ci cd pipeline and ci cd pipeline meaning is very important because both explain how automation testing and deployment work together in modern software delivery.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How CI CD Works in Modern Systems 2026<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD has changed a lot in recent years Earlier it was only an automation process but now it has become a smart AI based system that improves software quality speed and reliability<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modern engineering teams first understand what is ci cd pipeline before building any delivery system because this concept is the base of modern software development<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2026 CI CD pipelines are not just simple scripts that run builds and tests. They are now smart systems that can check code, find risks and improve deployments automatically. This evolution is also closely connected to the growing understanding of <strong>ci\/cd pipeline meaning<\/strong> in modern DevOps environments. The idea of <strong>ci\/cd pipeline meaning<\/strong> helps teams define structured automation in software delivery.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Modern CI\/CD Flow<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A typical modern CI\/CD pipeline works in the following sequence:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Developer commits code to a repository (Git-based systems)<\/li>\n\n\n\n<li>AI based pre-checks analyze the code for quality issues, performance risks and security problems.<\/li>\n\n\n\n<li>The CI CD pipeline is automatically triggered when code is committed or merged.<\/li>\n\n\n\n<li>Multiple tests run at the same time in parallel to save time and improve speed.<\/li>\n\n\n\n<li>Security scanning tools check for vulnerabilities in dependencies and code structure in real time.<\/li>\n\n\n\n<li>A build is generated after successful validation of code.<\/li>\n\n\n\n<li>Deployment is executed either automatically or with controlled approval (depending on system design)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This entire flow ensures that software moves from development to production in a fast, safe, and predictable way. It is a practical implementation of <strong>what is ci\/cd pipeline<\/strong>, where the system is built around <strong>what is ci\/cd pipeline<\/strong> principles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Benefits of CI\/CD Pipelines<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Faster Software Delivery<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CI\/CD removes manual steps from the development lifecycle, allowing teams to release software much faster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of waiting for long release cycles, teams can now push updates in real time:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Daily feature updates<\/li>\n\n\n\n<li>Weekly improvements and enhancements<\/li>\n\n\n\n<li>Emergency bug fixes within minutes<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This speed is especially important in 2026, where users expect instant updates and continuous improvements. Organizations also rely on <strong>ci\/cd pipeline meaning<\/strong> to optimize their release strategies. Many organizations study <strong>ci\/cd pipeline meaning<\/strong> to optimize delivery speed and workflow efficiency.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Improved Code Quality<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One of the biggest advantages of CI\/CD is consistent code quality through automation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Automated testing ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bugs are detected early in development<\/li>\n\n\n\n<li>Regression issues are avoided before production release<\/li>\n\n\n\n<li>Only stable and verified builds move forward in the pipeline<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This reduces production failures and improves overall software reliability. A clear understanding of <strong>what is ci\/cd pipeline<\/strong> helps teams build better quality systems. The concept of <strong>what is ci\/cd pipeline<\/strong> is central to modern DevOps workflows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Reduced Human Error<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Manual deployments often lead to mistakes such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Incorrect configuration settings.<\/li>\n\n\n\n<li>Missing deployment steps.<\/li>\n\n\n\n<li>The environment mismatches between development and production.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD removes these risks by making the whole process standard through automation so every deployment follows the same safe and tested steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is directly related to ci cd pipeline meaning where ci cd pipeline meaning explains a structured and error free delivery process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Better Collaboration<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD helps improve teamwork between all people involved in software development It creates one shared workflow for.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Developers who write and commit code.<\/li>\n\n\n\n<li>QA engineers who test and check the system.<\/li>\n\n\n\n<li>DevOps teams who handle deployment and infrastructure.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Since everything is automated and visible in pipelines teams can easily track changes, find problems and work together in a better way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This teamwork model is based on what is ci cd pipeline where what is ci cd pipeline gives shared visibility and automation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5 Scalability<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Modern CI CD systems are built to handle large and complex applications easily They support:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Big enterprise applications.<\/li>\n\n\n\n<li>Microservices based systems.<\/li>\n\n\n\n<li>Multi cloud environments like AWS Azure and GCP.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This makes CI CD very important for companies that want to grow their applications globally without performance problems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The concept of <strong>ci\/cd pipeline meaning<\/strong> becomes especially important when scaling systems across distributed environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI\/CD Tools in 2026<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Today, many advanced tools are used to build and manage CI\/CD pipelines. Some of the most widely used tools include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GitHub Actions<\/li>\n\n\n\n<li>GitLab CI\/CD<\/li>\n\n\n\n<li>Jenkins<\/li>\n\n\n\n<li>CircleCI<\/li>\n\n\n\n<li>Argo CD<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These tools help automate every stage of software delivery, from code integration to production deployment, making modern DevOps systems faster and more reliable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI\/CD in Cloud-Native Environments<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CI CD is closely connected with cloud native development In modern systems applications are not deployed as one single block Instead they are built using distributed systems that need continuous and automatic delivery.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today cloud native environments depend on.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Containers that package applications with all needed files.<\/li>\n\n\n\n<li>Microservices that split applications into small independent parts.<\/li>\n\n\n\n<li>Kubernetes that manages and scales containers.<\/li>\n\n\n\n<li>Serverless functions that run code without managing servers.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In these systems CI CD pipelines are directly connected with cloud platforms. After code is tested and verified it is automatically deployed into environments managed by Kubernetes. This helps applications scale, recover and update smoothly in the cloud.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>AI Revolution in CI CD Major 2026 Update<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the biggest changes in CI CD is the use of Artificial Intelligence In 2026. CI\/CD is not only simple automation it has become smart and predictive automation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. AI Code Review<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AI-powered tools now assist developers by analyzing code before traditional testing even begins.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These tools can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Detecting potential bugs in early development stages.<\/li>\n\n\n\n<li>Suggest performance improvements and optimizations.<\/li>\n\n\n\n<li>Identify security vulnerabilities and risky code patterns.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This reduces development errors and improves code quality before the pipeline even starts testing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Predictive Testing<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AI has also improved the testing phase significantly by introducing predictive analysis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modern systems can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Predict which test cases are most likely to fail.<\/li>\n\n\n\n<li>Identify high-risk areas in code changes.<\/li>\n\n\n\n<li>Evaluate whether a change is safe to deploy.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This makes testing faster and more efficient by focusing resources on critical areas instead of running every test blindly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Intelligent Deployment<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AI is now actively involved in deployment decisions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It can automatically determine:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When the best time to deploy is.<\/li>\n\n\n\n<li>Where the deployment should be executed (region. or environment)<\/li>\n\n\n\n<li>How to scale services based on expected demand.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This ensures smoother releases with minimal downtime and optimal performance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Auto Rollback Systems<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">One of the most powerful features in modern CI\/CD is automatic rollback powered by AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the system detects:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Errors in production<\/li>\n\n\n\n<li>Sudden performance degradation<\/li>\n\n\n\n<li>Security threats or unusual behavior<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">It can automatically roll back the deployment to the previous stable version without waiting for human intervention.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This significantly reduces risk and improves system reliability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI\/CD Pipeline Architecture (Modern View)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A modern CI\/CD pipeline in 2026 is structured into multiple intelligent layers, each responsible for a specific part of the delivery process:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Developer Layer<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is where everything begins:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Writing code<\/li>\n\n\n\n<li>Running local tests<\/li>\n\n\n\n<li>Committing changes to Git repositories<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Automation Layer<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This layer handles core CI\/CD execution:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Triggering pipelines on code changes<\/li>\n\n\n\n<li>Building applications<\/li>\n\n\n\n<li>Running automated test suites<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Security Layer<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Security is deeply integrated into the pipeline:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Static code analysis<\/li>\n\n\n\n<li>Dependency vulnerability scanning<\/li>\n\n\n\n<li>AI-based threat detection and anomaly analysis<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Deployment Layer<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This layer handles delivery to production environments:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cloud deployments<\/li>\n\n\n\n<li>Container orchestration using Kubernetes<\/li>\n\n\n\n<li>Serverless function deployment<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Monitoring Layer<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After deployment, systems are continuously observed:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Real-time logs<\/li>\n\n\n\n<li>Performance metrics<\/li>\n\n\n\n<li>Alerts and notifications<\/li>\n\n\n\n<li>AI-based anomaly detection and system health tracking<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This layered architecture ensures that CI\/CD in 2026 is not just about automation, but about building <strong>self-aware, secure, and highly scalable software delivery systems<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Practices for CI\/CD (2026)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In modern software development, following proper CI\/CD practices is essential to ensure systems remain fast, reliable, and secure. As pipelines become more complex in 2026, these best practices help maintain stability and efficiency.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Automate Everything Possible<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Automation is the core foundation of CI\/CD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Teams should automate:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Builds<\/li>\n\n\n\n<li>Testing processes<\/li>\n\n\n\n<li>Deployment workflows<\/li>\n\n\n\n<li>Security scanning and checks<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This reduces manual effort and ensures consistency across all stages of the pipeline. The more automation is implemented, the fewer chances there are for human error.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Shift Left Testing<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cShift left\u201d means moving testing earlier in the development lifecycle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of testing at the end, teams now:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run tests during development<\/li>\n\n\n\n<li>Catch bugs before code reaches the main branch<\/li>\n\n\n\n<li>Validate changes continuously<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This approach helps reduce costly fixes later in production and improves overall code quality from the beginning.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Use Small, Frequent Deployments<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Modern CI\/CD encourages breaking large updates into smaller releases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Benefits include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Easier debugging<\/li>\n\n\n\n<li>Faster rollback if something fails<\/li>\n\n\n\n<li>Reduced system risk<\/li>\n\n\n\n<li>More stable production environments<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Small deployments are easier to manage and allow teams to release features more confidently and frequently.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Implement Strong Security (DevSecOps)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Security is now integrated directly into CI\/CD pipelines, a practice known as DevSecOps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automated vulnerability scanning<\/li>\n\n\n\n<li>Secret detection (API keys, passwords, tokens)<\/li>\n\n\n\n<li>Compliance and policy checks<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By integrating security early in the pipeline, teams can prevent vulnerabilities before they reach production environments.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Use Observability Tools<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Modern CI\/CD systems rely heavily on observability to maintain performance and reliability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key components include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Distributed tracing (tracking requests across services)<\/li>\n\n\n\n<li>Log analysis (identifying errors and patterns)<\/li>\n\n\n\n<li>Real-time dashboards (monitoring system health)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These tools help teams quickly detect issues and understand system behavior in real time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Challenges in CI\/CD<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Even in 2026, CI\/CD systems come with several challenges that organizations must manage carefully.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Pipeline Complexity<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As systems grow, pipelines become more complex and harder to manage, especially in microservices-based architectures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Debugging Failures<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When pipelines fail, identifying the exact cause can be difficult due to multiple interconnected stages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Tool Overload<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Using too many tools in the CI\/CD ecosystem can create confusion, integration issues, and reduced productivity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Cost Management<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloud-based CI\/CD pipelines can become expensive, especially when running large-scale builds and tests frequently.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Security Risks<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Improperly configured pipelines can become a target for attackers, making pipeline security extremely important.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI\/CD vs Traditional Deployment<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Feature<\/strong><\/td><td><strong>Traditional Deployment<\/strong><\/td><td><strong>CI\/CD Pipeline<\/strong><\/td><\/tr><tr><td>Speed<\/td><td>Slow<\/td><td>Fast<\/td><\/tr><tr><td>Testing<\/td><td>Manual<\/td><td>Automated<\/td><\/tr><tr><td>Deployment<\/td><td>Manual<\/td><td>Automated<\/td><\/tr><tr><td>Errors<\/td><td>High risk<\/td><td>Low risk<\/td><\/tr><tr><td>Scalability<\/td><td>Limited<\/td><td>High<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI\/CD and DevOps Relationship<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CI\/CD is a core technical foundation of DevOps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While DevOps focuses on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Collaboration between teams<\/li>\n\n\n\n<li>Automation of processes<\/li>\n\n\n\n<li>Continuous improvement<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">CI\/CD provides the <strong>automation engine<\/strong> that makes these DevOps principles possible in real systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CI\/CD in Real-World Use Cases<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. SaaS Applications<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Used for frequent feature updates and continuous improvements.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. E-commerce Platforms<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Supports:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Flash sale updates<\/li>\n\n\n\n<li>Inventory changes<\/li>\n\n\n\n<li>Payment system fixes<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Fintech Systems<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ensures high-security deployments with strict validation and testing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. AI Applications<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Used for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Model deployment pipelines<\/li>\n\n\n\n<li>LLM updates<\/li>\n\n\n\n<li>Data processing workflows<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Future of CI\/CD (Beyond 2026)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CI\/CD is evolving rapidly toward fully autonomous systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Future trends include:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. AI-Driven DevOps<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AI will manage entire pipelines automatically.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Zero-Touch Deployment<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No human involvement will be required for deployment decisions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Self-Healing Pipelines<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Systems will automatically detect and fix failures.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Fully Autonomous Software Delivery<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">From code creation to production deployment\u2014everything will be automated.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CI\/CD pipelines have transformed software development from a slow, manual process into a fast, automated, and highly reliable system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2026, CI\/CD is no longer just a DevOps practice\u2014it has become the <strong>foundation of modern software engineering<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It enables:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Faster releases<\/li>\n\n\n\n<li>Higher code quality<\/li>\n\n\n\n<li>Reduced human errors<\/li>\n\n\n\n<li>Strong security integration<\/li>\n\n\n\n<li>Highly scalable systems<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Organizations that implement CI\/CD effectively are able to innovate faster, release software confidently, and stay competitive in the rapidly evolving digital world.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In modern software development speed stability and automation are very important. Companies now release new features, security updates and bug fixes very quickly sometimes many times in a day. To do this safely and without breaking systems companies use CI CD pipelines. CI CD means Continuous Integration and Continuous Delivery or Deployment and in 2026 [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":14333,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AABc4quqhRsPqZvL5RPiq6qFGwGpm8vlE+KrqoUbAOmby+UTxwOiq6qFG+mby+UTHKKrqoUb6ZvL5RMG4quqhRsJ6ZvL5RMDoquqhRvpm8vlE78goquqhRvpm8vlEwjZIwiiAap1pC6MFJ5VjAS2CAgCAQIKSgIGBPScArKcAkrGiwIBAQgCQkgAgA8BAQgCQkgAhg0BAQgCQkgAiAwBAQgCQkgAlAEBAQgCQkgApggBAQgASA4CAQEIAkoAiAYBAQgCSgCoBAEBCAJKwAuGEAEBCAJCSACCAQEBCAJCSACIDQEBCAJCSACQAgEBCABIDgIBAQgCSgCSBAEBCAJKAIgDAQEIAkoAvgQBAQgCSugMrhABAQgCQkgAugEBAQgCQkgAvAMBAQgASA4CAQEIAkoAogQBAQgCSgCSBAEBCAJKxAmwDAEBCAJCSACYAQEBCAJCSACWBwEBCAJCSACsAQEBCABIDgIBAQgCSgCEBQEBCAJKAJYHAQEIAkrqDLIQAQEIAkJIAL4BAQEIAEgOAgEBCAJKAKAEAQEIAkoAkAgBAQgCSsANshIBAQgCQkgAgAIBAQgASA4CAQEIAkoAkAUBAQgCSgCoBgEBCAJKyAyiEgEBCAJCSACiAQEBCABIDgIBAQgCSgCqBAEBCAJKAIYFAQEIAkrACo4QAQEIAkJIALgBAQEIAEgOAgEBCAJKAKoHAQEIAkoAhgcBAQgCSsAPmhQBAQgCQkgAsAEBAQgCQkgAug0BAQgCQkgAkAwBAQgCQkj8jwICoBGqigKqAsoChggBAQgCQkgAlgEBAQgCSsIN5IcCqooCqgLUjQKOkwIAxAi42QoBAQgASNL\/C6QujBSeVYwEoBvEFuSHAqLlDOyeBe67BaLgCgEBCAJCSACqAgEBCAJCSACyBQEBCAJCSACYBAEBCAJCSACMAQEBCAJCSACsAwEBCAJCSACmAgEBCAJCSAC+AQEBCABIDgIBAQgCSgA2AQEIAkoAMAEBCAJKADwBAQgCSvICsgMBAQgCQkgAugIBAQgCQkgArgIBAQgCQkgAhAkBAQgCQkgAmgEBAQgDAA5SSAC2AQEBCAJCSACSAwEBCAJCSACaAQEBCABIDgIBAQgCSgC4AQEBCAJKAIYBAQEIAkrOA6gEAQEIApYCDOQCSACWBgEBCAJCSACcBQEBCAJCSAC8AQEBCAJCSACyAgEBCAJCSAA4AQEIAwAOUkgApgEBAQgASA4CAQEIAkoAmgEBAQgCSgCMAQEBCAJK9gKyBAEBCAMADlJIAKoBAQEIAEgOAgEBCAJKAIgBAQEIAkoAiAIBAQgCSuADrgQBAQgCQkgAigIBAQgCQkgAlAYBAQgCQkgApAEBAQgCQkgAkgMBAQgCQkgAigEBAQgASA4CAQEIAkoAOAEBCAJKAIABAQEIAkoANgEBCAJKAJIBAQEIAkrQBJQFAQEIAkJIAIgGAQEIAwAOUkgAmAIBAQgBAEgAEgEBCAJCSACUDQEBCAJCSACYAQEBCABIDgIBAQgCSgCWAgEBCAJKALYBAQEIAkoAkAIBAQgCSuwGmAgBAQgCQkgArgIBAQgCQkgAkgYBAQgCQkgAtgEBAQgCQkgAkgEBAQgCQkgAogYBAQgCQkgAnAIBAQgASA4CAQEIAkoAjgEBAQgCSgCgAQEBCAJKAKQBAQEIAkriBK4FAQEIAkJIAL4BAQEIAkJIAKIFAQEIAkJIAJwBAQEIAkJIAIIBAQEIAEgOAgEBCAJKAK4BAQEIAkoAtgIBAQgCSgC0AQEBCAJK6AaMCAEBCAJCSACIBQEBCAJCSAC+AwEBCAKUAQziAUgAtAIBAQgCQkgAmAcBAQgCQkgAogEBAQgBAEgAEgEBCAJCSACoAwEBCAJCSACwAwEBCAJCSACoAQEBCAJCSACUAQEBCAJCSAC6AwEBCABIDgIBAQgCSgAuAQEIAkoAGgEBCAJKABoBAQgCSvIBkgIBAQgCQkgAtAUBAQgCQkgAjgEBAQgCQkgAmgMBAQgASA4CAQEIAkoAOAEBCAJKAJYBAQEIAkoAqgEBAQgCSsgEnAUBAQgCQkgAngMBAQgCQkgAkgEBAQgCQkgAmAQBAQgASA4CAQEIAkoAogEBAQgCSgCmAQEBCAJKAK4BAQEIAkrGBboGAQEIAkJIAI4DAQEIAEgOAgEBCAJKADIBAQgCSgA8AQEIAkoAPgEBCAJK\/AK+AwEBCAJCSACUAgEBCAJCSACYAQEBCAJCSAC4AwEBCABIDgIBAQgCSgCkAQEBCAJKAKQBAQEIAkrYA6IEAQEIAkJIAJYCAQEIAEgOAgEBCAJKAIQCAQEIAkoAvAEBAQgCStAEvgUBAQgCQkgAmgIBAQgCQkgAuAYBAQgCQkgAvgEBAQgCQkgAuAUBAQgCQkgAmAUBAQgCQkgAtg0BAQgCQkgAlAEBAQgCQkgAkAIBAQgASA4CAQEIAkoAggIBAQgCSgCQAwEBCAJKAKwCAQEIAkoArAIBAQgCSgCSAwEBCAJKAIACAQEIAkrMEKITAQEIAkJIALYIAQEIAkJIALABAQEIAwAOUkgAtgEBAQgCQkgApAMBAQgCQkgAuAIBAQgASA4CAQEIAkoAOAEBCAJKAJYBAQEIAkreArADAQEIAkJIAKIKAQEIAkJIAKIBAQEIAkJIALoCAQEIAkJIAIQBAQEIAEgOAgEBCAJKAJoBAQEIAkoAvAEBAQgCSuYDrAUBAQgCQkgAuAgBAQgCQkgAngEBAQgCQkgAtAEBAQgASA4CAQEIAkoAkAEBAQgCSgCAAQEBCAJK4AKqBAEBCAJCSACqBAEBCAJCSACcBAEBCAJCSACgAQEBCAJCSAC4AwEBCABIDgIBAQgCSgCYAQEBCAJKAKQBAQEIAkrMA4YFAQEIAkJIAJ4EAQEIAkJIAIYEAQEIAkJIAIwBAQEIAkJIAIgDAQEIAEgOAgEBCAJKAIYBAQEIAkoAhgEBAQgCStwCigQBAQgCQkgAggQBAQgCQkgAogQBAQgCQkgAoAEBAQgCQkgAuAMBAQgASA4CAQEIAkoAKgEBCAJKACYBAQgCSgAcAQEIAkoAHgEBCAJK2gK2AgEBCAJCSACUBQEBCAJCSAC2AQEBCAJCSACEBwEBCAJCSACkAQEBCABIDgIBAQgCSgCEAgEBCAJKAJQCAQEIAkoAqgEBAQgCStIGmAgBAQgCQkgAjAgBAQgCQkgAggIBAQgCQkgAmgUBAQgCQkgAlAEBAQgCQkgAkAMBAQgCQkgAMAEBCABIDgIBAQgCSgC4AQEBCAJKALQBAQEIAkr8A74FAQEIAkJIAJQDAQEIAkJIAJwBAQEIAkJIAIADAQEIAkJIADYBAQgASA4CAQEIAkoAsAEBAQgCSgCgAQEBCAJK4AOGBQEBCAJCSACGBAEBCAJCSACkAQEBCAJCSAC4AQEBCAJCSACOAQEBCABIDgIBAQgCSgCOAQEBCAJKAI4CAQEIAkrsA5gFAQEIAkJIAKoCAQEIAkJIAKIBAQEIAkJIALwCAQEIAkJIADwBAQgASA4CAQEIAkoANgEBCAJKAIoBAQEIAkrQAqYDAQEIAkJIALgDAQEIAkJIAJACAQEIAkJIAIQCAQEIAkJIAKoEAQEIAkJIAJYBAQEIAkJIAJABAQEIAEgOAgEBCAJKACYBAQgCSgA0AQEIAkrqAYQDAQEIAkJIAJgBAQEIAkJIAKABAQEIAEgOAgEBCAJKAJYBAQEIAkoAOAEBCAJK3gKmAwEBCAJCSACUAQEBCAJCSACwAQEBCABIDgIBAQgCSgA2AQEIAkoAkAEBAQgCStYCgAQBAQgCQkgAmAEBAQgCQkgAvgEBAQgASA4CAQEIAkoAMAEBCAJKAJ4BAQEIAkreAqgDAQEIAkJIAJgBAQEIAkJIALgBAQEIAEgOAgEBCAJKACoBAQgCSgA0AQEIAkoAPgEBCAJK7AKkBAEBCAJCSACCBgEBCAJCSACwAQEBCAJCSACiBwEBCAJCSACwAQEBCAJCSACmAQEBCAJCSAA8AQEIAEgOAgEBCAJKABoBAQgCSgAwAQEIAkoANgEBCAJK0AKWAwEBCAJCSACcBQEBCAJCSACcAQEBCAJCSACeAgEBCAJCSACiAQEBCABIDgIBAQgCSgCGAQEBCAJKAKoBAQEIAkrAA4gEAQEIAkJIALIDAQEIAkJIALYBAQEIAkJIAJoCAQEIAkJIADIBAQgASA4CAQEIAkoALgEBCAJKAJIBAQEIAkoANAEBCAJKxAOYBAEBCAJCSACmAwEBCAJCSACCAgEBCAJCSACAAwEBCAJCSAAsAQEIAEgOAgEBCAJKAI4BAQEIAkoAqgEBAQgCSsgDjgQBAQgCQkgAhgQBAQgCQkgApgEBAQgCQkgAhgMBAQgCQkgAPgEBCABIDgIBAQgCSgC8AQEBCAJKAKoBAQEIAkr2A6IFAQEIAkJIAIIDAQEIAkJIAJgBAQEIAkJIAJQDAQEIAkJIAJ4BAQEIAkJIALoDAQEIAkJIAJwBAQEIAkJIAKADAQEIAkJIAJIBAQEIAkJIAK4DAQEIAkJIAJYBAQEIAkJIALQDAQEIAkJIAJQBAQEIAkJIALADAQEIAkJIALABAQEIAQJIABYBAQgCQkgArAEBAQgCQkgArgEBAQgCQkgAgAEBAQgASA4CAQEIAkoAhAEBAQgCSgA8AQEIAkrQAooDAQEIAkJIALQDAQEIAkJIAKwBAQEIAwAOUkgAqAEBAQgCQkgAjAIBAQgDAA5SSACuAQEBCAJCSAAiAQEIAEgOAgEBCAJKADIBAQgCSgAwAQEIAkryAagCAQEIAwAOUkgApAEBAQgCQkgAmgIBAQgDAA5SSACkAQEBCAJCSAAiAQEIAEgOAgEBCAJKAIIBAQEIAkoAJAEBCAJK9gG2AgEBCAJCSACsAQEBCAJCSACEAgEBCAJCSAA8AQEIAwAOUkgApgEBAQgCQkgArAEBAQgDAA5SSACwAQEBCAJCSACOAgEBCAMADlJIALIBAQEIAkJIALYBAQEIAwAOUkgAigIBAQgCQkgAogIBAQgCQkgAhgEBAQgCQkgAmgQBAQgCQkgAkAQBAQgCQkgAJgEBCABIDgIBAQgCSgAsAQEIAkoANAEBCAJKADYBAQgCSgCEAQEBCAJK6gOmBAEBCAJCSOz0BQQCijQEArSQBqwCvhOWBpATnAK4DKACihe+ApQejgMsngKYD7ICghGuAp4IkAOoJrYCkh+0AqQJvAICngK8Da4CthaoAooXrAKAKbICpiyYA5wdrgKELooDggGsAoggvAKSHbgClBq6ApIcpgKUFaIEMCy8AqwXkAOeJZwDuAauAoIYtgKyF74CuBW8ArIZngOIBrACjAyyAr4MrgKoDbICng2yApQXigOACYoDphe2AqoWkAOcF5wDsBaAA5gXsgKyBLgCmAW2Ar4ErAKMBbACkgWuAo4FigOMEYYDnBSGA4IBngKUBaQCrAyaAqIFmgK6C4YDugacArQEpgKWBagCvgSAA6oEoALe9Q8EArYTQgEBiIQQBgQC+sgJjCWyqQnUihCOjxDygRAEArwHuvkPAQEISAAOAQEIAkr0gBCYgxABAQgCCEpI0MoQsoYBnJMFqhamGZQPvDqsrQn8lwm0E4xXvIMCvqcFsgeQD7wHlBiQB7wHpgfKtw8EAo4ZBAKSFegBBAKS+w8C7PgPsPgPAkQIAkQIAkQIAkTi8Q8EAqQBQgEBjvAPBgQCxrgJuCmIIpgMvgK27QjcgRCEhxD8\/Q8EAo4NBAKcDQQCvhUEApIbBAK8qw\/c3QikGbIZrCuYL\/zBBwQCth8EAo4YBAK+EwQCvBAEArwSBAK0EJ6vDgD4sw4EAoK1DgLusA6qsA4IAkQQAkzazweyMIAnjiCMHYwfuhfMsgiE0w4BAQgCEghcSAIEAswewLUOktYOAAQDABBYAQAE0MQOBAK8GgQClgcEAqAOBAKYDgQCpgwEAoIPBAKqxAeSBZQbriiUCrAaqBq2GK4c5vwIBAKkBQQCnIAJvA7AiQkEAqqYCeyRCQQCuAYEArANBAKMCQQCvgwEApANBAK6DAQCvA0EAprOCJAQhhqKDLAaoBmsGowa+t8JBAKmBAQCkgUEArYEBAK6BAQChAUEAr4EBAKAAgQCkgsEAowTBAKKFAQCvqYJpAeQCLQHuAeCCLwHlhSiF5oxnCjGzB2ciCDsiQ2wiQ0BAQgASNcBqBEApIcChAOqApYQCuYKyKMCqnWkLowUnlWMBLbiCgHqARABgQGqsQeMJQDayQbOT7KGAZyTBaoWphmUD7w6rK0J\/JcJtBOMV7yDAr6nBbIHkA+8B5QYkAe8B6YH3ogPoMIGuCmK9Qjqxgi+AgC27Qjc3QikGbIZrCuYL7TuBwDAzgeyMIAnjiCMHYwfuhfsrQiizg7CBuKVBpQbriiUCrAaqBq2GK4cpgm8DrAPlhCQEIYaigywGqAZrBqMGpgapAeQCLQHuAeCCLwHlhSiF5oxnCjk1RDjKigDJwAEACcAAQCBBCcAKAYnACgCJwAHACgDJwAoACcAIQCoAacABAAoAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAKgBhALHACgCJwEEACgAJwDHACgCJwEEACcAqADEA4QAxADHACgCJwEoACcAQQDBBKgDhADHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAhAEoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAhAEoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBACEASgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwAoAScBxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScBxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoACcAKAInAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAKAAnAMcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEAIQBKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAhAEoACcAxwAoAicBBAAoACcAxwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAMcAKAInAQQAhAEoACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwEEACgAJwDHACgCJwEEAIQBKAAnAMcAKAInAQQAKAAnAMcAKAInAQQAhAEoACcAxwAoAicBBAAoACcAxwAoAicBBACEASgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwDHACgCJwEEACgAJwCoASgAqAEoAEQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQBwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxACoASgAqAAoA6gDxAHBAKgDKACHACgCJwKHACgCJwEEACcAxwAoAicBBACEACgAJwDECcEAxAioASgAqAEoAMQAqAEoAKgQKACoACgDqAPEBMEAqAMoAKgBKACoASgAqAEoAKgBKADEBagBKACoASgAqAEoAKgBKACoASgAqAEoAIQBxACoASgAqALEAKgFxAXBAMcAKAInAQQAhAEoACcAqAEoAIQAxwAoACcBBACEAScAKAKoASgAqAEoAKgBKACoASgAqAEoAKgBKACoASgAxAioASgAqAEoAMQBqAEoAMQAqAEoAKgBKACoASgAqAEoAKgBKACoASgAqAEoAKgBKADEB6gBKACoASgAqAEoAKgBKACoASgAqAEoAKgBKACoASgAqAEoAKgBKACoASgAxAqoAccAKAInASgAJ5iLCYntCHN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c2x1Z2RvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZUNJL0NEIFBpcGVsaW5lcyBFeHBsYWluZWQ6IFdoYXQgWW91IE5lZWQgdG8gS25vd2RvY3VtZW50Y29udGVudGRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnRzdGlja3lkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRmb3JtYXRkb2N1bWVudG1ldGFmb290bm90ZXNkb2N1bWVudGNhdGVnb3JpZXNkb2N1bWVudHRhZ3Nkb2N1bWVudGJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzc3RhdGV2ZXJzaW9uSW4gc29mdHdhcmUgZGV2ZWxvcG1lbnQsIHNwZWVkLCBlZmZpY2llbmN5LCBhbmQgcmVsaWFiaWxpdHkgYXJlIHZpdGFsLiBDb21wYW5pZXMgbXVzdCBzdGF5IGNvbXBldGl0aXZlIGFuZCBkZWxpdmVyIGhpZ2gtcXVhbGl0eSBwcm9kdWN0cy4gVGhlIG5lZWQgZm9yIGZhc3QgZGVsaXZlcnkgb2YgZmVhdHVyZXMgYW5kIGZpeGVzIGhhcyBncm93bi4gU28sIHdlIG5lZWQgdG8gc3RyZWFtbGluZSBzb2Z0d2FyZSByZWxlYXNlcyB3aGlsZSBtaW5pbWl6aW5nIHJpc2tzLiBUaGlzIGlzIHdoZXJlIENJL0NEIHBpcGVsaW5lc+KAlHNob3J0IGZvciBDb250aW51b3VzIEludGVncmF0aW9uIGFuZCBDb250aW51b3VzIERlbGl2ZXJ54oCUYmVjb21lIHZpdGFsLiBUaGVzZSBwaXBlbGluZXMgYXJlIHRoZSBiYWNrYm9uZSBvZiBtb2Rlcm4gRGV2T3BzLiBUaGV5IGF1dG9tYXRlIHRoZSBwcm9jZXNzIG9mIGludGVncmF0aW5nLCB0ZXN0aW5nLCBhbmQgZGVwbG95aW5nIGNvZGUgY2hhbmdlcy4gVGhpcyBicmlkZ2VzIHRoZSBnYXAgYmV0d2VlbiBkZXZlbG9wbWVudCBhbmQgb3BlcmF0aW9ucyB0ZWFtcy5kcm9wQ2FwY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29udGludW91cyBJbnRlZ3JhdGlvbiAoQ0kpIG1lYW5zIGRldmVsb3BlcnMgZnJlcXVlbnRseSBtZXJnZSB0aGVpciBjb2RlIGludG8gYSBzaGFyZWQgcmVwb3NpdG9yeS4gRWFjaCBpbnRlZ3JhdGlvbiB0cmlnZ2VycyBhbiBhdXRvbWF0ZWQgYnVpbGQgYW5kIHRlc3Qgc2VxdWVuY2UgdG8gZGV0ZWN0IHBvdGVudGlhbCBpc3N1ZXMgZWFybHkgaW4gdGhlIHByb2Nlc3MuIFRoaXMgcHJhY3RpY2UgcmVkdWNlcyAiaW50ZWdyYXRpb24gaGVsbC4iIFRoZXJlLCBjaGFuZ2VzIGZyb20gbXVsdGlwbGUgZGV2ZWxvcGVycyBjb2xsaWRlIGFuZCBjb25mbGljdC4gQnkgYWRkcmVzc2luZyBpbnRlZ3JhdGlvbiBpc3N1ZXMgcmlnaHQgYXdheSwgQ0kga2VlcHMgdGhlIGNvZGViYXNlIHN0YWJsZS4gSXQgYWxsb3dzIGFkZGluZyBuZXcgZmVhdHVyZXMgYW5kIGZpeGVzIHdpdGhvdXQgZGlzcnVwdGluZyBleGlzdGluZyBmdW5jdGlvbmFsaXR5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbnRpbnVvdXMgRGVwbG95bWVudC9EZWxpdmVyeSAoQ0QpIGdvZXMgZnVydGhlci4gSXQgYXV0b21hdGVzIHJlbGVhc2luZyBjb2RlIGNoYW5nZXMgdG8gdGVzdGluZyBvciBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4gSW4gQ29udGludW91cyBEZWxpdmVyeSwgdGhlIGNvZGUgaXMgYWx3YXlzIGRlcGxveWFibGUuIEFmdGVyIHBhc3NpbmcgdGVzdHMsIHlvdSBjYW4gbWFudWFsbHkgdHJpZ2dlciBkZXBsb3ltZW50cy4gSW4gQ29udGludW91cyBEZXBsb3ltZW50LCB0aGUgcHJvY2VzcyBpcyBmdWxseSBhdXRvbWF0ZWQuIENvZGUgY2hhbmdlcyBhcmUgcHVzaGVkIGRpcmVjdGx5IHRvIHByb2R1Y3Rpb24gYXMgc29vbiBhcyB0aGV5IHBhc3MgdGVzdGluZy4gVGhpcyBlbmFibGVzIHJhcGlkIGRlbGl2ZXJ5IHRvIHVzZXJzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENJL0NEIHBpcGVsaW5lcyB2YWxpZGF0ZSBldmVyeSBjaGFuZ2Ugd2l0aCBhdXRvbWF0ZWQgdGVzdHMuIFRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGJ1Z3MgcmVhY2hpbmcgcHJvZHVjdGlvbi4gSXQgc3BlZWRzIHVwIHRoZSByZWxlYXNlIGN5Y2xlIGFuZCBtYWtlcyBkZXBsb3ltZW50cyBtb3JlIHJlbGlhYmxlLiBUaGlzIGVuc3VyZXMgZW5kLXVzZXJzIGdldCBhIHN0YWJsZSwgaGlnaC1xdWFsaXR5IHByb2R1Y3QuIFNvLCBidXNpbmVzc2VzIGNhbiBpdGVyYXRlIGZhc3RlciBhbmQgcmVzcG9uZCB0byBmZWVkYmFjayBxdWlja2x5LiBUaGV5IGNhbiBzdGF5IGNvbXBldGl0aXZlIGluIGFuIGluZHVzdHJ5IHdoZXJlIGFnaWxpdHkgaXMga2V5IHRvIHN1Y2Nlc3MuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2h5IEFyZSBDSS9DRCBQaXBlbGluZXMgSW1wb3J0YW50P2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBcyBzb2Z0d2FyZSBkZXZlbG9wbWVudCBldm9sdmVzLCB0aGUgZGVtYW5kIGZvciBmYXN0ZXIgcmVsZWFzZXMgYW5kIHVwZGF0ZXMgaGFzIGluY3JlYXNlZC4gQ0kvQ0QgcGlwZWxpbmVzIG1lZXQgdGhpcyBuZWVkLiBUaGV5IGxldCBkZXYgdGVhbXMgaW50ZWdyYXRlIGNvZGUgaW50byBhIHNoYXJlZCByZXBvLiBUaGV5IGF1dG9tYXRpY2FsbHkgdGVzdCB0aGUgY2hhbmdlcyBhbmQgZGVwbG95IHRoZW0gdG8gcHJvZHVjdGlvbiB3aXRoIGxpdHRsZSBtYW51YWwgd29yay5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SW5jcmVhc2VkIFNwZWVkOjwvc3Ryb25nPiBDSS9DRCBwaXBlbGluZXMgYXV0b21hdGUgbWFueSByZXBldGl0aXZlIHRhc2tzIGluIHNvZnR3YXJlIHJlbGVhc2VzLiBUaGV5IHRlc3QgYW5kIGRlcGxveSBjb2RlLiBUaGlzIHJlZHVjZXMgdGhlIHRpbWUgdG8gcmVsZWFzZSBuZXcgZmVhdHVyZXMgb3IgYnVnIGZpeGVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5FbmhhbmNlZCBDb2RlIFF1YWxpdHk6PC9zdHJvbmc+IENJL0NEIGF1dG9tYXRlcyB0ZXN0aW5nIGluIHRoZSBwaXBlbGluZS4gVGhpcyBjYXRjaGVzIGJ1Z3MgZWFybHkgYW5kIHJlc3VsdHMgaW4gbW9yZSBzdGFibGUgc29mdHdhcmUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlJlZHVjZWQgSHVtYW4gRXJyb3I6PC9zdHJvbmc+IEF1dG9tYXRpb24gY3V0cyB0aGUgcmlzayBvZiBtaXN0YWtlcyBpbiBkZXBsb3lpbmcgY2hhbmdlcy4gSXQgbWFrZXMgcmVsZWFzZXMgbW9yZSBwcmVkaWN0YWJsZSBhbmQgbGVzcyBsaWtlbHkgdG8gZmFpbC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoYXQgaXMgYSBDSS9DRCBQaXBlbGluZT9sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBDSS9DRCBwaXBlbGluZSBpcyBhIHNlcmllcyBvZiBhdXRvbWF0ZWQgc3RlcHMgdGhhdCB0YWtlIGNvZGUgY2hhbmdlcyBmcm9tIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCB0byBwcm9kdWN0aW9uLiBJdCBzdGFydHMgd2l0aCBDb250aW51b3VzIEludGVncmF0aW9uIChDSSkuIENvZGUgY2hhbmdlcyBhcmUgYXV0b21hdGljYWxseSB0ZXN0ZWQgYW5kIGludGVncmF0ZWQgaW50byB0aGUgbWFpbiBjb2RlYmFzZS4gVGhpcyBpcyBmb2xsb3dlZCBieSBDb250aW51b3VzIERlbGl2ZXJ5IChDRCkgb3IgQ29udGludW91cyBEZXBsb3ltZW50IChDRCkuIEluIHRoZXNlLCBjaGFuZ2VzIGFyZSBhdXRvbWF0aWNhbGx5IGRlcGxveWVkIHRvIGEgc3RhZ2luZyBlbnZpcm9ubWVudCBvciBkaXJlY3RseSB0byBwcm9kdWN0aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VGhlIHBpcGVsaW5lIHR5cGljYWxseSBpbmNsdWRlcyBzZXZlcmFsIHN0YWdlczo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U291cmNlIENvbnRyb2w6PC9zdHJvbmc+IERldmVsb3BlcnMgY29tbWl0IGNvZGUgY2hhbmdlcyB0byBhIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gbGlrZSBHaXQsIHdoaWNoIHRyaWdnZXJzIHRoZSBwaXBlbGluZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QnVpbGQgU3RhZ2U6PC9zdHJvbmc+IFRoZSBwaXBlbGluZSBjb21waWxlcyB0aGUgY29kZSBhbmQgYnVpbGRzIGV4ZWN1dGFibGUgYXJ0aWZhY3RzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UZXN0aW5nOjwvc3Ryb25nPiBBdXRvbWF0ZWQgdGVzdHMsIHN1Y2ggYXMgdW5pdCB0ZXN0cywgaW50ZWdyYXRpb24gdGVzdHMsIGFuZCBlbmQtdG8tZW5kIHRlc3RzLCBhcmUgcnVuIHRvIHZlcmlmeSB0aGUgaW50ZWdyaXR5IG9mIHRoZSBuZXcgY29kZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RGVwbG95bWVudDo8L3N0cm9uZz4gVGhlIGZpbmFsIHN0ZXAgaXMgdG8gZGVwbG95IHRoZSB0ZXN0ZWQgY29kZSB0byBhIHN0YWdpbmcgZW52aXJvbm1lbnQgb3IgZGlyZWN0bHkgdG8gcHJvZHVjdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZhY3RvcnMgdG8gQ29uc2lkZXIgV2hlbiBJbXBsZW1lbnRpbmcgQ0kvQ0QgUGlwZWxpbmVzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEltcGxlbWVudGluZyBDSS9DRCBwaXBlbGluZXMgcmVxdWlyZXMgY2FyZWZ1bCBwbGFubmluZyB0byBlbnN1cmUgdGhhdCB0aGV5IGFsaWduIHdpdGggeW91ciB0ZWFt4oCZcyBuZWVkcyBhbmQgd29ya2Zsb3dzOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Ub29sIFNlbGVjdGlvbjo8L3N0cm9uZz4gQ2hvb3NlIHRvb2xzIHRoYXQgaW50ZWdyYXRlIHdlbGwgd2l0aCB5b3VyIGV4aXN0aW5nIHN0YWNrLCBzdWNoIGFzIEplbmtpbnMsIEdpdExhYiBDSSwgb3IgR2l0SHViIEFjdGlvbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlNjYWxhYmlsaXR5Ojwvc3Ryb25nPiBDb25zaWRlciB3aGV0aGVyIHRoZSBwaXBlbGluZSBjYW4gc2NhbGUgYXMgeW91ciB0ZWFtIGdyb3dzIGFuZCBhcyB5b3VyIHByb2plY3QgY29tcGxleGl0eSBpbmNyZWFzZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlNlY3VyaXR5Ojwvc3Ryb25nPiBTZWN1cmUgeW91ciBDSS9DRCBwaXBlbGluZXMgdG8gcHJldmVudCB2dWxuZXJhYmlsaXRpZXMgd2hlbiBkZXBsb3lpbmcgdG8gcHJvZHVjdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJlbmVmaXRzIG9mIEFkb3B0aW5nIENJL0NEIFBpcGVsaW5lc2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbXBsZW1lbnRpbmcgQ0kvQ0QgcGlwZWxpbmVzIGNhbiB0cmFuc2Zvcm0gaG93IGRldmVsb3BtZW50IHRlYW1zIGJ1aWxkLCB0ZXN0LCBhbmQgcmVsZWFzZSBzb2Z0d2FyZS4gSGVyZeKAmXMgYSBjbG9zZXIgbG9vayBhdCBzb21lIG9mIHRoZSBrZXkgYmVuZWZpdHMgdGhhdCBtYWtlIENJL0NEIHBpcGVsaW5lcyBhIGdhbWUtY2hhbmdlciBpbiB0aGUgd29ybGQgb2Ygc29mdHdhcmUgZGV2ZWxvcG1lbnQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4xLiBBY2NlbGVyYXRlZCBSZWxlYXNlIEN5Y2xlczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IEl0IE1lYW5zOjwvc3Ryb25nPiBDSS9DRCBwaXBlbGluZXMgYXV0b21hdGUgaW50ZWdyYXRpb24sIHRlc3RpbmcsIGFuZCBkZXBsb3ltZW50LiBUaGlzIHJlZHVjZXMgdGhlIHRpbWUgYmV0d2VlbiB3cml0aW5nIGNvZGUgYW5kIGRlcGxveWluZyBpdC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QmVuZWZpdDo8L3N0cm9uZz4gVGhpcyBhdXRvbWF0aW9uIGxldHMgdGVhbXMgcmVsZWFzZSB1cGRhdGVzIGZhc3Rlci4gTmV3IGZlYXR1cmVzLCBidWcgZml4ZXMsIGFuZCBlbmhhbmNlbWVudHMgd2lsbCByZWFjaCB1c2VycyBxdWlja2x5LiBJdCBhbHNvIGFsbG93cyBhIG1vcmUgaXRlcmF0aXZlIHByb2Nlc3MuIFRlYW1zIGNhbiBmb2N1cyBvbiBjb250aW51b3VzIGltcHJvdmVtZW50LmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBTYWFTIGNvbXBhbnkgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMgdG8gcHVzaCB1cGRhdGVzIGRhaWx5IG9yIHdlZWtseS4gVGhpcyBrZWVwcyB0aGVpciBzb2Z0d2FyZSB1cC10by1kYXRlIGFuZCBjb21wZXRpdGl2ZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Mi4gRW5oYW5jZWQgQ29kZSBRdWFsaXR5IGFuZCBTdGFiaWxpdHk8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gV2l0aCBhdXRvbWF0ZWQgdGVzdGluZyBpbiB0aGUgQ0kvQ0QgcHJvY2VzcywgZXZlcnkgY29kZSBjaGFuZ2UgaXMgdGVzdGVkIGJlZm9yZSBpdCBpcyBtZXJnZWQgb3IgZGVwbG95ZWQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IFRoaXMgZW5zdXJlcyB0aGF0IGJ1Z3MgYW5kIGlzc3VlcyBhcmUgZGV0ZWN0ZWQgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MsIGxlYWRpbmcgdG8gbW9yZSBzdGFibGUgc29mdHdhcmUuIEF1dG9tYXRlZCB0ZXN0cyBzdWNoIGFzIHVuaXQgdGVzdHMsIGludGVncmF0aW9uIHRlc3RzLCBhbmQgZXZlbiBVSSB0ZXN0cyBoZWxwIG1haW50YWluIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIGNvZGViYXNlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QW4gZS1jb21tZXJjZSBzaXRlIGNhbiB1c2UgQ0kvQ0QgcGlwZWxpbmVzLiBUaGV5IGNhbiB0ZXN0IGNoZWNrb3V0IGFuZCBwYXltZW50IGludGVncmF0aW9ucyB3aXRoIGVhY2ggY29kZSBjaGFuZ2UuIFRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGNyaXRpY2FsIGlzc3VlcyByZWFjaGluZyBwcm9kdWN0aW9uLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4zLiBJbXByb3ZlZCBDb2xsYWJvcmF0aW9uIEJldHdlZW4gVGVhbXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQ0kvQ0QgcHJvbW90ZXMgdGVhbXdvcmsgaW4gc29mdHdhcmUgZGV2ZWxvcG1lbnQuIEl0IG1ha2VzIGl0IGVhc2llciBmb3IgZGV2ZWxvcGVycywgdGVzdGVycywgYW5kIG9wZXJhdGlvbnMgdGVhbXMgdG8gY29sbGFib3JhdGUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IEl0IG1ha2VzIHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzIHRyYW5zcGFyZW50LiBBbGwgY2hhbmdlcywgdGVzdHMsIGFuZCBkZXBsb3ltZW50cyBhcmUgbG9nZ2VkIGFuZCB2aXNpYmxlLiBUaGlzIHZpc2liaWxpdHkgaGVscHMgdGVhbXMgY29tbXVuaWNhdGUgYmV0dGVyIGFuZCByZXNvbHZlIGlzc3VlcyBmYXN0ZXIuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBhIERldk9wcyBjdWx0dXJlLCBDSS9DRCBwaXBlbGluZXMgZW5zdXJlIHRoYXQgY29kZSBmcm9tIG11bHRpcGxlIGRldmVsb3BlcnMgaXMgYWx3YXlzIGludGVncmF0ZWQsIHRlc3RlZCwgYW5kIGRlcGxveWVkLiBUaGlzIGZvc3RlcnMgYSBzbW9vdGhlciB3b3JrZmxvdyBhY3Jvc3MgdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50IGxpZmVjeWNsZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+NC4gUmVkdWNlZCBNYW51YWwgRXJyb3JzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPldoYXQgSXQgTWVhbnM6PC9zdHJvbmc+IEJ5IGF1dG9tYXRpbmcgcmVwZXRpdGl2ZSB0YXNrcyBzdWNoIGFzIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQsIENJL0NEIHBpcGVsaW5lcyByZWR1Y2UgdGhlIHJpc2sgb2YgaHVtYW4gZXJyb3IuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IFRoaXMgbGVhZHMgdG8gbW9yZSByZWxpYWJsZSBkZXBsb3ltZW50cy4gSXQgcmVkdWNlcyBtaXN0YWtlcyBmcm9tIG1hbnVhbCBwcm9jZXNzZXMsIGxpa2UgaW5jb3JyZWN0IGNvbmZpZ3VyYXRpb25zIG9yIG1pc3NlZCBzdGVwcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgZmluYW5jaWFsIHNlcnZpY2VzIGZpcm0gbWlnaHQgdXNlIENJL0NEIGF1dG9tYXRpb24uIEl0IGVuc3VyZXMgdGhhdCBzZW5zaXRpdmUgY29kZSBjaGFuZ2VzIGFyZSB0ZXN0ZWQgYW5kIGRlcGxveWVkIHRvIHN0cmljdCBjb21wbGlhbmNlIHN0YW5kYXJkcy4gVGhpcyBtaW5pbWl6ZXMgdGhlIHJpc2sgb2YgY29zdGx5IG1pc3Rha2VzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz41LiBTY2FsYWJpbGl0eSBmb3IgR3Jvd2luZyBQcm9qZWN0czwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IEl0IE1lYW5zOjwvc3Ryb25nPiBBcyBzb2Z0d2FyZSBwcm9qZWN0cyBncm93LCBtYW5hZ2luZyBjb2RlIGNoYW5nZXMgYW5kIHJlbGVhc2VzIGJlY29tZXMgbW9yZSBjb21wbGV4LiBDSS9DRCBwaXBlbGluZXMgY2FuIHNjYWxlIHRvIGhhbmRsZSBsYXJnZXIgcHJvamVjdHMgYnkgYXV0b21hdGluZyB0aGUgdGVzdGluZyBhbmQgZGVwbG95bWVudCBvZiB0aG91c2FuZHMgb2YgY29kZSBjaGFuZ2VzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5CZW5lZml0Ojwvc3Ryb25nPiBJdCBlbmFibGVzIHRlYW1zIHRvIG1haW50YWluIHNwZWVkIGFuZCBxdWFsaXR5IGV2ZW4gYXMgdGhlIG51bWJlciBvZiBkZXZlbG9wZXJzIGFuZCB0aGUgY29tcGxleGl0eSBvZiB0aGUgY29kZWJhc2UgaW5jcmVhc2UuIFRoaXMgbWFrZXMgQ0kvQ0QgaWRlYWwgZm9yIGJvdGggc21hbGwgc3RhcnR1cHMgYW5kIGxhcmdlIGVudGVycHJpc2VzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBnbG9iYWwgdGVjaCBjb21wYW55IGNhbiB1c2UgQ0kvQ0QgcGlwZWxpbmVzIHRvIG1hbmFnZSBodW5kcmVkcyBvZiBtaWNyb3NlcnZpY2VzIGFjcm9zcyByZWdpb25zLiBUaGlzIGVuc3VyZXMgdXBkYXRlcyBhcmUgZGVwbG95ZWQgc21vb3RobHksIHdpdGhvdXQgYWZmZWN0aW5nIHVzZXJzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RW1icmFjaW5nIENJL0NEIFBpcGVsaW5lcyBmb3IgTW9kZXJuIERldmVsb3BtZW50bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFkb3B0aW5nIENJL0NEIHBpcGVsaW5lcyBpcyBtb3JlIHRoYW4gYSB0ZWNobmljYWwgdXBncmFkZS4gSXQncyBhIHN0cmF0ZWdpYyBzaGlmdCB0aGF0IGNhbiB0cmFuc2Zvcm0gaG93IHNvZnR3YXJlIHRlYW1zIG9wZXJhdGUuIENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBpbnRlZ3JhdGlvbiwgdGVzdGluZywgYW5kIGRlcGxveW1lbnQuIFRoaXMgZW5hYmxlcyBmYXN0ZXIgcmVsZWFzZXMsIGJldHRlciBzb2Z0d2FyZSwgYW5kIGEgbW9yZSBjb2xsYWJvcmF0aXZlIGVudmlyb25tZW50LiBUZWFtcyBjYW4gZm9jdXMgb24gaW5ub3ZhdGlvbiBpbnN0ZWFkIG9mIG1hbnVhbCBwcm9jZXNzZXMuIFRoaXMgYXBwcm9hY2ggc3VpdHMgbW9kZXJuIGRldmVsb3BtZW50LiBUaW1lLXRvLW1hcmtldCwgdXNlciBzYXRpc2ZhY3Rpb24sIGFuZCBpbXByb3ZlbWVudCBhcmUgdml0YWwuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG93ZXZlciwgdGhlIGpvdXJuZXkgdG8gaW1wbGVtZW50aW5nIGVmZmVjdGl2ZSBDSS9DRCBwaXBlbGluZXMgcmVxdWlyZXMgdGhvdWdodGZ1bCBwbGFubmluZy4gVGVhbXMgbXVzdCBjaG9vc2UgdGhlIHJpZ2h0IHRvb2xzIGFuZCBpbnRlZ3JhdGUgdGhlbSB3aXRoIHRoZWlyIHN0YWNrLiBUaGV5IHNob3VsZCBhbHNvIGZvc3RlciBhIGN1bHR1cmUgdGhhdCBlbWJyYWNlcyBhdXRvbWF0aW9uIGFuZCBmZWVkYmFjay4gSW52ZXN0aW5nIHRpbWUgaW4gdGhlc2UgcGlwZWxpbmVzIHBheXMgb2ZmLiBUaGV5IHJlZHVjZSBkZXBsb3ltZW50IHJpc2tzLCBpbXByb3ZlIGNvZGUgcXVhbGl0eSwgYW5kIHByb3ZpZGUgYSBzY2FsYWJsZSBmb3VuZGF0aW9uIGFzIHByb2plY3RzIGdyb3cuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW4gYSBmYXN0LXBhY2VkIHdvcmxkLCBDSS9DRCBwaXBlbGluZXMgYXJlIHZpdGFsLiBUaGV5IGhlbHAgZmlybXMgc3RheSBjb21wZXRpdGl2ZSwgZGVsaXZlciBxdWFsaXR5IHNvZnR3YXJlLCBhbmQgYWRhcHQgdG8gdXNlcnMuIFdoZXRoZXIgeW91IGFyZSBhIHNtYWxsIHN0YXJ0dXAgb3IgYSBsYXJnZSBlbnRlcnByaXNlLCBDSS9DRCBpcyBrZXkgdG8geW91ciBkZXZlbG9wbWVudCBwcm9jZXNzLiBJdCBpcyBhbiBlc3NlbnRpYWwgc3RyYXRlZ3kgaW4gdG9kYXkncyBzb2Z0d2FyZSBpbmR1c3RyeS5kcm9wQ2FwaW5uZXJCbG9ja3MjIEJhc2ljIGd1ZXN0IHBvc3Qgc2VhcmNoCiJiZWF1dHkiICJndWVzdCBwb3N0IiBzaXRlOi5pbgoKIyBBY2NlcHQgZ3Vlc3QgcG9zdHMKIkluZGlhbiBiZWF1dHkiICJ3cml0ZSBmb3IgdXMiIE9SICJndWVzdCBwb3N0IiBPUiAiY29udHJpYnV0ZSIKCiMgQmVhdXR5IGJsb2cgd2l0aCBndWVzdCBwb3N0IHBhZ2VzCmludXJsOndyaXRlLWZvci11cyAiYmVhdXR5IiAiSW5kaWEiCmludXJsOmd1ZXN0LXBvc3QgImJlYXV0eSBibG9nIiBJbmRpYQoKIyBGaW5kIHN1Ym1pc3Npb24gcGFnZXMKaW50aXRsZToid3JpdGUgZm9yIHVzIiAiYmVhdXR5IiAic2tpbmNhcmUiIEluZGlhCmludGl0bGU6Imd1ZXN0IHBvc3QgZ3VpZGVsaW5lcyIgImJlYXV0eSIgSW5kaWFjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRHb29nbGUgRG9ya3MgZm9yIFRyYWZmaWMgRXN0aW1hdGlvbmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQjIEZpbmQgYmVhdXR5IGJsb2dzIHdpdGggaGlnaCBlbmdhZ2VtZW50CiJiZWF1dHkgYmxvZ2dlciIgIkluZGlhIiAid3JpdGUgZm9yIHVzIiAtc2l0ZTpmYWNlYm9vay5jb20gLXNpdGU6dHdpdHRlci5jb20KCiMgTmljaGUgc3BlY2lmaWMKIkluZGlhbiBza2luY2FyZSIgT1IgIkluZGlhbiBtYWtldXAiICJndWVzdCBwb3N0IiAic3VibWl0IGFydGljbGUiCgojIERBL1BBIHJpY2ggc2l0ZXMKImJlYXV0eSB0aXBzIiAiSW5kaWEiIGludXJsOmd1ZXN0LXBvc3QgT1IgaW51cmw6d3JpdGUtZm9yLXVzaW5uZXJCbG9ja3M8Pjw+CkluIG1vZGVybiBzb2Z0d2FyZSBkZXZlbG9wbWVudCBzcGVlZCBzdGFiaWxpdHkgYW5kIGF1dG9tYXRpb24gYXJlIHZlcnkgaW1wb3J0YW50LiBDb21wYW5pZXMgbm93IHJlbGVhc2UgbmV3IGZlYXR1cmVzLCBzZWN1cml0eSB1cGRhdGVzIGFuZCBidWcgZml4ZXMgdmVyeSBxdWlja2x5IHNvbWV0aW1lcyBtYW55IHRpbWVzIGluIGEgZGF5Lg0KVG8gZG8gdGhpcyBzYWZlbHkgYW5kIHdpdGhvdXQgYnJlYWtpbmcgc3lzdGVtcyBjb21wYW5pZXMgdXNlIENJIENEIHBpcGVsaW5lcy4NCkNJIENEIG1lYW5zIENvbnRpbnVvdXMgSW50ZWdyYXRpb24gYW5kIENvbnRpbnVvdXMgRGVsaXZlcnkgb3IgRGVwbG95bWVudCBhbmQgaW4gMjAyNiBpdCBoYXMgYmVjb21lIGEgdmVyeSBpbXBvcnRhbnQgcGFydCBvZiBEZXZPcHMgY2xvdWQgbmF0aXZlIHN5c3RlbXMgYW5kIEFJIGJhc2VkIGRldmVsb3BtZW50Lg0KVGhpcyBndWlkZSBleHBsYWlucyBDSSBDRCBwaXBlbGluZXMgaW4gc2ltcGxlIHdvcmRzIGhvdyB0aGV5IHdvcmsgYW5kIGhvdyB0aGV5IGhhdmUgY2hhbmdlZCB3aXRoIEFJIGNsb3VkIHN5c3RlbXMgYW5kIG1vZGVybiBEZXZPcHMuDQpXaGF0IGlzIENJIENEDQpDSSBDRCBpcyBhIG1vZGVybiBzb2Z0d2FyZSBtZXRob2QgdGhhdCBhdXRvbWF0ZXMgdGhlIGZ1bGwgcHJvY2VzcyBvZiBidWlsZGluZyB0ZXN0aW5nIGFuZCBkZWxpdmVyaW5nIHNvZnR3YXJlLg0KSXQgaGVscHMgdGVhbXMgcmVsZWFzZSB1cGRhdGVzIGZhc3RlciwgbW9yZSBzYWZlbHkgYW5kIHdpdGggZmV3ZXIgbWlzdGFrZXMuDQpJbiB0cmFkaXRpb25hbCBkZXZlbG9wbWVudCwgZGV2ZWxvcGVycyBoYWQgdG8gbWFudWFsbHk6DQril48JQ29tYmluZSBjb2RlIGNoYW5nZXMNCuKXjwlUZXN0IGFwcGxpY2F0aW9ucw0K4pePCUJ1aWxkIHNvZnR3YXJlIHZlcnNpb25zDQril48JRGVwbG95IHVwZGF0ZXMgdG8gc2VydmVycw0KVGhpcyBtYW51YWwgcHJvY2VzcyB3YXMgc2xvdyBhbmQgb2Z0ZW4gY2F1c2VkIG1pc3Rha2VzLCBidWdzIGFuZCBkZXBsb3ltZW50IGZhaWx1cmVzLg0KQ0kgQ0Qgc29sdmVzIHRoaXMgcHJvYmxlbSBieSBhdXRvbWF0aW5nIGV2ZXJ5dGhpbmcgdXNpbmcgYSBzdHJ1Y3R1cmVkIHBpcGVsaW5lLg0KSW4gc2ltcGxlIHdvcmRzIENJIENEIG1ha2VzIHN1cmUgZXZlcnkgY29kZSBjaGFuZ2UgaXMgYXV0b21hdGljYWxseSBjaGVja2VkLCB0ZXN0ZWQgYW5kIHByZXBhcmVkIGZvciBkZXBsb3ltZW50IHdpdGhvdXQgbWFudWFsIHdvcmsuIFRoaXMgaXMgd2hhdCBwZW9wbGUgbWVhbiB3aGVuIHRoZXkgYXNrIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgYmVjYXVzZSBpdCBzaG93cyBob3cgc29mdHdhcmUgbW92ZXMgZnJvbSBkZXZlbG9wbWVudCB0byBwcm9kdWN0aW9uIGluIGFuIGF1dG9tYXRpYyB3YXkuDQpDSS9DRCBpcyBkaXZpZGVkIGludG8gdHdvIG1haW4gcGFydHM6DQpDSSAoQ29udGludW91cyBJbnRlZ3JhdGlvbikNCkNvbnRpbnVvdXMgSW50ZWdyYXRpb24gaXMgdGhlIHByb2Nlc3Mgb2YgcmVndWxhcmx5IG1lcmdpbmcgY29kZSBjaGFuZ2VzIGludG8gYSBzaGFyZWQgcmVwb3NpdG9yeS4NCkV2ZXJ5IHRpbWUgYSBkZXZlbG9wZXIgYWRkcyBuZXcgY29kZToNCuKXjwlJdCBpcyBhdXRvbWF0aWNhbGx5IGludGVncmF0ZWQgd2l0aCB0aGUgbWFpbiBjb2RlYmFzZQ0K4pePCUF1dG9tYXRlZCB0ZXN0cyBhcmUgZXhlY3V0ZWQNCuKXjwlFcnJvcnMgb3IgY29uZmxpY3RzIGFyZSBkZXRlY3RlZCBlYXJseQ0KVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHNvZnR3YXJlIGlzIGFsd2F5cyBpbiBhIHN0YWJsZSBhbmQgd29ya2luZyBzdGF0ZS4NCiBDSSBoZWxwcyB0ZWFtcyBhdm9pZCDigJxpbnRlZ3JhdGlvbiBwcm9ibGVtc+KAnSB0aGF0IHVzdWFsbHkgaGFwcGVuIHdoZW4gbXVsdGlwbGUgZGV2ZWxvcGVycyB3b3JrIG9uIHRoZSBzYW1lIHByb2plY3QuDQpUaGlzIGVudGlyZSB3b3JrZmxvdyBpcyBvZnRlbiBkZXNjcmliZWQgd2hlbiBleHBsYWluaW5nIGNpL2NkIHBpcGVsaW5lIG1lYW5pbmcsIGJlY2F1c2UgQ0kgaXMgdGhlIGZpcnN0IGFuZCBtb3N0IGltcG9ydGFudCBzdGFnZSBvZiBhbnkgQ0kvQ0Qgc3lzdGVtLg0KQ0QgKENvbnRpbnVvdXMgRGVsaXZlcnkgLyBEZXBsb3ltZW50KQ0KQ0QgZm9jdXNlcyBvbiBkZWxpdmVyaW5nIG9yIGRlcGxveWluZyB0aGUgdGVzdGVkIGNvZGUgdG8gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuDQpUaGVyZSBhcmUgdHdvIGZvcm1zOg0KQ29udGludW91cyBEZWxpdmVyeQ0K4pePCUNvZGUgaXMgYXV0b21hdGljYWxseSBidWlsdCBhbmQgdGVzdGVkDQril48JSXQgaXMgdGhlbiBwcmVwYXJlZCBmb3IgcmVsZWFzZQ0K4pePCU1hbnVhbCBhcHByb3ZhbCBtYXkgc3RpbGwgYmUgcmVxdWlyZWQgYmVmb3JlIGRlcGxveW1lbnQNCkNvbnRpbnVvdXMgRGVwbG95bWVudA0K4pePCUV2ZXJ5dGhpbmcgaXMgZnVsbHkgYXV0b21hdGVkDQril48JT25jZSBjb2RlIHBhc3NlcyB0ZXN0cywgaXQgaXMgZGlyZWN0bHkgZGVwbG95ZWQgdG8gcHJvZHVjdGlvbg0K4pePCU5vIG1hbnVhbCBpbnRlcnZlbnRpb24gaXMgbmVlZGVkDQpUaGlzIGhlbHBzIGNvbXBhbmllcyByZWxlYXNlIHVwZGF0ZXMgZmFzdCBhbmQgaW4gYSBzdGVhZHkgd2F5DQpNb2Rlcm4gZW5naW5lZXJpbmcgdGVhbXMgb2Z0ZW4gdXNlIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgcHJhY3RpY2VzIHRvIHVuZGVyc3RhbmQgaG93IGF1dG9tYXRpb24gd29ya3MgaW4gcmVhbCBzeXN0ZW1zIHdoaWxlIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgZXhwbGFpbnMgdGhlIGZ1bGwgZmxvdyBmcm9tIGNvZGUgdG8gcHJvZHVjdGlvbg0KV2h5IENJL0NEIE1hdHRlcnMgaW4gMjAyNg0KSW4gMjAyNiwgQ0kvQ0QgaXMgbm90IGp1c3QgYSBkZXZlbG9wbWVudCBwcmFjdGljZeKAlGl0IGlzIGEgZm91bmRhdGlvbiBvZiBtb2Rlcm4gc29mdHdhcmUgZGVsaXZlcnkuDQpJdCBzdXBwb3J0czoNCuKXjwlGYXN0ZXIgcmVsZWFzZSBjeWNsZXMNCuKXjwlJbXByb3ZlZCBzb2Z0d2FyZSBxdWFsaXR5DQril48JUmVkdWNlZCBodW1hbiBlcnJvcnMNCuKXjwlCZXR0ZXIgY29sbGFib3JhdGlvbiBiZXR3ZWVuIHRlYW1zDQril48JU2NhbGFibGUgZGVwbG95bWVudCBzeXN0ZW1zDQpUaGlzIGlzIHdoeSB1bmRlcnN0YW5kaW5nIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgYW5kIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgaGFzIGJlY29tZSB2ZXJ5IGltcG9ydGFudCBmb3IgZXZlcnkgZGV2ZWxvcGVyLCBEZXZPcHMgZW5naW5lZXIgYW5kIHRlY2ggY29tcGFueSB3b3JraW5nIGluIG1vZGVybiBjbG91ZCBzeXN0ZW1zLg0KQ29udGludW91cyBEZWxpdmVyeSB2cyBDb250aW51b3VzIERlcGxveW1lbnQNCiANClRoZXNlIHR3byB0ZXJtcyBhcmUgb2Z0ZW4gbWl4ZWQgYnV0IHRoZXkgYXJlIGRpZmZlcmVudC4gRXZlbiB0aG91Z2ggYm90aCBhcmUgcGFydCBvZiBDSSBDRCBwaXBlbGluZXMgYW5kIGJvdGggaGVscCBhdXRvbWF0ZSBzb2Z0d2FyZSByZWxlYXNlIHRoZSBtYWluIGRpZmZlcmVuY2UgaXMgaG93IGNvZGUgZ29lcyB0byBwcm9kdWN0aW9uIGFuZCB3aG8gY29udHJvbHMgdGhlIGZpbmFsIHN0ZXAuIFRoaXMgZGlzdGluY3Rpb24gaXMgb2Z0ZW4gZXhwbGFpbmVkIHdoZW4gdW5kZXJzdGFuZGluZyB3aGF0IGlzIGNpL2NkIHBpcGVsaW5lLCBiZWNhdXNlIGJvdGggbW9kZWxzIGRlZmluZSBkaWZmZXJlbnQgd2F5cyBhIENJL0NEIHN5c3RlbSBiZWhhdmVzIGluIHJlYWwgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuDQpDb250aW51b3VzIERlbGl2ZXJ5DQril48JQ29kZSBpcyBhdXRvbWF0aWNhbGx5IHRlc3RlZCB0aHJvdWdoIENJIHBpcGVsaW5lcyBhZnRlciBldmVyeSBjb21taXQNCuKXjwlFdmVyeSBjaGFuZ2UgZ29lcyB0aHJvdWdoIGEgc3RydWN0dXJlZCBidWlsZCBwcm9jZXNzDQril48JQXV0b21hdGVkIHRlc3RpbmcgY2hlY2tzIGZvciBidWdzLCBlcnJvcnMsIGFuZCBpbnRlZ3JhdGlvbiBpc3N1ZXMNCuKXjwlDb2RlIGlzIGFsd2F5cyBrZXB0IGluIGEgcHJvZHVjdGlvbi1yZWFkeSBzdGF0ZQ0KDQpUaGUgc3lzdGVtIG1ha2VzIHN1cmUgdGhlIGFwcGxpY2F0aW9uIGlzIGFsd2F5cyBzYWZlIHRvIGRlcGxveSBhdCBhbnkgdGltZS4NClRoaXMgbWVhbnMgZGV2ZWxvcGVycyBkbyBub3QgbmVlZCB0byBtYW51YWxseSBwcmVwYXJlIHRoZSBhcHAgZm9yIHJlbGVhc2UgZXZlcnkgdGltZS4gVGhlIHBpcGVsaW5lIGtlZXBzIGNoZWNraW5nIHRoZSBjb2RlIGFuZCBtYWtlcyBzdXJlIGV2ZXJ5dGhpbmcgaXMgc3RhYmxlIGJlZm9yZSBpdCBpcyByZWFkeSBmb3IgcHJvZHVjdGlvbi4NCkhvd2V2ZXIgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQgaXMNCkRlcGxveW1lbnQgaXMgdHJpZ2dlcmVkIG1hbnVhbGx5Lg0KRXZlbiBpZiBhbGwgdGVzdHMgcGFzcyBhbmQgdGhlIHN5c3RlbSBjb25maXJtcyBldmVyeXRoaW5nIGlzIHN0YWJsZSB0aGUgY29kZSBkb2VzIG5vdCBnbyBsaXZlIGF1dG9tYXRpY2FsbHkuIEEgcGVyc29uIGxpa2UgYSBEZXZPcHMgZW5naW5lZXIgb3IgZGV2ZWxvcGVyIGRlY2lkZXMgd2hlbiB0byBzZW5kIHRoZSBjaGFuZ2VzIHRvIHByb2R1Y3Rpb24uDQpUaGlzIGdpdmVzIG9yZ2FuaXphdGlvbnMgbW9yZSBjb250cm9sIG92ZXIgcmVsZWFzZXMsIGFsbG93aW5nIHRoZW0gdG86DQril48JQ2hvb3NlIG9wdGltYWwgZGVwbG95bWVudCB0aW1pbmcNCuKXjwlBdm9pZCByZWxlYXNpbmcgZHVyaW5nIHBlYWsgdHJhZmZpYyBob3Vycw0K4pePCUNvb3JkaW5hdGUgd2l0aCBidXNpbmVzcyBvciBtYXJrZXRpbmcgdGVhbXMNCuKXjwlSZWR1Y2UgcmlzayBpbiBjcml0aWNhbCBzeXN0ZW1zDQpUaGluayBvZiBpdCBhczoNCuKAnFJlYWR5IGFueXRpbWUsIGRlcGxveSB3aGVuIG5lZWRlZC7igJ0NClRoaXMgbW9kZWwgaXMgb2Z0ZW4gcmVmZXJlbmNlZCB3aGVuIGV4cGxhaW5pbmcgY2kvY2QgcGlwZWxpbmUgbWVhbmluZywgYmVjYXVzZSBpdCBjbGVhcmx5IHNob3dzIGhvdyBjb250cm9sbGVkIGRlcGxveW1lbnQgd29ya3MgaW5zaWRlIGEgQ0kvQ0QgcGlwZWxpbmUuDQpDb250aW51b3VzIERlcGxveW1lbnQNCkluIENvbnRpbnVvdXMgRGVwbG95bWVudDoNCuKXjwlDb2RlIGlzIGF1dG9tYXRpY2FsbHkgdGVzdGVkIHVzaW5nIENJIHBpcGVsaW5lcy4NCuKXjwlBZnRlciBhbGwgdGVzdHMgcGFzcyBzdWNjZXNzZnVsbHksIHRoZSBjb2RlIGlzIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgdG8gcHJvZHVjdGlvbi4NCuKXjwlUaGVyZSBpcyBubyBtYW51YWwgYXBwcm92YWwgc3RlcCBiZWZvcmUgZGVwbG95bWVudC4NCuKXjwlFdmVyeSB2YWxpZGF0ZWQgY2hhbmdlIGdvZXMgbGl2ZSBpbnN0YW50bHkuDQpUaGlzIG1ldGhvZCBmb2N1c2VzIG9uIGZ1bGwgYXV0b21hdGlvbiB3aGVyZSB0aGUgc3lzdGVtIGl0c2VsZiBjaGVja3MgcXVhbGl0eSB1c2luZyB0ZXN0cyBhbmQgaWYgZXZlcnl0aGluZyBpcyBzdGFibGUgaXQgZGlyZWN0bHkgc2VuZHMgdGhlIHVwZGF0ZSB0byB1c2Vycy4NClRoaXMgbWVhbnMgZGV2ZWxvcGVycyBkbyBub3Qgd2FpdCBmb3IgcmVsZWFzZSBzY2hlZHVsZXMgb3IgbWFudWFsIGFwcHJvdmFscyBUaGUgcGlwZWxpbmUgaXRzZWxmIGRlY2lkZXMgd2hlbiB0byBkZXBsb3kuDQpUaGluayBvZiBpdCBsaWtlIHRoaXMNCiBJZiBpdCB3b3JrcyByZWxlYXNlIGl0IGltbWVkaWF0ZWx5DQpNb2Rlcm4gRGV2T3BzIHRlYW1zIG9mdGVuIHN0dWR5IHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgdG8gdW5kZXJzdGFuZCBob3cgQ29udGludW91cyBEZXBsb3ltZW50IGZ1bGx5IGF1dG9tYXRlcyBzb2Z0d2FyZSByZWxlYXNlIGluc2lkZSBhIENJIENEIHBpcGVsaW5lIHdoaWxlIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgZXhwbGFpbnMgdGhlIGZ1bGwgZmxvdyBmcm9tIGNvZGUgdG8gcHJvZHVjdGlvbi4NCldoYXQgaXMgYSBDSSBDRCBQaXBlbGluZQ0KIA0KQSBDSSBDRCBwaXBlbGluZSBpcyBhIHNpbXBsZSBhdXRvbWF0ZWQgd29ya2Zsb3cgdGhhdCB0YWtlcyBjb2RlIGZyb20gZGV2ZWxvcG1lbnQgYW5kIG1vdmVzIGl0IHRvIHByb2R1Y3Rpb24uDQpJdCBtYWtlcyBzdXJlIGV2ZXJ5IGNvZGUgY2hhbmdlIGlzIGJ1aWx0LCB0ZXN0ZWQgYW5kIGRlbGl2ZXJlZCBpbiBhIHByb3BlciBhbmQgcmVsaWFibGUgd2F5IHdpdGhvdXQgbWFudWFsIHdvcmsuDQpBIG5vcm1hbCBDSSBDRCBwaXBlbGluZSBoYXMgZGlmZmVyZW50IHN0ZXBzLg0KMS4gU291cmNlIENvbnRyb2wNClRoaXMgaXMgdGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSBwaXBlbGluZS4gRGV2ZWxvcGVycyB3cml0ZSBhbmQgc3RvcmUgdGhlaXIgY29kZSBpbiB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtcyBzdWNoIGFzOg0K4pePCUdpdCByZXBvc2l0b3JpZXMNCuKXjwlHaXRIdWINCuKXjwlHaXRMYWINCuKXjwlCaXRidWNrZXQNCldoZW5ldmVyIGEgZGV2ZWxvcGVyIHB1c2hlcyBuZXcgY29kZSwgaXQgYXV0b21hdGljYWxseSB0cmlnZ2VycyB0aGUgQ0kvQ0QgcGlwZWxpbmUuIFRoaXMgZW5zdXJlcyB0aGF0IGV2ZXJ5IGNoYW5nZSBpcyB0cmFja2VkLCB2ZXJzaW9uZWQsIGFuZCBwcm9jZXNzZWQgdGhyb3VnaCB0aGUgc2FtZSB3b3JrZmxvdy4NCjIuIEJ1aWxkIFN0YWdlDQpJbiB0aGlzIHN0YWdlLCB0aGUgc3lzdGVtIHByZXBhcmVzIHRoZSBhcHBsaWNhdGlvbiBmb3IgdGVzdGluZyBhbmQgZGVwbG95bWVudC4gSXQgdHlwaWNhbGx5IGluY2x1ZGVzOg0K4pePCUNvbXBpbGluZyBzb3VyY2UgY29kZQ0K4pePCVJlc29sdmluZyBkZXBlbmRlbmNpZXMgYW5kIGxpYnJhcmllcw0K4pePCVBhY2thZ2luZyB0aGUgYXBwbGljYXRpb24gaW50byBidWlsZCBhcnRpZmFjdHMNCuKXjwlQcmVwYXJpbmcgcnVudGltZS1jb21wYXRpYmxlIG91dHB1dA0KVGhpcyBzdGVwIGVuc3VyZXMgdGhhdCB0aGUgY29kZSBpcyB0ZWNobmljYWxseSBjb3JyZWN0IGFuZCBjYW4gYmUgZXhlY3V0ZWQgaW4gYSBjb250cm9sbGVkIGVudmlyb25tZW50Lg0KMy4gVGVzdGluZyBTdGFnZQ0KVGhpcyBpcyBvbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnRzIG9mIHRoZSBwaXBlbGluZS4gQXV0b21hdGVkIHRlc3RzIGFyZSBleGVjdXRlZCB0byBlbnN1cmUgY29kZSBxdWFsaXR5IGFuZCBzdGFiaWxpdHksIHN1Y2ggYXM6DQril48JVW5pdCB0ZXN0cyAodGVzdGluZyBpbmRpdmlkdWFsIGNvbXBvbmVudHMpDQril48JSW50ZWdyYXRpb24gdGVzdHMgKHRlc3RpbmcgY29tYmluZWQgbW9kdWxlcykNCuKXjwlFbmQtdG8tZW5kIHRlc3RzICh0ZXN0aW5nIGZ1bGwgYXBwbGljYXRpb24gZmxvdykNCuKXjwlTZWN1cml0eSB0ZXN0cyAoY2hlY2tpbmcgdnVsbmVyYWJpbGl0aWVzIGFuZCByaXNrcykNCkluIDIwMjYsIENJL0NEIHBpcGVsaW5lcyBhcmUgZnVydGhlciBlbmhhbmNlZCB3aXRoIEFJLXBvd2VyZWQgdGVzdGluZyB0b29scyB0aGF0IGhlbHAgaWRlbnRpZnk6DQril48JRWRnZS1jYXNlIGZhaWx1cmVzDQril48JUGVyZm9ybWFuY2UgYm90dGxlbmVja3MNCuKXjwlTZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMNCuKXjwlVbmV4cGVjdGVkIHN5c3RlbSBiZWhhdmlvcg0KVGhpcyBtYWtlcyB0aGUgdGVzdGluZyBwcm9jZXNzIHNtYXJ0ZXIsIGZhc3RlciwgYW5kIG1vcmUgcmVsaWFibGUuDQo0LiBEZXBsb3ltZW50IFN0YWdlDQpUaGlzIGlzIHRoZSBmaW5hbCBzdGFnZSB3aGVyZSB0aGUgYXBwbGljYXRpb24gaXMgZGVsaXZlcmVkIHRvIHVzZXJzIG9yIGVudmlyb25tZW50cy4gVGhlIHRlc3RlZCBjb2RlIGlzIGRlcGxveWVkIHRvOg0K4pePCVN0YWdpbmcgZW52aXJvbm1lbnRzIChmb3IgZmluYWwgdmFsaWRhdGlvbikNCuKXjwlQcm9kdWN0aW9uIGVudmlyb25tZW50cyAobGl2ZSB1c2VyIHN5c3RlbXMpDQril48JQ2xvdWQgaW5mcmFzdHJ1Y3R1cmUgcGxhdGZvcm1zDQpNb2Rlcm4gQ0kvQ0Qgc3lzdGVtcyBvZnRlbiB1c2UgYWR2YW5jZWQgZGVwbG95bWVudCBzdHJhdGVnaWVzIGxpa2U6DQril48JQmx1ZS1ncmVlbiBkZXBsb3ltZW50cyAoc3dpdGNoaW5nIGJldHdlZW4gdHdvIGVudmlyb25tZW50cykNCuKXjwlDYW5hcnkgcmVsZWFzZXMgKHJlbGVhc2luZyB0byBhIHNtYWxsIHVzZXIgZ3JvdXAgZmlyc3QpDQril48JUm9sbGluZyB1cGRhdGVzIChncmFkdWFsIHN5c3RlbS13aWRlIGRlcGxveW1lbnQpDQpUaGVzZSBtZXRob2RzIGhlbHAgcmVkdWNlIGRvd250aW1lIGFuZCBtaW5pbWl6ZSByaXNrIGR1cmluZyByZWxlYXNlcy4NCkluIHJlYWwgd29ybGQgQ0kgQ0Qgc3lzdGVtcywgdW5kZXJzdGFuZGluZyB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGFuZCBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIGlzIHZlcnkgaW1wb3J0YW50IGJlY2F1c2UgYm90aCBleHBsYWluIGhvdyBhdXRvbWF0aW9uIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQgd29yayB0b2dldGhlciBpbiBtb2Rlcm4gc29mdHdhcmUgZGVsaXZlcnkuDQpIb3cgQ0kgQ0QgV29ya3MgaW4gTW9kZXJuIFN5c3RlbXMgMjAyNg0KQ0kgQ0QgaGFzIGNoYW5nZWQgYSBsb3QgaW4gcmVjZW50IHllYXJzIEVhcmxpZXIgaXQgd2FzIG9ubHkgYW4gYXV0b21hdGlvbiBwcm9jZXNzIGJ1dCBub3cgaXQgaGFzIGJlY29tZSBhIHNtYXJ0IEFJIGJhc2VkIHN5c3RlbSB0aGF0IGltcHJvdmVzIHNvZnR3YXJlIHF1YWxpdHkgc3BlZWQgYW5kIHJlbGlhYmlsaXR5DQpNb2Rlcm4gZW5naW5lZXJpbmcgdGVhbXMgZmlyc3QgdW5kZXJzdGFuZCB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGJlZm9yZSBidWlsZGluZyBhbnkgZGVsaXZlcnkgc3lzdGVtIGJlY2F1c2UgdGhpcyBjb25jZXB0IGlzIHRoZSBiYXNlIG9mIG1vZGVybiBzb2Z0d2FyZSBkZXZlbG9wbWVudA0KSW4gMjAyNiBDSSBDRCBwaXBlbGluZXMgYXJlIG5vdCBqdXN0IHNpbXBsZSBzY3JpcHRzIHRoYXQgcnVuIGJ1aWxkcyBhbmQgdGVzdHMuIFRoZXkgYXJlIG5vdyBzbWFydCBzeXN0ZW1zIHRoYXQgY2FuIGNoZWNrIGNvZGUsIGZpbmQgcmlza3MgYW5kIGltcHJvdmUgZGVwbG95bWVudHMgYXV0b21hdGljYWxseS4gVGhpcyBldm9sdXRpb24gaXMgYWxzbyBjbG9zZWx5IGNvbm5lY3RlZCB0byB0aGUgZ3Jvd2luZyB1bmRlcnN0YW5kaW5nIG9mIGNpL2NkIHBpcGVsaW5lIG1lYW5pbmcgaW4gbW9kZXJuIERldk9wcyBlbnZpcm9ubWVudHMuIFRoZSBpZGVhIG9mIGNpL2NkIHBpcGVsaW5lIG1lYW5pbmcgaGVscHMgdGVhbXMgZGVmaW5lIHN0cnVjdHVyZWQgYXV0b21hdGlvbiBpbiBzb2Z0d2FyZSBkZWxpdmVyeS4NCk1vZGVybiBDSS9DRCBGbG93DQpBIHR5cGljYWwgbW9kZXJuIENJL0NEIHBpcGVsaW5lIHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6DQril48JRGV2ZWxvcGVyIGNvbW1pdHMgY29kZSB0byBhIHJlcG9zaXRvcnkgKEdpdC1iYXNlZCBzeXN0ZW1zKQ0K4pePCUFJIGJhc2VkIHByZS1jaGVja3MgYW5hbHl6ZSB0aGUgY29kZSBmb3IgcXVhbGl0eSBpc3N1ZXMsIHBlcmZvcm1hbmNlIHJpc2tzIGFuZCBzZWN1cml0eSBwcm9ibGVtcy4NCuKXjwlUaGUgQ0kgQ0QgcGlwZWxpbmUgaXMgYXV0b21hdGljYWxseSB0cmlnZ2VyZWQgd2hlbiBjb2RlIGlzIGNvbW1pdHRlZCBvciBtZXJnZWQuDQril48JTXVsdGlwbGUgdGVzdHMgcnVuIGF0IHRoZSBzYW1lIHRpbWUgaW4gcGFyYWxsZWwgdG8gc2F2ZSB0aW1lIGFuZCBpbXByb3ZlIHNwZWVkLg0K4pePCVNlY3VyaXR5IHNjYW5uaW5nIHRvb2xzIGNoZWNrIGZvciB2dWxuZXJhYmlsaXRpZXMgaW4gZGVwZW5kZW5jaWVzIGFuZCBjb2RlIHN0cnVjdHVyZSBpbiByZWFsIHRpbWUuDQril48JQSBidWlsZCBpcyBnZW5lcmF0ZWQgYWZ0ZXIgc3VjY2Vzc2Z1bCB2YWxpZGF0aW9uIG9mIGNvZGUuDQril48JRGVwbG95bWVudCBpcyBleGVjdXRlZCBlaXRoZXIgYXV0b21hdGljYWxseSBvciB3aXRoIGNvbnRyb2xsZWQgYXBwcm92YWwgKGRlcGVuZGluZyBvbiBzeXN0ZW0gZGVzaWduKQ0KVGhpcyBlbnRpcmUgZmxvdyBlbnN1cmVzIHRoYXQgc29mdHdhcmUgbW92ZXMgZnJvbSBkZXZlbG9wbWVudCB0byBwcm9kdWN0aW9uIGluIGEgZmFzdCwgc2FmZSwgYW5kIHByZWRpY3RhYmxlIHdheS4gSXQgaXMgYSBwcmFjdGljYWwgaW1wbGVtZW50YXRpb24gb2Ygd2hhdCBpcyBjaS9jZCBwaXBlbGluZSwgd2hlcmUgdGhlIHN5c3RlbSBpcyBidWlsdCBhcm91bmQgd2hhdCBpcyBjaS9jZCBwaXBlbGluZSBwcmluY2lwbGVzLg0KS2V5IEJlbmVmaXRzIG9mIENJL0NEIFBpcGVsaW5lcw0KMS4gRmFzdGVyIFNvZnR3YXJlIERlbGl2ZXJ5DQpDSS9DRCByZW1vdmVzIG1hbnVhbCBzdGVwcyBmcm9tIHRoZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUsIGFsbG93aW5nIHRlYW1zIHRvIHJlbGVhc2Ugc29mdHdhcmUgbXVjaCBmYXN0ZXIuDQpJbnN0ZWFkIG9mIHdhaXRpbmcgZm9yIGxvbmcgcmVsZWFzZSBjeWNsZXMsIHRlYW1zIGNhbiBub3cgcHVzaCB1cGRhdGVzIGluIHJlYWwgdGltZToNCuKXjwlEYWlseSBmZWF0dXJlIHVwZGF0ZXMNCuKXjwlXZWVrbHkgaW1wcm92ZW1lbnRzIGFuZCBlbmhhbmNlbWVudHMNCuKXjwlFbWVyZ2VuY3kgYnVnIGZpeGVzIHdpdGhpbiBtaW51dGVzDQpUaGlzIHNwZWVkIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IGluIDIwMjYsIHdoZXJlIHVzZXJzIGV4cGVjdCBpbnN0YW50IHVwZGF0ZXMgYW5kIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnRzLiBPcmdhbml6YXRpb25zIGFsc28gcmVseSBvbiBjaS9jZCBwaXBlbGluZSBtZWFuaW5nIHRvIG9wdGltaXplIHRoZWlyIHJlbGVhc2Ugc3RyYXRlZ2llcy4gTWFueSBvcmdhbml6YXRpb25zIHN0dWR5IGNpL2NkIHBpcGVsaW5lIG1lYW5pbmcgdG8gb3B0aW1pemUgZGVsaXZlcnkgc3BlZWQgYW5kIHdvcmtmbG93IGVmZmljaWVuY3kuDQoyLiBJbXByb3ZlZCBDb2RlIFF1YWxpdHkNCk9uZSBvZiB0aGUgYmlnZ2VzdCBhZHZhbnRhZ2VzIG9mIENJL0NEIGlzIGNvbnNpc3RlbnQgY29kZSBxdWFsaXR5IHRocm91Z2ggYXV0b21hdGlvbi4NCkF1dG9tYXRlZCB0ZXN0aW5nIGVuc3VyZXM6DQril48JQnVncyBhcmUgZGV0ZWN0ZWQgZWFybHkgaW4gZGV2ZWxvcG1lbnQNCuKXjwlSZWdyZXNzaW9uIGlzc3VlcyBhcmUgYXZvaWRlZCBiZWZvcmUgcHJvZHVjdGlvbiByZWxlYXNlDQril48JT25seSBzdGFibGUgYW5kIHZlcmlmaWVkIGJ1aWxkcyBtb3ZlIGZvcndhcmQgaW4gdGhlIHBpcGVsaW5lDQpUaGlzIHJlZHVjZXMgcHJvZHVjdGlvbiBmYWlsdXJlcyBhbmQgaW1wcm92ZXMgb3ZlcmFsbCBzb2Z0d2FyZSByZWxpYWJpbGl0eS4gQSBjbGVhciB1bmRlcnN0YW5kaW5nIG9mIHdoYXQgaXMgY2kvY2QgcGlwZWxpbmUgaGVscHMgdGVhbXMgYnVpbGQgYmV0dGVyIHF1YWxpdHkgc3lzdGVtcy4gVGhlIGNvbmNlcHQgb2Ygd2hhdCBpcyBjaS9jZCBwaXBlbGluZSBpcyBjZW50cmFsIHRvIG1vZGVybiBEZXZPcHMgd29ya2Zsb3dzLg0KMy4gUmVkdWNlZCBIdW1hbiBFcnJvcg0KTWFudWFsIGRlcGxveW1lbnRzIG9mdGVuIGxlYWQgdG8gbWlzdGFrZXMgc3VjaCBhczoNCuKXjwlJbmNvcnJlY3QgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4NCuKXjwlNaXNzaW5nIGRlcGxveW1lbnQgc3RlcHMuDQril48JVGhlIGVudmlyb25tZW50IG1pc21hdGNoZXMgYmV0d2VlbiBkZXZlbG9wbWVudCBhbmQgcHJvZHVjdGlvbi4NCkNJIENEIHJlbW92ZXMgdGhlc2Ugcmlza3MgYnkgbWFraW5nIHRoZSB3aG9sZSBwcm9jZXNzIHN0YW5kYXJkIHRocm91Z2ggYXV0b21hdGlvbiBzbyBldmVyeSBkZXBsb3ltZW50IGZvbGxvd3MgdGhlIHNhbWUgc2FmZSBhbmQgdGVzdGVkIHN0ZXBzLg0KVGhpcyBpcyBkaXJlY3RseSByZWxhdGVkIHRvIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgd2hlcmUgY2kgY2QgcGlwZWxpbmUgbWVhbmluZyBleHBsYWlucyBhIHN0cnVjdHVyZWQgYW5kIGVycm9yIGZyZWUgZGVsaXZlcnkgcHJvY2Vzcy4NCjQuIEJldHRlciBDb2xsYWJvcmF0aW9uDQpDSSBDRCBoZWxwcyBpbXByb3ZlIHRlYW13b3JrIGJldHdlZW4gYWxsIHBlb3BsZSBpbnZvbHZlZCBpbiBzb2Z0d2FyZSBkZXZlbG9wbWVudCBJdCBjcmVhdGVzIG9uZSBzaGFyZWQgd29ya2Zsb3cgZm9yLg0K4pePCURldmVsb3BlcnMgd2hvIHdyaXRlIGFuZCBjb21taXQgY29kZS4NCuKXjwlRQSBlbmdpbmVlcnMgd2hvIHRlc3QgYW5kIGNoZWNrIHRoZSBzeXN0ZW0uDQril48JRGV2T3BzIHRlYW1zIHdobyBoYW5kbGUgZGVwbG95bWVudCBhbmQgaW5mcmFzdHJ1Y3R1cmUuDQpTaW5jZSBldmVyeXRoaW5nIGlzIGF1dG9tYXRlZCBhbmQgdmlzaWJsZSBpbiBwaXBlbGluZXMgdGVhbXMgY2FuIGVhc2lseSB0cmFjayBjaGFuZ2VzLCBmaW5kIHByb2JsZW1zIGFuZCB3b3JrIHRvZ2V0aGVyIGluIGEgYmV0dGVyIHdheS4NClRoaXMgdGVhbXdvcmsgbW9kZWwgaXMgYmFzZWQgb24gd2hhdCBpcyBjaSBjZCBwaXBlbGluZSB3aGVyZSB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGdpdmVzIHNoYXJlZCB2aXNpYmlsaXR5IGFuZCBhdXRvbWF0aW9uLg0KNSBTY2FsYWJpbGl0eQ0KTW9kZXJuIENJIENEIHN5c3RlbXMgYXJlIGJ1aWx0IHRvIGhhbmRsZSBsYXJnZSBhbmQgY29tcGxleCBhcHBsaWNhdGlvbnMgZWFzaWx5IFRoZXkgc3VwcG9ydDoNCuKXjwlCaWcgZW50ZXJwcmlzZSBhcHBsaWNhdGlvbnMuDQril48JTWljcm9zZXJ2aWNlcyBiYXNlZCBzeXN0ZW1zLg0K4pePCU11bHRpIGNsb3VkIGVudmlyb25tZW50cyBsaWtlIEFXUyBBenVyZSBhbmQgR0NQLg0KVGhpcyBtYWtlcyBDSSBDRCB2ZXJ5IGltcG9ydGFudCBmb3IgY29tcGFuaWVzIHRoYXQgd2FudCB0byBncm93IHRoZWlyIGFwcGxpY2F0aW9ucyBnbG9iYWxseSB3aXRob3V0IHBlcmZvcm1hbmNlIHByb2JsZW1zLg0KVGhlIGNvbmNlcHQgb2YgY2kvY2QgcGlwZWxpbmUgbWVhbmluZyBiZWNvbWVzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gc2NhbGluZyBzeXN0ZW1zIGFjcm9zcyBkaXN0cmlidXRlZCBlbnZpcm9ubWVudHMuDQoNCkNJL0NEIFRvb2xzIGluIDIwMjYNClRvZGF5LCBtYW55IGFkdmFuY2VkIHRvb2xzIGFyZSB1c2VkIHRvIGJ1aWxkIGFuZCBtYW5hZ2UgQ0kvQ0QgcGlwZWxpbmVzLiBTb21lIG9mIHRoZSBtb3N0IHdpZGVseSB1c2VkIHRvb2xzIGluY2x1ZGU6DQril48JR2l0SHViIEFjdGlvbnMNCuKXjwlHaXRMYWIgQ0kvQ0QNCuKXjwlKZW5raW5zDQril48JQ2lyY2xlQ0kNCuKXjwlBcmdvIENEDQpUaGVzZSB0b29scyBoZWxwIGF1dG9tYXRlIGV2ZXJ5IHN0YWdlIG9mIHNvZnR3YXJlIGRlbGl2ZXJ5LCBmcm9tIGNvZGUgaW50ZWdyYXRpb24gdG8gcHJvZHVjdGlvbiBkZXBsb3ltZW50LCBtYWtpbmcgbW9kZXJuIERldk9wcyBzeXN0ZW1zIGZhc3RlciBhbmQgbW9yZSByZWxpYWJsZS4NCkNJL0NEIGluIENsb3VkLU5hdGl2ZSBFbnZpcm9ubWVudHMNCkNJIENEIGlzIGNsb3NlbHkgY29ubmVjdGVkIHdpdGggY2xvdWQgbmF0aXZlIGRldmVsb3BtZW50IEluIG1vZGVybiBzeXN0ZW1zIGFwcGxpY2F0aW9ucyBhcmUgbm90IGRlcGxveWVkIGFzIG9uZSBzaW5nbGUgYmxvY2sgSW5zdGVhZCB0aGV5IGFyZSBidWlsdCB1c2luZyBkaXN0cmlidXRlZCBzeXN0ZW1zIHRoYXQgbmVlZCBjb250aW51b3VzIGFuZCBhdXRvbWF0aWMgZGVsaXZlcnkuDQpUb2RheSBjbG91ZCBuYXRpdmUgZW52aXJvbm1lbnRzIGRlcGVuZCBvbi4NCuKXjwlDb250YWluZXJzIHRoYXQgcGFja2FnZSBhcHBsaWNhdGlvbnMgd2l0aCBhbGwgbmVlZGVkIGZpbGVzLg0K4pePCU1pY3Jvc2VydmljZXMgdGhhdCBzcGxpdCBhcHBsaWNhdGlvbnMgaW50byBzbWFsbCBpbmRlcGVuZGVudCBwYXJ0cy4NCuKXjwlLdWJlcm5ldGVzIHRoYXQgbWFuYWdlcyBhbmQgc2NhbGVzIGNvbnRhaW5lcnMuDQril48JU2VydmVybGVzcyBmdW5jdGlvbnMgdGhhdCBydW4gY29kZSB3aXRob3V0IG1hbmFnaW5nIHNlcnZlcnMuDQpJbiB0aGVzZSBzeXN0ZW1zIENJIENEIHBpcGVsaW5lcyBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHdpdGggY2xvdWQgcGxhdGZvcm1zLiBBZnRlciBjb2RlIGlzIHRlc3RlZCBhbmQgdmVyaWZpZWQgaXQgaXMgYXV0b21hdGljYWxseSBkZXBsb3llZCBpbnRvIGVudmlyb25tZW50cyBtYW5hZ2VkIGJ5IEt1YmVybmV0ZXMuIFRoaXMgaGVscHMgYXBwbGljYXRpb25zIHNjYWxlLCByZWNvdmVyIGFuZCB1cGRhdGUgc21vb3RobHkgaW4gdGhlIGNsb3VkLg0KQUkgUmV2b2x1dGlvbiBpbiBDSSBDRCBNYWpvciAyMDI2IFVwZGF0ZQ0KT25lIG9mIHRoZSBiaWdnZXN0IGNoYW5nZXMgaW4gQ0kgQ0QgaXMgdGhlIHVzZSBvZiBBcnRpZmljaWFsIEludGVsbGlnZW5jZSBJbiAyMDI2LiBDSS9DRCBpcyBub3Qgb25seSBzaW1wbGUgYXV0b21hdGlvbiBpdCBoYXMgYmVjb21lIHNtYXJ0IGFuZCBwcmVkaWN0aXZlIGF1dG9tYXRpb24uDQoxLiBBSSBDb2RlIFJldmlldw0KQUktcG93ZXJlZCB0b29scyBub3cgYXNzaXN0IGRldmVsb3BlcnMgYnkgYW5hbHl6aW5nIGNvZGUgYmVmb3JlIHRyYWRpdGlvbmFsIHRlc3RpbmcgZXZlbiBiZWdpbnMuDQpUaGVzZSB0b29scyBjYW46DQril48JRGV0ZWN0aW5nIHBvdGVudGlhbCBidWdzIGluIGVhcmx5IGRldmVsb3BtZW50IHN0YWdlcy4NCuKXjwlTdWdnZXN0IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBhbmQgb3B0aW1pemF0aW9ucy4NCuKXjwlJZGVudGlmeSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgYW5kIHJpc2t5IGNvZGUgcGF0dGVybnMuDQpUaGlzIHJlZHVjZXMgZGV2ZWxvcG1lbnQgZXJyb3JzIGFuZCBpbXByb3ZlcyBjb2RlIHF1YWxpdHkgYmVmb3JlIHRoZSBwaXBlbGluZSBldmVuIHN0YXJ0cyB0ZXN0aW5nLg0KMi4gUHJlZGljdGl2ZSBUZXN0aW5nDQpBSSBoYXMgYWxzbyBpbXByb3ZlZCB0aGUgdGVzdGluZyBwaGFzZSBzaWduaWZpY2FudGx5IGJ5IGludHJvZHVjaW5nIHByZWRpY3RpdmUgYW5hbHlzaXMuDQpNb2Rlcm4gc3lzdGVtcyBjYW46DQril48JUHJlZGljdCB3aGljaCB0ZXN0IGNhc2VzIGFyZSBtb3N0IGxpa2VseSB0byBmYWlsLg0K4pePCUlkZW50aWZ5IGhpZ2gtcmlzayBhcmVhcyBpbiBjb2RlIGNoYW5nZXMuDQril48JRXZhbHVhdGUgd2hldGhlciBhIGNoYW5nZSBpcyBzYWZlIHRvIGRlcGxveS4NClRoaXMgbWFrZXMgdGVzdGluZyBmYXN0ZXIgYW5kIG1vcmUgZWZmaWNpZW50IGJ5IGZvY3VzaW5nIHJlc291cmNlcyBvbiBjcml0aWNhbCBhcmVhcyBpbnN0ZWFkIG9mIHJ1bm5pbmcgZXZlcnkgdGVzdCBibGluZGx5Lg0KMy4gSW50ZWxsaWdlbnQgRGVwbG95bWVudA0KQUkgaXMgbm93IGFjdGl2ZWx5IGludm9sdmVkIGluIGRlcGxveW1lbnQgZGVjaXNpb25zLg0KSXQgY2FuIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lOg0K4pePCVdoZW4gdGhlIGJlc3QgdGltZSB0byBkZXBsb3kgaXMuDQril48JV2hlcmUgdGhlIGRlcGxveW1lbnQgc2hvdWxkIGJlIGV4ZWN1dGVkIChyZWdpb24uIG9yIGVudmlyb25tZW50KQ0K4pePCUhvdyB0byBzY2FsZSBzZXJ2aWNlcyBiYXNlZCBvbiBleHBlY3RlZCBkZW1hbmQuDQpUaGlzIGVuc3VyZXMgc21vb3RoZXIgcmVsZWFzZXMgd2l0aCBtaW5pbWFsIGRvd250aW1lIGFuZCBvcHRpbWFsIHBlcmZvcm1hbmNlLg0KNC4gQXV0byBSb2xsYmFjayBTeXN0ZW1zDQpPbmUgb2YgdGhlIG1vc3QgcG93ZXJmdWwgZmVhdHVyZXMgaW4gbW9kZXJuIENJL0NEIGlzIGF1dG9tYXRpYyByb2xsYmFjayBwb3dlcmVkIGJ5IEFJLg0KSWYgdGhlIHN5c3RlbSBkZXRlY3RzOg0K4pePCUVycm9ycyBpbiBwcm9kdWN0aW9uDQril48JU3VkZGVuIHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9uDQril48JU2VjdXJpdHkgdGhyZWF0cyBvciB1bnVzdWFsIGJlaGF2aW9yDQpJdCBjYW4gYXV0b21hdGljYWxseSByb2xsIGJhY2sgdGhlIGRlcGxveW1lbnQgdG8gdGhlIHByZXZpb3VzIHN0YWJsZSB2ZXJzaW9uIHdpdGhvdXQgd2FpdGluZyBmb3IgaHVtYW4gaW50ZXJ2ZW50aW9uLg0KVGhpcyBzaWduaWZpY2FudGx5IHJlZHVjZXMgcmlzayBhbmQgaW1wcm92ZXMgc3lzdGVtIHJlbGlhYmlsaXR5Lg0KQ0kvQ0QgUGlwZWxpbmUgQXJjaGl0ZWN0dXJlIChNb2Rlcm4gVmlldykNCkEgbW9kZXJuIENJL0NEIHBpcGVsaW5lIGluIDIwMjYgaXMgc3RydWN0dXJlZCBpbnRvIG11bHRpcGxlIGludGVsbGlnZW50IGxheWVycywgZWFjaCByZXNwb25zaWJsZSBmb3IgYSBzcGVjaWZpYyBwYXJ0IG9mIHRoZSBkZWxpdmVyeSBwcm9jZXNzOg0KMS4gRGV2ZWxvcGVyIExheWVyDQpUaGlzIGlzIHdoZXJlIGV2ZXJ5dGhpbmcgYmVnaW5zOg0K4pePCVdyaXRpbmcgY29kZQ0K4pePCVJ1bm5pbmcgbG9jYWwgdGVzdHMNCuKXjwlDb21taXR0aW5nIGNoYW5nZXMgdG8gR2l0IHJlcG9zaXRvcmllcw0KMi4gQXV0b21hdGlvbiBMYXllcg0KVGhpcyBsYXllciBoYW5kbGVzIGNvcmUgQ0kvQ0QgZXhlY3V0aW9uOg0K4pePCVRyaWdnZXJpbmcgcGlwZWxpbmVzIG9uIGNvZGUgY2hhbmdlcw0K4pePCUJ1aWxkaW5nIGFwcGxpY2F0aW9ucw0K4pePCVJ1bm5pbmcgYXV0b21hdGVkIHRlc3Qgc3VpdGVzDQozLiBTZWN1cml0eSBMYXllcg0KU2VjdXJpdHkgaXMgZGVlcGx5IGludGVncmF0ZWQgaW50byB0aGUgcGlwZWxpbmU6DQril48JU3RhdGljIGNvZGUgYW5hbHlzaXMNCuKXjwlEZXBlbmRlbmN5IHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcNCuKXjwlBSS1iYXNlZCB0aHJlYXQgZGV0ZWN0aW9uIGFuZCBhbm9tYWx5IGFuYWx5c2lzDQo0LiBEZXBsb3ltZW50IExheWVyDQpUaGlzIGxheWVyIGhhbmRsZXMgZGVsaXZlcnkgdG8gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHM6DQril48JQ2xvdWQgZGVwbG95bWVudHMNCuKXjwlDb250YWluZXIgb3JjaGVzdHJhdGlvbiB1c2luZyBLdWJlcm5ldGVzDQril48JU2VydmVybGVzcyBmdW5jdGlvbiBkZXBsb3ltZW50DQo1LiBNb25pdG9yaW5nIExheWVyDQpBZnRlciBkZXBsb3ltZW50LCBzeXN0ZW1zIGFyZSBjb250aW51b3VzbHkgb2JzZXJ2ZWQ6DQril48JUmVhbC10aW1lIGxvZ3MNCuKXjwlQZXJmb3JtYW5jZSBtZXRyaWNzDQril48JQWxlcnRzIGFuZCBub3RpZmljYXRpb25zDQril48JQUktYmFzZWQgYW5vbWFseSBkZXRlY3Rpb24gYW5kIHN5c3RlbSBoZWFsdGggdHJhY2tpbmcNClRoaXMgbGF5ZXJlZCBhcmNoaXRlY3R1cmUgZW5zdXJlcyB0aGF0IENJL0NEIGluIDIwMjYgaXMgbm90IGp1c3QgYWJvdXQgYXV0b21hdGlvbiwgYnV0IGFib3V0IGJ1aWxkaW5nIHNlbGYtYXdhcmUsIHNlY3VyZSwgYW5kIGhpZ2hseSBzY2FsYWJsZSBzb2Z0d2FyZSBkZWxpdmVyeSBzeXN0ZW1zLg0KQmVzdCBQcmFjdGljZXMgZm9yIENJL0NEICgyMDI2KQ0KSW4gbW9kZXJuIHNvZnR3YXJlIGRldmVsb3BtZW50LCBmb2xsb3dpbmcgcHJvcGVyIENJL0NEIHByYWN0aWNlcyBpcyBlc3NlbnRpYWwgdG8gZW5zdXJlIHN5c3RlbXMgcmVtYWluIGZhc3QsIHJlbGlhYmxlLCBhbmQgc2VjdXJlLiBBcyBwaXBlbGluZXMgYmVjb21lIG1vcmUgY29tcGxleCBpbiAyMDI2LCB0aGVzZSBiZXN0IHByYWN0aWNlcyBoZWxwIG1haW50YWluIHN0YWJpbGl0eSBhbmQgZWZmaWNpZW5jeS4NCjEuIEF1dG9tYXRlIEV2ZXJ5dGhpbmcgUG9zc2libGUNCkF1dG9tYXRpb24gaXMgdGhlIGNvcmUgZm91bmRhdGlvbiBvZiBDSS9DRC4NClRlYW1zIHNob3VsZCBhdXRvbWF0ZToNCuKXjwlCdWlsZHMNCuKXjwlUZXN0aW5nIHByb2Nlc3Nlcw0K4pePCURlcGxveW1lbnQgd29ya2Zsb3dzDQril48JU2VjdXJpdHkgc2Nhbm5pbmcgYW5kIGNoZWNrcw0KVGhpcyByZWR1Y2VzIG1hbnVhbCBlZmZvcnQgYW5kIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIGFsbCBzdGFnZXMgb2YgdGhlIHBpcGVsaW5lLiBUaGUgbW9yZSBhdXRvbWF0aW9uIGlzIGltcGxlbWVudGVkLCB0aGUgZmV3ZXIgY2hhbmNlcyB0aGVyZSBhcmUgZm9yIGh1bWFuIGVycm9yLg0KMi4gU2hpZnQgTGVmdCBUZXN0aW5nDQrigJxTaGlmdCBsZWZ04oCdIG1lYW5zIG1vdmluZyB0ZXN0aW5nIGVhcmxpZXIgaW4gdGhlIGRldmVsb3BtZW50IGxpZmVjeWNsZS4NCkluc3RlYWQgb2YgdGVzdGluZyBhdCB0aGUgZW5kLCB0ZWFtcyBub3c6DQril48JUnVuIHRlc3RzIGR1cmluZyBkZXZlbG9wbWVudA0K4pePCUNhdGNoIGJ1Z3MgYmVmb3JlIGNvZGUgcmVhY2hlcyB0aGUgbWFpbiBicmFuY2gNCuKXjwlWYWxpZGF0ZSBjaGFuZ2VzIGNvbnRpbnVvdXNseQ0KVGhpcyBhcHByb2FjaCBoZWxwcyByZWR1Y2UgY29zdGx5IGZpeGVzIGxhdGVyIGluIHByb2R1Y3Rpb24gYW5kIGltcHJvdmVzIG92ZXJhbGwgY29kZSBxdWFsaXR5IGZyb20gdGhlIGJlZ2lubmluZy4NCjMuIFVzZSBTbWFsbCwgRnJlcXVlbnQgRGVwbG95bWVudHMNCk1vZGVybiBDSS9DRCBlbmNvdXJhZ2VzIGJyZWFraW5nIGxhcmdlIHVwZGF0ZXMgaW50byBzbWFsbGVyIHJlbGVhc2VzLg0KQmVuZWZpdHMgaW5jbHVkZToNCuKXjwlFYXNpZXIgZGVidWdnaW5nDQril48JRmFzdGVyIHJvbGxiYWNrIGlmIHNvbWV0aGluZyBmYWlscw0K4pePCVJlZHVjZWQgc3lzdGVtIHJpc2sNCuKXjwlNb3JlIHN0YWJsZSBwcm9kdWN0aW9uIGVudmlyb25tZW50cw0KU21hbGwgZGVwbG95bWVudHMgYXJlIGVhc2llciB0byBtYW5hZ2UgYW5kIGFsbG93IHRlYW1zIHRvIHJlbGVhc2UgZmVhdHVyZXMgbW9yZSBjb25maWRlbnRseSBhbmQgZnJlcXVlbnRseS4NCjQuIEltcGxlbWVudCBTdHJvbmcgU2VjdXJpdHkgKERldlNlY09wcykNClNlY3VyaXR5IGlzIG5vdyBpbnRlZ3JhdGVkIGRpcmVjdGx5IGludG8gQ0kvQ0QgcGlwZWxpbmVzLCBhIHByYWN0aWNlIGtub3duIGFzIERldlNlY09wcy4NClRoaXMgaW5jbHVkZXM6DQril48JQXV0b21hdGVkIHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcNCuKXjwlTZWNyZXQgZGV0ZWN0aW9uIChBUEkga2V5cywgcGFzc3dvcmRzLCB0b2tlbnMpDQril48JQ29tcGxpYW5jZSBhbmQgcG9saWN5IGNoZWNrcw0KQnkgaW50ZWdyYXRpbmcgc2VjdXJpdHkgZWFybHkgaW4gdGhlIHBpcGVsaW5lLCB0ZWFtcyBjYW4gcHJldmVudCB2dWxuZXJhYmlsaXRpZXMgYmVmb3JlIHRoZXkgcmVhY2ggcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuDQo1LiBVc2UgT2JzZXJ2YWJpbGl0eSBUb29scw0KTW9kZXJuIENJL0NEIHN5c3RlbXMgcmVseSBoZWF2aWx5IG9uIG9ic2VydmFiaWxpdHkgdG8gbWFpbnRhaW4gcGVyZm9ybWFuY2UgYW5kIHJlbGlhYmlsaXR5Lg0KS2V5IGNvbXBvbmVudHMgaW5jbHVkZToNCuKXjwlEaXN0cmlidXRlZCB0cmFjaW5nICh0cmFja2luZyByZXF1ZXN0cyBhY3Jvc3Mgc2VydmljZXMpDQril48JTG9nIGFuYWx5c2lzIChpZGVudGlmeWluZyBlcnJvcnMgYW5kIHBhdHRlcm5zKQ0K4pePCVJlYWwtdGltZSBkYXNoYm9hcmRzIChtb25pdG9yaW5nIHN5c3RlbSBoZWFsdGgpDQpUaGVzZSB0b29scyBoZWxwIHRlYW1zIHF1aWNrbHkgZGV0ZWN0IGlzc3VlcyBhbmQgdW5kZXJzdGFuZCBzeXN0ZW0gYmVoYXZpb3IgaW4gcmVhbCB0aW1lLg0KQ2hhbGxlbmdlcyBpbiBDSS9DRA0KRXZlbiBpbiAyMDI2LCBDSS9DRCBzeXN0ZW1zIGNvbWUgd2l0aCBzZXZlcmFsIGNoYWxsZW5nZXMgdGhhdCBvcmdhbml6YXRpb25zIG11c3QgbWFuYWdlIGNhcmVmdWxseS4NCjEuIFBpcGVsaW5lIENvbXBsZXhpdHkNCkFzIHN5c3RlbXMgZ3JvdywgcGlwZWxpbmVzIGJlY29tZSBtb3JlIGNvbXBsZXggYW5kIGhhcmRlciB0byBtYW5hZ2UsIGVzcGVjaWFsbHkgaW4gbWljcm9zZXJ2aWNlcy1iYXNlZCBhcmNoaXRlY3R1cmVzLg0KMi4gRGVidWdnaW5nIEZhaWx1cmVzDQpXaGVuIHBpcGVsaW5lcyBmYWlsLCBpZGVudGlmeWluZyB0aGUgZXhhY3QgY2F1c2UgY2FuIGJlIGRpZmZpY3VsdCBkdWUgdG8gbXVsdGlwbGUgaW50ZXJjb25uZWN0ZWQgc3RhZ2VzLg0KMy4gVG9vbCBPdmVybG9hZA0KVXNpbmcgdG9vIG1hbnkgdG9vbHMgaW4gdGhlIENJL0NEIGVjb3N5c3RlbSBjYW4gY3JlYXRlIGNvbmZ1c2lvbiwgaW50ZWdyYXRpb24gaXNzdWVzLCBhbmQgcmVkdWNlZCBwcm9kdWN0aXZpdHkuDQo0LiBDb3N0IE1hbmFnZW1lbnQNCkNsb3VkLWJhc2VkIENJL0NEIHBpcGVsaW5lcyBjYW4gYmVjb21lIGV4cGVuc2l2ZSwgZXNwZWNpYWxseSB3aGVuIHJ1bm5pbmcgbGFyZ2Utc2NhbGUgYnVpbGRzIGFuZCB0ZXN0cyBmcmVxdWVudGx5Lg0KNS4gU2VjdXJpdHkgUmlza3MNCkltcHJvcGVybHkgY29uZmlndXJlZCBwaXBlbGluZXMgY2FuIGJlY29tZSBhIHRhcmdldCBmb3IgYXR0YWNrZXJzLCBtYWtpbmcgcGlwZWxpbmUgc2VjdXJpdHkgZXh0cmVtZWx5IGltcG9ydGFudC4NCkNJL0NEIHZzIFRyYWRpdGlvbmFsIERlcGxveW1lbnQNCkZlYXR1cmUJVHJhZGl0aW9uYWwgRGVwbG95bWVudAlDSS9DRCBQaXBlbGluZQ0KU3BlZWQJU2xvdwlGYXN0DQpUZXN0aW5nCU1hbnVhbAlBdXRvbWF0ZWQNCkRlcGxveW1lbnQJTWFudWFsCUF1dG9tYXRlZA0KRXJyb3JzCUhpZ2ggcmlzawlMb3cgcmlzaw0KU2NhbGFiaWxpdHkJTGltaXRlZAlIaWdoDQpDSS9DRCBhbmQgRGV2T3BzIFJlbGF0aW9uc2hpcA0KQ0kvQ0QgaXMgYSBjb3JlIHRlY2huaWNhbCBmb3VuZGF0aW9uIG9mIERldk9wcy4NCldoaWxlIERldk9wcyBmb2N1c2VzIG9uOg0K4pePCUNvbGxhYm9yYXRpb24gYmV0d2VlbiB0ZWFtcw0K4pePCUF1dG9tYXRpb24gb2YgcHJvY2Vzc2VzDQril48JQ29udGludW91cyBpbXByb3ZlbWVudA0KQ0kvQ0QgcHJvdmlkZXMgdGhlIGF1dG9tYXRpb24gZW5naW5lIHRoYXQgbWFrZXMgdGhlc2UgRGV2T3BzIHByaW5jaXBsZXMgcG9zc2libGUgaW4gcmVhbCBzeXN0ZW1zLg0KQ0kvQ0QgaW4gUmVhbC1Xb3JsZCBVc2UgQ2FzZXMNCjEuIFNhYVMgQXBwbGljYXRpb25zDQpVc2VkIGZvciBmcmVxdWVudCBmZWF0dXJlIHVwZGF0ZXMgYW5kIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnRzLg0KMi4gRS1jb21tZXJjZSBQbGF0Zm9ybXMNClN1cHBvcnRzOg0K4pePCUZsYXNoIHNhbGUgdXBkYXRlcw0K4pePCUludmVudG9yeSBjaGFuZ2VzDQril48JUGF5bWVudCBzeXN0ZW0gZml4ZXMNCjMuIEZpbnRlY2ggU3lzdGVtcw0KRW5zdXJlcyBoaWdoLXNlY3VyaXR5IGRlcGxveW1lbnRzIHdpdGggc3RyaWN0IHZhbGlkYXRpb24gYW5kIHRlc3RpbmcuDQo0LiBBSSBBcHBsaWNhdGlvbnMNClVzZWQgZm9yOg0K4pePCU1vZGVsIGRlcGxveW1lbnQgcGlwZWxpbmVzDQril48JTExNIHVwZGF0ZXMNCuKXjwlEYXRhIHByb2Nlc3Npbmcgd29ya2Zsb3dzDQpGdXR1cmUgb2YgQ0kvQ0QgKEJleW9uZCAyMDI2KQ0KQ0kvQ0QgaXMgZXZvbHZpbmcgcmFwaWRseSB0b3dhcmQgZnVsbHkgYXV0b25vbW91cyBzeXN0ZW1zLg0KRnV0dXJlIHRyZW5kcyBpbmNsdWRlOg0KMS4gQUktRHJpdmVuIERldk9wcw0KQUkgd2lsbCBtYW5hZ2UgZW50aXJlIHBpcGVsaW5lcyBhdXRvbWF0aWNhbGx5Lg0KMi4gWmVyby1Ub3VjaCBEZXBsb3ltZW50DQpObyBodW1hbiBpbnZvbHZlbWVudCB3aWxsIGJlIHJlcXVpcmVkIGZvciBkZXBsb3ltZW50IGRlY2lzaW9ucy4NCjMuIFNlbGYtSGVhbGluZyBQaXBlbGluZXMNClN5c3RlbXMgd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdCBhbmQgZml4IGZhaWx1cmVzLg0KNC4gRnVsbHkgQXV0b25vbW91cyBTb2Z0d2FyZSBEZWxpdmVyeQ0KRnJvbSBjb2RlIGNyZWF0aW9uIHRvIHByb2R1Y3Rpb24gZGVwbG95bWVudOKAlGV2ZXJ5dGhpbmcgd2lsbCBiZSBhdXRvbWF0ZWQuDQpDb25jbHVzaW9uDQpDSS9DRCBwaXBlbGluZXMgaGF2ZSB0cmFuc2Zvcm1lZCBzb2Z0d2FyZSBkZXZlbG9wbWVudCBmcm9tIGEgc2xvdywgbWFudWFsIHByb2Nlc3MgaW50byBhIGZhc3QsIGF1dG9tYXRlZCwgYW5kIGhpZ2hseSByZWxpYWJsZSBzeXN0ZW0uDQpJbiAyMDI2LCBDSS9DRCBpcyBubyBsb25nZXIganVzdCBhIERldk9wcyBwcmFjdGljZeKAlGl0IGhhcyBiZWNvbWUgdGhlIGZvdW5kYXRpb24gb2YgbW9kZXJuIHNvZnR3YXJlIGVuZ2luZWVyaW5nLg0KSXQgZW5hYmxlczoNCuKXjwlGYXN0ZXIgcmVsZWFzZXMNCuKXjwlIaWdoZXIgY29kZSBxdWFsaXR5DQril48JUmVkdWNlZCBodW1hbiBlcnJvcnMNCuKXjwlTdHJvbmcgc2VjdXJpdHkgaW50ZWdyYXRpb24NCuKXjwlIaWdobHkgc2NhbGFibGUgc3lzdGVtcw0KT3JnYW5pemF0aW9ucyB0aGF0IGltcGxlbWVudCBDSS9DRCBlZmZlY3RpdmVseSBhcmUgYWJsZSB0byBpbm5vdmF0ZSBmYXN0ZXIsIHJlbGVhc2Ugc29mdHdhcmUgY29uZmlkZW50bHksIGFuZCBzdGF5IGNvbXBldGl0aXZlIGluIHRoZSByYXBpZGx5IGV2b2x2aW5nIGRpZ2l0YWwgd29ybGQuDQpJbiBtb2Rlcm4gc29mdHdhcmUgZGV2ZWxvcG1lbnQgc3BlZWQgc3RhYmlsaXR5IGFuZCBhdXRvbWF0aW9uIGFyZSB2ZXJ5IGltcG9ydGFudC4gQ29tcGFuaWVzIG5vdyByZWxlYXNlIG5ldyBmZWF0dXJlcywgc2VjdXJpdHkgdXBkYXRlcyBhbmQgYnVnIGZpeGVzIHZlcnkgcXVpY2tseSBzb21ldGltZXMgbWFueSB0aW1lcyBpbiBhIGRheS4KVG8gZG8gdGhpcyBzYWZlbHkgYW5kIHdpdGhvdXQgYnJlYWtpbmcgc3lzdGVtcyBjb21wYW5pZXMgdXNlIENJIENEIHBpcGVsaW5lcy4KQ0kgQ0QgbWVhbnMgQ29udGludW91cyBJbnRlZ3JhdGlvbiBhbmQgQ29udGludW91cyBEZWxpdmVyeSBvciBEZXBsb3ltZW50IGFuZCBpbiAyMDI2IGl0IGhhcyBiZWNvbWUgYSB2ZXJ5IGltcG9ydGFudCBwYXJ0IG9mIERldk9wcyBjbG91ZCBuYXRpdmUgc3lzdGVtcyBhbmQgQUkgYmFzZWQgZGV2ZWxvcG1lbnQuClRoaXMgZ3VpZGUgZXhwbGFpbnMgQ0kgQ0QgcGlwZWxpbmVzIGluIHNpbXBsZSB3b3JkcyBob3cgdGhleSB3b3JrIGFuZCBob3cgdGhleSBoYXZlIGNoYW5nZWQgd2l0aCBBSSBjbG91ZCBzeXN0ZW1zIGFuZCBtb2Rlcm4gRGV2T3BzLgpXaGF0IGlzIENJIENECkNJIENEIGlzIGEgbW9kZXJuIHNvZnR3YXJlIG1ldGhvZCB0aGF0IGF1dG9tYXRlcyB0aGUgZnVsbCBwcm9jZXNzIG9mIGJ1aWxkaW5nIHRlc3RpbmcgYW5kIGRlbGl2ZXJpbmcgc29mdHdhcmUuCkl0IGhlbHBzIHRlYW1zIHJlbGVhc2UgdXBkYXRlcyBmYXN0ZXIsIG1vcmUgc2FmZWx5IGFuZCB3aXRoIGZld2VyIG1pc3Rha2VzLgpJbiB0cmFkaXRpb25hbCBkZXZlbG9wbWVudCwgZGV2ZWxvcGVycyBoYWQgdG8gbWFudWFsbHk6CuKXjwlDb21iaW5lIGNvZGUgY2hhbmdlcwril48JVGVzdCBhcHBsaWNhdGlvbnMK4pePCUJ1aWxkIHNvZnR3YXJlIHZlcnNpb25zCuKXjwlEZXBsb3kgdXBkYXRlcyB0byBzZXJ2ZXJzClRoaXMgbWFudWFsIHByb2Nlc3Mgd2FzIHNsb3cgYW5kIG9mdGVuIGNhdXNlZCBtaXN0YWtlcywgYnVncyBhbmQgZGVwbG95bWVudCBmYWlsdXJlcy4KQ0kgQ0Qgc29sdmVzIHRoaXMgcHJvYmxlbSBieSBhdXRvbWF0aW5nIGV2ZXJ5dGhpbmcgdXNpbmcgYSBzdHJ1Y3R1cmVkIHBpcGVsaW5lLgpJbiBzaW1wbGUgd29yZHMgQ0kgQ0QgbWFrZXMgc3VyZSBldmVyeSBjb2RlIGNoYW5nZSBpcyBhdXRvbWF0aWNhbGx5IGNoZWNrZWQsIHRlc3RlZCBhbmQgcHJlcGFyZWQgZm9yIGRlcGxveW1lbnQgd2l0aG91dCBtYW51YWwgd29yay4gVGhpcyBpcyB3aGF0IHBlb3BsZSBtZWFuIHdoZW4gdGhleSBhc2sgd2hhdCBpcyBjaSBjZCBwaXBlbGluZSBiZWNhdXNlIGl0IHNob3dzIGhvdyBzb2Z0d2FyZSBtb3ZlcyBmcm9tIGRldmVsb3BtZW50IHRvIHByb2R1Y3Rpb24gaW4gYW4gYXV0b21hdGljIHdheS4KQ0kvQ0QgaXMgZGl2aWRlZCBpbnRvIHR3byBtYWluIHBhcnRzOgpDSSAoQ29udGludW91cyBJbnRlZ3JhdGlvbikKQ29udGludW91cyBJbnRlZ3JhdGlvbiBpcyB0aGUgcHJvY2VzcyBvZiByZWd1bGFybHkgbWVyZ2luZyBjb2RlIGNoYW5nZXMgaW50byBhIHNoYXJlZCByZXBvc2l0b3J5LgpFdmVyeSB0aW1lIGEgZGV2ZWxvcGVyIGFkZHMgbmV3IGNvZGU6CuKXjwlJdCBpcyBhdXRvbWF0aWNhbGx5IGludGVncmF0ZWQgd2l0aCB0aGUgbWFpbiBjb2RlYmFzZQril48JQXV0b21hdGVkIHRlc3RzIGFyZSBleGVjdXRlZAril48JRXJyb3JzIG9yIGNvbmZsaWN0cyBhcmUgZGV0ZWN0ZWQgZWFybHkKVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHNvZnR3YXJlIGlzIGFsd2F5cyBpbiBhIHN0YWJsZSBhbmQgd29ya2luZyBzdGF0ZS4KIENJIGhlbHBzIHRlYW1zIGF2b2lkIOKAnGludGVncmF0aW9uIHByb2JsZW1z4oCdIHRoYXQgdXN1YWxseSBoYXBwZW4gd2hlbiBtdWx0aXBsZSBkZXZlbG9wZXJzIHdvcmsgb24gdGhlIHNhbWUgcHJvamVjdC4KVGhpcyBlbnRpcmUgd29ya2Zsb3cgaXMgb2Z0ZW4gZGVzY3JpYmVkIHdoZW4gZXhwbGFpbmluZyBjaS9jZCBwaXBlbGluZSBtZWFuaW5nLCBiZWNhdXNlIENJIGlzIHRoZSBmaXJzdCBhbmQgbW9zdCBpbXBvcnRhbnQgc3RhZ2Ugb2YgYW55IENJL0NEIHN5c3RlbS4KQ0QgKENvbnRpbnVvdXMgRGVsaXZlcnkgLyBEZXBsb3ltZW50KQpDRCBmb2N1c2VzIG9uIGRlbGl2ZXJpbmcgb3IgZGVwbG95aW5nIHRoZSB0ZXN0ZWQgY29kZSB0byBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4KVGhlcmUgYXJlIHR3byBmb3JtczoKQ29udGludW91cyBEZWxpdmVyeQril48JQ29kZSBpcyBhdXRvbWF0aWNhbGx5IGJ1aWx0IGFuZCB0ZXN0ZWQK4pePCUl0IGlzIHRoZW4gcHJlcGFyZWQgZm9yIHJlbGVhc2UK4pePCU1hbnVhbCBhcHByb3ZhbCBtYXkgc3RpbGwgYmUgcmVxdWlyZWQgYmVmb3JlIGRlcGxveW1lbnQKQ29udGludW91cyBEZXBsb3ltZW50CuKXjwlFdmVyeXRoaW5nIGlzIGZ1bGx5IGF1dG9tYXRlZAril48JT25jZSBjb2RlIHBhc3NlcyB0ZXN0cywgaXQgaXMgZGlyZWN0bHkgZGVwbG95ZWQgdG8gcHJvZHVjdGlvbgril48JTm8gbWFudWFsIGludGVydmVudGlvbiBpcyBuZWVkZWQKVGhpcyBoZWxwcyBjb21wYW5pZXMgcmVsZWFzZSB1cGRhdGVzIGZhc3QgYW5kIGluIGEgc3RlYWR5IHdheQpNb2Rlcm4gZW5naW5lZXJpbmcgdGVhbXMgb2Z0ZW4gdXNlIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgcHJhY3RpY2VzIHRvIHVuZGVyc3RhbmQgaG93IGF1dG9tYXRpb24gd29ya3MgaW4gcmVhbCBzeXN0ZW1zIHdoaWxlIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgZXhwbGFpbnMgdGhlIGZ1bGwgZmxvdyBmcm9tIGNvZGUgdG8gcHJvZHVjdGlvbgpXaHkgQ0kvQ0QgTWF0dGVycyBpbiAyMDI2CkluIDIwMjYsIENJL0NEIGlzIG5vdCBqdXN0IGEgZGV2ZWxvcG1lbnQgcHJhY3RpY2XigJRpdCBpcyBhIGZvdW5kYXRpb24gb2YgbW9kZXJuIHNvZnR3YXJlIGRlbGl2ZXJ5LgpJdCBzdXBwb3J0czoK4pePCUZhc3RlciByZWxlYXNlIGN5Y2xlcwril48JSW1wcm92ZWQgc29mdHdhcmUgcXVhbGl0eQril48JUmVkdWNlZCBodW1hbiBlcnJvcnMK4pePCUJldHRlciBjb2xsYWJvcmF0aW9uIGJldHdlZW4gdGVhbXMK4pePCVNjYWxhYmxlIGRlcGxveW1lbnQgc3lzdGVtcwpUaGlzIGlzIHdoeSB1bmRlcnN0YW5kaW5nIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgYW5kIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgaGFzIGJlY29tZSB2ZXJ5IGltcG9ydGFudCBmb3IgZXZlcnkgZGV2ZWxvcGVyLCBEZXZPcHMgZW5naW5lZXIgYW5kIHRlY2ggY29tcGFueSB3b3JraW5nIGluIG1vZGVybiBjbG91ZCBzeXN0ZW1zLgpDb250aW51b3VzIERlbGl2ZXJ5IHZzIENvbnRpbnVvdXMgRGVwbG95bWVudAogClRoZXNlIHR3byB0ZXJtcyBhcmUgb2Z0ZW4gbWl4ZWQgYnV0IHRoZXkgYXJlIGRpZmZlcmVudC4gRXZlbiB0aG91Z2ggYm90aCBhcmUgcGFydCBvZiBDSSBDRCBwaXBlbGluZXMgYW5kIGJvdGggaGVscCBhdXRvbWF0ZSBzb2Z0d2FyZSByZWxlYXNlIHRoZSBtYWluIGRpZmZlcmVuY2UgaXMgaG93IGNvZGUgZ29lcyB0byBwcm9kdWN0aW9uIGFuZCB3aG8gY29udHJvbHMgdGhlIGZpbmFsIHN0ZXAuIFRoaXMgZGlzdGluY3Rpb24gaXMgb2Z0ZW4gZXhwbGFpbmVkIHdoZW4gdW5kZXJzdGFuZGluZyB3aGF0IGlzIGNpL2NkIHBpcGVsaW5lLCBiZWNhdXNlIGJvdGggbW9kZWxzIGRlZmluZSBkaWZmZXJlbnQgd2F5cyBhIENJL0NEIHN5c3RlbSBiZWhhdmVzIGluIHJlYWwgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuCkNvbnRpbnVvdXMgRGVsaXZlcnkK4pePCUNvZGUgaXMgYXV0b21hdGljYWxseSB0ZXN0ZWQgdGhyb3VnaCBDSSBwaXBlbGluZXMgYWZ0ZXIgZXZlcnkgY29tbWl0CuKXjwlFdmVyeSBjaGFuZ2UgZ29lcyB0aHJvdWdoIGEgc3RydWN0dXJlZCBidWlsZCBwcm9jZXNzCuKXjwlBdXRvbWF0ZWQgdGVzdGluZyBjaGVja3MgZm9yIGJ1Z3MsIGVycm9ycywgYW5kIGludGVncmF0aW9uIGlzc3Vlcwril48JQ29kZSBpcyBhbHdheXMga2VwdCBpbiBhIHByb2R1Y3Rpb24tcmVhZHkgc3RhdGUKClRoZSBzeXN0ZW0gbWFrZXMgc3VyZSB0aGUgYXBwbGljYXRpb24gaXMgYWx3YXlzIHNhZmUgdG8gZGVwbG95IGF0IGFueSB0aW1lLgpUaGlzIG1lYW5zIGRldmVsb3BlcnMgZG8gbm90IG5lZWQgdG8gbWFudWFsbHkgcHJlcGFyZSB0aGUgYXBwIGZvciByZWxlYXNlIGV2ZXJ5IHRpbWUuIFRoZSBwaXBlbGluZSBrZWVwcyBjaGVja2luZyB0aGUgY29kZSBhbmQgbWFrZXMgc3VyZSBldmVyeXRoaW5nIGlzIHN0YWJsZSBiZWZvcmUgaXQgaXMgcmVhZHkgZm9yIHByb2R1Y3Rpb24uCkhvd2V2ZXIgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQgaXMKRGVwbG95bWVudCBpcyB0cmlnZ2VyZWQgbWFudWFsbHkuCkV2ZW4gaWYgYWxsIHRlc3RzIHBhc3MgYW5kIHRoZSBzeXN0ZW0gY29uZmlybXMgZXZlcnl0aGluZyBpcyBzdGFibGUgdGhlIGNvZGUgZG9lcyBub3QgZ28gbGl2ZSBhdXRvbWF0aWNhbGx5LiBBIHBlcnNvbiBsaWtlIGEgRGV2T3BzIGVuZ2luZWVyIG9yIGRldmVsb3BlciBkZWNpZGVzIHdoZW4gdG8gc2VuZCB0aGUgY2hhbmdlcyB0byBwcm9kdWN0aW9uLgpUaGlzIGdpdmVzIG9yZ2FuaXphdGlvbnMgbW9yZSBjb250cm9sIG92ZXIgcmVsZWFzZXMsIGFsbG93aW5nIHRoZW0gdG86CuKXjwlDaG9vc2Ugb3B0aW1hbCBkZXBsb3ltZW50IHRpbWluZwril48JQXZvaWQgcmVsZWFzaW5nIGR1cmluZyBwZWFrIHRyYWZmaWMgaG91cnMK4pePCUNvb3JkaW5hdGUgd2l0aCBidXNpbmVzcyBvciBtYXJrZXRpbmcgdGVhbXMK4pePCVJlZHVjZSByaXNrIGluIGNyaXRpY2FsIHN5c3RlbXMKVGhpbmsgb2YgaXQgYXM6CuKAnFJlYWR5IGFueXRpbWUsIGRlcGxveSB3aGVuIG5lZWRlZC7igJ0KVGhpcyBtb2RlbCBpcyBvZnRlbiByZWZlcmVuY2VkIHdoZW4gZXhwbGFpbmluZyBjaS9jZCBwaXBlbGluZSBtZWFuaW5nLCBiZWNhdXNlIGl0IGNsZWFybHkgc2hvd3MgaG93IGNvbnRyb2xsZWQgZGVwbG95bWVudCB3b3JrcyBpbnNpZGUgYSBDSS9DRCBwaXBlbGluZS4KQ29udGludW91cyBEZXBsb3ltZW50CkluIENvbnRpbnVvdXMgRGVwbG95bWVudDoK4pePCUNvZGUgaXMgYXV0b21hdGljYWxseSB0ZXN0ZWQgdXNpbmcgQ0kgcGlwZWxpbmVzLgril48JQWZ0ZXIgYWxsIHRlc3RzIHBhc3Mgc3VjY2Vzc2Z1bGx5LCB0aGUgY29kZSBpcyBhdXRvbWF0aWNhbGx5IHJlbGVhc2VkIHRvIHByb2R1Y3Rpb24uCuKXjwlUaGVyZSBpcyBubyBtYW51YWwgYXBwcm92YWwgc3RlcCBiZWZvcmUgZGVwbG95bWVudC4K4pePCUV2ZXJ5IHZhbGlkYXRlZCBjaGFuZ2UgZ29lcyBsaXZlIGluc3RhbnRseS4KVGhpcyBtZXRob2QgZm9jdXNlcyBvbiBmdWxsIGF1dG9tYXRpb24gd2hlcmUgdGhlIHN5c3RlbSBpdHNlbGYgY2hlY2tzIHF1YWxpdHkgdXNpbmcgdGVzdHMgYW5kIGlmIGV2ZXJ5dGhpbmcgaXMgc3RhYmxlIGl0IGRpcmVjdGx5IHNlbmRzIHRoZSB1cGRhdGUgdG8gdXNlcnMuClRoaXMgbWVhbnMgZGV2ZWxvcGVycyBkbyBub3Qgd2FpdCBmb3IgcmVsZWFzZSBzY2hlZHVsZXMgb3IgbWFudWFsIGFwcHJvdmFscyBUaGUgcGlwZWxpbmUgaXRzZWxmIGRlY2lkZXMgd2hlbiB0byBkZXBsb3kuClRoaW5rIG9mIGl0IGxpa2UgdGhpcwogSWYgaXQgd29ya3MgcmVsZWFzZSBpdCBpbW1lZGlhdGVseQpNb2Rlcm4gRGV2T3BzIHRlYW1zIG9mdGVuIHN0dWR5IHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgdG8gdW5kZXJzdGFuZCBob3cgQ29udGludW91cyBEZXBsb3ltZW50IGZ1bGx5IGF1dG9tYXRlcyBzb2Z0d2FyZSByZWxlYXNlIGluc2lkZSBhIENJIENEIHBpcGVsaW5lIHdoaWxlIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgZXhwbGFpbnMgdGhlIGZ1bGwgZmxvdyBmcm9tIGNvZGUgdG8gcHJvZHVjdGlvbi4KV2hhdCBpcyBhIENJIENEIFBpcGVsaW5lCiAKQSBDSSBDRCBwaXBlbGluZSBpcyBhIHNpbXBsZSBhdXRvbWF0ZWQgd29ya2Zsb3cgdGhhdCB0YWtlcyBjb2RlIGZyb20gZGV2ZWxvcG1lbnQgYW5kIG1vdmVzIGl0IHRvIHByb2R1Y3Rpb24uCkl0IG1ha2VzIHN1cmUgZXZlcnkgY29kZSBjaGFuZ2UgaXMgYnVpbHQsIHRlc3RlZCBhbmQgZGVsaXZlcmVkIGluIGEgcHJvcGVyIGFuZCByZWxpYWJsZSB3YXkgd2l0aG91dCBtYW51YWwgd29yay4KQSBub3JtYWwgQ0kgQ0QgcGlwZWxpbmUgaGFzIGRpZmZlcmVudCBzdGVwcy4KMS4gU291cmNlIENvbnRyb2wKVGhpcyBpcyB0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHBpcGVsaW5lLiBEZXZlbG9wZXJzIHdyaXRlIGFuZCBzdG9yZSB0aGVpciBjb2RlIGluIHZlcnNpb24gY29udHJvbCBzeXN0ZW1zIHN1Y2ggYXM6CuKXjwlHaXQgcmVwb3NpdG9yaWVzCuKXjwlHaXRIdWIK4pePCUdpdExhYgril48JQml0YnVja2V0CldoZW5ldmVyIGEgZGV2ZWxvcGVyIHB1c2hlcyBuZXcgY29kZSwgaXQgYXV0b21hdGljYWxseSB0cmlnZ2VycyB0aGUgQ0kvQ0QgcGlwZWxpbmUuIFRoaXMgZW5zdXJlcyB0aGF0IGV2ZXJ5IGNoYW5nZSBpcyB0cmFja2VkLCB2ZXJzaW9uZWQsIGFuZCBwcm9jZXNzZWQgdGhyb3VnaCB0aGUgc2FtZSB3b3JrZmxvdy4KMi4gQnVpbGQgU3RhZ2UKSW4gdGhpcyBzdGFnZSwgdGhlIHN5c3RlbSBwcmVwYXJlcyB0aGUgYXBwbGljYXRpb24gZm9yIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQuIEl0IHR5cGljYWxseSBpbmNsdWRlczoK4pePCUNvbXBpbGluZyBzb3VyY2UgY29kZQril48JUmVzb2x2aW5nIGRlcGVuZGVuY2llcyBhbmQgbGlicmFyaWVzCuKXjwlQYWNrYWdpbmcgdGhlIGFwcGxpY2F0aW9uIGludG8gYnVpbGQgYXJ0aWZhY3RzCuKXjwlQcmVwYXJpbmcgcnVudGltZS1jb21wYXRpYmxlIG91dHB1dApUaGlzIHN0ZXAgZW5zdXJlcyB0aGF0IHRoZSBjb2RlIGlzIHRlY2huaWNhbGx5IGNvcnJlY3QgYW5kIGNhbiBiZSBleGVjdXRlZCBpbiBhIGNvbnRyb2xsZWQgZW52aXJvbm1lbnQuCjMuIFRlc3RpbmcgU3RhZ2UKVGhpcyBpcyBvbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnRzIG9mIHRoZSBwaXBlbGluZS4gQXV0b21hdGVkIHRlc3RzIGFyZSBleGVjdXRlZCB0byBlbnN1cmUgY29kZSBxdWFsaXR5IGFuZCBzdGFiaWxpdHksIHN1Y2ggYXM6CuKXjwlVbml0IHRlc3RzICh0ZXN0aW5nIGluZGl2aWR1YWwgY29tcG9uZW50cykK4pePCUludGVncmF0aW9uIHRlc3RzICh0ZXN0aW5nIGNvbWJpbmVkIG1vZHVsZXMpCuKXjwlFbmQtdG8tZW5kIHRlc3RzICh0ZXN0aW5nIGZ1bGwgYXBwbGljYXRpb24gZmxvdykK4pePCVNlY3VyaXR5IHRlc3RzIChjaGVja2luZyB2dWxuZXJhYmlsaXRpZXMgYW5kIHJpc2tzKQpJbiAyMDI2LCBDSS9DRCBwaXBlbGluZXMgYXJlIGZ1cnRoZXIgZW5oYW5jZWQgd2l0aCBBSS1wb3dlcmVkIHRlc3RpbmcgdG9vbHMgdGhhdCBoZWxwIGlkZW50aWZ5Ogril48JRWRnZS1jYXNlIGZhaWx1cmVzCuKXjwlQZXJmb3JtYW5jZSBib3R0bGVuZWNrcwril48JU2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzCuKXjwlVbmV4cGVjdGVkIHN5c3RlbSBiZWhhdmlvcgpUaGlzIG1ha2VzIHRoZSB0ZXN0aW5nIHByb2Nlc3Mgc21hcnRlciwgZmFzdGVyLCBhbmQgbW9yZSByZWxpYWJsZS4KNC4gRGVwbG95bWVudCBTdGFnZQpUaGlzIGlzIHRoZSBmaW5hbCBzdGFnZSB3aGVyZSB0aGUgYXBwbGljYXRpb24gaXMgZGVsaXZlcmVkIHRvIHVzZXJzIG9yIGVudmlyb25tZW50cy4gVGhlIHRlc3RlZCBjb2RlIGlzIGRlcGxveWVkIHRvOgril48JU3RhZ2luZyBlbnZpcm9ubWVudHMgKGZvciBmaW5hbCB2YWxpZGF0aW9uKQril48JUHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgKGxpdmUgdXNlciBzeXN0ZW1zKQril48JQ2xvdWQgaW5mcmFzdHJ1Y3R1cmUgcGxhdGZvcm1zCk1vZGVybiBDSS9DRCBzeXN0ZW1zIG9mdGVuIHVzZSBhZHZhbmNlZCBkZXBsb3ltZW50IHN0cmF0ZWdpZXMgbGlrZToK4pePCUJsdWUtZ3JlZW4gZGVwbG95bWVudHMgKHN3aXRjaGluZyBiZXR3ZWVuIHR3byBlbnZpcm9ubWVudHMpCuKXjwlDYW5hcnkgcmVsZWFzZXMgKHJlbGVhc2luZyB0byBhIHNtYWxsIHVzZXIgZ3JvdXAgZmlyc3QpCuKXjwlSb2xsaW5nIHVwZGF0ZXMgKGdyYWR1YWwgc3lzdGVtLXdpZGUgZGVwbG95bWVudCkKVGhlc2UgbWV0aG9kcyBoZWxwIHJlZHVjZSBkb3dudGltZSBhbmQgbWluaW1pemUgcmlzayBkdXJpbmcgcmVsZWFzZXMuCkluIHJlYWwgd29ybGQgQ0kgQ0Qgc3lzdGVtcywgdW5kZXJzdGFuZGluZyB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGFuZCBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIGlzIHZlcnkgaW1wb3J0YW50IGJlY2F1c2UgYm90aCBleHBsYWluIGhvdyBhdXRvbWF0aW9uIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQgd29yayB0b2dldGhlciBpbiBtb2Rlcm4gc29mdHdhcmUgZGVsaXZlcnkuCkhvdyBDSSBDRCBXb3JrcyBpbiBNb2Rlcm4gU3lzdGVtcyAyMDI2CkNJIENEIGhhcyBjaGFuZ2VkIGEgbG90IGluIHJlY2VudCB5ZWFycyBFYXJsaWVyIGl0IHdhcyBvbmx5IGFuIGF1dG9tYXRpb24gcHJvY2VzcyBidXQgbm93IGl0IGhhcyBiZWNvbWUgYSBzbWFydCBBSSBiYXNlZCBzeXN0ZW0gdGhhdCBpbXByb3ZlcyBzb2Z0d2FyZSBxdWFsaXR5IHNwZWVkIGFuZCByZWxpYWJpbGl0eQpNb2Rlcm4gZW5naW5lZXJpbmcgdGVhbXMgZmlyc3QgdW5kZXJzdGFuZCB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGJlZm9yZSBidWlsZGluZyBhbnkgZGVsaXZlcnkgc3lzdGVtIGJlY2F1c2UgdGhpcyBjb25jZXB0IGlzIHRoZSBiYXNlIG9mIG1vZGVybiBzb2Z0d2FyZSBkZXZlbG9wbWVudApJbiAyMDI2IENJIENEIHBpcGVsaW5lcyBhcmUgbm90IGp1c3Qgc2ltcGxlIHNjcmlwdHMgdGhhdCBydW4gYnVpbGRzIGFuZCB0ZXN0cy4gVGhleSBhcmUgbm93IHNtYXJ0IHN5c3RlbXMgdGhhdCBjYW4gY2hlY2sgY29kZSwgZmluZCByaXNrcyBhbmQgaW1wcm92ZSBkZXBsb3ltZW50cyBhdXRvbWF0aWNhbGx5LiBUaGlzIGV2b2x1dGlvbiBpcyBhbHNvIGNsb3NlbHkgY29ubmVjdGVkIHRvIHRoZSBncm93aW5nIHVuZGVyc3RhbmRpbmcgb2YgY2kvY2QgcGlwZWxpbmUgbWVhbmluZyBpbiBtb2Rlcm4gRGV2T3BzIGVudmlyb25tZW50cy4gVGhlIGlkZWEgb2YgY2kvY2QgcGlwZWxpbmUgbWVhbmluZyBoZWxwcyB0ZWFtcyBkZWZpbmUgc3RydWN0dXJlZCBhdXRvbWF0aW9uIGluIHNvZnR3YXJlIGRlbGl2ZXJ5LgpNb2Rlcm4gQ0kvQ0QgRmxvdwpBIHR5cGljYWwgbW9kZXJuIENJL0NEIHBpcGVsaW5lIHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6CuKXjwlEZXZlbG9wZXIgY29tbWl0cyBjb2RlIHRvIGEgcmVwb3NpdG9yeSAoR2l0LWJhc2VkIHN5c3RlbXMpCuKXjwlBSSBiYXNlZCBwcmUtY2hlY2tzIGFuYWx5emUgdGhlIGNvZGUgZm9yIHF1YWxpdHkgaXNzdWVzLCBwZXJmb3JtYW5jZSByaXNrcyBhbmQgc2VjdXJpdHkgcHJvYmxlbXMuCuKXjwlUaGUgQ0kgQ0QgcGlwZWxpbmUgaXMgYXV0b21hdGljYWxseSB0cmlnZ2VyZWQgd2hlbiBjb2RlIGlzIGNvbW1pdHRlZCBvciBtZXJnZWQuCuKXjwlNdWx0aXBsZSB0ZXN0cyBydW4gYXQgdGhlIHNhbWUgdGltZSBpbiBwYXJhbGxlbCB0byBzYXZlIHRpbWUgYW5kIGltcHJvdmUgc3BlZWQuCuKXjwlTZWN1cml0eSBzY2FubmluZyB0b29scyBjaGVjayBmb3IgdnVsbmVyYWJpbGl0aWVzIGluIGRlcGVuZGVuY2llcyBhbmQgY29kZSBzdHJ1Y3R1cmUgaW4gcmVhbCB0aW1lLgril48JQSBidWlsZCBpcyBnZW5lcmF0ZWQgYWZ0ZXIgc3VjY2Vzc2Z1bCB2YWxpZGF0aW9uIG9mIGNvZGUuCuKXjwlEZXBsb3ltZW50IGlzIGV4ZWN1dGVkIGVpdGhlciBhdXRvbWF0aWNhbGx5IG9yIHdpdGggY29udHJvbGxlZCBhcHByb3ZhbCAoZGVwZW5kaW5nIG9uIHN5c3RlbSBkZXNpZ24pClRoaXMgZW50aXJlIGZsb3cgZW5zdXJlcyB0aGF0IHNvZnR3YXJlIG1vdmVzIGZyb20gZGV2ZWxvcG1lbnQgdG8gcHJvZHVjdGlvbiBpbiBhIGZhc3QsIHNhZmUsIGFuZCBwcmVkaWN0YWJsZSB3YXkuIEl0IGlzIGEgcHJhY3RpY2FsIGltcGxlbWVudGF0aW9uIG9mIHdoYXQgaXMgY2kvY2QgcGlwZWxpbmUsIHdoZXJlIHRoZSBzeXN0ZW0gaXMgYnVpbHQgYXJvdW5kIHdoYXQgaXMgY2kvY2QgcGlwZWxpbmUgcHJpbmNpcGxlcy4KS2V5IEJlbmVmaXRzIG9mIENJL0NEIFBpcGVsaW5lcwoxLiBGYXN0ZXIgU29mdHdhcmUgRGVsaXZlcnkKQ0kvQ0QgcmVtb3ZlcyBtYW51YWwgc3RlcHMgZnJvbSB0aGUgZGV2ZWxvcG1lbnQgbGlmZWN5Y2xlLCBhbGxvd2luZyB0ZWFtcyB0byByZWxlYXNlIHNvZnR3YXJlIG11Y2ggZmFzdGVyLgpJbnN0ZWFkIG9mIHdhaXRpbmcgZm9yIGxvbmcgcmVsZWFzZSBjeWNsZXMsIHRlYW1zIGNhbiBub3cgcHVzaCB1cGRhdGVzIGluIHJlYWwgdGltZToK4pePCURhaWx5IGZlYXR1cmUgdXBkYXRlcwril48JV2Vla2x5IGltcHJvdmVtZW50cyBhbmQgZW5oYW5jZW1lbnRzCuKXjwlFbWVyZ2VuY3kgYnVnIGZpeGVzIHdpdGhpbiBtaW51dGVzClRoaXMgc3BlZWQgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgaW4gMjAyNiwgd2hlcmUgdXNlcnMgZXhwZWN0IGluc3RhbnQgdXBkYXRlcyBhbmQgY29udGludW91cyBpbXByb3ZlbWVudHMuIE9yZ2FuaXphdGlvbnMgYWxzbyByZWx5IG9uIGNpL2NkIHBpcGVsaW5lIG1lYW5pbmcgdG8gb3B0aW1pemUgdGhlaXIgcmVsZWFzZSBzdHJhdGVnaWVzLiBNYW55IG9yZ2FuaXphdGlvbnMgc3R1ZHkgY2kvY2QgcGlwZWxpbmUgbWVhbmluZyB0byBvcHRpbWl6ZSBkZWxpdmVyeSBzcGVlZCBhbmQgd29ya2Zsb3cgZWZmaWNpZW5jeS4KMi4gSW1wcm92ZWQgQ29kZSBRdWFsaXR5Ck9uZSBvZiB0aGUgYmlnZ2VzdCBhZHZhbnRhZ2VzIG9mIENJL0NEIGlzIGNvbnNpc3RlbnQgY29kZSBxdWFsaXR5IHRocm91Z2ggYXV0b21hdGlvbi4KQXV0b21hdGVkIHRlc3RpbmcgZW5zdXJlczoK4pePCUJ1Z3MgYXJlIGRldGVjdGVkIGVhcmx5IGluIGRldmVsb3BtZW50CuKXjwlSZWdyZXNzaW9uIGlzc3VlcyBhcmUgYXZvaWRlZCBiZWZvcmUgcHJvZHVjdGlvbiByZWxlYXNlCuKXjwlPbmx5IHN0YWJsZSBhbmQgdmVyaWZpZWQgYnVpbGRzIG1vdmUgZm9yd2FyZCBpbiB0aGUgcGlwZWxpbmUKVGhpcyByZWR1Y2VzIHByb2R1Y3Rpb24gZmFpbHVyZXMgYW5kIGltcHJvdmVzIG92ZXJhbGwgc29mdHdhcmUgcmVsaWFiaWxpdHkuIEEgY2xlYXIgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGlzIGNpL2NkIHBpcGVsaW5lIGhlbHBzIHRlYW1zIGJ1aWxkIGJldHRlciBxdWFsaXR5IHN5c3RlbXMuIFRoZSBjb25jZXB0IG9mIHdoYXQgaXMgY2kvY2QgcGlwZWxpbmUgaXMgY2VudHJhbCB0byBtb2Rlcm4gRGV2T3BzIHdvcmtmbG93cy4KMy4gUmVkdWNlZCBIdW1hbiBFcnJvcgpNYW51YWwgZGVwbG95bWVudHMgb2Z0ZW4gbGVhZCB0byBtaXN0YWtlcyBzdWNoIGFzOgril48JSW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuCuKXjwlNaXNzaW5nIGRlcGxveW1lbnQgc3RlcHMuCuKXjwlUaGUgZW52aXJvbm1lbnQgbWlzbWF0Y2hlcyBiZXR3ZWVuIGRldmVsb3BtZW50IGFuZCBwcm9kdWN0aW9uLgpDSSBDRCByZW1vdmVzIHRoZXNlIHJpc2tzIGJ5IG1ha2luZyB0aGUgd2hvbGUgcHJvY2VzcyBzdGFuZGFyZCB0aHJvdWdoIGF1dG9tYXRpb24gc28gZXZlcnkgZGVwbG95bWVudCBmb2xsb3dzIHRoZSBzYW1lIHNhZmUgYW5kIHRlc3RlZCBzdGVwcy4KVGhpcyBpcyBkaXJlY3RseSByZWxhdGVkIHRvIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgd2hlcmUgY2kgY2QgcGlwZWxpbmUgbWVhbmluZyBleHBsYWlucyBhIHN0cnVjdHVyZWQgYW5kIGVycm9yIGZyZWUgZGVsaXZlcnkgcHJvY2Vzcy4KNC4gQmV0dGVyIENvbGxhYm9yYXRpb24KQ0kgQ0QgaGVscHMgaW1wcm92ZSB0ZWFtd29yayBiZXR3ZWVuIGFsbCBwZW9wbGUgaW52b2x2ZWQgaW4gc29mdHdhcmUgZGV2ZWxvcG1lbnQgSXQgY3JlYXRlcyBvbmUgc2hhcmVkIHdvcmtmbG93IGZvci4K4pePCURldmVsb3BlcnMgd2hvIHdyaXRlIGFuZCBjb21taXQgY29kZS4K4pePCVFBIGVuZ2luZWVycyB3aG8gdGVzdCBhbmQgY2hlY2sgdGhlIHN5c3RlbS4K4pePCURldk9wcyB0ZWFtcyB3aG8gaGFuZGxlIGRlcGxveW1lbnQgYW5kIGluZnJhc3RydWN0dXJlLgpTaW5jZSBldmVyeXRoaW5nIGlzIGF1dG9tYXRlZCBhbmQgdmlzaWJsZSBpbiBwaXBlbGluZXMgdGVhbXMgY2FuIGVhc2lseSB0cmFjayBjaGFuZ2VzLCBmaW5kIHByb2JsZW1zIGFuZCB3b3JrIHRvZ2V0aGVyIGluIGEgYmV0dGVyIHdheS4KVGhpcyB0ZWFtd29yayBtb2RlbCBpcyBiYXNlZCBvbiB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIHdoZXJlIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgZ2l2ZXMgc2hhcmVkIHZpc2liaWxpdHkgYW5kIGF1dG9tYXRpb24uCjUgU2NhbGFiaWxpdHkKTW9kZXJuIENJIENEIHN5c3RlbXMgYXJlIGJ1aWx0IHRvIGhhbmRsZSBsYXJnZSBhbmQgY29tcGxleCBhcHBsaWNhdGlvbnMgZWFzaWx5IFRoZXkgc3VwcG9ydDoK4pePCUJpZyBlbnRlcnByaXNlIGFwcGxpY2F0aW9ucy4K4pePCU1pY3Jvc2VydmljZXMgYmFzZWQgc3lzdGVtcy4K4pePCU11bHRpIGNsb3VkIGVudmlyb25tZW50cyBsaWtlIEFXUyBBenVyZSBhbmQgR0NQLgpUaGlzIG1ha2VzIENJIENEIHZlcnkgaW1wb3J0YW50IGZvciBjb21wYW5pZXMgdGhhdCB3YW50IHRvIGdyb3cgdGhlaXIgYXBwbGljYXRpb25zIGdsb2JhbGx5IHdpdGhvdXQgcGVyZm9ybWFuY2UgcHJvYmxlbXMuClRoZSBjb25jZXB0IG9mIGNpL2NkIHBpcGVsaW5lIG1lYW5pbmcgYmVjb21lcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNjYWxpbmcgc3lzdGVtcyBhY3Jvc3MgZGlzdHJpYnV0ZWQgZW52aXJvbm1lbnRzLgoKQ0kvQ0QgVG9vbHMgaW4gMjAyNgpUb2RheSwgbWFueSBhZHZhbmNlZCB0b29scyBhcmUgdXNlZCB0byBidWlsZCBhbmQgbWFuYWdlIENJL0NEIHBpcGVsaW5lcy4gU29tZSBvZiB0aGUgbW9zdCB3aWRlbHkgdXNlZCB0b29scyBpbmNsdWRlOgril48JR2l0SHViIEFjdGlvbnMK4pePCUdpdExhYiBDSS9DRAril48JSmVua2lucwril48JQ2lyY2xlQ0kK4pePCUFyZ28gQ0QKVGhlc2UgdG9vbHMgaGVscCBhdXRvbWF0ZSBldmVyeSBzdGFnZSBvZiBzb2Z0d2FyZSBkZWxpdmVyeSwgZnJvbSBjb2RlIGludGVncmF0aW9uIHRvIHByb2R1Y3Rpb24gZGVwbG95bWVudCwgbWFraW5nIG1vZGVybiBEZXZPcHMgc3lzdGVtcyBmYXN0ZXIgYW5kIG1vcmUgcmVsaWFibGUuCkNJL0NEIGluIENsb3VkLU5hdGl2ZSBFbnZpcm9ubWVudHMKQ0kgQ0QgaXMgY2xvc2VseSBjb25uZWN0ZWQgd2l0aCBjbG91ZCBuYXRpdmUgZGV2ZWxvcG1lbnQgSW4gbW9kZXJuIHN5c3RlbXMgYXBwbGljYXRpb25zIGFyZSBub3QgZGVwbG95ZWQgYXMgb25lIHNpbmdsZSBibG9jayBJbnN0ZWFkIHRoZXkgYXJlIGJ1aWx0IHVzaW5nIGRpc3RyaWJ1dGVkIHN5c3RlbXMgdGhhdCBuZWVkIGNvbnRpbnVvdXMgYW5kIGF1dG9tYXRpYyBkZWxpdmVyeS4KVG9kYXkgY2xvdWQgbmF0aXZlIGVudmlyb25tZW50cyBkZXBlbmQgb24uCuKXjwlDb250YWluZXJzIHRoYXQgcGFja2FnZSBhcHBsaWNhdGlvbnMgd2l0aCBhbGwgbmVlZGVkIGZpbGVzLgril48JTWljcm9zZXJ2aWNlcyB0aGF0IHNwbGl0IGFwcGxpY2F0aW9ucyBpbnRvIHNtYWxsIGluZGVwZW5kZW50IHBhcnRzLgril48JS3ViZXJuZXRlcyB0aGF0IG1hbmFnZXMgYW5kIHNjYWxlcyBjb250YWluZXJzLgril48JU2VydmVybGVzcyBmdW5jdGlvbnMgdGhhdCBydW4gY29kZSB3aXRob3V0IG1hbmFnaW5nIHNlcnZlcnMuCkluIHRoZXNlIHN5c3RlbXMgQ0kgQ0QgcGlwZWxpbmVzIGFyZSBkaXJlY3RseSBjb25uZWN0ZWQgd2l0aCBjbG91ZCBwbGF0Zm9ybXMuIEFmdGVyIGNvZGUgaXMgdGVzdGVkIGFuZCB2ZXJpZmllZCBpdCBpcyBhdXRvbWF0aWNhbGx5IGRlcGxveWVkIGludG8gZW52aXJvbm1lbnRzIG1hbmFnZWQgYnkgS3ViZXJuZXRlcy4gVGhpcyBoZWxwcyBhcHBsaWNhdGlvbnMgc2NhbGUsIHJlY292ZXIgYW5kIHVwZGF0ZSBzbW9vdGhseSBpbiB0aGUgY2xvdWQuCkFJIFJldm9sdXRpb24gaW4gQ0kgQ0QgTWFqb3IgMjAyNiBVcGRhdGUKT25lIG9mIHRoZSBiaWdnZXN0IGNoYW5nZXMgaW4gQ0kgQ0QgaXMgdGhlIHVzZSBvZiBBcnRpZmljaWFsIEludGVsbGlnZW5jZSBJbiAyMDI2LiBDSS9DRCBpcyBub3Qgb25seSBzaW1wbGUgYXV0b21hdGlvbiBpdCBoYXMgYmVjb21lIHNtYXJ0IGFuZCBwcmVkaWN0aXZlIGF1dG9tYXRpb24uCjEuIEFJIENvZGUgUmV2aWV3CkFJLXBvd2VyZWQgdG9vbHMgbm93IGFzc2lzdCBkZXZlbG9wZXJzIGJ5IGFuYWx5emluZyBjb2RlIGJlZm9yZSB0cmFkaXRpb25hbCB0ZXN0aW5nIGV2ZW4gYmVnaW5zLgpUaGVzZSB0b29scyBjYW46CuKXjwlEZXRlY3RpbmcgcG90ZW50aWFsIGJ1Z3MgaW4gZWFybHkgZGV2ZWxvcG1lbnQgc3RhZ2VzLgril48JU3VnZ2VzdCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYW5kIG9wdGltaXphdGlvbnMuCuKXjwlJZGVudGlmeSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgYW5kIHJpc2t5IGNvZGUgcGF0dGVybnMuClRoaXMgcmVkdWNlcyBkZXZlbG9wbWVudCBlcnJvcnMgYW5kIGltcHJvdmVzIGNvZGUgcXVhbGl0eSBiZWZvcmUgdGhlIHBpcGVsaW5lIGV2ZW4gc3RhcnRzIHRlc3RpbmcuCjIuIFByZWRpY3RpdmUgVGVzdGluZwpBSSBoYXMgYWxzbyBpbXByb3ZlZCB0aGUgdGVzdGluZyBwaGFzZSBzaWduaWZpY2FudGx5IGJ5IGludHJvZHVjaW5nIHByZWRpY3RpdmUgYW5hbHlzaXMuCk1vZGVybiBzeXN0ZW1zIGNhbjoK4pePCVByZWRpY3Qgd2hpY2ggdGVzdCBjYXNlcyBhcmUgbW9zdCBsaWtlbHkgdG8gZmFpbC4K4pePCUlkZW50aWZ5IGhpZ2gtcmlzayBhcmVhcyBpbiBjb2RlIGNoYW5nZXMuCuKXjwlFdmFsdWF0ZSB3aGV0aGVyIGEgY2hhbmdlIGlzIHNhZmUgdG8gZGVwbG95LgpUaGlzIG1ha2VzIHRlc3RpbmcgZmFzdGVyIGFuZCBtb3JlIGVmZmljaWVudCBieSBmb2N1c2luZyByZXNvdXJjZXMgb24gY3JpdGljYWwgYXJlYXMgaW5zdGVhZCBvZiBydW5uaW5nIGV2ZXJ5IHRlc3QgYmxpbmRseS4KMy4gSW50ZWxsaWdlbnQgRGVwbG95bWVudApBSSBpcyBub3cgYWN0aXZlbHkgaW52b2x2ZWQgaW4gZGVwbG95bWVudCBkZWNpc2lvbnMuCkl0IGNhbiBhdXRvbWF0aWNhbGx5IGRldGVybWluZToK4pePCVdoZW4gdGhlIGJlc3QgdGltZSB0byBkZXBsb3kgaXMuCuKXjwlXaGVyZSB0aGUgZGVwbG95bWVudCBzaG91bGQgYmUgZXhlY3V0ZWQgKHJlZ2lvbi4gb3IgZW52aXJvbm1lbnQpCuKXjwlIb3cgdG8gc2NhbGUgc2VydmljZXMgYmFzZWQgb24gZXhwZWN0ZWQgZGVtYW5kLgpUaGlzIGVuc3VyZXMgc21vb3RoZXIgcmVsZWFzZXMgd2l0aCBtaW5pbWFsIGRvd250aW1lIGFuZCBvcHRpbWFsIHBlcmZvcm1hbmNlLgo0LiBBdXRvIFJvbGxiYWNrIFN5c3RlbXMKT25lIG9mIHRoZSBtb3N0IHBvd2VyZnVsIGZlYXR1cmVzIGluIG1vZGVybiBDSS9DRCBpcyBhdXRvbWF0aWMgcm9sbGJhY2sgcG93ZXJlZCBieSBBSS4KSWYgdGhlIHN5c3RlbSBkZXRlY3RzOgril48JRXJyb3JzIGluIHByb2R1Y3Rpb24K4pePCVN1ZGRlbiBwZXJmb3JtYW5jZSBkZWdyYWRhdGlvbgril48JU2VjdXJpdHkgdGhyZWF0cyBvciB1bnVzdWFsIGJlaGF2aW9yCkl0IGNhbiBhdXRvbWF0aWNhbGx5IHJvbGwgYmFjayB0aGUgZGVwbG95bWVudCB0byB0aGUgcHJldmlvdXMgc3RhYmxlIHZlcnNpb24gd2l0aG91dCB3YWl0aW5nIGZvciBodW1hbiBpbnRlcnZlbnRpb24uClRoaXMgc2lnbmlmaWNhbnRseSByZWR1Y2VzIHJpc2sgYW5kIGltcHJvdmVzIHN5c3RlbSByZWxpYWJpbGl0eS4KQ0kvQ0QgUGlwZWxpbmUgQXJjaGl0ZWN0dXJlIChNb2Rlcm4gVmlldykKQSBtb2Rlcm4gQ0kvQ0QgcGlwZWxpbmUgaW4gMjAyNiBpcyBzdHJ1Y3R1cmVkIGludG8gbXVsdGlwbGUgaW50ZWxsaWdlbnQgbGF5ZXJzLCBlYWNoIHJlc3BvbnNpYmxlIGZvciBhIHNwZWNpZmljIHBhcnQgb2YgdGhlIGRlbGl2ZXJ5IHByb2Nlc3M6CjEuIERldmVsb3BlciBMYXllcgpUaGlzIGlzIHdoZXJlIGV2ZXJ5dGhpbmcgYmVnaW5zOgril48JV3JpdGluZyBjb2RlCuKXjwlSdW5uaW5nIGxvY2FsIHRlc3RzCuKXjwlDb21taXR0aW5nIGNoYW5nZXMgdG8gR2l0IHJlcG9zaXRvcmllcwoyLiBBdXRvbWF0aW9uIExheWVyClRoaXMgbGF5ZXIgaGFuZGxlcyBjb3JlIENJL0NEIGV4ZWN1dGlvbjoK4pePCVRyaWdnZXJpbmcgcGlwZWxpbmVzIG9uIGNvZGUgY2hhbmdlcwril48JQnVpbGRpbmcgYXBwbGljYXRpb25zCuKXjwlSdW5uaW5nIGF1dG9tYXRlZCB0ZXN0IHN1aXRlcwozLiBTZWN1cml0eSBMYXllcgpTZWN1cml0eSBpcyBkZWVwbHkgaW50ZWdyYXRlZCBpbnRvIHRoZSBwaXBlbGluZToK4pePCVN0YXRpYyBjb2RlIGFuYWx5c2lzCuKXjwlEZXBlbmRlbmN5IHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcK4pePCUFJLWJhc2VkIHRocmVhdCBkZXRlY3Rpb24gYW5kIGFub21hbHkgYW5hbHlzaXMKNC4gRGVwbG95bWVudCBMYXllcgpUaGlzIGxheWVyIGhhbmRsZXMgZGVsaXZlcnkgdG8gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHM6CuKXjwlDbG91ZCBkZXBsb3ltZW50cwril48JQ29udGFpbmVyIG9yY2hlc3RyYXRpb24gdXNpbmcgS3ViZXJuZXRlcwril48JU2VydmVybGVzcyBmdW5jdGlvbiBkZXBsb3ltZW50CjUuIE1vbml0b3JpbmcgTGF5ZXIKQWZ0ZXIgZGVwbG95bWVudCwgc3lzdGVtcyBhcmUgY29udGludW91c2x5IG9ic2VydmVkOgril48JUmVhbC10aW1lIGxvZ3MK4pePCVBlcmZvcm1hbmNlIG1ldHJpY3MK4pePCUFsZXJ0cyBhbmQgbm90aWZpY2F0aW9ucwril48JQUktYmFzZWQgYW5vbWFseSBkZXRlY3Rpb24gYW5kIHN5c3RlbSBoZWFsdGggdHJhY2tpbmcKVGhpcyBsYXllcmVkIGFyY2hpdGVjdHVyZSBlbnN1cmVzIHRoYXQgQ0kvQ0QgaW4gMjAyNiBpcyBub3QganVzdCBhYm91dCBhdXRvbWF0aW9uLCBidXQgYWJvdXQgYnVpbGRpbmcgc2VsZi1hd2FyZSwgc2VjdXJlLCBhbmQgaGlnaGx5IHNjYWxhYmxlIHNvZnR3YXJlIGRlbGl2ZXJ5IHN5c3RlbXMuCkJlc3QgUHJhY3RpY2VzIGZvciBDSS9DRCAoMjAyNikKSW4gbW9kZXJuIHNvZnR3YXJlIGRldmVsb3BtZW50LCBmb2xsb3dpbmcgcHJvcGVyIENJL0NEIHByYWN0aWNlcyBpcyBlc3NlbnRpYWwgdG8gZW5zdXJlIHN5c3RlbXMgcmVtYWluIGZhc3QsIHJlbGlhYmxlLCBhbmQgc2VjdXJlLiBBcyBwaXBlbGluZXMgYmVjb21lIG1vcmUgY29tcGxleCBpbiAyMDI2LCB0aGVzZSBiZXN0IHByYWN0aWNlcyBoZWxwIG1haW50YWluIHN0YWJpbGl0eSBhbmQgZWZmaWNpZW5jeS4KMS4gQXV0b21hdGUgRXZlcnl0aGluZyBQb3NzaWJsZQpBdXRvbWF0aW9uIGlzIHRoZSBjb3JlIGZvdW5kYXRpb24gb2YgQ0kvQ0QuClRlYW1zIHNob3VsZCBhdXRvbWF0ZToK4pePCUJ1aWxkcwril48JVGVzdGluZyBwcm9jZXNzZXMK4pePCURlcGxveW1lbnQgd29ya2Zsb3dzCuKXjwlTZWN1cml0eSBzY2FubmluZyBhbmQgY2hlY2tzClRoaXMgcmVkdWNlcyBtYW51YWwgZWZmb3J0IGFuZCBlbnN1cmVzIGNvbnNpc3RlbmN5IGFjcm9zcyBhbGwgc3RhZ2VzIG9mIHRoZSBwaXBlbGluZS4gVGhlIG1vcmUgYXV0b21hdGlvbiBpcyBpbXBsZW1lbnRlZCwgdGhlIGZld2VyIGNoYW5jZXMgdGhlcmUgYXJlIGZvciBodW1hbiBlcnJvci4KMi4gU2hpZnQgTGVmdCBUZXN0aW5nCuKAnFNoaWZ0IGxlZnTigJ0gbWVhbnMgbW92aW5nIHRlc3RpbmcgZWFybGllciBpbiB0aGUgZGV2ZWxvcG1lbnQgbGlmZWN5Y2xlLgpJbnN0ZWFkIG9mIHRlc3RpbmcgYXQgdGhlIGVuZCwgdGVhbXMgbm93Ogril48JUnVuIHRlc3RzIGR1cmluZyBkZXZlbG9wbWVudAril48JQ2F0Y2ggYnVncyBiZWZvcmUgY29kZSByZWFjaGVzIHRoZSBtYWluIGJyYW5jaAril48JVmFsaWRhdGUgY2hhbmdlcyBjb250aW51b3VzbHkKVGhpcyBhcHByb2FjaCBoZWxwcyByZWR1Y2UgY29zdGx5IGZpeGVzIGxhdGVyIGluIHByb2R1Y3Rpb24gYW5kIGltcHJvdmVzIG92ZXJhbGwgY29kZSBxdWFsaXR5IGZyb20gdGhlIGJlZ2lubmluZy4KMy4gVXNlIFNtYWxsLCBGcmVxdWVudCBEZXBsb3ltZW50cwpNb2Rlcm4gQ0kvQ0QgZW5jb3VyYWdlcyBicmVha2luZyBsYXJnZSB1cGRhdGVzIGludG8gc21hbGxlciByZWxlYXNlcy4KQmVuZWZpdHMgaW5jbHVkZToK4pePCUVhc2llciBkZWJ1Z2dpbmcK4pePCUZhc3RlciByb2xsYmFjayBpZiBzb21ldGhpbmcgZmFpbHMK4pePCVJlZHVjZWQgc3lzdGVtIHJpc2sK4pePCU1vcmUgc3RhYmxlIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzClNtYWxsIGRlcGxveW1lbnRzIGFyZSBlYXNpZXIgdG8gbWFuYWdlIGFuZCBhbGxvdyB0ZWFtcyB0byByZWxlYXNlIGZlYXR1cmVzIG1vcmUgY29uZmlkZW50bHkgYW5kIGZyZXF1ZW50bHkuCjQuIEltcGxlbWVudCBTdHJvbmcgU2VjdXJpdHkgKERldlNlY09wcykKU2VjdXJpdHkgaXMgbm93IGludGVncmF0ZWQgZGlyZWN0bHkgaW50byBDSS9DRCBwaXBlbGluZXMsIGEgcHJhY3RpY2Uga25vd24gYXMgRGV2U2VjT3BzLgpUaGlzIGluY2x1ZGVzOgril48JQXV0b21hdGVkIHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcK4pePCVNlY3JldCBkZXRlY3Rpb24gKEFQSSBrZXlzLCBwYXNzd29yZHMsIHRva2VucykK4pePCUNvbXBsaWFuY2UgYW5kIHBvbGljeSBjaGVja3MKQnkgaW50ZWdyYXRpbmcgc2VjdXJpdHkgZWFybHkgaW4gdGhlIHBpcGVsaW5lLCB0ZWFtcyBjYW4gcHJldmVudCB2dWxuZXJhYmlsaXRpZXMgYmVmb3JlIHRoZXkgcmVhY2ggcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuCjUuIFVzZSBPYnNlcnZhYmlsaXR5IFRvb2xzCk1vZGVybiBDSS9DRCBzeXN0ZW1zIHJlbHkgaGVhdmlseSBvbiBvYnNlcnZhYmlsaXR5IHRvIG1haW50YWluIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eS4KS2V5IGNvbXBvbmVudHMgaW5jbHVkZToK4pePCURpc3RyaWJ1dGVkIHRyYWNpbmcgKHRyYWNraW5nIHJlcXVlc3RzIGFjcm9zcyBzZXJ2aWNlcykK4pePCUxvZyBhbmFseXNpcyAoaWRlbnRpZnlpbmcgZXJyb3JzIGFuZCBwYXR0ZXJucykK4pePCVJlYWwtdGltZSBkYXNoYm9hcmRzIChtb25pdG9yaW5nIHN5c3RlbSBoZWFsdGgpClRoZXNlIHRvb2xzIGhlbHAgdGVhbXMgcXVpY2tseSBkZXRlY3QgaXNzdWVzIGFuZCB1bmRlcnN0YW5kIHN5c3RlbSBiZWhhdmlvciBpbiByZWFsIHRpbWUuCkNoYWxsZW5nZXMgaW4gQ0kvQ0QKRXZlbiBpbiAyMDI2LCBDSS9DRCBzeXN0ZW1zIGNvbWUgd2l0aCBzZXZlcmFsIGNoYWxsZW5nZXMgdGhhdCBvcmdhbml6YXRpb25zIG11c3QgbWFuYWdlIGNhcmVmdWxseS4KMS4gUGlwZWxpbmUgQ29tcGxleGl0eQpBcyBzeXN0ZW1zIGdyb3csIHBpcGVsaW5lcyBiZWNvbWUgbW9yZSBjb21wbGV4IGFuZCBoYXJkZXIgdG8gbWFuYWdlLCBlc3BlY2lhbGx5IGluIG1pY3Jvc2VydmljZXMtYmFzZWQgYXJjaGl0ZWN0dXJlcy4KMi4gRGVidWdnaW5nIEZhaWx1cmVzCldoZW4gcGlwZWxpbmVzIGZhaWwsIGlkZW50aWZ5aW5nIHRoZSBleGFjdCBjYXVzZSBjYW4gYmUgZGlmZmljdWx0IGR1ZSB0byBtdWx0aXBsZSBpbnRlcmNvbm5lY3RlZCBzdGFnZXMuCjMuIFRvb2wgT3ZlcmxvYWQKVXNpbmcgdG9vIG1hbnkgdG9vbHMgaW4gdGhlIENJL0NEIGVjb3N5c3RlbSBjYW4gY3JlYXRlIGNvbmZ1c2lvbiwgaW50ZWdyYXRpb24gaXNzdWVzLCBhbmQgcmVkdWNlZCBwcm9kdWN0aXZpdHkuCjQuIENvc3QgTWFuYWdlbWVudApDbG91ZC1iYXNlZCBDSS9DRCBwaXBlbGluZXMgY2FuIGJlY29tZSBleHBlbnNpdmUsIGVzcGVjaWFsbHkgd2hlbiBydW5uaW5nIGxhcmdlLXNjYWxlIGJ1aWxkcyBhbmQgdGVzdHMgZnJlcXVlbnRseS4KNS4gU2VjdXJpdHkgUmlza3MKSW1wcm9wZXJseSBjb25maWd1cmVkIHBpcGVsaW5lcyBjYW4gYmVjb21lIGEgdGFyZ2V0IGZvciBhdHRhY2tlcnMsIG1ha2luZyBwaXBlbGluZSBzZWN1cml0eSBleHRyZW1lbHkgaW1wb3J0YW50LgpDSS9DRCB2cyBUcmFkaXRpb25hbCBEZXBsb3ltZW50CkZlYXR1cmUJVHJhZGl0aW9uYWwgRGVwbG95bWVudAlDSS9DRCBQaXBlbGluZQpTcGVlZAlTbG93CUZhc3QKVGVzdGluZwlNYW51YWwJQXV0b21hdGVkCkRlcGxveW1lbnQJTWFudWFsCUF1dG9tYXRlZApFcnJvcnMJSGlnaCByaXNrCUxvdyByaXNrClNjYWxhYmlsaXR5CUxpbWl0ZWQJSGlnaApDSS9DRCBhbmQgRGV2T3BzIFJlbGF0aW9uc2hpcApDSS9DRCBpcyBhIGNvcmUgdGVjaG5pY2FsIGZvdW5kYXRpb24gb2YgRGV2T3BzLgpXaGlsZSBEZXZPcHMgZm9jdXNlcyBvbjoK4pePCUNvbGxhYm9yYXRpb24gYmV0d2VlbiB0ZWFtcwril48JQXV0b21hdGlvbiBvZiBwcm9jZXNzZXMK4pePCUNvbnRpbnVvdXMgaW1wcm92ZW1lbnQKQ0kvQ0QgcHJvdmlkZXMgdGhlIGF1dG9tYXRpb24gZW5naW5lIHRoYXQgbWFrZXMgdGhlc2UgRGV2T3BzIHByaW5jaXBsZXMgcG9zc2libGUgaW4gcmVhbCBzeXN0ZW1zLgpDSS9DRCBpbiBSZWFsLVdvcmxkIFVzZSBDYXNlcwoxLiBTYWFTIEFwcGxpY2F0aW9ucwpVc2VkIGZvciBmcmVxdWVudCBmZWF0dXJlIHVwZGF0ZXMgYW5kIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnRzLgoyLiBFLWNvbW1lcmNlIFBsYXRmb3JtcwpTdXBwb3J0czoK4pePCUZsYXNoIHNhbGUgdXBkYXRlcwril48JSW52ZW50b3J5IGNoYW5nZXMK4pePCVBheW1lbnQgc3lzdGVtIGZpeGVzCjMuIEZpbnRlY2ggU3lzdGVtcwpFbnN1cmVzIGhpZ2gtc2VjdXJpdHkgZGVwbG95bWVudHMgd2l0aCBzdHJpY3QgdmFsaWRhdGlvbiBhbmQgdGVzdGluZy4KNC4gQUkgQXBwbGljYXRpb25zClVzZWQgZm9yOgril48JTW9kZWwgZGVwbG95bWVudCBwaXBlbGluZXMK4pePCUxMTSB1cGRhdGVzCuKXjwlEYXRhIHByb2Nlc3Npbmcgd29ya2Zsb3dzCkZ1dHVyZSBvZiBDSS9DRCAoQmV5b25kIDIwMjYpCkNJL0NEIGlzIGV2b2x2aW5nIHJhcGlkbHkgdG93YXJkIGZ1bGx5IGF1dG9ub21vdXMgc3lzdGVtcy4KRnV0dXJlIHRyZW5kcyBpbmNsdWRlOgoxLiBBSS1Ecml2ZW4gRGV2T3BzCkFJIHdpbGwgbWFuYWdlIGVudGlyZSBwaXBlbGluZXMgYXV0b21hdGljYWxseS4KMi4gWmVyby1Ub3VjaCBEZXBsb3ltZW50Ck5vIGh1bWFuIGludm9sdmVtZW50IHdpbGwgYmUgcmVxdWlyZWQgZm9yIGRlcGxveW1lbnQgZGVjaXNpb25zLgozLiBTZWxmLUhlYWxpbmcgUGlwZWxpbmVzClN5c3RlbXMgd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdCBhbmQgZml4IGZhaWx1cmVzLgo0LiBGdWxseSBBdXRvbm9tb3VzIFNvZnR3YXJlIERlbGl2ZXJ5CkZyb20gY29kZSBjcmVhdGlvbiB0byBwcm9kdWN0aW9uIGRlcGxveW1lbnTigJRldmVyeXRoaW5nIHdpbGwgYmUgYXV0b21hdGVkLgpDb25jbHVzaW9uCkNJL0NEIHBpcGVsaW5lcyBoYXZlIHRyYW5zZm9ybWVkIHNvZnR3YXJlIGRldmVsb3BtZW50IGZyb20gYSBzbG93LCBtYW51YWwgcHJvY2VzcyBpbnRvIGEgZmFzdCwgYXV0b21hdGVkLCBhbmQgaGlnaGx5IHJlbGlhYmxlIHN5c3RlbS4KSW4gMjAyNiwgQ0kvQ0QgaXMgbm8gbG9uZ2VyIGp1c3QgYSBEZXZPcHMgcHJhY3RpY2XigJRpdCBoYXMgYmVjb21lIHRoZSBmb3VuZGF0aW9uIG9mIG1vZGVybiBzb2Z0d2FyZSBlbmdpbmVlcmluZy4KSXQgZW5hYmxlczoK4pePCUZhc3RlciByZWxlYXNlcwril48JSGlnaGVyIGNvZGUgcXVhbGl0eQril48JUmVkdWNlZCBodW1hbiBlcnJvcnMK4pePCVN0cm9uZyBzZWN1cml0eSBpbnRlZ3JhdGlvbgril48JSGlnaGx5IHNjYWxhYmxlIHN5c3RlbXMKT3JnYW5pemF0aW9ucyB0aGF0IGltcGxlbWVudCBDSS9DRCBlZmZlY3RpdmVseSBhcmUgYWJsZSB0byBpbm5vdmF0ZSBmYXN0ZXIsIHJlbGVhc2Ugc29mdHdhcmUgY29uZmlkZW50bHksIGFuZCBzdGF5IGNvbXBldGl0aXZlIGluIHRoZSByYXBpZGx5IGV2b2x2aW5nIGRpZ2l0YWwgd29ybGQuCmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc0luIG1vZGVybiBzb2Z0d2FyZSBkZXZlbG9wbWVudCBzcGVlZCBzdGFiaWxpdHkgYW5kIGF1dG9tYXRpb24gYXJlIHZlcnkgaW1wb3J0YW50LiBDb21wYW5pZXMgbm93IHJlbGVhc2UgbmV3IGZlYXR1cmVzLCBzZWN1cml0eSB1cGRhdGVzIGFuZCBidWcgZml4ZXMgdmVyeSBxdWlja2x5IHNvbWV0aW1lcyBtYW55IHRpbWVzIGluIGEgZGF5LmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRvIGRvIHRoaXMgc2FmZWx5IGFuZCB3aXRob3V0IGJyZWFraW5nIHN5c3RlbXMgY29tcGFuaWVzIHVzZSBDSSBDRCBwaXBlbGluZXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q0kgQ0QgbWVhbnMgQ29udGludW91cyBJbnRlZ3JhdGlvbiBhbmQgQ29udGludW91cyBEZWxpdmVyeSBvciBEZXBsb3ltZW50IGFuZCBpbiAyMDI2IGl0IGhhcyBiZWNvbWUgYSB2ZXJ5IGltcG9ydGFudCBwYXJ0IG9mIERldk9wcyBjbG91ZCBuYXRpdmUgc3lzdGVtcyBhbmQgQUkgYmFzZWQgZGV2ZWxvcG1lbnQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBndWlkZSBleHBsYWlucyBDSSBDRCBwaXBlbGluZXMgaW4gc2ltcGxlIHdvcmRzIGhvdyB0aGV5IHdvcmsgYW5kIGhvdyB0aGV5IGhhdmUgY2hhbmdlZCB3aXRoIEFJIGNsb3VkIHN5c3RlbXMgYW5kIG1vZGVybiBEZXZPcHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IGlzIENJIENEPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q0kgQ0QgaXMgYSBtb2Rlcm4gc29mdHdhcmUgbWV0aG9kIHRoYXQgYXV0b21hdGVzIHRoZSBmdWxsIHByb2Nlc3Mgb2YgYnVpbGRpbmcgdGVzdGluZyBhbmQgZGVsaXZlcmluZyBzb2Z0d2FyZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJdCBoZWxwcyB0ZWFtcyByZWxlYXNlIHVwZGF0ZXMgZmFzdGVyLCBtb3JlIHNhZmVseSBhbmQgd2l0aCBmZXdlciBtaXN0YWtlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiB0cmFkaXRpb25hbCBkZXZlbG9wbWVudCwgZGV2ZWxvcGVycyBoYWQgdG8gbWFudWFsbHk6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21iaW5lIGNvZGUgY2hhbmdlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGVzdCBhcHBsaWNhdGlvbnNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJ1aWxkIHNvZnR3YXJlIHZlcnNpb25zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXBsb3kgdXBkYXRlcyB0byBzZXJ2ZXJzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIG1hbnVhbCBwcm9jZXNzIHdhcyBzbG93IGFuZCBvZnRlbiBjYXVzZWQgbWlzdGFrZXMsIGJ1Z3MgYW5kIGRlcGxveW1lbnQgZmFpbHVyZXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q0kgQ0Qgc29sdmVzIHRoaXMgcHJvYmxlbSBieSBhdXRvbWF0aW5nIGV2ZXJ5dGhpbmcgdXNpbmcgYSBzdHJ1Y3R1cmVkIHBpcGVsaW5lLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIHNpbXBsZSB3b3JkcyBDSSBDRCBtYWtlcyBzdXJlIGV2ZXJ5IGNvZGUgY2hhbmdlIGlzIGF1dG9tYXRpY2FsbHkgY2hlY2tlZCwgdGVzdGVkIGFuZCBwcmVwYXJlZCBmb3IgZGVwbG95bWVudCB3aXRob3V0IG1hbnVhbCB3b3JrLiBUaGlzIGlzIHdoYXQgcGVvcGxlIG1lYW4gd2hlbiB0aGV5IGFzayB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGJlY2F1c2UgaXQgc2hvd3MgaG93IHNvZnR3YXJlIG1vdmVzIGZyb20gZGV2ZWxvcG1lbnQgdG8gcHJvZHVjdGlvbiBpbiBhbiBhdXRvbWF0aWMgd2F5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENJL0NEIGlzIGRpdmlkZWQgaW50byB0d28gbWFpbiBwYXJ0czpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YT48L2E+PHN0cm9uZz5DSSAoQ29udGludW91cyBJbnRlZ3JhdGlvbik8L3N0cm9uZz5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29udGludW91cyBJbnRlZ3JhdGlvbiBpcyB0aGUgcHJvY2VzcyBvZiByZWd1bGFybHkgbWVyZ2luZyBjb2RlIGNoYW5nZXMgaW50byBhIHNoYXJlZCByZXBvc2l0b3J5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEV2ZXJ5IHRpbWUgYSBkZXZlbG9wZXIgYWRkcyBuZXcgY29kZTpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl0IGlzIGF1dG9tYXRpY2FsbHkgaW50ZWdyYXRlZCB3aXRoIHRoZSBtYWluIGNvZGViYXNlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBdXRvbWF0ZWQgdGVzdHMgYXJlIGV4ZWN1dGVkaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFcnJvcnMgb3IgY29uZmxpY3RzIGFyZSBkZXRlY3RlZCBlYXJseWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBlbnN1cmVzIHRoYXQgdGhlIHNvZnR3YXJlIGlzIGFsd2F5cyBpbiBhIHN0YWJsZSBhbmQgd29ya2luZyBzdGF0ZS48YnI+Jm5ic3A7Q0kgaGVscHMgdGVhbXMgYXZvaWQg4oCcaW50ZWdyYXRpb24gcHJvYmxlbXPigJ0gdGhhdCB1c3VhbGx5IGhhcHBlbiB3aGVuIG11bHRpcGxlIGRldmVsb3BlcnMgd29yayBvbiB0aGUgc2FtZSBwcm9qZWN0LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgZW50aXJlIHdvcmtmbG93IGlzIG9mdGVuIGRlc2NyaWJlZCB3aGVuIGV4cGxhaW5pbmcgPHN0cm9uZz5jaS9jZCBwaXBlbGluZSBtZWFuaW5nPC9zdHJvbmc+LCBiZWNhdXNlIENJIGlzIHRoZSBmaXJzdCBhbmQgbW9zdCBpbXBvcnRhbnQgc3RhZ2Ugb2YgYW55IENJL0NEIHN5c3RlbS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNEIChDb250aW51b3VzIERlbGl2ZXJ5IC8gRGVwbG95bWVudCk8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDRCBmb2N1c2VzIG9uIGRlbGl2ZXJpbmcgb3IgZGVwbG95aW5nIHRoZSB0ZXN0ZWQgY29kZSB0byBwcm9kdWN0aW9uIGVudmlyb25tZW50cy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGVyZSBhcmUgdHdvIGZvcm1zOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhPjwvYT48c3Ryb25nPkNvbnRpbnVvdXMgRGVsaXZlcnk8L3N0cm9uZz5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb2RlIGlzIGF1dG9tYXRpY2FsbHkgYnVpbHQgYW5kIHRlc3RlZGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SXQgaXMgdGhlbiBwcmVwYXJlZCBmb3IgcmVsZWFzZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWFudWFsIGFwcHJvdmFsIG1heSBzdGlsbCBiZSByZXF1aXJlZCBiZWZvcmUgZGVwbG95bWVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGE+PC9hPjxzdHJvbmc+Q29udGludW91cyBEZXBsb3ltZW50PC9zdHJvbmc+bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RXZlcnl0aGluZyBpcyBmdWxseSBhdXRvbWF0ZWRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9uY2UgY29kZSBwYXNzZXMgdGVzdHMsIGl0IGlzIGRpcmVjdGx5IGRlcGxveWVkIHRvIHByb2R1Y3Rpb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE5vIG1hbnVhbCBpbnRlcnZlbnRpb24gaXMgbmVlZGVkaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGhlbHBzIGNvbXBhbmllcyByZWxlYXNlIHVwZGF0ZXMgZmFzdCBhbmQgaW4gYSBzdGVhZHkgd2F5ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TW9kZXJuIGVuZ2luZWVyaW5nIHRlYW1zIG9mdGVuIHVzZSB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIHByYWN0aWNlcyB0byB1bmRlcnN0YW5kIGhvdyBhdXRvbWF0aW9uIHdvcmtzIGluIHJlYWwgc3lzdGVtcyB3aGlsZSBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIGV4cGxhaW5zIHRoZSBmdWxsIGZsb3cgZnJvbSBjb2RlIHRvIHByb2R1Y3Rpb25kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPldoeSBDSS9DRCBNYXR0ZXJzIGluIDIwMjY8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiAyMDI2LCBDSS9DRCBpcyBub3QganVzdCBhIGRldmVsb3BtZW50IHByYWN0aWNl4oCUaXQgaXMgYSBmb3VuZGF0aW9uIG9mIG1vZGVybiBzb2Z0d2FyZSBkZWxpdmVyeS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkl0IHN1cHBvcnRzOjwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RmFzdGVyIHJlbGVhc2UgY3ljbGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbXByb3ZlZCBzb2Z0d2FyZSBxdWFsaXR5aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWR1Y2VkIGh1bWFuIGVycm9yc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QmV0dGVyIGNvbGxhYm9yYXRpb24gYmV0d2VlbiB0ZWFtc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2NhbGFibGUgZGVwbG95bWVudCBzeXN0ZW1zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGlzIHdoeSB1bmRlcnN0YW5kaW5nIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgYW5kIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgaGFzIGJlY29tZSB2ZXJ5IGltcG9ydGFudCBmb3IgZXZlcnkgZGV2ZWxvcGVyLCBEZXZPcHMgZW5naW5lZXIgYW5kIHRlY2ggY29tcGFueSB3b3JraW5nIGluIG1vZGVybiBjbG91ZCBzeXN0ZW1zLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhPjwvYT48c3Ryb25nPkNvbnRpbnVvdXMgRGVsaXZlcnkgdnMgQ29udGludW91cyBEZXBsb3ltZW50PC9zdHJvbmc+bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzdXJsYWx0Y2FwdGlvbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlc2UgdHdvIHRlcm1zIGFyZSBvZnRlbiBtaXhlZCBidXQgdGhleSBhcmUgZGlmZmVyZW50LiBFdmVuIHRob3VnaCBib3RoIGFyZSBwYXJ0IG9mIENJIENEIHBpcGVsaW5lcyBhbmQgYm90aCBoZWxwIGF1dG9tYXRlIHNvZnR3YXJlIHJlbGVhc2UgdGhlIG1haW4gZGlmZmVyZW5jZSBpcyBob3cgY29kZSBnb2VzIHRvIHByb2R1Y3Rpb24gYW5kIHdobyBjb250cm9scyB0aGUgZmluYWwgc3RlcC4gVGhpcyBkaXN0aW5jdGlvbiBpcyBvZnRlbiBleHBsYWluZWQgd2hlbiB1bmRlcnN0YW5kaW5nIDxzdHJvbmc+d2hhdCBpcyBjaS9jZCBwaXBlbGluZTwvc3Ryb25nPiwgYmVjYXVzZSBib3RoIG1vZGVscyBkZWZpbmUgZGlmZmVyZW50IHdheXMgYSBDSS9DRCBzeXN0ZW0gYmVoYXZlcyBpbiByZWFsIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q29udGludW91cyBEZWxpdmVyeTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29kZSBpcyBhdXRvbWF0aWNhbGx5IHRlc3RlZCB0aHJvdWdoIENJIHBpcGVsaW5lcyBhZnRlciBldmVyeSBjb21taXRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEV2ZXJ5IGNoYW5nZSBnb2VzIHRocm91Z2ggYSBzdHJ1Y3R1cmVkIGJ1aWxkIHByb2Nlc3Npbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEF1dG9tYXRlZCB0ZXN0aW5nIGNoZWNrcyBmb3IgYnVncywgZXJyb3JzLCBhbmQgaW50ZWdyYXRpb24gaXNzdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb2RlIGlzIGFsd2F5cyBrZXB0IGluIGEgcHJvZHVjdGlvbi1yZWFkeSBzdGF0ZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGJyPlRoZSBzeXN0ZW0gbWFrZXMgc3VyZSB0aGUgYXBwbGljYXRpb24gaXMgYWx3YXlzIHNhZmUgdG8gZGVwbG95IGF0IGFueSB0aW1lLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgbWVhbnMgZGV2ZWxvcGVycyBkbyBub3QgbmVlZCB0byBtYW51YWxseSBwcmVwYXJlIHRoZSBhcHAgZm9yIHJlbGVhc2UgZXZlcnkgdGltZS4gVGhlIHBpcGVsaW5lIGtlZXBzIGNoZWNraW5nIHRoZSBjb2RlIGFuZCBtYWtlcyBzdXJlIGV2ZXJ5dGhpbmcgaXMgc3RhYmxlIGJlZm9yZSBpdCBpcyByZWFkeSBmb3IgcHJvZHVjdGlvbi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkhvd2V2ZXIgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQgaXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXBsb3ltZW50IGlzIHRyaWdnZXJlZCBtYW51YWxseS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFdmVuIGlmIGFsbCB0ZXN0cyBwYXNzIGFuZCB0aGUgc3lzdGVtIGNvbmZpcm1zIGV2ZXJ5dGhpbmcgaXMgc3RhYmxlIHRoZSBjb2RlIGRvZXMgbm90IGdvIGxpdmUgYXV0b21hdGljYWxseS4gQSBwZXJzb24gbGlrZSBhIERldk9wcyBlbmdpbmVlciBvciBkZXZlbG9wZXIgZGVjaWRlcyB3aGVuIHRvIHNlbmQgdGhlIGNoYW5nZXMgdG8gcHJvZHVjdGlvbi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGdpdmVzIG9yZ2FuaXphdGlvbnMgbW9yZSBjb250cm9sIG92ZXIgcmVsZWFzZXMsIGFsbG93aW5nIHRoZW0gdG86ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaG9vc2Ugb3B0aW1hbCBkZXBsb3ltZW50IHRpbWluZ2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QXZvaWQgcmVsZWFzaW5nIGR1cmluZyBwZWFrIHRyYWZmaWMgaG91cnNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvb3JkaW5hdGUgd2l0aCBidXNpbmVzcyBvciBtYXJrZXRpbmcgdGVhbXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlZHVjZSByaXNrIGluIGNyaXRpY2FsIHN5c3RlbXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaW5rIG9mIGl0IGFzOjxicj7igJxSZWFkeSBhbnl0aW1lLCBkZXBsb3kgd2hlbiBuZWVkZWQu4oCdZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBtb2RlbCBpcyBvZnRlbiByZWZlcmVuY2VkIHdoZW4gZXhwbGFpbmluZyA8c3Ryb25nPmNpL2NkIHBpcGVsaW5lIG1lYW5pbmc8L3N0cm9uZz4sIGJlY2F1c2UgaXQgY2xlYXJseSBzaG93cyBob3cgY29udHJvbGxlZCBkZXBsb3ltZW50IHdvcmtzIGluc2lkZSBhIENJL0NEIHBpcGVsaW5lLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q29udGludW91cyBEZXBsb3ltZW50PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW4gQ29udGludW91cyBEZXBsb3ltZW50OmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29kZSBpcyBhdXRvbWF0aWNhbGx5IHRlc3RlZCB1c2luZyBDSSBwaXBlbGluZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBZnRlciBhbGwgdGVzdHMgcGFzcyBzdWNjZXNzZnVsbHksIHRoZSBjb2RlIGlzIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgdG8gcHJvZHVjdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZXJlIGlzIG5vIG1hbnVhbCBhcHByb3ZhbCBzdGVwIGJlZm9yZSBkZXBsb3ltZW50LmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RXZlcnkgdmFsaWRhdGVkIGNoYW5nZSBnb2VzIGxpdmUgaW5zdGFudGx5LmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBtZXRob2QgZm9jdXNlcyBvbiBmdWxsIGF1dG9tYXRpb24gd2hlcmUgdGhlIHN5c3RlbSBpdHNlbGYgY2hlY2tzIHF1YWxpdHkgdXNpbmcgdGVzdHMgYW5kIGlmIGV2ZXJ5dGhpbmcgaXMgc3RhYmxlIGl0IGRpcmVjdGx5IHNlbmRzIHRoZSB1cGRhdGUgdG8gdXNlcnMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBtZWFucyBkZXZlbG9wZXJzIGRvIG5vdCB3YWl0IGZvciByZWxlYXNlIHNjaGVkdWxlcyBvciBtYW51YWwgYXBwcm92YWxzIFRoZSBwaXBlbGluZSBpdHNlbGYgZGVjaWRlcyB3aGVuIHRvIGRlcGxveS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlRoaW5rIG9mIGl0IGxpa2UgdGhpczwvc3Ryb25nPjxicj4mbmJzcDtJZiBpdCB3b3JrcyByZWxlYXNlIGl0IGltbWVkaWF0ZWx5ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TW9kZXJuIERldk9wcyB0ZWFtcyBvZnRlbiBzdHVkeSB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIHRvIHVuZGVyc3RhbmQgaG93IENvbnRpbnVvdXMgRGVwbG95bWVudCBmdWxseSBhdXRvbWF0ZXMgc29mdHdhcmUgcmVsZWFzZSBpbnNpZGUgYSBDSSBDRCBwaXBlbGluZSB3aGlsZSBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIGV4cGxhaW5zIHRoZSBmdWxsIGZsb3cgZnJvbSBjb2RlIHRvIHByb2R1Y3Rpb24uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IGlzIGEgQ0kgQ0QgUGlwZWxpbmU8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgQ0kgQ0QgcGlwZWxpbmUgaXMgYSBzaW1wbGUgYXV0b21hdGVkIHdvcmtmbG93IHRoYXQgdGFrZXMgY29kZSBmcm9tIGRldmVsb3BtZW50IGFuZCBtb3ZlcyBpdCB0byBwcm9kdWN0aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl0IG1ha2VzIHN1cmUgZXZlcnkgY29kZSBjaGFuZ2UgaXMgYnVpbHQsIHRlc3RlZCBhbmQgZGVsaXZlcmVkIGluIGEgcHJvcGVyIGFuZCByZWxpYWJsZSB3YXkgd2l0aG91dCBtYW51YWwgd29yay5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIG5vcm1hbCBDSSBDRCBwaXBlbGluZSBoYXMgZGlmZmVyZW50IHN0ZXBzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+MS4gU291cmNlIENvbnRyb2w8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGlzIHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgcGlwZWxpbmUuIERldmVsb3BlcnMgd3JpdGUgYW5kIHN0b3JlIHRoZWlyIGNvZGUgaW4gdmVyc2lvbiBjb250cm9sIHN5c3RlbXMgc3VjaCBhczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEdpdCByZXBvc2l0b3JpZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEdpdEh1YmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50R2l0TGFiaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCaXRidWNrZXRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoZW5ldmVyIGEgZGV2ZWxvcGVyIHB1c2hlcyBuZXcgY29kZSwgaXQgYXV0b21hdGljYWxseSB0cmlnZ2VycyB0aGUgQ0kvQ0QgcGlwZWxpbmUuIFRoaXMgZW5zdXJlcyB0aGF0IGV2ZXJ5IGNoYW5nZSBpcyB0cmFja2VkLCB2ZXJzaW9uZWQsIGFuZCBwcm9jZXNzZWQgdGhyb3VnaCB0aGUgc2FtZSB3b3JrZmxvdy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjIuIEJ1aWxkIFN0YWdlPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW4gdGhpcyBzdGFnZSwgdGhlIHN5c3RlbSBwcmVwYXJlcyB0aGUgYXBwbGljYXRpb24gZm9yIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQuIEl0IHR5cGljYWxseSBpbmNsdWRlczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbXBpbGluZyBzb3VyY2UgY29kZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmVzb2x2aW5nIGRlcGVuZGVuY2llcyBhbmQgbGlicmFyaWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQYWNrYWdpbmcgdGhlIGFwcGxpY2F0aW9uIGludG8gYnVpbGQgYXJ0aWZhY3RzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQcmVwYXJpbmcgcnVudGltZS1jb21wYXRpYmxlIG91dHB1dGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBzdGVwIGVuc3VyZXMgdGhhdCB0aGUgY29kZSBpcyB0ZWNobmljYWxseSBjb3JyZWN0IGFuZCBjYW4gYmUgZXhlY3V0ZWQgaW4gYSBjb250cm9sbGVkIGVudmlyb25tZW50LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+My4gVGVzdGluZyBTdGFnZTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgb25lIG9mIHRoZSBtb3N0IGltcG9ydGFudCBwYXJ0cyBvZiB0aGUgcGlwZWxpbmUuIEF1dG9tYXRlZCB0ZXN0cyBhcmUgZXhlY3V0ZWQgdG8gZW5zdXJlIGNvZGUgcXVhbGl0eSBhbmQgc3RhYmlsaXR5LCBzdWNoIGFzOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VW5pdCB0ZXN0cyAodGVzdGluZyBpbmRpdmlkdWFsIGNvbXBvbmVudHMpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbnRlZ3JhdGlvbiB0ZXN0cyAodGVzdGluZyBjb21iaW5lZCBtb2R1bGVzKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RW5kLXRvLWVuZCB0ZXN0cyAodGVzdGluZyBmdWxsIGFwcGxpY2F0aW9uIGZsb3cpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTZWN1cml0eSB0ZXN0cyAoY2hlY2tpbmcgdnVsbmVyYWJpbGl0aWVzIGFuZCByaXNrcylpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIDIwMjYsIENJL0NEIHBpcGVsaW5lcyBhcmUgZnVydGhlciBlbmhhbmNlZCB3aXRoIEFJLXBvd2VyZWQgdGVzdGluZyB0b29scyB0aGF0IGhlbHAgaWRlbnRpZnk6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFZGdlLWNhc2UgZmFpbHVyZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFBlcmZvcm1hbmNlIGJvdHRsZW5lY2tzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTZWN1cml0eSB2dWxuZXJhYmlsaXRpZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVuZXhwZWN0ZWQgc3lzdGVtIGJlaGF2aW9yaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIG1ha2VzIHRoZSB0ZXN0aW5nIHByb2Nlc3Mgc21hcnRlciwgZmFzdGVyLCBhbmQgbW9yZSByZWxpYWJsZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjQuIERlcGxveW1lbnQgU3RhZ2U8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGlzIHRoZSBmaW5hbCBzdGFnZSB3aGVyZSB0aGUgYXBwbGljYXRpb24gaXMgZGVsaXZlcmVkIHRvIHVzZXJzIG9yIGVudmlyb25tZW50cy4gVGhlIHRlc3RlZCBjb2RlIGlzIGRlcGxveWVkIHRvOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3RhZ2luZyBlbnZpcm9ubWVudHMgKGZvciBmaW5hbCB2YWxpZGF0aW9uKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgKGxpdmUgdXNlciBzeXN0ZW1zKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2xvdWQgaW5mcmFzdHJ1Y3R1cmUgcGxhdGZvcm1zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNb2Rlcm4gQ0kvQ0Qgc3lzdGVtcyBvZnRlbiB1c2UgYWR2YW5jZWQgZGVwbG95bWVudCBzdHJhdGVnaWVzIGxpa2U6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCbHVlLWdyZWVuIGRlcGxveW1lbnRzIChzd2l0Y2hpbmcgYmV0d2VlbiB0d28gZW52aXJvbm1lbnRzKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2FuYXJ5IHJlbGVhc2VzIChyZWxlYXNpbmcgdG8gYSBzbWFsbCB1c2VyIGdyb3VwIGZpcnN0KWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Um9sbGluZyB1cGRhdGVzIChncmFkdWFsIHN5c3RlbS13aWRlIGRlcGxveW1lbnQpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGVzZSBtZXRob2RzIGhlbHAgcmVkdWNlIGRvd250aW1lIGFuZCBtaW5pbWl6ZSByaXNrIGR1cmluZyByZWxlYXNlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiByZWFsIHdvcmxkIENJIENEIHN5c3RlbXMsIHVuZGVyc3RhbmRpbmcgd2hhdCBpcyBjaSBjZCBwaXBlbGluZSBhbmQgY2kgY2QgcGlwZWxpbmUgbWVhbmluZyBpcyB2ZXJ5IGltcG9ydGFudCBiZWNhdXNlIGJvdGggZXhwbGFpbiBob3cgYXV0b21hdGlvbiB0ZXN0aW5nIGFuZCBkZXBsb3ltZW50IHdvcmsgdG9nZXRoZXIgaW4gbW9kZXJuIHNvZnR3YXJlIGRlbGl2ZXJ5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+SG93IENJIENEIFdvcmtzIGluIE1vZGVybiBTeXN0ZW1zIDIwMjY8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDSSBDRCBoYXMgY2hhbmdlZCBhIGxvdCBpbiByZWNlbnQgeWVhcnMgRWFybGllciBpdCB3YXMgb25seSBhbiBhdXRvbWF0aW9uIHByb2Nlc3MgYnV0IG5vdyBpdCBoYXMgYmVjb21lIGEgc21hcnQgQUkgYmFzZWQgc3lzdGVtIHRoYXQgaW1wcm92ZXMgc29mdHdhcmUgcXVhbGl0eSBzcGVlZCBhbmQgcmVsaWFiaWxpdHlkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNb2Rlcm4gZW5naW5lZXJpbmcgdGVhbXMgZmlyc3QgdW5kZXJzdGFuZCB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGJlZm9yZSBidWlsZGluZyBhbnkgZGVsaXZlcnkgc3lzdGVtIGJlY2F1c2UgdGhpcyBjb25jZXB0IGlzIHRoZSBiYXNlIG9mIG1vZGVybiBzb2Z0d2FyZSBkZXZlbG9wbWVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIDIwMjYgQ0kgQ0QgcGlwZWxpbmVzIGFyZSBub3QganVzdCBzaW1wbGUgc2NyaXB0cyB0aGF0IHJ1biBidWlsZHMgYW5kIHRlc3RzLiBUaGV5IGFyZSBub3cgc21hcnQgc3lzdGVtcyB0aGF0IGNhbiBjaGVjayBjb2RlLCBmaW5kIHJpc2tzIGFuZCBpbXByb3ZlIGRlcGxveW1lbnRzIGF1dG9tYXRpY2FsbHkuIFRoaXMgZXZvbHV0aW9uIGlzIGFsc28gY2xvc2VseSBjb25uZWN0ZWQgdG8gdGhlIGdyb3dpbmcgdW5kZXJzdGFuZGluZyBvZiA8c3Ryb25nPmNpL2NkIHBpcGVsaW5lIG1lYW5pbmc8L3N0cm9uZz4gaW4gbW9kZXJuIERldk9wcyBlbnZpcm9ubWVudHMuIFRoZSBpZGVhIG9mIDxzdHJvbmc+Y2kvY2QgcGlwZWxpbmUgbWVhbmluZzwvc3Ryb25nPiBoZWxwcyB0ZWFtcyBkZWZpbmUgc3RydWN0dXJlZCBhdXRvbWF0aW9uIGluIHNvZnR3YXJlIGRlbGl2ZXJ5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+TW9kZXJuIENJL0NEIEZsb3c8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIHR5cGljYWwgbW9kZXJuIENJL0NEIHBpcGVsaW5lIHdvcmtzIGluIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXZlbG9wZXIgY29tbWl0cyBjb2RlIHRvIGEgcmVwb3NpdG9yeSAoR2l0LWJhc2VkIHN5c3RlbXMpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBSSBiYXNlZCBwcmUtY2hlY2tzIGFuYWx5emUgdGhlIGNvZGUgZm9yIHF1YWxpdHkgaXNzdWVzLCBwZXJmb3JtYW5jZSByaXNrcyBhbmQgc2VjdXJpdHkgcHJvYmxlbXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgQ0kgQ0QgcGlwZWxpbmUgaXMgYXV0b21hdGljYWxseSB0cmlnZ2VyZWQgd2hlbiBjb2RlIGlzIGNvbW1pdHRlZCBvciBtZXJnZWQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNdWx0aXBsZSB0ZXN0cyBydW4gYXQgdGhlIHNhbWUgdGltZSBpbiBwYXJhbGxlbCB0byBzYXZlIHRpbWUgYW5kIGltcHJvdmUgc3BlZWQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTZWN1cml0eSBzY2FubmluZyB0b29scyBjaGVjayBmb3IgdnVsbmVyYWJpbGl0aWVzIGluIGRlcGVuZGVuY2llcyBhbmQgY29kZSBzdHJ1Y3R1cmUgaW4gcmVhbCB0aW1lLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBidWlsZCBpcyBnZW5lcmF0ZWQgYWZ0ZXIgc3VjY2Vzc2Z1bCB2YWxpZGF0aW9uIG9mIGNvZGUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXBsb3ltZW50IGlzIGV4ZWN1dGVkIGVpdGhlciBhdXRvbWF0aWNhbGx5IG9yIHdpdGggY29udHJvbGxlZCBhcHByb3ZhbCAoZGVwZW5kaW5nIG9uIHN5c3RlbSBkZXNpZ24paW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGVudGlyZSBmbG93IGVuc3VyZXMgdGhhdCBzb2Z0d2FyZSBtb3ZlcyBmcm9tIGRldmVsb3BtZW50IHRvIHByb2R1Y3Rpb24gaW4gYSBmYXN0LCBzYWZlLCBhbmQgcHJlZGljdGFibGUgd2F5LiBJdCBpcyBhIHByYWN0aWNhbCBpbXBsZW1lbnRhdGlvbiBvZiA8c3Ryb25nPndoYXQgaXMgY2kvY2QgcGlwZWxpbmU8L3N0cm9uZz4sIHdoZXJlIHRoZSBzeXN0ZW0gaXMgYnVpbHQgYXJvdW5kIDxzdHJvbmc+d2hhdCBpcyBjaS9jZCBwaXBlbGluZTwvc3Ryb25nPiBwcmluY2lwbGVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+S2V5IEJlbmVmaXRzIG9mIENJL0NEIFBpcGVsaW5lczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhPjwvYT48c3Ryb25nPjEuIEZhc3RlciBTb2Z0d2FyZSBEZWxpdmVyeTwvc3Ryb25nPmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDSS9DRCByZW1vdmVzIG1hbnVhbCBzdGVwcyBmcm9tIHRoZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUsIGFsbG93aW5nIHRlYW1zIHRvIHJlbGVhc2Ugc29mdHdhcmUgbXVjaCBmYXN0ZXIuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW5zdGVhZCBvZiB3YWl0aW5nIGZvciBsb25nIHJlbGVhc2UgY3ljbGVzLCB0ZWFtcyBjYW4gbm93IHB1c2ggdXBkYXRlcyBpbiByZWFsIHRpbWU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREYWlseSBmZWF0dXJlIHVwZGF0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdlZWtseSBpbXByb3ZlbWVudHMgYW5kIGVuaGFuY2VtZW50c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RW1lcmdlbmN5IGJ1ZyBmaXhlcyB3aXRoaW4gbWludXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBzcGVlZCBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCBpbiAyMDI2LCB3aGVyZSB1c2VycyBleHBlY3QgaW5zdGFudCB1cGRhdGVzIGFuZCBjb250aW51b3VzIGltcHJvdmVtZW50cy4gT3JnYW5pemF0aW9ucyBhbHNvIHJlbHkgb24gPHN0cm9uZz5jaS9jZCBwaXBlbGluZSBtZWFuaW5nPC9zdHJvbmc+IHRvIG9wdGltaXplIHRoZWlyIHJlbGVhc2Ugc3RyYXRlZ2llcy4gTWFueSBvcmdhbml6YXRpb25zIHN0dWR5IDxzdHJvbmc+Y2kvY2QgcGlwZWxpbmUgbWVhbmluZzwvc3Ryb25nPiB0byBvcHRpbWl6ZSBkZWxpdmVyeSBzcGVlZCBhbmQgd29ya2Zsb3cgZWZmaWNpZW5jeS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjIuIEltcHJvdmVkIENvZGUgUXVhbGl0eTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9uZSBvZiB0aGUgYmlnZ2VzdCBhZHZhbnRhZ2VzIG9mIENJL0NEIGlzIGNvbnNpc3RlbnQgY29kZSBxdWFsaXR5IHRocm91Z2ggYXV0b21hdGlvbi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBdXRvbWF0ZWQgdGVzdGluZyBlbnN1cmVzOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QnVncyBhcmUgZGV0ZWN0ZWQgZWFybHkgaW4gZGV2ZWxvcG1lbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlZ3Jlc3Npb24gaXNzdWVzIGFyZSBhdm9pZGVkIGJlZm9yZSBwcm9kdWN0aW9uIHJlbGVhc2Vpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9ubHkgc3RhYmxlIGFuZCB2ZXJpZmllZCBidWlsZHMgbW92ZSBmb3J3YXJkIGluIHRoZSBwaXBlbGluZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyByZWR1Y2VzIHByb2R1Y3Rpb24gZmFpbHVyZXMgYW5kIGltcHJvdmVzIG92ZXJhbGwgc29mdHdhcmUgcmVsaWFiaWxpdHkuIEEgY2xlYXIgdW5kZXJzdGFuZGluZyBvZiA8c3Ryb25nPndoYXQgaXMgY2kvY2QgcGlwZWxpbmU8L3N0cm9uZz4gaGVscHMgdGVhbXMgYnVpbGQgYmV0dGVyIHF1YWxpdHkgc3lzdGVtcy4gVGhlIGNvbmNlcHQgb2YgPHN0cm9uZz53aGF0IGlzIGNpL2NkIHBpcGVsaW5lPC9zdHJvbmc+IGlzIGNlbnRyYWwgdG8gbW9kZXJuIERldk9wcyB3b3JrZmxvd3MuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4zLiBSZWR1Y2VkIEh1bWFuIEVycm9yPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWFudWFsIGRlcGxveW1lbnRzIG9mdGVuIGxlYWQgdG8gbWlzdGFrZXMgc3VjaCBhczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluY29ycmVjdCBjb25maWd1cmF0aW9uIHNldHRpbmdzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWlzc2luZyBkZXBsb3ltZW50IHN0ZXBzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIGVudmlyb25tZW50IG1pc21hdGNoZXMgYmV0d2VlbiBkZXZlbG9wbWVudCBhbmQgcHJvZHVjdGlvbi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENJIENEIHJlbW92ZXMgdGhlc2Ugcmlza3MgYnkgbWFraW5nIHRoZSB3aG9sZSBwcm9jZXNzIHN0YW5kYXJkIHRocm91Z2ggYXV0b21hdGlvbiBzbyBldmVyeSBkZXBsb3ltZW50IGZvbGxvd3MgdGhlIHNhbWUgc2FmZSBhbmQgdGVzdGVkIHN0ZXBzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgZGlyZWN0bHkgcmVsYXRlZCB0byBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIHdoZXJlIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgZXhwbGFpbnMgYSBzdHJ1Y3R1cmVkIGFuZCBlcnJvciBmcmVlIGRlbGl2ZXJ5IHByb2Nlc3MuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz40LiBCZXR0ZXIgQ29sbGFib3JhdGlvbjwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENJIENEIGhlbHBzIGltcHJvdmUgdGVhbXdvcmsgYmV0d2VlbiBhbGwgcGVvcGxlIGludm9sdmVkIGluIHNvZnR3YXJlIGRldmVsb3BtZW50IEl0IGNyZWF0ZXMgb25lIHNoYXJlZCB3b3JrZmxvdyBmb3IuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXZlbG9wZXJzIHdobyB3cml0ZSBhbmQgY29tbWl0IGNvZGUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRRQSBlbmdpbmVlcnMgd2hvIHRlc3QgYW5kIGNoZWNrIHRoZSBzeXN0ZW0uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXZPcHMgdGVhbXMgd2hvIGhhbmRsZSBkZXBsb3ltZW50IGFuZCBpbmZyYXN0cnVjdHVyZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNpbmNlIGV2ZXJ5dGhpbmcgaXMgYXV0b21hdGVkIGFuZCB2aXNpYmxlIGluIHBpcGVsaW5lcyB0ZWFtcyBjYW4gZWFzaWx5IHRyYWNrIGNoYW5nZXMsIGZpbmQgcHJvYmxlbXMgYW5kIHdvcmsgdG9nZXRoZXIgaW4gYSBiZXR0ZXIgd2F5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgdGVhbXdvcmsgbW9kZWwgaXMgYmFzZWQgb24gd2hhdCBpcyBjaSBjZCBwaXBlbGluZSB3aGVyZSB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGdpdmVzIHNoYXJlZCB2aXNpYmlsaXR5IGFuZCBhdXRvbWF0aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+NSBTY2FsYWJpbGl0eTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vZGVybiBDSSBDRCBzeXN0ZW1zIGFyZSBidWlsdCB0byBoYW5kbGUgbGFyZ2UgYW5kIGNvbXBsZXggYXBwbGljYXRpb25zIGVhc2lseSBUaGV5IHN1cHBvcnQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCaWcgZW50ZXJwcmlzZSBhcHBsaWNhdGlvbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNaWNyb3NlcnZpY2VzIGJhc2VkIHN5c3RlbXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNdWx0aSBjbG91ZCBlbnZpcm9ubWVudHMgbGlrZSBBV1MgQXp1cmUgYW5kIEdDUC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgbWFrZXMgQ0kgQ0QgdmVyeSBpbXBvcnRhbnQgZm9yIGNvbXBhbmllcyB0aGF0IHdhbnQgdG8gZ3JvdyB0aGVpciBhcHBsaWNhdGlvbnMgZ2xvYmFsbHkgd2l0aG91dCBwZXJmb3JtYW5jZSBwcm9ibGVtcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgY29uY2VwdCBvZiA8c3Ryb25nPmNpL2NkIHBpcGVsaW5lIG1lYW5pbmc8L3N0cm9uZz4gYmVjb21lcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNjYWxpbmcgc3lzdGVtcyBhY3Jvc3MgZGlzdHJpYnV0ZWQgZW52aXJvbm1lbnRzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxicj48c3Ryb25nPkNJL0NEIFRvb2xzIGluIDIwMjY8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUb2RheSwgbWFueSBhZHZhbmNlZCB0b29scyBhcmUgdXNlZCB0byBidWlsZCBhbmQgbWFuYWdlIENJL0NEIHBpcGVsaW5lcy4gU29tZSBvZiB0aGUgbW9zdCB3aWRlbHkgdXNlZCB0b29scyBpbmNsdWRlOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50R2l0SHViIEFjdGlvbnNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEdpdExhYiBDSS9DRGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SmVua2luc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2lyY2xlQ0lpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFyZ28gQ0Rpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZXNlIHRvb2xzIGhlbHAgYXV0b21hdGUgZXZlcnkgc3RhZ2Ugb2Ygc29mdHdhcmUgZGVsaXZlcnksIGZyb20gY29kZSBpbnRlZ3JhdGlvbiB0byBwcm9kdWN0aW9uIGRlcGxveW1lbnQsIG1ha2luZyBtb2Rlcm4gRGV2T3BzIHN5c3RlbXMgZmFzdGVyIGFuZCBtb3JlIHJlbGlhYmxlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q0kvQ0QgaW4gQ2xvdWQtTmF0aXZlIEVudmlyb25tZW50czwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENJIENEIGlzIGNsb3NlbHkgY29ubmVjdGVkIHdpdGggY2xvdWQgbmF0aXZlIGRldmVsb3BtZW50IEluIG1vZGVybiBzeXN0ZW1zIGFwcGxpY2F0aW9ucyBhcmUgbm90IGRlcGxveWVkIGFzIG9uZSBzaW5nbGUgYmxvY2sgSW5zdGVhZCB0aGV5IGFyZSBidWlsdCB1c2luZyBkaXN0cmlidXRlZCBzeXN0ZW1zIHRoYXQgbmVlZCBjb250aW51b3VzIGFuZCBhdXRvbWF0aWMgZGVsaXZlcnkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VG9kYXkgY2xvdWQgbmF0aXZlIGVudmlyb25tZW50cyBkZXBlbmQgb24uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb250YWluZXJzIHRoYXQgcGFja2FnZSBhcHBsaWNhdGlvbnMgd2l0aCBhbGwgbmVlZGVkIGZpbGVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWljcm9zZXJ2aWNlcyB0aGF0IHNwbGl0IGFwcGxpY2F0aW9ucyBpbnRvIHNtYWxsIGluZGVwZW5kZW50IHBhcnRzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50S3ViZXJuZXRlcyB0aGF0IG1hbmFnZXMgYW5kIHNjYWxlcyBjb250YWluZXJzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2VydmVybGVzcyBmdW5jdGlvbnMgdGhhdCBydW4gY29kZSB3aXRob3V0IG1hbmFnaW5nIHNlcnZlcnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiB0aGVzZSBzeXN0ZW1zIENJIENEIHBpcGVsaW5lcyBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHdpdGggY2xvdWQgcGxhdGZvcm1zLiBBZnRlciBjb2RlIGlzIHRlc3RlZCBhbmQgdmVyaWZpZWQgaXQgaXMgYXV0b21hdGljYWxseSBkZXBsb3llZCBpbnRvIGVudmlyb25tZW50cyBtYW5hZ2VkIGJ5IEt1YmVybmV0ZXMuIFRoaXMgaGVscHMgYXBwbGljYXRpb25zIHNjYWxlLCByZWNvdmVyIGFuZCB1cGRhdGUgc21vb3RobHkgaW4gdGhlIGNsb3VkLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QUkgUmV2b2x1dGlvbiBpbiBDSSBDRCBNYWpvciAyMDI2IFVwZGF0ZTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9uZSBvZiB0aGUgYmlnZ2VzdCBjaGFuZ2VzIGluIENJIENEIGlzIHRoZSB1c2Ugb2YgQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgSW4gMjAyNi4gQ0kvQ0QgaXMgbm90IG9ubHkgc2ltcGxlIGF1dG9tYXRpb24gaXQgaGFzIGJlY29tZSBzbWFydCBhbmQgcHJlZGljdGl2ZSBhdXRvbWF0aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+MS4gQUkgQ29kZSBSZXZpZXc8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBSS1wb3dlcmVkIHRvb2xzIG5vdyBhc3Npc3QgZGV2ZWxvcGVycyBieSBhbmFseXppbmcgY29kZSBiZWZvcmUgdHJhZGl0aW9uYWwgdGVzdGluZyBldmVuIGJlZ2lucy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGVzZSB0b29scyBjYW46ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXRlY3RpbmcgcG90ZW50aWFsIGJ1Z3MgaW4gZWFybHkgZGV2ZWxvcG1lbnQgc3RhZ2VzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3VnZ2VzdCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgYW5kIG9wdGltaXphdGlvbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZGVudGlmeSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgYW5kIHJpc2t5IGNvZGUgcGF0dGVybnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIHJlZHVjZXMgZGV2ZWxvcG1lbnQgZXJyb3JzIGFuZCBpbXByb3ZlcyBjb2RlIHF1YWxpdHkgYmVmb3JlIHRoZSBwaXBlbGluZSBldmVuIHN0YXJ0cyB0ZXN0aW5nLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Mi4gUHJlZGljdGl2ZSBUZXN0aW5nPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QUkgaGFzIGFsc28gaW1wcm92ZWQgdGhlIHRlc3RpbmcgcGhhc2Ugc2lnbmlmaWNhbnRseSBieSBpbnRyb2R1Y2luZyBwcmVkaWN0aXZlIGFuYWx5c2lzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vZGVybiBzeXN0ZW1zIGNhbjpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByZWRpY3Qgd2hpY2ggdGVzdCBjYXNlcyBhcmUgbW9zdCBsaWtlbHkgdG8gZmFpbC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElkZW50aWZ5IGhpZ2gtcmlzayBhcmVhcyBpbiBjb2RlIGNoYW5nZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFdmFsdWF0ZSB3aGV0aGVyIGEgY2hhbmdlIGlzIHNhZmUgdG8gZGVwbG95LmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBtYWtlcyB0ZXN0aW5nIGZhc3RlciBhbmQgbW9yZSBlZmZpY2llbnQgYnkgZm9jdXNpbmcgcmVzb3VyY2VzIG9uIGNyaXRpY2FsIGFyZWFzIGluc3RlYWQgb2YgcnVubmluZyBldmVyeSB0ZXN0IGJsaW5kbHkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4zLiBJbnRlbGxpZ2VudCBEZXBsb3ltZW50PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QUkgaXMgbm93IGFjdGl2ZWx5IGludm9sdmVkIGluIGRlcGxveW1lbnQgZGVjaXNpb25zLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl0IGNhbiBhdXRvbWF0aWNhbGx5IGRldGVybWluZTpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoZW4gdGhlIGJlc3QgdGltZSB0byBkZXBsb3kgaXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaGVyZSB0aGUgZGVwbG95bWVudCBzaG91bGQgYmUgZXhlY3V0ZWQgKHJlZ2lvbi4gb3IgZW52aXJvbm1lbnQpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIb3cgdG8gc2NhbGUgc2VydmljZXMgYmFzZWQgb24gZXhwZWN0ZWQgZGVtYW5kLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBlbnN1cmVzIHNtb290aGVyIHJlbGVhc2VzIHdpdGggbWluaW1hbCBkb3dudGltZSBhbmQgb3B0aW1hbCBwZXJmb3JtYW5jZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjQuIEF1dG8gUm9sbGJhY2sgU3lzdGVtczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9uZSBvZiB0aGUgbW9zdCBwb3dlcmZ1bCBmZWF0dXJlcyBpbiBtb2Rlcm4gQ0kvQ0QgaXMgYXV0b21hdGljIHJvbGxiYWNrIHBvd2VyZWQgYnkgQUkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SWYgdGhlIHN5c3RlbSBkZXRlY3RzOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RXJyb3JzIGluIHByb2R1Y3Rpb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN1ZGRlbiBwZXJmb3JtYW5jZSBkZWdyYWRhdGlvbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2VjdXJpdHkgdGhyZWF0cyBvciB1bnVzdWFsIGJlaGF2aW9yaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJdCBjYW4gYXV0b21hdGljYWxseSByb2xsIGJhY2sgdGhlIGRlcGxveW1lbnQgdG8gdGhlIHByZXZpb3VzIHN0YWJsZSB2ZXJzaW9uIHdpdGhvdXQgd2FpdGluZyBmb3IgaHVtYW4gaW50ZXJ2ZW50aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgc2lnbmlmaWNhbnRseSByZWR1Y2VzIHJpc2sgYW5kIGltcHJvdmVzIHN5c3RlbSByZWxpYWJpbGl0eS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNJL0NEIFBpcGVsaW5lIEFyY2hpdGVjdHVyZSAoTW9kZXJuIFZpZXcpPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBtb2Rlcm4gQ0kvQ0QgcGlwZWxpbmUgaW4gMjAyNiBpcyBzdHJ1Y3R1cmVkIGludG8gbXVsdGlwbGUgaW50ZWxsaWdlbnQgbGF5ZXJzLCBlYWNoIHJlc3BvbnNpYmxlIGZvciBhIHNwZWNpZmljIHBhcnQgb2YgdGhlIGRlbGl2ZXJ5IHByb2Nlc3M6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4xLiBEZXZlbG9wZXIgTGF5ZXI8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGlzIHdoZXJlIGV2ZXJ5dGhpbmcgYmVnaW5zOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V3JpdGluZyBjb2RlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSdW5uaW5nIGxvY2FsIHRlc3RzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21taXR0aW5nIGNoYW5nZXMgdG8gR2l0IHJlcG9zaXRvcmllc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4yLiBBdXRvbWF0aW9uIExheWVyPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBsYXllciBoYW5kbGVzIGNvcmUgQ0kvQ0QgZXhlY3V0aW9uOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VHJpZ2dlcmluZyBwaXBlbGluZXMgb24gY29kZSBjaGFuZ2VzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCdWlsZGluZyBhcHBsaWNhdGlvbnNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJ1bm5pbmcgYXV0b21hdGVkIHRlc3Qgc3VpdGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjMuIFNlY3VyaXR5IExheWVyPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2VjdXJpdHkgaXMgZGVlcGx5IGludGVncmF0ZWQgaW50byB0aGUgcGlwZWxpbmU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdGF0aWMgY29kZSBhbmFseXNpc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RGVwZW5kZW5jeSB2dWxuZXJhYmlsaXR5IHNjYW5uaW5naW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBSS1iYXNlZCB0aHJlYXQgZGV0ZWN0aW9uIGFuZCBhbm9tYWx5IGFuYWx5c2lzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjQuIERlcGxveW1lbnQgTGF5ZXI8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGxheWVyIGhhbmRsZXMgZGVsaXZlcnkgdG8gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDbG91ZCBkZXBsb3ltZW50c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29udGFpbmVyIG9yY2hlc3RyYXRpb24gdXNpbmcgS3ViZXJuZXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2VydmVybGVzcyBmdW5jdGlvbiBkZXBsb3ltZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjUuIE1vbml0b3JpbmcgTGF5ZXI8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBZnRlciBkZXBsb3ltZW50LCBzeXN0ZW1zIGFyZSBjb250aW51b3VzbHkgb2JzZXJ2ZWQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWFsLXRpbWUgbG9nc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UGVyZm9ybWFuY2UgbWV0cmljc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWxlcnRzIGFuZCBub3RpZmljYXRpb25zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBSS1iYXNlZCBhbm9tYWx5IGRldGVjdGlvbiBhbmQgc3lzdGVtIGhlYWx0aCB0cmFja2luZ2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBsYXllcmVkIGFyY2hpdGVjdHVyZSBlbnN1cmVzIHRoYXQgQ0kvQ0QgaW4gMjAyNiBpcyBub3QganVzdCBhYm91dCBhdXRvbWF0aW9uLCBidXQgYWJvdXQgYnVpbGRpbmcgPHN0cm9uZz5zZWxmLWF3YXJlLCBzZWN1cmUsIGFuZCBoaWdobHkgc2NhbGFibGUgc29mdHdhcmUgZGVsaXZlcnkgc3lzdGVtczwvc3Ryb25nPi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkJlc3QgUHJhY3RpY2VzIGZvciBDSS9DRCAoMjAyNik8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBtb2Rlcm4gc29mdHdhcmUgZGV2ZWxvcG1lbnQsIGZvbGxvd2luZyBwcm9wZXIgQ0kvQ0QgcHJhY3RpY2VzIGlzIGVzc2VudGlhbCB0byBlbnN1cmUgc3lzdGVtcyByZW1haW4gZmFzdCwgcmVsaWFibGUsIGFuZCBzZWN1cmUuIEFzIHBpcGVsaW5lcyBiZWNvbWUgbW9yZSBjb21wbGV4IGluIDIwMjYsIHRoZXNlIGJlc3QgcHJhY3RpY2VzIGhlbHAgbWFpbnRhaW4gc3RhYmlsaXR5IGFuZCBlZmZpY2llbmN5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+MS4gQXV0b21hdGUgRXZlcnl0aGluZyBQb3NzaWJsZTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEF1dG9tYXRpb24gaXMgdGhlIGNvcmUgZm91bmRhdGlvbiBvZiBDSS9DRC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUZWFtcyBzaG91bGQgYXV0b21hdGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCdWlsZHNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRlc3RpbmcgcHJvY2Vzc2VzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXBsb3ltZW50IHdvcmtmbG93c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2VjdXJpdHkgc2Nhbm5pbmcgYW5kIGNoZWNrc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyByZWR1Y2VzIG1hbnVhbCBlZmZvcnQgYW5kIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIGFsbCBzdGFnZXMgb2YgdGhlIHBpcGVsaW5lLiBUaGUgbW9yZSBhdXRvbWF0aW9uIGlzIGltcGxlbWVudGVkLCB0aGUgZmV3ZXIgY2hhbmNlcyB0aGVyZSBhcmUgZm9yIGh1bWFuIGVycm9yLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Mi4gU2hpZnQgTGVmdCBUZXN0aW5nPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW504oCcU2hpZnQgbGVmdOKAnSBtZWFucyBtb3ZpbmcgdGVzdGluZyBlYXJsaWVyIGluIHRoZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW5zdGVhZCBvZiB0ZXN0aW5nIGF0IHRoZSBlbmQsIHRlYW1zIG5vdzpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJ1biB0ZXN0cyBkdXJpbmcgZGV2ZWxvcG1lbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENhdGNoIGJ1Z3MgYmVmb3JlIGNvZGUgcmVhY2hlcyB0aGUgbWFpbiBicmFuY2hpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFZhbGlkYXRlIGNoYW5nZXMgY29udGludW91c2x5aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGFwcHJvYWNoIGhlbHBzIHJlZHVjZSBjb3N0bHkgZml4ZXMgbGF0ZXIgaW4gcHJvZHVjdGlvbiBhbmQgaW1wcm92ZXMgb3ZlcmFsbCBjb2RlIHF1YWxpdHkgZnJvbSB0aGUgYmVnaW5uaW5nLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+My4gVXNlIFNtYWxsLCBGcmVxdWVudCBEZXBsb3ltZW50czwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vZGVybiBDSS9DRCBlbmNvdXJhZ2VzIGJyZWFraW5nIGxhcmdlIHVwZGF0ZXMgaW50byBzbWFsbGVyIHJlbGVhc2VzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJlbmVmaXRzIGluY2x1ZGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFYXNpZXIgZGVidWdnaW5naW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGYXN0ZXIgcm9sbGJhY2sgaWYgc29tZXRoaW5nIGZhaWxzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWR1Y2VkIHN5c3RlbSByaXNraW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNb3JlIHN0YWJsZSBwcm9kdWN0aW9uIGVudmlyb25tZW50c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U21hbGwgZGVwbG95bWVudHMgYXJlIGVhc2llciB0byBtYW5hZ2UgYW5kIGFsbG93IHRlYW1zIHRvIHJlbGVhc2UgZmVhdHVyZXMgbW9yZSBjb25maWRlbnRseSBhbmQgZnJlcXVlbnRseS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjQuIEltcGxlbWVudCBTdHJvbmcgU2VjdXJpdHkgKERldlNlY09wcyk8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTZWN1cml0eSBpcyBub3cgaW50ZWdyYXRlZCBkaXJlY3RseSBpbnRvIENJL0NEIHBpcGVsaW5lcywgYSBwcmFjdGljZSBrbm93biBhcyBEZXZTZWNPcHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBpbmNsdWRlczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEF1dG9tYXRlZCB2dWxuZXJhYmlsaXR5IHNjYW5uaW5naW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTZWNyZXQgZGV0ZWN0aW9uIChBUEkga2V5cywgcGFzc3dvcmRzLCB0b2tlbnMpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21wbGlhbmNlIGFuZCBwb2xpY3kgY2hlY2tzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCeSBpbnRlZ3JhdGluZyBzZWN1cml0eSBlYXJseSBpbiB0aGUgcGlwZWxpbmUsIHRlYW1zIGNhbiBwcmV2ZW50IHZ1bG5lcmFiaWxpdGllcyBiZWZvcmUgdGhleSByZWFjaCBwcm9kdWN0aW9uIGVudmlyb25tZW50cy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjUuIFVzZSBPYnNlcnZhYmlsaXR5IFRvb2xzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TW9kZXJuIENJL0NEIHN5c3RlbXMgcmVseSBoZWF2aWx5IG9uIG9ic2VydmFiaWxpdHkgdG8gbWFpbnRhaW4gcGVyZm9ybWFuY2UgYW5kIHJlbGlhYmlsaXR5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEtleSBjb21wb25lbnRzIGluY2x1ZGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREaXN0cmlidXRlZCB0cmFjaW5nICh0cmFja2luZyByZXF1ZXN0cyBhY3Jvc3Mgc2VydmljZXMpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMb2cgYW5hbHlzaXMgKGlkZW50aWZ5aW5nIGVycm9ycyBhbmQgcGF0dGVybnMpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWFsLXRpbWUgZGFzaGJvYXJkcyAobW9uaXRvcmluZyBzeXN0ZW0gaGVhbHRoKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlc2UgdG9vbHMgaGVscCB0ZWFtcyBxdWlja2x5IGRldGVjdCBpc3N1ZXMgYW5kIHVuZGVyc3RhbmQgc3lzdGVtIGJlaGF2aW9yIGluIHJlYWwgdGltZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNoYWxsZW5nZXMgaW4gQ0kvQ0Q8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFdmVuIGluIDIwMjYsIENJL0NEIHN5c3RlbXMgY29tZSB3aXRoIHNldmVyYWwgY2hhbGxlbmdlcyB0aGF0IG9yZ2FuaXphdGlvbnMgbXVzdCBtYW5hZ2UgY2FyZWZ1bGx5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+MS4gUGlwZWxpbmUgQ29tcGxleGl0eTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFzIHN5c3RlbXMgZ3JvdywgcGlwZWxpbmVzIGJlY29tZSBtb3JlIGNvbXBsZXggYW5kIGhhcmRlciB0byBtYW5hZ2UsIGVzcGVjaWFsbHkgaW4gbWljcm9zZXJ2aWNlcy1iYXNlZCBhcmNoaXRlY3R1cmVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Mi4gRGVidWdnaW5nIEZhaWx1cmVzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2hlbiBwaXBlbGluZXMgZmFpbCwgaWRlbnRpZnlpbmcgdGhlIGV4YWN0IGNhdXNlIGNhbiBiZSBkaWZmaWN1bHQgZHVlIHRvIG11bHRpcGxlIGludGVyY29ubmVjdGVkIHN0YWdlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjMuIFRvb2wgT3ZlcmxvYWQ8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVc2luZyB0b28gbWFueSB0b29scyBpbiB0aGUgQ0kvQ0QgZWNvc3lzdGVtIGNhbiBjcmVhdGUgY29uZnVzaW9uLCBpbnRlZ3JhdGlvbiBpc3N1ZXMsIGFuZCByZWR1Y2VkIHByb2R1Y3Rpdml0eS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjQuIENvc3QgTWFuYWdlbWVudDwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENsb3VkLWJhc2VkIENJL0NEIHBpcGVsaW5lcyBjYW4gYmVjb21lIGV4cGVuc2l2ZSwgZXNwZWNpYWxseSB3aGVuIHJ1bm5pbmcgbGFyZ2Utc2NhbGUgYnVpbGRzIGFuZCB0ZXN0cyBmcmVxdWVudGx5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+NS4gU2VjdXJpdHkgUmlza3M8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbXByb3Blcmx5IGNvbmZpZ3VyZWQgcGlwZWxpbmVzIGNhbiBiZWNvbWUgYSB0YXJnZXQgZm9yIGF0dGFja2VycywgbWFraW5nIHBpcGVsaW5lIHNlY3VyaXR5IGV4dHJlbWVseSBpbXBvcnRhbnQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5DSS9DRCB2cyBUcmFkaXRpb25hbCBEZXBsb3ltZW50PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNoYXNGaXhlZExheW91dGNhcHRpb25oZWFkYm9keWZvb3Rpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Q0kvQ0QgYW5kIERldk9wcyBSZWxhdGlvbnNoaXA8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDSS9DRCBpcyBhIGNvcmUgdGVjaG5pY2FsIGZvdW5kYXRpb24gb2YgRGV2T3BzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoaWxlIERldk9wcyBmb2N1c2VzIG9uOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29sbGFib3JhdGlvbiBiZXR3ZWVuIHRlYW1zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBdXRvbWF0aW9uIG9mIHByb2Nlc3Nlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29udGludW91cyBpbXByb3ZlbWVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q0kvQ0QgcHJvdmlkZXMgdGhlIDxzdHJvbmc+YXV0b21hdGlvbiBlbmdpbmU8L3N0cm9uZz4gdGhhdCBtYWtlcyB0aGVzZSBEZXZPcHMgcHJpbmNpcGxlcyBwb3NzaWJsZSBpbiByZWFsIHN5c3RlbXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5DSS9DRCBpbiBSZWFsLVdvcmxkIFVzZSBDYXNlczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhPjwvYT48c3Ryb25nPjEuIFNhYVMgQXBwbGljYXRpb25zPC9zdHJvbmc+bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVzZWQgZm9yIGZyZXF1ZW50IGZlYXR1cmUgdXBkYXRlcyBhbmQgY29udGludW91cyBpbXByb3ZlbWVudHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGE+PC9hPjxzdHJvbmc+Mi4gRS1jb21tZXJjZSBQbGF0Zm9ybXM8L3N0cm9uZz5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3VwcG9ydHM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGbGFzaCBzYWxlIHVwZGF0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEludmVudG9yeSBjaGFuZ2VzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQYXltZW50IHN5c3RlbSBmaXhlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGE+PC9hPjxzdHJvbmc+My4gRmludGVjaCBTeXN0ZW1zPC9zdHJvbmc+bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEVuc3VyZXMgaGlnaC1zZWN1cml0eSBkZXBsb3ltZW50cyB3aXRoIHN0cmljdCB2YWxpZGF0aW9uIGFuZCB0ZXN0aW5nLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhPjwvYT48c3Ryb25nPjQuIEFJIEFwcGxpY2F0aW9uczwvc3Ryb25nPmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVc2VkIGZvcjpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vZGVsIGRlcGxveW1lbnQgcGlwZWxpbmVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMTE0gdXBkYXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RGF0YSBwcm9jZXNzaW5nIHdvcmtmbG93c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5GdXR1cmUgb2YgQ0kvQ0QgKEJleW9uZCAyMDI2KTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENJL0NEIGlzIGV2b2x2aW5nIHJhcGlkbHkgdG93YXJkIGZ1bGx5IGF1dG9ub21vdXMgc3lzdGVtcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGdXR1cmUgdHJlbmRzIGluY2x1ZGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGE+PC9hPjxzdHJvbmc+MS4gQUktRHJpdmVuIERldk9wczwvc3Ryb25nPmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBSSB3aWxsIG1hbmFnZSBlbnRpcmUgcGlwZWxpbmVzIGF1dG9tYXRpY2FsbHkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGE+PC9hPjxzdHJvbmc+Mi4gWmVyby1Ub3VjaCBEZXBsb3ltZW50PC9zdHJvbmc+bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE5vIGh1bWFuIGludm9sdmVtZW50IHdpbGwgYmUgcmVxdWlyZWQgZm9yIGRlcGxveW1lbnQgZGVjaXNpb25zLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxhPjwvYT48c3Ryb25nPjMuIFNlbGYtSGVhbGluZyBQaXBlbGluZXM8L3N0cm9uZz5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3lzdGVtcyB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IGFuZCBmaXggZmFpbHVyZXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGE+PC9hPjxzdHJvbmc+NC4gRnVsbHkgQXV0b25vbW91cyBTb2Z0d2FyZSBEZWxpdmVyeTwvc3Ryb25nPmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGcm9tIGNvZGUgY3JlYXRpb24gdG8gcHJvZHVjdGlvbiBkZXBsb3ltZW504oCUZXZlcnl0aGluZyB3aWxsIGJlIGF1dG9tYXRlZC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNvbmNsdXNpb248L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDSS9DRCBwaXBlbGluZXMgaGF2ZSB0cmFuc2Zvcm1lZCBzb2Z0d2FyZSBkZXZlbG9wbWVudCBmcm9tIGEgc2xvdywgbWFudWFsIHByb2Nlc3MgaW50byBhIGZhc3QsIGF1dG9tYXRlZCwgYW5kIGhpZ2hseSByZWxpYWJsZSBzeXN0ZW0uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW4gMjAyNiwgQ0kvQ0QgaXMgbm8gbG9uZ2VyIGp1c3QgYSBEZXZPcHMgcHJhY3RpY2XigJRpdCBoYXMgYmVjb21lIHRoZSA8c3Ryb25nPmZvdW5kYXRpb24gb2YgbW9kZXJuIHNvZnR3YXJlIGVuZ2luZWVyaW5nPC9zdHJvbmc+LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEl0IGVuYWJsZXM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRGYXN0ZXIgcmVsZWFzZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhpZ2hlciBjb2RlIHF1YWxpdHlpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlZHVjZWQgaHVtYW4gZXJyb3JzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdHJvbmcgc2VjdXJpdHkgaW50ZWdyYXRpb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhpZ2hseSBzY2FsYWJsZSBzeXN0ZW1zaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPcmdhbml6YXRpb25zIHRoYXQgaW1wbGVtZW50IENJL0NEIGVmZmVjdGl2ZWx5IGFyZSBhYmxlIHRvIGlubm92YXRlIGZhc3RlciwgcmVsZWFzZSBzb2Z0d2FyZSBjb25maWRlbnRseSwgYW5kIHN0YXkgY29tcGV0aXRpdmUgaW4gdGhlIHJhcGlkbHkgZXZvbHZpbmcgZGlnaXRhbCB3b3JsZC5kcm9wQ2FwaW5uZXJCbG9ja3NsZXZlbGxldmVsPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIG1vZGVybiBzb2Z0d2FyZSBkZXZlbG9wbWVudCBzcGVlZCBzdGFiaWxpdHkgYW5kIGF1dG9tYXRpb24gYXJlIHZlcnkgaW1wb3J0YW50LiBDb21wYW5pZXMgbm93IHJlbGVhc2UgbmV3IGZlYXR1cmVzLCBzZWN1cml0eSB1cGRhdGVzIGFuZCBidWcgZml4ZXMgdmVyeSBxdWlja2x5IHNvbWV0aW1lcyBtYW55IHRpbWVzIGluIGEgZGF5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRvIGRvIHRoaXMgc2FmZWx5IGFuZCB3aXRob3V0IGJyZWFraW5nIHN5c3RlbXMgY29tcGFuaWVzIHVzZSBDSSBDRCBwaXBlbGluZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q0kgQ0QgbWVhbnMgQ29udGludW91cyBJbnRlZ3JhdGlvbiBhbmQgQ29udGludW91cyBEZWxpdmVyeSBvciBEZXBsb3ltZW50IGFuZCBpbiAyMDI2IGl0IGhhcyBiZWNvbWUgYSB2ZXJ5IGltcG9ydGFudCBwYXJ0IG9mIERldk9wcyBjbG91ZCBuYXRpdmUgc3lzdGVtcyBhbmQgQUkgYmFzZWQgZGV2ZWxvcG1lbnQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBndWlkZSBleHBsYWlucyBDSSBDRCBwaXBlbGluZXMgaW4gc2ltcGxlIHdvcmRzIGhvdyB0aGV5IHdvcmsgYW5kIGhvdyB0aGV5IGhhdmUgY2hhbmdlZCB3aXRoIEFJIGNsb3VkIHN5c3RlbXMgYW5kIG1vZGVybiBEZXZPcHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5XaGF0IGlzIENJIENEPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DSSBDRCBpcyBhIG1vZGVybiBzb2Z0d2FyZSBtZXRob2QgdGhhdCBhdXRvbWF0ZXMgdGhlIGZ1bGwgcHJvY2VzcyBvZiBidWlsZGluZyB0ZXN0aW5nIGFuZCBkZWxpdmVyaW5nIHNvZnR3YXJlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkl0IGhlbHBzIHRlYW1zIHJlbGVhc2UgdXBkYXRlcyBmYXN0ZXIsIG1vcmUgc2FmZWx5IGFuZCB3aXRoIGZld2VyIG1pc3Rha2VzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIHRyYWRpdGlvbmFsIGRldmVsb3BtZW50LCBkZXZlbG9wZXJzIGhhZCB0byBtYW51YWxseTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvbWJpbmUgY29kZSBjaGFuZ2VzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5UZXN0IGFwcGxpY2F0aW9uczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QnVpbGQgc29mdHdhcmUgdmVyc2lvbnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRlcGxveSB1cGRhdGVzIHRvIHNlcnZlcnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIG1hbnVhbCBwcm9jZXNzIHdhcyBzbG93IGFuZCBvZnRlbiBjYXVzZWQgbWlzdGFrZXMsIGJ1Z3MgYW5kIGRlcGxveW1lbnQgZmFpbHVyZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q0kgQ0Qgc29sdmVzIHRoaXMgcHJvYmxlbSBieSBhdXRvbWF0aW5nIGV2ZXJ5dGhpbmcgdXNpbmcgYSBzdHJ1Y3R1cmVkIHBpcGVsaW5lLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIHNpbXBsZSB3b3JkcyBDSSBDRCBtYWtlcyBzdXJlIGV2ZXJ5IGNvZGUgY2hhbmdlIGlzIGF1dG9tYXRpY2FsbHkgY2hlY2tlZCwgdGVzdGVkIGFuZCBwcmVwYXJlZCBmb3IgZGVwbG95bWVudCB3aXRob3V0IG1hbnVhbCB3b3JrLiBUaGlzIGlzIHdoYXQgcGVvcGxlIG1lYW4gd2hlbiB0aGV5IGFzayB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGJlY2F1c2UgaXQgc2hvd3MgaG93IHNvZnR3YXJlIG1vdmVzIGZyb20gZGV2ZWxvcG1lbnQgdG8gcHJvZHVjdGlvbiBpbiBhbiBhdXRvbWF0aWMgd2F5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNJL0NEIGlzIGRpdmlkZWQgaW50byB0d28gbWFpbiBwYXJ0czo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Db250aW51b3VzIEludGVncmF0aW9uIGlzIHRoZSBwcm9jZXNzIG9mIHJlZ3VsYXJseSBtZXJnaW5nIGNvZGUgY2hhbmdlcyBpbnRvIGEgc2hhcmVkIHJlcG9zaXRvcnkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RXZlcnkgdGltZSBhIGRldmVsb3BlciBhZGRzIG5ldyBjb2RlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SXQgaXMgYXV0b21hdGljYWxseSBpbnRlZ3JhdGVkIHdpdGggdGhlIG1haW4gY29kZWJhc2U8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkF1dG9tYXRlZCB0ZXN0cyBhcmUgZXhlY3V0ZWQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkVycm9ycyBvciBjb25mbGljdHMgYXJlIGRldGVjdGVkIGVhcmx5PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgZW50aXJlIHdvcmtmbG93IGlzIG9mdGVuIGRlc2NyaWJlZCB3aGVuIGV4cGxhaW5pbmcgPHN0cm9uZz5jaS9jZCBwaXBlbGluZSBtZWFuaW5nPC9zdHJvbmc+LCBiZWNhdXNlIENJIGlzIHRoZSBmaXJzdCBhbmQgbW9zdCBpbXBvcnRhbnQgc3RhZ2Ugb2YgYW55IENJL0NEIHN5c3RlbS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNEIChDb250aW51b3VzIERlbGl2ZXJ5IC8gRGVwbG95bWVudCk8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNEIGZvY3VzZXMgb24gZGVsaXZlcmluZyBvciBkZXBsb3lpbmcgdGhlIHRlc3RlZCBjb2RlIHRvIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZXJlIGFyZSB0d28gZm9ybXM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Db2RlIGlzIGF1dG9tYXRpY2FsbHkgYnVpbHQgYW5kIHRlc3RlZDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SXQgaXMgdGhlbiBwcmVwYXJlZCBmb3IgcmVsZWFzZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TWFudWFsIGFwcHJvdmFsIG1heSBzdGlsbCBiZSByZXF1aXJlZCBiZWZvcmUgZGVwbG95bWVudDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RXZlcnl0aGluZyBpcyBmdWxseSBhdXRvbWF0ZWQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk9uY2UgY29kZSBwYXNzZXMgdGVzdHMsIGl0IGlzIGRpcmVjdGx5IGRlcGxveWVkIHRvIHByb2R1Y3Rpb248L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk5vIG1hbnVhbCBpbnRlcnZlbnRpb24gaXMgbmVlZGVkPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBoZWxwcyBjb21wYW5pZXMgcmVsZWFzZSB1cGRhdGVzIGZhc3QgYW5kIGluIGEgc3RlYWR5IHdheTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vZGVybiBlbmdpbmVlcmluZyB0ZWFtcyBvZnRlbiB1c2Ugd2hhdCBpcyBjaSBjZCBwaXBlbGluZSBwcmFjdGljZXMgdG8gdW5kZXJzdGFuZCBob3cgYXV0b21hdGlvbiB3b3JrcyBpbiByZWFsIHN5c3RlbXMgd2hpbGUgY2kgY2QgcGlwZWxpbmUgbWVhbmluZyBleHBsYWlucyB0aGUgZnVsbCBmbG93IGZyb20gY29kZSB0byBwcm9kdWN0aW9uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIDIwMjYsIENJL0NEIGlzIG5vdCBqdXN0IGEgZGV2ZWxvcG1lbnQgcHJhY3RpY2XigJRpdCBpcyBhIGZvdW5kYXRpb24gb2YgbW9kZXJuIHNvZnR3YXJlIGRlbGl2ZXJ5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+SXQgc3VwcG9ydHM6PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5GYXN0ZXIgcmVsZWFzZSBjeWNsZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkltcHJvdmVkIHNvZnR3YXJlIHF1YWxpdHk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlZHVjZWQgaHVtYW4gZXJyb3JzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5CZXR0ZXIgY29sbGFib3JhdGlvbiBiZXR3ZWVuIHRlYW1zPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TY2FsYWJsZSBkZXBsb3ltZW50IHN5c3RlbXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIHdoeSB1bmRlcnN0YW5kaW5nIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgYW5kIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgaGFzIGJlY29tZSB2ZXJ5IGltcG9ydGFudCBmb3IgZXZlcnkgZGV2ZWxvcGVyLCBEZXZPcHMgZW5naW5lZXIgYW5kIHRlY2ggY29tcGFueSB3b3JraW5nIGluIG1vZGVybiBjbG91ZCBzeXN0ZW1zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSAvd3A6aW1hZ2UgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlc2UgdHdvIHRlcm1zIGFyZSBvZnRlbiBtaXhlZCBidXQgdGhleSBhcmUgZGlmZmVyZW50LiBFdmVuIHRob3VnaCBib3RoIGFyZSBwYXJ0IG9mIENJIENEIHBpcGVsaW5lcyBhbmQgYm90aCBoZWxwIGF1dG9tYXRlIHNvZnR3YXJlIHJlbGVhc2UgdGhlIG1haW4gZGlmZmVyZW5jZSBpcyBob3cgY29kZSBnb2VzIHRvIHByb2R1Y3Rpb24gYW5kIHdobyBjb250cm9scyB0aGUgZmluYWwgc3RlcC4gVGhpcyBkaXN0aW5jdGlvbiBpcyBvZnRlbiBleHBsYWluZWQgd2hlbiB1bmRlcnN0YW5kaW5nIDxzdHJvbmc+d2hhdCBpcyBjaS9jZCBwaXBlbGluZTwvc3Ryb25nPiwgYmVjYXVzZSBib3RoIG1vZGVscyBkZWZpbmUgZGlmZmVyZW50IHdheXMgYSBDSS9DRCBzeXN0ZW0gYmVoYXZlcyBpbiByZWFsIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvZGUgaXMgYXV0b21hdGljYWxseSB0ZXN0ZWQgdGhyb3VnaCBDSSBwaXBlbGluZXMgYWZ0ZXIgZXZlcnkgY29tbWl0PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5FdmVyeSBjaGFuZ2UgZ29lcyB0aHJvdWdoIGEgc3RydWN0dXJlZCBidWlsZCBwcm9jZXNzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BdXRvbWF0ZWQgdGVzdGluZyBjaGVja3MgZm9yIGJ1Z3MsIGVycm9ycywgYW5kIGludGVncmF0aW9uIGlzc3VlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q29kZSBpcyBhbHdheXMga2VwdCBpbiBhIHByb2R1Y3Rpb24tcmVhZHkgc3RhdGU8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBtZWFucyBkZXZlbG9wZXJzIGRvIG5vdCBuZWVkIHRvIG1hbnVhbGx5IHByZXBhcmUgdGhlIGFwcCBmb3IgcmVsZWFzZSBldmVyeSB0aW1lLiBUaGUgcGlwZWxpbmUga2VlcHMgY2hlY2tpbmcgdGhlIGNvZGUgYW5kIG1ha2VzIHN1cmUgZXZlcnl0aGluZyBpcyBzdGFibGUgYmVmb3JlIGl0IGlzIHJlYWR5IGZvciBwcm9kdWN0aW9uLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5EZXBsb3ltZW50IGlzIHRyaWdnZXJlZCBtYW51YWxseS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5FdmVuIGlmIGFsbCB0ZXN0cyBwYXNzIGFuZCB0aGUgc3lzdGVtIGNvbmZpcm1zIGV2ZXJ5dGhpbmcgaXMgc3RhYmxlIHRoZSBjb2RlIGRvZXMgbm90IGdvIGxpdmUgYXV0b21hdGljYWxseS4gQSBwZXJzb24gbGlrZSBhIERldk9wcyBlbmdpbmVlciBvciBkZXZlbG9wZXIgZGVjaWRlcyB3aGVuIHRvIHNlbmQgdGhlIGNoYW5nZXMgdG8gcHJvZHVjdGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGdpdmVzIG9yZ2FuaXphdGlvbnMgbW9yZSBjb250cm9sIG92ZXIgcmVsZWFzZXMsIGFsbG93aW5nIHRoZW0gdG86PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5DaG9vc2Ugb3B0aW1hbCBkZXBsb3ltZW50IHRpbWluZzwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QXZvaWQgcmVsZWFzaW5nIGR1cmluZyBwZWFrIHRyYWZmaWMgaG91cnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvb3JkaW5hdGUgd2l0aCBidXNpbmVzcyBvciBtYXJrZXRpbmcgdGVhbXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlZHVjZSByaXNrIGluIGNyaXRpY2FsIHN5c3RlbXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGluayBvZiBpdCBhczo8YnI+4oCcUmVhZHkgYW55dGltZSwgZGVwbG95IHdoZW4gbmVlZGVkLuKAnTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgbW9kZWwgaXMgb2Z0ZW4gcmVmZXJlbmNlZCB3aGVuIGV4cGxhaW5pbmcgPHN0cm9uZz5jaS9jZCBwaXBlbGluZSBtZWFuaW5nPC9zdHJvbmc+LCBiZWNhdXNlIGl0IGNsZWFybHkgc2hvd3MgaG93IGNvbnRyb2xsZWQgZGVwbG95bWVudCB3b3JrcyBpbnNpZGUgYSBDSS9DRCBwaXBlbGluZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gQ29udGludW91cyBEZXBsb3ltZW50OjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q29kZSBpcyBhdXRvbWF0aWNhbGx5IHRlc3RlZCB1c2luZyBDSSBwaXBlbGluZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BZnRlciBhbGwgdGVzdHMgcGFzcyBzdWNjZXNzZnVsbHksIHRoZSBjb2RlIGlzIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgdG8gcHJvZHVjdGlvbi48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlRoZXJlIGlzIG5vIG1hbnVhbCBhcHByb3ZhbCBzdGVwIGJlZm9yZSBkZXBsb3ltZW50LjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RXZlcnkgdmFsaWRhdGVkIGNoYW5nZSBnb2VzIGxpdmUgaW5zdGFudGx5LjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgbWV0aG9kIGZvY3VzZXMgb24gZnVsbCBhdXRvbWF0aW9uIHdoZXJlIHRoZSBzeXN0ZW0gaXRzZWxmIGNoZWNrcyBxdWFsaXR5IHVzaW5nIHRlc3RzIGFuZCBpZiBldmVyeXRoaW5nIGlzIHN0YWJsZSBpdCBkaXJlY3RseSBzZW5kcyB0aGUgdXBkYXRlIHRvIHVzZXJzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgbWVhbnMgZGV2ZWxvcGVycyBkbyBub3Qgd2FpdCBmb3IgcmVsZWFzZSBzY2hlZHVsZXMgb3IgbWFudWFsIGFwcHJvdmFscyBUaGUgcGlwZWxpbmUgaXRzZWxmIGRlY2lkZXMgd2hlbiB0byBkZXBsb3kuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vZGVybiBEZXZPcHMgdGVhbXMgb2Z0ZW4gc3R1ZHkgd2hhdCBpcyBjaSBjZCBwaXBlbGluZSB0byB1bmRlcnN0YW5kIGhvdyBDb250aW51b3VzIERlcGxveW1lbnQgZnVsbHkgYXV0b21hdGVzIHNvZnR3YXJlIHJlbGVhc2UgaW5zaWRlIGEgQ0kgQ0QgcGlwZWxpbmUgd2hpbGUgY2kgY2QgcGlwZWxpbmUgbWVhbmluZyBleHBsYWlucyB0aGUgZnVsbCBmbG93IGZyb20gY29kZSB0byBwcm9kdWN0aW9uLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gL3dwOmltYWdlIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkEgQ0kgQ0QgcGlwZWxpbmUgaXMgYSBzaW1wbGUgYXV0b21hdGVkIHdvcmtmbG93IHRoYXQgdGFrZXMgY29kZSBmcm9tIGRldmVsb3BtZW50IGFuZCBtb3ZlcyBpdCB0byBwcm9kdWN0aW9uLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkl0IG1ha2VzIHN1cmUgZXZlcnkgY29kZSBjaGFuZ2UgaXMgYnVpbHQsIHRlc3RlZCBhbmQgZGVsaXZlcmVkIGluIGEgcHJvcGVyIGFuZCByZWxpYWJsZSB3YXkgd2l0aG91dCBtYW51YWwgd29yay48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BIG5vcm1hbCBDSSBDRCBwaXBlbGluZSBoYXMgZGlmZmVyZW50IHN0ZXBzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgcGlwZWxpbmUuIERldmVsb3BlcnMgd3JpdGUgYW5kIHN0b3JlIHRoZWlyIGNvZGUgaW4gdmVyc2lvbiBjb250cm9sIHN5c3RlbXMgc3VjaCBhczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkdpdCByZXBvc2l0b3JpZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkdpdEh1YjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+R2l0TGFiPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5CaXRidWNrZXQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5XaGVuZXZlciBhIGRldmVsb3BlciBwdXNoZXMgbmV3IGNvZGUsIGl0IGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIENJL0NEIHBpcGVsaW5lLiBUaGlzIGVuc3VyZXMgdGhhdCBldmVyeSBjaGFuZ2UgaXMgdHJhY2tlZCwgdmVyc2lvbmVkLCBhbmQgcHJvY2Vzc2VkIHRocm91Z2ggdGhlIHNhbWUgd29ya2Zsb3cuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIHRoaXMgc3RhZ2UsIHRoZSBzeXN0ZW0gcHJlcGFyZXMgdGhlIGFwcGxpY2F0aW9uIGZvciB0ZXN0aW5nIGFuZCBkZXBsb3ltZW50LiBJdCB0eXBpY2FsbHkgaW5jbHVkZXM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Db21waWxpbmcgc291cmNlIGNvZGU8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlc29sdmluZyBkZXBlbmRlbmNpZXMgYW5kIGxpYnJhcmllczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UGFja2FnaW5nIHRoZSBhcHBsaWNhdGlvbiBpbnRvIGJ1aWxkIGFydGlmYWN0czwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UHJlcGFyaW5nIHJ1bnRpbWUtY29tcGF0aWJsZSBvdXRwdXQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIHN0ZXAgZW5zdXJlcyB0aGF0IHRoZSBjb2RlIGlzIHRlY2huaWNhbGx5IGNvcnJlY3QgYW5kIGNhbiBiZSBleGVjdXRlZCBpbiBhIGNvbnRyb2xsZWQgZW52aXJvbm1lbnQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgaXMgb25lIG9mIHRoZSBtb3N0IGltcG9ydGFudCBwYXJ0cyBvZiB0aGUgcGlwZWxpbmUuIEF1dG9tYXRlZCB0ZXN0cyBhcmUgZXhlY3V0ZWQgdG8gZW5zdXJlIGNvZGUgcXVhbGl0eSBhbmQgc3RhYmlsaXR5LCBzdWNoIGFzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VW5pdCB0ZXN0cyAodGVzdGluZyBpbmRpdmlkdWFsIGNvbXBvbmVudHMpPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5JbnRlZ3JhdGlvbiB0ZXN0cyAodGVzdGluZyBjb21iaW5lZCBtb2R1bGVzKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RW5kLXRvLWVuZCB0ZXN0cyAodGVzdGluZyBmdWxsIGFwcGxpY2F0aW9uIGZsb3cpPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TZWN1cml0eSB0ZXN0cyAoY2hlY2tpbmcgdnVsbmVyYWJpbGl0aWVzIGFuZCByaXNrcyk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JbiAyMDI2LCBDSS9DRCBwaXBlbGluZXMgYXJlIGZ1cnRoZXIgZW5oYW5jZWQgd2l0aCBBSS1wb3dlcmVkIHRlc3RpbmcgdG9vbHMgdGhhdCBoZWxwIGlkZW50aWZ5OjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RWRnZS1jYXNlIGZhaWx1cmVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5QZXJmb3JtYW5jZSBib3R0bGVuZWNrczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5VbmV4cGVjdGVkIHN5c3RlbSBiZWhhdmlvcjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgbWFrZXMgdGhlIHRlc3RpbmcgcHJvY2VzcyBzbWFydGVyLCBmYXN0ZXIsIGFuZCBtb3JlIHJlbGlhYmxlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIHRoZSBmaW5hbCBzdGFnZSB3aGVyZSB0aGUgYXBwbGljYXRpb24gaXMgZGVsaXZlcmVkIHRvIHVzZXJzIG9yIGVudmlyb25tZW50cy4gVGhlIHRlc3RlZCBjb2RlIGlzIGRlcGxveWVkIHRvOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3RhZ2luZyBlbnZpcm9ubWVudHMgKGZvciBmaW5hbCB2YWxpZGF0aW9uKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgKGxpdmUgdXNlciBzeXN0ZW1zKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q2xvdWQgaW5mcmFzdHJ1Y3R1cmUgcGxhdGZvcm1zPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TW9kZXJuIENJL0NEIHN5c3RlbXMgb2Z0ZW4gdXNlIGFkdmFuY2VkIGRlcGxveW1lbnQgc3RyYXRlZ2llcyBsaWtlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Qmx1ZS1ncmVlbiBkZXBsb3ltZW50cyAoc3dpdGNoaW5nIGJldHdlZW4gdHdvIGVudmlyb25tZW50cyk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNhbmFyeSByZWxlYXNlcyAocmVsZWFzaW5nIHRvIGEgc21hbGwgdXNlciBncm91cCBmaXJzdCk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJvbGxpbmcgdXBkYXRlcyAoZ3JhZHVhbCBzeXN0ZW0td2lkZSBkZXBsb3ltZW50KTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZXNlIG1ldGhvZHMgaGVscCByZWR1Y2UgZG93bnRpbWUgYW5kIG1pbmltaXplIHJpc2sgZHVyaW5nIHJlbGVhc2VzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIHJlYWwgd29ybGQgQ0kgQ0Qgc3lzdGVtcywgdW5kZXJzdGFuZGluZyB3aGF0IGlzIGNpIGNkIHBpcGVsaW5lIGFuZCBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIGlzIHZlcnkgaW1wb3J0YW50IGJlY2F1c2UgYm90aCBleHBsYWluIGhvdyBhdXRvbWF0aW9uIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQgd29yayB0b2dldGhlciBpbiBtb2Rlcm4gc29mdHdhcmUgZGVsaXZlcnkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNJIENEIGhhcyBjaGFuZ2VkIGEgbG90IGluIHJlY2VudCB5ZWFycyBFYXJsaWVyIGl0IHdhcyBvbmx5IGFuIGF1dG9tYXRpb24gcHJvY2VzcyBidXQgbm93IGl0IGhhcyBiZWNvbWUgYSBzbWFydCBBSSBiYXNlZCBzeXN0ZW0gdGhhdCBpbXByb3ZlcyBzb2Z0d2FyZSBxdWFsaXR5IHNwZWVkIGFuZCByZWxpYWJpbGl0eTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vZGVybiBlbmdpbmVlcmluZyB0ZWFtcyBmaXJzdCB1bmRlcnN0YW5kIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgYmVmb3JlIGJ1aWxkaW5nIGFueSBkZWxpdmVyeSBzeXN0ZW0gYmVjYXVzZSB0aGlzIGNvbmNlcHQgaXMgdGhlIGJhc2Ugb2YgbW9kZXJuIHNvZnR3YXJlIGRldmVsb3BtZW50PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gMjAyNiBDSSBDRCBwaXBlbGluZXMgYXJlIG5vdCBqdXN0IHNpbXBsZSBzY3JpcHRzIHRoYXQgcnVuIGJ1aWxkcyBhbmQgdGVzdHMuIFRoZXkgYXJlIG5vdyBzbWFydCBzeXN0ZW1zIHRoYXQgY2FuIGNoZWNrIGNvZGUsIGZpbmQgcmlza3MgYW5kIGltcHJvdmUgZGVwbG95bWVudHMgYXV0b21hdGljYWxseS4gVGhpcyBldm9sdXRpb24gaXMgYWxzbyBjbG9zZWx5IGNvbm5lY3RlZCB0byB0aGUgZ3Jvd2luZyB1bmRlcnN0YW5kaW5nIG9mIDxzdHJvbmc+Y2kvY2QgcGlwZWxpbmUgbWVhbmluZzwvc3Ryb25nPiBpbiBtb2Rlcm4gRGV2T3BzIGVudmlyb25tZW50cy4gVGhlIGlkZWEgb2YgPHN0cm9uZz5jaS9jZCBwaXBlbGluZSBtZWFuaW5nPC9zdHJvbmc+IGhlbHBzIHRlYW1zIGRlZmluZSBzdHJ1Y3R1cmVkIGF1dG9tYXRpb24gaW4gc29mdHdhcmUgZGVsaXZlcnkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkEgdHlwaWNhbCBtb2Rlcm4gQ0kvQ0QgcGlwZWxpbmUgd29ya3MgaW4gdGhlIGZvbGxvd2luZyBzZXF1ZW5jZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRldmVsb3BlciBjb21taXRzIGNvZGUgdG8gYSByZXBvc2l0b3J5IChHaXQtYmFzZWQgc3lzdGVtcyk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkFJIGJhc2VkIHByZS1jaGVja3MgYW5hbHl6ZSB0aGUgY29kZSBmb3IgcXVhbGl0eSBpc3N1ZXMsIHBlcmZvcm1hbmNlIHJpc2tzIGFuZCBzZWN1cml0eSBwcm9ibGVtcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlRoZSBDSSBDRCBwaXBlbGluZSBpcyBhdXRvbWF0aWNhbGx5IHRyaWdnZXJlZCB3aGVuIGNvZGUgaXMgY29tbWl0dGVkIG9yIG1lcmdlZC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk11bHRpcGxlIHRlc3RzIHJ1biBhdCB0aGUgc2FtZSB0aW1lIGluIHBhcmFsbGVsIHRvIHNhdmUgdGltZSBhbmQgaW1wcm92ZSBzcGVlZC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlNlY3VyaXR5IHNjYW5uaW5nIHRvb2xzIGNoZWNrIGZvciB2dWxuZXJhYmlsaXRpZXMgaW4gZGVwZW5kZW5jaWVzIGFuZCBjb2RlIHN0cnVjdHVyZSBpbiByZWFsIHRpbWUuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BIGJ1aWxkIGlzIGdlbmVyYXRlZCBhZnRlciBzdWNjZXNzZnVsIHZhbGlkYXRpb24gb2YgY29kZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRlcGxveW1lbnQgaXMgZXhlY3V0ZWQgZWl0aGVyIGF1dG9tYXRpY2FsbHkgb3Igd2l0aCBjb250cm9sbGVkIGFwcHJvdmFsIChkZXBlbmRpbmcgb24gc3lzdGVtIGRlc2lnbik8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGVudGlyZSBmbG93IGVuc3VyZXMgdGhhdCBzb2Z0d2FyZSBtb3ZlcyBmcm9tIGRldmVsb3BtZW50IHRvIHByb2R1Y3Rpb24gaW4gYSBmYXN0LCBzYWZlLCBhbmQgcHJlZGljdGFibGUgd2F5LiBJdCBpcyBhIHByYWN0aWNhbCBpbXBsZW1lbnRhdGlvbiBvZiA8c3Ryb25nPndoYXQgaXMgY2kvY2QgcGlwZWxpbmU8L3N0cm9uZz4sIHdoZXJlIHRoZSBzeXN0ZW0gaXMgYnVpbHQgYXJvdW5kIDxzdHJvbmc+d2hhdCBpcyBjaS9jZCBwaXBlbGluZTwvc3Ryb25nPiBwcmluY2lwbGVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DSS9DRCByZW1vdmVzIG1hbnVhbCBzdGVwcyBmcm9tIHRoZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUsIGFsbG93aW5nIHRlYW1zIHRvIHJlbGVhc2Ugc29mdHdhcmUgbXVjaCBmYXN0ZXIuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW5zdGVhZCBvZiB3YWl0aW5nIGZvciBsb25nIHJlbGVhc2UgY3ljbGVzLCB0ZWFtcyBjYW4gbm93IHB1c2ggdXBkYXRlcyBpbiByZWFsIHRpbWU6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5EYWlseSBmZWF0dXJlIHVwZGF0ZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPldlZWtseSBpbXByb3ZlbWVudHMgYW5kIGVuaGFuY2VtZW50czwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RW1lcmdlbmN5IGJ1ZyBmaXhlcyB3aXRoaW4gbWludXRlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgc3BlZWQgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgaW4gMjAyNiwgd2hlcmUgdXNlcnMgZXhwZWN0IGluc3RhbnQgdXBkYXRlcyBhbmQgY29udGludW91cyBpbXByb3ZlbWVudHMuIE9yZ2FuaXphdGlvbnMgYWxzbyByZWx5IG9uIDxzdHJvbmc+Y2kvY2QgcGlwZWxpbmUgbWVhbmluZzwvc3Ryb25nPiB0byBvcHRpbWl6ZSB0aGVpciByZWxlYXNlIHN0cmF0ZWdpZXMuIE1hbnkgb3JnYW5pemF0aW9ucyBzdHVkeSA8c3Ryb25nPmNpL2NkIHBpcGVsaW5lIG1lYW5pbmc8L3N0cm9uZz4gdG8gb3B0aW1pemUgZGVsaXZlcnkgc3BlZWQgYW5kIHdvcmtmbG93IGVmZmljaWVuY3kuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk9uZSBvZiB0aGUgYmlnZ2VzdCBhZHZhbnRhZ2VzIG9mIENJL0NEIGlzIGNvbnNpc3RlbnQgY29kZSBxdWFsaXR5IHRocm91Z2ggYXV0b21hdGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BdXRvbWF0ZWQgdGVzdGluZyBlbnN1cmVzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QnVncyBhcmUgZGV0ZWN0ZWQgZWFybHkgaW4gZGV2ZWxvcG1lbnQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlZ3Jlc3Npb24gaXNzdWVzIGFyZSBhdm9pZGVkIGJlZm9yZSBwcm9kdWN0aW9uIHJlbGVhc2U8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk9ubHkgc3RhYmxlIGFuZCB2ZXJpZmllZCBidWlsZHMgbW92ZSBmb3J3YXJkIGluIHRoZSBwaXBlbGluZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgcmVkdWNlcyBwcm9kdWN0aW9uIGZhaWx1cmVzIGFuZCBpbXByb3ZlcyBvdmVyYWxsIHNvZnR3YXJlIHJlbGlhYmlsaXR5LiBBIGNsZWFyIHVuZGVyc3RhbmRpbmcgb2YgPHN0cm9uZz53aGF0IGlzIGNpL2NkIHBpcGVsaW5lPC9zdHJvbmc+IGhlbHBzIHRlYW1zIGJ1aWxkIGJldHRlciBxdWFsaXR5IHN5c3RlbXMuIFRoZSBjb25jZXB0IG9mIDxzdHJvbmc+d2hhdCBpcyBjaS9jZCBwaXBlbGluZTwvc3Ryb25nPiBpcyBjZW50cmFsIHRvIG1vZGVybiBEZXZPcHMgd29ya2Zsb3dzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NYW51YWwgZGVwbG95bWVudHMgb2Z0ZW4gbGVhZCB0byBtaXN0YWtlcyBzdWNoIGFzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5NaXNzaW5nIGRlcGxveW1lbnQgc3RlcHMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5UaGUgZW52aXJvbm1lbnQgbWlzbWF0Y2hlcyBiZXR3ZWVuIGRldmVsb3BtZW50IGFuZCBwcm9kdWN0aW9uLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNJIENEIHJlbW92ZXMgdGhlc2Ugcmlza3MgYnkgbWFraW5nIHRoZSB3aG9sZSBwcm9jZXNzIHN0YW5kYXJkIHRocm91Z2ggYXV0b21hdGlvbiBzbyBldmVyeSBkZXBsb3ltZW50IGZvbGxvd3MgdGhlIHNhbWUgc2FmZSBhbmQgdGVzdGVkIHN0ZXBzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgaXMgZGlyZWN0bHkgcmVsYXRlZCB0byBjaSBjZCBwaXBlbGluZSBtZWFuaW5nIHdoZXJlIGNpIGNkIHBpcGVsaW5lIG1lYW5pbmcgZXhwbGFpbnMgYSBzdHJ1Y3R1cmVkIGFuZCBlcnJvciBmcmVlIGRlbGl2ZXJ5IHByb2Nlc3MuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNJIENEIGhlbHBzIGltcHJvdmUgdGVhbXdvcmsgYmV0d2VlbiBhbGwgcGVvcGxlIGludm9sdmVkIGluIHNvZnR3YXJlIGRldmVsb3BtZW50IEl0IGNyZWF0ZXMgb25lIHNoYXJlZCB3b3JrZmxvdyBmb3IuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5EZXZlbG9wZXJzIHdobyB3cml0ZSBhbmQgY29tbWl0IGNvZGUuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5RQSBlbmdpbmVlcnMgd2hvIHRlc3QgYW5kIGNoZWNrIHRoZSBzeXN0ZW0uPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5EZXZPcHMgdGVhbXMgd2hvIGhhbmRsZSBkZXBsb3ltZW50IGFuZCBpbmZyYXN0cnVjdHVyZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TaW5jZSBldmVyeXRoaW5nIGlzIGF1dG9tYXRlZCBhbmQgdmlzaWJsZSBpbiBwaXBlbGluZXMgdGVhbXMgY2FuIGVhc2lseSB0cmFjayBjaGFuZ2VzLCBmaW5kIHByb2JsZW1zIGFuZCB3b3JrIHRvZ2V0aGVyIGluIGEgYmV0dGVyIHdheS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIHRlYW13b3JrIG1vZGVsIGlzIGJhc2VkIG9uIHdoYXQgaXMgY2kgY2QgcGlwZWxpbmUgd2hlcmUgd2hhdCBpcyBjaSBjZCBwaXBlbGluZSBnaXZlcyBzaGFyZWQgdmlzaWJpbGl0eSBhbmQgYXV0b21hdGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TW9kZXJuIENJIENEIHN5c3RlbXMgYXJlIGJ1aWx0IHRvIGhhbmRsZSBsYXJnZSBhbmQgY29tcGxleCBhcHBsaWNhdGlvbnMgZWFzaWx5IFRoZXkgc3VwcG9ydDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkJpZyBlbnRlcnByaXNlIGFwcGxpY2F0aW9ucy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk1pY3Jvc2VydmljZXMgYmFzZWQgc3lzdGVtcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk11bHRpIGNsb3VkIGVudmlyb25tZW50cyBsaWtlIEFXUyBBenVyZSBhbmQgR0NQLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgbWFrZXMgQ0kgQ0QgdmVyeSBpbXBvcnRhbnQgZm9yIGNvbXBhbmllcyB0aGF0IHdhbnQgdG8gZ3JvdyB0aGVpciBhcHBsaWNhdGlvbnMgZ2xvYmFsbHkgd2l0aG91dCBwZXJmb3JtYW5jZSBwcm9ibGVtcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VG9kYXksIG1hbnkgYWR2YW5jZWQgdG9vbHMgYXJlIHVzZWQgdG8gYnVpbGQgYW5kIG1hbmFnZSBDSS9DRCBwaXBlbGluZXMuIFNvbWUgb2YgdGhlIG1vc3Qgd2lkZWx5IHVzZWQgdG9vbHMgaW5jbHVkZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkdpdEh1YiBBY3Rpb25zPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5HaXRMYWIgQ0kvQ0Q8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkplbmtpbnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNpcmNsZUNJPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BcmdvIENEPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlc2UgdG9vbHMgaGVscCBhdXRvbWF0ZSBldmVyeSBzdGFnZSBvZiBzb2Z0d2FyZSBkZWxpdmVyeSwgZnJvbSBjb2RlIGludGVncmF0aW9uIHRvIHByb2R1Y3Rpb24gZGVwbG95bWVudCwgbWFraW5nIG1vZGVybiBEZXZPcHMgc3lzdGVtcyBmYXN0ZXIgYW5kIG1vcmUgcmVsaWFibGUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNJIENEIGlzIGNsb3NlbHkgY29ubmVjdGVkIHdpdGggY2xvdWQgbmF0aXZlIGRldmVsb3BtZW50IEluIG1vZGVybiBzeXN0ZW1zIGFwcGxpY2F0aW9ucyBhcmUgbm90IGRlcGxveWVkIGFzIG9uZSBzaW5nbGUgYmxvY2sgSW5zdGVhZCB0aGV5IGFyZSBidWlsdCB1c2luZyBkaXN0cmlidXRlZCBzeXN0ZW1zIHRoYXQgbmVlZCBjb250aW51b3VzIGFuZCBhdXRvbWF0aWMgZGVsaXZlcnkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VG9kYXkgY2xvdWQgbmF0aXZlIGVudmlyb25tZW50cyBkZXBlbmQgb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Db250YWluZXJzIHRoYXQgcGFja2FnZSBhcHBsaWNhdGlvbnMgd2l0aCBhbGwgbmVlZGVkIGZpbGVzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TWljcm9zZXJ2aWNlcyB0aGF0IHNwbGl0IGFwcGxpY2F0aW9ucyBpbnRvIHNtYWxsIGluZGVwZW5kZW50IHBhcnRzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+S3ViZXJuZXRlcyB0aGF0IG1hbmFnZXMgYW5kIHNjYWxlcyBjb250YWluZXJzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U2VydmVybGVzcyBmdW5jdGlvbnMgdGhhdCBydW4gY29kZSB3aXRob3V0IG1hbmFnaW5nIHNlcnZlcnMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gdGhlc2Ugc3lzdGVtcyBDSSBDRCBwaXBlbGluZXMgYXJlIGRpcmVjdGx5IGNvbm5lY3RlZCB3aXRoIGNsb3VkIHBsYXRmb3Jtcy4gQWZ0ZXIgY29kZSBpcyB0ZXN0ZWQgYW5kIHZlcmlmaWVkIGl0IGlzIGF1dG9tYXRpY2FsbHkgZGVwbG95ZWQgaW50byBlbnZpcm9ubWVudHMgbWFuYWdlZCBieSBLdWJlcm5ldGVzLiBUaGlzIGhlbHBzIGFwcGxpY2F0aW9ucyBzY2FsZSwgcmVjb3ZlciBhbmQgdXBkYXRlIHNtb290aGx5IGluIHRoZSBjbG91ZC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+T25lIG9mIHRoZSBiaWdnZXN0IGNoYW5nZXMgaW4gQ0kgQ0QgaXMgdGhlIHVzZSBvZiBBcnRpZmljaWFsIEludGVsbGlnZW5jZSBJbiAyMDI2LiBDSS9DRCBpcyBub3Qgb25seSBzaW1wbGUgYXV0b21hdGlvbiBpdCBoYXMgYmVjb21lIHNtYXJ0IGFuZCBwcmVkaWN0aXZlIGF1dG9tYXRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkFJLXBvd2VyZWQgdG9vbHMgbm93IGFzc2lzdCBkZXZlbG9wZXJzIGJ5IGFuYWx5emluZyBjb2RlIGJlZm9yZSB0cmFkaXRpb25hbCB0ZXN0aW5nIGV2ZW4gYmVnaW5zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZXNlIHRvb2xzIGNhbjo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRldGVjdGluZyBwb3RlbnRpYWwgYnVncyBpbiBlYXJseSBkZXZlbG9wbWVudCBzdGFnZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TdWdnZXN0IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBhbmQgb3B0aW1pemF0aW9ucy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPklkZW50aWZ5IHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBhbmQgcmlza3kgY29kZSBwYXR0ZXJucy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIHJlZHVjZXMgZGV2ZWxvcG1lbnQgZXJyb3JzIGFuZCBpbXByb3ZlcyBjb2RlIHF1YWxpdHkgYmVmb3JlIHRoZSBwaXBlbGluZSBldmVuIHN0YXJ0cyB0ZXN0aW5nLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BSSBoYXMgYWxzbyBpbXByb3ZlZCB0aGUgdGVzdGluZyBwaGFzZSBzaWduaWZpY2FudGx5IGJ5IGludHJvZHVjaW5nIHByZWRpY3RpdmUgYW5hbHlzaXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TW9kZXJuIHN5c3RlbXMgY2FuOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UHJlZGljdCB3aGljaCB0ZXN0IGNhc2VzIGFyZSBtb3N0IGxpa2VseSB0byBmYWlsLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SWRlbnRpZnkgaGlnaC1yaXNrIGFyZWFzIGluIGNvZGUgY2hhbmdlcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkV2YWx1YXRlIHdoZXRoZXIgYSBjaGFuZ2UgaXMgc2FmZSB0byBkZXBsb3kuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBtYWtlcyB0ZXN0aW5nIGZhc3RlciBhbmQgbW9yZSBlZmZpY2llbnQgYnkgZm9jdXNpbmcgcmVzb3VyY2VzIG9uIGNyaXRpY2FsIGFyZWFzIGluc3RlYWQgb2YgcnVubmluZyBldmVyeSB0ZXN0IGJsaW5kbHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkFJIGlzIG5vdyBhY3RpdmVseSBpbnZvbHZlZCBpbiBkZXBsb3ltZW50IGRlY2lzaW9ucy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JdCBjYW4gYXV0b21hdGljYWxseSBkZXRlcm1pbmU6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5XaGVuIHRoZSBiZXN0IHRpbWUgdG8gZGVwbG95IGlzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+V2hlcmUgdGhlIGRlcGxveW1lbnQgc2hvdWxkIGJlIGV4ZWN1dGVkIChyZWdpb24uIG9yIGVudmlyb25tZW50KTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SG93IHRvIHNjYWxlIHNlcnZpY2VzIGJhc2VkIG9uIGV4cGVjdGVkIGRlbWFuZC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGVuc3VyZXMgc21vb3RoZXIgcmVsZWFzZXMgd2l0aCBtaW5pbWFsIGRvd250aW1lIGFuZCBvcHRpbWFsIHBlcmZvcm1hbmNlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5PbmUgb2YgdGhlIG1vc3QgcG93ZXJmdWwgZmVhdHVyZXMgaW4gbW9kZXJuIENJL0NEIGlzIGF1dG9tYXRpYyByb2xsYmFjayBwb3dlcmVkIGJ5IEFJLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPklmIHRoZSBzeXN0ZW0gZGV0ZWN0czo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkVycm9ycyBpbiBwcm9kdWN0aW9uPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TdWRkZW4gcGVyZm9ybWFuY2UgZGVncmFkYXRpb248L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlNlY3VyaXR5IHRocmVhdHMgb3IgdW51c3VhbCBiZWhhdmlvcjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkl0IGNhbiBhdXRvbWF0aWNhbGx5IHJvbGwgYmFjayB0aGUgZGVwbG95bWVudCB0byB0aGUgcHJldmlvdXMgc3RhYmxlIHZlcnNpb24gd2l0aG91dCB3YWl0aW5nIGZvciBodW1hbiBpbnRlcnZlbnRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBzaWduaWZpY2FudGx5IHJlZHVjZXMgcmlzayBhbmQgaW1wcm92ZXMgc3lzdGVtIHJlbGlhYmlsaXR5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BIG1vZGVybiBDSS9DRCBwaXBlbGluZSBpbiAyMDI2IGlzIHN0cnVjdHVyZWQgaW50byBtdWx0aXBsZSBpbnRlbGxpZ2VudCBsYXllcnMsIGVhY2ggcmVzcG9uc2libGUgZm9yIGEgc3BlY2lmaWMgcGFydCBvZiB0aGUgZGVsaXZlcnkgcHJvY2Vzczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBpcyB3aGVyZSBldmVyeXRoaW5nIGJlZ2luczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPldyaXRpbmcgY29kZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UnVubmluZyBsb2NhbCB0ZXN0czwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q29tbWl0dGluZyBjaGFuZ2VzIHRvIEdpdCByZXBvc2l0b3JpZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBsYXllciBoYW5kbGVzIGNvcmUgQ0kvQ0QgZXhlY3V0aW9uOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VHJpZ2dlcmluZyBwaXBlbGluZXMgb24gY29kZSBjaGFuZ2VzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5CdWlsZGluZyBhcHBsaWNhdGlvbnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJ1bm5pbmcgYXV0b21hdGVkIHRlc3Qgc3VpdGVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlNlY3VyaXR5IGlzIGRlZXBseSBpbnRlZ3JhdGVkIGludG8gdGhlIHBpcGVsaW5lOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3RhdGljIGNvZGUgYW5hbHlzaXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRlcGVuZGVuY3kgdnVsbmVyYWJpbGl0eSBzY2FubmluZzwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QUktYmFzZWQgdGhyZWF0IGRldGVjdGlvbiBhbmQgYW5vbWFseSBhbmFseXNpczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGxheWVyIGhhbmRsZXMgZGVsaXZlcnkgdG8gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5DbG91ZCBkZXBsb3ltZW50czwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q29udGFpbmVyIG9yY2hlc3RyYXRpb24gdXNpbmcgS3ViZXJuZXRlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U2VydmVybGVzcyBmdW5jdGlvbiBkZXBsb3ltZW50PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkFmdGVyIGRlcGxveW1lbnQsIHN5c3RlbXMgYXJlIGNvbnRpbnVvdXNseSBvYnNlcnZlZDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlYWwtdGltZSBsb2dzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5QZXJmb3JtYW5jZSBtZXRyaWNzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BbGVydHMgYW5kIG5vdGlmaWNhdGlvbnM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkFJLWJhc2VkIGFub21hbHkgZGV0ZWN0aW9uIGFuZCBzeXN0ZW0gaGVhbHRoIHRyYWNraW5nPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBsYXllcmVkIGFyY2hpdGVjdHVyZSBlbnN1cmVzIHRoYXQgQ0kvQ0QgaW4gMjAyNiBpcyBub3QganVzdCBhYm91dCBhdXRvbWF0aW9uLCBidXQgYWJvdXQgYnVpbGRpbmcgPHN0cm9uZz5zZWxmLWF3YXJlLCBzZWN1cmUsIGFuZCBoaWdobHkgc2NhbGFibGUgc29mdHdhcmUgZGVsaXZlcnkgc3lzdGVtczwvc3Ryb25nPi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gbW9kZXJuIHNvZnR3YXJlIGRldmVsb3BtZW50LCBmb2xsb3dpbmcgcHJvcGVyIENJL0NEIHByYWN0aWNlcyBpcyBlc3NlbnRpYWwgdG8gZW5zdXJlIHN5c3RlbXMgcmVtYWluIGZhc3QsIHJlbGlhYmxlLCBhbmQgc2VjdXJlLiBBcyBwaXBlbGluZXMgYmVjb21lIG1vcmUgY29tcGxleCBpbiAyMDI2LCB0aGVzZSBiZXN0IHByYWN0aWNlcyBoZWxwIG1haW50YWluIHN0YWJpbGl0eSBhbmQgZWZmaWNpZW5jeS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QXV0b21hdGlvbiBpcyB0aGUgY29yZSBmb3VuZGF0aW9uIG9mIENJL0NELjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRlYW1zIHNob3VsZCBhdXRvbWF0ZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkJ1aWxkczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VGVzdGluZyBwcm9jZXNzZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRlcGxveW1lbnQgd29ya2Zsb3dzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TZWN1cml0eSBzY2FubmluZyBhbmQgY2hlY2tzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyByZWR1Y2VzIG1hbnVhbCBlZmZvcnQgYW5kIGVuc3VyZXMgY29uc2lzdGVuY3kgYWNyb3NzIGFsbCBzdGFnZXMgb2YgdGhlIHBpcGVsaW5lLiBUaGUgbW9yZSBhdXRvbWF0aW9uIGlzIGltcGxlbWVudGVkLCB0aGUgZmV3ZXIgY2hhbmNlcyB0aGVyZSBhcmUgZm9yIGh1bWFuIGVycm9yLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD7igJxTaGlmdCBsZWZ04oCdIG1lYW5zIG1vdmluZyB0ZXN0aW5nIGVhcmxpZXIgaW4gdGhlIGRldmVsb3BtZW50IGxpZmVjeWNsZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JbnN0ZWFkIG9mIHRlc3RpbmcgYXQgdGhlIGVuZCwgdGVhbXMgbm93OjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UnVuIHRlc3RzIGR1cmluZyBkZXZlbG9wbWVudDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q2F0Y2ggYnVncyBiZWZvcmUgY29kZSByZWFjaGVzIHRoZSBtYWluIGJyYW5jaDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VmFsaWRhdGUgY2hhbmdlcyBjb250aW51b3VzbHk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGFwcHJvYWNoIGhlbHBzIHJlZHVjZSBjb3N0bHkgZml4ZXMgbGF0ZXIgaW4gcHJvZHVjdGlvbiBhbmQgaW1wcm92ZXMgb3ZlcmFsbCBjb2RlIHF1YWxpdHkgZnJvbSB0aGUgYmVnaW5uaW5nLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Nb2Rlcm4gQ0kvQ0QgZW5jb3VyYWdlcyBicmVha2luZyBsYXJnZSB1cGRhdGVzIGludG8gc21hbGxlciByZWxlYXNlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5CZW5lZml0cyBpbmNsdWRlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RWFzaWVyIGRlYnVnZ2luZzwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RmFzdGVyIHJvbGxiYWNrIGlmIHNvbWV0aGluZyBmYWlsczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UmVkdWNlZCBzeXN0ZW0gcmlzazwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TW9yZSBzdGFibGUgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TbWFsbCBkZXBsb3ltZW50cyBhcmUgZWFzaWVyIHRvIG1hbmFnZSBhbmQgYWxsb3cgdGVhbXMgdG8gcmVsZWFzZSBmZWF0dXJlcyBtb3JlIGNvbmZpZGVudGx5IGFuZCBmcmVxdWVudGx5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TZWN1cml0eSBpcyBub3cgaW50ZWdyYXRlZCBkaXJlY3RseSBpbnRvIENJL0NEIHBpcGVsaW5lcywgYSBwcmFjdGljZSBrbm93biBhcyBEZXZTZWNPcHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBpbmNsdWRlczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkF1dG9tYXRlZCB2dWxuZXJhYmlsaXR5IHNjYW5uaW5nPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TZWNyZXQgZGV0ZWN0aW9uIChBUEkga2V5cywgcGFzc3dvcmRzLCB0b2tlbnMpPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Db21wbGlhbmNlIGFuZCBwb2xpY3kgY2hlY2tzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QnkgaW50ZWdyYXRpbmcgc2VjdXJpdHkgZWFybHkgaW4gdGhlIHBpcGVsaW5lLCB0ZWFtcyBjYW4gcHJldmVudCB2dWxuZXJhYmlsaXRpZXMgYmVmb3JlIHRoZXkgcmVhY2ggcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vZGVybiBDSS9DRCBzeXN0ZW1zIHJlbHkgaGVhdmlseSBvbiBvYnNlcnZhYmlsaXR5IHRvIG1haW50YWluIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5LZXkgY29tcG9uZW50cyBpbmNsdWRlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RGlzdHJpYnV0ZWQgdHJhY2luZyAodHJhY2tpbmcgcmVxdWVzdHMgYWNyb3NzIHNlcnZpY2VzKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TG9nIGFuYWx5c2lzIChpZGVudGlmeWluZyBlcnJvcnMgYW5kIHBhdHRlcm5zKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UmVhbC10aW1lIGRhc2hib2FyZHMgKG1vbml0b3Jpbmcgc3lzdGVtIGhlYWx0aCk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGVzZSB0b29scyBoZWxwIHRlYW1zIHF1aWNrbHkgZGV0ZWN0IGlzc3VlcyBhbmQgdW5kZXJzdGFuZCBzeXN0ZW0gYmVoYXZpb3IgaW4gcmVhbCB0aW1lLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5FdmVuIGluIDIwMjYsIENJL0NEIHN5c3RlbXMgY29tZSB3aXRoIHNldmVyYWwgY2hhbGxlbmdlcyB0aGF0IG9yZ2FuaXphdGlvbnMgbXVzdCBtYW5hZ2UgY2FyZWZ1bGx5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BcyBzeXN0ZW1zIGdyb3csIHBpcGVsaW5lcyBiZWNvbWUgbW9yZSBjb21wbGV4IGFuZCBoYXJkZXIgdG8gbWFuYWdlLCBlc3BlY2lhbGx5IGluIG1pY3Jvc2VydmljZXMtYmFzZWQgYXJjaGl0ZWN0dXJlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2hlbiBwaXBlbGluZXMgZmFpbCwgaWRlbnRpZnlpbmcgdGhlIGV4YWN0IGNhdXNlIGNhbiBiZSBkaWZmaWN1bHQgZHVlIHRvIG11bHRpcGxlIGludGVyY29ubmVjdGVkIHN0YWdlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VXNpbmcgdG9vIG1hbnkgdG9vbHMgaW4gdGhlIENJL0NEIGVjb3N5c3RlbSBjYW4gY3JlYXRlIGNvbmZ1c2lvbiwgaW50ZWdyYXRpb24gaXNzdWVzLCBhbmQgcmVkdWNlZCBwcm9kdWN0aXZpdHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNsb3VkLWJhc2VkIENJL0NEIHBpcGVsaW5lcyBjYW4gYmVjb21lIGV4cGVuc2l2ZSwgZXNwZWNpYWxseSB3aGVuIHJ1bm5pbmcgbGFyZ2Utc2NhbGUgYnVpbGRzIGFuZCB0ZXN0cyBmcmVxdWVudGx5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JbXByb3Blcmx5IGNvbmZpZ3VyZWQgcGlwZWxpbmVzIGNhbiBiZWNvbWUgYSB0YXJnZXQgZm9yIGF0dGFja2VycywgbWFraW5nIHBpcGVsaW5lIHNlY3VyaXR5IGV4dHJlbWVseSBpbXBvcnRhbnQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDp0YWJsZSAtLT4KPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2stdGFibGUiPjx0YWJsZSBjbGFzcz0iaGFzLWZpeGVkLWxheW91dCI+PHRib2R5Pjx0cj48dGQ+PHN0cm9uZz5GZWF0dXJlPC9zdHJvbmc+PC90ZD48dGQ+PHN0cm9uZz5UcmFkaXRpb25hbCBEZXBsb3ltZW50PC9zdHJvbmc+PC90ZD48dGQ+PHN0cm9uZz5DSS9DRCBQaXBlbGluZTwvc3Ryb25nPjwvdGQ+PC90cj48dHI+PHRkPlNwZWVkPC90ZD48dGQ+U2xvdzwvdGQ+PHRkPkZhc3Q8L3RkPjwvdHI+PHRyPjx0ZD5UZXN0aW5nPC90ZD48dGQ+TWFudWFsPC90ZD48dGQ+QXV0b21hdGVkPC90ZD48L3RyPjx0cj48dGQ+RGVwbG95bWVudDwvdGQ+PHRkPk1hbnVhbDwvdGQ+PHRkPkF1dG9tYXRlZDwvdGQ+PC90cj48dHI+PHRkPkVycm9yczwvdGQ+PHRkPkhpZ2ggcmlzazwvdGQ+PHRkPkxvdyByaXNrPC90ZD48L3RyPjx0cj48dGQ+U2NhbGFiaWxpdHk8L3RkPjx0ZD5MaW1pdGVkPC90ZD48dGQ+SGlnaDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9maWd1cmU+CjwhLS0gL3dwOnRhYmxlIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DSS9DRCBpcyBhIGNvcmUgdGVjaG5pY2FsIGZvdW5kYXRpb24gb2YgRGV2T3BzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPldoaWxlIERldk9wcyBmb2N1c2VzIG9uOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q29sbGFib3JhdGlvbiBiZXR3ZWVuIHRlYW1zPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BdXRvbWF0aW9uIG9mIHByb2Nlc3NlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q29udGludW91cyBpbXByb3ZlbWVudDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNJL0NEIHByb3ZpZGVzIHRoZSA8c3Ryb25nPmF1dG9tYXRpb24gZW5naW5lPC9zdHJvbmc+IHRoYXQgbWFrZXMgdGhlc2UgRGV2T3BzIHByaW5jaXBsZXMgcG9zc2libGUgaW4gcmVhbCBzeXN0ZW1zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Vc2VkIGZvciBmcmVxdWVudCBmZWF0dXJlIHVwZGF0ZXMgYW5kIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlN1cHBvcnRzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Rmxhc2ggc2FsZSB1cGRhdGVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5JbnZlbnRvcnkgY2hhbmdlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UGF5bWVudCBzeXN0ZW0gZml4ZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5FbnN1cmVzIGhpZ2gtc2VjdXJpdHkgZGVwbG95bWVudHMgd2l0aCBzdHJpY3QgdmFsaWRhdGlvbiBhbmQgdGVzdGluZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Vc2VkIGZvcjo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk1vZGVsIGRlcGxveW1lbnQgcGlwZWxpbmVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5MTE0gdXBkYXRlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RGF0YSBwcm9jZXNzaW5nIHdvcmtmbG93czwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DSS9DRCBpcyBldm9sdmluZyByYXBpZGx5IHRvd2FyZCBmdWxseSBhdXRvbm9tb3VzIHN5c3RlbXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RnV0dXJlIHRyZW5kcyBpbmNsdWRlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkFJIHdpbGwgbWFuYWdlIGVudGlyZSBwaXBlbGluZXMgYXV0b21hdGljYWxseS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5ObyBodW1hbiBpbnZvbHZlbWVudCB3aWxsIGJlIHJlcXVpcmVkIGZvciBkZXBsb3ltZW50IGRlY2lzaW9ucy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TeXN0ZW1zIHdpbGwgYXV0b21hdGljYWxseSBkZXRlY3QgYW5kIGZpeCBmYWlsdXJlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Gcm9tIGNvZGUgY3JlYXRpb24gdG8gcHJvZHVjdGlvbiBkZXBsb3ltZW504oCUZXZlcnl0aGluZyB3aWxsIGJlIGF1dG9tYXRlZC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q0kvQ0QgcGlwZWxpbmVzIGhhdmUgdHJhbnNmb3JtZWQgc29mdHdhcmUgZGV2ZWxvcG1lbnQgZnJvbSBhIHNsb3csIG1hbnVhbCBwcm9jZXNzIGludG8gYSBmYXN0LCBhdXRvbWF0ZWQsIGFuZCBoaWdobHkgcmVsaWFibGUgc3lzdGVtLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluIDIwMjYsIENJL0NEIGlzIG5vIGxvbmdlciBqdXN0IGEgRGV2T3BzIHByYWN0aWNl4oCUaXQgaGFzIGJlY29tZSB0aGUgPHN0cm9uZz5mb3VuZGF0aW9uIG9mIG1vZGVybiBzb2Z0d2FyZSBlbmdpbmVlcmluZzwvc3Ryb25nPi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JdCBlbmFibGVzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RmFzdGVyIHJlbGVhc2VzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5IaWdoZXIgY29kZSBxdWFsaXR5PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5SZWR1Y2VkIGh1bWFuIGVycm9yczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3Ryb25nIHNlY3VyaXR5IGludGVncmF0aW9uPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5IaWdobHkgc2NhbGFibGUgc3lzdGVtczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk9yZ2FuaXphdGlvbnMgdGhhdCBpbXBsZW1lbnQgQ0kvQ0QgZWZmZWN0aXZlbHkgYXJlIGFibGUgdG8gaW5ub3ZhdGUgZmFzdGVyLCByZWxlYXNlIHNvZnR3YXJlIGNvbmZpZGVudGx5LCBhbmQgc3RheSBjb21wZXRpdGl2ZSBpbiB0aGUgcmFwaWRseSBldm9sdmluZyBkaWdpdGFsIHdvcmxkLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPmxldmVsaWRsaW5rc2l6ZVNsdWdsaW5rRGVzdGluYXRpb248IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5XaHkgQ0kvQ0QgTWF0dGVycyBpbiAyMDI2PC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDppbWFnZSB7ImlkIjoxNTQ4Nywic2l6ZVNsdWciOiJmdWxsIiwibGlua0Rlc3RpbmF0aW9uIjoibm9uZSJ9IC0tPgpsZXZlbGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIHN5c3RlbSBtYWtlcyBzdXJlIHRoZSBhcHBsaWNhdGlvbiBpcyBhbHdheXMgc2FmZSB0byBkZXBsb3kgYXQgYW55IHRpbWUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YnI+VGhlIHN5c3RlbSBtYWtlcyBzdXJlIHRoZSBhcHBsaWNhdGlvbiBpcyBhbHdheXMgc2FmZSB0byBkZXBsb3kgYXQgYW55IHRpbWUuZHJvcENhcGlubmVyQmxvY2tzwqDCoDxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5DSSAoQ29udGludW91cyBJbnRlZ3JhdGlvbik8L3N0cm9uZz48L2gyPgo8cD5UaGlzIGVuc3VyZXMgdGhhdCB0aGUgc29mdHdhcmUgaXMgYWx3YXlzIGluIGEgc3RhYmxlIGFuZCB3b3JraW5nIHN0YXRlLjxicj7CoENJIGhlbHBzIHRlYW1zIGF2b2lkIOKAnGludGVncmF0aW9uIHByb2JsZW1z4oCdIHRoYXQgdXN1YWxseSBoYXBwZW4gd2hlbiBtdWx0aXBsZSBkZXZlbG9wZXJzIHdvcmsgb24gdGhlIHNhbWUgcHJvamVjdC48L3A+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5Db250aW51b3VzIERlbGl2ZXJ5PC9zdHJvbmc+PC9oMz4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNvbnRpbnVvdXMgRGVwbG95bWVudDwvc3Ryb25nPjwvaDM+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5Db250aW51b3VzIERlbGl2ZXJ5IHZzIENvbnRpbnVvdXMgRGVwbG95bWVudDwvc3Ryb25nPjwvaDI+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtZnVsbCI+PGltZyBzcmM9Imh0dHBzOi8vdXRoby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvQ0ktdnMtQ0QuanBlZyIgYWx0PSJDSSB2cyBDRCIgY2xhc3M9IndwLWltYWdlLTE1NDg3Ii8+PC9maWd1cmU+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNvbnRpbnVvdXMgRGVsaXZlcnk8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8cD5UaGUgc3lzdGVtIG1ha2VzIHN1cmUgdGhlIGFwcGxpY2F0aW9uIGlzIGFsd2F5cyBzYWZlIHRvIGRlcGxveSBhdCBhbnkgdGltZS48L3A+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4xLiBGYXN0ZXIgU29mdHdhcmUgRGVsaXZlcnk8L3N0cm9uZz48L2gzPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+MS4gU2FhUyBBcHBsaWNhdGlvbnM8L3N0cm9uZz48L2gzPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Mi4gRS1jb21tZXJjZSBQbGF0Zm9ybXM8L3N0cm9uZz48L2gzPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+My4gRmludGVjaCBTeXN0ZW1zPC9zdHJvbmc+PC9oMz4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjQuIEFJIEFwcGxpY2F0aW9uczwvc3Ryb25nPjwvaDM+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4xLiBBSS1Ecml2ZW4gRGV2T3BzPC9zdHJvbmc+PC9oMz4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjIuIFplcm8tVG91Y2ggRGVwbG95bWVudDwvc3Ryb25nPjwvaDM+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4zLiBTZWxmLUhlYWxpbmcgUGlwZWxpbmVzPC9zdHJvbmc+PC9oMz4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjQuIEZ1bGx5IEF1dG9ub21vdXMgU29mdHdhcmUgRGVsaXZlcnk8L3N0cm9uZz48L2gzPgpsZXZlbGxldmVsPGJyPmxldmVsbGV2ZWxpZGxpbmtzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkhvd2V2ZXIgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQgaXM8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5Db250aW51b3VzIERlcGxveW1lbnQ8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8cD48c3Ryb25nPlRoaW5rIG9mIGl0IGxpa2UgdGhpczwvc3Ryb25nPjxicj7CoDxicj5JZiBpdCB3b3JrcyByZWxlYXNlIGl0IGltbWVkaWF0ZWx5PC9wPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5XaGF0IGlzIGEgQ0kgQ0QgUGlwZWxpbmU8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmltYWdlIHsiaWQiOjE1NDg4LCJzaXplU2x1ZyI6ImZ1bGwiLCJsaW5rRGVzdGluYXRpb24iOiJub25lIn0gLS0+CmxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWw8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWZ1bGwiPjxpbWcgc3JjPSJodHRwczovL3V0aG8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL0NJLUNELVBpcGVsaW5lLVN0YWdlLmpwZWciIGFsdD0iQ0kvQ0QgcGlwZWxpbmUgc3RhZ2VzIiBjbGFzcz0id3AtaW1hZ2UtMTU0ODgiLz48L2ZpZ3VyZT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+MS4gU291cmNlIENvbnRyb2w8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4yLiBCdWlsZCBTdGFnZTwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjMuIFRlc3RpbmcgU3RhZ2U8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz40LiBEZXBsb3ltZW50IFN0YWdlPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+SG93IENJIENEIFdvcmtzIGluIE1vZGVybiBTeXN0ZW1zIDIwMjY8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgpsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWw8YnI+PHN0cm9uZz5DSS9DRCBUb29scyBpbiAyMDI2PC9zdHJvbmc+YnI+PGxldmVsYnI+PDwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPk1vZGVybiBDSS9DRCBGbG93PC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+S2V5IEJlbmVmaXRzIG9mIENJL0NEIFBpcGVsaW5lczwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjIuIEltcHJvdmVkIENvZGUgUXVhbGl0eTwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjMuIFJlZHVjZWQgSHVtYW4gRXJyb3I8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz40LiBCZXR0ZXIgQ29sbGFib3JhdGlvbjwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjUgU2NhbGFiaWxpdHk8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgpjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YnI+PGJyPjxicj48c3Ryb25nPkNJL0NEIFRvb2xzIGluIDIwMjY8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NsZXZlbDxicj48YnI+PHN0cm9uZz5DSS9DRCBUb29scyBpbiAyMDI2PC9zdHJvbmc+aXNWYWxpZGF0dHJpYnV0ZXNjb250ZW50PGJyPjxicj48c3Ryb25nPkNJL0NEIFRvb2xzIGluIDIwMjY8L3N0cm9uZz5pbm5lckJsb2Nrc2NsaWVudElkbmFtZWxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWw8cD5UaGUgY29uY2VwdCBvZiA8c3Ryb25nPmNpL2NkIHBpcGVsaW5lIG1lYW5pbmc8L3N0cm9uZz4gYmVjb21lcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNjYWxpbmcgc3lzdGVtcyBhY3Jvc3MgZGlzdHJpYnV0ZWQgZW52aXJvbm1lbnRzLjwvcD4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Q0kvQ0QgVG9vbHMgaW4gMjAyNjwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5DSS9DRCBpbiBDbG91ZC1OYXRpdmUgRW52aXJvbm1lbnRzPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+QUkgUmV2b2x1dGlvbiBpbiBDSSBDRCBNYWpvciAyMDI2IFVwZGF0ZTwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjEuIEFJIENvZGUgUmV2aWV3PC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Mi4gUHJlZGljdGl2ZSBUZXN0aW5nPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+My4gSW50ZWxsaWdlbnQgRGVwbG95bWVudDwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjQuIEF1dG8gUm9sbGJhY2sgU3lzdGVtczwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNJL0NEIFBpcGVsaW5lIEFyY2hpdGVjdHVyZSAoTW9kZXJuIFZpZXcpPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWxsZXZlbDwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjEuIERldmVsb3BlciBMYXllcjwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjIuIEF1dG9tYXRpb24gTGF5ZXI8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgpsZXZlbDwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjMuIFNlY3VyaXR5IExheWVyPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbDwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjQuIERlcGxveW1lbnQgTGF5ZXI8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz41LiBNb25pdG9yaW5nIExheWVyPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+QmVzdCBQcmFjdGljZXMgZm9yIENJL0NEICgyMDI2KTwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjEuIEF1dG9tYXRlIEV2ZXJ5dGhpbmcgUG9zc2libGU8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4yLiBTaGlmdCBMZWZ0IFRlc3Rpbmc8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4zLiBVc2UgU21hbGwsIEZyZXF1ZW50IERlcGxveW1lbnRzPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+NC4gSW1wbGVtZW50IFN0cm9uZyBTZWN1cml0eSAoRGV2U2VjT3BzKTwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjUuIFVzZSBPYnNlcnZhYmlsaXR5IFRvb2xzPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbDwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNoYWxsZW5nZXMgaW4gQ0kvQ0Q8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz4xLiBQaXBlbGluZSBDb21wbGV4aXR5PC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Mi4gRGVidWdnaW5nIEZhaWx1cmVzPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+My4gVG9vbCBPdmVybG9hZDwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjQuIENvc3QgTWFuYWdlbWVudDwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPjUuIFNlY3VyaXR5IFJpc2tzPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Q0kvQ0QgdnMgVHJhZGl0aW9uYWwgRGVwbG95bWVudDwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNJL0NEIGFuZCBEZXZPcHMgUmVsYXRpb25zaGlwPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Q0kvQ0QgaW4gUmVhbC1Xb3JsZCBVc2UgQ2FzZXM8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5GdXR1cmUgb2YgQ0kvQ0QgKEJleW9uZCAyMDI2KTwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNvbmNsdXNpb248L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgpjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3MFBwgECAQIBggFMAgHCAcIBggOCA4ICwgGSAEGCAQJCAoIBAgGCAcPBAoHCwUHrwgHCAcECgeYBwcLCAcECgebBgcLCAcECge8BQcLCAcECgciBQsIBwQKB4sEBwsIBwQKBwYLCAcECge9AgsIBwQKB40CCwgHBAoHnAILCAcECgcZBQsIBwQKB5wGBwsIBwQKB4ABBwsIBwQKBwYLCAcECgeCAgsIBwQKB50BCwgHBAoHmAILCAcECge8AQsIBwQKBzUFCwgHBAoHtgEHCwgHBAoHBgsIBwQKB4oCCwgHBAoHggILCAcECgevAQsIBwQKByQFCwgHBAoHowMHCwgHBAoHLgcLCAcECgcGCwgHBAoHmwILCAcECgekAwsIBwQKB70BCwgHBAoHNwcLCAcECgcGCwgHBAoHiQILCAcECgeBBAsIBwQKB7ICCwgHBAoHOAcLCAcECgcGCwgHBAoHoQILCAcECgeNAwsIBwQKB4YDCwgHBAoHKQcLCAcECgcGCwgHBAoHjgILCAcECgecAgsIBwQKB4ADCwgHBAoHNAcLCAcECgcGCwgHBAoHrgMLCAcECgecAwsIBwQKB6YCCwgHBAoHMAULCAcECge1BgcLCAcECgeABgcLCAcECgecBAcLogGVAb0CCAcECgcjBQsIBwQKB5sECwECQQCi1AKEzwIIBwQKRwALgAMIBwQKB40BBwsIBwQKB7ECBwsIBwQKB4QCBwsIBwQKBx4HCwgHBAoHrgEHCwgHBAoHiwEHCwgHBAoHNwcLCAcECgcGCwgHBAoHFAsIBwQKBxELCAcECgcXCwgHBAoHGQsIBwQKB5UBBwsIBwQKB48BBwsIBwQKB5oEBwsIBwQKByUHCwgHBAoHAQcrBQsIBwQKB6EBBwsIBwQKByUHCwgHBAoHBgsIBwQKBzULCAcECgccCwgHBAoHJgsIBwQKB4sBBrIBBwsIBwQKB6YCBwsIBwQKBzYHCwgHBAoHkQEHCwgHBAoHFAcLCAcECgcBByMFCwgHBAoHBgsIBwQKByYLCAcECgcfCwgHBAoHNwsIBwQKBwEHJQULCAcECgcGCwgHBAoHHQsIBwQKBz0LCAcECgcgCwgHBAoHPQcLCAcECgeCAwcLCAcECgcqBwsIBwQKB6EBBwsIBwQKBx0HCwgHBAoHBgsIBwQKBxULCAcECgcZCwgHBAoHFAsIBwQKByILCAcECgcbCwgHBAoHvAIHCwgHBAoHAQc8BQsIBwQKQwAHCwgHBAoHogYHCwgHBAoHJAcLCAcECgcGCwgHBAoHhAELCAcECgc0CwgHBAoHgQELCAcECgcvCwgHBAoHjwEHCwgHBAoHgQMHCwgHBAoHMwcLCAcECgchBwsIBwQKB4kDBwsIBwQKB4YBBwsIBwQKBwYLCAcECgcgCwgHBAoHKQsIBwQKBysLCAcECgcfCwgHBAoHNwcLCAcECgepAgcLCAcECgcmBwsIBwQKBxkHCwgHBAoHBgsIBwQKBzALCAcECgeUAQsIBwQKBzMLCAcECgcrCwgHBAoHnAIHCwgHBAoHtwEHCwgHBAoHKgYiBwsIBwQKB6QDBwsIBwQKBykHCwgHBApDAAcLCAcECgesAQcLCAcECgewAQcLCAcECgcsBwsIBwQKByIHCwgHBAoHtQEHCwgHBAoHBgsIBwQKBxALCAcECgcGCwgHBAoHBgsIBwQKBwkLCAcECgeyAgcLCAcECgcfBwsIBwQKB6UBBwsIBwQKBwYLCAcECgcVCwgHBAoHJAsIBwQKBy4LCAcECgcjCwgHBAoHpwEHCwgHBAoHIQcLCAcECgeEAgcLCAcECgcGCwgHBAoHKgsIBwQKBywLCAcECgcwCwgHBAoHMwsIBwQKB58BBwsIBwQKBwYLCAcECgcSCwgHBAoHFwsIBwQKBxgLCAcECgcaCwgHBAoHggEHCwgHBAoHJAcLCAcECge0AQcLCAcECgcGCwgHBAoHKwsIBwQKBysLCAcECgceCwgHBAoHgwEHCwgHBAoHBgsIBwQKBzsLCAcECgc3CwgHBAoHMAsIBwQKB4UBBwsIBwQKB5QDBwsIBwQKBzcHCwgHBAoHtAIHCwgHBAoHpAIHCwgHBAoHswYHCwgHBAoHIgcLCAcECgeAAQcLCAcECgcGCwgHBAoHOgsIBwQKB6EBCwgHBAoHjwELCAcECgePAQsIBwQKB6IBCwgHBAoHOQsIBwQKB6QBCwgHBAoHkwQHCwgHBAoHMAcLCAcECgcBBysFCwgHBAoHqgEHCwgHBAoHlAEHCwgHBAoHBgsIBwQKBxULCAcECgckCwgHBAoHIgsIBwQKB4kFBwsIBwQKBykHCwgHBAoHlQEHCwgHBAoHGgcLCAcECgcGCwgHBAoHJgsIBwQKBzcLCAcECgc8CwgHBAoHlAQHCwgHBAoHJwcLCAcECgcyBwsIBwQKBwYLCAcECgchCwgHBAoHGQsIBwQKBz4LCAcECgeNAgcLCAcECgeGAgcLCAcECgcoBwsIBwQKB7QBBwsIBwQKBwYLCAcECgclCwgHBAoHKwsIBwQKBzYLCAcECgeHAgcLCAcECge7AQcLCAcECgceBwsIBwQKB5wBBwsIBwQKBwYLCAcECgccCwgHBAoHHAsIBwQKBzALCAcECge5AQcLCAcECgeJAgcLCAcECgcoBwsIBwQKB7QBBwsIBwQKBwYLCAcECgcOCwgHBAoHDAsIBwQKRwALCAcECgcICwgHBApHAAsIBwQKB6ICBwsIBwQKBzMHCwgHBAoHmgMHCwgHBAoHKgcLCAcECgcGCwgHBAoHOwsIBwQKB4MBCwgHBAoHLgsIBwQKBzwLCAcECge+AwcLCAcECgc5BwsIBwQKB6UCBwsIBwQKByIHCwgHBAoHoAEHCwgHBAoHEAcLCAcECgcGCwgHBAoHNQsIBwQKBzMLCAcECgc6CwgHBAoHogEHCwgHBAoHJgcLCAcECgeYAQcLCAcECgcTBwsIBwQKBwYLCAcECgcxCwgHBAoHKQsIBwQKBywLCAcECge7AQcLCAcECgcqBwsIBwQKBzQHCwgHBAoHHwcLCAcECgcGCwgHBAoHIAsIBwQKB4ABCwgHBAoHLwsIBwQKB40BBwsIBwQKBykHCwgHBAoHlgEHCwgHBAoHFgcLCAcECgcGCwgHBAoHFAsIBwQKBx4LCAcECgckCwgHBAoHtAEHCwgHBAoHgAEHCwgHBAoHOgcLCAcECgeNAgcLCAcECgcjBwsIBwQKByAHCwgHBAoHBgsIBwQKBwwLCAcECgcTCwgHBAoHJgsIBwQKByQHCwgHBAoHKAcLCAcECgcGCwgHBAoHJAsIBwQKBxULCAcECgcdCwgHBAoHIgcLCAcECgcwBwsIBwQKBwYLCAcECgcUCwgHBAoHIQsIBwQKBy4LCAcECgckBwsIBwQKBzcHCwgHBAoHBgsIBwQKBxELCAcECgcoCwgHBAoHHgsIBwQKByQHCwgHBAoHNAcLCAcECgcGCwgHBAoHDgsIBwQKBxMLCAcECgcYCwgHBAoHNQsIBwQKB7kCBwsIBwQKBzAHCwgHBAoHqQMHCwgHBAoHMAcLCAcECgcrBwsIBwQKBxYHCwgHBAoHBgsIBwQKBwYLCAcECgcRCwgHBAoHFAsIBwQKBxwLCAcECgemAgcLCAcECgcmBwsIBwQKB4cBBwsIBwQKBykHCwgHBAoHBgsIBwQKBxwLCAcECgcuCwgHBAoHHQsIBwQKB7EBBwsIBwQKBzMHCwgHBAoHhQEHCwgHBAoHEQcLCAcECgcGCwgHBAoHEAsIBwQKByILCAcECgcTCwgHBAoHIwsIBwQKB6sBBwsIBwQKBzkHCwgHBAoHmAEHCwgHBAoHDgcLCAcECgcGCwgHBAoHIAsIBwQKBy4LCAcECgccCwgHBAoHuwEHCwgHBAoHKwcLCAcECgebAQcLCAcECgcXBwsIBwQKBwYLCAcECgc3CwgHBAoHLgsIBwQKBy8LCAcECgeZAQcLCAcECgckBwsIBwQKB6IBBwsIBwQKBycHCwgHBAoHtQEHCwgHBAoHJgcLCAcECgeoAQcLCAcECgchBwsIBwQKB68BBwsIBwQKByMHCwgHBAoHsgEHCwgHBAoHIgcLCAcECgewAQcLCAcECgcwBwsIBwQKDgdEAQsIBwQKBy4HCwgHBAoHLwcLCAcECgcYBwsIBwQKBwYLCAcECgcbCwgHBAoHFwsIBwQKBxYLCAcECgeyAQcLCAcECgcuBwsIBwQKBwEHJAULCAcECgc+BwsIBwQKBwEHJwULCAcECgcJBwsIBwQKBwYLCAcECgcSCwgHBAoHEQsIBwQKBxQLCAcECgcBByIFCwgHBAoHhQEHCwgHBAoHAQciBQsIBwQKBwkHCwgHBAoHBgsIBwQKBxoLCAcECgdLAAgHBAoHGQsIBwQKBy4HCwgHBAoHOgcLCAcECgcWBwsIBwQKBwEHIwULCAcECgcuBwsIBwQKBwEHKAULCAcECgc\/BwsIBwQKBwEHKQULCAcECgczBwsIBwQKBwEHNQULCAcECgeJAQcLCAcECgcbBwsIBwQKB4UCBwsIBwQKB4ACBwsIBwQKBwsHCwgHBAoHBgsIBwQKBw8LCAcECgcTCwgHBAoHFAsIBwQKBxsLCAcECgcXCwgHBAoHpQIHC0UAnSW\/CagJnAalC4oPFqwHoQiPBJQTqQ+yBAG+BpsLpQugFJMWrg6CFyGEEKkOig2JDqoKGBa2C68SnAOBDLkLvAq5DIQDhgafBrQGrwaqC6AEswuVC64LmAusC5kCrAKfAqYCqQKnAqYIjgohqgKWBrECvQWdA5oCqwKfApUCjhEFAgQID7YBigEFCAcECgcLCAcECgeLAQsIBwQKBwSLAQcLQQCPAYYDhwGJAaABnAK8AZMBjwGIAYsBxgEAhwGMAY0BmQFFAARFAAIECA+LAr4BmQG1AYoBRQO1AroBtwG5AbwBgwJFBSMEBQS6AbwBgQK\/AYACtgEIBwQKBwkEIwcLBSwHCgcBCCMLCARFBpECsQG\/AYUCugG+AYICgQKGAkUAuwG8AQW6AUUG\/AEBiAK+AYsCkQKDAkUJsAG\/Ab4BuQG7AboBvAH6AQGzAQgHBApHAAsTAQQAAAEAAAABCAAAAQIABwEAAMANQgEBAEEAAAJBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIArgFBArU6kheGCq8qhgKSBEHYAQJBC0IAQQECQZMLlgGLA44BkAGfAacBjwGZAZcBqAGbAZoBngGPAZcBlAGWAZkBrAGXAaUBlgGeAZwBnQGTAZECngGoAa4BlwGbAZ8BngGvAZgBmQGXAdkBAOUBAJsBqAGuAaABmQGcAZsBlgGYAZcBpQHjAQCPAZIBzQEAowGOAZMBlAGgAZABQQqUAglBDJUBQSKgAhRBLIEDQWYCIgB9AXcTMjAyNC0xMC0xOFQxMDo1OTo0MHcZY2ktY2QtcGlwZWxpbmVzLWV4cGxhaW5lZHcHcHVibGlzaH0Vfb3fAXcEb3BlbncEb3Blbnl3AHcIc3RhbmRhcmR3AHUBfQF1AHckNTA3MzNlMDctZWJlYS00MDE1LThjZGEtMmFkODk5YzZmMTA0eHeaRzxwPkluIHNvZnR3YXJlIGRldmVsb3BtZW50LCBzcGVlZCwgZWZmaWNpZW5jeSwgYW5kIHJlbGlhYmlsaXR5IGFyZSB2aXRhbC4gQ29tcGFuaWVzIG11c3Qgc3RheSBjb21wZXRpdGl2ZSBhbmQgZGVsaXZlciBoaWdoLXF1YWxpdHkgcHJvZHVjdHMuIFRoZSBuZWVkIGZvciBmYXN0IGRlbGl2ZXJ5IG9mIGZlYXR1cmVzIGFuZCBmaXhlcyBoYXMgZ3Jvd24uIFNvLCB3ZSBuZWVkIHRvIHN0cmVhbWxpbmUgc29mdHdhcmUgcmVsZWFzZXMgd2hpbGUgbWluaW1pemluZyByaXNrcy4gVGhpcyBpcyB3aGVyZSBDSS9DRCBwaXBlbGluZXPigJRzaG9ydCBmb3IgQ29udGludW91cyBJbnRlZ3JhdGlvbiBhbmQgQ29udGludW91cyBEZWxpdmVyeeKAlGJlY29tZSB2aXRhbC4gVGhlc2UgcGlwZWxpbmVzIGFyZSB0aGUgYmFja2JvbmUgb2YgbW9kZXJuIERldk9wcy4gVGhleSBhdXRvbWF0ZSB0aGUgcHJvY2VzcyBvZiBpbnRlZ3JhdGluZywgdGVzdGluZywgYW5kIGRlcGxveWluZyBjb2RlIGNoYW5nZXMuIFRoaXMgYnJpZGdlcyB0aGUgZ2FwIGJldHdlZW4gZGV2ZWxvcG1lbnQgYW5kIG9wZXJhdGlvbnMgdGVhbXMuPC9wPgo8cD5Db250aW51b3VzIEludGVncmF0aW9uIChDSSkgbWVhbnMgZGV2ZWxvcGVycyBmcmVxdWVudGx5IG1lcmdlIHRoZWlyIGNvZGUgaW50byBhIHNoYXJlZCByZXBvc2l0b3J5LiBFYWNoIGludGVncmF0aW9uIHRyaWdnZXJzIGFuIGF1dG9tYXRlZCBidWlsZCBhbmQgdGVzdCBzZXF1ZW5jZSB0byBkZXRlY3QgcG90ZW50aWFsIGlzc3VlcyBlYXJseSBpbiB0aGUgcHJvY2Vzcy4gVGhpcyBwcmFjdGljZSByZWR1Y2VzICJpbnRlZ3JhdGlvbiBoZWxsLiIgVGhlcmUsIGNoYW5nZXMgZnJvbSBtdWx0aXBsZSBkZXZlbG9wZXJzIGNvbGxpZGUgYW5kIGNvbmZsaWN0LiBCeSBhZGRyZXNzaW5nIGludGVncmF0aW9uIGlzc3VlcyByaWdodCBhd2F5LCBDSSBrZWVwcyB0aGUgY29kZWJhc2Ugc3RhYmxlLiBJdCBhbGxvd3MgYWRkaW5nIG5ldyBmZWF0dXJlcyBhbmQgZml4ZXMgd2l0aG91dCBkaXNydXB0aW5nIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkuPC9wPgo8cD5Db250aW51b3VzIERlcGxveW1lbnQvRGVsaXZlcnkgKENEKSBnb2VzIGZ1cnRoZXIuIEl0IGF1dG9tYXRlcyByZWxlYXNpbmcgY29kZSBjaGFuZ2VzIHRvIHRlc3Rpbmcgb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuIEluIENvbnRpbnVvdXMgRGVsaXZlcnksIHRoZSBjb2RlIGlzIGFsd2F5cyBkZXBsb3lhYmxlLiBBZnRlciBwYXNzaW5nIHRlc3RzLCB5b3UgY2FuIG1hbnVhbGx5IHRyaWdnZXIgZGVwbG95bWVudHMuIEluIENvbnRpbnVvdXMgRGVwbG95bWVudCwgdGhlIHByb2Nlc3MgaXMgZnVsbHkgYXV0b21hdGVkLiBDb2RlIGNoYW5nZXMgYXJlIHB1c2hlZCBkaXJlY3RseSB0byBwcm9kdWN0aW9uIGFzIHNvb24gYXMgdGhleSBwYXNzIHRlc3RpbmcuIFRoaXMgZW5hYmxlcyByYXBpZCBkZWxpdmVyeSB0byB1c2Vycy48L3A+CjxwPkNJL0NEIHBpcGVsaW5lcyB2YWxpZGF0ZSBldmVyeSBjaGFuZ2Ugd2l0aCBhdXRvbWF0ZWQgdGVzdHMuIFRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGJ1Z3MgcmVhY2hpbmcgcHJvZHVjdGlvbi4gSXQgc3BlZWRzIHVwIHRoZSByZWxlYXNlIGN5Y2xlIGFuZCBtYWtlcyBkZXBsb3ltZW50cyBtb3JlIHJlbGlhYmxlLiBUaGlzIGVuc3VyZXMgZW5kLXVzZXJzIGdldCBhIHN0YWJsZSwgaGlnaC1xdWFsaXR5IHByb2R1Y3QuIFNvLCBidXNpbmVzc2VzIGNhbiBpdGVyYXRlIGZhc3RlciBhbmQgcmVzcG9uZCB0byBmZWVkYmFjayBxdWlja2x5LiBUaGV5IGNhbiBzdGF5IGNvbXBldGl0aXZlIGluIGFuIGluZHVzdHJ5IHdoZXJlIGFnaWxpdHkgaXMga2V5IHRvIHN1Y2Nlc3MuPC9wPgo8aDI+V2h5IEFyZSBDSS9DRCBQaXBlbGluZXMgSW1wb3J0YW50PzwvaDI+CjxwPkFzIHNvZnR3YXJlIGRldmVsb3BtZW50IGV2b2x2ZXMsIHRoZSBkZW1hbmQgZm9yIGZhc3RlciByZWxlYXNlcyBhbmQgdXBkYXRlcyBoYXMgaW5jcmVhc2VkLiBDSS9DRCBwaXBlbGluZXMgbWVldCB0aGlzIG5lZWQuIFRoZXkgbGV0IGRldiB0ZWFtcyBpbnRlZ3JhdGUgY29kZSBpbnRvIGEgc2hhcmVkIHJlcG8uIFRoZXkgYXV0b21hdGljYWxseSB0ZXN0IHRoZSBjaGFuZ2VzIGFuZCBkZXBsb3kgdGhlbSB0byBwcm9kdWN0aW9uIHdpdGggbGl0dGxlIG1hbnVhbCB3b3JrLjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5JbmNyZWFzZWQgU3BlZWQ6PC9zdHJvbmc+IENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBtYW55IHJlcGV0aXRpdmUgdGFza3MgaW4gc29mdHdhcmUgcmVsZWFzZXMuIFRoZXkgdGVzdCBhbmQgZGVwbG95IGNvZGUuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSB0byByZWxlYXNlIG5ldyBmZWF0dXJlcyBvciBidWcgZml4ZXMuPC9saT4KPGxpPjxzdHJvbmc+RW5oYW5jZWQgQ29kZSBRdWFsaXR5Ojwvc3Ryb25nPiBDSS9DRCBhdXRvbWF0ZXMgdGVzdGluZyBpbiB0aGUgcGlwZWxpbmUuIFRoaXMgY2F0Y2hlcyBidWdzIGVhcmx5IGFuZCByZXN1bHRzIGluIG1vcmUgc3RhYmxlIHNvZnR3YXJlLjwvbGk+CjxsaT48c3Ryb25nPlJlZHVjZWQgSHVtYW4gRXJyb3I6PC9zdHJvbmc+IEF1dG9tYXRpb24gY3V0cyB0aGUgcmlzayBvZiBtaXN0YWtlcyBpbiBkZXBsb3lpbmcgY2hhbmdlcy4gSXQgbWFrZXMgcmVsZWFzZXMgbW9yZSBwcmVkaWN0YWJsZSBhbmQgbGVzcyBsaWtlbHkgdG8gZmFpbC48L2xpPgo8L3VsPgo8aDI+V2hhdCBpcyBhIENJL0NEIFBpcGVsaW5lPzwvaDI+CjxwPkEgQ0kvQ0QgcGlwZWxpbmUgaXMgYSBzZXJpZXMgb2YgYXV0b21hdGVkIHN0ZXBzIHRoYXQgdGFrZSBjb2RlIGNoYW5nZXMgZnJvbSB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdG8gcHJvZHVjdGlvbi4gSXQgc3RhcnRzIHdpdGggQ29udGludW91cyBJbnRlZ3JhdGlvbiAoQ0kpLiBDb2RlIGNoYW5nZXMgYXJlIGF1dG9tYXRpY2FsbHkgdGVzdGVkIGFuZCBpbnRlZ3JhdGVkIGludG8gdGhlIG1haW4gY29kZWJhc2UuIFRoaXMgaXMgZm9sbG93ZWQgYnkgQ29udGludW91cyBEZWxpdmVyeSAoQ0QpIG9yIENvbnRpbnVvdXMgRGVwbG95bWVudCAoQ0QpLiBJbiB0aGVzZSwgY2hhbmdlcyBhcmUgYXV0b21hdGljYWxseSBkZXBsb3llZCB0byBhIHN0YWdpbmcgZW52aXJvbm1lbnQgb3IgZGlyZWN0bHkgdG8gcHJvZHVjdGlvbi48L3A+CjxwPjxzdHJvbmc+VGhlIHBpcGVsaW5lIHR5cGljYWxseSBpbmNsdWRlcyBzZXZlcmFsIHN0YWdlczo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+U291cmNlIENvbnRyb2w6PC9zdHJvbmc+IERldmVsb3BlcnMgY29tbWl0IGNvZGUgY2hhbmdlcyB0byBhIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gbGlrZSBHaXQsIHdoaWNoIHRyaWdnZXJzIHRoZSBwaXBlbGluZS48L2xpPgo8bGk+PHN0cm9uZz5CdWlsZCBTdGFnZTo8L3N0cm9uZz4gVGhlIHBpcGVsaW5lIGNvbXBpbGVzIHRoZSBjb2RlIGFuZCBidWlsZHMgZXhlY3V0YWJsZSBhcnRpZmFjdHMuPC9saT4KPGxpPjxzdHJvbmc+VGVzdGluZzo8L3N0cm9uZz4gQXV0b21hdGVkIHRlc3RzLCBzdWNoIGFzIHVuaXQgdGVzdHMsIGludGVncmF0aW9uIHRlc3RzLCBhbmQgZW5kLXRvLWVuZCB0ZXN0cywgYXJlIHJ1biB0byB2ZXJpZnkgdGhlIGludGVncml0eSBvZiB0aGUgbmV3IGNvZGUuPC9saT4KPGxpPjxzdHJvbmc+RGVwbG95bWVudDo8L3N0cm9uZz4gVGhlIGZpbmFsIHN0ZXAgaXMgdG8gZGVwbG95IHRoZSB0ZXN0ZWQgY29kZSB0byBhIHN0YWdpbmcgZW52aXJvbm1lbnQgb3IgZGlyZWN0bHkgdG8gcHJvZHVjdGlvbi48L2xpPgo8L3VsPgo8aDI+RmFjdG9ycyB0byBDb25zaWRlciBXaGVuIEltcGxlbWVudGluZyBDSS9DRCBQaXBlbGluZXM8L2gyPgo8cD5JbXBsZW1lbnRpbmcgQ0kvQ0QgcGlwZWxpbmVzIHJlcXVpcmVzIGNhcmVmdWwgcGxhbm5pbmcgdG8gZW5zdXJlIHRoYXQgdGhleSBhbGlnbiB3aXRoIHlvdXIgdGVhbeKAmXMgbmVlZHMgYW5kIHdvcmtmbG93czo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+VG9vbCBTZWxlY3Rpb246PC9zdHJvbmc+IENob29zZSB0b29scyB0aGF0IGludGVncmF0ZSB3ZWxsIHdpdGggeW91ciBleGlzdGluZyBzdGFjaywgc3VjaCBhcyBKZW5raW5zLCBHaXRMYWIgQ0ksIG9yIEdpdEh1YiBBY3Rpb25zLjwvbGk+CjxsaT48c3Ryb25nPlNjYWxhYmlsaXR5Ojwvc3Ryb25nPiBDb25zaWRlciB3aGV0aGVyIHRoZSBwaXBlbGluZSBjYW4gc2NhbGUgYXMgeW91ciB0ZWFtIGdyb3dzIGFuZCBhcyB5b3VyIHByb2plY3QgY29tcGxleGl0eSBpbmNyZWFzZXMuPC9saT4KPGxpPjxzdHJvbmc+U2VjdXJpdHk6PC9zdHJvbmc+IFNlY3VyZSB5b3VyIENJL0NEIHBpcGVsaW5lcyB0byBwcmV2ZW50IHZ1bG5lcmFiaWxpdGllcyB3aGVuIGRlcGxveWluZyB0byBwcm9kdWN0aW9uLjwvbGk+CjwvdWw+CjxoMj5CZW5lZml0cyBvZiBBZG9wdGluZyBDSS9DRCBQaXBlbGluZXM8L2gyPgo8cD5JbXBsZW1lbnRpbmcgQ0kvQ0QgcGlwZWxpbmVzIGNhbiB0cmFuc2Zvcm0gaG93IGRldmVsb3BtZW50IHRlYW1zIGJ1aWxkLCB0ZXN0LCBhbmQgcmVsZWFzZSBzb2Z0d2FyZS4gSGVyZeKAmXMgYSBjbG9zZXIgbG9vayBhdCBzb21lIG9mIHRoZSBrZXkgYmVuZWZpdHMgdGhhdCBtYWtlIENJL0NEIHBpcGVsaW5lcyBhIGdhbWUtY2hhbmdlciBpbiB0aGUgd29ybGQgb2Ygc29mdHdhcmUgZGV2ZWxvcG1lbnQ6PC9wPgo8cD48c3Ryb25nPjEuIEFjY2VsZXJhdGVkIFJlbGVhc2UgQ3ljbGVzPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48c3Ryb25nPldoYXQgSXQgTWVhbnM6PC9zdHJvbmc+IENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBpbnRlZ3JhdGlvbiwgdGVzdGluZywgYW5kIGRlcGxveW1lbnQuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSBiZXR3ZWVuIHdyaXRpbmcgY29kZSBhbmQgZGVwbG95aW5nIGl0LjwvbGk+CjxsaT48c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IFRoaXMgYXV0b21hdGlvbiBsZXRzIHRlYW1zIHJlbGVhc2UgdXBkYXRlcyBmYXN0ZXIuIE5ldyBmZWF0dXJlcywgYnVnIGZpeGVzLCBhbmQgZW5oYW5jZW1lbnRzIHdpbGwgcmVhY2ggdXNlcnMgcXVpY2tseS4gSXQgYWxzbyBhbGxvd3MgYSBtb3JlIGl0ZXJhdGl2ZSBwcm9jZXNzLiBUZWFtcyBjYW4gZm9jdXMgb24gY29udGludW91cyBpbXByb3ZlbWVudC48L2xpPgo8bGk+QSBTYWFTIGNvbXBhbnkgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMgdG8gcHVzaCB1cGRhdGVzIGRhaWx5IG9yIHdlZWtseS4gVGhpcyBrZWVwcyB0aGVpciBzb2Z0d2FyZSB1cC10by1kYXRlIGFuZCBjb21wZXRpdGl2ZS48L2xpPgo8L3VsPgo8cD48c3Ryb25nPjIuIEVuaGFuY2VkIENvZGUgUXVhbGl0eSBhbmQgU3RhYmlsaXR5PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48c3Ryb25nPldoYXQgSXQgTWVhbnM6PC9zdHJvbmc+IFdpdGggYXV0b21hdGVkIHRlc3RpbmcgaW4gdGhlIENJL0NEIHByb2Nlc3MsIGV2ZXJ5IGNvZGUgY2hhbmdlIGlzIHRlc3RlZCBiZWZvcmUgaXQgaXMgbWVyZ2VkIG9yIGRlcGxveWVkLjwvbGk+CjxsaT48c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IFRoaXMgZW5zdXJlcyB0aGF0IGJ1Z3MgYW5kIGlzc3VlcyBhcmUgZGV0ZWN0ZWQgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MsIGxlYWRpbmcgdG8gbW9yZSBzdGFibGUgc29mdHdhcmUuIEF1dG9tYXRlZCB0ZXN0cyBzdWNoIGFzIHVuaXQgdGVzdHMsIGludGVncmF0aW9uIHRlc3RzLCBhbmQgZXZlbiBVSSB0ZXN0cyBoZWxwIG1haW50YWluIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIGNvZGViYXNlLjwvbGk+CjxsaT5BbiBlLWNvbW1lcmNlIHNpdGUgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMuIFRoZXkgY2FuIHRlc3QgY2hlY2tvdXQgYW5kIHBheW1lbnQgaW50ZWdyYXRpb25zIHdpdGggZWFjaCBjb2RlIGNoYW5nZS4gVGhpcyByZWR1Y2VzIHRoZSBjaGFuY2Ugb2YgY3JpdGljYWwgaXNzdWVzIHJlYWNoaW5nIHByb2R1Y3Rpb24uPC9saT4KPC91bD4KPHA+PHN0cm9uZz4zLiBJbXByb3ZlZCBDb2xsYWJvcmF0aW9uIEJldHdlZW4gVGVhbXM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQ0kvQ0QgcHJvbW90ZXMgdGVhbXdvcmsgaW4gc29mdHdhcmUgZGV2ZWxvcG1lbnQuIEl0IG1ha2VzIGl0IGVhc2llciBmb3IgZGV2ZWxvcGVycywgdGVzdGVycywgYW5kIG9wZXJhdGlvbnMgdGVhbXMgdG8gY29sbGFib3JhdGUuPC9saT4KPGxpPjxzdHJvbmc+QmVuZWZpdDo8L3N0cm9uZz4gSXQgbWFrZXMgdGhlIGRldmVsb3BtZW50IHByb2Nlc3MgdHJhbnNwYXJlbnQuIEFsbCBjaGFuZ2VzLCB0ZXN0cywgYW5kIGRlcGxveW1lbnRzIGFyZSBsb2dnZWQgYW5kIHZpc2libGUuIFRoaXMgdmlzaWJpbGl0eSBoZWxwcyB0ZWFtcyBjb21tdW5pY2F0ZSBiZXR0ZXIgYW5kIHJlc29sdmUgaXNzdWVzIGZhc3Rlci48L2xpPgo8bGk+SW4gYSBEZXZPcHMgY3VsdHVyZSwgQ0kvQ0QgcGlwZWxpbmVzIGVuc3VyZSB0aGF0IGNvZGUgZnJvbSBtdWx0aXBsZSBkZXZlbG9wZXJzIGlzIGFsd2F5cyBpbnRlZ3JhdGVkLCB0ZXN0ZWQsIGFuZCBkZXBsb3llZC4gVGhpcyBmb3N0ZXJzIGEgc21vb3RoZXIgd29ya2Zsb3cgYWNyb3NzIHRoZSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUuPC9saT4KPC91bD4KPHA+PHN0cm9uZz40LiBSZWR1Y2VkIE1hbnVhbCBFcnJvcnM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQnkgYXV0b21hdGluZyByZXBldGl0aXZlIHRhc2tzIHN1Y2ggYXMgdGVzdGluZyBhbmQgZGVwbG95bWVudCwgQ0kvQ0QgcGlwZWxpbmVzIHJlZHVjZSB0aGUgcmlzayBvZiBodW1hbiBlcnJvci48L2xpPgo8bGk+PHN0cm9uZz5CZW5lZml0Ojwvc3Ryb25nPiBUaGlzIGxlYWRzIHRvIG1vcmUgcmVsaWFibGUgZGVwbG95bWVudHMuIEl0IHJlZHVjZXMgbWlzdGFrZXMgZnJvbSBtYW51YWwgcHJvY2Vzc2VzLCBsaWtlIGluY29ycmVjdCBjb25maWd1cmF0aW9ucyBvciBtaXNzZWQgc3RlcHMuPC9saT4KPGxpPkEgZmluYW5jaWFsIHNlcnZpY2VzIGZpcm0gbWlnaHQgdXNlIENJL0NEIGF1dG9tYXRpb24uIEl0IGVuc3VyZXMgdGhhdCBzZW5zaXRpdmUgY29kZSBjaGFuZ2VzIGFyZSB0ZXN0ZWQgYW5kIGRlcGxveWVkIHRvIHN0cmljdCBjb21wbGlhbmNlIHN0YW5kYXJkcy4gVGhpcyBtaW5pbWl6ZXMgdGhlIHJpc2sgb2YgY29zdGx5IG1pc3Rha2VzLjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+NS4gU2NhbGFiaWxpdHkgZm9yIEdyb3dpbmcgUHJvamVjdHM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQXMgc29mdHdhcmUgcHJvamVjdHMgZ3JvdywgbWFuYWdpbmcgY29kZSBjaGFuZ2VzIGFuZCByZWxlYXNlcyBiZWNvbWVzIG1vcmUgY29tcGxleC4gQ0kvQ0QgcGlwZWxpbmVzIGNhbiBzY2FsZSB0byBoYW5kbGUgbGFyZ2VyIHByb2plY3RzIGJ5IGF1dG9tYXRpbmcgdGhlIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQgb2YgdGhvdXNhbmRzIG9mIGNvZGUgY2hhbmdlcy48L2xpPgo8bGk+PHN0cm9uZz5CZW5lZml0Ojwvc3Ryb25nPiBJdCBlbmFibGVzIHRlYW1zIHRvIG1haW50YWluIHNwZWVkIGFuZCBxdWFsaXR5IGV2ZW4gYXMgdGhlIG51bWJlciBvZiBkZXZlbG9wZXJzIGFuZCB0aGUgY29tcGxleGl0eSBvZiB0aGUgY29kZWJhc2UgaW5jcmVhc2UuIFRoaXMgbWFrZXMgQ0kvQ0QgaWRlYWwgZm9yIGJvdGggc21hbGwgc3RhcnR1cHMgYW5kIGxhcmdlIGVudGVycHJpc2VzLjwvbGk+CjxsaT5BIGdsb2JhbCB0ZWNoIGNvbXBhbnkgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMgdG8gbWFuYWdlIGh1bmRyZWRzIG9mIG1pY3Jvc2VydmljZXMgYWNyb3NzIHJlZ2lvbnMuIFRoaXMgZW5zdXJlcyB1cGRhdGVzIGFyZSBkZXBsb3llZCBzbW9vdGhseSwgd2l0aG91dCBhZmZlY3RpbmcgdXNlcnMuPC9saT4KPC91bD4KPGgyPkVtYnJhY2luZyBDSS9DRCBQaXBlbGluZXMgZm9yIE1vZGVybiBEZXZlbG9wbWVudDwvaDI+CjxwPkFkb3B0aW5nIENJL0NEIHBpcGVsaW5lcyBpcyBtb3JlIHRoYW4gYSB0ZWNobmljYWwgdXBncmFkZS4gSXQncyBhIHN0cmF0ZWdpYyBzaGlmdCB0aGF0IGNhbiB0cmFuc2Zvcm0gaG93IHNvZnR3YXJlIHRlYW1zIG9wZXJhdGUuIENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBpbnRlZ3JhdGlvbiwgdGVzdGluZywgYW5kIGRlcGxveW1lbnQuIFRoaXMgZW5hYmxlcyBmYXN0ZXIgcmVsZWFzZXMsIGJldHRlciBzb2Z0d2FyZSwgYW5kIGEgbW9yZSBjb2xsYWJvcmF0aXZlIGVudmlyb25tZW50LiBUZWFtcyBjYW4gZm9jdXMgb24gaW5ub3ZhdGlvbiBpbnN0ZWFkIG9mIG1hbnVhbCBwcm9jZXNzZXMuIFRoaXMgYXBwcm9hY2ggc3VpdHMgbW9kZXJuIGRldmVsb3BtZW50LiBUaW1lLXRvLW1hcmtldCwgdXNlciBzYXRpc2ZhY3Rpb24sIGFuZCBpbXByb3ZlbWVudCBhcmUgdml0YWwuPC9wPgo8cD5Ib3dldmVyLCB0aGUgam91cm5leSB0byBpbXBsZW1lbnRpbmcgZWZmZWN0aXZlIENJL0NEIHBpcGVsaW5lcyByZXF1aXJlcyB0aG91Z2h0ZnVsIHBsYW5uaW5nLiBUZWFtcyBtdXN0IGNob29zZSB0aGUgcmlnaHQgdG9vbHMgYW5kIGludGVncmF0ZSB0aGVtIHdpdGggdGhlaXIgc3RhY2suIFRoZXkgc2hvdWxkIGFsc28gZm9zdGVyIGEgY3VsdHVyZSB0aGF0IGVtYnJhY2VzIGF1dG9tYXRpb24gYW5kIGZlZWRiYWNrLiBJbnZlc3RpbmcgdGltZSBpbiB0aGVzZSBwaXBlbGluZXMgcGF5cyBvZmYuIFRoZXkgcmVkdWNlIGRlcGxveW1lbnQgcmlza3MsIGltcHJvdmUgY29kZSBxdWFsaXR5LCBhbmQgcHJvdmlkZSBhIHNjYWxhYmxlIGZvdW5kYXRpb24gYXMgcHJvamVjdHMgZ3Jvdy48L3A+CjxwPkluIGEgZmFzdC1wYWNlZCB3b3JsZCwgQ0kvQ0QgcGlwZWxpbmVzIGFyZSB2aXRhbC4gVGhleSBoZWxwIGZpcm1zIHN0YXkgY29tcGV0aXRpdmUsIGRlbGl2ZXIgcXVhbGl0eSBzb2Z0d2FyZSwgYW5kIGFkYXB0IHRvIHVzZXJzLiBXaGV0aGVyIHlvdSBhcmUgYSBzbWFsbCBzdGFydHVwIG9yIGEgbGFyZ2UgZW50ZXJwcmlzZSwgQ0kvQ0QgaXMga2V5IHRvIHlvdXIgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4gSXQgaXMgYW4gZXNzZW50aWFsIHN0cmF0ZWd5IGluIHRvZGF5J3Mgc29mdHdhcmUgaW5kdXN0cnkuPC9wPncNY29yZS9mcmVlZm9ybXeaRzxwPkluIHNvZnR3YXJlIGRldmVsb3BtZW50LCBzcGVlZCwgZWZmaWNpZW5jeSwgYW5kIHJlbGlhYmlsaXR5IGFyZSB2aXRhbC4gQ29tcGFuaWVzIG11c3Qgc3RheSBjb21wZXRpdGl2ZSBhbmQgZGVsaXZlciBoaWdoLXF1YWxpdHkgcHJvZHVjdHMuIFRoZSBuZWVkIGZvciBmYXN0IGRlbGl2ZXJ5IG9mIGZlYXR1cmVzIGFuZCBmaXhlcyBoYXMgZ3Jvd24uIFNvLCB3ZSBuZWVkIHRvIHN0cmVhbWxpbmUgc29mdHdhcmUgcmVsZWFzZXMgd2hpbGUgbWluaW1pemluZyByaXNrcy4gVGhpcyBpcyB3aGVyZSBDSS9DRCBwaXBlbGluZXPigJRzaG9ydCBmb3IgQ29udGludW91cyBJbnRlZ3JhdGlvbiBhbmQgQ29udGludW91cyBEZWxpdmVyeeKAlGJlY29tZSB2aXRhbC4gVGhlc2UgcGlwZWxpbmVzIGFyZSB0aGUgYmFja2JvbmUgb2YgbW9kZXJuIERldk9wcy4gVGhleSBhdXRvbWF0ZSB0aGUgcHJvY2VzcyBvZiBpbnRlZ3JhdGluZywgdGVzdGluZywgYW5kIGRlcGxveWluZyBjb2RlIGNoYW5nZXMuIFRoaXMgYnJpZGdlcyB0aGUgZ2FwIGJldHdlZW4gZGV2ZWxvcG1lbnQgYW5kIG9wZXJhdGlvbnMgdGVhbXMuPC9wPgo8cD5Db250aW51b3VzIEludGVncmF0aW9uIChDSSkgbWVhbnMgZGV2ZWxvcGVycyBmcmVxdWVudGx5IG1lcmdlIHRoZWlyIGNvZGUgaW50byBhIHNoYXJlZCByZXBvc2l0b3J5LiBFYWNoIGludGVncmF0aW9uIHRyaWdnZXJzIGFuIGF1dG9tYXRlZCBidWlsZCBhbmQgdGVzdCBzZXF1ZW5jZSB0byBkZXRlY3QgcG90ZW50aWFsIGlzc3VlcyBlYXJseSBpbiB0aGUgcHJvY2Vzcy4gVGhpcyBwcmFjdGljZSByZWR1Y2VzICJpbnRlZ3JhdGlvbiBoZWxsLiIgVGhlcmUsIGNoYW5nZXMgZnJvbSBtdWx0aXBsZSBkZXZlbG9wZXJzIGNvbGxpZGUgYW5kIGNvbmZsaWN0LiBCeSBhZGRyZXNzaW5nIGludGVncmF0aW9uIGlzc3VlcyByaWdodCBhd2F5LCBDSSBrZWVwcyB0aGUgY29kZWJhc2Ugc3RhYmxlLiBJdCBhbGxvd3MgYWRkaW5nIG5ldyBmZWF0dXJlcyBhbmQgZml4ZXMgd2l0aG91dCBkaXNydXB0aW5nIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkuPC9wPgo8cD5Db250aW51b3VzIERlcGxveW1lbnQvRGVsaXZlcnkgKENEKSBnb2VzIGZ1cnRoZXIuIEl0IGF1dG9tYXRlcyByZWxlYXNpbmcgY29kZSBjaGFuZ2VzIHRvIHRlc3Rpbmcgb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuIEluIENvbnRpbnVvdXMgRGVsaXZlcnksIHRoZSBjb2RlIGlzIGFsd2F5cyBkZXBsb3lhYmxlLiBBZnRlciBwYXNzaW5nIHRlc3RzLCB5b3UgY2FuIG1hbnVhbGx5IHRyaWdnZXIgZGVwbG95bWVudHMuIEluIENvbnRpbnVvdXMgRGVwbG95bWVudCwgdGhlIHByb2Nlc3MgaXMgZnVsbHkgYXV0b21hdGVkLiBDb2RlIGNoYW5nZXMgYXJlIHB1c2hlZCBkaXJlY3RseSB0byBwcm9kdWN0aW9uIGFzIHNvb24gYXMgdGhleSBwYXNzIHRlc3RpbmcuIFRoaXMgZW5hYmxlcyByYXBpZCBkZWxpdmVyeSB0byB1c2Vycy48L3A+CjxwPkNJL0NEIHBpcGVsaW5lcyB2YWxpZGF0ZSBldmVyeSBjaGFuZ2Ugd2l0aCBhdXRvbWF0ZWQgdGVzdHMuIFRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGJ1Z3MgcmVhY2hpbmcgcHJvZHVjdGlvbi4gSXQgc3BlZWRzIHVwIHRoZSByZWxlYXNlIGN5Y2xlIGFuZCBtYWtlcyBkZXBsb3ltZW50cyBtb3JlIHJlbGlhYmxlLiBUaGlzIGVuc3VyZXMgZW5kLXVzZXJzIGdldCBhIHN0YWJsZSwgaGlnaC1xdWFsaXR5IHByb2R1Y3QuIFNvLCBidXNpbmVzc2VzIGNhbiBpdGVyYXRlIGZhc3RlciBhbmQgcmVzcG9uZCB0byBmZWVkYmFjayBxdWlja2x5LiBUaGV5IGNhbiBzdGF5IGNvbXBldGl0aXZlIGluIGFuIGluZHVzdHJ5IHdoZXJlIGFnaWxpdHkgaXMga2V5IHRvIHN1Y2Nlc3MuPC9wPgo8aDI+V2h5IEFyZSBDSS9DRCBQaXBlbGluZXMgSW1wb3J0YW50PzwvaDI+CjxwPkFzIHNvZnR3YXJlIGRldmVsb3BtZW50IGV2b2x2ZXMsIHRoZSBkZW1hbmQgZm9yIGZhc3RlciByZWxlYXNlcyBhbmQgdXBkYXRlcyBoYXMgaW5jcmVhc2VkLiBDSS9DRCBwaXBlbGluZXMgbWVldCB0aGlzIG5lZWQuIFRoZXkgbGV0IGRldiB0ZWFtcyBpbnRlZ3JhdGUgY29kZSBpbnRvIGEgc2hhcmVkIHJlcG8uIFRoZXkgYXV0b21hdGljYWxseSB0ZXN0IHRoZSBjaGFuZ2VzIGFuZCBkZXBsb3kgdGhlbSB0byBwcm9kdWN0aW9uIHdpdGggbGl0dGxlIG1hbnVhbCB3b3JrLjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5JbmNyZWFzZWQgU3BlZWQ6PC9zdHJvbmc+IENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBtYW55IHJlcGV0aXRpdmUgdGFza3MgaW4gc29mdHdhcmUgcmVsZWFzZXMuIFRoZXkgdGVzdCBhbmQgZGVwbG95IGNvZGUuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSB0byByZWxlYXNlIG5ldyBmZWF0dXJlcyBvciBidWcgZml4ZXMuPC9saT4KPGxpPjxzdHJvbmc+RW5oYW5jZWQgQ29kZSBRdWFsaXR5Ojwvc3Ryb25nPiBDSS9DRCBhdXRvbWF0ZXMgdGVzdGluZyBpbiB0aGUgcGlwZWxpbmUuIFRoaXMgY2F0Y2hlcyBidWdzIGVhcmx5IGFuZCByZXN1bHRzIGluIG1vcmUgc3RhYmxlIHNvZnR3YXJlLjwvbGk+CjxsaT48c3Ryb25nPlJlZHVjZWQgSHVtYW4gRXJyb3I6PC9zdHJvbmc+IEF1dG9tYXRpb24gY3V0cyB0aGUgcmlzayBvZiBtaXN0YWtlcyBpbiBkZXBsb3lpbmcgY2hhbmdlcy4gSXQgbWFrZXMgcmVsZWFzZXMgbW9yZSBwcmVkaWN0YWJsZSBhbmQgbGVzcyBsaWtlbHkgdG8gZmFpbC48L2xpPgo8L3VsPgo8aDI+V2hhdCBpcyBhIENJL0NEIFBpcGVsaW5lPzwvaDI+CjxwPkEgQ0kvQ0QgcGlwZWxpbmUgaXMgYSBzZXJpZXMgb2YgYXV0b21hdGVkIHN0ZXBzIHRoYXQgdGFrZSBjb2RlIGNoYW5nZXMgZnJvbSB0aGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdG8gcHJvZHVjdGlvbi4gSXQgc3RhcnRzIHdpdGggQ29udGludW91cyBJbnRlZ3JhdGlvbiAoQ0kpLiBDb2RlIGNoYW5nZXMgYXJlIGF1dG9tYXRpY2FsbHkgdGVzdGVkIGFuZCBpbnRlZ3JhdGVkIGludG8gdGhlIG1haW4gY29kZWJhc2UuIFRoaXMgaXMgZm9sbG93ZWQgYnkgQ29udGludW91cyBEZWxpdmVyeSAoQ0QpIG9yIENvbnRpbnVvdXMgRGVwbG95bWVudCAoQ0QpLiBJbiB0aGVzZSwgY2hhbmdlcyBhcmUgYXV0b21hdGljYWxseSBkZXBsb3llZCB0byBhIHN0YWdpbmcgZW52aXJvbm1lbnQgb3IgZGlyZWN0bHkgdG8gcHJvZHVjdGlvbi48L3A+CjxwPjxzdHJvbmc+VGhlIHBpcGVsaW5lIHR5cGljYWxseSBpbmNsdWRlcyBzZXZlcmFsIHN0YWdlczo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+U291cmNlIENvbnRyb2w6PC9zdHJvbmc+IERldmVsb3BlcnMgY29tbWl0IGNvZGUgY2hhbmdlcyB0byBhIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gbGlrZSBHaXQsIHdoaWNoIHRyaWdnZXJzIHRoZSBwaXBlbGluZS48L2xpPgo8bGk+PHN0cm9uZz5CdWlsZCBTdGFnZTo8L3N0cm9uZz4gVGhlIHBpcGVsaW5lIGNvbXBpbGVzIHRoZSBjb2RlIGFuZCBidWlsZHMgZXhlY3V0YWJsZSBhcnRpZmFjdHMuPC9saT4KPGxpPjxzdHJvbmc+VGVzdGluZzo8L3N0cm9uZz4gQXV0b21hdGVkIHRlc3RzLCBzdWNoIGFzIHVuaXQgdGVzdHMsIGludGVncmF0aW9uIHRlc3RzLCBhbmQgZW5kLXRvLWVuZCB0ZXN0cywgYXJlIHJ1biB0byB2ZXJpZnkgdGhlIGludGVncml0eSBvZiB0aGUgbmV3IGNvZGUuPC9saT4KPGxpPjxzdHJvbmc+RGVwbG95bWVudDo8L3N0cm9uZz4gVGhlIGZpbmFsIHN0ZXAgaXMgdG8gZGVwbG95IHRoZSB0ZXN0ZWQgY29kZSB0byBhIHN0YWdpbmcgZW52aXJvbm1lbnQgb3IgZGlyZWN0bHkgdG8gcHJvZHVjdGlvbi48L2xpPgo8L3VsPgo8aDI+RmFjdG9ycyB0byBDb25zaWRlciBXaGVuIEltcGxlbWVudGluZyBDSS9DRCBQaXBlbGluZXM8L2gyPgo8cD5JbXBsZW1lbnRpbmcgQ0kvQ0QgcGlwZWxpbmVzIHJlcXVpcmVzIGNhcmVmdWwgcGxhbm5pbmcgdG8gZW5zdXJlIHRoYXQgdGhleSBhbGlnbiB3aXRoIHlvdXIgdGVhbeKAmXMgbmVlZHMgYW5kIHdvcmtmbG93czo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+VG9vbCBTZWxlY3Rpb246PC9zdHJvbmc+IENob29zZSB0b29scyB0aGF0IGludGVncmF0ZSB3ZWxsIHdpdGggeW91ciBleGlzdGluZyBzdGFjaywgc3VjaCBhcyBKZW5raW5zLCBHaXRMYWIgQ0ksIG9yIEdpdEh1YiBBY3Rpb25zLjwvbGk+CjxsaT48c3Ryb25nPlNjYWxhYmlsaXR5Ojwvc3Ryb25nPiBDb25zaWRlciB3aGV0aGVyIHRoZSBwaXBlbGluZSBjYW4gc2NhbGUgYXMgeW91ciB0ZWFtIGdyb3dzIGFuZCBhcyB5b3VyIHByb2plY3QgY29tcGxleGl0eSBpbmNyZWFzZXMuPC9saT4KPGxpPjxzdHJvbmc+U2VjdXJpdHk6PC9zdHJvbmc+IFNlY3VyZSB5b3VyIENJL0NEIHBpcGVsaW5lcyB0byBwcmV2ZW50IHZ1bG5lcmFiaWxpdGllcyB3aGVuIGRlcGxveWluZyB0byBwcm9kdWN0aW9uLjwvbGk+CjwvdWw+CjxoMj5CZW5lZml0cyBvZiBBZG9wdGluZyBDSS9DRCBQaXBlbGluZXM8L2gyPgo8cD5JbXBsZW1lbnRpbmcgQ0kvQ0QgcGlwZWxpbmVzIGNhbiB0cmFuc2Zvcm0gaG93IGRldmVsb3BtZW50IHRlYW1zIGJ1aWxkLCB0ZXN0LCBhbmQgcmVsZWFzZSBzb2Z0d2FyZS4gSGVyZeKAmXMgYSBjbG9zZXIgbG9vayBhdCBzb21lIG9mIHRoZSBrZXkgYmVuZWZpdHMgdGhhdCBtYWtlIENJL0NEIHBpcGVsaW5lcyBhIGdhbWUtY2hhbmdlciBpbiB0aGUgd29ybGQgb2Ygc29mdHdhcmUgZGV2ZWxvcG1lbnQ6PC9wPgo8cD48c3Ryb25nPjEuIEFjY2VsZXJhdGVkIFJlbGVhc2UgQ3ljbGVzPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48c3Ryb25nPldoYXQgSXQgTWVhbnM6PC9zdHJvbmc+IENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBpbnRlZ3JhdGlvbiwgdGVzdGluZywgYW5kIGRlcGxveW1lbnQuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSBiZXR3ZWVuIHdyaXRpbmcgY29kZSBhbmQgZGVwbG95aW5nIGl0LjwvbGk+CjxsaT48c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IFRoaXMgYXV0b21hdGlvbiBsZXRzIHRlYW1zIHJlbGVhc2UgdXBkYXRlcyBmYXN0ZXIuIE5ldyBmZWF0dXJlcywgYnVnIGZpeGVzLCBhbmQgZW5oYW5jZW1lbnRzIHdpbGwgcmVhY2ggdXNlcnMgcXVpY2tseS4gSXQgYWxzbyBhbGxvd3MgYSBtb3JlIGl0ZXJhdGl2ZSBwcm9jZXNzLiBUZWFtcyBjYW4gZm9jdXMgb24gY29udGludW91cyBpbXByb3ZlbWVudC48L2xpPgo8bGk+QSBTYWFTIGNvbXBhbnkgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMgdG8gcHVzaCB1cGRhdGVzIGRhaWx5IG9yIHdlZWtseS4gVGhpcyBrZWVwcyB0aGVpciBzb2Z0d2FyZSB1cC10by1kYXRlIGFuZCBjb21wZXRpdGl2ZS48L2xpPgo8L3VsPgo8cD48c3Ryb25nPjIuIEVuaGFuY2VkIENvZGUgUXVhbGl0eSBhbmQgU3RhYmlsaXR5PC9zdHJvbmc+PC9wPgo8dWw+CjxsaT48c3Ryb25nPldoYXQgSXQgTWVhbnM6PC9zdHJvbmc+IFdpdGggYXV0b21hdGVkIHRlc3RpbmcgaW4gdGhlIENJL0NEIHByb2Nlc3MsIGV2ZXJ5IGNvZGUgY2hhbmdlIGlzIHRlc3RlZCBiZWZvcmUgaXQgaXMgbWVyZ2VkIG9yIGRlcGxveWVkLjwvbGk+CjxsaT48c3Ryb25nPkJlbmVmaXQ6PC9zdHJvbmc+IFRoaXMgZW5zdXJlcyB0aGF0IGJ1Z3MgYW5kIGlzc3VlcyBhcmUgZGV0ZWN0ZWQgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MsIGxlYWRpbmcgdG8gbW9yZSBzdGFibGUgc29mdHdhcmUuIEF1dG9tYXRlZCB0ZXN0cyBzdWNoIGFzIHVuaXQgdGVzdHMsIGludGVncmF0aW9uIHRlc3RzLCBhbmQgZXZlbiBVSSB0ZXN0cyBoZWxwIG1haW50YWluIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIGNvZGViYXNlLjwvbGk+CjxsaT5BbiBlLWNvbW1lcmNlIHNpdGUgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMuIFRoZXkgY2FuIHRlc3QgY2hlY2tvdXQgYW5kIHBheW1lbnQgaW50ZWdyYXRpb25zIHdpdGggZWFjaCBjb2RlIGNoYW5nZS4gVGhpcyByZWR1Y2VzIHRoZSBjaGFuY2Ugb2YgY3JpdGljYWwgaXNzdWVzIHJlYWNoaW5nIHByb2R1Y3Rpb24uPC9saT4KPC91bD4KPHA+PHN0cm9uZz4zLiBJbXByb3ZlZCBDb2xsYWJvcmF0aW9uIEJldHdlZW4gVGVhbXM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQ0kvQ0QgcHJvbW90ZXMgdGVhbXdvcmsgaW4gc29mdHdhcmUgZGV2ZWxvcG1lbnQuIEl0IG1ha2VzIGl0IGVhc2llciBmb3IgZGV2ZWxvcGVycywgdGVzdGVycywgYW5kIG9wZXJhdGlvbnMgdGVhbXMgdG8gY29sbGFib3JhdGUuPC9saT4KPGxpPjxzdHJvbmc+QmVuZWZpdDo8L3N0cm9uZz4gSXQgbWFrZXMgdGhlIGRldmVsb3BtZW50IHByb2Nlc3MgdHJhbnNwYXJlbnQuIEFsbCBjaGFuZ2VzLCB0ZXN0cywgYW5kIGRlcGxveW1lbnRzIGFyZSBsb2dnZWQgYW5kIHZpc2libGUuIFRoaXMgdmlzaWJpbGl0eSBoZWxwcyB0ZWFtcyBjb21tdW5pY2F0ZSBiZXR0ZXIgYW5kIHJlc29sdmUgaXNzdWVzIGZhc3Rlci48L2xpPgo8bGk+SW4gYSBEZXZPcHMgY3VsdHVyZSwgQ0kvQ0QgcGlwZWxpbmVzIGVuc3VyZSB0aGF0IGNvZGUgZnJvbSBtdWx0aXBsZSBkZXZlbG9wZXJzIGlzIGFsd2F5cyBpbnRlZ3JhdGVkLCB0ZXN0ZWQsIGFuZCBkZXBsb3llZC4gVGhpcyBmb3N0ZXJzIGEgc21vb3RoZXIgd29ya2Zsb3cgYWNyb3NzIHRoZSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBsaWZlY3ljbGUuPC9saT4KPC91bD4KPHA+PHN0cm9uZz40LiBSZWR1Y2VkIE1hbnVhbCBFcnJvcnM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQnkgYXV0b21hdGluZyByZXBldGl0aXZlIHRhc2tzIHN1Y2ggYXMgdGVzdGluZyBhbmQgZGVwbG95bWVudCwgQ0kvQ0QgcGlwZWxpbmVzIHJlZHVjZSB0aGUgcmlzayBvZiBodW1hbiBlcnJvci48L2xpPgo8bGk+PHN0cm9uZz5CZW5lZml0Ojwvc3Ryb25nPiBUaGlzIGxlYWRzIHRvIG1vcmUgcmVsaWFibGUgZGVwbG95bWVudHMuIEl0IHJlZHVjZXMgbWlzdGFrZXMgZnJvbSBtYW51YWwgcHJvY2Vzc2VzLCBsaWtlIGluY29ycmVjdCBjb25maWd1cmF0aW9ucyBvciBtaXNzZWQgc3RlcHMuPC9saT4KPGxpPkEgZmluYW5jaWFsIHNlcnZpY2VzIGZpcm0gbWlnaHQgdXNlIENJL0NEIGF1dG9tYXRpb24uIEl0IGVuc3VyZXMgdGhhdCBzZW5zaXRpdmUgY29kZSBjaGFuZ2VzIGFyZSB0ZXN0ZWQgYW5kIGRlcGxveWVkIHRvIHN0cmljdCBjb21wbGlhbmNlIHN0YW5kYXJkcy4gVGhpcyBtaW5pbWl6ZXMgdGhlIHJpc2sgb2YgY29zdGx5IG1pc3Rha2VzLjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+NS4gU2NhbGFiaWxpdHkgZm9yIEdyb3dpbmcgUHJvamVjdHM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxzdHJvbmc+V2hhdCBJdCBNZWFuczo8L3N0cm9uZz4gQXMgc29mdHdhcmUgcHJvamVjdHMgZ3JvdywgbWFuYWdpbmcgY29kZSBjaGFuZ2VzIGFuZCByZWxlYXNlcyBiZWNvbWVzIG1vcmUgY29tcGxleC4gQ0kvQ0QgcGlwZWxpbmVzIGNhbiBzY2FsZSB0byBoYW5kbGUgbGFyZ2VyIHByb2plY3RzIGJ5IGF1dG9tYXRpbmcgdGhlIHRlc3RpbmcgYW5kIGRlcGxveW1lbnQgb2YgdGhvdXNhbmRzIG9mIGNvZGUgY2hhbmdlcy48L2xpPgo8bGk+PHN0cm9uZz5CZW5lZml0Ojwvc3Ryb25nPiBJdCBlbmFibGVzIHRlYW1zIHRvIG1haW50YWluIHNwZWVkIGFuZCBxdWFsaXR5IGV2ZW4gYXMgdGhlIG51bWJlciBvZiBkZXZlbG9wZXJzIGFuZCB0aGUgY29tcGxleGl0eSBvZiB0aGUgY29kZWJhc2UgaW5jcmVhc2UuIFRoaXMgbWFrZXMgQ0kvQ0QgaWRlYWwgZm9yIGJvdGggc21hbGwgc3RhcnR1cHMgYW5kIGxhcmdlIGVudGVycHJpc2VzLjwvbGk+CjxsaT5BIGdsb2JhbCB0ZWNoIGNvbXBhbnkgY2FuIHVzZSBDSS9DRCBwaXBlbGluZXMgdG8gbWFuYWdlIGh1bmRyZWRzIG9mIG1pY3Jvc2VydmljZXMgYWNyb3NzIHJlZ2lvbnMuIFRoaXMgZW5zdXJlcyB1cGRhdGVzIGFyZSBkZXBsb3llZCBzbW9vdGhseSwgd2l0aG91dCBhZmZlY3RpbmcgdXNlcnMuPC9saT4KPC91bD4KPGgyPkVtYnJhY2luZyBDSS9DRCBQaXBlbGluZXMgZm9yIE1vZGVybiBEZXZlbG9wbWVudDwvaDI+CjxwPkFkb3B0aW5nIENJL0NEIHBpcGVsaW5lcyBpcyBtb3JlIHRoYW4gYSB0ZWNobmljYWwgdXBncmFkZS4gSXQncyBhIHN0cmF0ZWdpYyBzaGlmdCB0aGF0IGNhbiB0cmFuc2Zvcm0gaG93IHNvZnR3YXJlIHRlYW1zIG9wZXJhdGUuIENJL0NEIHBpcGVsaW5lcyBhdXRvbWF0ZSBpbnRlZ3JhdGlvbiwgdGVzdGluZywgYW5kIGRlcGxveW1lbnQuIFRoaXMgZW5hYmxlcyBmYXN0ZXIgcmVsZWFzZXMsIGJldHRlciBzb2Z0d2FyZSwgYW5kIGEgbW9yZSBjb2xsYWJvcmF0aXZlIGVudmlyb25tZW50LiBUZWFtcyBjYW4gZm9jdXMgb24gaW5ub3ZhdGlvbiBpbnN0ZWFkIG9mIG1hbnVhbCBwcm9jZXNzZXMuIFRoaXMgYXBwcm9hY2ggc3VpdHMgbW9kZXJuIGRldmVsb3BtZW50LiBUaW1lLXRvLW1hcmtldCwgdXNlciBzYXRpc2ZhY3Rpb24sIGFuZCBpbXByb3ZlbWVudCBhcmUgdml0YWwuPC9wPgo8cD5Ib3dldmVyLCB0aGUgam91cm5leSB0byBpbXBsZW1lbnRpbmcgZWZmZWN0aXZlIENJL0NEIHBpcGVsaW5lcyByZXF1aXJlcyB0aG91Z2h0ZnVsIHBsYW5uaW5nLiBUZWFtcyBtdXN0IGNob29zZSB0aGUgcmlnaHQgdG9vbHMgYW5kIGludGVncmF0ZSB0aGVtIHdpdGggdGhlaXIgc3RhY2suIFRoZXkgc2hvdWxkIGFsc28gZm9zdGVyIGEgY3VsdHVyZSB0aGF0IGVtYnJhY2VzIGF1dG9tYXRpb24gYW5kIGZlZWRiYWNrLiBJbnZlc3RpbmcgdGltZSBpbiB0aGVzZSBwaXBlbGluZXMgcGF5cyBvZmYuIFRoZXkgcmVkdWNlIGRlcGxveW1lbnQgcmlza3MsIGltcHJvdmUgY29kZSBxdWFsaXR5LCBhbmQgcHJvdmlkZSBhIHNjYWxhYmxlIGZvdW5kYXRpb24gYXMgcHJvamVjdHMgZ3Jvdy48L3A+CjxwPkluIGEgZmFzdC1wYWNlZCB3b3JsZCwgQ0kvQ0QgcGlwZWxpbmVzIGFyZSB2aXRhbC4gVGhleSBoZWxwIGZpcm1zIHN0YXkgY29tcGV0aXRpdmUsIGRlbGl2ZXIgcXVhbGl0eSBzb2Z0d2FyZSwgYW5kIGFkYXB0IHRvIHVzZXJzLiBXaGV0aGVyIHlvdSBhcmUgYSBzbWFsbCBzdGFydHVwIG9yIGEgbGFyZ2UgZW50ZXJwcmlzZSwgQ0kvQ0QgaXMga2V5IHRvIHlvdXIgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4gSXQgaXMgYW4gZXNzZW50aWFsIHN0cmF0ZWd5IGluIHRvZGF5J3Mgc29mdHdhcmUgaW5kdXN0cnkuPC9wPoghAHckNWJlY2VkNTMtOTU5Yi00MGNkLWIxOGMtNmE1OTlkMTgzZDBidw5jb3JlL3BhcmFncmFwaHl3JGRkZDI5NTIyLTEyMDItNGY1OC05YzZlLWM2NWYzYTRiNWQ1ZXh3DmNvcmUvcGFyYWdyYXBoeXckN2EyMmU4ODktMGM0MS00OGQzLWFlZGMtOTNmYjgyMTQxNzExeHcOY29yZS9wYXJhZ3JhcGh5dyQ2MTQ5ZDViMS02YmVjLTRhMDMtOGZkNy0zYmQwYzM4YjZlZTB4dw5jb3JlL3BhcmFncmFwaHl3JDFlMGViMDI0LTc2YzQtNDU5NS04Mjk4LTczZGVhNDE2YmRlNXh3DGNvcmUvaGVhZGluZ30CdyQ2NzE0M2MzYi1kOWVkLTQ2M2ItYjUwOS0yZWViNjJmYTk5NmV4dw5jb3JlL3BhcmFncmFwaHl3JGVhMmZjYzQ0LWY2ZmUtNGFjMS05ZWJhLWVlZDk3OTgyM2Y0MXh3CWNvcmUvbGlzdHl3AHckOTFmYTRlZDEtNWJjNy00MDI1LWFjMmUtMWRjOWMyODkxNDQxeHcOY29yZS9saXN0LWl0ZW13JDhjYjYxOWY5LTBmMGEtNGE0OS1iZDBhLTQwNjI1ZDkxN2E1OXh3DmNvcmUvbGlzdC1pdGVtdyQwNGFlOThlMS0zYjVjLTQ2NDItOTlkZS1mZmIwODcxN2NlODl4dw5jb3JlL2xpc3QtaXRlbXckNTFiOGE3OGEtY2FjNy00MTBmLWEzYzktMDA1MzIxODk3YzFheHcMY29yZS9oZWFkaW5nfQJ3JDJlOTVjNGZlLTdkNmItNDYyMy04NmFmLTU4OTE5NmIyZjdlM3h3DmNvcmUvcGFyYWdyYXBoeXckNThiYWExZDctZDEyNS00ZTY4LTljNGQtZmNjMTQxOTEwOGMweHcOY29yZS9wYXJhZ3JhcGh5dyQzNjM0YmNkZi03MmQ5LTQzZTktOTA2NC04Zjg0MzU3MWUwOTN4dwljb3JlL2xpc3R5dwB3JDQ0YWEwMjdhLWU0ZjMtNGUwNC1hNjVhLTdmODAxNzk3NjIzYnh3DmNvcmUvbGlzdC1pdGVtdyRjOTE1MzdiNS0zYjgxLTRmMmEtYjZjMy1lMmM4YzRkNTI3ZTJ4dw5jb3JlL2xpc3QtaXRlbXckNDkxNmE1MWYtNzQ0Ny00ZDRiLTg1YzAtMjg1ODdhMzFhODRheHcOY29yZS9saXN0LWl0ZW13JDZjY2EwZTgzLWM1ZWItNDZkOS05ZjNhLTUyOTg2MDIwZDUzZnh3DmNvcmUvbGlzdC1pdGVtdyQzODYyNDllOC1lMGE2LTQ0NTMtOTk0Zi02NDdhMDA1Njc0ZTV4dwxjb3JlL2hlYWRpbmd9AnckNTQ1NmFmNTctNTM2Yy00OGE3LTg0OGItMmE2MDMxNDU4OTczeHcOY29yZS9wYXJhZ3JhcGh5dyRhZWQ3ZjkxZi01YWE2LTRmMTUtYTAyZi1kNTZhNGE3NDA1YTN4dwljb3JlL2xpc3R5dwB3JDdhY2E1N2FhLTU2ZjYtNGVmMy05NWMyLWZjNWQxYWJjMjVkMXh3DmNvcmUvbGlzdC1pdGVtdyRiMTFmYmM3OS0zMTFmLTQwYzctYWUwNC0yOWFlMzkzZmZhOTl4dw5jb3JlL2xpc3QtaXRlbXckZGE3MDU3YzEtZDlmMC00MmNhLTgyYjYtYTdmM2M0YzNjZjA2eHcOY29yZS9saXN0LWl0ZW13JGY0ODJkMGY3LTcyODQtNDY0Ny05MGE5LWNiYWVmZDIyOThmNXh3DGNvcmUvaGVhZGluZ30CdyRmNzVjMTEzMy1kNDJmLTQ1OTQtOWZiYS1kZWVjNTY4OWQ2YjJ4dw5jb3JlL3BhcmFncmFwaHl3JGYxYzhlNjY4LTBhNzktNDFiYy1iODczLWRiZjA1Y2E3NDI1YXh3DmNvcmUvcGFyYWdyYXBoeXckMTVjNDYyYjktYmVhNC00YjliLTg5ZmItYTkwYTBjMzRhMjE2eHcJY29yZS9saXN0eXcAdyRjZTBjYThhMC02YTYwLTQyOGQtODY5OS0xYTYxN2FjYjM0M2R4dw5jb3JlL2xpc3QtaXRlbXckYzVhZmY2ZDItNDExMi00M2IxLWFhMTEtNzRmNzM3OGFiNmQ2eHcOY29yZS9saXN0LWl0ZW13JDRhODhjMTQwLTRkZWUtNGJhOS1hYmVhLTFhMTQ0MDUyMTM4OHh3DmNvcmUvbGlzdC1pdGVtdyQ0NjZjZTg2Mi0xZjJjLTRhMTgtODc0OC02Y2U0MjFhMDFkY2F4dw5jb3JlL3BhcmFncmFwaHl3JDBkYTc4NjM4LWFmMjQtNDRkYy05ZGI1LTUwMGQ2ZDk4NTA4N3h3CWNvcmUvbGlzdHl3AHckMGFhNGJjNmQtOTNjOS00NWRkLWEyZDItNGI1N2ViYjVhNTJkeHcOY29yZS9saXN0LWl0ZW13JDEzYmM3YTg5LWYzOWYtNGU1Mi05MzI4LTBhOTFkNGQ1ZDg2Ynh3DmNvcmUvbGlzdC1pdGVtdyQxMjFjOGM2Zi02YWM3LTRmNTEtYTNmMy00YmFiMmM4Y2RmNTl4dw5jb3JlL2xpc3QtaXRlbXckOTU4MTQwNzAtMTk0MC00ODQ1LWFlZTAtMzI5NzYzNjQwOGE2eHcOY29yZS9wYXJhZ3JhcGh5dyRlYzlmYjJkMC0wZWM1LTQwOWMtYWY5Zi02ZjQxN2JiZWY1NWZ4dwljb3JlL2xpc3R5dwB3JDI0MGE4NWNhLTMyNzAtNGMyZC04MWMzLWIzZjJjNWQ3MDkxMXh3DmNvcmUvbGlzdC1pdGVtdyQ4YjE1MTg5My05MGM0LTQ2ZDUtOTdlZC05MWQwYTgyNzgwNTV4dw5jb3JlL2xpc3QtaXRlbXckNzBlZmRlOTMtYmIyNS00YWRhLTk5MzgtOWEyYjE4ZTliZjY4eHcOY29yZS9saXN0LWl0ZW13JGZhZTJiYTUxLWM3YWMtNGIyZC1hYjM3LWY3ZTBjMzQxZWFmM3h3DmNvcmUvcGFyYWdyYXBoeXckNjk3MDI5MDUtYjc2Ny00Mzg2LWFkZWItMWIxMTU1ODVmZmUweHcJY29yZS9saXN0eXcAdyRlYTQxZWZmYi02NGE3LTRmZmItYTkyYy02NGI5MjA1NjA4ZDN4dw5jb3JlL2xpc3QtaXRlbXckMzljZTVhMTktNTA3Ni00ZDNkLWE5YWYtNDM3NjkyNDMwMDI2eHcOY29yZS9saXN0LWl0ZW13JDFiMDEyM2Y1LWE5YjItNDFiZS05NTdmLWMwYTgzNGQ0ZjM3NXh3DmNvcmUvbGlzdC1pdGVtdyQyYTgxZDU3Ny1jMmZjLTRmZmEtYjgyNS01MDkzYjA4MjI5OGJ4dw5jb3JlL3BhcmFncmFwaHl3JDIzN2RjNTIwLTBjNjAtNGYwMy1iMWFlLWQyMDMyNzg5MWNmOHh3CWNvcmUvbGlzdHl3AHckNmIxYTNlOGYtYjBmZS00MTVmLTlhY2EtZTJjYjk3MTQ4YzFkeHcOY29yZS9saXN0LWl0ZW13JDJlMDg5MWRmLTRiMWMtNDIwZi1iYjliLWU3ZTQ3OGE2NDViMHh3DmNvcmUvbGlzdC1pdGVtdyQwYWU3NTJlNC0yYWQyLTQ3YTMtYWRmNy1iNjcxZDRmYzBiNjR4dw5jb3JlL2xpc3QtaXRlbXckYmI4MDA4YWUtNTUxNy00NmU3LThhMDctNDI3NTI2OGQ2ODJieHcMY29yZS9oZWFkaW5nfQJ3JGMwZDU3NzgyLTM1NmYtNDkwNC04MjVlLWIwMDEyMDI5ZmVmN3h3DmNvcmUvcGFyYWdyYXBoeXckZDYzZDJkMjEtYWRjMi00ZmU5LWJiZDktNTQ0MDIwNWNiZjJleHcOY29yZS9wYXJhZ3JhcGh5dyRiZTBhNzYxNC0wNmE1LTQxOTUtODI3ZC0zMDc5NjY3ODFlNzh4dw5jb3JlL3BhcmFncmFwaHl3JGJlMGE3NjE0LTA2YTUtNDE5NS04MjdkLTMwNzk2Njc4MWU3OHckMmFmMGJiN2EtNGQ4NS00MWUyLTlhYjktYjZkZDlhMjFmZWQ0dwljb3JlL2NvZGV3JDZhODQxOWNlLWM2ZjItNDg1YS04MDNmLWM2ZTUxNGM4Yzk0MHh3DGNvcmUvaGVhZGluZ30DdyRiZmRmMmMwNC0zMjk4LTQ4NWYtOGQ0Ny02YjJkYjhhMmFkNzF4dwljb3JlL2NvZGV3JGJmZGYyYzA0LTMyOTgtNDg1Zi04ZDQ3LTZiMmRiOGEyYWQ3MXckODY3YjA1ZTktNGMwNi00MDY5LWFkNjktNjNkYzYxNzc1ZDJjeHcOY29yZS9wYXJhZ3JhcGh5dyRjYTRiMGI5MS1kMjRlLTQ0NDctODYzZC1mODUxNTlkNDYwMmF3DmNvcmUvcGFyYWdyYXBoeXckMjE1MDBhYTctM2E4MC00ZDFhLWI0MmItYzUyMTMyOGVkMmY0dyQ2ZDVlZjFjOS01NzFmLTRhM2EtYTc0NC1mN2I2MGEwZWNiMjN4dw5jb3JlL3BhcmFncmFwaHl3JDAxNzlhNWZjLWE5ZDAtNGZiOC04ZWI5LTgxN2VlODQyNGMxY3h3DmNvcmUvcGFyYWdyYXBoeXckZmJjMDVkMzUtZDgwYS00MDlmLTgzZjgtNzUxNzhkZDRmM2RleHcOY29yZS9wYXJhZ3JhcGh5dyQyMTQ3NmQyNi0zYmU0LTQyZGMtOWQ5OC1lY2ZhMTVkYTdhYmJ4dw5jb3JlL3BhcmFncmFwaHl3JDllYmNkODcwLWFmNWUtNDhlMS1hNjM3LTZhOGZjZDQ2NTY4Znh3DmNvcmUvcGFyYWdyYXBoeXckYjMxMzEyMTEtNTY0Zi00YjBlLTgxZmQtYzUxMWYzYTdjMGQyeHcOY29yZS9wYXJhZ3JhcGh5dyRjNzE1M2E4Ny0xZjZiLTQ5ZGMtYmI2ZS1mYmFlMDJlZmE3NjR4dw5jb3JlL3BhcmFncmFwaHl3JDg5NzE5NGE5LTIxODEtNDc2MC05MWEzLWY4YjM1YjZmOTJmOXh3CWNvcmUvbGlzdHl3AHckMzQ3N2Y3MjUtZDA2Yi00YmJmLTg3YTAtMzhiNmYwOWZmMWY0eHcOY29yZS9saXN0LWl0ZW13JGRhMDUyZTE5LTY2NjMtNGJjMC05NzJmLWI4Mzc3ZmNjODMzMnh3DmNvcmUvbGlzdC1pdGVtdyRkZGQyZDc0NC0yZmRlLTQ4NWEtYTcyNi04ZjRlOWJlZmYwYTl4dw5jb3JlL2xpc3QtaXRlbXckMTI1MzY0MGEtMGQ5NC00MjQ5LThlNjEtMTFjODQzNmE0ZjYzeHcOY29yZS9saXN0LWl0ZW13JDQ3YjU1M2QwLTA5NjItNGYxNi04NGQyLWFkNTUzYWJlZTNhYnh3DmNvcmUvcGFyYWdyYXBoeXckNzMwMzI1MGQtMWZkNC00MzczLTkwOGEtOTcwNmRiMDI1Mjg0eHcOY29yZS9wYXJhZ3JhcGh5dyQyZmEwODc3Zi1kODc5LTQxNmMtODYwOC1mODFiZWU2YTEyMGF4dw5jb3JlL3BhcmFncmFwaHl3JGVjYTllYjkyLWEyMzItNDUxZS1iYTg3LThjNjQ2YzQwNWQ1Ynh3DmNvcmUvcGFyYWdyYXBoeXckZmY3NTAxOTItYTM2OS00YzRmLTlhODQtZWI0ZTRjMTk3YTY0eHcMY29yZS9oZWFkaW5nfQJ3JDYxZmYwYWQyLWFhZTQtNGQzNS04YWM1LWFlOTMwNjJkZWI3NHh3DmNvcmUvcGFyYWdyYXBoeXckOTcxNmIwYTMtMGFjNS00YWFjLWJmZmMtYWE2ZjFmYjQyN2FieHcOY29yZS9wYXJhZ3JhcGh5dyQ0ZGJhMjJlOS0yZmIxLTQwMWItYWYzYy1lNmE3ZWMyODczOWJ4dwljb3JlL2xpc3R5dwB3JDk0ZGM3M2U5LTdkYzItNDBhZC1hYmM5LTM5ODRhYjlmOTk5ZHh3DmNvcmUvbGlzdC1pdGVtdyQ3MzIzMjgzYi0zOGQ1LTQwYTItODliMi1jMWM4NzJlZmViZTh4dw5jb3JlL2xpc3QtaXRlbXckNTRjNjRjMzctYjhkZi00MzJiLTg3N2YtYjMwM2QzNmIwZDQ2eHcOY29yZS9saXN0LWl0ZW13JDMxMmU2Y2M2LTA4MGQtNGZjYi1hYzExLTAzNWI2ODFlMDcyMnh3DmNvcmUvcGFyYWdyYXBoeXckNGMwMGFmNTMtMTFmYy00NzgyLTg0MGYtMmRjMGQyOGYzYmNjeHcOY29yZS9wYXJhZ3JhcGh5dyQyMTIyNzc5MS00NzNlLTQ0MjYtODQyNC02ZjkxNTYzNjdlZjF4dw5jb3JlL3BhcmFncmFwaHl3JDJmZjlmYTQ3LTc5MzEtNDQ4Mi04OWVhLTVlMzg4NDgzOGQ0ZHh3DmNvcmUvcGFyYWdyYXBoeXckNTFhYmQ2YjMtZTkwNC00ZjRlLTgxMjktMDQ4NzRmNjUyM2I3eHcOY29yZS9wYXJhZ3JhcGh5dyRmY2JkYTY3YS05YTBiLTQ2MTctYWZlZC03Nzc2ODc1ZTQ3Nzd4dwxjb3JlL2hlYWRpbmd9A3ckYTY2Y2Y3ZmMtMDc2ZC00OGMwLTk4YTItMmRiNDNlNzYyNzY1eHcJY29yZS9saXN0eXcAdyQ4NmE5MTZhMi1lYTM3LTQ1OTYtYWUxNS1jMzJmODQwOTM4YzZ4dw5jb3JlL2xpc3QtaXRlbXckZTZiZjUyOWQtMTUwMC00YjNlLWIwODYtNjNhMWJjN2M5OWVieHcOY29yZS9saXN0LWl0ZW13JGM5MjVhYTgxLTQ4MTgtNDI2Yi04Y2ZhLTM2MWRkMjBjYWM0Ynh3DmNvcmUvbGlzdC1pdGVtdyQzNmY3NDczYy1jZGVmLTQzMWYtYjQ0ZC00MjIzNmU0ODE1ZGZ4dwxjb3JlL2hlYWRpbmd9A3ckZTIyZjkxNGQtMGFmZS00MThkLTljZWEtOGEyY2Y1NTNiMWE4eHcJY29yZS9saXN0eXcAdyRkMGU1ZThjZC1mMTZmLTQ0NGYtYTZhNi1jOGNlYzEwZGNlZjd4dw5jb3JlL2xpc3QtaXRlbXckNzJiMTdmNmEtYzk3Yi00ZmM5LTgyYjUtYzEwOGVkZWM5OWRjeHcOY29yZS9saXN0LWl0ZW13JDBmODQ0ZDQ2LThlMjQtNDZiNC1iMTk2LTg1YTIxZGEwYTRhNHh3DmNvcmUvbGlzdC1pdGVtdyQzZTI1MmJmZS1mYTEzLTQ0MjQtYjZkNS1kNTExYTg3ZWM3NmN4dw5jb3JlL3BhcmFncmFwaHl3JDRlMzQxOTY2LTc2ZmUtNDUzYy1hZWFkLTRlMzAzOGQzZjBkYXh3DmNvcmUvcGFyYWdyYXBoeXckNTFlYTMxYmMtOWZjZS00MzZkLTgxZDYtNWU1ZmFkNGI5ZWJjeHcOY29yZS9wYXJhZ3JhcGh5dyQyMWI0ZDJkMC0wZjA1LTQ1ZmItOTExYy0yOWNiOWQ0MmE4MmJ4dw5jb3JlL3BhcmFncmFwaHl3JDBhODZmYzliLTUyNWUtNDkyOC1iZWM3LWNmOGZjNjFkNWZiZXh3DmNvcmUvcGFyYWdyYXBoeXckZTQ4MTM0MmEtOTFmYi00MmU0LTgyNDgtOTA2OWMzNjkyNDVheHcJY29yZS9saXN0eXcAdyRjZTY2ZTJkNi1kMmVlLTRjMjctYTQzYy03YjQ1ZDBhM2JjNTJ4dw5jb3JlL2xpc3QtaXRlbXckMDY1MWI5ZDAtOGY5Zi00MzI0LTljZjgtZDViODA4YzI1NTE5eHcOY29yZS9saXN0LWl0ZW13JDkwNTVhZDYzLTBiMjgtNDNhOS04ZjRiLWE1NjlkYjE3YjE1N3h3DmNvcmUvbGlzdC1pdGVtdyRmOTBhMTcyYy03YjgxLTRkZjEtODM0Ny0zOWYzOWU5ZDMzODZ4dw5jb3JlL2xpc3QtaXRlbXckODI0MmI2Y2UtZDM3Ni00YmI2LTk4ZTQtOWMwYjVhNWNhM2M3eHcOY29yZS9saXN0LWl0ZW13JGRlMzllMmEyLWM2MzUtNDdkYi1iZmEzLTk2YjE0MjQxZGFiNHh3DmNvcmUvcGFyYWdyYXBoeXckNmZmZmJlMDgtMTg0Mi00YWM0LWI5ODYtMDY5MTY4OTkyMjAzeHcMY29yZS9oZWFkaW5nfQJ3JGM2N2Y2NDkwLTlhMWQtNDBlOS05MDJlLWNlNWVjZWIwOTAzYnh3CmNvcmUvaW1hZ2V3AHcAdyRmNjk4ZDIxZS03NmM5LTQwZjYtODZjNy1hNjFmNDk0MWEyNzB4dw5jb3JlL3BhcmFncmFwaHl3JDZmNmJmMWM4LTgzOTktNGExNS05YmU2LTI2Y2E5NDA1ZmFiOXh3DmNvcmUvcGFyYWdyYXBoeXckY2NmOGVhZDYtOTI3Yy00ZWU2LTg0ZDAtMWI5MGYxYWU1YTFmeHcJY29yZS9saXN0eXcAdyQwYTc0YmNhNS0wYjYzLTQ1M2MtYTNlNS0zNDAxZDIyMTc3NTN4dw5jb3JlL2xpc3QtaXRlbXckYTI2Mzg0ZGYtZTdlNy00OGFhLTg1OWItNWIzYTRjZWZhOWNmeHcOY29yZS9saXN0LWl0ZW13JDYzZDhkNmJmLTY3NWEtNDJkOS04M2Y4LTE1MzRlYzQ0ZTNmMHh3DmNvcmUvbGlzdC1pdGVtdyRlMzdjYjJhOS1iNDM5LTRhMjctYjhiNi1mNDU2ZTlhNTlmYWN4dw5jb3JlL2xpc3QtaXRlbXckNWY2N2FmYzktYmQyZi00MTJlLWE3MDMtYWY1Yzk1MjY0M2JieHcOY29yZS9wYXJhZ3JhcGh5dyQyODJlNGIxYy03ZTMwLTQ1YjktOTU1Yy1kODBkZDNhNzI2MWR4dw5jb3JlL3BhcmFncmFwaHl3JGU5MGQ3NGEwLTM4OWEtNDYxOC05ZTIyLTlhMjJlNzMzZDFlMnh3DmNvcmUvcGFyYWdyYXBoeXckM2VhNWUzOWItNDI4NC00MWNlLTgxZjMtZDZiY2U5NmUzYTQ5eHcOY29yZS9wYXJhZ3JhcGh5dyQ5OGYwZDM2NS1hNTk2LTQ0Y2EtYWNiMy0xMjczZmQ1NTBjMzl4dw5jb3JlL3BhcmFncmFwaHl3JGRkNTEwMjM1LWQxMzQtNGE5NC04ODQyLThhMjgzZGEyZjQyOXh3DmNvcmUvcGFyYWdyYXBoeXckNjdmMjU4OWQtZjZkNC00ZTc5LTlmYWYtNzA0MTk5YmVkZGY3eHcJY29yZS9saXN0eXcAdyRhZDUzNGZjZC1lOTY4LTQ3MjMtYTY1Mi01ZDBhODA4MTk1MDJ4dw5jb3JlL2xpc3QtaXRlbXckYjA0YjUyNGEtYjMyZi00NzQ0LTljMTgtMjg1OGNmZWFjNmQ0eHcOY29yZS9saXN0LWl0ZW13JGFkODhkMzlmLTA1ZjQtNDlkZS05OTFjLTY1Mzg4YTcwMDdmN3h3DmNvcmUvbGlzdC1pdGVtdyQ0MzA0NTFkNi04NzA4LTRjNzktOTEzNS00NDFhOWNkN2ZkNDF4dw5jb3JlL2xpc3QtaXRlbXckOWVkYjBkZmYtZjYwMy00YTZlLThmZTUtZDUyMGE0ZTkwNGY4eHcOY29yZS9wYXJhZ3JhcGh5dyQ0NmY0MjhjNi0yMWY1LTRlZmItYjY2NC1mNmQ5OTdkNDY1ODB4dw5jb3JlL3BhcmFncmFwaHl3JGQ4YjJmNWQ2LTM1OWQtNDM4MC1iODM5LWFiMmNlMjE4NTVlNHh3DmNvcmUvcGFyYWdyYXBoeXckYjkyMDE2MTktZGZjZi00YWY2LTgzOGQtYTc5NGUwZDRiMTFmeHcOY29yZS9wYXJhZ3JhcGh5dyQ2YTZmNGI0Ny1lM2NmLTRmYzItOWMxNS01OWNhYTA3YjFkYjN4dwljb3JlL2xpc3R5dwB3JGJhNmE1NjEwLTE1MjctNDE0My1hN2RlLWVjYmJjMDRmNjU0NXh3DmNvcmUvbGlzdC1pdGVtdyQyZGUzMGNhNC03NzBlLTRhYTMtOTMxZS1jZDQwM2VmNmQyMjl4dw5jb3JlL2xpc3QtaXRlbXckZGU4OGE1ZjYtZTZhMi00ZmVjLThlMjgtYjgwYmU2OWIyYTNjeHcOY29yZS9saXN0LWl0ZW13JDk0YjBiYTAyLTcyODItNDhlMy05NzNhLWQ4NGQ5ZmYyMDQ2MHh3DmNvcmUvbGlzdC1pdGVtdyRjMzVlMTg2MC1lMTUwLTRmMmMtYmRjZS0xYmZhNDVkNjFhODB4dw5jb3JlL3BhcmFncmFwaHl3JDQyNmFhNzBmLWU2OGQtNGI4Yy04MjJmLTY0ODBkZmZjMmQ0M3h3DmNvcmUvcGFyYWdyYXBoeXckNGQ0MmZiZDEtMjgzMi00MTNiLWIzYTktYTAzNDcwZmI0ZWFheHcOY29yZS9wYXJhZ3JhcGh5dyQ1MDI4ZjNjMS05MWQ3LTQ4MTQtYWZhMS0zZGVjMzc4YTVkYmJ4dw5jb3JlL3BhcmFncmFwaHl3JGNmODcyZDY1LTQ1MzUtNDBkOC05NWNmLWY5MzA5YTEyNDRjNnh3DmNvcmUvcGFyYWdyYXBoeXckMjFlM2I2OTAtNGI5OC00ODRlLWFiY2QtZGIwMTMxNjlmOTBheHcKY29yZS9pbWFnZXcAdwB3JDI3YjhlZGRhLTAwYzYtNDI0YS05M2VkLWUwMGMyOGI5ZTk4ZXh3DmNvcmUvcGFyYWdyYXBoeXckZjE0ZDExYzItYjZlYi00MTAxLThhZGUtYWQ5ZDVjM2Q1Njk2eHcOY29yZS9wYXJhZ3JhcGh5dyQ2NzdhZDJmMi0yZTY1LTQzNGYtODgzZi1lODczOGYzOTM2MGV4dw5jb3JlL3BhcmFncmFwaHl3JDQ1OGRhYjIyLWNjMDctNGUyMC05MmYzLWJlYmQ1NDBhODI3M3h3DmNvcmUvcGFyYWdyYXBoeXckNGFiMTkwMmYtNTNjMi00NGM4LThhZjUtMGE3M2RhOGExNmU4eHcOY29yZS9wYXJhZ3JhcGh5dyQyOTNmNzgzNi1hYjFiLTQwMjAtYjRmOC1kYTA0OTc3NGQ4Y2R4dwljb3JlL2xpc3R5dwB3JDBhOWNmNzU2LWU4YmItNGM0Yi04YWRlLTNmNjExYjc3ZGNiNHh3DmNvcmUvbGlzdC1pdGVtdyRjNGE4M2JlMi0zZDExLTQ0OGMtOWM2ZC03Y2FiYmNlZDBhOGJ4dw5jb3JlL2xpc3QtaXRlbXckMWMzOGZkMDAtNWQ5Ni00ZjhjLTkwZDctYTIwYzNkMDQ5OTdieHcOY29yZS9saXN0LWl0ZW13JGEzMDNmYjEyLTU0YmMtNGUwMy1iNDFhLWM0ZTcyYzkwNzE3YXh3DmNvcmUvbGlzdC1pdGVtdyQwMGFmZjgwZS01NmYyLTQ4MWYtOWZjMC04N2Y1MzNlNTkzZjB4dw5jb3JlL3BhcmFncmFwaHl3JDA4OTMzZDE2LWM0YzUtNGE0MS05ODhiLTgzMDI0ZmU1YWJjYnh3DmNvcmUvcGFyYWdyYXBoeXckNjc0OGRiYzktNDMxZi00ODNhLWI3NjctZTgwMTkxZjJjN2VheHcOY29yZS9wYXJhZ3JhcGh5dyRmNmY1OGQ3Ni0xOTFjLTRkZjktYTk1ZC0xYjIwMWYzNzU5Y2Z4dwljb3JlL2xpc3R5dwB3JDA3Yzc3MjRjLTU5ZjYtNGIyMy05ZTdmLWZlMWMzOTM1NTlkMHh3DmNvcmUvbGlzdC1pdGVtdyRkYTcyMzJjNi05YzhjLTQ0NzItOWEwNC1hM2Q0NmNhNjE5NzN4dw5jb3JlL2xpc3QtaXRlbXckMWMzMTA5NzktNmM1ZC00NTAwLTkyODYtNzczYzYzNzU3NmQzeHcOY29yZS9saXN0LWl0ZW13JGYxZWU4YWFlLTZlNTctNDU2NS04ZjAwLTRjZWRmOTJmZmM0Nnh3DmNvcmUvbGlzdC1pdGVtdyQ1NjE4ZDFiYS1lODg4LTQ2NWMtYTk1Yy01YjIzMDQ4MDcyNzN4dw5jb3JlL3BhcmFncmFwaHl3JGI0OTk0MGE4LTkwOWItNDIxMi05ZWIyLWVkZTQyYTJlZTk2MHh3DmNvcmUvcGFyYWdyYXBoeXckN2E5OTBkMjItY2Y0Ni00NDY2LTk5ZWUtODdhNjEwYjVjYTY0eHcOY29yZS9wYXJhZ3JhcGh5dyRkZWRiN2QxZi05ODhjLTRiMzctYmNjZC0zYzFmM2JkMWU4OTZ4dwljb3JlL2xpc3R5dwB3JGRlYmMzYzJmLWFkMTItNDM5Yi05MmJjLTg5ZDNkODhmOTQyOXh3DmNvcmUvbGlzdC1pdGVtdyQyNjI0ZjM0NC1lNWEzLTQ4YzEtODkwMy02M2Q0NjcyNDM3YjF4dw5jb3JlL2xpc3QtaXRlbXckODRiNDYxMzItODBlMS00NDc0LThlNWQtOGVjOTdhMjY0MWQzeHcOY29yZS9saXN0LWl0ZW13JDQ1ZWM4ODkxLWY5MmEtNDRiOS05ZWQ0LTg0NTRhZTdlMzVjMnh3DmNvcmUvbGlzdC1pdGVtdyQ3ZGI1YzY3MC0zN2MwLTQ2ZjYtYjIxZS1kMDdlZDZjMGE5YjF4dw5jb3JlL3BhcmFncmFwaHl3JGEyZWM2OGRkLWU3OTEtNDJlOC1hNTg3LTVjZDA5ZjZkZWJmYnh3CWNvcmUvbGlzdHl3AHckYTY3MmI4MTUtNjYwOC00MzQwLTlmZWUtZjFhZTdmYzViMjAweHcOY29yZS9saXN0LWl0ZW13JDRkYzZkOWJkLWQ0NWQtNGRjMi1hMzY5LWM1NmI5YWRlNWMzNnh3DmNvcmUvbGlzdC1pdGVtdyRkMDc3ZWY2Yi1iZTVjLTRmZTUtYTViNS1jNGM2OTM5Yjg1NDl4dw5jb3JlL2xpc3QtaXRlbXckZmY5NTk0ZTYtMTNlNC00NjVmLThmMGYtZjhmMmQzMGI4MzhkeHcOY29yZS9saXN0LWl0ZW13JDc2ZWUxOTFiLTZiZTgtNDI2ZS1iODMyLWU1ODBhYmQzYWVkY3h3DmNvcmUvcGFyYWdyYXBoeXckYmU4YzA2NDAtZGZiMC00NGU1LWEyODgtMTRlZjQ3MzYyN2JmeHcOY29yZS9wYXJhZ3JhcGh5dyQyMTMyZjg3YS1iZmUyLTQ5N2MtYmE0NC02MDI1NDA5NDk0MWN4dw5jb3JlL3BhcmFncmFwaHl3JDIwOTJlNmQxLWVjMmItNGQ0YS1iZDFjLTczMTc4NDRkYTM3Y3h3CWNvcmUvbGlzdHl3AHckN2E0MDViMjAtNWE0MC00ZTJhLWE3OTMtNTg1YTY0NGU4ZDM4eHcOY29yZS9saXN0LWl0ZW13JGE4OTZiNDhjLWE1NmItNGIyOC1iNzZiLTQ4ZDEzY2Q5YWEzZXh3DmNvcmUvbGlzdC1pdGVtdyRiOWE4M2EwMC1jMjM3LTRmMGMtODEwOC05NTA3OTMzMDM3ZDN4dw5jb3JlL2xpc3QtaXRlbXckZTA5M2VlNTctNzUxMy00NWNiLWI4NzMtNGJkNzkwMjkwMDA0eHcOY29yZS9wYXJhZ3JhcGh5dyRkZDg2ZDJjOC0xNWQ1LTQ4MWEtYTEzYy1lY2Y3NmQ4MjJkYjV4dwljb3JlL2xpc3R5dwB3JDhiZGVjNTMzLWYxNGQtNDg2Yy05NmM3LTg0OTFkMmQ1ZDZjYnh3DmNvcmUvbGlzdC1pdGVtdyRjOTcxYzI1Ny05MmQyLTQ0ZWUtOGNiMC1jODNjYjM5ODg4ZGZ4dw5jb3JlL2xpc3QtaXRlbXckZDAwNDYxZmEtZmVkYS00NTg5LTkyNTQtZDFkMDU1NzhmZTRleHcOY29yZS9saXN0LWl0ZW13JDRmZDkxYmI0LWIyMDctNDc0My1hM2FhLTQ1MDM5YjBkMDY0Nnh3DmNvcmUvcGFyYWdyYXBoeXckNGE0MWE0MDgtYzFhMS00NjAyLThlZDQtOGMwYTU5ZTQ3NGY4eHcOY29yZS9wYXJhZ3JhcGh5dyQ1ZGRkM2U1MS1mNThmLTQwZDMtYTE0Yi1lNGE2ZmUyYWRmZGV4dw5jb3JlL3BhcmFncmFwaHl3JDNhYTExMzZjLWMwZTAtNDc0NC04NzI0LTNkYmEzMjk5ZmE3YXh3DmNvcmUvcGFyYWdyYXBoeXckMjRlMzAxNjEtZDliMS00OGE1LTk4NTMtM2Y5MzE4MzU0NjdkeHcOY29yZS9wYXJhZ3JhcGh5dyRjOGU2MWEwZS0xMTBjLTRiZWUtODFiNS1lZGQwYTI3ZGFjMTd4dw5jb3JlL3BhcmFncmFwaHl3JDRhMjc2NzI1LTZhNzgtNGFhNC05MTc5LTg1NDUzYjEzZWJkY3h3DmNvcmUvcGFyYWdyYXBoeXckMzdmYWM0NTMtNzI0Ny00OTg1LWI5YTktNDg3MWQzM2Q1NzIweHcOY29yZS9wYXJhZ3JhcGh5dyRkNWI1NzFkZS1lYjMwLTQ2MjItYmRkYS00ZjNhNjJhMTRjNjZ4dwljb3JlL2xpc3R5dwB3JGEyYjQ0NGNlLTM2MjUtNDY0ZC05ZWQyLWY5MTI4YWNhNjlhNXh3DmNvcmUvbGlzdC1pdGVtdyQ4MmNiMGQ2OS1mYWUxLTRiN2MtODhiYi1kYjE1MTYwYmU1ZjB4dw5jb3JlL2xpc3QtaXRlbXckZDJjM2Y5ZmEtNDQyOC00ZmIwLWJlODctMTNiM2U3MzhjNjgxeHcOY29yZS9saXN0LWl0ZW13JDk0YjA2MWVhLWRjOGItNDM1MS04MGNlLTY1ZTY4MThkZDY4M3h3DmNvcmUvbGlzdC1pdGVtdyQ1OWZmYzA2ZC01MmMyLTQ1ZGMtODU2Zi0xMWMwNjMyNmNmY2F4dw5jb3JlL2xpc3QtaXRlbXckMWEyYzBmOTktOWE0MS00OTg4LThlNDQtOTIyMWIxMDkxMzRieHcOY29yZS9saXN0LWl0ZW13JDMwNTkyYTZiLWRkNzAtNDc4Ny1iNjI4LWEyZmU0ZTQ4NDQ0OXh3DmNvcmUvbGlzdC1pdGVtdyRkMjBiNDA0NC1lOTBkLTQzODYtOTYzMi0yZDBlNTkxODhhMDN4dw5jb3JlL3BhcmFncmFwaHl3JDY1ZTJiZjk4LWI5ODQtNDM0ZC04YTZjLTc5N2ZlNDAyOGQwM3h3DmNvcmUvcGFyYWdyYXBoeXckMDNkZDk1ZWItZTlmNC00MzMyLWEzMDUtYjJkN2IwMjNkYmQ4eHcMY29yZS9oZWFkaW5nfQN3JGYxYzEwNjhmLTJjMzQtNGU0MC1iNGExLTlmMTI4Y2NhNDQ4NXh3DmNvcmUvcGFyYWdyYXBoeXckZmNkYTFiZmQtMzc2OC00NjQwLTk5NDMtMWEzNDUyYWYzMmJheHcOY29yZS9wYXJhZ3JhcGh5dyQ1NzYwNDRiMy01Mjc2LTQ2YjgtYmY3OC0zOTBlZjZhOTE3MTd4dwljb3JlL2xpc3R5dwB3JGNlMTI5ZjcwLTA2MzItNDIzNy1hYTk2LTI2ZWM3OTExZDlhYnh3DmNvcmUvbGlzdC1pdGVtdyQ1OTI2MTNmNC02ZWJlLTQ1YWQtOTNkMC0yMjQ0M2NiMzUwYTh4dw5jb3JlL2xpc3QtaXRlbXckMWU0MTM5ZjUtMzc5Ni00NjBjLWJhY2QtMzY1ODkzYzYyYWY0eHcOY29yZS9saXN0LWl0ZW13JDU1NWNlMmNjLThkYjMtNDgxMi05MTNhLWVlY2NiYjQwMTdhNXh3DmNvcmUvcGFyYWdyYXBoeXckYWRhZWI2OTUtYmZhOS00YzYzLWE2MmUtNDlmNzdiMzdmNDFieHcOY29yZS9wYXJhZ3JhcGh5dyQwMzNjMjk4MS0xYTgzLTQ1ZTQtODA2Ni0wNzU2ZWM5YjVjNTl4dw5jb3JlL3BhcmFncmFwaHl3JGU4MWNlODllLTllNjAtNGFmNS1iZDVkLWU1NWU5ZjY4YjU5Ynh3DmNvcmUvcGFyYWdyYXBoeXckZWQ4YjhiZjgtZTE2Ni00MDE2LTllMzItNTNiNzE3MDA2ZDY1eHcJY29yZS9saXN0eXcAdyQ4YThiY2NjNS0yYjI3LTQzNDktYjA4Yi0zMDQ0OGIxOWQ5OGF4dw5jb3JlL2xpc3QtaXRlbXckZmQ4Y2QwMmYtY2Q1Yi00ZWRmLWFiMjktNDgwZjBmZmU4YzMzeHcOY29yZS9saXN0LWl0ZW13JDgxNTk1YzlhLWU0YTktNDcxZS1hMGU0LTU0OWQ5YTY4MjM5N3h3DmNvcmUvbGlzdC1pdGVtdyRkNTIzMjAwOC1kMzYyLTQxMTItYmI5Zi02YmE5MDQ2NjJlZDh4dw5jb3JlL3BhcmFncmFwaHl3JGM3NTBiNTJmLWIzMjAtNDQ5NS1hYzkzLTBmZDFkZDM5MGEwMXh3DmNvcmUvcGFyYWdyYXBoeXckYTI0Y2ExMTktYjQzNC00NDRjLTk4OWMtMmYyNGNlNzUwYWVmeHcOY29yZS9wYXJhZ3JhcGh5dyRlZjZhYjNkMi0zMjNhLTRkYmYtYTlhOS04MDcxMWFmYzk4NDd4dwljb3JlL2xpc3R5dwB3JDNlNjg0OGViLTRkYWYtNGUxYS1hZjUyLTZjZWJhMGY0NjAyNXh3DmNvcmUvbGlzdC1pdGVtdyRjZWE2ZDg5Ni0xMGFkLTQyMzctODQxZC1hMDFhMzhmZGIyYzd4dw5jb3JlL2xpc3QtaXRlbXckZTYzNDgzYjYtYWZhYi00NTIxLWFmZWEtYjA2MzA5ODQ0MDk2eHcOY29yZS9saXN0LWl0ZW13JDJlZDk1ZmNjLThhODctNGE1Ni1hYTVmLTQ0NmJhOWRmYjRlOXh3DmNvcmUvcGFyYWdyYXBoeXckNTY0ZWU0MjktODhhMi00NWFjLTg4NmMtNzgzYTU1MTU2M2RmeHcOY29yZS9wYXJhZ3JhcGh5dyQyOTViMzljZS0zZDI2LTRmM2ItOWZhNi00MDA1YTcwNDM5NTN4dw5jb3JlL3BhcmFncmFwaHl3JDhlOTAyOGUzLTE2NjUtNGE1MS1iMmIwLWI1MjRmZjIyY2ViZHh3DmNvcmUvcGFyYWdyYXBoeXckZDcxOTYxYzItNzNiMy00ZTkzLWJjNWUtYzEzNTFmMjNlYjYweHcJY29yZS9saXN0eXcAdyQ3MzIzMGVhNC0wMGNiLTQ3OTMtYTE4OS01ZjY3OGQxY2ZiZmJ4dw5jb3JlL2xpc3QtaXRlbXckNmZhOWQ4ZDItMDQxYy00ZjIwLWI4OGEtZjc5ODBiZDA2NmNjeHcOY29yZS9saXN0LWl0ZW13JDljZTMwY2NjLWEzZTItNDRiYi04N2FlLTFlMjUxYmExNzA5Nnh3DmNvcmUvbGlzdC1pdGVtdyQ0MDMyMTU5Ni0yMDY1LTQxMjQtOTFlOC0xOGQ1MzBhY2Q0Njd4dw5jb3JlL3BhcmFncmFwaHl3JGUyZmE1MmY1LWI3MTUtNDdlYy1hMjY2LWU4ODgxYzY5NmEzOXh3DmNvcmUvcGFyYWdyYXBoeXckYzc4ZTNjNjUtNmVmMy00MzExLTliNmYtNjRjNWE2ZjQ3YTQyeHcOY29yZS9wYXJhZ3JhcGh5dyQ3Y2YxOGQ5Ny03OTM3LTQ2NjktYTA5OS1lMTIxYjEzNzdiYTV4dw5jb3JlL3BhcmFncmFwaHl3JDMyZjY2OTRmLTdmNmEtNDIwYi1hMzI0LTYxYzhkZTIwZGE2Znh3CWNvcmUvbGlzdHl3AHckYTFlZGFhOTktOTY4NC00ZGM2LWI4OTItNmViOTJiYTY5ZDdieHcOY29yZS9saXN0LWl0ZW13JGY4YmYxOGVhLTU0ZGMtNDk5Mi05ZTU4LTcyYjZjMDlkZDgwN3h3DmNvcmUvbGlzdC1pdGVtdyQ1MzdjYTIxNC0zYzgxLTQyYmUtOGY4ZS1hNjZhZjRjOTgzZDh4dw5jb3JlL2xpc3QtaXRlbXckYTE0YWZlY2ItMDQ5Ny00MmU0LWIxZjItODk3OTRmYmY4NDhjeHcOY29yZS9wYXJhZ3JhcGh5dyQ0MjNmODM0ZS1lYjQwLTQxMmMtYmEzOC02ZWJjYWExMzUxMzl4dw5jb3JlL3BhcmFncmFwaHl3JDYzMTY4OGNiLTgwYTgtNDRkMS05OWQ5LTgyODA5Y2Q2NTEzNXh3DmNvcmUvcGFyYWdyYXBoeXckOWE3YTJjMTItOTMwYS00YjAyLWJiMzktM2Y1YjhiOTM0NjFkeHcOY29yZS9wYXJhZ3JhcGh5dyQzNjM2NzA2NC0wY2U0LTRmOWItOTZlOC1kMWQ1ZjVlODU0MDd4dwljb3JlL2xpc3R5dwB3JGYyZTczZTM5LWZmZTItNDA2YS04NWI3LWQ3ZDkyMDIyYzA2ZHh3DmNvcmUvbGlzdC1pdGVtdyRiNWZkOGYyNy1hMjVjLTQxZjYtYTkzOS0zMTdjNTZmOWMzY2Z4dw5jb3JlL2xpc3QtaXRlbXckYjVmNDJkZmEtYTMyOC00NzU0LTgzMTctMDQ3YzUwMmY4ODUweHcOY29yZS9saXN0LWl0ZW13JDQwM2RkYTQ0LTgwYjktNDQ1MC1iODQzLWJhOGExMzA5MWM1Ynh3DmNvcmUvbGlzdC1pdGVtdyQ4YzA2MjE0NC1iMzk3LTQzZDgtOTM3OS0wY2QzYjRiYjM4NDZ4dw5jb3JlL2xpc3QtaXRlbXckOTE2MDYxYjktZDQ4Mi00MTE5LWE0NDgtZWZkZjg1ZDA4ODBjeHcOY29yZS9wYXJhZ3JhcGh5dyQ0N2MyZjNiZC02NWE4LTQ1YzktODA0ZS0zNDFkN2NiMWUxZTl4dw5jb3JlL3BhcmFncmFwaHl3JDI5ODFmYzBhLTM0MDUtNDgxOS1iYjYwLTQyYzY3ODU4ZTJmM3h3DmNvcmUvcGFyYWdyYXBoeXckOWNkOGI4ZjYtMDcwOC00NDA1LWI2MGMtZDNlNjU2ZTU3ZjNleHcOY29yZS9wYXJhZ3JhcGh5dyQ3YTA1ZjRlZC03OGU1LTQ5MWQtYmJhYi05NjQ5YjI4NjZiMzR4dwljb3JlL2xpc3R5dwB3JGM1ODM3OWFmLTE2ZjMtNDQ5Zi1iZGFhLWY1MjNlZWM4ZTliMXh3DmNvcmUvbGlzdC1pdGVtdyRhODJlMWU1MC0yZWY2LTQ3MTktYmY3Zi1jNzhmZWViZGVmYjl4dw5jb3JlL2xpc3QtaXRlbXckNTE4YzMyY2EtMTRiOC00YTE1LWE1NzMtNGFkYTQzZDk3ZDJkeHcOY29yZS9saXN0LWl0ZW13JGI0ODIzNWZlLWUzNDQtNDYyNy1iYzM0LTZjNTVlOTMzZmEyYnh3DmNvcmUvbGlzdC1pdGVtdyQ2MmU2NGFhOS0zNDIwLTRiOTUtODEzZS1jZGZmMGU0YTFlNmN4dw5jb3JlL3BhcmFncmFwaHl3JDc2NWMxN2ZiLTVhNTEtNGZlNS1hYzUyLTc5ZjQwZDU2YzdlNnh3DmNvcmUvcGFyYWdyYXBoeXckZWEyMzcwYjQtZjgwMS00ZTkwLTg4NjUtMDFmMjM1MzM4Njg2eHcOY29yZS9wYXJhZ3JhcGh5dyQ1ZGQ2YWE2My00MWI3LTRjYmUtOWI3OC03MzA5M2JmZDRhYjR4dw5jb3JlL3BhcmFncmFwaHl3JDk0ODk0MjRiLTU2MmQtNGQ3MC05MjYyLWRiM2I4NzNiNWVmOHh3DmNvcmUvcGFyYWdyYXBoeXckMDBjODYxYjktODJlZC00OTViLWJkODYtMGMwMWM1ODFjNDY1eHcOY29yZS9wYXJhZ3JhcGh5dyQyODE0Y2RjNS0xN2FjLTQxMDQtYjM4Mi01YzQ3YzQwNmE2OTl4dwljb3JlL2xpc3R5dwB3JGI4ZjcyNjQ0LTZkZWQtNDZhYy05YjY2LWFjMzg2ZGFmY2RlYXh3DmNvcmUvbGlzdC1pdGVtdyRmM2FiMzIwZC1hMDllLTQ0ODYtYTNlOS1jZGFiMWY0NGVhOTV4dw5jb3JlL2xpc3QtaXRlbXckNTliOTYyNDItMTk1NS00ODIxLWEyNDAtMWY0ZTIxODk4ZTE2eHcOY29yZS9saXN0LWl0ZW13JGU5YTIzNDdmLTA5MjYtNGU0ZS1hN2I2LTI4Nzc5MmMxNmI2Mnh3DmNvcmUvcGFyYWdyYXBoeXckMWRiNWY3ZGQtNmRhMi00NGNiLThkNTYtMTQyYWJmNTY3MDlkeHcOY29yZS9wYXJhZ3JhcGh5dyQ0MDUzZDliOS00N2E3LTQxMTUtYWZkZS0zNDkyYWMwNmZmN2F4dw5jb3JlL3BhcmFncmFwaHl3JGI3ODA0Yzk3LThkY2EtNGFmMS1iNTI2LTI2MDQwZGZhNTc5Nnh3DmNvcmUvcGFyYWdyYXBoeXckODk2NDVmOTctZmY1MS00NzhmLWExMmMtYWE1YWFjMTM4NWE2eHcJY29yZS9saXN0eXcAdyRhNGExYjg3Mi1jZTU3LTQ1YzMtYWUzNS0xNWQyMDIzNDk0MTd4dw5jb3JlL2xpc3QtaXRlbXckMTU0MDQ4ZDEtNzc1Ni00YTNiLTk1YTUtMzZjMTc3ODIyZTNmeHcOY29yZS9saXN0LWl0ZW13JDVkODI5NDMwLTM0MGMtNDk2Ny1iOTc5LWI0MjcxOWU1YzQ5ZHh3DmNvcmUvbGlzdC1pdGVtdyQ0YzM0M2JkYy1hMTM2LTRjMGEtYmEzOS03Nzk2NTNkY2U4ZDF4dw5jb3JlL3BhcmFncmFwaHl3JDgzNzUwYTVmLWNjMDAtNDEyNy1iNzNiLTczNjIyYTU2OGVmZXh3DmNvcmUvcGFyYWdyYXBoeXckNTllMzE3ZDctYWZjMC00OWQ4LWEyNTctZmJiYWNlOTg1MDk4eHcOY29yZS9wYXJhZ3JhcGh5dyRhZTkwN2ZiMC05NzNiLTQ5NjYtOGJlZi01ODQ0ZTcxZDM0MTd4dw5jb3JlL3BhcmFncmFwaHl3JGQ3YTJjMGIxLWFmY2MtNDQwZi1iM2VmLTBhN2YwOWEzODkzNHh3CWNvcmUvbGlzdHl3AHckOGZjNzczNjYtODA1NC00Y2I5LTgwZTgtY2RjOWI5MTZlODYweHcOY29yZS9saXN0LWl0ZW13JGUwNmIwMjM1LTIyY2EtNDhhMi1iZGE2LWU4YTdjNWNmMTYwN3h3DmNvcmUvbGlzdC1pdGVtdyQ1ZmY3YzQyZC0yOTM0LTRlMDUtYjE3MS1lMTY4OTdhZjVhMTN4dw5jb3JlL2xpc3QtaXRlbXckNzY5YmJkMzMtYzk1OS00MDk1LWI3YzQtY2RjYTcyYmYyZWY0eHcOY29yZS9wYXJhZ3JhcGh5dyQ1YjIzOThmOS1iNjU3LTQ3NGYtYWQxZS0zYzM0ODQ2OWM0N2J4dw5jb3JlL3BhcmFncmFwaHl3JDU4YjA5Zjg5LTgzZjItNGU4Mi1hM2E4LWMzMTY1YzQyMmU1Ynh3DmNvcmUvcGFyYWdyYXBoeXckZGJlMGY3MTAtMTljOS00MTBhLTgxYmEtMWZhNTRlNTdhNjNieHcOY29yZS9wYXJhZ3JhcGh5dyRlMjZlZWFkMy1lNmEwLTRlODUtYWQwNi00ZDJiYzY0Yzc3NGJ4dwljb3JlL2xpc3R5dwB3JDYyZTU2ZDI0LWJhOTQtNGFlOC04MGIyLTQ4MzVjYmY1OTY5Znh3DmNvcmUvbGlzdC1pdGVtdyQ1MTE2ZDUzOS1hNDU5LTRiZTYtYWU0NS04ZmFkZjc1YmZmYjl4dw5jb3JlL2xpc3QtaXRlbXckYjRkYmNmMzAtMjk2My00ZGJjLTg4ZDAtZjViZjIwMjMxOTU2eHcOY29yZS9saXN0LWl0ZW13JGZjMTYwNDM0LTdhNDgtNDY4OC1hY2ZjLWY5ZGE2MTNjMDM2Nnh3DmNvcmUvcGFyYWdyYXBoeXckNDIwNGIxOTEtYzQ4ZS00NmJmLWE3MmEtMTU5YjRiNTk4Yjc3eHcOY29yZS9wYXJhZ3JhcGh5dyQ2NTE4MzhlNy03NTYxLTRkMDctYWM3Yi1jYTI1NDJiNGMxZDN4dw5jb3JlL3BhcmFncmFwaHl3JDNjZGZjZGI1LTE0ZjEtNDgzOS1hMDZhLTcwNTc1YmM1NjZjZnh3DmNvcmUvcGFyYWdyYXBoeXckYWUwY2UxYzgtMWVhZi00YzRkLTkyZGUtZWVjYjI2OWRmZDhkeHcOY29yZS9wYXJhZ3JhcGh5dyRjZmFlYjZhZC1mYmQ3LTQyODYtOTQxZS1iOWY2YTBiZjczOTd4dw5jb3JlL3BhcmFncmFwaHl3JDFlY2NlZGYyLTM2ZjYtNDc4NS05YWRlLTg4M2IzYjcwOTYxZnh3CWNvcmUvbGlzdHl3AHckOTU3N2MzNmMtODJkYi00MmY5LTg5MGYtNmU5N2Y0Zjk3ZjY0eHcOY29yZS9saXN0LWl0ZW13JDlhZTZmMzYwLWQ0ZWMtNDFlYi05MWIxLWNjNmU2OGU1NWY2M3h3DmNvcmUvbGlzdC1pdGVtdyQ2YjZkNjI2NS01Zjk3LTRmYmMtYTJlMS1hNjljNjIwMDRjZjd4dw5jb3JlL2xpc3QtaXRlbXckMGZkZjI5YmQtMDBjMC00NjkxLWEzYjItNjBmOTFlYTc5NmEyeHcOY29yZS9wYXJhZ3JhcGh5dyRlZjkzMzlhNi0xMzE5LTRjZWMtYWY1OS0zYTcyN2ZiYTZiMjJ4dw5jb3JlL3BhcmFncmFwaHl3JDczYzAyYzFiLWVlMDItNGYyZC1iZTU2LTQ3MjY2YmE1ZjUyNnh3CWNvcmUvbGlzdHl3AHckN2ZmNzEzMjAtZjhmMy00MTZmLTlkOWUtZjAwOGM3MDc0OTk2eHcOY29yZS9saXN0LWl0ZW13JDczMzM2Y2FiLWQ3MzgtNGM4NS04ODcwLTJmMGU1ZWYxMzkxZnh3DmNvcmUvbGlzdC1pdGVtdyQwYzI5YzdlMy1hN2Y3LTQ4OGEtOWE0Mi1hYmE3ZmFhN2UxMDJ4dw5jb3JlL2xpc3QtaXRlbXckM2IwM2Q0ODEtNmI1Ny00MWVmLTgyODEtNTkwZmJhZmUwM2E4eHcOY29yZS9wYXJhZ3JhcGh5dyQyNjFkMTFkOC03YjA4LTQwNzQtYTQwNy0yZTRmODkwOTMzZmN4dw5jb3JlL3BhcmFncmFwaHl3JGQ0YWVjZDdiLTNkN2QtNDJjMC04ODc2LWIyMTZmZjIyMGU5OHh3CWNvcmUvbGlzdHl3AHckZjRlMjFlODItYTc2NC00OGI5LWFkZWItZWY0YzJmZWMyZjE0eHcOY29yZS9saXN0LWl0ZW13JDgxZGQ5OTQ1LTI4YjItNDJmMy1iYWU5LTMzOTgzYjliZDY1NHh3DmNvcmUvbGlzdC1pdGVtdyQ4YWQyZjMxYi03YjI3LTQwYWEtOTRmYi03OTU3NTljZGExNDF4dw5jb3JlL2xpc3QtaXRlbXckMTRmYjAyN2MtODE4YS00Zjk1LWE5OWEtMmJkZjQxNGVlNDU2eHcOY29yZS9wYXJhZ3JhcGh5dyQyYjcwMzVjMy03OTZlLTQxODEtYjNmOC0yOGExMmEyNTIxN2N4dw5jb3JlL3BhcmFncmFwaHl3JDc2ZDlmNTJkLTMyOTgtNDgwMS04MWMxLTA1YzViNmY4NTNjZnh3CWNvcmUvbGlzdHl3AHckYmNjYTYzYjYtNGYwNi00YzYzLThlMjUtZDAzMGRiMzRlZTkweHcOY29yZS9saXN0LWl0ZW13JDg0ZmE3MTM5LTM0ODYtNGQyZi1iZmE1LTg3YTBiZGEwNzljMHh3DmNvcmUvbGlzdC1pdGVtdyQwNGE3MThmMi00NzhjLTQxZWUtOTcyNy00NjgwMDg5M2Q0MGF4dw5jb3JlL2xpc3QtaXRlbXckNjdjMzc1YzMtM2Y2Yy00YzU1LThkYWMtYTVlN2E5YjVhYzQ2eHcOY29yZS9wYXJhZ3JhcGh5dyRhZjRmMWYyYS05ZmQ2LTQyMzItYjA5Ni00NGJkZWJhNzA3Mjl4dw5jb3JlL3BhcmFncmFwaHl3JGYwMWE1ODhmLTRlNDYtNDE5My04NDcwLWM2NGU2ZWEyOTE4Ynh3CWNvcmUvbGlzdHl3AHckOWQ5MGI2MTktYmE3MS00YmE1LTk4YzctMTE5ZGY3NmM0NDdieHcOY29yZS9saXN0LWl0ZW13JDA4YjlhY2UxLWI2NGEtNDVlYi1iMjJjLThjNWM1ZDYwNWQ0ZHh3DmNvcmUvbGlzdC1pdGVtdyQ1M2QwOTAyZS04MmQxLTQ4YjYtOTRhMC0xODNhMGNlOGYyNDR4dw5jb3JlL2xpc3QtaXRlbXckNTkwYTZlYTAtMmY0OS00MDVkLTlmODctYjg1ZTY4MTA1YjNheHcOY29yZS9saXN0LWl0ZW13JGU1ZmJhMjM2LTVhZTMtNDllOS1hODVhLTk3NDdkYzlkZjFkZXh3DmNvcmUvcGFyYWdyYXBoeXckMjIwZDVkYmItMjYwZS00NTQ4LWE0ZmItNjcwZjE4NjRlZjk0eHcOY29yZS9wYXJhZ3JhcGh5dyQ5ZmY3YWI1Ny1lNzFiLTRjZWEtOTQ5MC1kYTZlNzdhZjQzZTd4dw5jb3JlL3BhcmFncmFwaHl3JDMwYzIxM2ZhLTA5YWMtNGNjYS1hODg4LTU5Y2U4YWI3OWNhZXh3DmNvcmUvcGFyYWdyYXBoeXckZjk4MjQwZmEtZTllOC00MzQ2LWIyY2UtYTkwNDhmOGYyM2VkeHcOY29yZS9wYXJhZ3JhcGh5dyRiOWU2MGVmZC0yMDIzLTQ0MjctOGUwYS1hNjA1OTdlYTFkODR4dw5jb3JlL3BhcmFncmFwaHl3JGE3OWQ1NDkzLTlmN2ItNGJkNC04MWE4LTg3NzExYTEyY2JlNHh3CWNvcmUvbGlzdHl3AHckMGEzYzAwZTAtMDI2MC00NjgwLWJlOWQtYTJmNTQ3NmZmYzlkeHcOY29yZS9saXN0LWl0ZW13JDg4YjNjZGE3LTE2MTgtNDc0Yi04ODRlLTU2NTY4MjJjNDA1Nnh3DmNvcmUvbGlzdC1pdGVtdyQwNzQxMWMxNy0zNWUwLTQ0MDAtOGI0OC1jMDMwODE3YzY1MGJ4dw5jb3JlL2xpc3QtaXRlbXckYjNiNGRiNDAtNmM3NS00MzRkLTg2OTEtODdmMjkxOWVlYjNkeHcOY29yZS9saXN0LWl0ZW13JDI5MDRkZTc2LTc4NjktNGI3OS05MTJlLWRmYTc5YmYzODhmMXh3DmNvcmUvcGFyYWdyYXBoeXckZDQxM2Q0N2EtMWZkZC00Yjk0LWI4MmItNGFkYzI5ZDE5ZmMweHcOY29yZS9wYXJhZ3JhcGh5dyRkMTA5NTgzMy00ODM0LTQ2NWYtYmY3My0zZGEwY2JlNzFhYjd4dw5jb3JlL3BhcmFncmFwaHl3JGEyZDhmNDI1LTJmMGMtNGZiZS04ZGIxLWMzNzJkZmMwNGUyMXh3DmNvcmUvcGFyYWdyYXBoeXckYWFiNDZlZTQtNGRkYy00N2Q3LWI4ZTEtMGNkN2Q1YWNkNzQ5eHcJY29yZS9saXN0eXcAdyQxZGJlNDMzZS0wYmU5LTRhYTEtYWJmZS1kMDhmOGRkOWI1YTZ4dw5jb3JlL2xpc3QtaXRlbXckM2UxYzg1NTEtMTA3ZS00YjYyLWI3ZjItNzI0N2Y1NWFmOGU1eHcOY29yZS9saXN0LWl0ZW13JGU4ZjhhODYzLTUxNDEtNGQyZC05MDNlLTg4MTI2N2EwODI0Nnh3DmNvcmUvbGlzdC1pdGVtdyQwMjY3MTg2NC02NjM0LTRlYWItYWEyZi1hODQ0ZjFlZTMxZjR4dw5jb3JlL3BhcmFncmFwaHl3JDQ4MzRhYTg5LTZkZWUtNDQ0NS04MDg0LWYyYzg2MTEyMTU3Mnh3DmNvcmUvcGFyYWdyYXBoeXckOWZmY2Q1NzUtNDU4ZS00ZTExLTg1ZjUtZjgwNzA4M2YzZGNieHcOY29yZS9wYXJhZ3JhcGh5dyRmZGI3NmJmNC0xYzhkLTQ3OTQtODI5MC1jMzcyOTI2MDBkNzh4dw5jb3JlL3BhcmFncmFwaHl3JGNhZGFiMDdmLThkNWMtNDIzNS05OGJmLTEyM2MyNGFkMzM3Ynh3CWNvcmUvbGlzdHl3AHckM2FlOTdkYTYtOTliZi00ZmQ3LTlkMDYtNzAwYTRmZTAxN2FkeHcOY29yZS9saXN0LWl0ZW13JGMzZDJiMGUxLTA0YjgtNDk1ZC1iZWMxLWM5YzlkYmQxNjUwYXh3DmNvcmUvbGlzdC1pdGVtdyRkMTk4Njg3ZS05YTc3LTRlYTYtOWE2NC1jYTljMmEzMDQwNWV4dw5jb3JlL2xpc3QtaXRlbXckMWRlNDBiYmUtMjE4OS00YTJiLTkzYmYtZTRkMWUzY2NiNzE4eHcOY29yZS9saXN0LWl0ZW13JDAyYTdjOTQzLTc2OTAtNDYyMS04Y2Y3LWYwMzQ3ZDU4YWNhMnh3DmNvcmUvcGFyYWdyYXBoeXckODQxODc3MGMtZDljMS00MGE0LWE2N2EtMDNlY2RkYjRhOTUxeHcOY29yZS9wYXJhZ3JhcGh5dyQ2YjE4MDAzZi0xOTBhLTQ1NDItYTAxZS05NmEwNzIwZjY4ODZ4dw5jb3JlL3BhcmFncmFwaHl3JDhkMjRkZDdjLTAxMWMtNGZiOC1hNWUxLTg0YTI5YmJlM2I3Znh3DmNvcmUvcGFyYWdyYXBoeXckNzllYWU2OTgtM2UwNi00ZmMyLTljOGQtNTBhODgzMTJmMDI1eHcJY29yZS9saXN0eXcAdyQ0YzVhYmJiYi1jNTEzLTQxOTUtYjk2YS0wYWRhNTA2ZTIyYTR4dw5jb3JlL2xpc3QtaXRlbXckODZhNzIyNTItZjRkYi00NzM0LTlhZGEtNTgzOWVjNDg1NDJieHcOY29yZS9saXN0LWl0ZW13JGEyMTY4MTJlLWMzNzMtNDU4MS04ZWNhLTE0Zjc4NGFjMjg4MHh3DmNvcmUvbGlzdC1pdGVtdyQ3OWU4MmExYS01MzY5LTQzYTQtYjY4My1mM2YxMTRlMGM0OWF4dw5jb3JlL3BhcmFncmFwaHl3JGM1ZTI3Zjk4LTA3YmQtNGJjZC1iNTNiLWYzMTBiMDU2MjM3ZHh3DmNvcmUvcGFyYWdyYXBoeXckOGFiMzczZjEtNzIwNC00OTBkLWE3MmMtY2VmNzlhOWJmNmQ2eHcOY29yZS9wYXJhZ3JhcGh5dyRlZDIzNDJkYS03OGI5LTRiZTQtYjVjMS01NWRiNzY2OWY0N2F4dw5jb3JlL3BhcmFncmFwaHl3JGFmZGViODIwLTNlNTItNDAxMS05YjkzLWFmNjRiZDE0ZWEwOHh3CWNvcmUvbGlzdHl3AHckZmM5MjkzOGEtZWUwNy00MTkzLWI4NDAtZGQwZDRkODYyZGRheHcOY29yZS9saXN0LWl0ZW13JDQ2NTNmMmFjLTc1YmYtNDUxZS1iMzZmLWE2Yjc1MWIyZDk1N3h3DmNvcmUvbGlzdC1pdGVtdyQ2MWNlZmVmNi03ZWYzLTRlYzQtODNhMi1kYzYxOTdiNGI3ODV4dw5jb3JlL2xpc3QtaXRlbXckNzRjNTkwMmYtY2Q3My00MDhhLTk1Y2EtMDU1NzYwNDcxMTRleHcOY29yZS9wYXJhZ3JhcGh5dyQ2YmZkMDE4My04NDBlLTRkMDctODdjMi0yNjA1YmI3Nzc0Yzl4dw5jb3JlL3BhcmFncmFwaHl3JDE5NmVjYjE3LTQyNjktNDMxMi05OGQyLTdiODkwZjQ5MTg0NHh3DmNvcmUvcGFyYWdyYXBoeXckYjVhMDExMjctZTEyOS00NDhmLWJhNzUtMDljMTExY2ZjNDc0eHcOY29yZS9wYXJhZ3JhcGh5dyQ2Yjc5N2Y4NC0zMzA2LTRlOTUtODhjYi1jNzI4ZWQ4ZmY4NjN4dw5jb3JlL3BhcmFncmFwaHl3JDhjMTNkZTUxLWI5OTMtNDNlNC04N2Y4LTNhNDY4MDVkMjRkZnh3DmNvcmUvcGFyYWdyYXBoeXckY2JjMjM0YjItNTE3OC00ODI5LWJmNDEtZDQyNmYyMzY3ZmM3eHcOY29yZS9wYXJhZ3JhcGh5dyQ3OTYxNjVmNS1lMGJmLTQwZWYtOGJkZC05MmMzNjU5YjhlMTZ4dw5jb3JlL3BhcmFncmFwaHl3JGNmZDc1YWU4LTc0ZGItNGIyYy1iMjI0LTI5MDdlZmQ0Yzk1ZHh3DmNvcmUvcGFyYWdyYXBoeXckZDhlNzRjNzMtMTQ4Yy00Yzk5LWJiYmItYTA3YTZjOTU5MGRjeHcOY29yZS9wYXJhZ3JhcGh5dyRiNDcxNWQ5Yi1mYjg1LTQ4ZjEtYjEwZi1mODQxMjVkYWZiYWZ4dw5jb3JlL3BhcmFncmFwaHl3JDhkZGI0YjAyLWE4ZDAtNDMyZi1hM2VhLTRjODViY2U4MTA3MXh3DmNvcmUvcGFyYWdyYXBoeXckNmZjZWI2MDUtMjEzZC00NzQzLTg2ZTMtYTZjYTA2Y2Q4YTlkeHcOY29yZS9wYXJhZ3JhcGh5dyQ5YjI5YmNmNy1lMGQxLTQwMjctYmFlMS03NDc3MDFhM2RjOWN4dw5jb3JlL3BhcmFncmFwaHl3JDU4Njc1OTU0LWY3YjAtNDQ3Yy04ODllLTczNDk1NWU5MDIxYnh3CmNvcmUvdGFibGV4dQB1BnYBBWNlbGxzdQN2BQN0YWd3AnRkB2NvbnRlbnR3GDxzdHJvbmc+RmVhdHVyZTwvc3Ryb25nPgdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRkB2NvbnRlbnR3JzxzdHJvbmc+VHJhZGl0aW9uYWwgRGVwbG95bWVudDwvc3Ryb25nPgdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92BQN0YWd3AnRkB2NvbnRlbnR3HzxzdHJvbmc+Q0kvQ0QgUGlwZWxpbmU8L3N0cm9uZz4Hcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgEFY2VsbHN1A3YFA3RhZ3cCdGQHY29udGVudHcFU3BlZWQHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dwRTbG93B3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcERmFzdAdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn92AQVjZWxsc3UDdgUDdGFndwJ0ZAdjb250ZW50dwdUZXN0aW5nB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcGTWFudWFsB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcJQXV0b21hdGVkB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YBBWNlbGxzdQN2BQN0YWd3AnRkB2NvbnRlbnR3CkRlcGxveW1lbnQHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dwZNYW51YWwHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dwlBdXRvbWF0ZWQHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgEFY2VsbHN1A3YFA3RhZ3cCdGQHY29udGVudHcGRXJyb3JzB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcJSGlnaCByaXNrB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcITG93IHJpc2sHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgEFY2VsbHN1A3YFA3RhZ3cCdGQHY29udGVudHcLU2NhbGFiaWxpdHkHcm93c3Bhbn8HY29sc3Bhbn8FYWxpZ25\/dgUDdGFndwJ0ZAdjb250ZW50dwdMaW1pdGVkB3Jvd3NwYW5\/B2NvbHNwYW5\/BWFsaWduf3YFA3RhZ3cCdGQHY29udGVudHcESGlnaAdyb3dzcGFufwdjb2xzcGFufwVhbGlnbn91AHckNzQ3NzlkMjMtODE0My00ODNmLTk4NzAtODQ5OWEyY2U2ODgzeHcOY29yZS9wYXJhZ3JhcGh5dyQ3MzQ4NDZlYS1mMzc1LTQ4ZDctYjg0Mi02OWJlNDY1ZmRhNmN4dw5jb3JlL3BhcmFncmFwaHl3JDllZjJkNWJlLTE4YmYtNDYwMy1hOWNlLTc0NWFmY2EyYTgyZnh3DmNvcmUvcGFyYWdyYXBoeXckMjgxNjQzYTAtNWYyZi00NWNiLTk3ZWEtNWZmZWVkNWNhM2JmeHcJY29yZS9saXN0eXcAdyQ5ODc2MzlkYS0wMGRlLTQ0NTctOWMxNS1lYzI5ZDNiODRiZWJ4dw5jb3JlL2xpc3QtaXRlbXckNGJhOTNhOTUtNmJiZS00YmEyLTgzMmEtZTQwYzBiMGIwYTFjeHcOY29yZS9saXN0LWl0ZW13JDVkOTMxYjVmLWJlOGItNDRjNi1hMDdlLTlkNGYwMWZkNWRkNnh3DmNvcmUvbGlzdC1pdGVtdyQ3NTZiZTU0Zi1hNzgxLTRlOGItOWMzMC1lNzQ1OWEwYTk4MDh4dw5jb3JlL3BhcmFncmFwaHl3JGY1ZjYwY2JkLWJkMjAtNGViOS05MzYyLWU4NTE5NjEyMzQwNXh3DmNvcmUvcGFyYWdyYXBoeXckN2E1NWE3MzktNDdlNS00MmU2LWEzZjgtMmI4Njc0MDIzMGRheHcMY29yZS9oZWFkaW5nfQN3JDRmNThlOTdmLTdiZDMtNDRhMy05MjZkLWYxOTQ3YTVjNzgzOHh3DmNvcmUvcGFyYWdyYXBoeXckNDUzNjUyNjYtYzVmZC00NDJmLTgwNjQtYzc3NmQyMjkxZDA5eHcMY29yZS9oZWFkaW5nfQN3JGI1N2Y4Mzc5LTlhNTMtNDU3Yi04ZTllLWYzNDdmZDAzMTlmMHh3DmNvcmUvcGFyYWdyYXBoeXckYjQ4MWVmZmItYzAyZS00ODE4LTgxYWEtZDdlNzMwZWI0MTk0eHcJY29yZS9saXN0eXcAdyRjMDgxZGY3NS0wYWZmLTRlNGItOTVhZi1lZTMxN2JkYWRhNDF4dw5jb3JlL2xpc3QtaXRlbXckNDJkODhjOWItMDM2MC00NWM4LTljMDQtNGFmOWU1YjM0MTI2eHcOY29yZS9saXN0LWl0ZW13JDQyNTBhMWM0LTE1MGItNGE4NS1hYTBlLWIwNzcxNTMzYzE3Znh3DmNvcmUvbGlzdC1pdGVtdyQyZDUyYjYwMi03ZTJiLTQwNWItOGFlOC1mYTMxZGQ3MjE0NjV4dwxjb3JlL2hlYWRpbmd9A3ckNjZlMDdhYWEtNmU5MS00MTRiLWI4NTktY2M2YjBiY2VhMTQzeHcOY29yZS9wYXJhZ3JhcGh5dyRlYjYwZWExZS04ZTU1LTRiZjUtOTU1Yy04MWE1NGZiZTZmMWV4dwxjb3JlL2hlYWRpbmd9A3ckNjA0OTk5NzItNTg5Zi00ZThmLTk2Y2EtMWFhZGIxMDc3ZTY5eHcOY29yZS9wYXJhZ3JhcGh5dyQ5NTk5ZTc3MC05NTk2LTRlZmItYmI5NC1iMjVmNGZjNDcwZjB4dwljb3JlL2xpc3R5dwB3JDhhZmM2ZWY3LWRjMmMtNDMxOS04MTIyLTg1ZGY4OWNhNzNlOXh3DmNvcmUvbGlzdC1pdGVtdyRlMGNkYzc3NS02ZGQ2LTQ0NTgtYjg3ZS1kOTQzMTU3YWNlMjd4dw5jb3JlL2xpc3QtaXRlbXckZTVmZTc2ODItMDY3ZS00ZDYzLTg1Y2QtNjg4NmJkODFjM2Y0eHcOY29yZS9saXN0LWl0ZW13JDY2ZmQ3ZTBjLWNjOGUtNDYyOS1iMmVhLWRjZTc5YTMzYmE0NHh3DmNvcmUvcGFyYWdyYXBoeXckOTUwOGViZDUtYjQ4NS00MjBmLThkNzAtYjRiZTUxM2U2YjkzeHcOY29yZS9wYXJhZ3JhcGh5dyRkMTE2YjEzNC1lYTA2LTRiY2EtYWU5ZS1iNmZjNzAzOThmOGZ4dw5jb3JlL3BhcmFncmFwaHl3JDM5ZmE0OWIyLTc1Y2YtNDYyZC04ZWVhLWQxMTQxNTNhZWFjYXh3DGNvcmUvaGVhZGluZ30DdyRlMTkxOTFlNS1kMTY4LTRhY2ItOGI4NS1iOWEwZDQ2MGUxMmR4dw5jb3JlL3BhcmFncmFwaHl3JGQ0N2YyZTdjLWFiYWEtNGQyZi1iNDRmLWZjZjhmYWVjNTJiNnh3DGNvcmUvaGVhZGluZ30DdyQ1Yzg0ZGEzYS0xZjdkLTQwODEtODcyOS1iMjhlZTJjMDExZjF4dw5jb3JlL3BhcmFncmFwaHl3JGQ3MTA3OWRjLWQyMzEtNGI1Zi1iNTk5LTVmMzZhMzc3MDYyOHh3DGNvcmUvaGVhZGluZ30DdyQwNmYxYzY2ZS03OTBmLTRmMDktODdkMC1hYzlhYjI3YTY4ODF4dw5jb3JlL3BhcmFncmFwaHl3JDNmMWI0NGU3LTM4NTktNDAzYS05ZTZkLTAyYzM0ZjY3MzkyM3h3DGNvcmUvaGVhZGluZ30DdyQ5OTU5ODIwMy0yYmQyLTQyNWYtOGFiOC02ZTZlNTFlMDhmZTh4dw5jb3JlL3BhcmFncmFwaHl3JGU1MDkxZTk3LTUyYzAtNDkwNS1iZWU1LTgyNTY0YTMyZmFhYXh3DmNvcmUvcGFyYWdyYXBoeXckN2MyNzQxMzEtNDEwZC00MmJhLTk3N2YtMDliNjBjNGNjNDNheHcOY29yZS9wYXJhZ3JhcGh5dyRmYzM4MTA3OC0wNzk1LTQ4N2QtYWUzOS00NmE5OWMyZDY0ZjV4dw5jb3JlL3BhcmFncmFwaHl3JDM0ZjJiNmQ3LTAyNTMtNGNkMC05YTNkLTA5YTNlZmI1ZmFlM3h3DmNvcmUvcGFyYWdyYXBoeXckY2QyMmI5YjYtNmYwMS00NmY4LWExN2MtZmJmYWNkNzBkNTNmeHcJY29yZS9saXN0eXcAdyRkNzFkZTgwNC00YjM0LTQyM2ItYmIyYy03Njc2Y2FiZGNmYzZ4dw5jb3JlL2xpc3QtaXRlbXckOTMzYmE3MzEtNDRlNS00NGFmLTk5Y2UtMmRhMTMwYjE2OWIzeHcOY29yZS9saXN0LWl0ZW13JDc5NjZiOGM0LTExMzYtNDEzNC1hMmU0LTYxZTlmNzNmMGFhMXh3DmNvcmUvbGlzdC1pdGVtdyQ4MjUwNmFjOS01ODNmLTRhODUtYjAzYy01ZDQ1MzFiNGEzY2J4dw5jb3JlL2xpc3QtaXRlbXckYWMyNDVhY2UtODBkYi00OWZkLTgyMzQtMzU0ZTFkODU4N2IzeHcOY29yZS9saXN0LWl0ZW13JDVhMTMxOGM2LTdkNGQtNGVjMC1iMGYwLWIwNTU0ODY2NGYwMHh3DmNvcmUvcGFyYWdyYXBoeXckOWFiY2FjYmItNWI3MS00NzU4LWIxN2UtMzM2ZWI2NTNlMWM1dwxjb3JlL2hlYWRpbmd9AnckZTZhZTQ0MDgtMGM0ZS00Y2VkLTk3MTEtMzNmMWEzMzU1YmEwdwxjb3JlL2hlYWRpbmd9AnckNTU1ZjA3ZjUtY2E0YS00OWZlLTk1NjktZjA1NDI3ODc5ZTU4dwxjb3JlL2hlYWRpbmd9Anc2aHR0cHM6Ly91dGhvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9DSS12cy1DRC5qcGVnfb\/xAXc5aHR0cHM6Ly91dGhvLmNvbS9ibG9nL2NpLWNkLXBpcGVsaW5lcy1leHBsYWluZWQvY2ktdnMtY2QvdwRmdWxsdwRub25ldz9odHRwczovL3V0aG8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL0NJLXZzLUNELTEwMjR4NDk0LmpwZWd3BWxhcmdldzZodHRwczovL3V0aG8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL0NJLXZzLUNELmpwZWd3BGZ1bGx3AUN3AkNJdwNDSSB3BENJIHZ3BUNJIHZhdwRDSSB2dwVDSSB2c3cGQ0kgdnMgdwdDSSB2cyBDdwhDSSB2cyBDRHckMjAzZDYxNzEtNDFlYS00YTY4LWFkNTQtY2MxNTBjMDAzYzUydwxjb3JlL2hlYWRpbmd9A3ckY2FkNDFkOWItMmY5ZC00ZGUxLWEyMDQtZjU0ZDdkYzBhZDI1eHcOY29yZS9saXN0LWl0ZW13JDg5MTg3ZTY0LWViYzctNGUyNy1iN2RhLTVkZTBjNWZiOTZjNXh3DmNvcmUvbGlzdC1pdGVtdyQ1ZjY3YWZjOS1iZDJmLTQxMmUtYTcwMy1hZjVjOTUyNjQzYmJ4dw5jb3JlL3BhcmFncmFwaHl3JGJhMTU2MzRkLTM5YWYtNDVhOC1hZDMyLTY0MDAxYzk4YjJkNncMY29yZS9oZWFkaW5nfQN3JDg3ZTgyODEzLTZhOTMtNGZkZC04NDMwLWMzNTdiODE3MTZhN3cMY29yZS9oZWFkaW5nfQN3JDllZGIzOWQ5LWI3ZGMtNDE4NS05ZjViLTZkYjU3ZTgzZTU4NHcMY29yZS9oZWFkaW5nfQN3JDRkNDJmYmQxLTI4MzItNDEzYi1iM2E5LWEwMzQ3MGZiNGVhYXcOY29yZS9wYXJhZ3JhcGh5dyQ3YTIzN2M2ZS01NjA3LTRhY2YtYmJiYi03MjIwOTNkMDM5NTh3DGNvcmUvaGVhZGluZ30DdyRlMzgyZTQ2Ni03ZGJlLTQwZWItYTY2ZC1jM2NiZjFhOGU1M2V3DmNvcmUvcGFyYWdyYXBoeXckYWFiZjczZGYtNWNhMy00MjQxLWE5MDAtNDFmMzJjYjViMjZjdwxjb3JlL2hlYWRpbmd9A3ckZTM4MmU0NjYtN2RiZS00MGViLWE2NmQtYzNjYmYxYThlNTNldw5jb3JlL3BhcmFncmFwaHl3JDJkYzM1OTQxLTc0ZjQtNDJiOC1iNzk1LTVmZTJiZTYwMjg5ZncMY29yZS9oZWFkaW5nfQJ3Qmh0dHBzOi8vdXRoby5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvQ0ktQ0QtUGlwZWxpbmUtU3RhZ2UuanBlZ32A8gF3RWh0dHBzOi8vdXRoby5jb20vYmxvZy9jaS1jZC1waXBlbGluZXMtZXhwbGFpbmVkL2NpLWNkLXBpcGVsaW5lLXN0YWdlL3cEZnVsbHcEbm9uZXdLaHR0cHM6Ly91dGhvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9DSS1DRC1QaXBlbGluZS1TdGFnZS0xMDI0eDQ5NC5qcGVndwVsYXJnZXdCaHR0cHM6Ly91dGhvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9DSS1DRC1QaXBlbGluZS1TdGFnZS5qcGVndwRmdWxsdwFDdwJDSXcDQ0kvdwRDSS9DdwVDSS9DRHcGQ0kvQ0QgdwdDSS9DRCBwdwhDSS9DRCBwaXcJQ0kvQ0QgcGlwdwpDSS9DRCBwaXBldwtDSS9DRCBwaXBlbHcMQ0kvQ0QgcGlwZWxpdw1DSS9DRCBwaXBlbGludw5DSS9DRCBwaXBlbGluZXcPQ0kvQ0QgcGlwZWxpbmUgdxBDSS9DRCBwaXBlbGluZSBzdxFDSS9DRCBwaXBlbGluZSBzdHcSQ0kvQ0QgcGlwZWxpbmUgc3RhdxNDSS9DRCBwaXBlbGluZSBzdGFndxRDSS9DRCBwaXBlbGluZSBzdGFnZXcVQ0kvQ0QgcGlwZWxpbmUgc3RhZ2VzdyQ0N2EyMWQ0MC05NTc0LTQzNWUtODZmYi04YTFkYjkyZmFhNTJ3DGNvcmUvaGVhZGluZ30DdyQyNzFmYTY2Ny02ODQ1LTQzZTQtYmIyYy02YjA4MmQ2OWZmMGJ3DGNvcmUvaGVhZGluZ30DdyRhYWY2ODQwNS01MjIwLTRkZTYtOGM3My1iOTNiMTNkMTIwNGZ3DGNvcmUvaGVhZGluZ30DdyQ4OTcxOTM4Ni1mN2U1LTRkY2EtOWQ2Yi00NDg1MTE3ZTgwOTh3DGNvcmUvaGVhZGluZ30DdyQ3ZDY5NDdhOC0yNTc0LTRjMmQtYjgzMC0xODA3OGUyMTEyZDB3DGNvcmUvaGVhZGluZ30CdyQyYTA3YjQyZi02Y2E1LTQyNTAtYTE2OS0zNDg4NzFjMzk5NjB3DGNvcmUvaGVhZGluZ30DdyRmZGQ2MDUwMC1lNzhmLTRjMmQtOTQ3Yi1hM2Y4MTBmMjVkMmF3DGNvcmUvaGVhZGluZ30CdyRkZGJmNzkzNi05NDhmLTRjNjYtODcwNS0yZDBlZTcxNTU1ZTV3DGNvcmUvaGVhZGluZ30DdyRmMmQwMTczOS1lNTQ1LTQ2MTctOWNiYS1hZjM4NjJmYjQwMDN3DGNvcmUvaGVhZGluZ30DdyQ1YTQ1OTRiZi03ZTlhLTQzYzktYTJkMi1kNjM3YjQ0ZThlZTZ3DGNvcmUvaGVhZGluZ30DdyQ3M2Y1NTc1OC01NGQ3LTQ1MzAtODE1Mi0zZTE0ODI1YzU3YTB3DGNvcmUvaGVhZGluZ30DdyRkMTU1Y2JhZS0zNmVlLTRhYjEtOWY0Yy02OWQxOGRkYWNiZjd3DGNvcmUvaGVhZGluZ30CdyQ0MjNmODM0ZS1lYjQwLTQxMmMtYmEzOC02ZWJjYWExMzUxMzl3DmNvcmUvcGFyYWdyYXBoeXckYWE2NGYyNGYtZGJiZS00ZjA0LThkMTEtMzFmMWFmN2U2MjNmdwxjb3JlL2hlYWRpbmd9AnckNDIzZjgzNGUtZWI0MC00MTJjLWJhMzgtNmViY2FhMTM1MTM5dw5jb3JlL3BhcmFncmFwaHl3JGIxMzc3YzM2LTJjOGMtNDEzMC04YWYwLTI1N2IzMjRlZTRiMXh3DmNvcmUvcGFyYWdyYXBoeXckZWY4OGM4YWItOWIzYS00ZDQyLWI3OTQtNGJhNmNiNjg1NGFldwxjb3JlL2hlYWRpbmd9Anh3JGVmODhjOGFiLTliM2EtNGQ0Mi1iNzk0LTRiYTZjYjY4NTRhZXcMY29yZS9oZWFkaW5nfQJ3JDZjOWU3YWY2LTQ3MWUtNDQ4Ni1iYzEyLTAzMGJiNzM2ZjNkOXcMY29yZS9oZWFkaW5nfQJ3JDc1YzhmMzNlLTExZDItNDM3Zi04ZWRmLWRmY2FkY2JmMjUzMHcMY29yZS9oZWFkaW5nfQJ3JDBlNjc5OWMxLWQ0MmQtNDY5NC1hNTk1LTExNTMyOTI4OGM1NHcMY29yZS9oZWFkaW5nfQN3JGY4YThkOTA4LTc0ZjktNDgyYi1hNmIyLTcyM2Q2OTc5YzQ2NHcMY29yZS9oZWFkaW5nfQN3JDYwNjAwZDU4LWEzYTgtNDg5Ni04NjdlLTgxYWRhMmIwZWUzZncMY29yZS9oZWFkaW5nfQN3JDFhZTYyNzBkLWE1MGItNGQ5Yy04NzgyLTU1OThjYWI2Mzk1YXcMY29yZS9oZWFkaW5nfQN3JDNlYjQ3NDk0LTFlYTMtNGFiMC1hYmRkLWE0NDcxMDZhMGVmNncMY29yZS9oZWFkaW5nfQJ3JGI0OTBkNDY0LTkzMGUtNDdkNS04MjVjLTFjMDk5OWUxMDgyZXcMY29yZS9oZWFkaW5nfQN3JDBhNDA5N2FhLThkODgtNGZjYy1hZmY0LWVhZjU1ZGEyMDQ3ZHcMY29yZS9oZWFkaW5nfQN3JDk0OGIzNGZmLTRkMGYtNDM0YS04MmExLTYzMjE4ZmMyMzNkNHcMY29yZS9oZWFkaW5nfQN3JDRlYTk5YmVmLTdhZjgtNDFlYi05OWM2LTg2MTU1NTg2NTRlZHcMY29yZS9oZWFkaW5nfQN3JDQ1MjgyNThmLTdhZDgtNDQxYS04ZTNlLTAxN2Q3MmEwYzc3ZXcMY29yZS9oZWFkaW5nfQN3JDBlZDM0YjM4LTdiMzAtNGRkNi05YzE3LWUyZTk4NjFhODMwYXcMY29yZS9oZWFkaW5nfQJ3JDQ2OTk0YzA5LTZhMTYtNGFjMy1hNGRlLTBjOTM2OWQ1MjM0M3cMY29yZS9oZWFkaW5nfQN3JDhiODhhYjAxLWUwZjEtNDA1YS1iNDM1LTJhYjJhZWE3YTc2MncMY29yZS9oZWFkaW5nfQN3JDVlMjE2ZDkwLTg3NTgtNDU4ZC1iMjQ3LTViNWNmY2NjMGJhMXcMY29yZS9oZWFkaW5nfQN3JDQwMzE1MDIwLWQ5ZGQtNDQ1Zi1iZmVlLTc3NGQ5YzFkMmRlOHcMY29yZS9oZWFkaW5nfQN3JGE4NWFhZjI2LWQ0NDEtNGFhMC1hOWQyLTlmYzI1NGQ2ODljZncMY29yZS9oZWFkaW5nfQN3JGY5NTY0MzM2LTUwYjktNGI5Ny1hYzE2LWNjNzNhZTMwZmU0NHcMY29yZS9oZWFkaW5nfQJ3JDEyMTQwYmY0LTllOGMtNDgzMS1iZjQ4LWQzZjgxMDZkMGZlNncMY29yZS9oZWFkaW5nfQN3JGFhMzY5NTdkLTUwMmEtNDRkNi05YWU5LTczMDM1ZTM3MzU4Y3cMY29yZS9oZWFkaW5nfQN3JDA4OTJiYWIxLWI2NzktNDEzYi05MjgzLTFhNTAwN2QxOTIyMHcMY29yZS9oZWFkaW5nfQN3JDQyZTg2MDFmLTQ2Y2UtNGZmYy05NmQ3LTc1OGUwNmIwYWViZHcMY29yZS9oZWFkaW5nfQN3JDM2ZjM5ZjAxLWQxYWMtNDM2ZC05NDkyLWJjYmNlOWMwZjNhYXcMY29yZS9oZWFkaW5nfQN3JDljNGE0NmNlLWQzNjktNDI0NS05Zjg2LTY0OTY2Njg3OTBiZncMY29yZS9oZWFkaW5nfQJ3JDAwZGZlYTQ3LTE2ZGEtNDI3My1hMzdlLThiYjA3YWUwY2Y3NHcMY29yZS9oZWFkaW5nfQJ3JGJkMGM2ZWExLWFlZWQtNDJiMC1hNTg1LTUyODI1YjY3YTA4OHcMY29yZS9oZWFkaW5nfQJ3JDgyYzRiOWQ1LTkyNGMtNGIxNC1iNjdiLTJkNWQxYjU2OTIzNXcMY29yZS9oZWFkaW5nfQJ3JDlmNjY4YmVjLWIyZTQtNDE2OC1hZDkyLWNkYTQ0ODg0YWM4OHcMY29yZS9oZWFkaW5nfQN3EzIwMjYtMTAtMThUMTA6NTk6MDB3EzIwMjYtMDYtMThUMTA6NTk6MDB3JDk2NzQ2NzlmLTZkN2QtNDNmZS05YWJjLWY1NDM1ZTFiMGM1M3h3DmNvcmUvcGFyYWdyYXBoeQLildXCDQUBADTTRg4AAQEBAOnN5fIJ+gEAAgHgnQPeBAABACAAjAcGqAMFowIAAQA4AH0GxQEGzgMAAQAsAIQEBkMBrQMAAQAmAI0CVsoBAAEANQDxBQABACgAzAQAAQAsBSIA7gEAAQArAAYBowIAAQAkAIIDAAEAIQCMAwABACMAmwUAAQAmAMIGAAEAOQClBgABACQA1gcAAQAyAAgGxQUAAQArANMEAAEAKQD0AwABACoAswQAAQAgAOwCAAEAiwEAAS+CAwABADUAqAYAAQA7AK8BAAEAJACrAwABACgAowMAAQAsAOYCAAEAKwC1AwABADwAlwEAAQAlAIwBAAEAJgClAQABACQAugEAAQAmALUBAAEAJgCRAwABADIA8wEAAQAyAOwCAAEAKAD\/AgABADUA5wIAAQA7AIIDAAEALQCWAwABACYAbAABACkAfwABACgAcgABACMAeQABACUAfAABACQAegABADIADQABADAAuAIAAQAwAAgGcwaVAQZ4BpEBAAEAMABoBmIGeAZtBokBAAEAHQDMF1X\/BMoB6ARNnANP5QVeygdmFk7sA1ihBFaPAmfUCVrpB1myAl0BTr4DVtsFU+UFVaAKWJMLa64HVsILZCFVhAhdqQdbygZciQdSqgWQAS5d9gVnrwlt3AFWgQZa+QVevAVduQZuxAFXhgNYnwNWtANYrwNY6gVkoAJk8wVa1QVn7gVt2AVf7AVYmQFbrAFanwFVpgFXqQFWpwFkpgRijgViIU6qAVGWA0yxAUz9AmLdAU2aAVKrAVOfAV+VAU\/RCAACAAEBwgGcAQRYBgO\/B1SxBQ4GAAIAAQGjBLMBwAY47wWnAgUHxx8AAQc=\",\"updateId\":663190502}","footnotes":""},"categories":[1],"tags":[],"class_list":["post-14332","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>CI\/CD Pipelines Explained: What You Need to Know Today<\/title>\n<meta name=\"description\" content=\"Learn how CI\/CD pipelines automate software delivery, improve code quality, reduce deployment risks, and accelerate development workflows.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CI\/CD Pipelines Explained: What You Need to Know Today\" \/>\n<meta property=\"og:description\" content=\"Learn how CI\/CD pipelines automate software delivery, improve code quality, reduce deployment risks, and accelerate development workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"Utho\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/uthocloud\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-18T05:29:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-19T09:32:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/CICD-Pipelines-Explained-What-You-Need-to-Know.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"556\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Umesh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@uthocloud\" \/>\n<meta name=\"twitter:site\" content=\"@uthocloud\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Umesh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\"},\"author\":{\"name\":\"Umesh\",\"@id\":\"https:\/\/utho.com\/blog\/#\/schema\/person\/f213e3fcf1ea5603ab66197a9c960b3c\"},\"headline\":\"CI\/CD Pipelines Explained: What You Need to Know\",\"datePublished\":\"2026-06-18T05:29:00+00:00\",\"dateModified\":\"2026-06-19T09:32:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\"},\"wordCount\":3134,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/utho.com\/blog\/#organization\"},\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\",\"url\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\",\"name\":\"CI\/CD Pipelines Explained: What You Need to Know Today\",\"isPartOf\":{\"@id\":\"https:\/\/utho.com\/blog\/#website\"},\"datePublished\":\"2026-06-18T05:29:00+00:00\",\"dateModified\":\"2026-06-19T09:32:53+00:00\",\"description\":\"Learn how CI\/CD pipelines automate software delivery, improve code quality, reduce deployment risks, and accelerate development workflows.\",\"breadcrumb\":{\"@id\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/utho.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CI\/CD Pipelines Explained: What You Need to Know\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/utho.com\/blog\/#website\",\"url\":\"https:\/\/utho.com\/blog\/\",\"name\":\"Utho\",\"description\":\"Tutorials Guides for Linux, Windows and Developers\",\"publisher\":{\"@id\":\"https:\/\/utho.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/utho.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/utho.com\/blog\/#organization\",\"name\":\"Utho\",\"url\":\"https:\/\/utho.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/utho.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/utho.com\/blog\/wp-content\/uploads\/utho_logo_blue.png\",\"contentUrl\":\"https:\/\/utho.com\/blog\/wp-content\/uploads\/utho_logo_blue.png\",\"width\":1147,\"height\":446,\"caption\":\"Utho\"},\"image\":{\"@id\":\"https:\/\/utho.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/uthocloud\",\"https:\/\/twitter.com\/uthocloud\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/utho.com\/blog\/#\/schema\/person\/f213e3fcf1ea5603ab66197a9c960b3c\",\"name\":\"Umesh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/utho.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/afa76ed351f7257e667140e6a5ad997a47e4c0c9e09cb1f81f91e75f72906613?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/afa76ed351f7257e667140e6a5ad997a47e4c0c9e09cb1f81f91e75f72906613?s=96&d=mm&r=g\",\"caption\":\"Umesh\"},\"url\":\"https:\/\/utho.com\/blog\/author\/profito\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CI\/CD Pipelines Explained: What You Need to Know Today","description":"Learn how CI\/CD pipelines automate software delivery, improve code quality, reduce deployment risks, and accelerate development workflows.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/","og_locale":"en_US","og_type":"article","og_title":"CI\/CD Pipelines Explained: What You Need to Know Today","og_description":"Learn how CI\/CD pipelines automate software delivery, improve code quality, reduce deployment risks, and accelerate development workflows.","og_url":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/","og_site_name":"Utho","article_publisher":"https:\/\/www.facebook.com\/uthocloud","article_published_time":"2026-06-18T05:29:00+00:00","article_modified_time":"2026-06-19T09:32:53+00:00","og_image":[{"width":1024,"height":556,"url":"https:\/\/utho.com\/blog\/wp-content\/uploads\/CICD-Pipelines-Explained-What-You-Need-to-Know.jpg","type":"image\/jpeg"}],"author":"Umesh","twitter_card":"summary_large_image","twitter_creator":"@uthocloud","twitter_site":"@uthocloud","twitter_misc":{"Written by":"Umesh","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#article","isPartOf":{"@id":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/"},"author":{"name":"Umesh","@id":"https:\/\/utho.com\/blog\/#\/schema\/person\/f213e3fcf1ea5603ab66197a9c960b3c"},"headline":"CI\/CD Pipelines Explained: What You Need to Know","datePublished":"2026-06-18T05:29:00+00:00","dateModified":"2026-06-19T09:32:53+00:00","mainEntityOfPage":{"@id":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/"},"wordCount":3134,"commentCount":0,"publisher":{"@id":"https:\/\/utho.com\/blog\/#organization"},"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/","url":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/","name":"CI\/CD Pipelines Explained: What You Need to Know Today","isPartOf":{"@id":"https:\/\/utho.com\/blog\/#website"},"datePublished":"2026-06-18T05:29:00+00:00","dateModified":"2026-06-19T09:32:53+00:00","description":"Learn how CI\/CD pipelines automate software delivery, improve code quality, reduce deployment risks, and accelerate development workflows.","breadcrumb":{"@id":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/utho.com\/blog\/ci-cd-pipelines-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/utho.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CI\/CD Pipelines Explained: What You Need to Know"}]},{"@type":"WebSite","@id":"https:\/\/utho.com\/blog\/#website","url":"https:\/\/utho.com\/blog\/","name":"Utho","description":"Tutorials Guides for Linux, Windows and Developers","publisher":{"@id":"https:\/\/utho.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/utho.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/utho.com\/blog\/#organization","name":"Utho","url":"https:\/\/utho.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/utho.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/utho.com\/blog\/wp-content\/uploads\/utho_logo_blue.png","contentUrl":"https:\/\/utho.com\/blog\/wp-content\/uploads\/utho_logo_blue.png","width":1147,"height":446,"caption":"Utho"},"image":{"@id":"https:\/\/utho.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/uthocloud","https:\/\/twitter.com\/uthocloud"]},{"@type":"Person","@id":"https:\/\/utho.com\/blog\/#\/schema\/person\/f213e3fcf1ea5603ab66197a9c960b3c","name":"Umesh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/utho.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/afa76ed351f7257e667140e6a5ad997a47e4c0c9e09cb1f81f91e75f72906613?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/afa76ed351f7257e667140e6a5ad997a47e4c0c9e09cb1f81f91e75f72906613?s=96&d=mm&r=g","caption":"Umesh"},"url":"https:\/\/utho.com\/blog\/author\/profito\/"}]}},"_links":{"self":[{"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/posts\/14332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/comments?post=14332"}],"version-history":[{"count":4,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/posts\/14332\/revisions"}],"predecessor-version":[{"id":15489,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/posts\/14332\/revisions\/15489"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/media\/14333"}],"wp:attachment":[{"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/media?parent=14332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/categories?post=14332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/tags?post=14332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}