<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>33787</bug_id>
          
          <creation_ts>2010-01-18 01:16:21 -0800</creation_ts>
          <short_desc>Add constants for more XML strings</short_desc>
          <delta_ts>2010-01-18 14:06:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181774</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-01-18 01:16:21 -0800</bug_when>
    <thetext>From bug 33752:

I suggest we add the strings &quot;xmlns&quot;, &quot;http://www.w3.org/2000/xmlns/&quot;, and
&quot;xml&quot; all to XMLNames.h alongside xmlNamespaceURI and use named constants
instead of literal strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181783</commentid>
    <comment_count>1</comment_count>
      <attachid>46803</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-01-18 01:39:10 -0800</bug_when>
    <thetext>Created attachment 46803
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181785</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 01:46:50 -0800</bug_when>
    <thetext>Attachment 46803 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/dom/Node.cpp:1868:  An else if statement should be written as an if statement when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
WebCore/dom/Node.cpp:1923:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Total errors found: 2


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181797</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-18 02:11:10 -0800</bug_when>
    <thetext>Attachment 46803 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/195756</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181883</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-01-18 08:27:21 -0800</bug_when>
    <thetext>&gt; Build output: http://webkit-commit-queue.appspot.com/results/195756

It&apos;s empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181987</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-01-18 14:06:51 -0800</bug_when>
    <thetext>Committed revision 53429.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46803</attachid>
            <date>2010-01-18 01:39:10 -0800</date>
            <delta_ts>2010-01-18 12:28:55 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>xmlns.txt</filename>
            <type>text/plain</type>
            <size>25703</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzM5NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTEgQEAKKzIwMTAtMDEtMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNzg3CisgICAgICAgIEFk
