{"id":15320,"date":"2026-05-09T14:25:26","date_gmt":"2026-05-09T08:55:26","guid":{"rendered":"https:\/\/utho.com\/blog\/?p=15320"},"modified":"2026-05-11T14:26:54","modified_gmt":"2026-05-11T08:56:54","slug":"sed-command-in-linux-examples-tutorial","status":"publish","type":"post","link":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/","title":{"rendered":"Sed Command in Linux: How to Use (With Examples)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The sed command in Linux is a very useful tool for working with text. It helps you edit and change text automatically without opening files in editors like nano or vim.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is very helpful when you are working with large log files, configuration files or scripts. In real jobs like DevOps system administration and scripting people often need to repeat the same changes many times.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Doing this manually takes a lot of time and effort. Sed solves this problem by letting you make changes with just one simple command.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide is written in very simple words so beginners can understand it easily. It explains step by step how things work and also gives simple examples.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main goal is not only to learn commands but to understand how sed is used in real world work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is the sed Command?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>sed<\/strong> command stands for:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Stream Editor<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A stream editor is a simple tool that reads text one line at a time and processes it like a continuous flow of data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It takes each line, applies the required changes and then shows the updated result.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike normal text editors it does not open files in a window and you do not edit anything manually by clicking or typing inside an editor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead sed works in the background automatically it reads the file, makes changes and prints the final output.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In simple words used is a tool that edits text automatically using commands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>For example<\/strong> if you have a large log file with thousands of lines and you want to replace a word like error with warning you do not need to edit each line one by one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can simply run one sed command and complete the task in seconds.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why sed is considered a very useful tool for saving time and automating text changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why sed is Important in Linux<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Understanding sed is important because it is used in many real-world tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are some common situations where sed is used:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cleaning log files<\/li>\n\n\n\n<li>Updating configuration settings<\/li>\n\n\n\n<li>Replacing text in multiple files<\/li>\n\n\n\n<li>Removing unwanted lines<\/li>\n\n\n\n<li>Formatting data<\/li>\n\n\n\n<li>Automating repetitive tasks<\/li>\n\n\n\n<li>Processing large datasets<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In production servers, automation is very important. Commands like sed help administrators manage systems efficiently and reduce human errors.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Features of sed<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The sed command provides many powerful features that make it useful in everyday Linux work.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Search and replace text automatically<\/strong><\/li>\n\n\n\n<li><strong>Edit files without opening them<\/strong><\/li>\n\n\n\n<li><strong>Delete or insert lines<\/strong><\/li>\n\n\n\n<li><strong>Support for regular expressions<\/strong><\/li>\n\n\n\n<li><strong>Process multiple files at once<\/strong><\/li>\n\n\n\n<li><strong>Work with pipelines and scripts<\/strong><\/li>\n\n\n\n<li><strong>Handle large files efficiently<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">These features make sed one of the core tools in Linux text processing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Basic Syntax of the sed Command<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The basic syntax of the sed command is:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed [options] &#8216;command&#8217; file<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s understand each part clearly.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>sed<\/strong> \u2192 The command name<\/li>\n\n\n\n<li><strong>options<\/strong> \u2192 Control how the command works<\/li>\n\n\n\n<li><strong>command<\/strong> \u2192 The action to perform<\/li>\n\n\n\n<li><strong>file<\/strong> \u2192 The input file<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Think of it like this:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed \u2192 What tool to use<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">options \u2192 How to run it<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">command \u2192 What action to perform<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">file \u2192 Where to apply it<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/hello\/world\/&#8217; sample.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This command searches for the word <strong>hello<\/strong> and replaces it with <strong>world<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding the Substitute Command (s)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The most commonly used operation in sed is substitution.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Syntax:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">s\/old\/new\/<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Explanation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>s<\/strong> \u2192 substitute (replace)<\/li>\n\n\n\n<li><strong>old<\/strong> \u2192 text to find<\/li>\n\n\n\n<li><strong>new<\/strong> \u2192 replacement text<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/apple\/mango\/&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the file contains:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I like apple<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Output:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I like mango<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Important note:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default sed only replaces the first match in each line. This means if a word appears many times in one line only the first one will be changed. This is done to avoid unwanted changes in the text. If you want to replace every match in a line you need to use a special option called the global flag<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Replace All Occurrences Using Global Flag<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To replace every occurrence in a line, use the <strong>g flag<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/apple\/mango\/g&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>g<\/strong> = global replacement<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Without g:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">apple apple apple<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Output:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">mango apple apple<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With g:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">mango mango mango<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This small flag makes a big difference in real-world automation tasks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>In-Place Editing (Permanent Changes)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Normally, sed only shows the output on the screen. It does not modify the original file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To permanently change the file, use:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed -i &#8216;s\/Linux\/Unix\/g&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>-i = in-place editing<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This means the file will be updated directly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Important best practice:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Always test the command first <strong>without <\/strong><strong>-i<\/strong> to make sure the result is correct.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Create Backup Before Editing<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When working on important files, it is safer to create a backup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed -i.bak &#8216;s\/Linux\/Unix\/g&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This command will:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Modify the file<\/li>\n\n\n\n<li>Create a backup copy<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Example backup file:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">file.txt.bak<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is very useful in production environments where mistakes can cause serious issues.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Delete Specific Lines<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can delete lines using the d command.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;2d&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Delete line number 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the file contains:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Line 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Line 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Line 3<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Output:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Line 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Line 3<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This feature is commonly used to remove unwanted data from files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Delete Multiple Lines<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;2,4d&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Delete lines from 2 to 4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is very useful when you want to remove certain parts of data from configuration files or log files<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can delete lines based on a specific pattern or word instead of using line numbers<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This makes it easier to find and remove unwanted lines automatically<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Delete lines matching a pattern<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can tell the tool to remove all lines that contain a particular word or pattern<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This saves time and helps manage large files more easily<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;\/error\/d&#8217; logfile.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Delete every line that contains the word <strong>error<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Real-world example:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cleaning system logs by removing error messages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Print Specific Lines<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes you only want to display certain lines.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed -n &#8216;1,3p&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Explanation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>-n<\/strong> \u2192 hide normal output<\/li>\n\n\n\n<li><strong>p<\/strong> \u2192 print selected lines<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This command prints only lines 1 to 3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This feature is helpful when analyzing large files and focusing on specific sections.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Insert Text Before a Line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;2i This is new line&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Insert text before line 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use case:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adding headers to configuration files.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Append Text After a Line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;2a This is appended text&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add text after line 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is commonly used in scripts to add new configuration values.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Replace Entire Line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;2c This is replaced line&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace the entire content of line 2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is useful when updating outdated configuration settings.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Remove Empty Lines<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;\/^$\/d&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Explanation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>^$<\/strong> \u2192 empty line<\/li>\n\n\n\n<li><strong>d<\/strong> \u2192 delete<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This command is used to remove empty lines from a file<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cleaning a file in this way makes it easier to read and understand<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It also helps reduce the file size by removing unnecessary spaces<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Replace text at the beginning of a line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can also use commands to change text that appears at the start of each line<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is useful when you want to update prefixes or standardize the format of a file<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/^Linux\/Unix\/&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace the word only if it appears at the start of the line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Symbol:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">^ = beginning of line<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This allows precise control over replacements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Replace Text at the End of a Line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/error$\/warning\/&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Symbol:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$ = end of line<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This ensures the replacement happens only at the end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Case-Insensitive Replacement<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/linux\/Unix\/I&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace text regardless of uppercase or lowercase.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Matches:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>linux<\/li>\n\n\n\n<li>Linux<\/li>\n\n\n\n<li>LINUX<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is helpful when working with inconsistent data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Replace Text in a Range of Lines<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;1,3 s\/Linux\/Unix\/&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replace text only between lines 1 and 3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This prevents changes in other parts of the file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Extract Lines Between Two Patterns<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed -n &#8216;\/start\/,\/end\/p&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Meaning:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Print lines between:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">start<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">and<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">end<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is useful for extracting sections from logs or reports.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Process Multiple Files<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Command:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed -i &#8216;s\/old\/new\/g&#8217; file1.txt file2.txt file3.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This command updates multiple files at once.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In automation scripts, this saves a lot of time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Real-World Examples<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example 1: Clean Log File<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;\/error\/d&#8217; system.log<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Removes error messages from logs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example 2: Update Port Number<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">sed -i &#8216;s\/8080\/9090\/&#8217; config.conf<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Changes application port.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example 3: Remove Comments<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;\/^#\/d&#8217; config.conf<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deletes comment lines.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example 4: Extract Only Errors<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">sed -n &#8216;\/ERROR\/p&#8217; logfile.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shows only error lines.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Performance Tips for Large Files<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When working with large files, performance becomes important.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 1: Use -n to Reduce Output<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">sed -n &#8216;\/pattern\/p&#8217; largefile.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This reduces unnecessary processing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 2: Combine Commands<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of running multiple commands separately, combine them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed -e &#8216;s\/error\/warning\/&#8217; -e &#8216;\/debug\/d&#8217; file.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This improves efficiency.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tip 3: Use Pipes<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">cat file.txt | sed &#8216;s\/error\/warning\/&#8217;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pipes allow direct data processing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>sed in Shell Scripts<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Example script:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#!\/bin\/bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sed &#8216;s\/foo\/bar\/g&#8217; input.txt > output.txt<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This script automatically replaces text.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Automation scripts like this are widely used in DevOps and system management.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1216\" src=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/image-7.jpeg\" alt=\"sed vs grep vs awk\" class=\"wp-image-15322\" srcset=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/image-7.jpeg 1536w, https:\/\/utho.com\/blog\/wp-content\/uploads\/image-7-300x238.jpeg 300w, https:\/\/utho.com\/blog\/wp-content\/uploads\/image-7-768x608.jpeg 768w, https:\/\/utho.com\/blog\/wp-content\/uploads\/image-7-1024x811.jpeg 1024w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Practices for Using sed<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Always test commands first<\/li>\n\n\n\n<li>Create backup files<\/li>\n\n\n\n<li>Use simple commands<\/li>\n\n\n\n<li>Combine operations<\/li>\n\n\n\n<li>Use regular expressions carefully<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Following these practices prevents errors and improves reliability.<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The sed command is a very useful tool in Linux for working with text. It helps you do text changes automatically without doing it by hand. It is also very fast and works well with big files. You can use it directly from the command line.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Learning sed is very important for anyone working with:<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Linux<\/li>\n\n\n\n<li><a href=\"https:\/\/utho.com\/blog\/what-is-devops\/\">DevOps<\/a><\/li>\n\n\n\n<li>System Administration<\/li>\n\n\n\n<li>Shell Scripting<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once you master sed, many daily tasks become faster and easier.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction The sed command in Linux is a very useful tool for working with text. It helps you edit and change text automatically without opening files in editors like nano or vim. This is very helpful when you are working with large log files, configuration files or scripts. In real jobs like DevOps system administration [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":15324,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AAAH+8mPtBKuFrwWGlQcogEBAQgASAIFAEJIkAEBAQgCQkgAoAUBAQgCQkgAugYBAQgCQkgAmgQBAQgCQkgAhAUBAQgCQkgAkgMBAQgCQkgAogEBAQgCQkgAqAEBAQgCQkgAjAEBAQgCQkgAuAMBAQgCQkgAtgIBAQgCQkgApgQBAQgCQkgArgMBAQgCQkgAqAIBAQgCQkgAvAUBAQgCQkgAmAIBAQgCQkgAigMBAQgCQkgArAEBAQgCQkgApgIBAQgCQkgAtAEBAQgASA4CAQEIAkoAMgEBCAJKAIwBAQEIAkoAjgEBAQgCSgA8AQEIAkoALAEBCAJKAIQBAQEIAkrIBogHAQEIAkJIAKwEAQEIAkJIAJgBAQEIAkJIAIYDAQEIAEgOAgEBCAJKALoBAQEIAkoArgEBAQgCSgCcAQEBCAJKAK4BAQEIAkoArAEBAQgCSgCuAQEBCAJK3AqIDAEBCAJCSACeAgEBCAJCSACwAQEBCAJCSACeAQEBCAJCSACIAQEBCAJCSACWAQEBCABIDgIBAQgCSgCcAQEBCAJKAL4BAQEIAkoArgEBAQgCStgFsgYBAQgCQkgAPAEBCAJCSAA8AQEIAkJIAD4BAQgCQkgAkAEBAQgCQkgAgAEBAQgCQkgAIAEBCAJCSACOAQEBCAJCSACcAwEBCAJCSACCAgEBCAJCSACAAgEBCAJCSAAeAQEIAkJIACQBAQgCQkgAKAEBCABIDgIBAQgCSgCgAQEBCAJKAJQBAQEIAkrEA6AEAQEIAkJIAIIBAQEIAkJIAIoBAQEIAkJIADoBAQgCQkgAKAEBCAJCSACAAQEBCAJCSAAoAQEIAkJIAJABAQEIAkJIAKYJAQEIAkJIAIQCAQEIAkJIAJ4CAQEIAkJIACABAQgCQkgAjAEBAQgCQkgAIAEBCABIDgIBAQgCSlCsAQEBCAJCSAAkAQEIAkJIADIBAQgCQkgAHgEBCAJCSAAyAQEIAkJIAB4BAQgCQkgAMgEBCAJCSACcAgEBCAJCSAC6AQEBCAJCSACAAwEBCAJCSACYAQEBCAJCSACQAQEBCAJCSAAaAQEIAkJIAJwBAQEIAkJIAKoBAQEIAkJIAIABAQEIAkJIAKwDAQEIAkJIAKoBAQEIAkJIAJACAQEIAkJIACABAQgCQkgAmAEBAQgCQkgANAEBCABIDgIBAQgCSgAsAQEIAkp8sgEBAQgCQkgAOAEBCAJCSAAoAQEIAkJIAL4CAQEIAkJIAJwBAQEIAkJIAKIBAQEIAkJIACABAQgCQkgAMgEBCAJCSAAgAQEIAkJIADoBAQgCQkgAOgEBCAJCSAAcAQEIAkJIABwBAQgCQkgAHAEBCAJCSAAeAQEIAkJIABwBAQgCQkgAHAEBCAJCSACSAgEBCAJCSACcAQEBCAJCSAAgAQEIAkJIADYBAQgCQkgAIAEBCAJCSACCAQEBCAJCSACeAwEBCAJCSAC8AgEBCAJCSACYAgEBCAJCSACwAQEBCAJCSAC2AgEBCAJCSACAAgEBCAJCSAAgAQEIAkJIAIQBAQEIAkJIACABAQgCQkgAkAIBAQgCQkgANgEBCAJCSACwAQEBCAJCSACaAQEBCAJCSACyAQEBCAJCSAAgAQEIAkJIADwBAQgCQkgAKAEBCABIDgIBAQgCSgCeAQEBCAJK7gGOAwEBCAJCSACcAQEBCAJCSAC6AgEBCAJCSACkAQEBCAJCSAAgAQEIAkJIAJQBAQEIAkJIACABAQgCQkgAhAEBAQgCQkgAIgEBCAJCSACcAQEBCAJCSACiAQEBCAJCSAAgAQEIAkJIAJ4BAQEIAkJIACABAQgCQkgAPAEBCAJCSACSAgEBCAJCSACYAQEBCAJCSAAgAQEIAkJIAJ4BAQEIAkJIACABAQgCQkgAmgEBAQgCQkgAigIBAQgCQkgAlgEBAQgCQkgAIAEBCAJCSAA4AQEIAkJIACgBAQgASA4CAQEIAkoAjgEBAQgCSt4BogIBAQgCQkgAvAEBAQgCQkgAlAIBAQgCQkgAkgIBAQgCQkgAgAIBAQgCQkgArgIBAQgCQkgAtgIBAQgCQkgAIAEBCAJCSACKAQEBCAJCSAAgAQEIAkJIAIoCAQEIAkJIAB4BAQgCQkgAOgEBCAJCSACsAQEBCAJCSAC0AQEBCAJCSAAgAQEIAkJIAJABAQEIAkJIAB4BAQgCQkgALgEBCAJCSAC6AQEBCAJCSACqAQEBCAJCSAAgAQEIAkJIAIoBAQEIAkJIACABAQgCQkgAtAEBAQgCQkgAIAEBCABIDgIBAQgCSgAYAQEIAkoAGAEBCAJKwAGYAQEBCAJCSAC4AQEBCAJCSACyAQEBCAJCSAAgAQEIAkJIAJABAQEIAkJIACABAQgCQkgAoAEBAQgCQkgAsgEBAQgCQkgAtgEBAQgCQkgAIAEBCAJCSACQAQEBCAJCSAAgAQEIAkJIADgBAQgCQkgAGgEBCAJCSAAWAQEIAkJIABYBAQgCQkgAiAIBAQgCQkgAngEBAQgCQkgAIAEBCAJCSAC0AQEBCAJCSACoAQEBCAJCSACwAQEBCAJCSACYAQEBCAJCSACkAQEBCAJCSACCAQEBCAJCSACSAQEBCAJCSACsAQEBCAJCSACSAQEBCAJCSACCAQEBCAJCSACmAQEBCAJCSAA+AQEIAkJIADwBAQgCQkgArgEBAQgCQkgAigEBAQgCQkgAPgEBCAJCSACyAQEBCAIOAgUBAgQCCgIIAgYCDAIEAwIEAwEEAgQCBAL6AUgAigIBAQgCCAIFAAMBBAIEAwMIAgQDAQYCDgMA3AFIAK4BAQEIAkJIAJIBAQEIAkJIAJgBAQEIAkJIAKABAQEIAkJIAIwCAQEIAkJIALABAQEIAkJIAIIBAQEIAkJIAJIBAQEIAkJIAJoBAQEIAkJIAJYBAQEIAkJIAJoBAQEIAkJIAC4BAQgCQkgAJgEBCAI4CMIBSACmAQEBCAJCSACgAQEBCAJCSACqAgEBCABIABABAQgCQkgAqgEBAQgASA4CAQEIAkoAggEBAQgCSgA0AQEIAkoANAEBCAJKADIBAQgCSuwDvAQBAQgCQkgAuAIBAQgCQkgAqgcBAQgCQkgAoAIBAQgASA4CAQEIAkoAGAEBCAJKABoBAQgCSgA4AQEIAkr6AaYCAQEIAkJI1hYBAqgYAgQC1o4DhLIDvAKWLoYDhiGyAqohigOwLJwDgjCeA7QflAOWGYQDrBq2ArIctgKwFYoDgjO+AoAOvAK6DLICkA2wAqYYmgO6GY4DhAyEA7IWjAOwDJADuBG4Ap4LtAIomgIsjAWGA44FgAO0BIgDggWMA6gDjAOOBroClAmsAqoFtAK6BKYBhgqmBCiEA74OkgSICboDvgMg1I4JBAKmlQPO9AIEArQRBAK+EgQCqBYEApIaBAKWzwKMJJwkui+eM\/DsAwQCqA8EArAMBAKaCwQCgA0EArLaA6ocsB2oH6YYzLMEBAK0BgQCiAcEApQHBAKUDAQCtg4EAqQGBAKSCQQCmKgEvhC2D4IQlhuUHZIPthnyswUEAoYIBAKEBwQCkgGeAZoCBAK6AwQCmgMEAqIFBBQIBwAMEhQEDAcB+gGEAgQOBAYEBwACBAIQAwAYAtwBqKAHAgYCBAIEAsyiB5CiB\/qhB4KiB\/ahBwa6oQcCBgryoQe2oQcCDAoECgYUBvihB4KiB\/ChB7qhB+KhB+QFBAKcFpCNBYgVshGGA4wFlAi0B4oIoCy4kAGAAdShBwQCmAYEArwDBAKoCAQCoAYEApwKBAKUxQWaCY4MlgioGIISmg3AmAbsFIKIBqIsppgBkAf8yQqk\/Qjw\/QgCGr7OCgKMAY6yA5IxjCScJLovnjOSI6ocsB2oH6YYjDa+ELYPghCWG5Qdkg+2GfyRBRAIBwAMEhQEDAcBEgoEBgQHAAIEAhADABgC5AMQCAcADAoIDgcBBAcBEg4GBAYIBgsACBKEEZCNBYgVshGGA4wFlAi0B4oIoCzsJZoJjgyWCKgYghKaDcyYBqLzBaIsppgB2RsoACEBJwIoBicAKAAhACgAJwAEAAcAKAInASgAJwCoAQQAKACHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBACEHigAJwCHACgCJwEEAIQZKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAhAEoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAAnAYcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAKASoAwQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhAGBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAKgBKADEAKgBKACoASgAqAEoAKgBKACoASgAxASoASgAqAEoAKgBKACoASgAqAEoAMQEqAEoAKgBKACoASgAqAEoAKgBKACoASgAqAEoAKgBKADEB6gBKACoASgAqAEoAKgDKACoASgAqAEoAKgBRADECygAqAFEAMQNKACoAcQPqALECqgCKADECagDKACoASgAqAEoAKgBKACoASgAqAEoAMQGRACEAKgAwQDEAKgCxAAoAKgAoQCoACgBqLKtA\/6ZA3N0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZWRvY3VtZW50Y29udGVudGRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnRzdGlja3lkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRmb3JtYXRkb2N1bWVudG1ldGFmb290bm90ZXNkb2N1bWVudGNhdGVnb3JpZXNkb2N1bWVudHRhZ3Nkb2N1bWVudGJsb2Nrc1NlZCBDb21tYW5kIGluIExpbnV4OiBIb3cgdG8gVXNlIChXaXRoIEV4YW1wbGVzKWNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2NrczxzdHJvbmc+SW50cm9kdWN0aW9uPC9zdHJvbmc+bGV2ZWxjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgc2VkIGNvbW1hbmQgaW4gTGludXggaXMgYSB2ZXJ5IHVzZWZ1bCB0b29sIGZvciB3b3JraW5nIHdpdGggdGV4dC4gSXQgaGVscHMgeW91IGVkaXQgYW5kIGNoYW5nZSB0ZXh0IGF1dG9tYXRpY2FsbHkgd2l0aG91dCBvcGVuaW5nIGZpbGVzIGluIGVkaXRvcnMgbGlrZSBuYW5vIG9yIHZpbS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGlzIHZlcnkgaGVscGZ1bCB3aGVuIHlvdSBhcmUgd29ya2luZyB3aXRoIGxhcmdlIGxvZyBmaWxlcywgY29uZmlndXJhdGlvbiBmaWxlcyBvciBzY3JpcHRzLiBJbiByZWFsIGpvYnMgbGlrZSBEZXZPcHMgc3lzdGVtIGFkbWluaXN0cmF0aW9uIGFuZCBzY3JpcHRpbmcgcGVvcGxlIG9mdGVuIG5lZWQgdG8gcmVwZWF0IHRoZSBzYW1lIGNoYW5nZXMgbWFueSB0aW1lcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREb2luZyB0aGlzIG1hbnVhbGx5IHRha2VzIGEgbG90IG9mIHRpbWUgYW5kIGVmZm9ydC4gU2VkIHNvbHZlcyB0aGlzIHByb2JsZW0gYnkgbGV0dGluZyB5b3UgbWFrZSBjaGFuZ2VzIHdpdGgganVzdCBvbmUgc2ltcGxlIGNvbW1hbmQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBndWlkZSBpcyB3cml0dGVuIGluIHZlcnkgc2ltcGxlIHdvcmRzIHNvIGJlZ2lubmVycyBjYW4gdW5kZXJzdGFuZCBpdCBlYXNpbHkuIEl0IGV4cGxhaW5zIHN0ZXAgYnkgc3RlcCBob3cgdGhpbmdzIHdvcmsgYW5kIGFsc28gZ2l2ZXMgc2ltcGxlIGV4YW1wbGVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBtYWluIGdvYWwgaXMgbm90IG9ubHkgdG8gbGVhcm4gY29tbWFuZHMgYnV0IHRvIHVuZGVyc3RhbmQgaG93IHNlZCBpcyB1c2VkIGluIHJlYWwgd29ybGQgd29yay5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPldoYXQgaXMgdGhlIHNlZCBDb21tYW5kPzwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSA8c3Ryb25nPnNlZDwvc3Ryb25nPiBjb21tYW5kIHN0YW5kcyBmb3I6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TdHJlYW0gRWRpdG9yPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBzdHJlYW0gZWRpdG9yIGlzIGEgc2ltcGxlIHRvb2wgdGhhdCByZWFkcyB0ZXh0IG9uZSBsaW5lIGF0IGEgdGltZSBhbmQgcHJvY2Vzc2VzIGl0IGxpa2UgYSBjb250aW51b3VzIGZsb3cgb2YgZGF0YS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJdCB0YWtlcyBlYWNoIGxpbmUsIGFwcGxpZXMgdGhlIHJlcXVpcmVkIGNoYW5nZXMgYW5kIHRoZW4gc2hvd3MgdGhlIHVwZGF0ZWQgcmVzdWx0LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVubGlrZSBub3JtYWwgdGV4dCBlZGl0b3JzIGl0IGRvZXMgbm90IG9wZW4gZmlsZXMgaW4gYSB3aW5kb3cgYW5kIHlvdSBkbyBub3QgZWRpdCBhbnl0aGluZyBtYW51YWxseSBieSBjbGlja2luZyBvciB0eXBpbmcgaW5zaWRlIGFuIGVkaXRvci5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbnN0ZWFkIHNlZCB3b3JrcyBpbiB0aGUgYmFja2dyb3VuZCBhdXRvbWF0aWNhbGx5IGl0IHJlYWRzIHRoZSBmaWxlLCBtYWtlcyBjaGFuZ2VzIGFuZCBwcmludHMgdGhlIGZpbmFsIG91dHB1dC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBzaW1wbGUgd29yZHMgdXNlZCBpcyBhIHRvb2wgdGhhdCBlZGl0cyB0ZXh0IGF1dG9tYXRpY2FsbHkgdXNpbmcgY29tbWFuZHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Gb3IgZXhhbXBsZTwvc3Ryb25nPiBpZiB5b3UgaGF2ZSBhIGxhcmdlIGxvZyBmaWxlIHdpdGggdGhvdXNhbmRzIG9mIGxpbmVzIGFuZCB5b3Ugd2FudCB0byByZXBsYWNlIGEgd29yZCBsaWtlIGVycm9yIHdpdGggd2FybmluZyB5b3UgZG8gbm90IG5lZWQgdG8gZWRpdCBlYWNoIGxpbmUgb25lIGJ5IG9uZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZb3UgY2FuIHNpbXBseSBydW4gb25lIHNlZCBjb21tYW5kIGFuZCBjb21wbGV0ZSB0aGUgdGFzayBpbiBzZWNvbmRzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgd2h5IHNlZCBpcyBjb25zaWRlcmVkIGEgdmVyeSB1c2VmdWwgdG9vbCBmb3Igc2F2aW5nIHRpbWUgYW5kIGF1dG9tYXRpbmcgdGV4dCBjaGFuZ2VzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+V2h5IHNlZCBpcyBJbXBvcnRhbnQgaW4gTGludXg8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVbmRlcnN0YW5kaW5nIHNlZCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBpdCBpcyB1c2VkIGluIG1hbnkgcmVhbC13b3JsZCB0YXNrcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIZXJlIGFyZSBzb21lIGNvbW1vbiBzaXR1YXRpb25zIHdoZXJlIHNlZCBpcyB1c2VkOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2xlYW5pbmcgbG9nIGZpbGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVcGRhdGluZyBjb25maWd1cmF0aW9uIHNldHRpbmdzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZXBsYWNpbmcgdGV4dCBpbiBtdWx0aXBsZSBmaWxlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmVtb3ZpbmcgdW53YW50ZWQgbGluZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZvcm1hdHRpbmcgZGF0YWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QXV0b21hdGluZyByZXBldGl0aXZlIHRhc2tzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQcm9jZXNzaW5nIGxhcmdlIGRhdGFzZXRzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBwcm9kdWN0aW9uIHNlcnZlcnMsIGF1dG9tYXRpb24gaXMgdmVyeSBpbXBvcnRhbnQuIENvbW1hbmRzIGxpa2Ugc2VkIGhlbHAgYWRtaW5pc3RyYXRvcnMgbWFuYWdlIHN5c3RlbXMgZWZmaWNpZW50bHkgYW5kIHJlZHVjZSBodW1hbiBlcnJvcnMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5LZXkgRmVhdHVyZXMgb2Ygc2VkPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIHNlZCBjb21tYW5kIHByb3ZpZGVzIG1hbnkgcG93ZXJmdWwgZmVhdHVyZXMgdGhhdCBtYWtlIGl0IHVzZWZ1bCBpbiBldmVyeWRheSBMaW51eCB3b3JrLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TZWFyY2ggYW5kIHJlcGxhY2UgdGV4dCBhdXRvbWF0aWNhbGx5PC9zdHJvbmc+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkVkaXQgZmlsZXMgd2l0aG91dCBvcGVuaW5nIHRoZW08L3N0cm9uZz5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RGVsZXRlIG9yIGluc2VydCBsaW5lczwvc3Ryb25nPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TdXBwb3J0IGZvciByZWd1bGFyIGV4cHJlc3Npb25zPC9zdHJvbmc+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlByb2Nlc3MgbXVsdGlwbGUgZmlsZXMgYXQgb25jZTwvc3Ryb25nPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Xb3JrIHdpdGggcGlwZWxpbmVzIGFuZCBzY3JpcHRzPC9zdHJvbmc+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkhhbmRsZSBsYXJnZSBmaWxlcyBlZmZpY2llbnRseTwvc3Ryb25nPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlc2UgZmVhdHVyZXMgbWFrZSBzZWQgb25lIG9mIHRoZSBjb3JlIHRvb2xzIGluIExpbnV4IHRleHQgcHJvY2Vzc2luZy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkJhc2ljIFN5bnRheCBvZiB0aGUgc2VkIENvbW1hbmQ8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgYmFzaWMgc3ludGF4IG9mIHRoZSBzZWQgY29tbWFuZCBpczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgW29wdGlvbnNdICdjb21tYW5kJyBmaWxlZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TGV04oCZcyB1bmRlcnN0YW5kIGVhY2ggcGFydCBjbGVhcmx5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5zZWQ8L3N0cm9uZz4g4oaSIFRoZSBjb21tYW5kIG5hbWVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+b3B0aW9uczwvc3Ryb25nPiDihpIgQ29udHJvbCBob3cgdGhlIGNvbW1hbmQgd29ya3Npbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+Y29tbWFuZDwvc3Ryb25nPiDihpIgVGhlIGFjdGlvbiB0byBwZXJmb3JtaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPmZpbGU8L3N0cm9uZz4g4oaSIFRoZSBpbnB1dCBmaWxlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGluayBvZiBpdCBsaWtlIHRoaXM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIOKGkiBXaGF0IHRvb2wgdG8gdXNlZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50b3B0aW9ucyDihpIgSG93IHRvIHJ1biBpdGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGNvbW1hbmQg4oaSIFdoYXQgYWN0aW9uIHRvIHBlcmZvcm1kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRmaWxlIOKGkiBXaGVyZSB0byBhcHBseSBpdGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEV4YW1wbGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkICdzL2hlbGxvL3dvcmxkLycgc2FtcGxlLnR4dGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgY29tbWFuZCBzZWFyY2hlcyBmb3IgdGhlIHdvcmQgPHN0cm9uZz5oZWxsbzwvc3Ryb25nPiBhbmQgcmVwbGFjZXMgaXQgd2l0aCA8c3Ryb25nPndvcmxkPC9zdHJvbmc+LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VW5kZXJzdGFuZGluZyB0aGUgU3Vic3RpdHV0ZSBDb21tYW5kIChzKTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgb3BlcmF0aW9uIGluIHNlZCBpcyBzdWJzdGl0dXRpb24uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3ludGF4OmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHMvb2xkL25ldy9kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFeHBsYW5hdGlvbjpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+czwvc3Ryb25nPiDihpIgc3Vic3RpdHV0ZSAocmVwbGFjZSlpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+b2xkPC9zdHJvbmc+IOKGkiB0ZXh0IHRvIGZpbmRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+bmV3PC9zdHJvbmc+IOKGkiByZXBsYWNlbWVudCB0ZXh0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkV4YW1wbGU6PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkICdzL2FwcGxlL21hbmdvLycgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB0aGUgZmlsZSBjb250YWluczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJIGxpa2UgYXBwbGVkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPk91dHB1dDo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJIGxpa2UgbWFuZ29kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkltcG9ydGFudCBub3RlOjwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEJ5IGRlZmF1bHQgc2VkIG9ubHkgcmVwbGFjZXMgdGhlIGZpcnN0IG1hdGNoIGluIGVhY2ggbGluZS4gVGhpcyBtZWFucyBpZiBhIHdvcmQgYXBwZWFycyBtYW55IHRpbWVzIGluIG9uZSBsaW5lIG9ubHkgdGhlIGZpcnN0IG9uZSB3aWxsIGJlIGNoYW5nZWQuIFRoaXMgaXMgZG9uZSB0byBhdm9pZCB1bndhbnRlZCBjaGFuZ2VzIGluIHRoZSB0ZXh0LiBJZiB5b3Ugd2FudCB0byByZXBsYWNlIGV2ZXJ5IG1hdGNoIGluIGEgbGluZSB5b3UgbmVlZCB0byB1c2UgYSBzcGVjaWFsIG9wdGlvbiBjYWxsZWQgdGhlIGdsb2JhbCBmbGFnZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5SZXBsYWNlIEFsbCBPY2N1cnJlbmNlcyBVc2luZyBHbG9iYWwgRmxhZzwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRvIHJlcGxhY2UgZXZlcnkgb2NjdXJyZW5jZSBpbiBhIGxpbmUsIHVzZSB0aGUgPHN0cm9uZz5nIGZsYWc8L3N0cm9uZz4uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29tbWFuZDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgJ3MvYXBwbGUvbWFuZ28vZycgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNZWFuaW5nOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5nPC9zdHJvbmc+ID0gZ2xvYmFsIHJlcGxhY2VtZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaXRob3V0IGc6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50YXBwbGUgYXBwbGUgYXBwbGVkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPdXRwdXQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50bWFuZ28gYXBwbGUgYXBwbGVkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaXRoIGc6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50bWFuZ28gbWFuZ28gbWFuZ29kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIHNtYWxsIGZsYWcgbWFrZXMgYSBiaWcgZGlmZmVyZW5jZSBpbiByZWFsLXdvcmxkIGF1dG9tYXRpb24gdGFza3MuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Jbi1QbGFjZSBFZGl0aW5nIChQZXJtYW5lbnQgQ2hhbmdlcyk8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnROb3JtYWxseSwgc2VkIG9ubHkgc2hvd3MgdGhlIG91dHB1dCBvbiB0aGUgc2NyZWVuLiBJdCBkb2VzIG5vdCBtb2RpZnkgdGhlIG9yaWdpbmFsIGZpbGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBmaWxlLCB1c2U6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIC1pICdzL0xpbnV4L1VuaXgvZycgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIZXJlOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+LWkgPSBpbi1wbGFjZSBlZGl0aW5nPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBtZWFucyB0aGUgZmlsZSB3aWxsIGJlIHVwZGF0ZWQgZGlyZWN0bHkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW1wb3J0YW50IGJlc3QgcHJhY3RpY2U6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWx3YXlzIHRlc3QgdGhlIGNvbW1hbmQgZmlyc3QgPHN0cm9uZz53aXRob3V0IDwvc3Ryb25nPjxzdHJvbmc+LWk8L3N0cm9uZz4gdG8gbWFrZSBzdXJlIHRoZSByZXN1bHQgaXMgY29ycmVjdC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNyZWF0ZSBCYWNrdXAgQmVmb3JlIEVkaXRpbmc8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaGVuIHdvcmtpbmcgb24gaW1wb3J0YW50IGZpbGVzLCBpdCBpcyBzYWZlciB0byBjcmVhdGUgYSBiYWNrdXAuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29tbWFuZDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgLWkuYmFrICdzL0xpbnV4L1VuaXgvZycgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGNvbW1hbmQgd2lsbDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vZGlmeSB0aGUgZmlsZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q3JlYXRlIGEgYmFja3VwIGNvcHlpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEV4YW1wbGUgYmFja3VwIGZpbGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZmlsZS50eHQuYmFrZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBpcyB2ZXJ5IHVzZWZ1bCBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cyB3aGVyZSBtaXN0YWtlcyBjYW4gY2F1c2Ugc2VyaW91cyBpc3N1ZXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5EZWxldGUgU3BlY2lmaWMgTGluZXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZb3UgY2FuIGRlbGV0ZSBsaW5lcyB1c2luZyB0aGUgZCBjb21tYW5kLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEV4YW1wbGU6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkICcyZCcgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNZWFuaW5nOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERlbGV0ZSBsaW5lIG51bWJlciAyLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElmIHRoZSBmaWxlIGNvbnRhaW5zOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExpbmUgMWRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExpbmUgMmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExpbmUgM2Ryb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE91dHB1dDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMaW5lIDFkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMaW5lIDNkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGZlYXR1cmUgaXMgY29tbW9ubHkgdXNlZCB0byByZW1vdmUgdW53YW50ZWQgZGF0YSBmcm9tIGZpbGVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RGVsZXRlIE11bHRpcGxlIExpbmVzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29tbWFuZDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgJzIsNGQnIGZpbGUudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWVhbmluZzpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZWxldGUgbGluZXMgZnJvbSAyIHRvIDQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBpcyB2ZXJ5IHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIHJlbW92ZSBjZXJ0YWluIHBhcnRzIG9mIGRhdGEgZnJvbSBjb25maWd1cmF0aW9uIGZpbGVzIG9yIGxvZyBmaWxlc2Ryb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFlvdSBjYW4gZGVsZXRlIGxpbmVzIGJhc2VkIG9uIGEgc3BlY2lmaWMgcGF0dGVybiBvciB3b3JkIGluc3RlYWQgb2YgdXNpbmcgbGluZSBudW1iZXJzZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gZmluZCBhbmQgcmVtb3ZlIHVud2FudGVkIGxpbmVzIGF1dG9tYXRpY2FsbHlkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkRlbGV0ZSBsaW5lcyBtYXRjaGluZyBhIHBhdHRlcm48L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZb3UgY2FuIHRlbGwgdGhlIHRvb2wgdG8gcmVtb3ZlIGFsbCBsaW5lcyB0aGF0IGNvbnRhaW4gYSBwYXJ0aWN1bGFyIHdvcmQgb3IgcGF0dGVybmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgc2F2ZXMgdGltZSBhbmQgaGVscHMgbWFuYWdlIGxhcmdlIGZpbGVzIG1vcmUgZWFzaWx5ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29tbWFuZDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgJy9lcnJvci9kJyBsb2dmaWxlLnR4dGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1lYW5pbmc6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RGVsZXRlIGV2ZXJ5IGxpbmUgdGhhdCBjb250YWlucyB0aGUgd29yZCA8c3Ryb25nPmVycm9yPC9zdHJvbmc+LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlYWwtd29ybGQgZXhhbXBsZTpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDbGVhbmluZyBzeXN0ZW0gbG9ncyBieSByZW1vdmluZyBlcnJvciBtZXNzYWdlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlByaW50IFNwZWNpZmljIExpbmVzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U29tZXRpbWVzIHlvdSBvbmx5IHdhbnQgdG8gZGlzcGxheSBjZXJ0YWluIGxpbmVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbW1hbmQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIC1uICcxLDNwJyBmaWxlLnR4dGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEV4cGxhbmF0aW9uOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz4tbjwvc3Ryb25nPiDihpIgaGlkZSBub3JtYWwgb3V0cHV0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPnA8L3N0cm9uZz4g4oaSIHByaW50IHNlbGVjdGVkIGxpbmVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGNvbW1hbmQgcHJpbnRzIG9ubHkgbGluZXMgMSB0byAzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgZmVhdHVyZSBpcyBoZWxwZnVsIHdoZW4gYW5hbHl6aW5nIGxhcmdlIGZpbGVzIGFuZCBmb2N1c2luZyBvbiBzcGVjaWZpYyBzZWN0aW9ucy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkluc2VydCBUZXh0IEJlZm9yZSBhIExpbmU8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21tYW5kOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAnMmkgVGhpcyBpcyBuZXcgbGluZScgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNZWFuaW5nOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluc2VydCB0ZXh0IGJlZm9yZSBsaW5lIDIuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VXNlIGNhc2U6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWRkaW5nIGhlYWRlcnMgdG8gY29uZmlndXJhdGlvbiBmaWxlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkFwcGVuZCBUZXh0IEFmdGVyIGEgTGluZTwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbW1hbmQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkICcyYSBUaGlzIGlzIGFwcGVuZGVkIHRleHQnIGZpbGUudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWVhbmluZzpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBZGQgdGV4dCBhZnRlciBsaW5lIDIuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBpcyBjb21tb25seSB1c2VkIGluIHNjcmlwdHMgdG8gYWRkIG5ldyBjb25maWd1cmF0aW9uIHZhbHVlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlJlcGxhY2UgRW50aXJlIExpbmU8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21tYW5kOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAnMmMgVGhpcyBpcyByZXBsYWNlZCBsaW5lJyBmaWxlLnR4dGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1lYW5pbmc6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmVwbGFjZSB0aGUgZW50aXJlIGNvbnRlbnQgb2YgbGluZSAyLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgdXNlZnVsIHdoZW4gdXBkYXRpbmcgb3V0ZGF0ZWQgY29uZmlndXJhdGlvbiBzZXR0aW5ncy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlJlbW92ZSBFbXB0eSBMaW5lczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbW1hbmQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkICcvXiQvZCcgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFeHBsYW5hdGlvbjpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+XiQ8L3N0cm9uZz4g4oaSIGVtcHR5IGxpbmVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+ZDwvc3Ryb25nPiDihpIgZGVsZXRlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGNvbW1hbmQgaXMgdXNlZCB0byByZW1vdmUgZW1wdHkgbGluZXMgZnJvbSBhIGZpbGVkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDbGVhbmluZyBhIGZpbGUgaW4gdGhpcyB3YXkgbWFrZXMgaXQgZWFzaWVyIHRvIHJlYWQgYW5kIHVuZGVyc3RhbmRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJdCBhbHNvIGhlbHBzIHJlZHVjZSB0aGUgZmlsZSBzaXplIGJ5IHJlbW92aW5nIHVubmVjZXNzYXJ5IHNwYWNlc2Ryb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+UmVwbGFjZSB0ZXh0IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50WW91IGNhbiBhbHNvIHVzZSBjb21tYW5kcyB0byBjaGFuZ2UgdGV4dCB0aGF0IGFwcGVhcnMgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggbGluZWRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gdXBkYXRlIHByZWZpeGVzIG9yIHN0YW5kYXJkaXplIHRoZSBmb3JtYXQgb2YgYSBmaWxlZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29tbWFuZDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgJ3MvXkxpbnV4L1VuaXgvJyBmaWxlLnR4dGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1lYW5pbmc6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmVwbGFjZSB0aGUgd29yZCBvbmx5IGlmIGl0IGFwcGVhcnMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN5bWJvbDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnReID0gYmVnaW5uaW5nIG9mIGxpbmVkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGFsbG93cyBwcmVjaXNlIGNvbnRyb2wgb3ZlciByZXBsYWNlbWVudHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5SZXBsYWNlIFRleHQgYXQgdGhlIEVuZCBvZiBhIExpbmU8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21tYW5kOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAncy9lcnJvciQvd2FybmluZy8nIGZpbGUudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3ltYm9sOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudCQgPSBlbmQgb2YgbGluZWRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgZW5zdXJlcyB0aGUgcmVwbGFjZW1lbnQgaGFwcGVucyBvbmx5IGF0IHRoZSBlbmQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5DYXNlLUluc2Vuc2l0aXZlIFJlcGxhY2VtZW50PC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q29tbWFuZDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgJ3MvbGludXgvVW5peC9JJyBmaWxlLnR4dGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1lYW5pbmc6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmVwbGFjZSB0ZXh0IHJlZ2FyZGxlc3Mgb2YgdXBwZXJjYXNlIG9yIGxvd2VyY2FzZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNYXRjaGVzOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50bGludXhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExpbnV4aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMSU5VWGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBpcyBoZWxwZnVsIHdoZW4gd29ya2luZyB3aXRoIGluY29uc2lzdGVudCBkYXRhLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+UmVwbGFjZSBUZXh0IGluIGEgUmFuZ2Ugb2YgTGluZXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21tYW5kOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAnMSwzIHMvTGludXgvVW5peC8nIGZpbGUudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TWVhbmluZzpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZXBsYWNlIHRleHQgb25seSBiZXR3ZWVuIGxpbmVzIDEgYW5kIDMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBwcmV2ZW50cyBjaGFuZ2VzIGluIG90aGVyIHBhcnRzIG9mIHRoZSBmaWxlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RXh0cmFjdCBMaW5lcyBCZXR3ZWVuIFR3byBQYXR0ZXJuczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbW1hbmQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIC1uICcvc3RhcnQvLC9lbmQvcCcgZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRNZWFuaW5nOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByaW50IGxpbmVzIGJldHdlZW46ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c3RhcnRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRhbmRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRlbmRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGlzIHVzZWZ1bCBmb3IgZXh0cmFjdGluZyBzZWN0aW9ucyBmcm9tIGxvZ3Mgb3IgcmVwb3J0cy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlByb2Nlc3MgTXVsdGlwbGUgRmlsZXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21tYW5kOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAtaSAncy9vbGQvbmV3L2cnIGZpbGUxLnR4dCBmaWxlMi50eHQgZmlsZTMudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBjb21tYW5kIHVwZGF0ZXMgbXVsdGlwbGUgZmlsZXMgYXQgb25jZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBhdXRvbWF0aW9uIHNjcmlwdHMsIHRoaXMgc2F2ZXMgYSBsb3Qgb2YgdGltZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlJlYWwtV29ybGQgRXhhbXBsZXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkV4YW1wbGUgMTogQ2xlYW4gTG9nIEZpbGU8L3N0cm9uZz5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkICcvZXJyb3IvZCcgc3lzdGVtLmxvZ2Ryb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlbW92ZXMgZXJyb3IgbWVzc2FnZXMgZnJvbSBsb2dzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RXhhbXBsZSAyOiBVcGRhdGUgUG9ydCBOdW1iZXI8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRzZWQgLWkgJ3MvODA4MC85MDkwLycgY29uZmlnLmNvbmZkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDaGFuZ2VzIGFwcGxpY2F0aW9uIHBvcnQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5FeGFtcGxlIDM6IFJlbW92ZSBDb21tZW50czwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAnL14jL2QnIGNvbmZpZy5jb25mZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RGVsZXRlcyBjb21tZW50IGxpbmVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RXhhbXBsZSA0OiBFeHRyYWN0IE9ubHkgRXJyb3JzPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIC1uICcvRVJST1IvcCcgbG9nZmlsZS50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTaG93cyBvbmx5IGVycm9yIGxpbmVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+UGVyZm9ybWFuY2UgVGlwcyBmb3IgTGFyZ2UgRmlsZXM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaGVuIHdvcmtpbmcgd2l0aCBsYXJnZSBmaWxlcywgcGVyZm9ybWFuY2UgYmVjb21lcyBpbXBvcnRhbnQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UaXAgMTogVXNlIC1uIHRvIFJlZHVjZSBPdXRwdXQ8L3N0cm9uZz5sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIC1uICcvcGF0dGVybi9wJyBsYXJnZWZpbGUudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyByZWR1Y2VzIHVubmVjZXNzYXJ5IHByb2Nlc3NpbmcuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UaXAgMjogQ29tYmluZSBDb21tYW5kczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluc3RlYWQgb2YgcnVubmluZyBtdWx0aXBsZSBjb21tYW5kcyBzZXBhcmF0ZWx5LCBjb21iaW5lIHRoZW0uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50c2VkIC1lICdzL2Vycm9yL3dhcm5pbmcvJyAtZSAnL2RlYnVnL2QnIGZpbGUudHh0ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBpbXByb3ZlcyBlZmZpY2llbmN5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+VGlwIDM6IFVzZSBQaXBlczwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGNhdCBmaWxlLnR4dCB8IHNlZCAncy9lcnJvci93YXJuaW5nLydkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQaXBlcyBhbGxvdyBkaXJlY3QgZGF0YSBwcm9jZXNzaW5nLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+c2VkIGluIFNoZWxsIFNjcmlwdHM8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFeGFtcGxlIHNjcmlwdDpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQjIS9iaW4vYmFzaGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudHNlZCAncy9mb28vYmFyL2cnIGlucHV0LnR4dCAmZ3Q7IG91dHB1dC50eHRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIHNjcmlwdCBhdXRvbWF0aWNhbGx5IHJlcGxhY2VzIHRleHQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QXV0b21hdGlvbiBzY3JpcHRzIGxpa2UgdGhpcyBhcmUgd2lkZWx5IHVzZWQgaW4gRGV2T3BzIGFuZCBzeXN0ZW0gbWFuYWdlbWVudC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2FsdGNhcHRpb25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+QmVzdCBQcmFjdGljZXMgZm9yIFVzaW5nIHNlZDwvc3Ryb25nPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWx3YXlzIHRlc3QgY29tbWFuZHMgZmlyc3Rpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENyZWF0ZSBiYWNrdXAgZmlsZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFVzZSBzaW1wbGUgY29tbWFuZHNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENvbWJpbmUgb3BlcmF0aW9uc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VXNlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgY2FyZWZ1bGx5aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkZvbGxvd2luZyB0aGVzZSBwcmFjdGljZXMgcHJldmVudHMgZXJyb3JzIGFuZCBpbXByb3ZlcyByZWxpYWJpbGl0eS48L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgc2VkIGNvbW1hbmQgaXMgYSB2ZXJ5IHVzZWZ1bCB0b29sIGluIExpbnV4IGZvciB3b3JraW5nIHdpdGggdGV4dC4gSXQgaGVscHMgeW91IGRvIHRleHQgY2hhbmdlcyBhdXRvbWF0aWNhbGx5IHdpdGhvdXQgZG9pbmcgaXQgYnkgaGFuZC4gSXQgaXMgYWxzbyB2ZXJ5IGZhc3QgYW5kIHdvcmtzIHdlbGwgd2l0aCBiaWcgZmlsZXMuIFlvdSBjYW4gdXNlIGl0IGRpcmVjdGx5IGZyb20gdGhlIGNvbW1hbmQgbGluZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkxlYXJuaW5nIHNlZCBpcyB2ZXJ5IGltcG9ydGFudCBmb3IgYW55b25lIHdvcmtpbmcgd2l0aDo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudExpbnV4aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXZPcHNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN5c3RlbSBBZG1pbmlzdHJhdGlvbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2hlbGwgU2NyaXB0aW5naW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPbmNlIHlvdSBtYXN0ZXIgc2VkLCBtYW55IGRhaWx5IHRhc2tzIGJlY29tZSBmYXN0ZXIgYW5kIGVhc2llci5kcm9wQ2FwaW5uZXJCbG9ja3NpZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkludHJvZHVjdGlvbjwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIHNlZCBjb21tYW5kIGluIExpbnV4IGlzIGEgdmVyeSB1c2VmdWwgdG9vbCBmb3Igd29ya2luZyB3aXRoIHRleHQuIEl0IGhlbHBzIHlvdSBlZGl0IGFuZCBjaGFuZ2UgdGV4dCBhdXRvbWF0aWNhbGx5IHdpdGhvdXQgb3BlbmluZyBmaWxlcyBpbiBlZGl0b3JzIGxpa2UgbmFubyBvciB2aW0uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBpcyB2ZXJ5IGhlbHBmdWwgd2hlbiB5b3UgYXJlIHdvcmtpbmcgd2l0aCBsYXJnZSBsb2cgZmlsZXMsIGNvbmZpZ3VyYXRpb24gZmlsZXMgb3Igc2NyaXB0cy4gSW4gcmVhbCBqb2JzIGxpa2UgRGV2T3BzIHN5c3RlbSBhZG1pbmlzdHJhdGlvbiBhbmQgc2NyaXB0aW5nIHBlb3BsZSBvZnRlbiBuZWVkIHRvIHJlcGVhdCB0aGUgc2FtZSBjaGFuZ2VzIG1hbnkgdGltZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RG9pbmcgdGhpcyBtYW51YWxseSB0YWtlcyBhIGxvdCBvZiB0aW1lIGFuZCBlZmZvcnQuIFNlZCBzb2x2ZXMgdGhpcyBwcm9ibGVtIGJ5IGxldHRpbmcgeW91IG1ha2UgY2hhbmdlcyB3aXRoIGp1c3Qgb25lIHNpbXBsZSBjb21tYW5kLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgZ3VpZGUgaXMgd3JpdHRlbiBpbiB2ZXJ5IHNpbXBsZSB3b3JkcyBzbyBiZWdpbm5lcnMgY2FuIHVuZGVyc3RhbmQgaXQgZWFzaWx5LiBJdCBleHBsYWlucyBzdGVwIGJ5IHN0ZXAgaG93IHRoaW5ncyB3b3JrIGFuZCBhbHNvIGdpdmVzIHNpbXBsZSBleGFtcGxlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgbWFpbiBnb2FsIGlzIG5vdCBvbmx5IHRvIGxlYXJuIGNvbW1hbmRzIGJ1dCB0byB1bmRlcnN0YW5kIGhvdyBzZWQgaXMgdXNlZCBpbiByZWFsIHdvcmxkIHdvcmsuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSA8c3Ryb25nPnNlZDwvc3Ryb25nPiBjb21tYW5kIHN0YW5kcyBmb3I6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5TdHJlYW0gRWRpdG9yPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QSBzdHJlYW0gZWRpdG9yIGlzIGEgc2ltcGxlIHRvb2wgdGhhdCByZWFkcyB0ZXh0IG9uZSBsaW5lIGF0IGEgdGltZSBhbmQgcHJvY2Vzc2VzIGl0IGxpa2UgYSBjb250aW51b3VzIGZsb3cgb2YgZGF0YS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JdCB0YWtlcyBlYWNoIGxpbmUsIGFwcGxpZXMgdGhlIHJlcXVpcmVkIGNoYW5nZXMgYW5kIHRoZW4gc2hvd3MgdGhlIHVwZGF0ZWQgcmVzdWx0LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlVubGlrZSBub3JtYWwgdGV4dCBlZGl0b3JzIGl0IGRvZXMgbm90IG9wZW4gZmlsZXMgaW4gYSB3aW5kb3cgYW5kIHlvdSBkbyBub3QgZWRpdCBhbnl0aGluZyBtYW51YWxseSBieSBjbGlja2luZyBvciB0eXBpbmcgaW5zaWRlIGFuIGVkaXRvci48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JbnN0ZWFkIHNlZCB3b3JrcyBpbiB0aGUgYmFja2dyb3VuZCBhdXRvbWF0aWNhbGx5IGl0IHJlYWRzIHRoZSBmaWxlLCBtYWtlcyBjaGFuZ2VzIGFuZCBwcmludHMgdGhlIGZpbmFsIG91dHB1dC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JbiBzaW1wbGUgd29yZHMgdXNlZCBpcyBhIHRvb2wgdGhhdCBlZGl0cyB0ZXh0IGF1dG9tYXRpY2FsbHkgdXNpbmcgY29tbWFuZHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5Gb3IgZXhhbXBsZTwvc3Ryb25nPiBpZiB5b3UgaGF2ZSBhIGxhcmdlIGxvZyBmaWxlIHdpdGggdGhvdXNhbmRzIG9mIGxpbmVzIGFuZCB5b3Ugd2FudCB0byByZXBsYWNlIGEgd29yZCBsaWtlIGVycm9yIHdpdGggd2FybmluZyB5b3UgZG8gbm90IG5lZWQgdG8gZWRpdCBlYWNoIGxpbmUgb25lIGJ5IG9uZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Zb3UgY2FuIHNpbXBseSBydW4gb25lIHNlZCBjb21tYW5kIGFuZCBjb21wbGV0ZSB0aGUgdGFzayBpbiBzZWNvbmRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgaXMgd2h5IHNlZCBpcyBjb25zaWRlcmVkIGEgdmVyeSB1c2VmdWwgdG9vbCBmb3Igc2F2aW5nIHRpbWUgYW5kIGF1dG9tYXRpbmcgdGV4dCBjaGFuZ2VzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5VbmRlcnN0YW5kaW5nIHNlZCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBpdCBpcyB1c2VkIGluIG1hbnkgcmVhbC13b3JsZCB0YXNrcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5IZXJlIGFyZSBzb21lIGNvbW1vbiBzaXR1YXRpb25zIHdoZXJlIHNlZCBpcyB1c2VkOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q2xlYW5pbmcgbG9nIGZpbGVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5VcGRhdGluZyBjb25maWd1cmF0aW9uIHNldHRpbmdzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5SZXBsYWNpbmcgdGV4dCBpbiBtdWx0aXBsZSBmaWxlczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UmVtb3ZpbmcgdW53YW50ZWQgbGluZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkZvcm1hdHRpbmcgZGF0YTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QXV0b21hdGluZyByZXBldGl0aXZlIHRhc2tzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Qcm9jZXNzaW5nIGxhcmdlIGRhdGFzZXRzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gcHJvZHVjdGlvbiBzZXJ2ZXJzLCBhdXRvbWF0aW9uIGlzIHZlcnkgaW1wb3J0YW50LiBDb21tYW5kcyBsaWtlIHNlZCBoZWxwIGFkbWluaXN0cmF0b3JzIG1hbmFnZSBzeXN0ZW1zIGVmZmljaWVudGx5IGFuZCByZWR1Y2UgaHVtYW4gZXJyb3JzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgc2VkIGNvbW1hbmQgcHJvdmlkZXMgbWFueSBwb3dlcmZ1bCBmZWF0dXJlcyB0aGF0IG1ha2UgaXQgdXNlZnVsIGluIGV2ZXJ5ZGF5IExpbnV4IHdvcmsuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgeyJvcmRlcmVkIjp0cnVlfSAtLT4KPG9sIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+U2VhcmNoIGFuZCByZXBsYWNlIHRleHQgYXV0b21hdGljYWxseTwvc3Ryb25nPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5FZGl0IGZpbGVzIHdpdGhvdXQgb3BlbmluZyB0aGVtPC9zdHJvbmc+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkRlbGV0ZSBvciBpbnNlcnQgbGluZXM8L3N0cm9uZz48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+U3VwcG9ydCBmb3IgcmVndWxhciBleHByZXNzaW9uczwvc3Ryb25nPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Qcm9jZXNzIG11bHRpcGxlIGZpbGVzIGF0IG9uY2U8L3N0cm9uZz48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+V29yayB3aXRoIHBpcGVsaW5lcyBhbmQgc2NyaXB0czwvc3Ryb25nPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5IYW5kbGUgbGFyZ2UgZmlsZXMgZWZmaWNpZW50bHk8L3N0cm9uZz48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC9vbD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGVzZSBmZWF0dXJlcyBtYWtlIHNlZCBvbmUgb2YgdGhlIGNvcmUgdG9vbHMgaW4gTGludXggdGV4dCBwcm9jZXNzaW5nLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgYmFzaWMgc3ludGF4IG9mIHRoZSBzZWQgY29tbWFuZCBpczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5zZWQgW29wdGlvbnNdICdjb21tYW5kJyBmaWxlPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TGV04oCZcyB1bmRlcnN0YW5kIGVhY2ggcGFydCBjbGVhcmx5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5zZWQ8L3N0cm9uZz4g4oaSIFRoZSBjb21tYW5kIG5hbWU8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+b3B0aW9uczwvc3Ryb25nPiDihpIgQ29udHJvbCBob3cgdGhlIGNvbW1hbmQgd29ya3M8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+Y29tbWFuZDwvc3Ryb25nPiDihpIgVGhlIGFjdGlvbiB0byBwZXJmb3JtPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPmZpbGU8L3N0cm9uZz4g4oaSIFRoZSBpbnB1dCBmaWxlPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpbmsgb2YgaXQgbGlrZSB0aGlzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCDihpIgV2hhdCB0b29sIHRvIHVzZTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPm9wdGlvbnMg4oaSIEhvdyB0byBydW4gaXQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5jb21tYW5kIOKGkiBXaGF0IGFjdGlvbiB0byBwZXJmb3JtPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+ZmlsZSDihpIgV2hlcmUgdG8gYXBwbHkgaXQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5FeGFtcGxlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCAncy9oZWxsby93b3JsZC8nIHNhbXBsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGNvbW1hbmQgc2VhcmNoZXMgZm9yIHRoZSB3b3JkIDxzdHJvbmc+aGVsbG88L3N0cm9uZz4gYW5kIHJlcGxhY2VzIGl0IHdpdGggPHN0cm9uZz53b3JsZDwvc3Ryb25nPi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhlIG1vc3QgY29tbW9ubHkgdXNlZCBvcGVyYXRpb24gaW4gc2VkIGlzIHN1YnN0aXR1dGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TeW50YXg6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+cy9vbGQvbmV3LzwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkV4cGxhbmF0aW9uOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5zPC9zdHJvbmc+IOKGkiBzdWJzdGl0dXRlIChyZXBsYWNlKTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5vbGQ8L3N0cm9uZz4g4oaSIHRleHQgdG8gZmluZDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5uZXc8L3N0cm9uZz4g4oaSIHJlcGxhY2VtZW50IHRleHQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkV4YW1wbGU6PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICdzL2FwcGxlL21hbmdvLycgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JZiB0aGUgZmlsZSBjb250YWluczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JIGxpa2UgYXBwbGU8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPk91dHB1dDo8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JIGxpa2UgbWFuZ288L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkltcG9ydGFudCBub3RlOjwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkJ5IGRlZmF1bHQgc2VkIG9ubHkgcmVwbGFjZXMgdGhlIGZpcnN0IG1hdGNoIGluIGVhY2ggbGluZS4gVGhpcyBtZWFucyBpZiBhIHdvcmQgYXBwZWFycyBtYW55IHRpbWVzIGluIG9uZSBsaW5lIG9ubHkgdGhlIGZpcnN0IG9uZSB3aWxsIGJlIGNoYW5nZWQuIFRoaXMgaXMgZG9uZSB0byBhdm9pZCB1bndhbnRlZCBjaGFuZ2VzIGluIHRoZSB0ZXh0LiBJZiB5b3Ugd2FudCB0byByZXBsYWNlIGV2ZXJ5IG1hdGNoIGluIGEgbGluZSB5b3UgbmVlZCB0byB1c2UgYSBzcGVjaWFsIG9wdGlvbiBjYWxsZWQgdGhlIGdsb2JhbCBmbGFnPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRvIHJlcGxhY2UgZXZlcnkgb2NjdXJyZW5jZSBpbiBhIGxpbmUsIHVzZSB0aGUgPHN0cm9uZz5nIGZsYWc8L3N0cm9uZz4uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q29tbWFuZDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5zZWQgJ3MvYXBwbGUvbWFuZ28vZycgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5nPC9zdHJvbmc+ID0gZ2xvYmFsIHJlcGxhY2VtZW50PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2l0aG91dCBnOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPmFwcGxlIGFwcGxlIGFwcGxlPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+T3V0cHV0OjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPm1hbmdvIGFwcGxlIGFwcGxlPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2l0aCBnOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPm1hbmdvIG1hbmdvIG1hbmdvPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBzbWFsbCBmbGFnIG1ha2VzIGEgYmlnIGRpZmZlcmVuY2UgaW4gcmVhbC13b3JsZCBhdXRvbWF0aW9uIHRhc2tzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Ob3JtYWxseSwgc2VkIG9ubHkgc2hvd3MgdGhlIG91dHB1dCBvbiB0aGUgc2NyZWVuLiBJdCBkb2VzIG5vdCBtb2RpZnkgdGhlIG9yaWdpbmFsIGZpbGUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBmaWxlLCB1c2U6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkIC1pICdzL0xpbnV4L1VuaXgvZycgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5IZXJlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+LWkgPSBpbi1wbGFjZSBlZGl0aW5nPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBtZWFucyB0aGUgZmlsZSB3aWxsIGJlIHVwZGF0ZWQgZGlyZWN0bHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW1wb3J0YW50IGJlc3QgcHJhY3RpY2U6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QWx3YXlzIHRlc3QgdGhlIGNvbW1hbmQgZmlyc3QgPHN0cm9uZz53aXRob3V0IDwvc3Ryb25nPjxzdHJvbmc+LWk8L3N0cm9uZz4gdG8gbWFrZSBzdXJlIHRoZSByZXN1bHQgaXMgY29ycmVjdC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2hlbiB3b3JraW5nIG9uIGltcG9ydGFudCBmaWxlcywgaXQgaXMgc2FmZXIgdG8gY3JlYXRlIGEgYmFja3VwLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkIC1pLmJhayAncy9MaW51eC9Vbml4L2cnIGZpbGUudHh0PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBjb21tYW5kIHdpbGw6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgeyJvcmRlcmVkIjp0cnVlfSAtLT4KPG9sIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk1vZGlmeSB0aGUgZmlsZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+Q3JlYXRlIGEgYmFja3VwIGNvcHk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC9vbD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5FeGFtcGxlIGJhY2t1cCBmaWxlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPmZpbGUudHh0LmJhazwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgaXMgdmVyeSB1c2VmdWwgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgd2hlcmUgbWlzdGFrZXMgY2FuIGNhdXNlIHNlcmlvdXMgaXNzdWVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Zb3UgY2FuIGRlbGV0ZSBsaW5lcyB1c2luZyB0aGUgZCBjb21tYW5kLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkV4YW1wbGU6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICcyZCcgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkRlbGV0ZSBsaW5lIG51bWJlciAyLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPklmIHRoZSBmaWxlIGNvbnRhaW5zOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkxpbmUgMTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkxpbmUgMjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkxpbmUgMzwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk91dHB1dDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5MaW5lIDE8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5MaW5lIDM8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGZlYXR1cmUgaXMgY29tbW9ubHkgdXNlZCB0byByZW1vdmUgdW53YW50ZWQgZGF0YSBmcm9tIGZpbGVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Db21tYW5kOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCAnMiw0ZCcgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkRlbGV0ZSBsaW5lcyBmcm9tIDIgdG8gNC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIHZlcnkgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gcmVtb3ZlIGNlcnRhaW4gcGFydHMgb2YgZGF0YSBmcm9tIGNvbmZpZ3VyYXRpb24gZmlsZXMgb3IgbG9nIGZpbGVzPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+WW91IGNhbiBkZWxldGUgbGluZXMgYmFzZWQgb24gYSBzcGVjaWZpYyBwYXR0ZXJuIG9yIHdvcmQgaW5zdGVhZCBvZiB1c2luZyBsaW5lIG51bWJlcnM8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIG1ha2VzIGl0IGVhc2llciB0byBmaW5kIGFuZCByZW1vdmUgdW53YW50ZWQgbGluZXMgYXV0b21hdGljYWxseTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Zb3UgY2FuIHRlbGwgdGhlIHRvb2wgdG8gcmVtb3ZlIGFsbCBsaW5lcyB0aGF0IGNvbnRhaW4gYSBwYXJ0aWN1bGFyIHdvcmQgb3IgcGF0dGVybjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgc2F2ZXMgdGltZSBhbmQgaGVscHMgbWFuYWdlIGxhcmdlIGZpbGVzIG1vcmUgZWFzaWx5PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q29tbWFuZDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5zZWQgJy9lcnJvci9kJyBsb2dmaWxlLnR4dDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1lYW5pbmc6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RGVsZXRlIGV2ZXJ5IGxpbmUgdGhhdCBjb250YWlucyB0aGUgd29yZCA8c3Ryb25nPmVycm9yPC9zdHJvbmc+LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlJlYWwtd29ybGQgZXhhbXBsZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DbGVhbmluZyBzeXN0ZW0gbG9ncyBieSByZW1vdmluZyBlcnJvciBtZXNzYWdlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPlByaW50IFNwZWNpZmljIExpbmVzPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+U29tZXRpbWVzIHlvdSBvbmx5IHdhbnQgdG8gZGlzcGxheSBjZXJ0YWluIGxpbmVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkIC1uICcxLDNwJyBmaWxlLnR4dDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkV4cGxhbmF0aW9uOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz4tbjwvc3Ryb25nPiDihpIgaGlkZSBub3JtYWwgb3V0cHV0PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPnA8L3N0cm9uZz4g4oaSIHByaW50IHNlbGVjdGVkIGxpbmVzPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBjb21tYW5kIHByaW50cyBvbmx5IGxpbmVzIDEgdG8gMy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGZlYXR1cmUgaXMgaGVscGZ1bCB3aGVuIGFuYWx5emluZyBsYXJnZSBmaWxlcyBhbmQgZm9jdXNpbmcgb24gc3BlY2lmaWMgc2VjdGlvbnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICcyaSBUaGlzIGlzIG5ldyBsaW5lJyBmaWxlLnR4dDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1lYW5pbmc6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW5zZXJ0IHRleHQgYmVmb3JlIGxpbmUgMi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Vc2UgY2FzZTo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BZGRpbmcgaGVhZGVycyB0byBjb25maWd1cmF0aW9uIGZpbGVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Db21tYW5kOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCAnMmEgVGhpcyBpcyBhcHBlbmRlZCB0ZXh0JyBmaWxlLnR4dDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1lYW5pbmc6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QWRkIHRleHQgYWZ0ZXIgbGluZSAyLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgaXMgY29tbW9ubHkgdXNlZCBpbiBzY3JpcHRzIHRvIGFkZCBuZXcgY29uZmlndXJhdGlvbiB2YWx1ZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICcyYyBUaGlzIGlzIHJlcGxhY2VkIGxpbmUnIGZpbGUudHh0PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TWVhbmluZzo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5SZXBsYWNlIHRoZSBlbnRpcmUgY29udGVudCBvZiBsaW5lIDIuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBpcyB1c2VmdWwgd2hlbiB1cGRhdGluZyBvdXRkYXRlZCBjb25maWd1cmF0aW9uIHNldHRpbmdzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Db21tYW5kOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCAnL14kL2QnIGZpbGUudHh0PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RXhwbGFuYXRpb246PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPl4kPC9zdHJvbmc+IOKGkiBlbXB0eSBsaW5lPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPmQ8L3N0cm9uZz4g4oaSIGRlbGV0ZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgY29tbWFuZCBpcyB1c2VkIHRvIHJlbW92ZSBlbXB0eSBsaW5lcyBmcm9tIGEgZmlsZTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNsZWFuaW5nIGEgZmlsZSBpbiB0aGlzIHdheSBtYWtlcyBpdCBlYXNpZXIgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkl0IGFsc28gaGVscHMgcmVkdWNlIHRoZSBmaWxlIHNpemUgYnkgcmVtb3ZpbmcgdW5uZWNlc3Nhcnkgc3BhY2VzPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPllvdSBjYW4gYWxzbyB1c2UgY29tbWFuZHMgdG8gY2hhbmdlIHRleHQgdGhhdCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiBlYWNoIGxpbmU8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIHVwZGF0ZSBwcmVmaXhlcyBvciBzdGFuZGFyZGl6ZSB0aGUgZm9ybWF0IG9mIGEgZmlsZTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICdzL15MaW51eC9Vbml4LycgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlJlcGxhY2UgdGhlIHdvcmQgb25seSBpZiBpdCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5TeW1ib2w6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+XiA9IGJlZ2lubmluZyBvZiBsaW5lPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBhbGxvd3MgcHJlY2lzZSBjb250cm9sIG92ZXIgcmVwbGFjZW1lbnRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Db21tYW5kOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCAncy9lcnJvciQvd2FybmluZy8nIGZpbGUudHh0PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+U3ltYm9sOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPiQgPSBlbmQgb2YgbGluZTwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgZW5zdXJlcyB0aGUgcmVwbGFjZW1lbnQgaGFwcGVucyBvbmx5IGF0IHRoZSBlbmQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICdzL2xpbnV4L1VuaXgvSScgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlJlcGxhY2UgdGV4dCByZWdhcmRsZXNzIG9mIHVwcGVyY2FzZSBvciBsb3dlcmNhc2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+TWF0Y2hlczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPmxpbnV4PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5MaW51eDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TElOVVg8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIGhlbHBmdWwgd2hlbiB3b3JraW5nIHdpdGggaW5jb25zaXN0ZW50IGRhdGEuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICcxLDMgcy9MaW51eC9Vbml4LycgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlJlcGxhY2UgdGV4dCBvbmx5IGJldHdlZW4gbGluZXMgMSBhbmQgMy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIHByZXZlbnRzIGNoYW5nZXMgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGZpbGUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNvbW1hbmQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkIC1uICcvc3RhcnQvLC9lbmQvcCcgZmlsZS50eHQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5NZWFuaW5nOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlByaW50IGxpbmVzIGJldHdlZW46PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c3RhcnQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5hbmQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5lbmQ8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIGlzIHVzZWZ1bCBmb3IgZXh0cmFjdGluZyBzZWN0aW9ucyBmcm9tIGxvZ3Mgb3IgcmVwb3J0cy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q29tbWFuZDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5zZWQgLWkgJ3Mvb2xkL25ldy9nJyBmaWxlMS50eHQgZmlsZTIudHh0IGZpbGUzLnR4dDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgY29tbWFuZCB1cGRhdGVzIG11bHRpcGxlIGZpbGVzIGF0IG9uY2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gYXV0b21hdGlvbiBzY3JpcHRzLCB0aGlzIHNhdmVzIGEgbG90IG9mIHRpbWUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkICcvZXJyb3IvZCcgc3lzdGVtLmxvZzwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlJlbW92ZXMgZXJyb3IgbWVzc2FnZXMgZnJvbSBsb2dzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5zZWQgLWkgJ3MvODA4MC85MDkwLycgY29uZmlnLmNvbmY8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DaGFuZ2VzIGFwcGxpY2F0aW9uIHBvcnQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPnNlZCAnL14jL2QnIGNvbmZpZy5jb25mPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RGVsZXRlcyBjb21tZW50IGxpbmVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5zZWQgLW4gJy9FUlJPUi9wJyBsb2dmaWxlLnR4dDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlNob3dzIG9ubHkgZXJyb3IgbGluZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPldoZW4gd29ya2luZyB3aXRoIGxhcmdlIGZpbGVzLCBwZXJmb3JtYW5jZSBiZWNvbWVzIGltcG9ydGFudC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkIC1uICcvcGF0dGVybi9wJyBsYXJnZWZpbGUudHh0PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyByZWR1Y2VzIHVubmVjZXNzYXJ5IHByb2Nlc3NpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkluc3RlYWQgb2YgcnVubmluZyBtdWx0aXBsZSBjb21tYW5kcyBzZXBhcmF0ZWx5LCBjb21iaW5lIHRoZW0uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+c2VkIC1lICdzL2Vycm9yL3dhcm5pbmcvJyAtZSAnL2RlYnVnL2QnIGZpbGUudHh0PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBpbXByb3ZlcyBlZmZpY2llbmN5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5jYXQgZmlsZS50eHQgfCBzZWQgJ3MvZXJyb3Ivd2FybmluZy8nPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+UGlwZXMgYWxsb3cgZGlyZWN0IGRhdGEgcHJvY2Vzc2luZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RXhhbXBsZSBzY3JpcHQ6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+IyEvYmluL2Jhc2g8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBzY3JpcHQgYXV0b21hdGljYWxseSByZXBsYWNlcyB0ZXh0LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkF1dG9tYXRpb24gc2NyaXB0cyBsaWtlIHRoaXMgYXJlIHdpZGVseSB1c2VkIGluIERldk9wcyBhbmQgc3lzdGVtIG1hbmFnZW1lbnQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmltYWdlIHsiaWQiOjE1MzIyLCJzaXplU2x1ZyI6ImZ1bGwiLCJsaW5rRGVzdGluYXRpb24iOiJub25lIn0gLS0+CjwhLS0gL3dwOmltYWdlIC0tPgoKCjwhLS0gd3A6bGlzdCB7Im9yZGVyZWQiOnRydWV9IC0tPgo8b2wgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QWx3YXlzIHRlc3QgY29tbWFuZHMgZmlyc3Q8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNyZWF0ZSBiYWNrdXAgZmlsZXM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlVzZSBzaW1wbGUgY29tbWFuZHM8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNvbWJpbmUgb3BlcmF0aW9uczwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VXNlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgY2FyZWZ1bGx5PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvb2w+CjwhLS0gL3dwOmxpc3QgLS0+CgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSBzZWQgY29tbWFuZCBpcyBhIHZlcnkgdXNlZnVsIHRvb2wgaW4gTGludXggZm9yIHdvcmtpbmcgd2l0aCB0ZXh0LiBJdCBoZWxwcyB5b3UgZG8gdGV4dCBjaGFuZ2VzIGF1dG9tYXRpY2FsbHkgd2l0aG91dCBkb2luZyBpdCBieSBoYW5kLiBJdCBpcyBhbHNvIHZlcnkgZmFzdCBhbmQgd29ya3Mgd2VsbCB3aXRoIGJpZyBmaWxlcy4gWW91IGNhbiB1c2UgaXQgZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZCBsaW5lLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkxpbnV4PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3lzdGVtIEFkbWluaXN0cmF0aW9uPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TaGVsbCBTY3JpcHRpbmc8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5PbmNlIHlvdSBtYXN0ZXIgc2VkLCBtYW55IGRhaWx5IHRhc2tzIGJlY29tZSBmYXN0ZXIgYW5kIGVhc2llci48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT5sZXZlbDwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPldoYXQgaXMgdGhlIHNlZCBDb21tYW5kPzwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CmxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWw8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5XaHkgc2VkIGlzIEltcG9ydGFudCBpbiBMaW51eDwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPktleSBGZWF0dXJlcyBvZiBzZWQ8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5CYXNpYyBTeW50YXggb2YgdGhlIHNlZCBDb21tYW5kPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+VW5kZXJzdGFuZGluZyB0aGUgU3Vic3RpdHV0ZSBDb21tYW5kIChzKTwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPlJlcGxhY2UgQWxsIE9jY3VycmVuY2VzIFVzaW5nIEdsb2JhbCBGbGFnPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbDwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkluLVBsYWNlIEVkaXRpbmcgKFBlcm1hbmVudCBDaGFuZ2VzKTwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkNyZWF0ZSBCYWNrdXAgQmVmb3JlIEVkaXRpbmc8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5EZWxldGUgU3BlY2lmaWMgTGluZXM8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5EZWxldGUgTXVsdGlwbGUgTGluZXM8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5EZWxldGUgbGluZXMgbWF0Y2hpbmcgYSBwYXR0ZXJuPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbDwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkluc2VydCBUZXh0IEJlZm9yZSBhIExpbmU8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5BcHBlbmQgVGV4dCBBZnRlciBhIExpbmU8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5SZXBsYWNlIEVudGlyZSBMaW5lPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+UmVtb3ZlIEVtcHR5IExpbmVzPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+UmVwbGFjZSB0ZXh0IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+UmVwbGFjZSBUZXh0IGF0IHRoZSBFbmQgb2YgYSBMaW5lPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+Q2FzZS1JbnNlbnNpdGl2ZSBSZXBsYWNlbWVudDwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPlJlcGxhY2UgVGV4dCBpbiBhIFJhbmdlIG9mIExpbmVzPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbGxldmVsPHN0bz5UcDE6VSAtdG8gUmR1T3V0dTwvc3Jvbmc+bGV2ZWxXaGVuIHdya2kgd3RobGFyZ2VmaWxzLHBlcmZvcm1hY2Vib21zaW1ydGF0LmRyb3BDYXBXaGVuIHdva2kgd3RobGFyZ2VmaWxlLCBwcmZvcm1hY2Vib21zaW1vcmFuLjxzdHI+VHAxOlVzLXRvIFJkdU91dHV0PC9zdHJnPmxldmVsPjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkV4dHJhY3QgTGluZXMgQmV0d2VlbiBUd28gUGF0dGVybnM8L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5Qcm9jZXNzIE11bHRpcGxlIEZpbGVzPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPlJlYWwtV29ybGQgRXhhbXBsZXM8L3N0cm9uZz48L2gyPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5FeGFtcGxlIDE6IENsZWFuIExvZyBGaWxlPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkV4YW1wbGUgMjogVXBkYXRlIFBvcnQgTnVtYmVyPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+RXhhbXBsZSAzOiBSZW1vdmUgQ29tbWVudHM8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5FeGFtcGxlIDQ6IEV4dHJhY3QgT25seSBFcnJvcnM8L3N0cm9uZz48L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5QZXJmb3JtYW5jZSBUaXBzIGZvciBMYXJnZSBGaWxlczwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjxwPnNlZCAncy9mb28vYmFyL2cnIGlucHV0LnR4dCA+IG91dHB1dC50eHQ8L3A+CmxldmVsbGV2ZWxsZXZlbGxldmVsbGV2ZWxsZXZlbDwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPlRpcCAxOiBVc2UgLW4gdG8gUmVkdWNlIE91dHB1dDwvc3Ryb25nPjwvaDM+CjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPlRpcCAyOiBDb21iaW5lIENvbW1hbmRzPC9zdHJvbmc+PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+VGlwIDM6IFVzZSBQaXBlczwvc3Ryb25nPjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPnNlZCBpbiBTaGVsbCBTY3JpcHRzPC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjxzdHJvbmc+QmVzdCBQcmFjdGljZXMgZm9yIFVzaW5nIHNlZDwvc3Ryb25nPjwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+CjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj48c3Ryb25nPkZvbGxvd2luZyB0aGVzZSBwcmFjdGljZXMgcHJldmVudHMgZXJyb3JzIGFuZCBpbXByb3ZlcyByZWxpYWJpbGl0eS48L3N0cm9uZz48L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+PHN0cm9uZz5MZWFybmluZyBzZWQgaXMgdmVyeSBpbXBvcnRhbnQgZm9yIGFueW9uZSB3b3JraW5nIHdpdGg6PC9zdHJvbmc+PC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KPGEgaHJlZj0iaHR0cHM6Ly91dGhvLmNvbS9ibG9nL3doYXQtaXMtZGV2b3BzLyI+PC9hPjxsaT48YSBocmVmPSJodHRwczovL3V0aG8uY29tL2Jsb2cvd2hhdC1pcy1kZXZvcHMvIj5EZXZPcHM8L2E+PC9saT4KPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsIj48aW1nIHNyYz0iaHR0cHM6Ly91dGhvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9pbWFnZS03LmpwZWciIGFsdD0ic2VkIHZzIGdyZXAgdnMgYXdrIiBjbGFzcz0id3AtaW1hZ2UtMTUzMjIiLz48L2ZpZ3VyZT4KZG9jdW1lbnRzbHVnc3RhdGVzYXZlZEF0c3RhdGVzYXZlZEJ5BQcIBAgGCAUIBwgHCAYIDggOCAsIBkgBBggECQgKCAQIBjAIBwQKRwALHQUIBwQKB6gCBwsIBwQKB5UDBwsIBwQKB4UCBwsIBwQKB5oCBwsIBwQKB6EBBwsIBwQKBykHCwgHBAoHLAcLCAcECgceBwsIBwQKB7QBBwsIBwQKB5MBBwsIBwQKB4sCBwsIBwQKB68BBwsIBwQKB4wBBwsIBwQKB7YCBwsIBwQKB4QBBwsIBwQKB50BBwsIBwQKBy4HCwgHBAoHiwEHCwgHBAoHMgcLCAcECgcGCwgHBAoHEgsIBwQKBx8LCAcECgcgCwgHBAoHFwsIBwQKBw8LCAcECgcbCwgHBAoHGQsIBwQKB44CBwsIBwQKByQHCwgHBAoHmwEHCwgHBAoHBgsIBwQKBzYLCAcECgcwCwgHBAoHJwsIBwQKBzALCAcECgcvCwgHBAoHMAsIBwQKBy8LCAcECgeHAQcLCAcECgcwBwsIBwQKBycHCwgHBAoHHAcLCAcECgcjBwsIBwQKBwYLCAcECgcnCwgHBAoHOAsIBwQKBzALCAcECgcmCwgHBAoHFgcLCAcECgcWBwsIBwQKBxcHCwgHBAoHIAcLCAcECgcYBwsIBwQKBwgHCwgHBAoHHwcLCAcECgemAQcLCAcECgc5BwsIBwQKBzgHCwgHBApHAQsIBwQKBwoHCwgHBAoHDAcLCAcECgcGCwgHBAoHKQsIBwQKByMLCAcECgcnCwgHBAoHGQcLCAcECgcdBwsIBwQKBxUHCwgHBAoHDAcLCAcECgcYBwsIBwQKBwwHCwgHBAoHIAcLCAcECgerBAcLCAcECgc6BwsIBwQKB4cBBwsIBwQKBwgHCwgHBAoHHgcLCAcECgcIBwsIBwQKBwYLCAcECgcnCwgHBAoHCgcLCAcECgcRBwsIBwQKRwELCAcECgcRBwsIBwQKRwELCAcECgcRBwsIBwQKB4YBBwsIBwQKBzUHCwgHBAoHmAEHCwgHBAoHJAcLCAcECgcgBwsIBwQKBwUHCwgHBAoHJgcLCAcECgctBwsIBwQKBxgHCwgHBAoHrgEHCwgHBAoHLQcLCAcECgeAAQcLCAcECgcIBwsIBwQKByQHCwgHBAoHEgcLCAcECgcGCwgHBAoHDwsIBwQKBxQLCAcECgcUBwsIBwQKBwwHCwgHBAoHlwEHCwgHBAoHJgcLCAcECgcpBwsIBwQKBwgHCwgHBAoHEQcLCAcECgcIBwsIBwQKBxUHCwgHBAoHFQcLCAcECgcGBwsIBwQKBwYHCwgHBAoHBgcLCAcECkcBCwgHBAoHBgcLCAcECgcGBwsIBwQKB4EBBwsIBwQKByYHCwgHBAoHCAcLCAcECgcTBwsIBwQKBwgHCwgHBAoHGQcLCAcECgenAQcLCAcECgeWAQcLCAcECgeEAQcLCAcECgcwBwsIBwQKB5MBBwsIBwQKBzgHCwgHBAoHCAcLCAcECgcaBwsIBwQKBwgHCwgHBAoHgAEHCwgHBAoHEwcLCAcECgcwBwsIBwQKByUHCwgHBAoHMQcLCAcECgcIBwsIBwQKBxYHCwgHBAoHDAcLCAcECgcGCwgHBAoHKAsIBwQKBykLCAcECgcmBwsIBwQKB5UBBwsIBwQKByoHCwgHBAoHCAcLCAcECgciBwsIBwQKBwgHCwgHBAoHGgcLCAcECgcJBwsIBwQKByYHCwgHBAoHKQcLCAcECgcIBwsIBwQKBycHCwgHBAoHCAcLCAcECgcWBwsIBwQKB4EBBwsIBwQKByQHCwgHBAoHCAcLCAcECgcnBwsIBwQKBwgHCwgHBAoHJQcLCAcECgc9BwsIBwQKByMHCwgHBAoHCAcLCAcECgcUBwsIBwQKBwwHCwgHBAoHBgsIBwQKByALCAcECgcbCwgHBAoHNgcLCAcECgeCAQcLCAcECgeBAQcLCAcECgc4BwsIBwQKB48BBwsIBwQKB5MBBwsIBwQKBwgHCwgHBAoHHQcLCAcECgcIBwsIBwQKBz0HCwgHBApHAQsIBwQKBxUHCwgHBAoHLgcLCAcECgcyBwsIBwQKBwgHCwgHBAoHIAcLCAcECkcBCwgHBAoHDwcLCAcECgc1BwsIBwQKBy0HCwgHBAoHCAcLCAcECgcdBwsIBwQKBwgHCwgHBAoHMgcLCAcECgcIBwsIBwQKBwYLCAcECgcFCwgHBAoHBQsIBwQKBwULCAcECgc0BwsIBwQKBzEHCwgHBAoHCAcLCAcECgcgBwsIBwQKBwgHCwgHBAoHKAcLCAcECgcxBwsIBwQKBzMHCwgHBAoHCAcLCAcECgcgBwsIBwQKBwgHCwgHBAoHFAcLCAcECgcFBwsIBwQKBwMHCwgHBAoHAwcLCAcECgc8BwsIBwQKBycHCwgHBAoHCAcLCAcECgcyBwsIBwQKBywHCwgHBAoHMAcLCAcECgckBwsIBwQKByoFCwgHBAoHGQcLCAcECgchBwsIBwQKBy4HCwgHBAoHIQcLCAcECgcZBwsIBwQKBysHCwgHBAoHFwcLCAcECgcWBwsIBwQKBy8HCwgHBAoHHQcLCAcECgcXBwsIBwQKBzEHCwgHBApHAAFCAQECAQUBBAEDAQYBAkECAkEBAgECAQJBAAcLCAcECgcEAUIAQQECAQJBAwQBAkEBAwEHQQACBQsIBwQKByEHCwgHBAoHJAcLCAcECgcoBwsIBwQKBz4HCwgHBAoHMAcLCAcECgcZBwsIBwQKByEHCwgHBAoHJQcLCAcECgcjBwsIBwQKByUHCwgHBAoHDwcLCAcECgcLBwsIBwQKBxwECwcLCAcECgcoBwsIBwQKB40BBwsIBwQKAwcLCAcECgctBwsIBwQKBwYLCAcECgcaCwgHBAoHEwsIBwQKBxMLCAcECgcSCwgHBAoHIQsIBwQKB5QBBwsIBwQKB60DBwsIBwQKB4gBBwsIBwQKBwYLCAcECgcFCwgHBAoHBgsIBwQKBxULCAcECgcPCwgHBAoHPwcLAgQDCA+1EYsXoxC1EJgWgRi6D6sMlg2ZDrgKoRmAB50GqAaTDL0MggaZC5gGvAivBRQWpgKnApoCoQK0AYcDqgS1Ap0CgwUUnwekBL8BtgQFtQFFA7oBsAG8AYUChgJFA4ECuQHyAQC8AUUGtgG1AbABrwGEAr4BuQG9AUUEAwECAQIBAgQCAwEDRQAGA0IABQMCCAIBAgECAwJHAEIBBQQDBgIBAgFCAQEEAgFCAAEEAgMHAgUBvwGzAYcBgwKGAoMChwK9ATBFBLIBgAK5AbEBuQGgApQCMASEAaUCCAQFBwUHCgENAAABAgCJEQG9CEIBAQBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAUEG+CJ4BowGZAaUBrgGvAaoBogHbAQClAZ8BngGZAZgBrQGnAaIBpgGoAZwBmgGNAaMBoAGkAeYBAJ0BlgGaATOTAqIBiQK9ARBBbhCjAkEJAecVAH0BfRV9AHcEb3BlbncEb3Blbnl3AHcIc3RhbmRhcmR3AHUAdyQ4ODYzMGRmYi01ZmQ0LTRhMDItYjAxZi1hNDk2Nzc2ZmNjYmR4dw5jb3JlL3BhcmFncmFwaHl3JDIzMTI2MWM2LTA2YTQtNGRmNy04ZDM4LTQ0NzRlYTUzYTI1ZHcMY29yZS9oZWFkaW5nfQJ3JDRmYjJmYjA1LTQ3ZDktNGI2My1hZTFhLTYxNzU3MGJjMjZiNHh3DmNvcmUvcGFyYWdyYXBoeXckNWJhMGRmMjEtNTQ4NC00YWIwLTg5NmItOWIwMmNhYjAzZDczeHcOY29yZS9wYXJhZ3JhcGh5dyRkZWE0N2UzYS1iMDI2LTRlODktOGM4Zi0yZWZhZWJhY2RiOTZ4dw5jb3JlL3BhcmFncmFwaHl3JGQwNzZkNTk3LWQyNWQtNDc5OC1hMDUyLTMzMGJjNGZiNDU0MHh3DmNvcmUvcGFyYWdyYXBoeXckMDc5ZTM2MDktYTU1MS00NzgzLTgzNzUtYzM4NTI4NDYwOTZleHcOY29yZS9wYXJhZ3JhcGh5dyQ3ZTQwNzUyYy03MGQ0LTQ3MTItODkyYS02Mjk2YWZiYmNhYmV4dw5jb3JlL3BhcmFncmFwaHl3JDdmNmUyZjdmLTA4ZjUtNGMxNS04ODg4LTY0OGE4ZjZlMjc0MHh3DmNvcmUvcGFyYWdyYXBoeXckNDdlNjZlNDAtZjI5Yy00NDIxLTllOWYtMmRhMzQ4YTM2MGUyeHcOY29yZS9wYXJhZ3JhcGh5dyRiOGE5M2M0NS1kNDhhLTQ3MzctODJiNS0yMzQzYjBkNTVhNDZ4dw5jb3JlL3BhcmFncmFwaHl3JDU3OWU1MTgzLTY5MGEtNDk5YS05NWQyLWIzMDE4ZTZmZWVmZHh3DmNvcmUvcGFyYWdyYXBoeXckZTQ1MWRkZmEtOTRkNy00MzAyLWFlNTgtNWRiMjNkMDIyMGVieHcOY29yZS9wYXJhZ3JhcGh5dyRmMTA3YzNlZi04OTM2LTRjZDAtODg3My0xMDY4MmY3NGQ5OWZ4dw5jb3JlL3BhcmFncmFwaHl3JDg4YzAyNzk0LTRiZWEtNGY2YS1hMzVhLWMwY2ExMzdkYWU3Znh3DmNvcmUvcGFyYWdyYXBoeXckYmQ5ZWY0YjktNTg1Ny00MjdlLTgwMGUtNzIzZTNhN2VlZTI4eHcOY29yZS9wYXJhZ3JhcGh5dyQ5MDM2ZDhhYy1jMGMyLTQ2YjEtYjhhOC1jZjc2Zjk2Nzg1MGV4dw5jb3JlL3BhcmFncmFwaHl3JGU2OGIzYzkxLWRiYTQtNDY2ZS04MmMyLWVlMjc0ZDVkZTRjOXh3DmNvcmUvcGFyYWdyYXBoeXckNzI4ZTFhMjUtMjUzZC00MDhhLTgxYzQtMGFiNTI3YjQ4OTZjeHcOY29yZS9wYXJhZ3JhcGh5dyRmNTFkYmUwMS0xNTBjLTQzMjAtYjRkMS04YjlmOWU2NjkyYWR4dw5jb3JlL3BhcmFncmFwaHl3JDJjNWFmZjA1LTRhYWMtNDcyMC04OTI3LTQxZWNiOWJiM2IxNnh3DmNvcmUvcGFyYWdyYXBoeXckZGQyZWY0ZDQtYTMwZC00ZWJkLThjNmItYWQ1NmYwZGQ2OGZkeHcJY29yZS9saXN0eXcAdyQzZmI3NTRmMS0wNzJjLTQzZWMtOGVlNi00MTcyNDIwMjE1MDJ4dw5jb3JlL2xpc3QtaXRlbXckNWUzMzM4NDMtMjE4ZC00NmFhLTk3ZTctMWJiYjk3NjQzZGNieHcOY29yZS9saXN0LWl0ZW13JDEzMzg4YmI4LTkwNmYtNDg5OC1iMDY0LTFkNjg3MzdkMGYzN3h3DmNvcmUvbGlzdC1pdGVtdyQzYTcyOGJjOS02NjYzLTQ4OTgtOGI5MC0yNTdlZjM4OWY2NWF4dw5jb3JlL2xpc3QtaXRlbXckZDg4ZWJiNjEtNjQ3My00Yjk5LTk1NzktMDQ3OWNhN2NmZDZleHcOY29yZS9saXN0LWl0ZW13JDhmYjY4ZjEwLWZkNGEtNGY2My1hMjQ5LTU3NTVhZjc1NjQ3NXh3DmNvcmUvbGlzdC1pdGVtdyQyMjFlMTA5ZC05YjgzLTQ2NGQtODE1MC04OGQzMWQ1Yzk1NGN4dw5jb3JlL2xpc3QtaXRlbXckYTc1OWZlZmItOWU5YS00ZDU4LWEyZTktZmNiN2ZjNjY0ZTQ2eHcOY29yZS9wYXJhZ3JhcGh5dyQwZjU5ZjQwYi0yNzY4LTRiYjktODQxYS1kNzczZjU0NzM1NmJ4dw5jb3JlL3BhcmFncmFwaHl3JDRmMmEwZGVhLTVhMDUtNDMwNS1hMjc4LTZmODQ1OGExZmJhYnh3DmNvcmUvcGFyYWdyYXBoeXckYzM5MGM2YTYtNzE2Ny00MmNmLTkzY2YtYjhjOGNjZTY5ODVieHcJY29yZS9saXN0eHcAdyQ2ZDE5ZDg1YS0xMTg0LTQ2YTUtODg3Yi1mZmQ1ZWMzYjgyNzR4dw5jb3JlL2xpc3QtaXRlbXckMGZkMDE1M2MtNzUyYy00NTMwLWIwZGQtNDRmMDA4ZDBkNGY4eHcOY29yZS9saXN0LWl0ZW13JDhhYzc3MTJiLWVhZWQtNGRlNC1iY2U0LWMwN2QyZjMyZWE1Mnh3DmNvcmUvbGlzdC1pdGVtdyQ5ZWQ2YTM3OS1lNWQ3LTRkMzItYWE3NS0xYzdhYWE2MTE0NmR4dw5jb3JlL2xpc3QtaXRlbXckZGJmNGM1OGMtYzAxNS00ZDZlLWJiN2EtYjk4NDEyMTkzMzMyeHcOY29yZS9saXN0LWl0ZW13JDE0MTYyYjY2LTVjZTItNGQzOS1hZTVkLTg2ZGJjMjJiNWNiYXh3DmNvcmUvbGlzdC1pdGVtdyQwNDAyZDE3YS01YjQ4LTQ2YmYtYjMzOC0xMDMxOThhNTM0ZDl4dw5jb3JlL2xpc3QtaXRlbXckMjJlNGI5ODEtNTkxYi00ZjJlLWJiMjItZmRiZDA2ZjVjNjRieHcOY29yZS9wYXJhZ3JhcGh5dyRjNDFiNGE0Ny00ZDZkLTQ1Y2EtODQxNy1kMjUxNTgzODVmMWN4dw5jb3JlL3BhcmFncmFwaHl3JGJmMWE1Yjc5LThiN2YtNDAxYi1hMzcxLWU3MTgwODcxNmZkYnh3DmNvcmUvcGFyYWdyYXBoeXckYWRiZjQ2ZmMtYzQ2NS00Y2NmLWEwOGUtN2MzYzk2MWUxYWM5eHcOY29yZS9wYXJhZ3JhcGh5dyQ0ZDU3N2ViNS01M2NkLTQyMGYtYWZlYS01MWEzYjI5OTljNWF4dw5jb3JlL3BhcmFncmFwaHl3JGU1OGYzYTRjLTA0ZTgtNDc2Yy04NTU2LTAxZjE3M2ViNWNkZnh3CWNvcmUvbGlzdHl3AHckNzljMDBiZTItN2EzYi00YjA4LWIwYzItMzkyNDU2NzAzOTkxeHcOY29yZS9saXN0LWl0ZW13JDkzZThkYWM2LTk4NTMtNDdkNy04N2QzLWUwNzY2YTlkNTk5Nnh3DmNvcmUvbGlzdC1pdGVtdyRiNTM5Njc0YS0wN2M3LTQyMDYtYWU1YS00NjExYjczMjIwZTh4dw5jb3JlL2xpc3QtaXRlbXckZGI4Zjg4Y2ItZDRlOS00YTFjLWFkMDItZGM0ZjAwZWU5OWQweHcOY29yZS9saXN0LWl0ZW13JDdmYmQ4YTM4LTgzYWItNDMwZS05MGFhLTEyMzZlNTA5NmFkNnh3DmNvcmUvcGFyYWdyYXBoeXckYjU4YmYwZTUtZDQ4YS00NWYzLTkwYzEtOTA5ZjNhOTE3NTgxeHcOY29yZS9wYXJhZ3JhcGh5dyRkOWY5MThkNS1jNTY0LTRjZDgtOTI2ZC1hOWQ0ZTAyOWJkZjB4dw5jb3JlL3BhcmFncmFwaHl3JGQ1OWJhOWZkLWMyMmYtNDc0Yi04MGE4LWI2NjY0ZTBmMzZmN3h3DmNvcmUvcGFyYWdyYXBoeXckYWFhMTA5OGYtNDIwZS00OTRiLWJlODYtYWU3MDIzZjY0NjNleHcOY29yZS9wYXJhZ3JhcGh5dyQ5NzhhOTVlYi1lNzE5LTRlNDEtYTA4NS0zOTI4MTk3NWYwYjF4dw5jb3JlL3BhcmFncmFwaHl3JGVmZjhhODZiLTNmMTctNGE1Yi1iOWQwLWU0YjAzYTMxNDA3M3h3DmNvcmUvcGFyYWdyYXBoeXckZjI4MjdkNWUtYzI3ZC00ZjgyLWJiNWEtMDFiNWMxODU1MzA2eHcOY29yZS9wYXJhZ3JhcGh5dyQ5Y2IzY2MwMC04MzNhLTQ0ODEtOTVkMy0zOTdmMGY3ZWVhNzV4dw5jb3JlL3BhcmFncmFwaHl3JGY0NjBlNzI1LWRjYTktNDUzMy04MzBiLTEwODM2NTk4OWQzYnh3DmNvcmUvcGFyYWdyYXBoeXckYjJkOTMxMTAtNjI2YS00ODcxLWJjMjUtYWFlM2YwYjA4MzEweHcOY29yZS9wYXJhZ3JhcGh5dyRiNzcyNDAzYS1iN2VmLTQyZTEtYjJhZS1lYWUzMzY2MzIxNTR4dw5jb3JlL3BhcmFncmFwaHl3JGYwNTVkZTc4LTEwZGEtNGI0Ny05OWQyLTFiMWU3OTU1NGUyNXh3DmNvcmUvcGFyYWdyYXBoeXckNzE1MWY1ZmEtOGY0MC00OWJlLWI5ZGUtMWFiYmFkY2NmNDU1eHcJY29yZS9saXN0eXcAdyQ0ZTQxN2M5My04YWZhLTQ3ZGYtOTY3OS02YjgyZGEzMTY5MmV4dw5jb3JlL2xpc3QtaXRlbXckMjU2MzJhMWItNzM5Yy00ZjFmLWFhNTItMzAyMTBjMDMxYjdkeHcOY29yZS9saXN0LWl0ZW13JDc1ODdjODE1LTEzOTItNDJjYy1iZDkyLTc5ZmZkZDY5ZThlYXh3DmNvcmUvbGlzdC1pdGVtdyQzOWEzODZlNS0xY2RlLTQ4MGMtYjIzYS0wMDZiOGI2MTVhODh4dw5jb3JlL3BhcmFncmFwaHl3JDIyODZkZDA3LTQyMzgtNDRmZC1iMzc0LWU4NDE0OTcxNjg0M3h3DmNvcmUvcGFyYWdyYXBoeXckYzRlYWZkZjYtMjQ0YS00ODZkLTlmMDgtZTU0ZWRkMzRjODcweHcOY29yZS9wYXJhZ3JhcGh5dyRjMzhiYTk4NC1mNGY2LTQyNTctOThkYi0xMmI3MDJiZjViMTF4dw5jb3JlL3BhcmFncmFwaHl3JDI2ZWY0MmU3LTY1ZWUtNDNkNy1hN2EwLTgyMmNiZDFiZjE5Nnh3DmNvcmUvcGFyYWdyYXBoeXckYWZmZTRlNGMtMzU4OC00NTU5LTk1MTgtODY4NDhmYTQ3NTI4eHcOY29yZS9wYXJhZ3JhcGh5dyRmMjQxNzY3ZC0zZGFiLTQ3NDEtOWY1MC03NGM0YmVjNGViMjF4dw5jb3JlL3BhcmFncmFwaHl3JDVkOWIwNWMwLTJjNDYtNDk1OS1hNmY3LWE4OTUwZWVkZGRkNnh3DmNvcmUvcGFyYWdyYXBoeXckYzE2YTBmNWMtMDcyMi00ZDY5LTliODYtNjg3OWY2ZDU3YzY4eHcOY29yZS9wYXJhZ3JhcGh5dyRkN2ZhZjUxYy0yODIzLTRlNzQtOWQ0Yi1hZWFkMmE0ZGViYjl4dw5jb3JlL3BhcmFncmFwaHl3JGQ4NzIwZjcxLTQ3N2UtNGJlMy1iZDE5LTQ2ODBkYWE0MzgzMnh3DmNvcmUvcGFyYWdyYXBoeXckZGM1ODc1MGEtN2NlMC00Yzc4LWE3YTctMzA0MmMwM2E2OGIzeHcOY29yZS9wYXJhZ3JhcGh5dyQwZTk1ZWRlMi02OGRjLTQ3MjItYjZlNi1mYzA4Y2U3ZjQyZTh4dw5jb3JlL3BhcmFncmFwaHl3JDk1M2M2YTQ2LTZhYTMtNGFlNi1iYzRlLWVhNGFhODAyMThhZXh3CWNvcmUvbGlzdHl3AHckMjZlYjJmMjItMTc3Zi00ZTYyLThiZDctYTNjYzhkYWM4NTk1eHcOY29yZS9saXN0LWl0ZW13JDZkZGViNjZhLWFlYzYtNDk3Zi1hNzFhLWI4ZmQwOTllMDQzOXh3DmNvcmUvcGFyYWdyYXBoeXckMWRhMTFhYjMtNzMwNy00OWVmLThkZjUtZTFmMjdjZTU1YmMxeHcOY29yZS9wYXJhZ3JhcGh5dyQ5NDZhNDQ3Mi1mMDc2LTQ5YjUtYWEyZS0yMGVjOTMxMGI5YTR4dw5jb3JlL3BhcmFncmFwaHl3JDEzMTAwMmM0LTYwNjktNGY3MC1iZWUwLTI4NjcwN2E0NmUxMnh3DmNvcmUvcGFyYWdyYXBoeXckODFmYzRhZGUtNDllMC00YmE3LTliODQtZWI2ZDdjZjUyZDY2eHcOY29yZS9wYXJhZ3JhcGh5dyRmZGRiZmYxNS03ODI2LTRlYWQtOWIwMy0xOWU3NzM4ZGQxNzV4dw5jb3JlL3BhcmFncmFwaHl3JDM0ZDljZTMzLTgwNjAtNDBjZC05OTY0LTM5NWY3NzA3YzM1Mnh3DmNvcmUvcGFyYWdyYXBoeXckOTdkMWEwNmUtN2ExMC00OGIyLWFjMzUtMmNkMmM1MjViZjY4eHcOY29yZS9wYXJhZ3JhcGh5dyRhYjFmZDAwYS03YzkyLTQxNGMtOTVlYy02ZDhjZGJhNzNkZWN4dw5jb3JlL3BhcmFncmFwaHl3JDE0ODEwMDRiLWU2MzEtNDAwYS1iZmVjLTE3M2NlYzYxYjdiNHh3DmNvcmUvcGFyYWdyYXBoeXckYWU5MjczOWEtNzFlZS00ZTUwLTgyZTktOTNkNGZlNTcxNWVieHcOY29yZS9wYXJhZ3JhcGh5dyRhYWJkMmMyNC1mZjViLTQ1NmUtODU4MC03ZThmNDZiZmNkMDJ4dw5jb3JlL3BhcmFncmFwaHl3JGE4ZjU0OTJiLTEzNTEtNDVhNC1hZmM2LWJiZGJiZDk2NTM2OXh3DmNvcmUvcGFyYWdyYXBoeXckY2QzOTA1ODYtYzQwNy00MzVkLTgwNDktMjlmN2I5OTM5NmU2eHcOY29yZS9wYXJhZ3JhcGh5dyRmMjJkZjZiYy04YmVhLTQwYmYtYmQ5Yy1jM2RiOWY5NDNlNjl4dw5jb3JlL3BhcmFncmFwaHl3JDE1M2M5NTk1LTc1MmUtNGQwYS04NGQzLTFiMWRjYWMwYzVhZHh3DmNvcmUvcGFyYWdyYXBoeXckYWYzZTA3N2UtYjhlNi00MmQ1LWIzYjYtYjc3ZTJiY2EyZGZleHcOY29yZS9wYXJhZ3JhcGh5dyRmNDg5OGNjNy0yZGI4LTQ5NWQtOWI4Ni1kYTRiZmMxZTFmMWZ4dw5jb3JlL3BhcmFncmFwaHl3JGQ0ODIxNGQzLTFlOGQtNGJjOC04N2MyLTQ3NmY0MTE4ZjQzZXh3DmNvcmUvcGFyYWdyYXBoeXckYTBjNTQ2YjAtMjEyMS00NDkzLWE2ZjItNDVhYjY0N2U2ZjRmeHcOY29yZS9wYXJhZ3JhcGh5dyQxMDJmNWYxOC1jMWM3LTRlOTMtOTkzZS1lYmZiOTI5YWZiYTF4dw5jb3JlL3BhcmFncmFwaHl3JDhlM2UyZjc1LWY3OWMtNGJlZi1hNWI4LTdhOTIzMDhiZjg1MXh3CWNvcmUvbGlzdHh3AHckOTRjOTk1MjUtN2ZkNy00NGRlLTllM2YtNDM4N2QxMTg4N2QyeHcOY29yZS9saXN0LWl0ZW13JDA2MWZjMWYyLWM1MTctNGM4Ni1hNzczLTEzMzc0MTI2ZDdkOHh3DmNvcmUvbGlzdC1pdGVtdyQ1YTQ0OTAyYi05ZTJjLTQ5NDUtYTU2Yy1kY2U5NWU2NWVmNWV4dw5jb3JlL3BhcmFncmFwaHl3JDU5YzZhZjFmLWZlYTMtNGU3Mi1hNTc2LTU2Njc0NWU4Yzg0M3h3DmNvcmUvcGFyYWdyYXBoeXckYjA4OWQ2M2EtMjc5ZS00ODljLWJjNWEtMTkwMDI2MzE3ZDdieHcOY29yZS9wYXJhZ3JhcGh5dyQwMDI3MjBhMy04MTljLTQ0YWEtYjQ5ZC1mOTJmODc1ODIyYjJ4dw5jb3JlL3BhcmFncmFwaHl3JDc2N2JjYzI1LTJjYTUtNDI5Ny1hODhmLTdjZGFhYjdjMzNkMnh3DmNvcmUvcGFyYWdyYXBoeXckM2JjYzhmZDEtOGU4My00NmQ1LTllOWQtYzRlYzBkZTczZWI1eHcOY29yZS9wYXJhZ3JhcGh5dyQ0NTIyY2EzYy1jMTQzLTRlNTAtOGUwMi0xMThlZjJmYzVmMWV4dw5jb3JlL3BhcmFncmFwaHl3JDA4NjMwNGJhLWE5MDYtNGMwZS04NGFlLTEyNThjNDU0Y2Q0ZXh3DmNvcmUvcGFyYWdyYXBoeXckM2VhMzliYjctNzdjYi00MmUxLWFiOWItM2VhMjhlMDY4MDc1eHcOY29yZS9wYXJhZ3JhcGh5dyQwYTc4ZmFkYi1hZGIxLTRjNjMtYWVlMC05NDljNDkwNDcxZWV4dw5jb3JlL3BhcmFncmFwaHl3JGIyOTY0ZmQzLWE2NmMtNDI5My04ZGZkLTI0YTMyMzlhNDc1M3h3DmNvcmUvcGFyYWdyYXBoeXckNGNkMjU1MTgtNjVmMy00OGMzLWFmODAtZDhkYTdlMDJkZmRjeHcOY29yZS9wYXJhZ3JhcGh5dyQ1YWFmMTYyZS05NzFkLTRmZjItOTRhMS0zN2NmZTA0N2FmYjl4dw5jb3JlL3BhcmFncmFwaHl3JDczZTYzYzg0LWQ1ZmMtNDVhOS04OWU4LTQ4NmNmNGUwYjQ5NXh3DmNvcmUvcGFyYWdyYXBoeXckM2EyZDUyY2ItNjE2My00M2VjLTgzZGYtYjg3OWZmMjQxMTZieHcOY29yZS9wYXJhZ3JhcGh5dyQ4NWJiYTcwOC1kOTllLTRmMjQtOGE4MC00MzRmNzYwYWFhZTV4dw5jb3JlL3BhcmFncmFwaHl3JDExNDE1MTA1LWQ0NTktNDU3MC1hMzg2LWE1MzI3NGQzMGMzZHh3DmNvcmUvcGFyYWdyYXBoeXckZjA3ODQ1OTYtZWFlOS00NmE5LWE5YjItMWVhYzkzM2ZhMDEzeHcOY29yZS9wYXJhZ3JhcGh5dyRmYTEzOGQ1ZS1jYjFkLTQzNzYtYmExYi0zMWI4MzFkMGQzNWF4dw5jb3JlL3BhcmFncmFwaHl3JGVkZmIyYjRhLWJhYzYtNGE1Mi05NGEwLTc5YTNjMTI2MWI0Y3h3DmNvcmUvcGFyYWdyYXBoeXckNmEwMjg1MDctODg5YS00MmIzLWE3MDUtMjUwZmM5NjQ3ZmE0eHcOY29yZS9wYXJhZ3JhcGh5dyQ5MDZiMTQzZi1iMWNmLTQwYWQtYWY1MS1jMDhmMjlkYmFmMGR4dw5jb3JlL3BhcmFncmFwaHl3JDQyMzRhNGU5LWM1NDctNGVlNS1iNmQxLTI0ZWEyZWYyNTkyMHh3DmNvcmUvcGFyYWdyYXBoeXckOTM1Zjc3ZWUtYjMxNi00MTI5LTlhYTAtN2Y4ODdkOGNkODBheHcOY29yZS9wYXJhZ3JhcGh5dyRhOTQ5MDE5My0wOTQyLTQ1MTMtYWNhMS0zOWQ2Yzk1NmZjYTh4dw5jb3JlL3BhcmFncmFwaHl3JGFkM2ExMWU5LTM5Y2ItNDI4My1iYzg3LWE1YTgxNmEyYmI5ZXh3DmNvcmUvcGFyYWdyYXBoeXckYzY3NTdlMDUtMDZjZC00MTI2LTliYTctOTY0YzE4YzFhNTlheHcOY29yZS9wYXJhZ3JhcGh5dyQ5NGE4MzA1Ny00ODY2LTQxYmQtOTJhYS1iY2JhMmU5MDA3YmF4dw5jb3JlL3BhcmFncmFwaHl3JDg4NGQyYTUxLTM3YzMtNDVhMy1hMjVhLTI1ZjAyMzFlMTUyNnh3DmNvcmUvcGFyYWdyYXBoeXckODk1OTgwODQtMTliYi00NjJmLWJjZjQtNDZmYWMzMWMwMzY2eHcOY29yZS9wYXJhZ3JhcGh5dyQxMmI0NWFlZC03ZWM3LTRmMzItYmEwNi1iMGYwM2E3MGRiZjd4dw5jb3JlL3BhcmFncmFwaHl3JGVhZmI4Y2Y0LTNjZDItNDg4Zi1iYTM2LWU1M2FlNDc1MDgxZnh3DmNvcmUvcGFyYWdyYXBoeXckZmM4MWY1NWQtNjA5MS00MThlLWE4ZmYtNzhmNjQwOWJjNjRleHcOY29yZS9wYXJhZ3JhcGh5dyQ5NzVhZTUwOC1iNmNmLTRhNTQtOTg2OC02NmM2MmY4YTAwYTF4dw5jb3JlL3BhcmFncmFwaHl3JDYzNjQwMmJiLTg5YWUtNDE5Mi05ZTA4LTBhY2U3YThhMTkzYXh3DmNvcmUvcGFyYWdyYXBoeXckZmYyMmQyYjctMzVhNi00YTBkLWEyMGEtYjkxNDlmNGJhZDk0eHcOY29yZS9wYXJhZ3JhcGh5dyQ0NTRmYWYwZS0xMmNhLTQ1NWItOTA5Yy0wNjcxOWM0NmY3M2N4dw5jb3JlL3BhcmFncmFwaHl3JDhjYTM1OWUxLTJiNzAtNGI1ZC05ZTAyLTVhM2UxMjBmNWJmNHh3DmNvcmUvcGFyYWdyYXBoeXckMzJhOWZhOTYtYTE5Zi00YTlkLTlmYjEtZjRiNGQ5YzllOTQ2eHcOY29yZS9wYXJhZ3JhcGh5dyQ1MjJkNGE4Mi01NWFkLTRmNjgtYWY1MC1iYWVlYjIyNjcxNjF4dwljb3JlL2xpc3R5dwB3JDIxOGZmZDEwLWViZWQtNDQzNC1hM2M0LTQwYWZhNTk1NmU4M3h3DmNvcmUvbGlzdC1pdGVtdyQ5ZTU2MjM0Mi0yMjViLTRmZTgtYmM0ZC1mN2Y5ZDA2YTRlYTN4dw5jb3JlL2xpc3QtaXRlbXckZDkxZDI3MGMtZTgyMS00MDg5LTlhNjktNTNjY2M0NmNkNTNjeHcOY29yZS9wYXJhZ3JhcGh5dyQ1OWU1YzkxNi00ZTRiLTQ0YTMtYjg2Mi02MjBhYzBhMzRhNWZ4dw5jb3JlL3BhcmFncmFwaHl3JDY4YjQzODliLTQzY2ItNDZiMi05YzM3LThlMWQ2YjI5OTNjNnh3DmNvcmUvcGFyYWdyYXBoeXckNGU1YWMwMWYtNjZmYi00ZTk3LTliOWUtYjBhNjVjODgzMGRleHcOY29yZS9wYXJhZ3JhcGh5dyQ5MzZkZWZlMi04NWVkLTRiMjMtODg3YS1jZDA2ODMzYzAyNWN4dw5jb3JlL3BhcmFncmFwaHl3JDkwZjc4OGYyLTgyNjAtNDU3Yy05ZWMwLTZmOGQ0ODljZTgxNXh3DmNvcmUvcGFyYWdyYXBoeXckZmIzZmNmZjUtYWE4Ni00NDBkLThmYTUtYzk1MDVhY2Y3OWY1eHcOY29yZS9wYXJhZ3JhcGh5dyQwMTdmY2RlOS05OWQwLTRhMTQtYjQ1Ny00MWVjOTNiMjgzMTB4dw5jb3JlL3BhcmFncmFwaHl3JDAzMjE2ZTFlLTAwZGEtNDNmNi1iYjFkLTcyNDY4OTQwMzczNnh3DmNvcmUvcGFyYWdyYXBoeXckNzQwY2EyOWUtNjFlZi00YWY1LWE1NTctYWQzMjJkMDA4MjI3eHcOY29yZS9wYXJhZ3JhcGh5dyRlNzM0NDMxNS02NWMyLTRiY2QtOGU2NS0zM2JjMjY1OWQ5NDV4dw5jb3JlL3BhcmFncmFwaHl3JDMyZmY4MDIyLTlmY2UtNDU0Ny05ZDkwLWU1ZjY5ZjA3OWJlOXh3DmNvcmUvcGFyYWdyYXBoeXckMTAwMWRiNmYtZmExNy00YTI4LTliOGUtOGY2YTkwYzQ4OTA2eHcOY29yZS9wYXJhZ3JhcGh5dyQ1ZDE4OTZmOS02Y2FiLTRlMTgtYTk2Ny0wZjRmZjg5ZmY4N2F4dw5jb3JlL3BhcmFncmFwaHl3JDNiZWU5ZTQ4LTAyM2YtNGJjMC1hNzAxLTY0NzliODc2OWFkZXh3DmNvcmUvcGFyYWdyYXBoeXckMTE3Y2IxYTctZDcyYi00NWRjLTkxMWEtYWViNmQ4MzM0NWJkeHcOY29yZS9wYXJhZ3JhcGh5dyRiN2Q2YzQxMy1hYjU1LTQ1MzctOWU0MS0wYjQzZWZiOTcxZDh4dw5jb3JlL3BhcmFncmFwaHl3JGJkYzFiMmRkLTIwZWQtNDNiZS04M2Q0LWRlMjhkN2ZjZDBlOHh3DmNvcmUvcGFyYWdyYXBoeXckYTg1YjgwOTItMDY4Mi00YjUzLWFlMWEtMjhiYTM5ZWRiYzE3eHcOY29yZS9wYXJhZ3JhcGh5dyQwMjBjODM1YS0xM2JiLTRiZGEtOWU3ZC1kOTM2ZjA1NTY2NWN4dw5jb3JlL3BhcmFncmFwaHl3JDY1YmJmMjY1LTRhNzgtNDQ3Zi04NmU1LTkyNDkyZjdlMWRjY3h3DmNvcmUvcGFyYWdyYXBoeXckZTY4MDVlZWMtZGI4ZS00NmY2LWFlOWItZDY0MzY0NzFiMDFieHcOY29yZS9wYXJhZ3JhcGh5dyRjZjFiYmUyMS01OGYwLTRiMTUtYjFmMS05ZGFhN2E5YzlhMGZ4dw5jb3JlL3BhcmFncmFwaHl3JGI2MzllMmQzLTQ3MDctNGI3My1hNTA0LWU0N2IyYzhiYzMxMHh3DmNvcmUvcGFyYWdyYXBoeXckY2M1NTM5ZDktMGZmZS00NDMxLWEzY2QtMGVkMWY0NmUwY2M3eHcOY29yZS9wYXJhZ3JhcGh5dyQyMjI4Y2ExOS1kZDQ0LTQ1YzAtYmQ3YS0wMTljNTRlMDJlYTR4dwljb3JlL2xpc3R5dwB3JDBmYmVmOWZmLTdiOTItNGNkYy04NTA4LTMzN2MxNDc5NDVhNXh3DmNvcmUvbGlzdC1pdGVtdyQwNzhiZGYzOC0yMzMwLTQxMTAtODFlMi1hYzNmMmU0Zjc5MGZ4dw5jb3JlL2xpc3QtaXRlbXckZmU2NzI0NGYtMWVmZS00ZDRjLWEwMmItYzYwMTg4MjljMGRieHcOY29yZS9wYXJhZ3JhcGh5dyQ5NjhkYmYzZi02NzFiLTQxZWUtYWNhYy0xY2VkMTMyNjU4YWJ4dw5jb3JlL3BhcmFncmFwaHl3JDI5MDUyY2Q3LTkzYmYtNGQ3Mi04OTg5LTQ3OTQ3YWFkN2M0Nnh3DmNvcmUvcGFyYWdyYXBoeXckNzc0YWI1ZWUtNWY2OC00ODEyLTlkNDktOWJjZGZiYjk3MWRheHcOY29yZS9wYXJhZ3JhcGh5dyQzZjYxYzBiNC1jODU1LTQ2NTQtOWE3My03MWRmYzYzN2Y2NGR4dw5jb3JlL3BhcmFncmFwaHl3JDg5MjE5ZTNmLTlhMTMtNGJlMS1iMjYzLTQ4MGU1NzVlNDQyZXh3DmNvcmUvcGFyYWdyYXBoeXckYmE5YTJkMzctNzE5YS00Njk5LWFkNDEtYjgzYzYxMjAxNzhkeHcOY29yZS9wYXJhZ3JhcGh5dyRmZmFlYTI5OS0zODliLTRjYjYtYTAyZS1mY2FjMmM0NTk5YTN4dw5jb3JlL3BhcmFncmFwaHl3JDY1ODY5YzJiLTM2M2MtNDEzNS04ZmU5LTgxOTFhNDBlMDRlMHh3DmNvcmUvcGFyYWdyYXBoeXckYTQwMmJkNTctMmI1Yi00NjQ5LTg2NzktZWRiMWZjMzRlNmIweHcOY29yZS9wYXJhZ3JhcGh5dyRkMzVmOWEzNy0zZmRlLTQ4MTMtYjI1Ny05OTA1ZmZmMzljNjB4dw5jb3JlL3BhcmFncmFwaHl3JGIxMzc2Yjk0LWEyOTYtNDg2OS04YjMwLTgyOTAzZmY0YTk5Y3h3DmNvcmUvcGFyYWdyYXBoeXckY2M1N2JlYzktODM4YS00MWUxLWI2ZTItNWY3NGZhNmZmZDYyeHcOY29yZS9wYXJhZ3JhcGh5dyRmYTQyMWI5OC05NDk2LTQ3ZTAtODM2NC03NmY2ZDI5ODBhMTR4dw5jb3JlL3BhcmFncmFwaHl3JDBhZTZkNWE0LTlmNjUtNDZlMi1iMWVhLThkMDY0NTdmODYwZHh3DmNvcmUvcGFyYWdyYXBoeXckMDg0OTQ4ZjEtMmM4ZS00MzA0LTkwYTgtNGMwZGU1OWQ4ZGM4eHcOY29yZS9wYXJhZ3JhcGh5dyQ4M2Q3NzU5ZS1lYTZkLTQxNzAtYmQyOS03ZmM3YzkxY2JlZmF4dw5jb3JlL3BhcmFncmFwaHl3JGQ4YWU3N2RiLWQyMTAtNGNmMy1hYzkyLTA2ODIyOTI0NDRjNHh3DmNvcmUvcGFyYWdyYXBoeXckMTMzY2UyODQtNzg0NC00MmUyLTkzZDAtZmMyNTcyZjQ3OWI5eHcOY29yZS9wYXJhZ3JhcGh5dyRhMjI0MjhiMC05MzVkLTQ0ODAtYTg0Ni1mYWZmYjY5M2NiYmJ4dw5jb3JlL3BhcmFncmFwaHl3JDBhMmU1MGYwLTZlNGUtNDhiMC1hZGE2LTlkMWE1NTg1NDk2Ynh3DmNvcmUvcGFyYWdyYXBoeXckNTc1N2I4NWQtMWI5NS00NGI2LThlMGUtZmQyMWRjYWQ4Y2JjeHcOY29yZS9wYXJhZ3JhcGh5dyQ2ZWMyYTNhYi0zNjM4LTQyODQtOWNkNi0yY2M3NWVkNWE2Njd4dw5jb3JlL3BhcmFncmFwaHl3JDk5NDAyMmU1LTRjYmItNDYxYi1iMmMxLTExNTc4YmI0NDljNnh3DmNvcmUvcGFyYWdyYXBoeXckMGYwMzJlY2QtYzk2ZS00MDBmLWI5ZDAtNzk0NDc1ZWU1NjNieHcOY29yZS9wYXJhZ3JhcGh5dyRjNTlmNTRiNC1iNmFkLTRkODUtYWZlMy1mMjdlN2MxYzFkMzd4dwljb3JlL2xpc3R5dwB3JDFjZGI3N2ZmLTU3NWItNGY0OS05MDBmLWQyMjJjMjQ5ZTIxMnh3DmNvcmUvbGlzdC1pdGVtdyQ2NzU2ZjFkNC1kMmRjLTQyYWYtOGIwMS01YzE5NzRmMWFjZjl4dw5jb3JlL2xpc3QtaXRlbXckZThlZjFkNTYtNGUyZi00MmI3LWIzMDItY2FmMDhmNDc1ZmVjeHcOY29yZS9saXN0LWl0ZW13JDg1MjlkYWY2LTA2YTMtNDBiNy1iNmI3LTVmODMzNGIwMjM5NHh3DmNvcmUvcGFyYWdyYXBoeXckZDY2Y2RiNTktMGJhNC00MTBlLWJiYmUtZWRhYzMwM2U5Yjk4eHcOY29yZS9wYXJhZ3JhcGh5dyRiNDIzZmVhNC02OGYxLTRkMmUtOGUzYy02YTAwYjUxMzMzZjF4dw5jb3JlL3BhcmFncmFwaHl3JDAzNjc3MGUzLTllMzktNGY5Ny05YmExLTM3OTc0NTQxNzBiM3h3DmNvcmUvcGFyYWdyYXBoeXckMWJiMmJjNDYtMDMxZS00ZmNmLWE2YTYtOTFmMmFiNDFjY2ZmeHcOY29yZS9wYXJhZ3JhcGh5dyRlOWE3OTIxZi1iM2I1LTRjZjgtOGNlMy0xZTQwODBiZWVlZjd4dw5jb3JlL3BhcmFncmFwaHl3JGRlYmRjZWM2LWQ0NDQtNGI0Mi1iOGIxLWJhMDAzN2E1NzhjN3h3DmNvcmUvcGFyYWdyYXBoeXckNzlmZDk2M2MtMjVhMS00N2FkLWJjYzItM2FlMDMyMDM5MDdheHcOY29yZS9wYXJhZ3JhcGh5dyQ0MjVmZjgzZi1iNDMzLTQwMTQtOWFkMC1hMTM2YTZkNjU5Yjd4dw5jb3JlL3BhcmFncmFwaHl3JDc1YTc4ZGVlLTNhMjgtNDBiYy04MWJmLTZkNjdjZGY5NjQwZXh3DmNvcmUvcGFyYWdyYXBoeXckYmI4MmUxZWUtNGRhMC00NWY0LTg2NGUtMmZhZDc3MmFlZTdheHcOY29yZS9wYXJhZ3JhcGh5dyQ3MDRjNzE4Ny00MThmLTRmNGQtODJiNi1lZWRhY2I2ODYyNmF4dw5jb3JlL3BhcmFncmFwaHl3JDBlMGZkMjIxLTI3ZWUtNGZhMS04NDIzLTdiY2JmODZjODYwMXh3DmNvcmUvcGFyYWdyYXBoeXckZThmOTcxMWUtYWQ4YS00YjQ3LTllOWItZDE0YzkyOGNiYzE5eHcOY29yZS9wYXJhZ3JhcGh5dyRjNjc1MzVlMy1jZDRhLTQyMjQtODVkZi1lMWFmZTkyZTVlM2J4dw5jb3JlL3BhcmFncmFwaHl3JDY1NmY2YTIyLWQwNTctNDA3Yi05OTVhLTA2NGJmOTk0ZDJkZXh3DmNvcmUvcGFyYWdyYXBoeXckYzNkYzlmZGYtYzk3ZS00M2NkLWJjOTItMjg0OWFjYTQ3Njc0eHcOY29yZS9wYXJhZ3JhcGh5dyRlY2I2Yzg3MC1kYTczLTQ1ZWQtYmJjZS04ZDJkMTBlNjg3MmZ4dw5jb3JlL3BhcmFncmFwaHl3JDQ1NGQ5YTVmLTM4MjEtNGFjZi1hMWQxLTc3MDgwZmMxNGVlZHh3DmNvcmUvcGFyYWdyYXBoeXckZjU1YTJmZGQtZDBlNS00N2NhLWFjNzAtYzY2NTQ4NWJhNGY3eHcOY29yZS9wYXJhZ3JhcGh5dyQzZmFhNThkMi1jZDE2LTQwN2YtYjc1Ny05MTczNWU5OGQ2ZTl4dw5jb3JlL3BhcmFncmFwaHl3JDljNzdhYWMwLTJhYjYtNDIzYy05M2VhLWU5ZDZhYmM4NTA2NXh3DmNvcmUvcGFyYWdyYXBoeXckNDE1YWVjMTMtYzY3OS00ODllLWJiMDEtNmY3YTdlNGM3MTY0eHcMY29yZS9oZWFkaW5nfQJ3JDY5YmJmMmM3LTE5MjMtNDExZi04NmU0LTc3YTY1NTQ0YmJhNnh3DmNvcmUvcGFyYWdyYXBoeXckZTU0MDc5OTYtZWIwOC00OWU3LWIyNjEtOTEwYjUwMjI0OWU5eHcOY29yZS9wYXJhZ3JhcGh5dyQ1Mjg0ZjM3Yi00Y2FhLTRlMjctYWM3ZC01ZmE2ZmZmNTQ2NWF4dw5jb3JlL3BhcmFncmFwaHl3JDQ5ODhiMjVkLTMyNDAtNGFlNi1hYWIzLWMwYmY5NWNiOGUzZHh3DmNvcmUvcGFyYWdyYXBoeXckMjc1YTQ3NzEtYjgyYi00NTU5LThlNDEtNzQ5MzllNTM0ZjY3eHcOY29yZS9wYXJhZ3JhcGh5dyQ5MjI5MWFkZS0wMjQ0LTQwYmItYjIyNS01YjdhNTA4ODc4Mjh4dw5jb3JlL3BhcmFncmFwaHl3JGYwMmRlNmYwLWRlMjgtNDZkMS1iN2FjLTNjZDA2NmU2YjUxZnh3DmNvcmUvcGFyYWdyYXBoeXckZjJlZmMwMDgtOGNiNi00NDY3LTkzZjEtMTVjZjIxZGE1OTFjeHcOY29yZS9wYXJhZ3JhcGh5dyQ3NzkwNGNjMC1kYWQ2LTQ4MTEtYmIzMy1lYmNmMmExZjE2NGF4dw5jb3JlL3BhcmFncmFwaHl3JDUwMDY0YTFjLTQxNTgtNDU4Ni1hNmRmLWI3MTRmNWQ0MGI5ZHh3DmNvcmUvcGFyYWdyYXBoeXckNmZmODNiNjMtZTZlMi00OWQxLWFlN2YtMGU1Njc4MDNjYWNheHcOY29yZS9wYXJhZ3JhcGh5dyQ3ODkwMTZhMi0yMDQxLTQ3OTMtOThlNS00MGNjZGQ2MDVlZTN4dw5jb3JlL3BhcmFncmFwaHl3JGE3M2MzZmNlLWNjNGItNGU2NS05ZWI5LTVjMjQ1ZWJlYWRkOHh3DmNvcmUvcGFyYWdyYXBoeXckODdmYTlkNjYtNDU1Ni00YmE4LWJlYjktMWJmOTU5NjMyMmU2eHcMY29yZS9oZWFkaW5nfQJ3JGIxYWQxNWJmLWQ2YzktNDY3MS1hZWE0LTE2ZWExZjAzNzZmMHh3DmNvcmUvcGFyYWdyYXBoeXckOTE1MTA0OGYtMWQ0Yi00ODRhLTgzNDMtMmY1NzEwNzg0Zjc4eHcOY29yZS9wYXJhZ3JhcGh5dyQ5M2NmODgwYy1kYjFiLTRjZDItYmFhNC04MDQ1NDhmMTdlMjB4dw5jb3JlL3BhcmFncmFwaHl3JDc0NTRlMjZmLTUxYTAtNDBiZS1hOWRmLWFhYTc5NDFlMmJmNXh3DmNvcmUvcGFyYWdyYXBoeXckNTIwNTZlMDAtYTg2NC00OWJmLTgxOTEtMjI3N2ZmNTFmMTYzeHcOY29yZS9wYXJhZ3JhcGh5dyQ1MzBjYmEyYy0zOGY2LTQzYzItYWQxOS04YTE4NDFlNTFlYmN4dw5jb3JlL3BhcmFncmFwaHl3JGMyZTk3OTMwLTVhMDAtNGY1NS05ODY5LTU0MWFiYjM0MTkzY3h3DmNvcmUvcGFyYWdyYXBoeXckMzgzNzU3NDctOWZhNS00YmUxLTljYTAtNzAzZDc0ZjVlOGFieHcOY29yZS9wYXJhZ3JhcGh5dyQwYzY0OWFkMS1mZDJlLTQ1NGItYTRhNC04MWExN2VjNzAwOWV4dw5jb3JlL3BhcmFncmFwaHl3JDAwZWUzMjM1LTI1YTctNDEyYS05NDMxLWNkMjkzMjAzNjczOXh3DmNvcmUvcGFyYWdyYXBoeXckZGI2ODI1OTMtOTI1NC00ZDJkLWE4ZjYtOWIwYWVhMTRmZmJieHcOY29yZS9wYXJhZ3JhcGh5dyQyNGU1ZWE1Ny0wMGI3LTQ5OWQtYWFhYi1jMjA1ZTY4N2JlNzJ4dw5jb3JlL3BhcmFncmFwaHl3JGNlODY1ZTNmLTNkMmUtNDg2My05ZWJhLTU0NDE3Y2JlYjE2Ynh3DmNvcmUvcGFyYWdyYXBoeXckYzcyNGNmMjktMzFkMy00MTJjLWE3NmYtODlkOWI2MmEzMDlleHcOY29yZS9wYXJhZ3JhcGh5dyQzMjg2M2UyZC0xNGM3LTRiMmMtODlkNy0wNWQ1NzU3MTAyZjN4dw5jb3JlL3BhcmFncmFwaHl3JGYzMTU3YTU1LTc3YTItNGRkOC1hYzgxLWY5YTg0MDg2MzVlMHh3CmNvcmUvaW1hZ2V3AHckZGE3YmMxYTctMGI0MC00YjNkLWE4YzgtMzM4OWMxMTRiNzA3eHcOY29yZS9wYXJhZ3JhcGh5dyQ4NjVhNmE3OC1mZTlkLTQwNGUtYWQ4ZS02NTQxNjZhMDdlZDR4dwljb3JlL2xpc3R4dwB3JDJiODNhMTBhLTE1M2UtNGY4ZS05MTQ3LTQ0N2VjM2M1M2U1MHh3DmNvcmUvbGlzdC1pdGVtdyQ2N2M0OTQwMy0wYTJjLTQwMzMtYjhlYS1mYjFlMTJmNjBkMzl4dw5jb3JlL2xpc3QtaXRlbXckZDhmNjU0MDktNDU0ZC00ZTM3LWJiMTEtZGE3NDg3OWFmMTVmeHcOY29yZS9saXN0LWl0ZW13JDliNTZiZDBhLTg5ZTEtNDk4YS04ZWViLTgwZmE2YzBiMDY5Nnh3DmNvcmUvbGlzdC1pdGVtdyQxZDE2YWVlYS0wOTI3LTRmZjEtODNjZC0zMzQ5NzAzNGU0N2N4dw5jb3JlL2xpc3QtaXRlbXckZjFjZDdjNTgtODMxOC00MDVkLWJhZmMtZTU4MmQ0OTY5MjQxeHcOY29yZS9wYXJhZ3JhcGh5dyQ3NzQ4MDZjNi1jYmZkLTQzZjctODk1Ni05ZjA2ODExY2YyMTJ4dw5jb3JlL3BhcmFncmFwaHl3JGIxNTdjOGI1LWQ4ZGQtNGZlYy1hNmE1LTY4ZDcxMjAyOGU4Znh3DmNvcmUvcGFyYWdyYXBoeXckMjU2Njg2YmEtNjdkMC00MTA2LTkyYTYtMzQ4Yzc4MWJmNDVkeHcJY29yZS9saXN0eXcAdyQ3NWE2YTYxZS05YTA5LTQ3NmItODYwMS0xNDY1OTVlZmVkODd4dw5jb3JlL2xpc3QtaXRlbXckYmM0N2RkZWEtZDM3Ni00NjYyLTk2YzktM2U0MjA5YTE2ZTY1eHcOY29yZS9saXN0LWl0ZW13JGI0MDdmYWI1LWMzYmQtNGZmMy05ZGMyLWFhZDk1N2FlYzhlZnh3DmNvcmUvbGlzdC1pdGVtdyRhMjdlMmVmYy1kNzhmLTRlMGYtOTEzYy0xZGQzMjcxY2EzOGZ4dw5jb3JlL2xpc3QtaXRlbXckY2Y5MDYxYmYtN2M5ZC00YTdjLTk5N2QtYjM0MDIyMDhmNjk5eHcOY29yZS9wYXJhZ3JhcGh5fZrvAXcqaHR0cHM6Ly91dGhvLmNvbS9ibG9nLz9hdHRhY2htZW50X2lkPTE1MzIydzVodHRwczovL3V0aG8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL2ltYWdlLTcuanBlZ3cEZnVsbHcEbm9uZXc+aHR0cHM6Ly91dGhvLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy9pbWFnZS03LTEwMjR4ODExLmpwZWd3BWxhcmdldzVodHRwczovL3V0aG8uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL2ltYWdlLTcuanBlZ3cEZnVsbHckYjVkODllMWEtYzFkZi00ZmRjLTg1NGItOTRjYmNjMjUwMzJmdwxjb3JlL2hlYWRpbmd9AnckYzk1MjhmODYtMjIwNy00ZGUwLTgxMzQtZTJiOWY1MDRlMzM0dwxjb3JlL2hlYWRpbmd9AnckMzY3MThjZDUtZWNiMS00NjZkLWJkNWYtN2I3NDUxMjIwNjdhdwxjb3JlL2hlYWRpbmd9AnckZGY3ZGY5ZTAtNjllOC00MGIxLTg1ZjMtNGZiM2UzYzA3ZTM5dwxjb3JlL2hlYWRpbmd9AnckMzJiYWIwOTgtZGJhNy00MDAwLTgxOWItYjJmNTliOWQyNjg0dwxjb3JlL2hlYWRpbmd9AnckYjg4MTlmOTYtNTY2MS00MGRiLWFiMjgtNzBiYTYyMDQwNjBldwxjb3JlL2hlYWRpbmd9AnckODEwZmQ0ZGQtNjkzZS00MThhLWFhYzUtNjQ2MTZmOWQ5Mjcydwxjb3JlL2hlYWRpbmd9AnckOTEzNTNmNGYtMTUwYy00NzgyLWFjZTUtZjk5YzNiMzQxMTFidwxjb3JlL2hlYWRpbmd9AnckZWE1NWQ1OWQtNGEzYy00Yzk1LWIyMTgtN2Q4MTgyMDYwNWRkdwxjb3JlL2hlYWRpbmd9AnckYTFmYmVlZjktMDE2ZS00MmFjLTk3YjEtYTNjYzdmOTAzOTNldwxjb3JlL2hlYWRpbmd9AnckYTA4ZmY0YTAtZDQ2Ny00NDFkLTliNGYtY2I1MDM2NzNmYjk5dwxjb3JlL2hlYWRpbmd9AnckM2VlMDk5YzItMjdjNS00NWQ2LTg3MjMtNmRiZjg3MDRhMWRldwxjb3JlL2hlYWRpbmd9AnckZTg3OGFjZWItZjI0ZS00OTg4LWEyOTItOGEyMTY0OWRjODcxdwxjb3JlL2hlYWRpbmd9AnckMzFkOTEyMjMtZDViZC00OGVmLWFlOTQtYjhkNjRlODg4ZmY5dwxjb3JlL2hlYWRpbmd9AnckMjgxYjE5NjgtODlhOC00Y2FkLWI0NTAtYmM4NjYyNTg4Y2Ixdwxjb3JlL2hlYWRpbmd9AnckOTRjMmFkNDAtNjUwYy00NjQzLWE5NDItOWJmYjEwMWEyNzlhdwxjb3JlL2hlYWRpbmd9AnckYTUyYWFjNzItZWFlMS00NDE2LWE1YjAtMzFhZjA5OWM1ZTBkdwxjb3JlL2hlYWRpbmd9AnckZGIzYmIwZDItNjg3YS00NzQ0LWExNWItMzhhOGIzZmFkNmVjdwxjb3JlL2hlYWRpbmd9AnckYWRmMWIxMjMtNTk2Ny00MDRjLWIwYzMtZWZkMWVkYmEzMjE1dwxjb3JlL2hlYWRpbmd9AnckY2QwZmVmNmYtNWY2Yi00ZTU4LTk4OTMtYzk2MmY1MzY4ODhmdwxjb3JlL2hlYWRpbmd9AnckZDM4MjMyNTMtMDA3Yi00NDBiLThkNzctYTAyMzE0NDlhYzlidwxjb3JlL2hlYWRpbmd9AnckMWI0NjZkNTQtMTg0OS00NjUxLTkzYjMtNGY2NmE1Nzg0ZjZhdwxjb3JlL2hlYWRpbmd9AnckNmY0ZjFjZGYtMzYxYi00MDhkLTg0NGMtODBjZmQ4NDE5YWNjfQN3JGIzZGIzMTM2LThjYmItNDhiMi1hOGQ1LTZhMTVhMjZkYTRhZHcMY29yZS9oZWFkaW5nfQN3JDEzZWQzY2RhLWY2MTUtNDAyYy1hZmM2LTYzOGYyZTBhMDlkOHcMY29yZS9oZWFkaW5nfQN3JGJiNzhhMDNhLTlmM2YtNGM2OC05ZDlhLTgyYzYxMmEyNDYwZHcMY29yZS9oZWFkaW5nfQN3JDg3ZmE5ZDY2LTQ1NTYtNGJhOC1iZWI5LTFiZjk1OTYzMjJlNncMY29yZS9oZWFkaW5nfQJ3JGE3M2MzZmNlLWNjNGItNGU2NS05ZWI5LTVjMjQ1ZWJlYWRkOHcOY29yZS9wYXJhZ3JhcGh5dyRhNzNjM2ZjZS1jYzRiLTRlNjUtOWViOS01YzI0NWViZWFkZDh3DmNvcmUvcGFyYWdyYXBoeXckODdmYTlkNjYtNDU1Ni00YmE4LWJlYjktMWJmOTU5NjMyMmU2dwxjb3JlL2hlYWRpbmd9AnckZjcwYTE3MmUtMzhhYi00NzkwLWI3MWUtOGM3MGYyZDVmMDY2dwxjb3JlL2hlYWRpbmd9AnckY2U0Mzk0YzMtMWFhZi00YWIyLWI1ZDgtNGNjODhiMWM0MTk3fQN3JDY4OTdmZjNhLTg4NmItNGE5Zi04OTU0LTIyOGU5MjJiODdkOHcMY29yZS9oZWFkaW5nfQN3JDIyOTgxNDJiLTgxYzEtNDhhZC1iMWNjLWVhNTBmMDgxZDFkN3cMY29yZS9oZWFkaW5nfQN3JDk0ODM4NDczLTNmMTQtNGExNS04NmRkLWQzOWJkMWQ4OTdiZncMY29yZS9oZWFkaW5nfQJ3JDA2M2E4ODQ1LTJkOGItNDMxNC1iMDQ4LWYxNWQ5YWRhNWU4ZXcMY29yZS9oZWFkaW5nfQJ3JDY2ZTE5MzlkLWNlM2UtNGRjNy04MDcwLTQwNTUxYWEzY2UwZXcMY29yZS9oZWFkaW5nfQJ3JGM2ZGY2ZDVjLWE3YjItNDRjZS1hNjYyLTcyYThlM2NhNTdmNncMY29yZS9oZWFkaW5nfQJ3AXN3AnNldwNzZWR3BHNlZHZ3BXNlZHZzdwZzZWR2c2d3B3NlZHZzZ3J3CHNlZHZzZ3JldwlzZWR2c2dyZXB3CnNlZHZzZ3JlcHZ3C3NlZHZzZ3JlcHZzdwxzZWR2c2dyZXB2c2F3DXNlZHZzZ3JlcHZzYXd3DnNlZHZzZ3JlcHZzYXdrdw9zZWQgdnNncmVwdnNhd2t3EHNlZCB2cyBncmVwdnNhd2t3EXNlZCB2cyBncmVwIHZzYXdrdxJzZWQgdnMgZ3JlcCB2cyBhd2t9nO8BdyZzZWQtY29tbWFuZC1pbi1saW51eC1leGFtcGxlcy10dXRvcmlhbHcTMjAyNi0wNS0xMVQxNDoyNToyNnUBfQF7QnnhY\/oMQAB7QeJoPk9gAAB3EzIwMjYtMDUtMDlUMTQ6MjU6MjZ3B3B1Ymxpc2gB++SHmgm2AQEBBAAHADMAAQACAMcGAAEAKwCACAABADAAiQQAAQAmALgEAAEAMgChBQABADsAjQYAAQA8AJYDAAEANwC8AwABAC8A6AIAAQAoAMQCAAEAKAD3AgABADIAlAYAAQAsAK0BAAEAKwC4AQABACYAwwEAAQAlAOQCAAEAOgCgAwABADQAnQEAAQAvAPkBAAEAMwCzAQABADUAzQEAAQApALgBAAEAJgACAC4ATAABADAATAABAC0APwABADEARgABADMAAgABAAIGAQECAQEBAQQBAwECAQUBAQEAAgEBAAEBAQEBAQEBAgABAAIDAwEBAAEBAQECAAIDAQEDAgEGAgJXAAEAKgChAQABACMAWgABACcATQOXAQADAAEALwCgAQABAFYA9wEAAQBKAJ0BAQEB9whdywtiowhYtQhkmAttgQxu+gdpqwZh1gZamQdauAVk4QxewANdnQNYqANXkwZsvQZmggNh2QVlmANnvARb7wJZFEy8AWKnAV+aAWOhAWV0ZccBXKoCVbUBWZ0BMsMCkgEUYd8DiAGkAnx\/D4UVTy8AHwDOD7IBRACoAQE=\",\"updateId\":565859088}","footnotes":""},"categories":[1],"tags":[],"class_list":["post-15320","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>How to Use Sed Command in Linux: Examples &amp; Tutorial<\/title>\n<meta name=\"description\" content=\"Master the sed command in Linux. Learn how to use the stream editor for find-and-replace, deleting lines, and automated text processing with examples.\" \/>\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\/sed-command-in-linux-examples-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use Sed Command in Linux: Examples &amp; Tutorial\" \/>\n<meta property=\"og:description\" content=\"Master the sed command in Linux. Learn how to use the stream editor for find-and-replace, deleting lines, and automated text processing with examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/\" \/>\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-05-09T08:55:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-11T08:56:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/utho.com\/blog\/wp-content\/uploads\/sed-Command-in-Linux-How-to-Use.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=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/\"},\"author\":{\"name\":\"Umesh\",\"@id\":\"https:\/\/utho.com\/blog\/#\/schema\/person\/f213e3fcf1ea5603ab66197a9c960b3c\"},\"headline\":\"Sed Command in Linux: How to Use (With Examples)\",\"datePublished\":\"2026-05-09T08:55:26+00:00\",\"dateModified\":\"2026-05-11T08:56:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/\"},\"wordCount\":1649,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/utho.com\/blog\/#organization\"},\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/\",\"url\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/\",\"name\":\"How to Use Sed Command in Linux: Examples & Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/utho.com\/blog\/#website\"},\"datePublished\":\"2026-05-09T08:55:26+00:00\",\"dateModified\":\"2026-05-11T08:56:54+00:00\",\"description\":\"Master the sed command in Linux. Learn how to use the stream editor for find-and-replace, deleting lines, and automated text processing with examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/utho.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sed Command in Linux: How to Use (With Examples)\"}]},{\"@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":"How to Use Sed Command in Linux: Examples & Tutorial","description":"Master the sed command in Linux. Learn how to use the stream editor for find-and-replace, deleting lines, and automated text processing with examples.","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\/sed-command-in-linux-examples-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"How to Use Sed Command in Linux: Examples & Tutorial","og_description":"Master the sed command in Linux. Learn how to use the stream editor for find-and-replace, deleting lines, and automated text processing with examples.","og_url":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/","og_site_name":"Utho","article_publisher":"https:\/\/www.facebook.com\/uthocloud","article_published_time":"2026-05-09T08:55:26+00:00","article_modified_time":"2026-05-11T08:56:54+00:00","og_image":[{"width":1024,"height":556,"url":"https:\/\/utho.com\/blog\/wp-content\/uploads\/sed-Command-in-Linux-How-to-Use.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":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#article","isPartOf":{"@id":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/"},"author":{"name":"Umesh","@id":"https:\/\/utho.com\/blog\/#\/schema\/person\/f213e3fcf1ea5603ab66197a9c960b3c"},"headline":"Sed Command in Linux: How to Use (With Examples)","datePublished":"2026-05-09T08:55:26+00:00","dateModified":"2026-05-11T08:56:54+00:00","mainEntityOfPage":{"@id":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/"},"wordCount":1649,"commentCount":0,"publisher":{"@id":"https:\/\/utho.com\/blog\/#organization"},"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/","url":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/","name":"How to Use Sed Command in Linux: Examples & Tutorial","isPartOf":{"@id":"https:\/\/utho.com\/blog\/#website"},"datePublished":"2026-05-09T08:55:26+00:00","dateModified":"2026-05-11T08:56:54+00:00","description":"Master the sed command in Linux. Learn how to use the stream editor for find-and-replace, deleting lines, and automated text processing with examples.","breadcrumb":{"@id":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/utho.com\/blog\/sed-command-in-linux-examples-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/utho.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sed Command in Linux: How to Use (With Examples)"}]},{"@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\/15320","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=15320"}],"version-history":[{"count":1,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/posts\/15320\/revisions"}],"predecessor-version":[{"id":15325,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/posts\/15320\/revisions\/15325"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/media\/15324"}],"wp:attachment":[{"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/media?parent=15320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/categories?post=15320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/utho.com\/blog\/wp-json\/wp\/v2\/tags?post=15320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}