<?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>49762</bug_id>
          
          <creation_ts>2010-11-18 14:59:23 -0800</creation_ts>
          <short_desc>Stylesheet wrappers are not GC protected</short_desc>
          <delta_ts>2010-11-18 19:04:17 -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>CSS</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>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>311104</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-18 14:59:23 -0800</bug_when>
    <thetext>Custom properties on a stylesheet don&apos;t persist, unless an explicit reference to it is kept.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311127</commentid>
    <comment_count>1</comment_count>
      <attachid>74303</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-18 15:27:48 -0800</bug_when>
    <thetext>Created attachment 74303
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311132</commentid>
    <comment_count>2</comment_count>
      <attachid>74303</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-11-18 15:39:36 -0800</bug_when>
    <thetext>Comment on attachment 74303
proposed fix

From a GC footprint perspective, the approach here isn&apos;t ideal, since, as you say in your FIXME, we might artificially keep alive style wrappers we could have thrown away.

However, I expect that the set of all style-related DOM nodes in a document is quite small in practice -- and often these nodes aren&apos;t even wrapped by JS -- so in these cases I think this approach is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311162</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-18 16:24:22 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/72344&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311186</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-18 17:14:10 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/72344 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
fast/dom/prototype-inheritance-2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311236</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-18 19:04:17 -0800</bug_when>
    <thetext>A subtest changed from FAIL to PASS there. Probably for a good reason, but maybe not, hard to tell with those mega-tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74303</attachid>
            <date>2010-11-18 15:27:48 -0800</date>
            <delta_ts>2010-11-18 15:39:36 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>StylesheetGC.txt</filename>
            <type>text/plain</type>
            <size>38216</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MjMzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDcgQEAKKzIwMTAtMTEtMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NzYyCisgICAgICAgIFN0