ZCBjb25zdGFudHMgZm9yIG1vcmUgWE1MIHN0cmluZ3MKKworICAgICAgICBObyBjaGFuZ2UgaW4g
ZnVuY3Rpb25hbGl0eSwgc28gbm8gdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlL3htbC94bWxu
c2F0dHJzLmluOiBBZGRlZCBhIG5ldyBmaWxlIGZvciB4bWxucyBuYW1lc3BhY2UgYW5kIGF0dHJp
YnV0ZSAtIAorICAgICAgICBYTUxOYW1lcy57aCxjcHB9IGFyZSBhdXRvLWdlbmVyYXRlZCwgYW5k
IEkgZG9kbid0IHNlZSBhIHJlYXNvbmFibGUgd2F5IHRvIGV4dGVuZCBpdC4KKworICAgICAgICAq
IHBsYXRmb3JtL3RleHQvQXRvbWljU3RyaW5nLmNwcDogKFdlYkNvcmU6OkF0b21pY1N0cmluZzo6
aW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAg
QWRkZWQgYXRvbWljIHN0cmluZ3MgZm9yICJ4bWwiIGFuZCAieG1sbnMiLgorCisgICAgICAgICog
cGFnZS9GcmFtZS5jcHA6IChXZWJDb3JlOjpGcmFtZTo6RnJhbWUpOiBDYWxsIFhNTE5TTmFtZXM6
OmluaXQoKS4KKworICAgICAgICAqIGRvbS9BdHRyLmNwcDogKFdlYkNvcmU6OkF0dHI6OnNldFBy
ZWZpeCk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpoYXNQcmVmaXhOYW1lc3BhY2VNaXNtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y3JlYXRlQXR0cmlidXRlTlMpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNoZWNrU2V0UHJlZml4KToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmlzRGVmYXVsdE5hbWVzcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpsb29r
dXBOYW1lc3BhY2VVUkkpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6bG9va3VwTmFtZXNwYWNl
UHJlZml4KToKKyAgICAgICAgKiBkb20vWE1MVG9rZW5pemVyTGlieG1sMi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpYTUxUb2tlbml6ZXI6OlhNTFRva2VuaXplcik6CisgICAgICAgIChXZWJDb3Jl
OjpoYW5kbGVFbGVtZW50TmFtZXNwYWNlcyk6CisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQWRkTmFtZXNwYWNlQXR0cik6CisgICAgICAgIChX
ZWJDb3JlOjphcHBlbmROYW1lc3BhY2UpOgorICAgICAgICAqIHhtbC9YUGF0aFN0ZXAuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WFBhdGg6Om5vZGVNYXRjaGVzQmFzaWNUZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlhQYXRoOjpTdGVwOjpub2Rlc0luQXhpcyk6CisgICAgICAgIFVzZSB0aGUgbmV3
IGNvbnN0YW50cy4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5tazoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlU291cmNlcy5ia2w6Cisg
ICAgICAgIEFkZGVkIHRoZSBuZXcgZmlsZXMgdG8gcHJvamVjdHMuCisKIDIwMTAtMDEtMTggIFNp
bW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgU3ltYmlhbiBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5t
awo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5tawkocmV2aXNpb24gNTMz
NjQpCisrKyBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5tawkod29ya2luZyBjb3B5KQpAQCAtMTMw
LDYgKzEzMCwxNCBAQCAkKGludGVybWVkaWF0ZXMpL2Nzcy9Vc2VyQWdlbnRTdHlsZVNoZWV0CiAK
ICMgWE1MIGF0dHJpYnV0ZSBuYW1lcwogCitHRU46PSAkKGludGVybWVkaWF0ZXMpL1hNTE5TTmFt
ZXMuY3BwCiskKEdFTik6IFBSSVZBVEVfUEFUSCA6PSAkKExPQ0FMX1BBVEgpCiskKEdFTik6IFBS
SVZBVEVfQ1VTVE9NX1RPT0wgPSBwZXJsIC1JICQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3Jp
cHRzICQ8IC0tYXR0cnMgJCh4bWxuc19hdHRycykgLS1vdXRwdXQgJChkaXIgJEApIAorJChHRU4p
OiB4bWxuc19hdHRycyA6PSAkKExPQ0FMX1BBVEgpL3htbC94bWxuc2F0dHJzLmluCiskKEdFTik6
ICQoTE9DQUxfUEFUSCkvZG9tL21ha2VfbmFtZXMucGwgJCh4bWxuc19hdHRycykKKwkkKHRyYW5z
Zm9ybS1nZW5lcmF0ZWQtc291cmNlKQorTE9DQUxfR0VORVJBVEVEX1NPVVJDRVMgKz0gJChHRU4p
CisKIEdFTjo9ICQoaW50ZXJtZWRpYXRlcykvWE1MTmFtZXMuY3BwCiAkKEdFTik6IFBSSVZBVEVf
UEFUSCA6PSAkKExPQ0FMX1BBVEgpCiAkKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBwZXJs
IC1JICQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tYXR0cnMgJCh4bWxfYXR0
cnMpIC0tb3V0cHV0ICQoZGlyICRAKSAKSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDUz
MzY0KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC00
NTAsNiArNDUwLDcgQEAgYWxsIDogXAogICAgIFNWR05hbWVzLmNwcCBcCiAgICAgVXNlckFnZW50
U3R5bGVTaGVldHMuaCBcCiAgICAgWExpbmtOYW1lcy5jcHAgXAorICAgIFhNTE5TTmFtZXMuY3Bw
IFwKICAgICBYTUxOYW1lcy5jcHAgXAogICAgIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBcCiAg
ICAgTWF0aE1MTmFtZXMuY3BwIFwKQEAgLTYzNiw2ICs2MzcsOSBAQCBlbmRpZgogCiBKU0hUTUxF
bGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIDogSFRNTE5hbWVzLmNwcAogCitYTUxOU05hbWVzLmNw
cCA6IGRvbS9tYWtlX25hbWVzLnBsIHhtbC94bWxuc2F0dHJzLmluCisJcGVybCAtSSAkKFdlYkNv
cmUpL2JpbmRpbmdzL3NjcmlwdHMgJDwgLS1hdHRycyAkKFdlYkNvcmUpL3htbC94bWxuc2F0dHJz
LmluCisKIFhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBsIHhtbC94bWxhdHRycy5pbgog
CXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tYXR0cnMgJChXZWJDb3Jl
KS94bWwveG1sYXR0cnMuaW4KIApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1MzM2NCkKKysrIFdlYkNv
cmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9KU0hUTUxFbGVtZW50V3JhcHBl
ckZhY3RvcnkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9Vc2VyQWdlbnRTdHlsZVNoZWV0cy5oIFwK
IAlEZXJpdmVkU291cmNlcy9Vc2VyQWdlbnRTdHlsZVNoZWV0c0RhdGEuY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9YTUxOU05hbWVzLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvWE1MTmFtZXMuY3BwCiAK
IElETF9CSU5ESU5HUyArPSBcCkBAIC0zNDk2LDYgKzM0OTcsOSBAQCBlbmRpZiAjIEhUTUxfRkxB
R1MKIAogRGVyaXZlZFNvdXJjZXMvSlNIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcDogRGVy
aXZlZFNvdXJjZXMvSFRNTE5hbWVzLmNwcDsKIAorRGVyaXZlZFNvdXJjZXMvWE1MTlNOYW1lcy5j
cHA6ICQoV2ViQ29yZSkvZG9tL21ha2VfbmFtZXMucGwgJChXZWJDb3JlKS94bWwveG1sbnNhdHRy
cy5pbgorCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAk
PCAtLWF0dHJzICQoV2ViQ29yZSkveG1sL3htbG5zYXR0cnMuaW4gLS1vdXRwdXREaXIgIiQoR0VO
U09VUkNFUykiCisKIERlcml2ZWRTb3VyY2VzL1hNTE5hbWVzLmNwcDogJChXZWJDb3JlKS9kb20v
bWFrZV9uYW1lcy5wbCAkKFdlYkNvcmUpL3htbC94bWxhdHRycy5pbgogCSQoQU1fVl9HRU4pJChQ
RVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLWF0dHJzICQoV2ViQ29yZSkv
eG1sL3htbGF0dHJzLmluIC0tb3V0cHV0RGlyICIkKEdFTlNPVVJDRVMpIgogCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJldmlz
aW9uIDUzMzY0KQorKysgV2ViQ29yZS9XZWJDb3JlLnByaQkod29ya2luZyBjb3B5KQpAQCAtNjIw
LDYgKzYyMCwxMiBAQCBodG1sbmFtZXMud2tFeHRyYVNvdXJjZXMgPSAkJHtXQ19HRU5FUkFUCiBh
ZGRFeHRyYUNvbXBpbGVyKGh0bWxuYW1lcykKIAogIyBHRU5FUkFUT1IgNS1COgoreG1sbnNuYW1l
cy5vdXRwdXQgPSAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9L1hNTE5TTmFtZXMuY3BwCit4
bWxuc25hbWVzLmlucHV0ID0gWE1MTlNfTkFNRVMKK3htbG5zbmFtZXMuY29tbWFuZHMgPSBwZXJs
IC1JJCRQV0QvYmluZGluZ3Mvc2NyaXB0cyAkJFBXRC9kb20vbWFrZV9uYW1lcy5wbCAtLWF0dHJz
ICQkUFdEL3htbC94bWxuc2F0dHJzLmluIC0tcHJlcHJvY2Vzc29yIFwiJCR7UU1BS0VfTU9DfSAt
RVwiIC0tb3V0cHV0RGlyICQkV0NfR0VORVJBVEVEX1NPVVJDRVNfRElSCithZGRFeHRyYUNvbXBp
bGVyKHhtbG5zbmFtZXMpCisKKyMgR0VORVJBVE9SIDUtQzoKIHhtbG5hbWVzLm91dHB1dCA9ICQk
e1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0vWE1MTmFtZXMuY3BwCiB4bWxuYW1lcy5pbnB1dCA9
IFhNTF9OQU1FUwogeG1sbmFtZXMuY29tbWFuZHMgPSBwZXJsIC1JJCRQV0QvYmluZGluZ3Mvc2Ny
aXB0cyAkJFBXRC9kb20vbWFrZV9uYW1lcy5wbCAtLWF0dHJzICQkUFdEL3htbC94bWxhdHRycy5p
biAtLXByZXByb2Nlc3NvciBcIiQke1FNQUtFX01PQ30gLUVcIiAtLW91dHB1dERpciAkJFdDX0dF
TkVSQVRFRF9TT1VSQ0VTX0RJUgpJbmRleDogV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wJKHJldmlzaW9uIDUzMzY0KQor
KysgV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wJKHdvcmtpbmcgY29weSkKQEAgLTQzNSw2ICs0
MzUsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qgb2YgZmlsZXMgbmVlCiAgICAgICAg
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYU0xUUHJvY2Vzc29yLmNwcAogICAgICAgICBEZXJp
dmVkU291cmNlcy9XZWJDb3JlL1VzZXJBZ2VudFN0eWxlU2hlZXRzRGF0YS5jcHAKICAgICAgICAg
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9YTGlua05hbWVzLmNwcAorICAgICAgICBEZXJpdmVkU291
cmNlcy9XZWJDb3JlL1hNTE5TTmFtZXMuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvWE1MTmFtZXMuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvWFBhdGhHcmFt
bWFyLmNwcAogICAgIDwvc2V0PgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCShyZXZpc2lv
biA1MzM2NCkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHdvcmtpbmcgY29w
eSkKQEAgLTM5MSw2ICszOTEsMjYgQEAKICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAg
ICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ1hNTE5TTmFtZXMnLAorICAgICAgICAgICdp
bnB1dHMnOiBbCisgICAgICAgICAgICAnLi4vZG9tL21ha2VfbmFtZXMucGwnLAorICAgICAgICAg
ICAgJy4uL3htbC94bWxuc2F0dHJzLmluJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdvdXRw
dXRzJzogWworICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9Y
TUxOU05hbWVzLmNwcCcsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikv
d2Via2l0L1hNTE5TTmFtZXMuaCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzog
WworICAgICAgICAgICAgJ3B5dGhvbicsCisgICAgICAgICAgICAnc2NyaXB0cy9hY3Rpb25fbWFr
ZW5hbWVzLnB5JywKKyAgICAgICAgICAgICc8QChfb3V0cHV0cyknLAorICAgICAgICAgICAgJy0t
JywKKyAgICAgICAgICAgICc8QChfaW5wdXRzKScsCisgICAgICAgICAgICAnLS0nLAorICAgICAg
ICAgICAgJy0tZXh0cmFEZWZpbmVzJywgJzwoZmVhdHVyZV9kZWZpbmVzKScKKyAgICAgICAgICBd
LAorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ1hNTE5h
bWVzJywKICAgICAgICAgICAnaW5wdXRzJzogWwogICAgICAgICAgICAgJy4uL2RvbS9tYWtlX25h
bWVzLnBsJywKQEAgLTU2Nyw2ICs1ODcsNyBAQAogICAgICAgICAnPChTSEFSRURfSU5URVJNRURJ
QVRFX0RJUikvd2Via2l0L1NWR05hbWVzLmNwcCcsCiAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1F
RElBVEVfRElSKS93ZWJraXQvVXNlckFnZW50U3R5bGVTaGVldHNEYXRhLmNwcCcsCiAgICAgICAg
ICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvWExpbmtOYW1lcy5jcHAnLAorICAg
ICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L1hNTE5TTmFtZXMuY3BwJywK
ICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9YTUxOYW1lcy5jcHAn
LAogCiAgICAgICAgICMgQWRkaXRpb25hbCAuY3BwIGZpbGVzIGZyb20gdGhlIHdlYmNvcmVfYmlu
ZGluZ3Nfc291cmNlcyBydWxlcy4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagkocmV2aXNpb24gNTMzNjQpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTM5Nyw2ICsxOTM5NywxNCBAQAogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFhNTE5TTmFtZXMuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xYTUxOU05hbWVzLmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFhNTE5hbWVz
LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTMzNjQpCisrKyBXZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDY3MCw2ICs0Njcw
LDggQEAKIAkJRTEyODRCRDYxMDQ0QTAxRTAwRUFFQjUyIC8qIERPTVBhZ2VUcmFuc2l0aW9uRXZl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjg0
QkQ0MTA0NEEwMUUwMEVBRUI1MiAvKiBET01QYWdlVHJhbnNpdGlvbkV2ZW50LmggKi87IH07CiAJ
CUUxMkVEQjdCMEIzMDhBNzgwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyRURCN0EwQjMwOEE3ODAwMjcwNEI2
IC8qIEV2ZW50VGFyZ2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTEyRURCRUEwQjMwOEUwQjAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMkVEQkU5MEIz
MDhFMEIwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5jcHAgKi87IH07CisJCUUxNUEzNkQ3MTEwNDU3
MjAwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZENjExMDQ1NzIwMDBCN0I2MzkgLyogWE1MTlNOYW1lcy5o
ICovOyB9OworCQlFMTVBMzZEOTExMDQ1NzI3MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTVBMzZEODExMDQ1
NzI3MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5jcHAgKi87IH07CiAJCUUxN0E0QTFCMEQ5Nzk5MUQw
MEZDMTBDNiAvKiBET01TVkdBbHRHbHlwaEVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1QUE2QkFDMEQ5NzRBMDAw
MDA1NDFBRSAvKiBET01TVkdBbHRHbHlwaEVsZW1lbnQuaCAqLzsgfTsKIAkJRTE3QTRBMUMwRDk3
OTkxRDAwRkMxMEM2IC8qIERPTVNWR0FsdEdseXBoRWxlbWVudEludGVybmFsLmggaW4gQ29weSBH
ZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUFB
NkJBRTBEOTc0QTAwMDAwNTQxQUUgLyogRE9NU1ZHQWx0R2x5cGhFbGVtZW50SW50ZXJuYWwuaCAq
LzsgfTsKIAkJRTE4MjU2OEYwRUYyQjAyRDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTgyNTY4RDBF
RjJCMDJEMDA5MzMyNDIgLyogSlNXb3JrZXJDb250ZXh0LmNwcCAqLzsgfTsKQEAgLTk5MDAsNiAr
OTkwMiw4IEBACiAJCUUxMjg0QkQ0MTA0NEEwMUUwMEVBRUI1MiAvKiBET01QYWdlVHJhbnNpdGlv
bkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVBhZ2VUcmFuc2l0
aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEyRURCN0EwQjMwOEE3
ODAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEV2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMkVEQkU5
MEIzMDhFMEIwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBFdmVudFRhcmdldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUUxNUEzNkQ2MTEwNDU3MjAwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhNTE5TTmFtZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRTE1QTM2RDgxMTA0NTcyNzAwQjdCNjM5IC8qIFhNTE5TTmFtZXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWE1MTlNOYW1lcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxODI1NjhEMEVGMkIwMkQwMDkzMzI0MiAvKiBKU1dv
cmtlckNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNX
b3JrZXJDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE4MjU2OEUw
RUYyQjAyRDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU1dvcmtlckNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTE4MjU4QUIwRUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dEN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dvcmtlckNvbnRleHRD
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTExNDcsNiArMTExNTEs
OCBAQAogCQkJCTRDQTNBQjQ4MEU1NTZGMjQwMEU5QzBDMCAvKiBXTUxOYW1lcy5oICovLAogCQkJ
CTY1NjU4MUVBMDlEMTUwOEQwMDBFNjFENyAvKiBYTGlua05hbWVzLmNwcCAqLywKIAkJCQk2NTY1
ODFFQjA5RDE1MDhEMDAwRTYxRDcgLyogWExpbmtOYW1lcy5oICovLAorCQkJCUUxNUEzNkQ4MTEw
NDU3MjcwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmNwcCAqLywKKwkJCQlFMTVBMzZENjExMDQ1NzIw
MDBCN0I2MzkgLyogWE1MTlNOYW1lcy5oICovLAogCQkJCUE4MzNDODBBMEEyQ0YyNTYwMEQ1NzY2
NCAvKiBYTUxOYW1lcy5jcHAgKi8sCiAJCQkJQTgzM0M4MEIwQTJDRjI1NjAwRDU3NjY0IC8qIFhN
TE5hbWVzLmggKi8sCiAJCQkJMUE3NjI5RDMwQTA3NDI1MTAwOTg5RjVCIC8qIFhQYXRoR3JhbW1h
ci5jcHAgKi8sCkBAIC0xODM0OSw2ICsxODM1NSw3IEBACiAJCQkJNkU0RTkxQUQxMEY3RkIzMTAw
QTI3NzlDIC8qIENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2
RTRFOTFBRjEwRjdGQjMxMDBBMjc3OUMgLyogV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNkVFOEE3NzMxMEY4MDNGMzAwNUE0QTI0IC8qIEpTV2ViR0xDb250ZXh0
QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTE1QTM2RDcxMTA0NTcyMDAwQjdCNjM5
IC8qIFhNTE5TTmFtZXMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjA1MTMsNiArMjA1MjAsNyBAQAog
CQkJCTZFNEU5MUFDMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBRTEwRjdGQjMxMDBBMjc3OUMgLyogV2ViR0xD
b250ZXh0QXR0cmlidXRlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUU4QTc3MjEwRjgwM0Yz
MDA1QTRBMjQgLyogSlNXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUUxNUEzNkQ5MTEwNDU3MjcwMEI3QjYzOSAvKiBYTUxOU05hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpJbmRleDogV2ViQ29yZS9kb20vQXR0ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vQXR0ci5jcHAJKHJldmlzaW9uIDUzMzY0KQorKysgV2ViQ29yZS9kb20vQXR0ci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlRleHQuaCIKKyNpbmNsdWRlICJYTUxO
U05hbWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTAyLDggKzEwMyw4IEBAIHZv
aWQgQXR0cjo6c2V0UHJlZml4KGNvbnN0IEF0b21pY1N0cmluZyYKICAgICBpZiAoZWMpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGlmICgocHJlZml4ID09ICJ4bWxucyIgJiYgbmFtZXNwYWNlVVJJ
KCkgIT0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIikKLSAgICAgICAgfHwgc3RhdGlj
X2Nhc3Q8QXR0cio+KHRoaXMpLT5xdWFsaWZpZWROYW1lKCkgPT0gInhtbG5zIikgeworICAgIGlm
ICgocHJlZml4ID09IHhtbG5zQXRvbSAmJiBuYW1lc3BhY2VVUkkoKSAhPSBYTUxOU05hbWVzOjp4
bWxuc05hbWVzcGFjZVVSSSkKKyAgICAgICAgfHwgc3RhdGljX2Nhc3Q8QXR0cio+KHRoaXMpLT5x
dWFsaWZpZWROYW1lKCkgPT0geG1sbnNBdG9tKSB7CiAgICAgICAgIGVjID0gTkFNRVNQQUNFX0VS
UjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDUzMzY0
KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiAr
MTI4LDcgQEAKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJX
aGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3QuaCIKKyNpbmNsdWRlICJYTUxO
U05hbWVzLmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKICNpbmNsdWRlICJYTUxUb2tlbml6ZXIu
aCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgpAQCAtNzkwLDIxICs3OTEsMTcgQEAgUGFzc1Jl
ZlB0cjxOb2RlPiBEb2N1bWVudDo6YWRvcHROb2RlKFBhcwogCiBib29sIERvY3VtZW50OjpoYXNQ
cmVmaXhOYW1lc3BhY2VNaXNtYXRjaChjb25zdCBRdWFsaWZpZWROYW1lJiBxTmFtZSkKIHsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgeG1sbnNOYW1lc3BhY2VV
UkksICgiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSk7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHhtbG5zLCAoInhtbG5zIikpOwotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCB4bWwsICgieG1sIikpOwotCiAgICAg
Ly8gVGhlc2UgY2hlY2tzIGFyZSBmcm9tIERPTSBDb3JlIExldmVsIDIsIGNyZWF0ZUVsZW1lbnRO
UwogICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0yLUNvcmUvY29yZS5odG1s
I0lELURvY0NyRWxOUwogICAgIGlmICghcU5hbWUucHJlZml4KCkuaXNFbXB0eSgpICYmIHFOYW1l
Lm5hbWVzcGFjZVVSSSgpLmlzTnVsbCgpKSAvLyBjcmVhdGVFbGVtZW50TlMobnVsbCwgImh0bWw6
ZGl2IikKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKHFOYW1lLnByZWZpeCgpID09IHht
bCAmJiBxTmFtZS5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJKSAv
LyBjcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLCAieG1sOmxhbmciKQor
ICAgIGlmIChxTmFtZS5wcmVmaXgoKSA9PSB4bWxBdG9tICYmIHFOYW1lLm5hbWVzcGFjZVVSSSgp
ICE9IFhNTE5hbWVzOjp4bWxOYW1lc3BhY2VVUkkpIC8vIGNyZWF0ZUVsZW1lbnROUygiaHR0cDov
L3d3dy5leGFtcGxlLmNvbSIsICJ4bWw6bGFuZyIpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAg
ICAgLy8gUmVxdWlyZWQgYnkgRE9NIExldmVsIDMgQ29yZSBhbmQgdW5zcGVjaWZpZWQgYnkgRE9N
IExldmVsIDIgQ29yZToKICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA0L1JFQy1ET00t
TGV2ZWwtMy1Db3JlLTIwMDQwNDA3L2NvcmUuaHRtbCNJRC1Eb2NDckVsTlMKICAgICAvLyBjcmVh
dGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIiwgImZvbzpiYXIiKSwg
Y3JlYXRlRWxlbWVudE5TKG51bGwsICJ4bWxuczpiYXIiKQotICAgIGlmICgocU5hbWUucHJlZml4
KCkgPT0geG1sbnMgJiYgcU5hbWUubmFtZXNwYWNlVVJJKCkgIT0geG1sbnNOYW1lc3BhY2VVUkkp
IHx8IChxTmFtZS5wcmVmaXgoKSAhPSB4bWxucyAmJiBxTmFtZS5uYW1lc3BhY2VVUkkoKSA9PSB4
bWxuc05hbWVzcGFjZVVSSSkpCisgICAgaWYgKChxTmFtZS5wcmVmaXgoKSA9PSB4bWxuc0F0b20g
JiYgcU5hbWUubmFtZXNwYWNlVVJJKCkgIT0gWE1MTlNOYW1lczo6eG1sbnNOYW1lc3BhY2VVUkkp
IHx8IChxTmFtZS5wcmVmaXgoKSAhPSB4bWxuc0F0b20gJiYgcU5hbWUubmFtZXNwYWNlVVJJKCkg
PT0gWE1MTlNOYW1lczo6eG1sbnNOYW1lc3BhY2VVUkkpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgIHJldHVybiBmYWxzZTsKQEAgLTQwMzUsNyArNDAzMiw3IEBAIFBhc3NSZWZQdHI8QXR0
cj4gRG9jdW1lbnQ6OmNyZWF0ZUF0dHJpYnUKICAgICB9CiAKICAgICAvLyBTcGVjOiBET00gTGV2
ZWwgMiBDb3JlOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMi1Db3JlL2NvcmUuaHRt
bCNJRC1Eb2NDckF0dHJOUwotICAgIGlmICghc2hvdWxkSWdub3JlTmFtZXNwYWNlQ2hlY2tzICYm
IHFOYW1lLmxvY2FsTmFtZSgpID09ICJ4bWxucyIgJiYgcU5hbWUubmFtZXNwYWNlVVJJKCkgIT0g
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIikgeworICAgIGlmICghc2hvdWxkSWdub3Jl
TmFtZXNwYWNlQ2hlY2tzICYmIHFOYW1lLmxvY2FsTmFtZSgpID09IHhtbG5zQXRvbSAmJiBxTmFt
ZS5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOU05hbWVzOjp4bWxuc05hbWVzcGFjZVVSSSkgewogICAg
ICAgICBlYyA9IE5BTUVTUEFDRV9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KSW5kZXg6
IFdlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3Bw
CShyZXZpc2lvbiA1MzM2NCkKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDU2LDcgKzEwNTYsNyBAQCB2b2lkIE5vZGU6OmNoZWNrU2V0UHJlZml4KGNvbnN0IEF0
b21pY1N0CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5vZGVOYW1lc3BhY2VVUkkgPSBuYW1l
c3BhY2VVUkkoKTsKICAgICBpZiAoKG5vZGVOYW1lc3BhY2VVUkkuaXNFbXB0eSgpICYmICFwcmVm
aXguaXNFbXB0eSgpKQotICAgICAgICB8fCAocHJlZml4ID09ICJ4bWwiICYmIG5vZGVOYW1lc3Bh
Y2VVUkkgIT0gWE1MTmFtZXM6OnhtbE5hbWVzcGFjZVVSSSkpIHsKKyAgICAgICAgfHwgKHByZWZp
eCA9PSB4bWxBdG9tICYmIG5vZGVOYW1lc3BhY2VVUkkgIT0gWE1MTmFtZXM6OnhtbE5hbWVzcGFj
ZVVSSSkpIHsKICAgICAgICAgZWMgPSBOQU1FU1BBQ0VfRVJSOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMTc3OSw3ICsxNzc5LDcgQEAgYm9vbCBOb2RlOjppc0RlZmF1bHROYW1lc3BhY2Uo
Y29uc3QgQXRvbQogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhdHRy
cy0+bGVuZ3RoKCk7IGkrKykgewogICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGUqIGF0dHIg
PSBhdHRycy0+YXR0cmlidXRlSXRlbShpKTsKICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgICAgIGlmIChhdHRyLT5sb2NhbE5hbWUoKSA9PSAieG1sbnMiKQorICAgICAgICAg
ICAgICAgICAgICBpZiAoYXR0ci0+bG9jYWxOYW1lKCkgPT0geG1sbnNBdG9tKQogICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGF0dHItPnZhbHVlKCkgPT0gbmFtZXNwYWNlVVJJOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTE4NjUsMTIgKzE4NjUsMTIgQEAgU3Ry
aW5nIE5vZGU6Omxvb2t1cE5hbWVzcGFjZVVSSShjb25zdCBTdAogICAgICAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBhdHRycy0+bGVuZ3RoKCk7IGkrKykgewogICAgICAgICAg
ICAgICAgICAgICBBdHRyaWJ1dGUgKmF0dHIgPSBhdHRycy0+YXR0cmlidXRlSXRlbShpKTsKICAg
ICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGlmIChhdHRyLT5wcmVmaXgo
KSA9PSAieG1sbnMiICYmIGF0dHItPmxvY2FsTmFtZSgpID09IHByZWZpeCkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoYXR0ci0+cHJlZml4KCkgPT0geG1sbnNBdG9tICYmIGF0dHItPmxvY2Fs
TmFtZSgpID09IHByZWZpeCkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhdHRyLT52
YWx1ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXR0
ci0+dmFsdWUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIFN0cmluZygpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGF0
dHItPmxvY2FsTmFtZSgpID09ICJ4bWxucyIgJiYgcHJlZml4LmlzTnVsbCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXR0ci0+bG9jYWxOYW1lKCkgPT0geG1sbnNBdG9tICYm
IHByZWZpeC5pc051bGwoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhdHRyLT52
YWx1ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXR0
ci0+dmFsdWUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIApAQCAtMTkyMCw3ICsxOTIwLDcg
QEAgU3RyaW5nIE5vZGU6Omxvb2t1cE5hbWVzcGFjZVByZWZpeChjb25zdAogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgYXR0cnMtPmxlbmd0aCgpOyBpKyspIHsKICAgICAgICAgICAg
IEF0dHJpYnV0ZSAqYXR0ciA9IGF0dHJzLT5hdHRyaWJ1dGVJdGVtKGkpOwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBpZiAoYXR0ci0+cHJlZml4KCkgPT0gInhtbG5zIiAmJgorICAgICAgICAg
ICAgaWYgKGF0dHItPnByZWZpeCgpID09IHhtbG5zQXRvbSAmJgogICAgICAgICAgICAgICAgIGF0
dHItPnZhbHVlKCkgPT0gX25hbWVzcGFjZVVSSSAmJgogICAgICAgICAgICAgICAgIG9yaWdpbmFs
RWxlbWVudC0+bG9va3VwTmFtZXNwYWNlVVJJKGF0dHItPmxvY2FsTmFtZSgpKSA9PSBfbmFtZXNw
YWNlVVJJKQogICAgICAgICAgICAgICAgIHJldHVybiBhdHRyLT5sb2NhbE5hbWUoKTsKSW5kZXg6
IFdlYkNvcmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIuY3BwCShyZXZpc2lvbiA1MzM2NCkKKysrIFdlYkNv
cmUvZG9tL1hNTFRva2VuaXplckxpYnhtbDIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1
MSw3IEBACiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJUZXh0UmVzb3VyY2VE
ZWNvZGVyLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU291cmNlLmgiCisjaW5jbHVkZSAiWE1MTlNO
YW1lcy5oIgogI2luY2x1ZGUgIlhNTFRva2VuaXplclNjb3BlLmgiCiAjaW5jbHVkZSA8bGlieG1s
L3BhcnNlci5oPgogI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KQEAgLTU5Niw5
ICs1OTcsOSBAQCBYTUxUb2tlbml6ZXI6OlhNTFRva2VuaXplcihEb2N1bWVudEZyYWdtCiAgICAg
ICAgIGlmIChOYW1lZE5vZGVNYXAqIGF0dHJzID0gZWxlbWVudC0+YXR0cmlidXRlcygpKSB7CiAg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYXR0cnMtPmxlbmd0aCgpOyBpKysp
IHsKICAgICAgICAgICAgICAgICBBdHRyaWJ1dGUqIGF0dHIgPSBhdHRycy0+YXR0cmlidXRlSXRl
bShpKTsKLSAgICAgICAgICAgICAgICBpZiAoYXR0ci0+bG9jYWxOYW1lKCkgPT0gInhtbG5zIikK
KyAgICAgICAgICAgICAgICBpZiAoYXR0ci0+bG9jYWxOYW1lKCkgPT0geG1sbnNBdG9tKQogICAg
ICAgICAgICAgICAgICAgICBtX2RlZmF1bHROYW1lc3BhY2VVUkkgPSBhdHRyLT52YWx1ZSgpOwot
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGF0dHItPnByZWZpeCgpID09ICJ4bWxucyIpCisgICAg
ICAgICAgICAgICAgZWxzZSBpZiAoYXR0ci0+cHJlZml4KCkgPT0geG1sbnNBdG9tKQogICAgICAg
ICAgICAgICAgICAgICBtX3ByZWZpeFRvTmFtZXNwYWNlTWFwLnNldChhdHRyLT5sb2NhbE5hbWUo
KSwgYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTY3OCwxMSAr
Njc5LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBoYW5kbGVFbGVtZW50TmFtZXNwYWMKIHsKICAg
ICB4bWxTQVgyTmFtZXNwYWNlKiBuYW1lc3BhY2VzID0gcmVpbnRlcnByZXRfY2FzdDx4bWxTQVgy
TmFtZXNwYWNlKj4obGlieG1sTmFtZXNwYWNlcyk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBu
Yl9uYW1lc3BhY2VzOyBpKyspIHsKLSAgICAgICAgU3RyaW5nIG5hbWVzcGFjZVFOYW1lID0gInht
bG5zIjsKKyAgICAgICAgQXRvbWljU3RyaW5nIG5hbWVzcGFjZVFOYW1lID0geG1sbnNBdG9tOwog
ICAgICAgICBTdHJpbmcgbmFtZXNwYWNlVVJJID0gdG9TdHJpbmcobmFtZXNwYWNlc1tpXS51cmkp
OwogICAgICAgICBpZiAobmFtZXNwYWNlc1tpXS5wcmVmaXgpCiAgICAgICAgICAgICBuYW1lc3Bh
Y2VRTmFtZSA9ICJ4bWxuczoiICsgdG9TdHJpbmcobmFtZXNwYWNlc1tpXS5wcmVmaXgpOwotICAg
ICAgICBuZXdFbGVtZW50LT5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC94
bWxucy8iLCBuYW1lc3BhY2VRTmFtZSwgbmFtZXNwYWNlVVJJLCBlYyk7CisgICAgICAgIG5ld0Vs
ZW1lbnQtPnNldEF0dHJpYnV0ZU5TKFhNTE5TTmFtZXM6OnhtbG5zTmFtZXNwYWNlVVJJLCBuYW1l
c3BhY2VRTmFtZSwgbmFtZXNwYWNlVVJJLCBlYyk7CiAgICAgICAgIGlmIChlYykgLy8gZXhjZXB0
aW9uIHNldHRpbmcgYXR0cmlidXRlcwogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KSW5kZXg6
IFdlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGlu
Zy9tYXJrdXAuY3BwCShyZXZpc2lvbiA1MzM2NCkKKysrIFdlYkNvcmUvZWRpdGluZy9tYXJrdXAu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiUmFuZ2UuaCIK
ICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgi
CisjaW5jbHVkZSAiWE1MTlNOYW1lcy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCiAjaW5j
bHVkZSAidmlzaWJsZV91bml0cy5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAg
LTMxNSwxNCArMzE2LDEyIEBAIHN0YXRpYyBib29sIHNob3VsZEFkZE5hbWVzcGFjZUVsZW0oY29u
c3QKIHN0YXRpYyBib29sIHNob3VsZEFkZE5hbWVzcGFjZUF0dHIoY29uc3QgQXR0cmlidXRlKiBh
dHRyLCBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBBdG9taWNTdHJpbmdJbXBsKj4mIG5hbWVz
cGFjZXMpCiB7CiAgICAgLy8gRG9uJ3QgYWRkIG5hbWVzcGFjZSBhdHRyaWJ1dGVzIHR3aWNlCi0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHhtbG5zVVJJLCAoImh0
dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIikpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Y29uc3QgUXVhbGlmaWVkTmFtZSwgeG1sbnNBdHRyLCAobnVsbEF0b20sICJ4bWxucyIsIHhtbG5z
VVJJKSk7Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSB4bWxuc0F0dHIpIHsKKyAgICBpZiAoYXR0
ci0+bmFtZSgpID09IFhNTE5TTmFtZXM6OnhtbG5zQXR0cikgewogICAgICAgICBuYW1lc3BhY2Vz
LnNldChlbXB0eUF0b20uaW1wbCgpLCBhdHRyLT52YWx1ZSgpLmltcGwoKSk7CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9CiAgICAgCi0gICAgUXVhbGlmaWVkTmFtZSB4bWxuc1ByZWZpeEF0
dHIoInhtbG5zIiwgYXR0ci0+bG9jYWxOYW1lKCksIHhtbG5zVVJJKTsKKyAgICBRdWFsaWZpZWRO
YW1lIHhtbG5zUHJlZml4QXR0cih4bWxuc0F0b20sIGF0dHItPmxvY2FsTmFtZSgpLCBYTUxOU05h
bWVzOjp4bWxuc05hbWVzcGFjZVVSSSk7CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB4bWxuc1By
ZWZpeEF0dHIpIHsKICAgICAgICAgbmFtZXNwYWNlcy5zZXQoYXR0ci0+bG9jYWxOYW1lKCkuaW1w
bCgpLCBhdHRyLT52YWx1ZSgpLmltcGwoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM0
MSw5ICszNDAsOCBAQCBzdGF0aWMgdm9pZCBhcHBlbmROYW1lc3BhY2UoVmVjdG9yPFVDaGFyCiAg
ICAgQXRvbWljU3RyaW5nSW1wbCogZm91bmROUyA9IG5hbWVzcGFjZXMuZ2V0KHByZSk7CiAgICAg
aWYgKGZvdW5kTlMgIT0gbnMuaW1wbCgpKSB7CiAgICAgICAgIG5hbWVzcGFjZXMuc2V0KHByZSwg
bnMuaW1wbCgpKTsKLSAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHht
bG5zLCAoInhtbG5zIikpOwogICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Ci0gICAgICAgIGFw
cGVuZChyZXN1bHQsIHhtbG5zKTsKKyAgICAgICAgYXBwZW5kKHJlc3VsdCwgeG1sbnNBdG9tLnN0
cmluZygpKTsKICAgICAgICAgaWYgKCFwcmVmaXguaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZXN1bHQuYXBwZW5kKCc6Jyk7CiAgICAgICAgICAgICBhcHBlbmQocmVzdWx0LCBwcmVmaXgpOwpJ
bmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
RnJhbWUuY3BwCShyZXZpc2lvbiA1MzM2NCkKKysrIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDcgQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIK
ICNpbmNsdWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmgiCisjaW5jbHVkZSAiWE1MTlNOYW1lcy5oIgogI2luY2x1ZGUgIlhNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKQEAgLTE2
Nyw2ICsxNjgsNyBAQCBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3duZXJFCiAg
ICAgTWF0aE1MTmFtZXM6OmluaXQoKTsKICNlbmRpZgogCisgICAgWE1MTlNOYW1lczo6aW5pdCgp
OwogICAgIFhNTE5hbWVzOjppbml0KCk7CiAKICAgICBpZiAoIW93bmVyRWxlbWVudCkKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9BdG9taWNTdHJpbmcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vdGV4dC9BdG9taWNTdHJpbmcuY3BwCShyZXZpc2lvbiA1MzM2NCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9BdG9taWNTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMDQsNiArMzA0LDggQEAgREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsIGVtcHR5QXRvbSwg
IgogREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsIHRleHRBdG9tLCAiI3RleHQiKQogREVGSU5F
X0dMT0JBTChBdG9taWNTdHJpbmcsIGNvbW1lbnRBdG9tLCAiI2NvbW1lbnQiKQogREVGSU5FX0dM
T0JBTChBdG9taWNTdHJpbmcsIHN0YXJBdG9tLCAiKiIpCitERUZJTkVfR0xPQkFMKEF0b21pY1N0
cmluZywgeG1sQXRvbSwgInhtbCIpCitERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgeG1sbnNB
dG9tLCAieG1sbnMiKQogCiB2b2lkIEF0b21pY1N0cmluZzo6aW5pdCgpCiB7CkBAIC0zMTgsNiAr
MzIwLDggQEAgdm9pZCBBdG9taWNTdHJpbmc6OmluaXQoKQogICAgICAgICBuZXcgKCh2b2lkKikm
dGV4dEF0b20pIEF0b21pY1N0cmluZygiI3RleHQiKTsKICAgICAgICAgbmV3ICgodm9pZCopJmNv
bW1lbnRBdG9tKSBBdG9taWNTdHJpbmcoIiNjb21tZW50Iik7CiAgICAgICAgIG5ldyAoKHZvaWQq
KSZzdGFyQXRvbSkgQXRvbWljU3RyaW5nKCIqIik7CisgICAgICAgIG5ldyAoKHZvaWQqKSZ4bWxB
dG9tKSBBdG9taWNTdHJpbmcoInhtbCIpOworICAgICAgICBuZXcgKCh2b2lkKikmeG1sbnNBdG9t
KSBBdG9taWNTdHJpbmcoInhtbG5zIik7CiAKICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwog
ICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9BdG9taWNTdHJpbmcuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3RleHQvQXRvbWljU3RyaW5nLmgJKHJldmlzaW9uIDUz
MzY0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0F0b21pY1N0cmluZy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTYsNiArMTU2LDggQEAgaW5saW5lIGJvb2wgZXF1YWxJZ25vcmluZ0Nhc2UoY29u
c3QgU3RyaQogICAgIGV4dGVybiBjb25zdCBBdG9taWNTdHJpbmcgdGV4dEF0b207CiAgICAgZXh0
ZXJuIGNvbnN0IEF0b21pY1N0cmluZyBjb21tZW50QXRvbTsKICAgICBleHRlcm4gY29uc3QgQXRv
bWljU3RyaW5nIHN0YXJBdG9tOworICAgIGV4dGVybiBjb25zdCBBdG9taWNTdHJpbmcgeG1sQXRv
bTsKKyAgICBleHRlcm4gY29uc3QgQXRvbWljU3RyaW5nIHhtbG5zQXRvbTsKICNlbmRpZgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3htbC9YUGF0aFN0ZXAuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL1hQYXRoU3RlcC5jcHAJKHJldmlzaW9uIDUzMzY0KQor
KysgV2ViQ29yZS94bWwvWFBhdGhTdGVwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIk5hbWVkTm9kZU1hcC5oIgorI2luY2x1ZGUgIlhNTE5TTmFtZXMuaCIKICNpbmNsdWRlICJY
UGF0aFBhcnNlci5oIgogI2luY2x1ZGUgIlhQYXRoVXRpbC5oIgogCkBAIC0xNzMsNyArMTc0LDcg
QEAgc3RhdGljIGlubGluZSBib29sIG5vZGVNYXRjaGVzQmFzaWNUZXN0KAogICAgICAgICAgICAg
ICAgIEFTU0VSVChub2RlLT5pc0F0dHJpYnV0ZU5vZGUoKSk7CiAKICAgICAgICAgICAgICAgICAv
LyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRo
ZSBhdHRyaWJ1dGUgYXhpcy4KLSAgICAgICAgICAgICAgICBpZiAobm9kZS0+bmFtZXNwYWNlVVJJ
KCkgPT0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIikKKyAgICAgICAgICAgICAgICBp
ZiAobm9kZS0+bmFtZXNwYWNlVVJJKCkgPT0gWE1MTlNOYW1lczo6eG1sbnNOYW1lc3BhY2VVUkkp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgICAgIGlm
IChuYW1lID09IHN0YXJBdG9tKQpAQCAtMzM1LDcgKzMzNiw3IEBAIHZvaWQgU3RlcDo6bm9kZXNJ
bkF4aXMoTm9kZSogY29udGV4dCwgTm8KICAgICAgICAgICAgIC8vIEF2b2lkIGxhemlseSBjcmVh
dGluZyBhdHRyaWJ1dGUgbm9kZXMgZm9yIGF0dHJpYnV0ZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCBh
bnl3YXkuCiAgICAgICAgICAgICBpZiAobV9ub2RlVGVzdC5raW5kKCkgPT0gTm9kZVRlc3Q6Ok5h
bWVUZXN0ICYmIG1fbm9kZVRlc3QuZGF0YSgpICE9IHN0YXJBdG9tKSB7CiAgICAgICAgICAgICAg
ICAgUmVmUHRyPE5vZGU+IG4gPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4oY29udGV4dCktPmdldEF0
dHJpYnV0ZU5vZGVOUyhtX25vZGVUZXN0Lm5hbWVzcGFjZVVSSSgpLCBtX25vZGVUZXN0LmRhdGEo
KSk7Ci0gICAgICAgICAgICAgICAgaWYgKG4gJiYgbi0+bmFtZXNwYWNlVVJJKCkgIT0gImh0dHA6
Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIikgeyAvLyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ug
bm9kZXMgYXJlIG5vdCBhY2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KKyAgICAgICAg
ICAgICAgICBpZiAobiAmJiBuLT5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOU05hbWVzOjp4bWxuc05h
bWVzcGFjZVVSSSkgeyAvLyBJbiBYUGF0aCBsYW5kLCBuYW1lc3BhY2Ugbm9kZXMgYXJlIG5vdCBh
Y2Nlc3NpYmxlIG9uIHRoZSBhdHRyaWJ1dGUgYXhpcy4KICAgICAgICAgICAgICAgICAgICAgaWYg
KG5vZGVNYXRjaGVzKG4uZ2V0KCksIEF0dHJpYnV0ZUF4aXMsIG1fbm9kZVRlc3QpKSAvLyBTdGls
bCBuZWVkIHRvIGNoZWNrIG1lcmdlZCBwcmVkaWNhdGVzLgogICAgICAgICAgICAgICAgICAgICAg
ICAgbm9kZXMuYXBwZW5kKG4ucmVsZWFzZSgpKTsKICAgICAgICAgICAgICAgICB9CkluZGV4OiBX
ZWJDb3JlL3htbC94bWxuc2F0dHJzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL3htbG5z
YXR0cnMuaW4JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3htbC94bWxuc2F0dHJzLmluCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK25hbWVzcGFjZT0iWE1MTlMiCituYW1lc3BhY2VVUkk9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIgorCit4bWxucwoKUHJvcGVydHkgY2hhbmdl
cyBvbjogV2ViQ29yZS94bWwveG1sbnNhdHRycy5pbgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWlt
ZS10eXBlCiAgICsgdGV4dC9wbGFpbgpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgo=
</data>
<flag name="review"
          id="29127"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>