Regular Expressions 101

Save & Share

  • Regex Version: ver. 6
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Code Generator

Generated Code

$re = '/<([^>]+)>([^<]*)<\/\1>/m'; $str = '<Vuln> <DbId>D85971DA5B3F417087049B5A2970F591</DbId> <ParentDbId>00000000000000000000000000000000</ParentDbId> <ScanName>Upstreamhttp___www.sakhalinenergy.ru_en</ScanName> <WebSite>http://www.sakhalinenergy.ru:80</WebSite> <WebSiteIP>212.193.225.7</WebSiteIP> <VulnType>Web Beacon</VulnType> <VulnUrl>http://www.sakhalinenergy.ru/en/company/assets/pipelines/</VulnUrl> <NormalizedUrl>http://www.sakhalinenergy.ru/en/company/assets/pipelines/</NormalizedUrl> <MatchedString>Set-Cookie: VISITOR_INFO1_LIVE=LDEQtNMo84Q; path=/; domain=.youtube.com; expires=Mon, 06-Jan-2020 05:19:44 GMT; httponly</MatchedString> <NormalizedPostParams></NormalizedPostParams> <VulnParam></VulnParam> <ParameterName>N/A</ParameterName> <HtmlEntityAttacked>URL</HtmlEntityAttacked> <ModuleId>0BE4C251F44C4CF1924104ADFD86289C</ModuleId> <AttackType>Web Beacon</AttackType> <AttackScore>1-Informational</AttackScore> <AttackValue>N/A</AttackValue> <OriginalValue>N/A</OriginalValue> <Method>N/A</Method> <RootCauseId>460492127D6D4B64217AB4F08DEAB5B2</RootCauseId> <LuxorRootCauseId>73836CF507D13D74C4BF61620E0DABB6</LuxorRootCauseId> <FindingDbId>50E79FE9905F4F7EBC9CEAB24C3134AA</FindingDbId> <Description><![CDATA[<p>A web beacon is a small image file (usually a transparent 1x1 pixel image) that is placed in a webpage or email for tracking purposes. An attacker can use this to track when content on a vulnerable site is browsed by a user.</p>]]></Description> <Recommendation><![CDATA[<p>Remove any tags that get images out of domain and/or with dimensions that make the image invisible.</p>]]></Recommendation> <Page>http://www.sakhalinenergy.ru/en/company/assets/pipelines/</Page> <Url>http://www.sakhalinenergy.ru/en/company/assets/pipelines/</Url> <VulnParamType>unknown</VulnParamType> <CrawlTraffic>R0VUIC9lbi9jb21wYW55L2Fzc2V0cy9waXBlbGluZXMvIEhUVFAvMS4xDQpBY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCovKjtxPTAuOA0KQWNjZXB0LUVuY29kaW5nOiBnemlwLCBkZWZsYXRlDQpBY2NlcHQtTGFuZ3VhZ2U6IGVuLVVTDQpVc2VyLUFnZW50OiBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdPVzY0OyBUcmlkZW50LzcuMDsgcnY6MTEuMCkgbGlrZSBHZWNrbw0KSG9zdDogd3d3LnNha2hhbGluZW5lcmd5LnJ1DQpSZWZlcmVyOiBodHRwOi8vd3d3LnNha2hhbGluZW5lcmd5LnJ1L2VuL2NvbXBhbnkvYXNzZXRzLw0KQ29va2llOiBQSFBTRVNTSUQ9MkM1dWFDRnB1V2xqRHBVVW92MnB4QlBEbU95MENNV2Y7IF9nYT1HQTEuMi45NjI3NDE4NzMuMTU2MjcyMjkwMzsgX2dpZD1HQTEuMi4xNTg4NDU2MDEwLjE1NjI3MjI5MDM7IEJYX1VTRVJfSUQ9ZWY0MWU4YjNhOTAyNmRhNWZmODgzZWM5YzM3MGVjMTINCg0K</CrawlTraffic> <CrawlTrafficTemplate>R0VUIC9lbi9jb21wYW55L2Fzc2V0cy9waXBlbGluZXMvIEhUVFAvMS4xDQpBY2NlcHQ6IHRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCovKjtxPTAuOA0KQWNjZXB0LUVuY29kaW5nOiBnemlwLCBkZWZsYXRlDQpBY2NlcHQtTGFuZ3VhZ2U6IGVuLVVTDQpVc2VyLUFnZW50OiBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdPVzY0OyBUcmlkZW50LzcuMDsgcnY6MTEuMCkgbGlrZSBHZWNrbw0KSG9zdDogd3d3LnNha2hhbGluZW5lcmd5LnJ1DQpSZWZlcmVyOiBodHRwOi8vd3d3LnNha2hhbGluZW5lcmd5LnJ1L2VuL2NvbXBhbnkvYXNzZXRzLw0KQ29va2llOiBQSFBTRVNTSUQ9MkM1dWFDRnB1V2xqRHBVVW92MnB4QlBEbU95MENNV2Y7IF9nYT1HQTEuMi45NjI3NDE4NzMuMTU2MjcyMjkwMzsgX2dpZD1HQTEuMi4xNTg4NDU2MDEwLjE1NjI3MjI5MDM7IEJYX1VTRVJfSUQ9ZWY0MWU4YjNhOTAyNmRhNWZmODgzZWM5YzM3MGVjMTINCg0K</CrawlTrafficTemplate> <CrawlTrafficResponse>SFRUUC8xLjEgMjAwIE9LDQpDYWNoZS1Db250cm9sOiBuby1zdG9yZSwgbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZQ0KQ29ubmVjdGlvbjogY2xvc2UNCkRhdGU6IFdlZCwgMTAgSnVsIDIwMTkgMDE6NDk6MDEgR01UDQpQcmFnbWE6IG5vLWNhY2hlDQpDb250ZW50LUxlbmd0aDogNTQ4Mg0KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgNCkNvbnRlbnQtRW5jb2Rpbmc6IGd6aXANCkV4cGlyZXM6IFRodSwgMTkgTm92IDE5ODEgMDg6NTI6MDAgR01UDQpQM1A6IHBvbGljeXJlZj0iL2JpdHJpeC9wM3AueG1sIiwgQ1A9Ik5PTiBEU1AgQ09SIENVUiBBRE0gREVWIFBTQSBQU0QgT1VSIFVOUiBCVVMgVU5JIENPTSBOQVYgSU5UIERFTSBTVEEiDQpTZXJ2ZXI6IG5naW54LzEuMTQuMCAoVWJ1bnR1KQ0KWC1GcmFtZS1PcHRpb25zOiBTQU1FT1JJR0lODQpYLVBvd2VyZWQtQnk6IFBIUC83LjEuMjENClgtUG93ZXJlZC1DTVM6IEJpdHJpeCBTaXRlIE1hbmFnZXIgKDZjZmRkODg5NTEwNDIwMDRlOTEwMTRkNjE5ZTkzMmQwKQ0KWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZg0KWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZg0KDQoKICAgIDwhRE9DVFlQRSBodG1sPgogICAgPCEtLVtpZiBJRSA3XT4KICAgIDxodG1sIGNsYXNzPSJuby1qcyBpZTcgbm8tdG91Y2giPiA8IVtlbmRpZl0tLT4KICAgIDwhLS1baWYgSUUgOF0+CiAgICA8aHRtbCBjbGFzcz0ibm8tanMgaWU4IG5vLXRvdWNoIj4gPCFbZW5kaWZdLS0+CiAgICA8IS0tW2lmIGd0IElFIDhdPjwhLS0+CiAgICA8aHRtbCBjbGFzcz0ibm8tanMgbm8tdG91Y2giPiA8IS0tPCFbZW5kaWZdLS0+CjxodG1sPgogICAgPGhlYWQ+CiAgICAgICAgPHRpdGxlPiBTYWtoYWxpbiBFbmVyZ3kgLSBUcmFuc3Nha2hhbGluIHBpcGVsaW5lIHN5c3RlbTwvdGl0bGU+CiAgICAgICAgPE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgogICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD0xMDAwIj4KICAgICAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjEwMDAiPgogICAgICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1nL3BuZyIgaHJlZj0iL21lZGlhL3N5c3RlbS9pbWcvZmF2aWNvbi5pY28iPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9tZWRpYS9zeXN0ZW0vY3NzL21haW4uY3NzIiBtZWRpYT0iYWxsIj4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvbWVkaWEvc3lzdGVtL2Nzcy9jdXN0b20uY3NzIiBtZWRpYT0iYWxsIj4KICAgICAgICA8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvbWVkaWEvc3lzdGVtL3NsaWNrL3NsaWNrLmNzcyIgbWVkaWE9ImFsbCI+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL21lZGlhL3N5c3RlbS9zZWxlY3RyaWMvc2VsZWN0cmljLmNzcyI+CiAgICAgICAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL21lZGlhL3N5c3RlbS9zbGljay9zbGljay10aGVtZS5jc3MiIG1lZGlhPSJhbGwiPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9tZWRpYS9zeXN0ZW0vY3NzL3NjcmVlbi5jc3MiIG1lZGlhPSJzY3JlZW4iPgogICAgICAgIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9tZWRpYS9zeXN0ZW0vY3NzL3ByaW50LmNzcyIgbWVkaWE9InByaW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CjxsaW5rIGhyZWY9Ii9iaXRyaXgvY2FjaGUvY3NzL3MyL3Nha2hhbGluL3RlbXBsYXRlXzQ3M2EzNzk2ZTBjY2MzZGMwYjczZmMxODgzMjQwMTRlL3RlbXBsYXRlXzQ3M2EzNzk2ZTBjY2MzZGMwYjczZmMxODgzMjQwMTRlLmNzcz8xNTI3MDkxMTM5NjgxIiB0eXBlPSJ0ZXh0L2NzcyIgZGF0YS10ZW1wbGF0ZS1zdHlsZT0idHJ1ZSIgcmVsPSJzdHlsZXNoZWV0IiAvPgogICAgICAgICAgICA8L2hlYWQ+Cjxib2R5PgoKPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIj4KICAgIDxkaXYgY2xhc3M9InBhZ2Utd3JhcHBlcl9faW5uZXIiPgo8IS0tICAgICAgPGRpdiBjbGFzcz0idGVjaC13b3JrcyI+CiAgICAgICAgICAgICAgICAgICAg0JLQvdC40LzQsNC90LjQtSEg0JIg0L/QtdGA0LjQvtC0INGBIDI1INC80LDRjyAyMDE4INC/0L4gMjgg0LzQsNGPIDIwMTgg0LLQutC70Y7Rh9C40YLQtdC70YzQvdC+INCy0LXQsS3RgdCw0LnRgiDQsdGD0LTQtdGCINC90LDRhdC+0LTQuNGC0YHRjyDQvdCwINGC0LXRhdC90LjRh9C10YHQutC+0Lwg0L7QsdGB0LvRg9C20LjQstCw0L3QuNC4INC4INC80L7QttC10YIg0LHRi9GC0Ywg0LHRg9C00LXRgiDQvdC10LTQvtGB0YLRg9C/0LXQvS4KICAgICAgICAgICAgICAgICAgIEF0dGVudGlvbiEgV2ViIHNpdGUgY291bGQgYmUgdW5hdmFpbGFibGUgZHVlIHRvIHRoZSB0ZWNobmljYWwgbWFpbnRlbmFuY2UgZnJvbSAyNSBNYXkgMjAxOCB0aWxsIDI4IE1heSAyMDE4IGluY2x1c2l2ZS4KICAgICAgICAgICA8L2Rpdj4tLT4KICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyI+CiAgICAgICAgICAgIDxhICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuLyAgICAgICAgICAgICAgICAgICAgICAgICI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL21lZGlhL3N5c3RlbS9pbWcvMjVlbi5wbmciCiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJsb2dvX19pbWciIGFsdD0iU2FraGFsaW4gRW5lcmd5IgogICAgICAgICAgICAgICAgICAgICB0aXRsZT0iU2FraGFsaW4gRW5lcmd5Ij48L2E+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyX19yaWdodCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlcl9fbGFuZ3VhZ2UiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9ydS9jb21wYW55L2Fzc2V0cy9waXBlbGluZXMvICAgICI+UnVzc2lhbjwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9lbi9tZWRpYS9saWJyYXJ5L2pwL3JlbGF0ZWQtZG9jdW1lbnQvIj4KICAgICAgICAgICAgICAgICAgICA8bm9pbmRleD7ml6XmnKzoqp48L25vaW5kZXg+CiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgCjxkaXYgY2xhc3M9InNlYXJjaCI+CiAgICA8Zm9ybSBhY3Rpb249Ii9lbi9zZWFyY2gvIiBjbGFzcz0ibWFpbl9zZWFyY2hfX2Zvcm0gIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hfX2lucHV0LXdyYXBwZXIiPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icSIgY2xhc3M9InNlYXJjaF9faW5wdXQiIHBsYWNlaG9sZGVyPSJTZWFyY2giPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWFyY2hfeWEiPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYWdlIiB2YWx1ZT0iMCI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InMiIGNsYXNzPSJzZWFyY2hfX3N1Ym1pdCIgdmFsdWU9IiI+CiAgICAgICAgPC9kaXY+CiAgICA8L2Zvcm0+CjwvZGl2PgoKCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlcl9fc2l0ZS1tYXAiPjxhIGhyZWY9Ii9lbi9zaXRlbWFwLyI+CiAgICAgICAgICAgICAgICAgICAgPG5vaW5kZXg+U2l0ZSBtYXA8L25vaW5kZXg+CiAgICAgICAgICAgICAgICA8L2E+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCgoKCjxkaXYgY2xhc3M9Im1lbnUiIGlkPSJtZW51Ij4KCiAgICAKCiAgICA8dWwgY2xhc3M9Im1lbnVfX2xpc3QiPgoKICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51X19saXN0LWl0ZW0gYWN0aXZlIj48YSBocmVmPSIvZW4vY29tcGFueS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfX2xpc3QtbGluayI+QWJvdXQgdGhlwqBjb21wYW55PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3VibWVudV9fbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9jb21wYW55LyI+R2VuZXJhbDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NvbXBhbnkvcHNhLyI+UHJvZHVjdGlvbiBTaGFyaW5nIEFncmVlbWVudDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NvbXBhbnkvbWFuYWdlbWVudC8iPkdvdmVybmFuY2UgU3RydWN0dXJlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0gYWN0aXZlIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NvbXBhbnkvYXNzZXRzLyI+Q29tcGFueSBBc3NldHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9jb21wYW55LzI1dGgtYW5uaXZlcnNhcnkvIj4yNXRoIGFubml2ZXJzYXJ5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vY29tcGFueS9oaXN0b3J5LyI+SGlzdG9yeTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NvbXBhbnkvcHJpbmNpcGxlcy8iPk91ciBQcmluY2lwbGVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bCA+PGRpdiBjbGFzcz0nc3VibWVudV9fYm90dG9tJz48L2Rpdj48L2xpPiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im1lbnVfX2xpc3QtaXRlbSI+PGEgaHJlZj0iL2VuL2hzZS8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfX2xpc3QtbGluayI+U2FmZXR5IGFuZMKgRW52aXJvbm1lbnQ8L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnUiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzdWJtZW51X19saXN0Ij4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2hzZS9zYWZldHkvIj5TYWZldHk8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9oc2UvZW52aXJvbm1lbnQvIj5FbnZpcm9ubWVudGFsIFByb3RlY2lvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2hzZS9lbWVyZ2VuY3kvIj5FbWVyZ2VuY3kgUHJlcGFyZWRuZXNzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vaHNlL2hzZXNhcC8iPkhlYWx0aCwgU2FmZXR5LCBFbnZpcm9ubWVudCBhbmQgU29jaWFsIEFjdGlvbiBQbGFuPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vaHNlL2hzZXNwbXMvIj5IU0UgYW5kIFNvY2lhbCBQZXJmb3JtYW5jZSBNYW5hZ2VtZW50IFN5c3RlbTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWwgPjxkaXYgY2xhc3M9J3N1Ym1lbnVfX2JvdHRvbSc+PC9kaXY+PC9saT4gICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51X19saXN0LWl0ZW0iPjxhIGhyZWY9Ii9lbi9zb2NpYWwvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtZW51X19saXN0LWxpbmsiPlNvY2lhbCBQZXJmb3JtYW5jZTwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VibWVudSI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InN1Ym1lbnVfX2xpc3QiPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vc29jaWFsLyI+U3VzdGFpbmFibGUgRGV2ZWxvcG1lbnQgUHJpbmNpcGxlczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL3NvY2lhbC9zZGcvIj5VTiBTdXN0YWluYWJsZSBEZXZlbG9wbWVudCBHb2FsczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL3NvY2lhbC9wcm9ncmFtbWVzL2ludGVybmF0aW9uYWwteWVhci1vZi1pbmRpZ2Vub3VzLWxhbmd1YWdlcy9pbmRleC5waHAiPkludGVybmF0aW9uYWwgWWVhciBvZiBJbmRpZ2Vub3VzIExhbmd1YWdlczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL3NvY2lhbC9zaWEvIj5Tb2NpYWwgSW1wYWN0IEFzc2Vzc21lbnQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9zb2NpYWwvaW5mcmFzdHJ1Y3R1cmUvIj5EZXZlbG9wbWVudCBvZiB0aGUgSW5mcmFzdHJ1Y3R1cmUgb2YgdGhlIFNha2hhbGluIE9ibGFzdDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL3NvY2lhbC9wcm9ncmFtbWVzLyI+U29jaWFsIEluaXRpYXRpdmVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vc29jaWFsL2NvbW11bml0eS8iPkNvbW11bml0eSBBd2FyZW5lc3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9zb2NpYWwvaHVtYW5fcmlnaHRzLyI+SHVtYW4gUmlnaHRzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vc29jaWFsL2dyaWV2YW5jaWVzLyI+R3JpZXZhbmNlIFByb2NlZHVyZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL3NvY2lhbC9pbnRlcm5hdGlvbmFsLyI+UGFydGljaXBhdGlvbiBpbiBJbnRlcm5hdGlvbmFsIFByb2dyYW1tZXMgYW5kIEluaXRpYXRpdmVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vc29jaWFsL3ByLyI+Q29tbXVuaXR5IExpYWlzb24gT3JnYW5pc2F0aW9uPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vaHNlL2hzZXNhcC8iPkhlYWx0aCwgU2FmZXR5LCBFbnZpcm9ubWVudCBhbmQgU29jaWFsIEFjdGlvbiBQbGFuPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bCA+PGRpdiBjbGFzcz0nc3VibWVudV9fYm90dG9tJz48L2Rpdj48L2xpPiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im1lbnVfX2xpc3QtaXRlbSI+PGEgaHJlZj0iL2VuL21lZGlhLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibWVudV9fbGlzdC1saW5rIj5NZWRpYSBDZW50cmU8L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnUiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzdWJtZW51X19saXN0Ij4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL25ld3MvIj5OZXdzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vcHJlc3MtcmVsZWFzZXMvIj5QcmVzcy1yZWxlYXNlczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL21lZGlhL3NkX3JlcG9ydC8iPlN1c3RhaW5hYmxlIERldmVsb3BtZW50IFJlcG9ydDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL21lZGlhL3NvY2lhbC1idWxsZXRpbi8iPlNvY2lhbCBQcm9ncmFtbWVzIEJ1bGxldGluPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vbWVkaWEvZW5lcmd5dHYvIj5FbmVyZ3kgVFYgUHJvZ3JhbW1lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vbWVkaWEvbGlicmFyeS8iPkxpYnJhcnk8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9tZWRpYS9waG90by8iPlBob3RvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vbWVkaWEvdmlkZW8vIj5WaWRlbzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWwgPjxkaXYgY2xhc3M9J3N1Ym1lbnVfX2JvdHRvbSc+PC9kaXY+PC9saT4gICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51X19saXN0LWl0ZW0iPjxhIGhyZWY9Ii9lbi9jb250cmFjdG9ycy8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVfX2xpc3QtbGluayI+Q29udHJhY3Rpbmcgd2l0aMKgdXM8L2E+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Ym1lbnUiPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzdWJtZW51X19saXN0Ij4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NvbnRyYWN0b3JzLyI+R2VuZXJhbCBJbmZvcm1hdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NvbnRyYWN0b3JzL3RlbmRlcnMvIj5UZW5kZXJzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vY29udHJhY3RvcnMvbGlhYmlsaXRpZXMvIj5SdXNzaWFuIENvbnRlbnQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9jb250cmFjdG9ycy9lZHVjYXRpb24vIj5WZW5kb3IgRGV2ZWxvcG1lbnQgUHJvZ3JhbW1lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN1Ym1lbnVfX2l0ZW0iPjxhIGNsYXNzPSJzdWJtZW51X19saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIvZW4vY29udHJhY3RvcnMvbGlzdC8iPk1ham9yIENvbnRyYWN0b3JzIExpc3Q8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsID48ZGl2IGNsYXNzPSdzdWJtZW51X19ib3R0b20nPjwvZGl2PjwvbGk+ICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudV9fbGlzdC1pdGVtIj48YSBocmVmPSIvZW4vY2FyZWVyLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibWVudV9fbGlzdC1saW5rIj5Kb2JzIGFuZMKgY2FyZWVyPC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJtZW51Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3VibWVudV9fbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9jYXJlZXIvdmFjYW5jeS8iPlZhY2FuY2llczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NhcmVlci9pbnRlcm5zaGlwLyI+U3R1ZGVudHM6IEludGVybnNoaXA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic3VibWVudV9faXRlbSI+PGEgY2xhc3M9InN1Ym1lbnVfX2xpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9jYXJlZXIvYmVuZWZpdHMvIj5SZXdhcmRzIGFuZCBCZW5lZml0czwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NhcmVlci9ncmFkdWF0ZS8iPkdyYWR1YXRlIGRldmVsb3BtZW50IHByb2dyYW1tZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdWJtZW51X19pdGVtIj48YSBjbGFzcz0ic3VibWVudV9fbGluayIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2NhcmVlci90cmFpbmVlc2hpcC8iPlRyYWluZWVzaGlwIFByb2dyYW1tZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWwgPjxkaXYgY2xhc3M9J3N1Ym1lbnVfX2JvdHRvbSc+PC9kaXY+PC9saT4gICAgICAgIAogICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51X19saXN0LWl0ZW0iPjxhIGNsYXNzPSJtZW51X19saXN0LWxpbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2VuL2ZlZWRiYWNrLyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPkNvbnRhY3QgdXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CgoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgoKCgoKCgoKICAgIDxkaXYgY2xhc3M9InBhZ2UtY2VudGVyIGNvbnRlbnQtbGVmdC1pbmRlbnQiPgogICAgPGRpdiBjbGFzcz0icGFnZS1jb2xzIGNsZWFyZml4Ij4KCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZS1jb2xzX19sZWZ0LWNvbCI+CgoKICAgIDxkaXYgY2xhc3M9InByaW50Ij4KICAgICAgICA8bm9pbmRleD5QcmludDwvbm9pbmRleD4KICAgIDwvZGl2PgogICAgICAgICAgICA8bGluayBocmVmPSIvYml0cml4L2Nzcy9tYWluL2ZvbnQtYXdlc29tZS5jc3M/MTUyNzA4OTU5MTI4Nzc3IiB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgo8dWwgY2xhc3M9ImJyZWFkY3J1bWJzIj4KCQkJPGxpIGNsYXNzPSJicmVhZGNydW1ic19faXRlbSIgaWQ9ImJ4X2JyZWFkY3J1bWJfMCIgaXRlbXNjb3BlPSIiIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9CcmVhZGNydW1iIiBpdGVtcmVmPSJieF9icmVhZGNydW1iXzEiPgoJCQkJCgkJCQk8YSBocmVmPSIvZW4vIiB0aXRsZT0iSG9tZSBwYWdlIiBpdGVtcHJvcD0idXJsIiBjbGFzcz0iYnJlYWRjcnVtYnNfX2l0ZW0tbGluayI+CgkJCQkJPHNwYW4gaXRlbXByb3A9InRpdGxlIj5Ib21lIHBhZ2U8L3NwYW4+CgkJCQk8L2E+CgkJCTwvbGk+CgkJCTxsaSBjbGFzcz0iYnJlYWRjcnVtYnNfX2l0ZW0iIGlkPSJieF9icmVhZGNydW1iXzEiIGl0ZW1zY29wZT0iIiBpdGVtdHlwZT0iaHR0cDovL2RhdGEtdm9jYWJ1bGFyeS5vcmcvQnJlYWRjcnVtYiIgaXRlbXByb3A9ImNoaWxkIiBpdGVtcmVmPSJieF9icmVhZGNydW1iXzIiPgoJCQkJPHNwYW4gY2xhc3M9ImJyZWFkY3J1bWJzX19hcnJvdyAiIHN0eWxlPSJoZWlnaHQ6IDVweDsiPiA8L3NwYW4+CgkJCQk8YSBocmVmPSIvZW4vY29tcGFueS8iIHRpdGxlPSJBYm91dCBUaGUgQ29tcGFueSIgaXRlbXByb3A9InVybCIgY2xhc3M9ImJyZWFkY3J1bWJzX19pdGVtLWxpbmsiPgoJCQkJCTxzcGFuIGl0ZW1wcm9wPSJ0aXRsZSI+QWJvdXQgVGhlIENvbXBhbnk8L3NwYW4+CgkJCQk8L2E+CgkJCTwvbGk+CgkJCTxsaSBjbGFzcz0iYnJlYWRjcnVtYnNfX2l0ZW0iIGlkPSJieF9icmVhZGNydW1iXzIiIGl0ZW1zY29wZT0iIiBpdGVtdHlwZT0iaHR0cDovL2RhdGEtdm9jYWJ1bGFyeS5vcmcvQnJlYWRjcnVtYiIgaXRlbXByb3A9ImNoaWxkIj4KCQkJCTxzcGFuIGNsYXNzPSJicmVhZGNydW1ic19fYXJyb3cgIiBzdHlsZT0iaGVpZ2h0OiA1cHg7Ij4gPC9zcGFuPgoJCQkJPGEgaHJlZj0iL2VuL2NvbXBhbnkvYXNzZXRzLyIgdGl0bGU9IkNvbXBhbnkgYXNzZXRzIiBpdGVtcHJvcD0idXJsIiBjbGFzcz0iYnJlYWRjcnVtYnNfX2l0ZW0tbGluayI+CgkJCQkJPHNwYW4gaXRlbXByb3A9InRpdGxlIj5Db21wYW55IGFzc2V0czwvc3Bhbj4KCQkJCTwvYT4KCQkJPC9saT4KCQkJPGxpIGNsYXNzPSJicmVhZGNydW1ic19faXRlbSI+CgkJCQk8c3BhbiBjbGFzcz0iYnJlYWRjcnVtYnNfX2Fycm93ICIgc3R5bGU9ImhlaWdodDogNXB4OyI+IDwvc3Bhbj4KCQkJCTxzcGFuPlRyYW5zc2FraGFsaW4gcGlwZWxpbmUgc3lzdGVtPC9zcGFuPgoJCQk8L2xpPjxkaXYgc3R5bGU9ImNsZWFyOmJvdGgiPjwvZGl2PjwvdWw+CiAgICA8aDE+VHJhbnNzYWtoYWxpbiBwaXBlbGluZSBzeXN0ZW08L2gxPgogICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tZ2FsbGVyaWVzIGNsZWFyZml4Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS1mb3RvLWdhbGxlcnkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmRleC1nYWxsZXJ5IGluZGV4LWdhbGxlcnlfX3NtYWxsIiBpZD0ic2xpZGVyIj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaW5kZXgtZ2FsbGVyeV9fbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJpbmRleC1nYWxsZXJ5X19saXN0LWl0ZW0iPjxpbWcgc3JjPSIvbWVkaWEvdXNlci9nYWxsZXJ5LXNha2hhbGluLTIvdHJhbnNzYWtoYWxpbi9yZXMyMDA5MTAxMV8zNzkyMS5qcGciIHRpdGxlPSIiIGFsdD0iIiBjbGFzcz0iaW5kZXgtZ2FsbGVyeV9fbGlzdC1pdGVtLWltZyI+PC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImluZGV4LWdhbGxlcnlfX2xpc3QtaXRlbSI+PGltZyBzcmM9Ii9tZWRpYS91c2VyL2dhbGxlcnktc2FraGFsaW4tMi90cmFuc3Nha2hhbGluL3Jlc19EU0M2NDIwLmpwZyIgdGl0bGU9IiIgYWx0PSIiIGNsYXNzPSJpbmRleC1nYWxsZXJ5X19saXN0LWl0ZW0taW1nIj48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaW5kZXgtZ2FsbGVyeV9fbGlzdC1pdGVtIj48aW1nIHNyYz0iL21lZGlhL3VzZXIvZ2FsbGVyeS1zYWtoYWxpbi0yL3RyYW5zc2FraGFsaW4vcmVzMjAwOTEwMTFfMzgxOTAuanBnIiB0aXRsZT0iIiBhbHQ9IiIgY2xhc3M9ImluZGV4LWdhbGxlcnlfX2xpc3QtaXRlbS1pbWciPjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5kZXgtZ2FsbGVyeV9fY29udHJvbHMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZGV4LWdhbGxlcnlfX2NvbnRyb2xzLXByZXYiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZGV4LWdhbGxlcnlfX2NvbnRyb2xzLWRlbGltaXRlciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5kZXgtZ2FsbGVyeV9fY29udHJvbHMtbmV4dCI+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLWZvdG8tZ2FsbGVyeV9fbGlua3MiPjxhIGhyZWY9IiMiIGNsYXNzPSJwbGF0Zm9ybS1mb3RvLWdhbGxlcnlfX2xpbmtzX19saW5rIHBsYXRmb3JtLWZvdG8tZ2FsbGVyeV9fbGlua3NfX2xpbmtfbWFwIj48c3BhbiBjbGFzcz0icGxhdGZvcm0tZm90by1nYWxsZXJ5X19saW5rc19fbGlua19faWNvbiI+IDwvc3Bhbj48c3BhbiBjbGFzcz0icGxhdGZvcm0tZm90by1nYWxsZXJ5X19saW5rc19fbGlua19fdGV4dCI+PHNwYW4gY2xhc3M9InBsYXRmb3JtLWZvdG8tZ2FsbGVyeV9fbGlua3NfX2xpbmtfX3RleHRfX2hlYWRlciI+TWFwPC9zcGFuPjxzcGFuIGNsYXNzPSJwbGF0Zm9ybS1mb3RvLWdhbGxlcnlfX2xpbmtzX19saW5rX190ZXh0X190ZXh0Ij5PYmplY3QgbG9jYXRpb248L3NwYW4+PC9zcGFuPjwvYT48YSBocmVmPSIjIiBjbGFzcz0icGxhdGZvcm0tZm90by1nYWxsZXJ5X19saW5rc19fbGluayBwbGF0Zm9ybS1mb3RvLWdhbGxlcnlfX2xpbmtzX19saW5rXzNkIj48c3BhbiBjbGFzcz0icGxhdGZvcm0tZm90by1nYWxsZXJ5X19saW5rc19fbGlua19faWNvbiI+IDwvc3Bhbj48c3BhbiBjbGFzcz0icGxhdGZvcm0tZm90by1nYWxsZXJ5X19saW5rc19fbGlua19fdGV4dCI+PHNwYW4gY2xhc3M9InBsYXRmb3JtLWZvdG8tZ2FsbGVyeV9fbGlua3NfX2xpbmtfX3RleHRfX2hlYWRlciI+UGFub3JhbWE8L3NwYW4+PHNwYW4gY2xhc3M9InBsYXRmb3JtLWZvdG8tZ2FsbGVyeV9fbGlua3NfX2xpbmtfX3RleHRfX3RleHQiPlRvdXIgMzYwwrA8L3NwYW4+PC9zcGFuPjwvYT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS12aWRlby1nYWxsZXJ5Ij4KICAgICAgICAgICAgPGlmcmFtZSBpZD0ieXRwbGF5ZXIiIGhlaWdodD0iMjE1IiB3aWR0aD0iMzIwIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuPSJ0cnVlIiBzcmM9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvelE0dF83VW5RZHM/d21vZGU9dHJhbnNwYXJlbnQiPjwvaWZyYW1lPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS12aWRlby1nYWxsZXJ5X19kZXNjLWJsb2NrIj4KICAgICAgICAgICAgICAgIDxoMj5WaWRlbzwvaDI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS12aWRlby1nYWxsZXJ5X19kZXNjIj5UcmFuc1Nha2hhbGluIG9uc2hvcmUgcGlwZWxpbmUgc3lzdGVtIGNvbnN0cnVjdGlvbjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPHA+T2lsIGFuZCBnYXMgcHJvZHVjZWQgdW5kZXIgdGhlIFNha2hhbGluLTIgcHJvamVjdCBhcmUKICAgICAgICB0cmFuc3BvcnRlZCB2aWEgdGhlIHRyYW5zc2FraGFsaW4gcGlwZWxpbmUgc3lzdGVtLiBUaGVzZSBvaWwgYW5kCiAgICAgICAgZ2FzIHBpcGVsaW5lcyBydW4gYWxtb3N0IHRoZSBsZW5ndGggb2YgdGhlIGlzbGFuZCBhbmQgY3Jvc3MgMTkKICAgICAgICBzZWlzbWljIGZhdWx0cy48YnI+CiAgICAgICAgT25zaG9yZSBvaWwgYW5kIGdhcyBwaXBlbGluZXMgYXJlIHJ1bm5pbmcgZnJvbSB0aGUgbGFuZGZhbGwgbmVhcgogICAgICAgIFBpbHR1bi1Bc3Rva2hza295ZSBmaWVsZCBpbiB0aGUgbm9ydGggb2YgU2FraGFsaW4gSXNsYW5kIHZpYSB0aGUKICAgICAgICBvbnNob3JlIHByb2Nlc3NpbmcgZmFjaWxpdHkgKE9QRiksIHRvIFByaWdvcm9kbm95ZSwgaW4gdGhlIHNvdXRoLgogICAgICAgIFRoZSB0d28gcGlwZWxpbmUgc3lzdGVtcyAob25lIGZvciBvaWwgYW5kIG9uZSBmb3IgZ2FzKSBzaGFyZSBhCiAgICAgICAgc2luZ2xlIDgwMCBrbSByaWdodCBvZiB3YXkgKFJvVykuPGJyPgogICAgICAgIFRoZSBkaXN0YW5jZSBmcm9tIHRoZSBQaWx0dW4tQXN0b2toc2tveWUgbGFuZGZhbGwgdG8gdGhlIE9QRiBpcyAxNzIKICAgICAgICBrbSAocGlwZWxpbmUgZGlhbWV0ZXJzIGluIHRoaXMgcGFydCBvZiB0aGUgcm91dGUgYXJlIDIwIGluY2ggZm9yCiAgICAgICAgYm90aCB0aGUgb2lsIGFuZCB0aGUgZ2FzIGxpbmUpLiBUaGUgZGlzdGFuY2UgZnJvbSB0aGUgT1BGIHRvIHRoZQogICAgICAgIExORyBwbGFudCBhbmQgT0VUIGlzIDYzNyBrbSAocGlwZWxpbmUgZGlhbWV0ZXJzIGluIHRoaXMgcGFydCBvZiB0aGUKICAgICAgICByb3V0ZSBhcmUgMjQgaW5jaCBhbmQgNDggaW5jaCBmb3IgdGhlIG9pbCBhbmQgZ2FzIGxpbmUKICAgICAgICByZXNwZWN0aXZlbHkpLiBUd28gc2hvcnQgbXVsdGlwaGFzZSBwaXBlbGluZXMgKDMwIGluY2ggZGlhbWV0ZXIsCiAgICAgICAgb25zaG9yZSBsZW5ndGggNyBrbSkgYW5kIGEgNCBpbmNoIE1vbm8tRXRoZWx5bmUgR2x5Y29sIChNRUcpCiAgICAgICAgcGlwZWxpbmUgaW4gdGhlIHNhbWUgUm9XIGNvbm5lY3QgdGhlIGxhbmRmYWxsIGF0IEx1bnNrb3llIHRvIHRoZQogICAgICAgIE9QRi48YnI+CiAgICAgICAgVGhlIG9pbCBhbmQgZ2FzIHBpcGVsaW5lcyBzaGFyZSBhIHNpbmdsZSBwaXBlbGluZSBjb3JyaWRvci4gVGhlCiAgICAgICAgcGlwZWxpbmVzIGFyZSBlYWNoIGluc3RhbGxlZCBpbiBhIHNlcGFyYXRlIHRyZW5jaCAoYmFja2ZpbGxlZCBieSBhCiAgICAgICAgbWluaW11bSAwLjgtMS4wIG0gbGF5ZXIgb2Ygc29pbCBvdmVyIHRoZSBwaXBlKS4gVGhlIGV4dGVybmFsCiAgICAgICAgc3VyZmFjZSBvZiB0aGUgbGluZSBwaXBlIGhhcyBhbiBleHRlcm5hbCB0aHJlZS1sYXllciBwb2x5ZXRoeWxlbmUKICAgICAgICB0byBwcm90ZWN0IHRoZW0gYWdhaW5zdCBleHRlcm5hbCBjb3Jyb3Npb24uIEF0IGZhdWx0LWNyb3NzaW5nCiAgICAgICAgc2l0ZXMsIHNwZWNpYWwgcGlwZS1sYXlpbmcgdGVjaG5pcXVlcyBhcmUgdXNlZCB0byBlbnN1cmUgdGhlaXIKICAgICAgICBzYWZldHkgaW4gY2FzZSBvZiBzZWlzbWljIGFjdGl2aXR5Ljxicj4KICAgICAgICBPcGVyYXRpb24gb2YgYm90aCBtYWluIHBpcGVsaW5lcyBpcyBjb250cm9sbGVkIGJ5IGEKICAgICAgICBzdGF0ZS1vZi10aGUtYXJ0IHBpcGVsaW5lIGxlYWthZ2UgZGV0ZWN0aW9uIHN5c3RlbS4gU2l4IHBpcGVsaW5lCiAgICAgICAgbWFpbnRlbmFuY2UgZGVwb3RzIChQTUQpIGFuZCAxMDQgYmxvY2sgdmFsdmUgc3RhdGlvbnMgYXJlIGluc3RhbGxlZAogICAgICAgIGFsb25nIHRoZSBwaXBlbGluZSByb3V0ZS48YnI+CiAgICAgICAgVGhlIHRvdGFsIGxlbmd0aCBvZiB0aGUgcGlwZWxpbmUgc3lzdGVtLCBpbmNsdWRpbmcgb2Zmc2hvcmUKICAgICAgICBwaXBlbGluZXMsIGlzIDEsOTAwIGttLCBzbGlnaHRseSBzaG9ydGVyIHRoYW4gdGhlIG1haW4gYXJ0ZXJ5IG9mCiAgICAgICAgdGhlIEdyZWF0IFdhbGwgb2YgQ2hpbmEuIDxicj48YnI+PGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Nb2xpa3BhcSNUcmFuc1Nha2hhbGluX3BpcGVsaW5lcyI+VHJhbnNzYWtoYWxpbgogICAgICAgICAgICBwaXBlbGluZSBzeXN0ZW0gaW4gd2lraXBlZGlhPC9hPjwvcD4KCiAgICA8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZS1jb2xzX19yaWdodC1jb2wiPgogICAgPGRpdiBpZD0iYmFubmVycy1yaWdodCI+CiAgICAgICAgICAgIDxhIGhyZWY9Ii9lbi9jb21wYW55L21hcC8iIGNsYXNzPSJiYW5uZXIiPjxpbWcgc3JjPSIvdXBsb2FkL2libG9jay85NmQvYmFubmVyXzE4OHgxODhfZ3JleV9lbl8xMzAzMjAxNS5qcGciPjwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iL2VuL2NhcmVlci92YWNhbmN5LyIgY2xhc3M9ImJhbm5lciI+PGltZyBzcmM9Ii91cGxvYWQvaWJsb2NrL2NmYi9jYXJlZXJfZ3JleS5qcGciPjwvYT4KICAgICAgICAgICAgPGEgaHJlZj0iL2VuL21lZGlhL3NkX3JlcG9ydC8iIGNsYXNzPSJiYW5uZXIiPjxpbWcgc3JjPSIvdXBsb2FkL2libG9jay8zZGYvZ3JheV9lbmcyMDE4LmpwZyI+PC9hPgogICAgPC9kaXY+CgoKCgoKCgoKCgogICAgPGRpdiBpZD0iYmFubmVyc19yaWdodCI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iZm9vdGVyIj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlcl9faW5uZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtbGVmdC1pbmRlbnQiPgogICAgICAgICAgICA8dWwgY2xhc3M9ImZvb3Rlcl9fbGlua3MiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmb290ZXJfX2xpbmtzLWl0ZW0iPjxhIGNsYXNzPSJmb290ZXJfX2xpbmtzLWxpbmsiIGhyZWY9Ii9lbi9tZWRpYS9saWJyYXJ5LyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxub2luZGV4PkxpYnJhcnk8L25vaW5kZXg+CiAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZvb3Rlcl9fbGlua3MtaXRlbSI+PGEgY2xhc3M9ImZvb3Rlcl9fbGlua3MtbGluayIgaHJlZj0iL2VuL2NvcHlyaWdodC8iPgogICAgICAgICAgICAgICAgICAgICAgICA8bm9pbmRleD5Qcml2YWN5IFBvbGljeTwvbm9pbmRleD4KICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZm9vdGVyX19saW5rcy1pdGVtIj48YSBjbGFzcz0iZm9vdGVyX19saW5rcy1saW5rIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii9lbi9wcm90ZWN0aW9uX2NsYXVzZS8iPgogICAgICAgICAgICAgICAgICAgICAgICA8bm9pbmRleD5UZXJtcyBhbmQgQ29uZGl0aW9uczwvbm9pbmRleD4KICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX19jb3B5cmlnaHQiPgogICAgICAgICAgICAgICAgPG5vaW5kZXg+CiAgICAgICAgICAgICAgICAgICAgJmNvcHk7IFNBS0hBTElOIEVORVJHWSAyMDE0LTIwMTk8L25vaW5kZXg+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2PgoKCjwvYm9keSA+CjwvaHRtbCA+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvbWVkaWEvc3lzdGVtL2pzL3N3Zm9iamVjdC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9tZWRpYS9zeXN0ZW0vanMvanF1ZXJ5LTEuOC4yLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9tZWRpYS9zeXN0ZW0vanMvbWFpbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IgogICAgICAgICAgICAgICAgc3JjPSJodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHMvYXBpL2pzPyZsYW5ndWFnZT1ydSZrZXk9QUl6YVN5Q0luX1ZZYUliM2ZEVFZKckNCREx6S2ZHRUprV0FVMWRNIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9J2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FwaS5qcyc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij52YXIgX2JhID0gX2JhIHx8IFtdOyBfYmEucHVzaChbImFpZCIsICI2Y2ZkZDg4OTUxMDQyMDA0ZTkxMDE0ZDYxOWU5MzJkMCJdKTsgX2JhLnB1c2goWyJob3N0IiwgInd3dy5zYWtoYWxpbmVuZXJneS5ydSJdKTsgKGZ1bmN0aW9uKCkge3ZhciBiYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOyBiYS50eXBlID0gInRleHQvamF2YXNjcmlwdCI7IGJhLmFzeW5jID0gdHJ1ZTtiYS5zcmMgPSAoZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPT0gImh0dHBzOiIgPyAiaHR0cHM6Ly8iIDogImh0dHA6Ly8iKSArICJiaXRyaXguaW5mby9iYS5qcyI7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiYSwgcyk7fSkoKTs8L3NjcmlwdD4KCgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiPgogICAgICAgICAgICB3aW5kb3cuTEFOR19JRCA9ICJlbiIKICAgICAgICA8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL21lZGlhL3N5c3RlbS9qcy9hc3NldHNfanMvcGlwZWxpbmVzLmpzIj48L3NjcmlwdD4KCgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvbWVkaWEvc3lzdGVtL2pzL3NsaWRlci5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9tZWRpYS9zeXN0ZW0vanMvbWFya2Vyd2l0aGxhYmVsLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL21lZGlhL3N5c3RlbS9qcy9pbmZvYm94LmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL21lZGlhL3N5c3RlbS9qcy9tYXAuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvbWVkaWEvc3lzdGVtL2pzL2Fzc2V0c19qcy9tYWluX3BhZ2VfbWFwLmpzIj48L3NjcmlwdD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vdXNlLmZvbnRhd2Vzb21lLmNvbS9kMTU1MGNmZGJlLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL21lZGlhL3N5c3RlbS9zbGljay9zbGljay5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9tZWRpYS9zeXN0ZW0vc2VsZWN0cmljL2pxdWVyeS5zZWxlY3RyaWMubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL21lZGlhL3N5c3RlbS9qcy9jdXN0b20uanMiPjwvc2NyaXB0PgoKPHNjcmlwdD4KICAgIChmdW5jdGlvbiAoaSwgcywgbywgZywgciwgYSwgbSkgewogICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsKICAgICAgICBpW3JdID0gaVtyXSB8fCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIChpW3JdLnEgPSBpW3JdLnEgfHwgW10pLnB1c2goYXJndW1lbnRzKQogICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOwogICAgICAgIGEgPSBzLmNyZWF0ZUVsZW1lbnQobyksCiAgICAgICAgICAgIG0gPSBzLmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdOwogICAgICAgIGEuYXN5bmMgPSAxOwogICAgICAgIGEuc3JjID0gZzsKICAgICAgICBtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsIG0pCiAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgIGdhKCdjcmVhdGUnLCAnVUEtNDcwMjQ4NDAtMScsICdzYWtoYWxpbmVuZXJneS5ydScpOwogICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKPC9zY3JpcHQ+Cgo=</CrawlTrafficResponse> <AttackClass>Best Practice</AttackClass> <CweId>201</CweId> <CAPEC>0</CAPEC> <DISSA_ASC>3620</DISSA_ASC> <OWASP2007>6</OWASP2007> <OWASP2010>6</OWASP2010> <OWASP2013>5</OWASP2013> <OWASP2017>6</OWASP2017> <GDPR2016>12280</GDPR2016> <OVAL>0</OVAL> <WASC>0</WASC> <CVSSBaseScore>4</CVSSBaseScore> <ScanDate>2019-07-10 01:41:03</ScanDate> <ScanEnd>2019-07-10 06:53:15</ScanEnd> <StatisticallyPrevalentOriginalResponseCode>200</StatisticallyPrevalentOriginalResponseCode> <Confidence>High</Confidence> <DefenseBL> <DbId>CC3CD5BFA54144688299D2CA4FF53751</DbId> <ParentDbId>9632677958A149B6A55EA9B9C980D4A2</ParentDbId> <PcreRegex></PcreRegex> <ModSecurity></ModSecurity> <Snort></Snort> <Imperva></Imperva> </DefenseBL> <DefenseWL> <DbId>2959F6C3593940C0A1D9590B41B0546F</DbId> <ParentDbId>9632677958A149B6A55EA9B9C980D4A2</ParentDbId> <PcreRegex></PcreRegex> <ModSecurity></ModSecurity> <Snort></Snort> <Imperva></Imperva> </DefenseWL> <AttackList> <Attack> <DbId>CBD20430ABB0402CA9A6660D10E22F99</DbId> <ParentDbId>00000000000000000000000000000000</ParentDbId> <AttackId>WB_01</AttackId> <AttackValue>http://www.youtube.com/embed/zQ4t_7UnQds?wmode=transparent</AttackValue> <AttackVulnUrl>http://www.sakhalinenergy.ru/en/company/assets/pipelines/</AttackVulnUrl> <AttackPostParams></AttackPostParams> <AttackMatchedString>Set-Cookie: VISITOR_INFO1_LIVE=LDEQtNMo84Q; path=/; domain=.youtube.com; expires=Mon, 06-Jan-2020 05:19:44 GMT; httponly</AttackMatchedString> <AttackDescription></AttackDescription> <AttackConfigDescription>Web Beacon</AttackConfigDescription> <AttackUserNotes></AttackUserNotes> <OriginalValue></OriginalValue> <OriginalResponseCode>200</OriginalResponseCode> <AttackRequestList> <AttackRequest> <DbId>2B510ADB201447C484AF93FB27889CC9</DbId> <ParentDbId>00000000000000000000000000000000</ParentDbId> <Request>R0VUIC9lbWJlZC96UTR0XzdVblFkcz93bW9kZT10cmFuc3BhcmVudCBIVFRQLzEuMQ0KQWNjZXB0OiB0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSwqLyo7cT0wLjgNCkFjY2VwdC1FbmNvZGluZzogZ3ppcCwgZGVmbGF0ZQ0KQWNjZXB0LUxhbmd1YWdlOiBlbi1VUw0KVXNlci1BZ2VudDogTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBXT1c2NDsgVHJpZGVudC83LjA7IHJ2OjExLjApIGxpa2UgR2Vja28NCkhvc3Q6IHd3dy55b3V0dWJlLmNvbQ0KDQo=</Request> <Response>SFRUUC8xLjEgMzAxIE1vdmVkDQpDYWNoZS1Db250cm9sOiBuby1jYWNoZQ0KQ29ubmVjdGlvbjogY2xvc2UNCkRhdGU6IFdlZCwgMTAgSnVsIDIwMTkgMDU6MTk6NDQgR01UDQpDb250ZW50LUxlbmd0aDogMA0KQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgNCkV4cGlyZXM6IFR1ZSwgMjcgQXByIDE5NzEgMTk6NDQ6MDYgRVNUDQpMb2NhdGlvbjogaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvelE0dF83VW5RZHM/d21vZGU9dHJhbnNwYXJlbnQNClAzUDogQ1A9IlRoaXMgaXMgbm90IGEgUDNQIHBvbGljeSEgU2VlIGh0dHA6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vYWNjb3VudHMvYW5zd2VyLzE1MTY1Nz9obD1lbiBmb3IgbW9yZSBpbmZvLiINClNlcnZlcjogWW91VHViZSBGcm9udGVuZCBQcm94eQ0KU2V0LUNvb2tpZTogVklTSVRPUl9JTkZPMV9MSVZFPUxERVF0Tk1vODRROyBwYXRoPS87IGRvbWFpbj0ueW91dHViZS5jb207IGV4cGlyZXM9TW9uLCAwNi1KYW4tMjAyMCAwNToxOTo0NCBHTVQ7IGh0dHBvbmx5DQpTZXQtQ29va2llOiBZU0M9RTBWWUxMSHdsdEk7IHBhdGg9LzsgZG9tYWluPS55b3V0dWJlLmNvbTsgaHR0cG9ubHkNClNldC1Db29raWU6IFZJU0lUT1JfSU5GTzFfTElWRT1MREVRdE5Nbzg0UTsgcGF0aD0vOyBkb21haW49LnlvdXR1YmUuY29tOyBleHBpcmVzPU1vbiwgMDYtSmFuLTIwMjAgMDU6MTk6NDQgR01UOyBodHRwb25seQ0KWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZg0KWC1YU1MtUHJvdGVjdGlvbjogMA0KDQo=</Response> <Benign>0</Benign> </AttackRequest> </AttackRequestList> </Attack> </AttackList> </Vuln>'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches);

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php