eWxlc2hlZXQgd3JhcHBlcnMgYXJlIG5vdCBHQyBwcm90ZWN0ZWQKKworICAgICAgICBUZXN0czog
ZmFzdC9kb20vU3R5bGVTaGVldC9nYy1pbmxpbmUtc3R5bGUtY3NzdmFsdWVzLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZG9tL1N0eWxlU2hlZXQvZ2Mtc3R5bGVoZWV0LXdyYXBwZXIueGh0bWwK
KworICAgICAgICAqIEFuZHJvaWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICBBZGRlZCB0aGUgbmV3IGN1c3RvbSBiaW5kaW5ncyBmaWxlcy4K
KworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgdGhl
IG5ldyBjdXN0b20gYmluZGluZ3MgZmlsZXMuIEFsc28sIGFkZGVkIHNvbWUKKyAgICAgICAgZXhp
c3RpbmcgaGVhZGVycy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6
IChXZWJDb3JlOjppc09ic2VydmFibGVUaHJvdWdoRE9NKTogSWYgYSBub2RlIGhhcyBhIHN0eWxl
c2hlZXQKKyAgICAgICAgd2l0aCBhIHdyYXBwZXIsIGl0IG1heSBiZSB0aGUgb25seSB0aGluZyBo
YXZpbmcgdGhlIHN0eWxlc2hlZXQncyB3cmFwcGVyIGFsaXZlLCBzbyBpdHMgb3duCisgICAgICAg
IHdyYXBwZXIgaGFzIHRvIHN0YXkgYWxpdmUsIHRvby4KKyAgICAgICAgV2hpbGUgYXQgaXQsIGFs
c28gZml4ZWQgdGhlIHNhbWUgaXNzdWUgd2l0aCBpbmxpbmUgc3R5bGUgZGVjbGFyYXRpb25zLgor
ICAgICAgICBBbHNvLCBhZGRlZCBhIEZJWE1FIGNvbW1lbnQgYWJvdXQgb25lIHdpdGggYXR0cmli
dXRlIG5vZGVzLiBXZSBpbXBsZW1lbnQgYSBsZXNzIGNvbnNlcnZhdGl2ZQorICAgICAgICBhcHBy
b2FjaCBmb3Igbm9kZXMsIHNvIHBlcmhhcHMgZml4aW5nIHRoaXMgaXMgbm90IGFzIGVhc3kgYXMg
cmVtb3ZpbmcgYSBoYXNDdXN0b21Qcm9wZXJ0aWVzKCkKKyAgICAgICAgY2hlY2suCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxMaW5rRWxlbWVudEN1c3RvbS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SlNIVE1MTGlua0VsZW1lbnQ6Om1hcmtDaGlsZHJlbik6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNIVE1MU3R5bGVFbGVtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpKU0hUTUxTdHlsZUVsZW1lbnQ6Om1hcmtDaGlsZHJlbik6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkpTUHJvY2Vzc2luZ0luc3RydWN0aW9uOjptYXJrQ2hpbGRyZW4p
OgorICAgICAgICBNYXJrIHN0eWxlc2hlZXRzIG93bmVkIGJ5IHRoZXNlIG5vZGVzLiBBcyBhbHdh
eXMgaW4gbWFya0NoaWxkcmVuKCkgZnVuY3Rpb25zLCB3ZSBkbyBpdAorICAgICAgICBjb25zZXJ2
YXRpdmVseSwgd2l0aG91dCBjaGVja2luZyB3aGV0aGVyIHRoZSBzdHlsZXNoZWV0IG9yIGFueSBv
ZiBpdHMgY2hpbGRyZW4gaGF2ZSBjdXN0b20KKyAgICAgICAgcHJvcGVydGllcy4KKworICAgICAg
ICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsOgorICAgICAgICAqIGh0bWwvSFRNTExp
bmtFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsOgorICAg
ICAgICBUaGVzZSBoYXZlIGN1c3RvbSBtYXJrIGZ1bmN0aW9ucyBub3cuCisKIDIwMTAtMTEtMTgg
IFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIFJvYmVuLgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkocmV2aXNpb24gNzIz
MTUpCisrKyBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHdvcmtpbmcgY29weSkKQEAg
LTExNSwxMCArMTE1LDEyIEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNI
VE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRF
bGVtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9t
LmNwcCBcCisJYmluZGluZ3MvanMvSlNIVE1MTGlua0VsZW1lbnRDdXN0b20uY3BwIFwKIAliaW5k
aW5ncy9qcy9KU0hUTUxPYmplY3RFbGVtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNI
VE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0hUTUxPdXRw
dXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVudEN1
c3RvbS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTSFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTSURCQW55
Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwIFwKQEAgLTE0Miw2
ICsxNDQsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTUGx1Z2luQXJy
YXlDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU1BsdWdpbkN1c3RvbS5jcHAgXAogCWJpbmRp
bmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAorCWJpbmRpbmdzL2pzL0pTUHJv
Y2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNTUUxSZXN1bHRT
ZXRSb3dMaXN0Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvbkN1c3Rv
bS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudEluc3RhbmNlQ3VzdG9tLmNwcCBcCklu
ZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VM
aXN0cy50eHQJKHJldmlzaW9uIDcyMzE1KQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtNjMyLDEwICs2MzIsMTIgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAg
IGJpbmRpbmdzL2pzL0pTSFRNTEZyYW1lRWxlbWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNIVE1M
SW5wdXRFbGVtZW50Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTSFRNTExpbmtFbGVtZW50
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9iamVjdEVsZW1lbnRDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNIVE1MT3V0cHV0RWxlbWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTSFRNTFN0
eWxlRWxlbWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3Iu
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCkBAIC02NjAsNiArNjYyLDcgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTRE9NUGx1Z2luQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKICAgICBiaW5kaW5n
cy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNTY3JpcHRQcm9maWxl
Tm9kZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1NoYXJlZFdvcmtlckN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy9qcy9KU1NRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwCkluZGV4OiBX
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0JKHJldmlzaW9uIDcyMzE1KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBj
b3B5KQpAQCAtNzQ2LDEyICs3NDYsMTQgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxMaW5rRWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNI
VE1MT2JqZWN0RWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
T2JqZWN0RWxlbWVudEN1c3RvbS5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlv
bnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPdXRw
dXRFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RF
bGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVt
ZW50Q3VzdG9tLmggXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MU3R5bGVFbGVtZW50Q3Vz
dG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwIFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oIFwKIAlXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNwcCBcCkBAIC03ODIsNiArNzg0LDcgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1
bmN0aW9ucy5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rp
b25zLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCBc
CisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAg
XAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNTY3JpcHRQcm9maWxlTm9kZUN1c3RvbS5jcHAgXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNTaGFyZWRXb3JrZXJDdXN0b20uY3BwIFwKIAlXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTU1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAgXApJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJl
dmlzaW9uIDcyMzE1KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAg
LTYyMSwxMiArNjIxLDE0IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MRnJhbWVT
ZXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MSW5w
dXRFbGVtZW50Q3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTExpbmtF
bGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MT2JqZWN0
RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRNTE9iamVj
dEVsZW1lbnRDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0hUTUxP
dXRwdXRFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1M
U2VsZWN0RWxlbWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSFRN
TFNlbGVjdEVsZW1lbnRDdXN0b20uaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNIVE1M
U3R5bGVFbGVtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNJbWFn
ZUNvbnN0cnVjdG9yLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0
cnVjdG9yLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNw
cCcsCkBAIC02NjEsNiArNjYzLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTVBs
dWdpbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVu
dEZ1bmN0aW9ucy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVu
dEZ1bmN0aW9ucy5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0
cnVjdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUkdCQ29sb3Iu
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1JHQkNvbG9yLmgnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTU2hhcmVkV29ya2VyQ3VzdG9tLmNwcCcsCkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9u
IDcyMzE1KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtNTMxLDEw
ICs1MzEsMTIgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU0hUTUxGcmFtZUVsZW1lbnRD
dXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3Vz
dG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTSFRNTElucHV0RWxlbWVudEN1c3RvbS5j
cHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU0hUTUxMaW5rRWxlbWVudEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU0hUTUxPYmplY3RFbGVtZW50Q3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTSFRNTE91dHB1dEVsZW1lbnRDdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5k
aW5ncy9qcy9KU0hUTUxTdHlsZUVsZW1lbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
anMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTSW1hZ2VE
YXRhQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRIb3N0
Q3VzdG9tLmNwcCBcCkBAIC01NzIsNiArNTc0LDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9q
cy9KU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQbHVn
aW5FbGVtZW50RnVuY3Rpb25zLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVF
dmVudEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVj
dGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRFcnJv
ckhhbmRsZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwIFwK
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNzIzMTUp
CisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC02NDY5OCw2ICs2NDY5OCw2NiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZp
bGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNIVE1MTGlua0VsZW1lbnRD
dXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJ
Pg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJ
Lz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJ
CQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2lu
MzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxU
b29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNIVE1MT2JqZWN0RWxlbWVudEN1c3RvbS5jcHAiDQog
CQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC02NDk0Miw2ICs2NTAwMiw2NiBA
QAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5cYmluZGluZ3NcanNcSlNIVE1MU3R5bGVFbGVtZW50Q3VzdG9tLmNwcCINCisJCQkJCT4NCisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJ
PFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5h
bWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdp
bjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8
VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJ
CQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQkJTmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJBbnkuY3BwIg0KIAkJ
CQkJPg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtNjc0MzQsNiArNjc1NTQsNjYgQEAK
IAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1
c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+
DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkv
Pg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJv
fFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJ
CQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4z
MiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRv
b2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU1NjcmlwdFByb2ZpbGVOb2RlQ3VzdG9tLmNwcCINCiAJ
CQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3MjMxNSkKKysrIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01Mzk2LDYg
KzUzOTYsMTMgQEAKIAkJRTFBNjQzRkQwRUMwOTdBMDAwNzc5NjY4IC8qIFdvcmtlclNjcmlwdENv
bnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTFBNjQzRkMwRUMwOTdBMDAwNzc5NjY4IC8qIFdvcmtlclNjcmlwdENvbnRyb2xsZXIuY3Bw
ICovOyB9OwogCQlFMUFDQUY0QzBFNzkxQUFGMDA4N0QxMkIgLyogRE9NTWVzc2FnZVBvcnQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUFDQUY0QTBF
NzkxQUFGMDA4N0QxMkIgLyogRE9NTWVzc2FnZVBvcnQubW0gKi87IH07CiAJCUUxQUNBRjREMEU3
OTFBQUYwMDg3RDEyQiAvKiBET01NZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFBQ0FGNEIwRTc5MUFBRjAwODdEMTJCIC8qIERPTU1l
c3NhZ2VQb3J0LmggKi87IH07CisJCUUxQUQxMkQ2MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMUFEMTJENTEyOTVEMEJEMDBBQ0E5ODkgLyogSlNQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb25DdXN0b20uY3BwICovOyB9OworCQlFMUFEMTM5QjEyOTVEOTI2MDBBQ0E5ODkg
LyogSlNIVE1MTGlua0VsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTFBRDEzOUExMjk1RDkyNjAwQUNBOTg5IC8qIEpTSFRNTExp
bmtFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJRTFBRDEzOUUxMjk1RDk2MTAwQUNBOTg5IC8q
IEpTSFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMUFEMTM5RDEyOTVEOTYxMDBBQ0E5ODkgLyogSlNIVE1MU3R5
bGVFbGVtZW50Q3VzdG9tLmNwcCAqLzsgfTsKKwkJRTFBRDE0MUUxMjk1RUE0RjAwQUNBOTg5IC8q
IEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxQUQxNDFEMTI5NUVBNEYwMEFDQTk4OSAvKiBKU0hUTUxBcHBs
ZXRFbGVtZW50Q3VzdG9tLmggKi87IH07CisJCUUxQUQxNDIxMTI5NUVBNkIwMEFDQTk4OSAvKiBK
U0hUTUxFbWJlZEVsZW1lbnRDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxQUQxNDIwMTI5NUVBNkIwMEFDQTk4OSAvKiBKU0hUTUxFbWJlZEVs
ZW1lbnRDdXN0b20uaCAqLzsgfTsKKwkJRTFBRDE0MjMxMjk1RUE3RjAwQUNBOTg5IC8qIEpTSFRN
TElucHV0RWxlbWVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTFBRDE0MjIxMjk1RUE3RjAwQUNBOTg5IC8qIEpTSFRNTElucHV0RWxlbWVu
dEN1c3RvbS5oICovOyB9OworCQlFMUFEMTQyNTEyOTVFQTk1MDBBQ0E5ODkgLyogSlNIVE1MT2Jq
ZWN0RWxlbWVudEN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTFBRDE0MjQxMjk1RUE5NTAwQUNBOTg5IC8qIEpTSFRNTE9iamVjdEVsZW1lbnRD
dXN0b20uaCAqLzsgfTsKIAkJRTFBREVDQkYwRTc2QUNGMTAwNEExQTVFIC8qIE1lc3NhZ2VQb3J0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUFERUNC
RDBFNzZBQ0YxMDA0QTFBNUUgLyogTWVzc2FnZVBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUFERUNDMDBFNzZBQ0YxMDA0QTFBNUUgLyog
TWVzc2FnZVBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFBREVDQkUwRTc2QUNGMTAwNEExQTVFIC8qIE1lc3NhZ2VQb3J0LmNwcCAqLzsgfTsK
IAkJRTFBREVDQ0UwRTc2QUQ4QjAwNEExQTVFIC8qIE1lc3NhZ2VDaGFubmVsLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUFERUNDQzBFNzZBRDhCMDA0
QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCAqLzsgfTsKQEAgLTExNDYxLDYgKzExNDY4LDEzIEBA
CiAJCUUxQTY0M0ZDMEVDMDk3QTAwMDc3OTY2OCAvKiBXb3JrZXJTY3JpcHRDb250cm9sbGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclNjcmlwdENvbnRy
b2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUFDQUY0QTBFNzkxQUFG
MDA4N0QxMkIgLyogRE9NTWVzc2FnZVBvcnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBET01NZXNzYWdlUG9ydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTFBQ0FGNEIwRTc5MUFBRjAwODdEMTJCIC8qIERPTU1lc3NhZ2VQb3J0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU1lc3NhZ2VQb3J0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUxQUQxMkQ1MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUUxQUQxMzlBMTI5NUQ5MjYwMEFDQTk4OSAvKiBKU0hUTUxMaW5rRWxlbWVu
dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxM
aW5rRWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxQUQx
MzlEMTI5NUQ5NjEwMEFDQTk4OSAvKiBKU0hUTUxTdHlsZUVsZW1lbnRDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MU3R5bGVFbGVtZW50Q3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFBRDE0MUQxMjk1RUE0RjAwQUNB
OTg5IC8qIEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNIVE1MQXBwbGV0RWxlbWVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFMUFEMTQyMDEyOTVFQTZCMDBBQ0E5ODkgLyogSlNIVE1MRW1iZWRFbGVt
ZW50Q3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTEVtYmVk
RWxlbWVudEN1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUFEMTQyMjEy
OTVFQTdGMDBBQ0E5ODkgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTElucHV0RWxlbWVudEN1c3RvbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFMUFEMTQyNDEyOTVFQTk1MDBBQ0E5ODkgLyogSlNIVE1M
T2JqZWN0RWxlbWVudEN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0hUTUxPYmplY3RFbGVtZW50Q3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUxQURFQ0JEMEU3NkFDRjEwMDRBMUE1RSAvKiBNZXNzYWdlUG9ydC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5oOyBmaWxl
RW5jb2RpbmcgPSA0OyBwYXRoID0gTWVzc2FnZVBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTFBREVDQkUwRTc2QUNGMTAwNEExQTVFIC8qIE1lc3NhZ2VQb3J0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lc3NhZ2VQb3J0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFBREVDQzYwRTc2QUQxRjAwNEExQTVFIC8qIE1lc3Nh
Z2VQb3J0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZXNzYWdlUG9ydC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzA4NiwyMSArMTcxMDAsMjcgQEAKIAkJCQlCQ0U3
QjE5MjBENEU4Njk2MDA3NUE1MzkgLyogSlNIaXN0b3J5Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzk3
RTQyQjEwOTE1QjA2MDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8s
CiAJCQkJQkM0RURFRjMwQzA4RjNGQjAwN0VERDQ5IC8qIEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0
b20uY3BwICovLAorCQkJCUUxQUQxNDFEMTI5NUVBNEYwMEFDQTk4OSAvKiBKU0hUTUxBcHBsZXRF
bGVtZW50Q3VzdG9tLmggKi8sCiAJCQkJOTM5MjI2MkMxMDMyMTA3QjAwNkU3RDVEIC8qIEpTSFRN
TENhbnZhc0VsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDQ0JBRDNBMEMxOEJGRjgwMENFODkw
RiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0JDQUU1MzBGRjFBMjlF
MDAwNzYyQUUgLyogSlNIVE1MRGF0YUdyaWRFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzUx
NTgwQTBDMDNENDA0MDA4QkIwRUUgLyogSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwICovLAogCQkJ
CUJDNTgyM0Y0MEMwQTk4REYwMDUzRjFCNSAvKiBKU0hUTUxFbGVtZW50Q3VzdG9tLmNwcCAqLywK
IAkJCQlCQzZENDRCRDBDMDdFRkI2MDA3MkQyQzkgLyogSlNIVE1MRW1iZWRFbGVtZW50Q3VzdG9t
LmNwcCAqLywKKwkJCQlFMUFEMTQyMDEyOTVFQTZCMDBBQ0E5ODkgLyogSlNIVE1MRW1iZWRFbGVt
ZW50Q3VzdG9tLmggKi8sCiAJCQkJQThEMDY1QUQwQTI0NDZDRDAwNUU3MjAzIC8qIEpTSFRNTEZv
cm1FbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQzJFRDdBNDBDNkMwRjM2MDA5MjBCRkYgLyog
SlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q0MUFCQTBDMDYwREU4MDBD
MEU0NDYgLyogSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0M0Mzg3
NzBFODg2Q0M3MDA1MzNERDUgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCAqLywKKwkJ
CQlFMUFEMTQyMjEyOTVFQTdGMDBBQ0E5ODkgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmgg
Ki8sCisJCQkJRTFBRDEzOUExMjk1RDkyNjAwQUNBOTg5IC8qIEpTSFRNTExpbmtFbGVtZW50Q3Vz
dG9tLmNwcCAqLywKIAkJCQlCQzMwNUNBMzBDMDc4MUJCMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0
RWxlbWVudEN1c3RvbS5jcHAgKi8sCisJCQkJRTFBRDE0MjQxMjk1RUE5NTAwQUNBOTg5IC8qIEpT
SFRNTE9iamVjdEVsZW1lbnRDdXN0b20uaCAqLywKIAkJCQk0NDhBRDI3QTBBNDgxMzc5MDAyM0Qx
NzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwICovLAogCQkJCTRBRDAwRkZG
MTI3RTYzMTAwMDE1MDM1RiAvKiBKU0hUTUxPdXRwdXRFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJ
CQlCQzE3Rjk2NTBCNjRFQkI4MDA0QTY1Q0IgLyogSlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5j
cHAgKi8sCiAJCQkJQUI0Q0I0RUEwQjhCREEzRDAwOUY0MEIwIC8qIEpTSFRNTFNlbGVjdEVsZW1l
bnRDdXN0b20uaCAqLywKKwkJCQlFMUFEMTM5RDEyOTVEOTYxMDBBQ0E5ODkgLyogSlNIVE1MU3R5
bGVFbGVtZW50Q3VzdG9tLmNwcCAqLywKIAkJCQlDNTg1QTY1QzExRDRGQUIyMDA0QzNFNEIgLyog
SlNJREJBbnlDdXN0b20uY3BwICovLAogCQkJCUM1ODVBNjVEMTFENEZBQjIwMDRDM0U0QiAvKiBK
U0lEQktleUN1c3RvbS5jcHAgKi8sCiAJCQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpT
SW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywKQEAgLTE3MTIzLDYgKzE3MTQzLDcgQEAKIAkJCQkxQTc1
MEREMzBBOTBFNzI5MDAwRkYyMTUgLyogSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwICovLAogCQkJ
CUJDRDlDMjYxMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVMaXN0Q3VzdG9tLmNwcCAqLywKIAkJ
CQk1MTg5RjAxNzEwQjM3ODEzMDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCAq
LywKKwkJCQlFMUFEMTJENTEyOTVEMEJEMDBBQ0E5ODkgLyogSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b25DdXN0b20uY3BwICovLAogCQkJCTlGQTM3RUU2MTE3MkZDRjAwMEM0Q0Q1NSAvKiBKU1Njcmlw
dFByb2ZpbGVOb2RlQ3VzdG9tLmNwcCAqLywKIAkJCQk1MURDRTgwMTBDQUM5RjFDMDA0ODgzNTgg
LyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCAqLywKIAkJCQkxQUQyMzE2RDBDRDI2
OUU3MDBDMUYxOTQgLyogSlNTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAgKi8sCkBAIC0yMTM0MSw2
ICsyMTM2MiwxMCBAQAogCQkJCUJDQjkyRDRGMTI5MzU1MEIwMEM4Mzg3RiAvKiBGb250QmFzZWxp
bmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQTI1NzE1MTI5M0MwMTAwMDdBMjYzRCAvKiBWZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQUUxRkE3MTI5MzlEQjcw
MDRDQjAyNiAvKiBTY3JvbGxBbmltYXRvck1hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTFBRDE0
MUUxMjk1RUE0RjAwQUNBOTg5IC8qIEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uaCBpbiBIZWFk
ZXJzICovLAorCQkJCUUxQUQxNDIxMTI5NUVBNkIwMEFDQTk4OSAvKiBKU0hUTUxFbWJlZEVsZW1l
bnRDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUUxQUQxNDIzMTI5NUVBN0YwMEFDQTk4OSAv
KiBKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUUxQUQxNDI1
MTI5NUVBOTUwMEFDQTk4OSAvKiBKU0hUTUxPYmplY3RFbGVtZW50Q3VzdG9tLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTIzOTA4LDYgKzIzOTMzLDkgQEAKIAkJCQk0OTlCM0M1QTEyOEM2NDFFMDBFNzI2
QzIgLyogR3JhcGhpY3NMYXllck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM4ODhGNkVFMTI4
Qzk4ODkwMDBDQThFMCAvKiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNBRTFGQTYxMjkzOURCNzAwNENCMDI2IC8qIFNjcm9sbEFuaW1hdG9yTWFjLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUUxQUQxMkQ2MTI5NUQwQkQwMEFDQTk4OSAvKiBKU1Byb2Nl
c3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMUFEMTM5QjEy
OTVEOTI2MDBBQ0E5ODkgLyogSlNIVE1MTGlua0VsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJRTFBRDEzOUUxMjk1RDk2MTAwQUNBOTg5IC8qIEpTSFRNTFN0eWxlRWxlbWVudEN1
c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHAJKHJldmlzaW9uIDcyMzE1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSwxMCBAQAogI2luY2x1ZGUgIkhUTUxD
YW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lRWxlbWVudEJhc2UuaCIKICNpbmNs
dWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTExpbmtFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFNjcmlwdEVsZW1lbnQuaCIKKyNp
bmNsdWRlICJIVE1MU3R5bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNCaW5kaW5nLmgiCiAjaW5j
bHVkZSAiSlNCaW5kaW5nU3RhdGUuaCIKICNpbmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24uaCIK
QEAgLTUwLDYgKzUyLDcgQEAKICNpbmNsdWRlICJKU1hNTEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgi
CiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCisjaW5jbHVkZSAi
UHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiUmFuZ2VFeGNlcHRpb24uaCIKICNp
bmNsdWRlICJTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCkBAIC0yMzEsNyArMjM0LDcgQEAgdm9pZCBjYWNoZURPTU5vZGVXcmFwcGVyKEpTQzo6
RXhlY1N0YXRlKgogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlVGhyb3VnaERPTShK
U05vZGUqIGpzTm9kZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKIHsKLSAgICAvLyBDZXJ0YWlu
IGNvbmRpdGlvbnMgaW1wbGljaXRseSBtYWtlIGEgSlMgRE9NIG5vZGUgd3JhcHBlciBvYnNlcnZh
YmxlCisgICAgLy8gQ2VydGFpbiBjb25kaXRpb25zIGltcGxpY2l0bHkgbWFrZSBleGlzdGVuY2Ug
b2YgYSBKUyBET00gbm9kZSB3cmFwcGVyIG9ic2VydmFibGUKICAgICAvLyB0aHJvdWdoIHRoZSBE
T00sIGV2ZW4gaWYgbm8gZXhwbGljaXQgcmVmZXJlbmNlIHRvIGl0IHJlbWFpbnMuCiAKICAgICBO
b2RlKiBub2RlID0ganNOb2RlLT5pbXBsKCk7CkBAIC0yNTMsMTkgKzI1NiwyMiBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNPYnNlcnZhYmxlVGhyb3VnaERPCiAgICAgICAgIC8vIHRob3NlIG9iamVj
dHMgdGhyb3VnaCB0aGUgRE9NIG11c3QgcmVmbGVjdCB0aG9zZSBwcm9wZXJ0aWVzLgogICAgICAg
ICAvLyBGSVhNRTogSXQgd291bGQgYmUgYmV0dGVyIGlmIHRoaXMgbG9naWMgY291bGQgYmUgaW4g
dGhlIG5vZGUgbmV4dCB0bwogICAgICAgICAvLyB0aGUgY3VzdG9tIG1hcmtDaGlsZHJlbiBmdW5j
dGlvbnMgcmF0aGVyIHRoYW4gaGVyZS4KKyAgICAgICAgLy8gTm90ZSB0aGF0IGZvciBzb21lIGNv
bXBvdW5kIG9iamVjdHMgbGlrZSBzdHlsZXNoZWV0cyBhbmQgQ1NTU3R5bGVEZWNsYXJhdGlvbnMs
CisgICAgICAgIC8vIHdlIGRvbid0IGRlc2NlbmQgdG8gY2hlY2sgY2hpbGRyZW4gZm9yIGN1c3Rv
bSBwcm9wZXJ0aWVzLCBhbmQganVzdCBjb25zZXJ2YXRpdmVseQorICAgICAgICAvLyBrZWVwIHRo
ZSBub2RlIHdyYXBwZXJzIHByb3RlY3RpbmcgdGhlbSBhbGl2ZS4KICAgICAgICAgaWYgKG5vZGUt
PmlzRWxlbWVudE5vZGUoKSkgewogICAgICAgICAgICAgaWYgKE5hbWVkTm9kZU1hcCogYXR0cmli
dXRlcyA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKS0+YXR0cmlidXRlTWFwKCkpIHsKICAg
ICAgICAgICAgICAgICBpZiAoRE9NT2JqZWN0KiB3cmFwcGVyID0gd29ybGQtPm1fd3JhcHBlcnMu
dW5jaGVja2VkR2V0KGF0dHJpYnV0ZXMpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIGNoZWNrIHNlZW1zIGluc3VmZmljaWVudCwgYmVjYXVzZSBOYW1lZE5vZGVNYXAgaXRl
bXMgY2FuIGhhdmUgY3VzdG9tIHByb3BlcnRpZXMgdGhlbXNlbHZlcy4KKyAgICAgICAgICAgICAg
ICAgICAgLy8gTWF5YmUgaXQgd291bGQgYmUgT0sgdG8ganVzdCBrZWVwIHRoZSB3cmFwcGVyIGFs
aXZlLCBhcyBpdCBpcyBkb25lIGZvciBDU1NPTSBvYmplY3RzIGJlbG93LgogICAgICAgICAgICAg
ICAgICAgICBpZiAod3JhcHBlci0+aGFzQ3VzdG9tUHJvcGVydGllcygpKQogICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaWYgKG5vZGUtPmlzU3R5bGVkRWxlbWVudCgpKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSA9IHN0YXRpY19jYXN0
PFN0eWxlZEVsZW1lbnQqPihub2RlKS0+aW5saW5lU3R5bGVEZWNsKCkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKERPTU9iamVjdCogd3JhcHBlciA9IHdvcmxkLT5tX3dyYXBwZXJzLnVuY2hl
Y2tlZEdldChzdHlsZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3cmFwcGVyLT5o
YXNDdXN0b21Qcm9wZXJ0aWVzKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHdv
cmxkLT5tX3dyYXBwZXJzLnVuY2hlY2tlZEdldChzdHlsZSkpCisgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5oYXNUYWdOYW1lKGNhbnZh
c1RhZykpIHsKQEAgLTI3NSw2ICsyODEsMjEgQEAgc3RhdGljIGlubGluZSBib29sIGlzT2JzZXJ2
YWJsZVRocm91Z2hETwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBl
bHNlIGlmIChzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPmhhc1RhZ05hbWUobGlua1RhZykp
IHsKKyAgICAgICAgICAgICAgICBpZiAoU3R5bGVTaGVldCogc2hlZXQgPSBzdGF0aWNfY2FzdDxI
VE1MTGlua0VsZW1lbnQqPihub2RlKS0+c2hlZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAod29ybGQtPm1fd3JhcHBlcnMudW5jaGVja2VkR2V0KHNoZWV0KSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5oYXNUYWdOYW1lKHN0eWxlVGFn
KSkgeworICAgICAgICAgICAgICAgIGlmIChTdHlsZVNoZWV0KiBzaGVldCA9IHN0YXRpY19jYXN0
PEhUTUxTdHlsZUVsZW1lbnQqPihub2RlKS0+c2hlZXQoKSkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAod29ybGQtPm1fd3JhcHBlcnMudW5jaGVja2VkR2V0KHNoZWV0KSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIGlmIChub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlBST0NFU1NJ
TkdfSU5TVFJVQ1RJT05fTk9ERSkgeworICAgICAgICAgICAgaWYgKFN0eWxlU2hlZXQqIHNoZWV0
ID0gc3RhdGljX2Nhc3Q8UHJvY2Vzc2luZ0luc3RydWN0aW9uKj4obm9kZSktPnNoZWV0KCkpIHsK
KyAgICAgICAgICAgICAgICBpZiAod29ybGQtPm1fd3JhcHBlcnMudW5jaGVja2VkR2V0KHNoZWV0
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9IGVsc2UgewpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxMaW5r
RWxlbWVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hU
TUxMaW5rRWxlbWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSFRNTExpbmtFbGVtZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0hUTUxM
aW5rRWxlbWVudC5oIgorCisjaW5jbHVkZSAiSFRNTExpbmtFbGVtZW50LmgiCisKK3VzaW5nIG5h
bWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU0hUTUxMaW5rRWxl
bWVudDo6bWFya0NoaWxkcmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQoreworICAgIEJhc2U6Om1h
cmtDaGlsZHJlbihtYXJrU3RhY2spOworCisgICAgaWYgKFN0eWxlU2hlZXQqIHNoZWV0ID0gc3Rh
dGljX2Nhc3Q8SFRNTExpbmtFbGVtZW50Kj4oaW1wbCgpKS0+c2hlZXQoKSkKKyAgICAgICAgbWFy
a0RPTU9iamVjdFdyYXBwZXIobWFya1N0YWNrLCAqSGVhcDo6aGVhcCh0aGlzKS0+Z2xvYmFsRGF0
YSgpLCBzaGVldCk7Cit9CisKK30KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MU3R5
bGVFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTFN0eWxlRWxlbWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNI
VE1MU3R5bGVFbGVtZW50LmgiCisKKyNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50LmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU0hUTUxT
dHlsZUVsZW1lbnQ6Om1hcmtDaGlsZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykKK3sKKyAgICBC
YXNlOjptYXJrQ2hpbGRyZW4obWFya1N0YWNrKTsKKworICAgIGlmIChTdHlsZVNoZWV0KiBzaGVl
dCA9IHN0YXRpY19jYXN0PEhUTUxTdHlsZUVsZW1lbnQqPihpbXBsKCkpLT5zaGVldCgpKQorICAg
ICAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJrU3RhY2ssICpIZWFwOjpoZWFwKHRoaXMpLT5n
bG9iYWxEYXRhKCksIHNoZWV0KTsKK30KKworfQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNw
cAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIgorCisjaW5jbHVk
ZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbjo6bWFya0No
aWxkcmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQoreworICAgIEJhc2U6Om1hcmtDaGlsZHJlbiht
YXJrU3RhY2spOworCisgICAgaWYgKFN0eWxlU2hlZXQqIHNoZWV0ID0gc3RhdGljX2Nhc3Q8UHJv
Y2Vzc2luZ0luc3RydWN0aW9uKj4oaW1wbCgpKS0+c2hlZXQoKSkKKyAgICAgICAgbWFya0RPTU9i
amVjdFdyYXBwZXIobWFya1N0YWNrLCAqSGVhcDo6aGVhcCh0aGlzKS0+Z2xvYmFsRGF0YSgpLCBz
aGVldCk7Cit9CisKK30KSW5kZXg6IFdlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbAko
cmV2aXNpb24gNzIzMTUpCisrKyBXZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBjb3JlIHsKIAotICAg
IGludGVyZmFjZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gOiBOb2RlIHsKKyAgICBpbnRlcmZhY2Ug
W0N1c3RvbU1hcmtGdW5jdGlvbl0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIDogTm9kZSB7CiAKICAg
ICAgICAgLy8gRE9NIExldmVsIDEKIApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDcyMzE1KQorKysgV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogbW9kdWxlIGh0bWwgewogCi0gICAgaW50ZXJm
YWNlIEhUTUxMaW5rRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICBpbnRlcmZhY2UgW0N1c3Rv
bU1hcmtGdW5jdGlvbl0gSFRNTExpbmtFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIGNoYXJzZXQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdCwg
VVJMXSBET01TdHJpbmcgaHJlZjsKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDcyMzE1KQorKysgV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiAKIG1vZHVsZSBodG1sIHsKIAotICAgIGludGVy
ZmFjZSBIVE1MU3R5bGVFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgIGludGVyZmFjZSBbQ3Vz
dG9tTWFya0Z1bmN0aW9uXSBIVE1MU3R5bGVFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG1lZGlhOwogICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyB0eXBlOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzIzMzgpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0xOCAg
QWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDk3NjIKKyAgICAgICAgU3R5bGVzaGVldCB3cmFwcGVycyBhcmUgbm90IEdD
IHByb3RlY3RlZAorCisgICAgICAgICogZmFzdC9kb20vU3R5bGVTaGVldC9nYy1pbmxpbmUtc3R5
bGUtY3NzdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vU3R5
bGVTaGVldC9nYy1pbmxpbmUtc3R5bGUtY3NzdmFsdWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL1N0eWxlU2hlZXQvZ2Mtc3R5bGVoZWV0LXdyYXBwZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9TdHlsZVNoZWV0L2djLXN0eWxlaGVldC13cmFwcGVy
LnhodG1sOiBBZGRlZC4KKwogMjAxMC0xMS0xOCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBZGQgdGVzdCBleHBlY3RhdGlvbnMgZm9yIGZh
aWxpbmcgdGVzdHMuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9TdHlsZVNoZWV0L2djLWlu
bGluZS1zdHlsZS1jc3N2YWx1ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL1N0eWxlU2hlZXQvZ2MtaW5saW5lLXN0eWxlLWNzc3ZhbHVlcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9TdHlsZVNoZWV0L2dj
LWlubGluZS1zdHlsZS1jc3N2YWx1ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDExIEBACitUZXN0IHRoYXQgY3VzdG9tIHByb3BlcnRpZXMgb24gQ1NTVmFsdWVzIG9mIGlu
bGluZSBzdHlsZSBkZWNsYXJhdGlvbnMgc3Vydml2ZSBHQworCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBkb2N1bWVudC5ib2R5LnN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
ImNvbG9yIikuY3NzVGV4dCBpcyAiYmxhY2siCitQQVNTIGRvY3VtZW50LmJvZHkuc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgiY29sb3IiKS5mb28gaXMgJ2JhcicKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9TdHlsZVNoZWV0L2djLWlubGluZS1zdHlsZS1jc3N2YWx1ZXMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9TdHlsZVNoZWV0L2djLWlubGluZS1zdHlsZS1jc3N2
YWx1ZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1N0eWxlU2hl
ZXQvZ2MtaW5saW5lLXN0eWxlLWNzc3ZhbHVlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIzIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHls
ZT0iY29sb3I6YmxhY2siPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBjdXN0b20g
cHJvcGVydGllcyBvbiBDU1NWYWx1ZXMgb2YgaW5saW5lIHN0eWxlIGRlY2xhcmF0aW9ucyBzdXJ2
aXZlIEdDIik7CisKKyAgICB2YXIgZXhwciA9ICdkb2N1bWVudC5ib2R5LnN0eWxlLmdldFByb3Bl
cnR5Q1NTVmFsdWUoImNvbG9yIiknOworICAgIHNob3VsZEJlKGV4cHIgKyAiLmNzc1RleHQiLCAn
ImJsYWNrIicpOworICAgIGV2YWwoZXhwcikuZm9vID0gImJhciIKKyAgICBnYygpOworICAgIHNo
b3VsZEJlKGV4cHIgKyAiLmZvbyIsICInYmFyJyIpOworCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9TdHlsZVNoZWV0L2djLXN0eWxlaGVldC13cmFwcGVyLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9TdHlsZVNoZWV0L2djLXN0eWxl
aGVldC13cmFwcGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZG9tL1N0eWxlU2hlZXQvZ2Mtc3R5bGVoZWV0LXdyYXBwZXItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACitUZXN0IHRoYXQgY3VzdG9tIHByb3BlcnRpZXMgb24g
c3R5bGVzaGVldHMgc3Vydml2ZSBHQworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBkb2N1bWVudC5maXJzdENoaWxkLnNoZWV0LnRpdGxlIGlzICd0ZXN0U2hlZXQnCitQQVNT
IGRvY3VtZW50LmZpcnN0Q2hpbGQuc2hlZXQuZm9vIGlzICdiYXInCitQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5rJylbMF0uc2hlZXQudGl0bGUgaXMgJ3Rlc3RTaGVldCcK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmsnKVswXS5zaGVldC5mb28g
aXMgJ2JhcicKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N0eWxlJylbMF0u
c2hlZXQudGl0bGUgaXMgJ3Rlc3RTaGVldCcKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoJ3N0eWxlJylbMF0uc2hlZXQuZm9vIGlzICdiYXInCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vU3R5bGVTaGVldC9nYy1zdHlsZWhlZXQtd3JhcHBlci54aHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9TdHlsZVNoZWV0L2djLXN0eWxlaGVldC13cmFwcGVyLnhodG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vU3R5bGVTaGVldC9nYy1zdHls
ZWhlZXQtd3JhcHBlci54aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorPD94bWwt
c3R5bGVzaGVldCBocmVmPSJyZXNvdXJjZXMvZGV0YWNoZWQtc3R5bGUuY3NzIiB0aXRsZT0idGVz
dFNoZWV0Ij8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8
aGVhZD4KKzx0aXRsZS8+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9k
ZXRhY2hlZC1zdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0idGVzdFNoZWV0Ii8+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGUgdGl0bGU9InRlc3RTaGVldCI+CisqIHsgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnQoKSI+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisKKyAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGN1c3RvbSBwcm9w
ZXJ0aWVzIG9uIHN0eWxlc2hlZXRzIHN1cnZpdmUgR0MiKTsKKworICAgIGZ1bmN0aW9uIHRlc3Qo
ZXhwcikKKyAgICB7CisgICAgICAgIHNob3VsZEJlKGV4cHIgKyAiLnRpdGxlIiwgIid0ZXN0U2hl
ZXQnIik7CisKKyAgICAgICAgZXZhbChleHByKS5mb28gPSAiYmFyIjsKKyAgICAgICAgCisgICAg
ICAgIGdjKCk7CisKKyAgICAgICAgc2hvdWxkQmUoZXhwciArICIuZm9vIiwgIidiYXInIik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gc3RhcnQoKQorICAgIHsKKyAgICAgICAgdGVzdCgiZG9jdW1l
bnQuZmlyc3RDaGlsZC5zaGVldCIpOworICAgICAgICB0ZXN0KCJkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnbGluaycpWzBdLnNoZWV0Iik7CisgICAgICAgIHRlc3QoImRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdzdHlsZScpWzBdLnNoZWV0Iik7CisgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="64874"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>