<?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>74008</bug_id>
          
          <creation_ts>2011-12-07 10:20:36 -0800</creation_ts>
          <short_desc>add css parsing for flex-flow: wrap and wrap-reverse</short_desc>
          <delta_ts>2011-12-09 15:50:30 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>70781</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>hyatt</cc>
    
    <cc>macpherson</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>516713</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 10:20:36 -0800</bug_when>
    <thetext>add css parsing for flex-flow: wrap and wrap-reverse</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516722</commentid>
    <comment_count>1</comment_count>
      <attachid>118229</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 10:26:05 -0800</bug_when>
    <thetext>Created attachment 118229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516746</commentid>
    <comment_count>2</comment_count>
      <attachid>118229</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-07 10:54:03 -0800</bug_when>
    <thetext>Comment on attachment 118229
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=118229&amp;action=review

&gt; Source/WebCore/css/CSSPrimitiveValueMappings.h:1246
&gt; +        m_value.ident = CSSValueNone;

Should this be CSSValueNoWrap?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516844</commentid>
    <comment_count>3</comment_count>
      <attachid>118229</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 12:45:22 -0800</bug_when>
    <thetext>Comment on attachment 118229
Patch

Attachment 118229 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10747260

New failing tests:
svg/css/getComputedStyle-basic.xhtml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516882</commentid>
    <comment_count>4</comment_count>
      <attachid>118267</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 13:42:33 -0800</bug_when>
    <thetext>Created attachment 118267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516884</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 13:43:13 -0800</bug_when>
    <thetext>New version to hand the new syntax: [ row | row-reverse | column | column-reverse ] || [ nowrap | wrap | wrap-reverse ]?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516927</commentid>
    <comment_count>6</comment_count>
      <attachid>118267</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-07 14:33:46 -0800</bug_when>
    <thetext>Comment on attachment 118267
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=118267&amp;action=review

&gt; Source/WebCore/css/CSSParser.cpp:1639
&gt; +            if (value-&gt;id == CSSValueNowrap || value-&gt;id == CSSValueWrap || value-&gt;id == CSSValueWrapReverse) {
&gt; +                list-&gt;append(cssValuePool()-&gt;createIdentifierValue(value-&gt;id));
&gt; +                addProperty(propId, list, important);
&gt; +                return true;
&gt; +            }
&gt; +            return false;

We normally use early return for the failure case. Reversing this if would make it easier to read the normal flow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517074</commentid>
    <comment_count>7</comment_count>
      <attachid>118267</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 18:24:44 -0800</bug_when>
    <thetext>Comment on attachment 118267
Patch

Attachment 118267 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10780029

New failing tests:
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518595</commentid>
    <comment_count>8</comment_count>
      <attachid>118660</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-09 15:44:55 -0800</bug_when>
    <thetext>Created attachment 118660
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518602</commentid>
    <comment_count>9</comment_count>
      <attachid>118660</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-09 15:50:25 -0800</bug_when>
    <thetext>Comment on attachment 118660
Patch for landing

Clearing flags on attachment: 118660

Committed r102486: &lt;http://trac.webkit.org/changeset/102486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518603</commentid>
    <comment_count>10</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-09 15:50:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118229</attachid>
            <date>2011-12-07 10:26:05 -0800</date>
            <delta_ts>2011-12-07 13:42:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74008-20111207102614.patch</filename>
            <type>text/plain</type>
            <size>19928</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA5Y2Q4ZjNmNjNhYWNj
OTY4MGE3ZTQ1ZjA3ZTZhZjU2NTY3MzY1OC4uZDY5MWRjM2MzMDYyOGYwMTgxNjBlOTJlYTI5NjA2
ODBhNmY3OWVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTA3ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgYWRkIGNzcyBwYXJzaW5nIGZv
ciBmbGV4LWZsb3c6IHdyYXAgYW5kIHdyYXAtcmV2ZXJzZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNvIHNhdmUgMiBiaXRzIGluIFN0eWxlRmxleGli
bGVCb3hEYXRhIGJ5IGNoYW5naW5nIHRoZSBzaXplIG9mIG1fZmxleEZsb3cgKHRoZXJlIGFyZSBv
bmx5IDQgZW51bSB2YWx1ZXMpLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b246OmdldFByb3BlcnR5Q1NTVmFsdWUpOiBQcmludCB0aGUgd3JhcCB2YWx1ZSBpZiBpdCBleGlz
dHMuCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUpOiBQYXJzZSBhIHNlY29uZCB0b2tlbiBhbmQgcHV0IHRoZSB2YWx1
ZXMgaW50byBhIENTU1ZhbHVlTGlzdC4KKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRv
ciBFRmxleFdyYXApOgorICAgICAgICAqIGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZsZXhGbG93OjphcHBseUluaGVyaXRWYWx1
ZSk6IERvZXMgbm90IGluaGVyaXQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rmxl
eEZsb3c6OmFwcGx5SW5pdGlhbFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlGbGV4Rmxvdzo6YXBwbHlWYWx1ZSk6IFNwZWNpYWwgaGFuZGxlciBmb3Igc2V0dGluZyB0d28g
cmVuZGVyIHN0eWxlIHZhbHVlcyBmcm9tIG9uZQorICAgICAgICBDU1MgcHJvcGVydHkuCisgICAg
ICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RmxleEZsb3c6OmNyZWF0ZUhhbmRsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVy
dHkpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OmZsZXhXcmFwKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzZXRGbGV4
V3JhcCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbEZsZXhXcmFw
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDogRUZs
ZXhXcmFwIHRvIGhvbGQgZmxleCB3cmFwIHZhbHVlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVGbGV4
aWJsZUJveERhdGE6OlN0eWxlRmxleGlibGVCb3hEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlRmxleGlibGVCb3hEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaDogMiBiaXRzIGlzIGVub3VnaCB0byBob2xkIHRoZSA0
IGZsZXhGbG93IHZhbHVlcy4KKwogMjAxMS0xMi0wNiAgTm9lbCBHb3Jkb24gIDxub2VsLmdvcmRv
bkBnbWFpbC5jb20+CiAKICAgICAgICAgV2ViUEltYWdlRGVjb2RlciBjb21wdXRlcyBpbWFnZSB3
aWR0aCBhbmQgaGVpZ2h0IG11bHRpcGxlIHRpbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDcwYWVkNGJkMGMzZDM5NDk5
MjE4ZGEzNjlkNmYyNWJjNWU5NDU0ODUuLmE3NWRmMmFlYjFkNmI1NmQwYTFiMWQ5MGU4MzgxNDlm
YmMxYjkxODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0xNDcxLDggKzE0NzEsMTMgQEAgUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBw
cm9wZXIKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxl
LT5mbGV4UGFjaygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhBbGlnbjoK
ICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5mbGV4
QWxpZ24oKSk7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdzoKLSAgICAg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5mbGV4Rmxvdygp
KTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhGbG93OiB7CisgICAgICAgICAg
ICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNl
cGFyYXRlZCgpOworICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC0+Y3JlYXRl
VmFsdWUoc3R5bGUtPmZsZXhGbG93KCkpKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS0+ZmxleFdy
YXAoKSAhPSBGbGV4Tm9XcmFwKQorICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5mbGV4V3JhcCgpKSk7CisgICAgICAgICAgICByZXR1
cm4gbGlzdC5yZWxlYXNlKCk7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUZs
b2F0OgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUt
PmZsb2F0aW5nKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udDogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAppbmRleCAxMGNiMmRjOTEwOGJlYmU4Y2RhOTNkN2E5MTA0YjA1NTQ1YTRm
ZjA4Li4xZjRlZjk0NWU2NzMyN2M2OGI5YWJhOTUwZGQ0MTMwMWNjNjk5ZDgxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcApAQCAtMTYyMSw4ICsxNjIxLDIwIEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICB2YWxpZFByaW1p
dGl2ZSA9IGlkID09IENTU1ZhbHVlU3RhcnQgfHwgaWQgPT0gQ1NTVmFsdWVFbmQgfHwgaWQgPT0g
Q1NTVmFsdWVDZW50ZXIgfHwgaWQgPT0gQ1NTVmFsdWVCYXNlbGluZSB8fCBpZCA9PSBDU1NWYWx1
ZVN0cmV0Y2g7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGbGV4
RmxvdzoKLSAgICAgICAgLy8gRklYTUU6IC13ZWJraXQtZmxleC1mbG93IHRha2VzIGEgc2Vjb25k
ICJ3cmFwIiB2YWx1ZS4KKyAgICAgICAgLy8gWyByb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8
IGNvbHVtbi1yZXZlcnNlIF0gWyB3cmFwIHwgd3JhcC1yZXZlcnNlIF0/CiAgICAgICAgIHZhbGlk
UHJpbWl0aXZlID0gaWQgPT0gQ1NTVmFsdWVSb3cgfHwgaWQgPT0gQ1NTVmFsdWVSb3dSZXZlcnNl
IHx8IGlkID09IENTU1ZhbHVlQ29sdW1uIHx8IGlkID09IENTU1ZhbHVlQ29sdW1uUmV2ZXJzZTsK
KyAgICAgICAgaWYgKHZhbGlkUHJpbWl0aXZlICYmIG51bSA9PSAyKSB7CisgICAgICAgICAgICBS
ZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFy
YXRlZCgpOworICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoaWQpKTsKKworICAgICAgICAgICAgdmFsdWUgPSBtX3ZhbHVlTGlzdC0+
bmV4dCgpOworICAgICAgICAgICAgaWYgKHZhbHVlLT5pZCA9PSBDU1NWYWx1ZVdyYXAgfHwgdmFs
dWUtPmlkID09IENTU1ZhbHVlV3JhcFJldmVyc2UpIHsKKyAgICAgICAgICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpKTsK
KyAgICAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIGxpc3QsIGltcG9ydGFudCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdE1hcnF1ZWU6IHsKICAgICAgICAgY29uc3QgaW50IHByb3BlcnRpZXNbNV0gPSB7
IENTU1Byb3BlcnR5V2Via2l0TWFycXVlZURpcmVjdGlvbiwgQ1NTUHJvcGVydHlXZWJraXRNYXJx
dWVlSW5jcmVtZW50LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgKaW5kZXggN2FiZmY0NTJjODY0ZTJhY2QyMjlhYWE1YTA1NDIyM2ExNDliMDdmZi4u
MTBlODMzNWY5ZGNlNDFlZTY5Nzk3ODI5NzJlNjI2OGUxZTg5MzU1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0xMjM3LDYgKzEyMzcs
MzggQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVGbGV4
RmxvdygpIGNvbnN0CiAgICAgfQogfQogCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUZsZXhXcmFwIGUpCisgICAgOiBDU1NWYWx1ZShQcmlt
aXRpdmVDbGFzcykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX0lERU5UOworICAg
IHN3aXRjaCAoZSkgeworICAgIGNhc2UgRmxleE5vV3JhcDoKKyAgICAgICAgbV92YWx1ZS5pZGVu
dCA9IENTU1ZhbHVlTm9uZTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBGbGV4V3JhcDoKKyAg
ICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlV3JhcDsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBGbGV4V3JhcFJldmVyc2U6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdy
YXBSZXZlcnNlOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5l
IENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFRmxleFdyYXAoKSBjb25zdAoreworICAgIHN3
aXRjaCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVOb25lOgorICAgICAgICBy
ZXR1cm4gRmxleE5vV3JhcDsKKyAgICBjYXNlIENTU1ZhbHVlV3JhcDoKKyAgICAgICAgcmV0dXJu
IEZsZXhXcmFwOworICAgIGNhc2UgQ1NTVmFsdWVXcmFwUmV2ZXJzZToKKyAgICAgICAgcmV0dXJu
IEZsZXhXcmFwUmV2ZXJzZTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuIEZsZXhOb1dyYXA7CisgICAgfQorfQorCiB0ZW1wbGF0ZTw+
IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRUZsb2F0IGUpCiAg
ICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKaW5kZXggZTcxOWM0MGQ4YWZmYzk4ZTg0NDZmZGE1OThi
OTJkYzQyY2NkNjhlYS4uNDkxMjA3ODg0MGMyNzc3ZDllNDc2NmRhZjUwZjI5M2Q1NzQ0NDc5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKQEAgLTEx
NzQsNiArMTE3NCwzOCBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorY2xhc3MgQXBwbHlQcm9wZXJ0
eUZsZXhGbG93IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShD
U1NTdHlsZVNlbGVjdG9yKikgeyB9CisKKyAgICBzdGF0aWMgdm9pZCBhcHBseUluaXRpYWxWYWx1
ZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvcikKKyAgICB7CisgICAgICAgIHNlbGVjdG9yLT5z
dHlsZSgpLT5zZXRGbGV4RmxvdyhSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhGbG93KCkpOworICAg
ICAgICBzZWxlY3Rvci0+c3R5bGUoKS0+c2V0RmxleFdyYXAoUmVuZGVyU3R5bGU6OmluaXRpYWxG
bGV4V3JhcCgpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1N0eWxl
U2VsZWN0b3IqIHNlbGVjdG9yLCBDU1NWYWx1ZSogdmFsdWUpCisgICAgeworICAgICAgICBpZiAo
dmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkgeworICAgICAgICAgICAgc2VsZWN0b3ItPnN0eWxl
KCktPnNldEZsZXhGbG93KCpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKHZhbHVlLT5pc1Zh
bHVlTGlzdCgpKSB7CisgICAgICAgICAgICBDU1NWYWx1ZUxpc3QqIGxpc3QgPSBzdGF0aWNfY2Fz
dDxDU1NWYWx1ZUxpc3QqPih2YWx1ZSk7CisgICAgICAgICAgICBpZiAobGlzdC0+bGVuZ3RoKCkg
IT0gMikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIHNlbGVjdG9yLT5z
dHlsZSgpLT5zZXRGbGV4Rmxvdygqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihsaXN0
LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDApKSk7CisgICAgICAgICAgICBzZWxlY3Rvci0+c3R5
bGUoKS0+c2V0RmxleFdyYXAoKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4obGlzdC0+
aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygxKSkpOworICAgICAgICB9CisgICAgfQorCisgICAgc3Rh
dGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkKKyAgICB7CisgICAgICAgIHJldHVy
biBQcm9wZXJ0eUhhbmRsZXIoJmFwcGx5SW5oZXJpdFZhbHVlLCAmYXBwbHlJbml0aWFsVmFsdWUs
ICZhcHBseVZhbHVlKTsKKyAgICB9Cit9OworCiBjb25zdCBDU1NTdHlsZUFwcGx5UHJvcGVydHkm
IENTU1N0eWxlQXBwbHlQcm9wZXJ0eTo6c2hhcmVkQ1NTU3R5bGVBcHBseVByb3BlcnR5KCkKIHsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTU1N0eWxlQXBwbHlQcm9wZXJ0eSwgY3NzU3R5bGVB
cHBseVByb3BlcnR5SW5zdGFuY2UsICgpKTsKQEAgLTEzMDIsNyArMTMzNCw3IEBAIENTU1N0eWxl
QXBwbHlQcm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5KCkKICAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGbGV4T3JkZXIsIEFwcGx5UHJvcGVydHlEZWZhdWx0PGlu
dCwgJlJlbmRlclN0eWxlOjpmbGV4T3JkZXIsIGludCwgJlJlbmRlclN0eWxlOjpzZXRGbGV4T3Jk
ZXIsIGludCwgJlJlbmRlclN0eWxlOjppbml0aWFsRmxleE9yZGVyPjo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGbGV4UGFjaywgQXBw
bHlQcm9wZXJ0eURlZmF1bHQ8RUZsZXhQYWNrLCAmUmVuZGVyU3R5bGU6OmZsZXhQYWNrLCBFRmxl
eFBhY2ssICZSZW5kZXJTdHlsZTo6c2V0RmxleFBhY2ssIEVGbGV4UGFjaywgJlJlbmRlclN0eWxl
Ojppbml0aWFsRmxleFBhY2s+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZsZXhBbGlnbiwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUZs
ZXhBbGlnbiwgJlJlbmRlclN0eWxlOjpmbGV4QWxpZ24sIEVGbGV4QWxpZ24sICZSZW5kZXJTdHls
ZTo6c2V0RmxleEFsaWduLCBFRmxleEFsaWduLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4QWxp
Z24+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVdlYmtpdEZsZXhGbG93LCBBcHBseVByb3BlcnR5RGVmYXVsdDxFRmxleEZsb3csICZSZW5kZXJT
dHlsZTo6ZmxleEZsb3csIEVGbGV4RmxvdywgJlJlbmRlclN0eWxlOjpzZXRGbGV4RmxvdywgRUZs
ZXhGbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4Rmxvdz46OmNyZWF0ZUhhbmRsZXIoKSk7
CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0RmxleEZsb3csIEFwcGx5
UHJvcGVydHlGbGV4Rmxvdzo6Y3JlYXRlSGFuZGxlcigpKTsKIAogICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgQXBwbHlQcm9wZXJ0eUZvbnQ8Rm9udEl0YWxpYywg
JkZvbnREZXNjcmlwdGlvbjo6aXRhbGljLCAmRm9udERlc2NyaXB0aW9uOjpzZXRJdGFsaWMsIEZv
bnRJdGFsaWNPZmY+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBBcHBseVByb3BlcnR5Rm9udDxGb250U21hbGxDYXBzLCAm
Rm9udERlc2NyaXB0aW9uOjpzbWFsbENhcHMsICZGb250RGVzY3JpcHRpb246OnNldFNtYWxsQ2Fw
cywgRm9udFNtYWxsQ2Fwc09mZj46OmNyZWF0ZUhhbmRsZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDcxYmY3ZTE4N2NiZTRlMDI5NTViNmNlZDNhZGE5MmZi
YTRjZGM2OGIuLjc3NDY4M2JkMWY4MGYxNjI5MDM4ODA0ODE1OTdhZWRiYzJhYzEyNTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC00ODIsMTEgKzQ4MiwxMiBAQCBt
dWx0aXBsZQogLy8gc3RyZXRjaAogCiAvLyBDU1NfUFJPUF9GTEVYX0ZMT1cKLS8vIEZJWE1FOiBB
ZGQgdGhlIHdyYXAgdmFsdWVzLgogcm93CiByb3ctcmV2ZXJzZQogY29sdW1uCiBjb2x1bW4tcmV2
ZXJzZQorLy8gd3JhcAord3JhcC1yZXZlcnNlCiAKIC8vIENTU19QUk9QX01BUlFVRUVfRElSRUNU
SU9OCiBmb3J3YXJkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAppbmRleCAxOTMwMjMxODUwOWJjZDY3NzgxNjk4ZmI0M2RiODA2MWZjZTJlMGIwLi40OTgz
NTEyOTczYzI0MjJjNDRjYzIzZjIzODUzODZmNjA4OTk0MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNzI3LDYgKzcyNyw3IEBAIHB1Ymxp
YzoKICAgICBFRmxleEFsaWduIGZsZXhBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PEVGbGV4QWxpZ24+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2ZsZXhpYmxlQm94LT5tX2ZsZXhB
bGlnbik7IH0KICAgICBFRmxleEZsb3cgZmxleEZsb3coKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxFRmxleEZsb3c+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2ZsZXhpYmxlQm94LT5tX2Zs
ZXhGbG93KTsgfQogICAgIGJvb2wgaXNDb2x1bW5GbGV4RmxvdygpIGNvbnN0IHsgcmV0dXJuIGZs
ZXhGbG93KCkgPT0gRmxvd0NvbHVtbiB8fCBmbGV4RmxvdygpID09IEZsb3dDb2x1bW5SZXZlcnNl
OyB9CisgICAgRUZsZXhXcmFwIGZsZXhXcmFwKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
RUZsZXhXcmFwPihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbGV4aWJsZUJveC0+bV9mbGV4V3Jh
cCk7IH0KIAogI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCiAgICAgTGVuZ3RoIGdyaWRDb2x1
bW5zKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZ3JpZC0+bV9ncmlk
Q29sdW1uczsgfQpAQCAtMTE0NSw2ICsxMTQ2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rmxl
eFBhY2soRUZsZXhQYWNrIHApIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3Mo
KS0+bV9mbGV4aWJsZUJveCwgbV9mbGV4UGFjaywgcCk7IH0KICAgICB2b2lkIHNldEZsZXhBbGln
bihFRmxleEFsaWduIGEpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+
bV9mbGV4aWJsZUJveCwgbV9mbGV4QWxpZ24sIGEpOyB9CiAgICAgdm9pZCBzZXRGbGV4RmxvdyhF
RmxleEZsb3cgZmxvdykgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5t
X2ZsZXhpYmxlQm94LCBtX2ZsZXhGbG93LCBmbG93KTsgfQorICAgIHZvaWQgc2V0RmxleFdyYXAo
RUZsZXhXcmFwIHcpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9m
bGV4aWJsZUJveCwgbV9mbGV4V3JhcCwgdyk7IH0KICNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VU
KQogICAgIHZvaWQgc2V0R3JpZENvbHVtbnMoTGVuZ3RoIGxlbmd0aCkgeyBTRVRfVkFSKHJhcmVO
b25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQsIG1fZ3JpZENvbHVtbnMsIGxlbmd0aCk7
IH0KICAgICB2b2lkIHNldEdyaWRSb3dzKExlbmd0aCBsZW5ndGgpIHsgU0VUX1ZBUihyYXJlTm9u
SW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ncmlkLCBtX2dyaWRSb3dzLCBsZW5ndGgpOyB9CkBA
IC0xNDY4LDYgKzE0NzAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEVGbGV4UGFjayBpbml0aWFs
RmxleFBhY2soKSB7IHJldHVybiBQYWNrU3RhcnQ7IH0KICAgICBzdGF0aWMgRUZsZXhBbGlnbiBp
bml0aWFsRmxleEFsaWduKCkgeyByZXR1cm4gQWxpZ25TdHJldGNoOyB9CiAgICAgc3RhdGljIEVG
bGV4RmxvdyBpbml0aWFsRmxleEZsb3coKSB7IHJldHVybiBGbG93Um93OyB9CisgICAgc3RhdGlj
IEVGbGV4V3JhcCBpbml0aWFsRmxleFdyYXAoKSB7IHJldHVybiBGbGV4Tm9XcmFwOyB9CiAgICAg
c3RhdGljIGludCBpbml0aWFsTWFycXVlZUxvb3BDb3VudCgpIHsgcmV0dXJuIC0xOyB9CiAgICAg
c3RhdGljIGludCBpbml0aWFsTWFycXVlZVNwZWVkKCkgeyByZXR1cm4gODU7IH0KICAgICBzdGF0
aWMgTGVuZ3RoIGluaXRpYWxNYXJxdWVlSW5jcmVtZW50KCkgeyByZXR1cm4gTGVuZ3RoKDYsIEZp
eGVkKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGVDb25zdGFudHMuaAppbmRleCBhMjJiN2ZiYmZiYWRmZDRlYWRmODg1ZDdiM2ZhZDQxNDg0
MjEyZTJiLi4wZWVmNWQ1NGRlZGRkNGJkZjEyYjk3Yzg4MTRmYTljN2IwYTBkMWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaApAQCAtMTc3LDcgKzE3Nyw4IEBAIGVudW0gRUJveERpcmVjdGlvbiB7IEJOT1JNQUwsIEJS
RVZFUlNFIH07CiAKIGVudW0gRUZsZXhQYWNrIHsgUGFja1N0YXJ0LCBQYWNrRW5kLCBQYWNrQ2Vu
dGVyLCBQYWNrSnVzdGlmeSB9OwogZW51bSBFRmxleEFsaWduIHsgQWxpZ25TdGFydCwgQWxpZ25F
bmQsIEFsaWduQ2VudGVyLCBBbGlnblN0cmV0Y2gsIEFsaWduQmFzZWxpbmUgfTsKLWVudW0gRUZs
ZXhGbG93IHsgRmxvd1JvdywgRmxvd1Jvd1JldmVyc2UsIEZsb3dDb2x1bW4sIEZsb3dDb2x1bW5S
ZXZlcnNlfTsKK2VudW0gRUZsZXhGbG93IHsgRmxvd1JvdywgRmxvd1Jvd1JldmVyc2UsIEZsb3dD
b2x1bW4sIEZsb3dDb2x1bW5SZXZlcnNlIH07CitlbnVtIEVGbGV4V3JhcCB7IEZsZXhOb1dyYXAs
IEZsZXhXcmFwLCBGbGV4V3JhcFJldmVyc2UgfTsKIAogZW51bSBFVGV4dFNlY3VyaXR5IHsKICAg
ICBUU05PTkUsIFRTRElTQywgVFNDSVJDTEUsIFRTU1FVQVJFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmNwcAppbmRleCBi
YTYzOWYzYzI5NWI2M2UwMmY4MGMzNWM5ZTJiZGJiZTMxNjMzYTg1Li5jYWIzNzhmMWUyNGY3OGJl
NjQyYWExODk1ZDJkMjAxNzBlNWU0Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAKQEAgLTM5LDYgKzM5LDcg
QEAgU3R5bGVGbGV4aWJsZUJveERhdGE6OlN0eWxlRmxleGlibGVCb3hEYXRhKCkKICAgICAsIG1f
ZmxleFBhY2soUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4UGFjaygpKQogICAgICwgbV9mbGV4QWxp
Z24oUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4QWxpZ24oKSkKICAgICAsIG1fZmxleEZsb3coUmVu
ZGVyU3R5bGU6OmluaXRpYWxGbGV4RmxvdygpKQorICAgICwgbV9mbGV4V3JhcChSZW5kZXJTdHls
ZTo6aW5pdGlhbEZsZXhXcmFwKCkpCiB7CiB9CiAKQEAgLTUyLDYgKzUzLDcgQEAgU3R5bGVGbGV4
aWJsZUJveERhdGE6OlN0eWxlRmxleGlibGVCb3hEYXRhKGNvbnN0IFN0eWxlRmxleGlibGVCb3hE
YXRhJiBvKQogICAgICwgbV9mbGV4UGFjayhvLm1fZmxleFBhY2spCiAgICAgLCBtX2ZsZXhBbGln
bihvLm1fZmxleEFsaWduKQogICAgICwgbV9mbGV4RmxvdyhvLm1fZmxleEZsb3cpCisgICAgLCBt
X2ZsZXhXcmFwKG8ubV9mbGV4V3JhcCkKIHsKIH0KIApAQCAtNjAsNyArNjIsNyBAQCBib29sIFN0
eWxlRmxleGlibGVCb3hEYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlRmxleGlibGVCb3hEYXRh
JiBvKSBjb25zdAogICAgIHJldHVybiBtX3dpZHRoUG9zaXRpdmVGbGV4ID09IG8ubV93aWR0aFBv
c2l0aXZlRmxleCAmJiBtX3dpZHRoTmVnYXRpdmVGbGV4ID09IG8ubV93aWR0aE5lZ2F0aXZlRmxl
eAogICAgICAgICAmJiBtX2hlaWdodFBvc2l0aXZlRmxleCA9PSBvLm1faGVpZ2h0UG9zaXRpdmVG
bGV4ICYmIG1faGVpZ2h0TmVnYXRpdmVGbGV4ID09IG8ubV9oZWlnaHROZWdhdGl2ZUZsZXgKICAg
ICAgICAgJiYgbV9mbGV4T3JkZXIgPT0gby5tX2ZsZXhPcmRlciAmJiBtX2ZsZXhQYWNrID09IG8u
bV9mbGV4UGFjayAmJiBtX2ZsZXhBbGlnbiA9PSBvLm1fZmxleEFsaWduCi0gICAgICAgICYmIG1f
ZmxleEZsb3cgPT0gby5tX2ZsZXhGbG93OworICAgICAgICAmJiBtX2ZsZXhGbG93ID09IG8ubV9m
bGV4RmxvdyAmJiBtX2ZsZXhXcmFwID09IG8ubV9mbGV4V3JhcDsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaApp
bmRleCA1MzdhY2I5ZGMxNDM2MDc4YmU5ZWUxYzM3ZTUxZWE0ODRiNjU2ZDViLi41MzlmMDZkYmQw
YWQyYzE1N2EzYTY0YTY4ZWE1OWFlODQ0YTRkNDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaApAQCAtNTEsNyArNTEs
OCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBtX2ZsZXhQYWNrIDogMjsgLy8gRUZsZXhQYWNr
CiAgICAgdW5zaWduZWQgbV9mbGV4QWxpZ24gOiAzOyAvLyBFRmxleEFsaWduCi0gICAgdW5zaWdu
ZWQgbV9mbGV4RmxvdyA6IDQ7IC8vIEVGbGV4RmxvdworICAgIHVuc2lnbmVkIG1fZmxleEZsb3cg
OiAyOyAvLyBFRmxleEZsb3cKKyAgICB1bnNpZ25lZCBtX2ZsZXhXcmFwIDogMjsgLy8gRUZsZXhX
cmFwCiAKIHByaXZhdGU6CiAgICAgU3R5bGVGbGV4aWJsZUJveERhdGEoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZTE0
NTkxMTFlYWM3YjExMDBjMGE2MDcxZmE1ZWQ4MjZjMmVlYjY2Li5jMTk4M2Y4NjhiYWMzYzczMjkw
YjRjOGE4ZGEyNmQzYzFkMTEyZWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMDcg
IFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKworICAgICAgICBhZGQgY3NzIHBhcnNp
bmcgZm9yIGZsZXgtZmxvdzogd3JhcCBhbmQgd3JhcC1yZXZlcnNlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvc2NyaXB0LXRlc3RzL2Nz
cy1wcm9wZXJ0aWVzLmpzOiBUZXN0IGNhbGwgY29tYmluYXRpb25zIG9mIGZsZXgtZmxvdyB2YWx1
ZXMuCisKIDIwMTEtMTItMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEdlbmVyYXRlZCBzb21lIG5ldyBleHBlY3RlZCByZXN1bHRzIGZvciBMaW9uLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jc3MtcHJvcGVydGllcy1leHBlY3RlZC50eHQK
aW5kZXggZmIxN2ExNDY2ZGU5YjFlMDk5NmVmMTZhYjc2MTI3MWQ3NDEzZWYxYi4uMjRkNjM1YTA0
YTg4YTk2NmQxZjMzMjQwNjk2M2ZiYjBkMWU4NTY1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Y3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvY3NzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC00OCwxMiArNDgs
MzIgQEAgUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRG
bGV4RmxvdyBpcyAicm93IgogUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICIi
CiBQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgInJvdyIKIFBBU1Mgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdyIK
K1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdyYXAiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJy
b3cgd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdyYXAt
cmV2ZXJzZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Vi
a2l0RmxleEZsb3cgaXMgInJvdyB3cmFwLXJldmVyc2UiCiBQQVNTIGZsZXhib3guc3R5bGUud2Vi
a2l0RmxleEZsb3cgaXMgInJvdy1yZXZlcnNlIgogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93LXJldmVyc2UiCitQQVNTIGZs
ZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgInJvdy1yZXZlcnNlIHdyYXAiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJy
b3ctcmV2ZXJzZSB3cmFwIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJy
b3ctcmV2ZXJzZSB3cmFwLXJldmVyc2UiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZs
ZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3ctcmV2ZXJzZSB3cmFwLXJldmVyc2Ui
CiBQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbiIKIFBBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgImNv
bHVtbiIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1uIHdyYXAi
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhG
bG93IGlzICJjb2x1bW4gd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBp
cyAiY29sdW1uIHdyYXAtcmV2ZXJzZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxl
eGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbiB3cmFwLXJldmVyc2UiCiBQQVNT
IGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZlcnNlIgogUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAi
Y29sdW1uLXJldmVyc2UiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNv
bHVtbi1yZXZlcnNlIHdyYXAiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gs
IG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSB3cmFwIgorUEFTUyBmbGV4
Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSB3cmFwLXJldmVyc2Ui
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhG
bG93IGlzICJjb2x1bW4tcmV2ZXJzZSB3cmFwLXJldmVyc2UiCitQQVNTIGZsZXhib3guc3R5bGUu
d2Via2l0RmxleEZsb3cgaXMgIiIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBp
cyAiIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICIiCitQQVNTIGZsZXhi
b3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgIiIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L3NjcmlwdC10ZXN0cy9jc3MtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3RzL2NzczMvZmxl
eGJveC9zY3JpcHQtdGVzdHMvY3NzLXByb3BlcnRpZXMuanMKaW5kZXggMjkxMzlkYTM3ODk4MTM3
NDM5MzA3YzU1ZWQ4Zjg5NDUzY2IzODZjYy4uZmUzYzdmYWZlOWUzZjJmYzA0Yzc0ZmZmNzFmZGVj
OTEyODAxODM0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3NjcmlwdC10
ZXN0cy9jc3MtcHJvcGVydGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc2Ny
aXB0LXRlc3RzL2Nzcy1wcm9wZXJ0aWVzLmpzCkBAIC0xMDYsMjAgKzEwNiwyNCBAQCBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndl
YmtpdEZsZXhGbG93JywgJwogZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICdmb28nOwog
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93JywgJycp
OwogCi1mbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ3Jvdyc7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAncm93Jyk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndl
YmtpdEZsZXhGbG93JywgJ3JvdycpOwotCi1mbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0g
J3Jvdy1yZXZlcnNlJzsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZmxleGJveC5zdHlsZS53ZWJr
aXRGbGV4RmxvdycsICdyb3ctcmV2ZXJzZScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdycsICdyb3ct
cmV2ZXJzZScpOwotCi1mbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ2NvbHVtbic7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAnY29s
dW1uJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZs
ZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93JywgJ2NvbHVtbicpOwotCi1mbGV4Ym94LnN0eWxl
LndlYmtpdEZsZXhGbG93ID0gJ2NvbHVtbi1yZXZlcnNlJzsKLXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdycsICdjb2x1bW4tcmV2ZXJzZScpOwotc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxs
KS53ZWJraXRGbGV4RmxvdycsICdjb2x1bW4tcmV2ZXJzZScpOwordmFyIGZsb3dzID0gWydyb3cn
LCAncm93LXJldmVyc2UnLCAnY29sdW1uJywgJ2NvbHVtbi1yZXZlcnNlJ107Cit2YXIgd3JhcHMg
PSBbJycsICd3cmFwJywgJ3dyYXAtcmV2ZXJzZSddOworZmxvd3MuZm9yRWFjaChmdW5jdGlvbihm
bG93KSB7CisgICAgd3JhcHMuZm9yRWFjaChmdW5jdGlvbih3cmFwKSB7CisgICAgICAgIGZsZXhi
b3guc3R5bGUud2Via2l0RmxleEZsb3cgPSBmbG93ICsgJyAnICsgd3JhcDsKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93JywgKGZsb3cg
KyAnICcgKyB3cmFwKS5yZXBsYWNlKC8gJC8sICcnKSk7CisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0Rmxl
eEZsb3cnLCAoZmxvdyArICcgJyArIHdyYXApLnJlcGxhY2UoLyAkLywgJycpKTsKKyAgICB9KTsK
K30pOworCitmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJyc7CitmbGV4Ym94LnN0eWxl
LndlYmtpdEZsZXhGbG93ID0gJ3dyYXAnOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94
LnN0eWxlLndlYmtpdEZsZXhGbG93JywgJycpOworZmxleGJveC5zdHlsZS53ZWJraXRGbGV4Rmxv
dyA9ICd3cmFwLXJldmVyc2UnOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxl
LndlYmtpdEZsZXhGbG93JywgJycpOworZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICd3
cmFwIHJvdyc7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0Rmxl
eEZsb3cnLCAnJyk7CitmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ2NvbHVtbiByb3cn
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93Jywg
JycpOwogCiBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118267</attachid>
            <date>2011-12-07 13:42:33 -0800</date>
            <delta_ts>2011-12-09 15:44:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74008-20111207134243.patch</filename>
            <type>text/plain</type>
            <size>22308</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWFlNDZlN2Y0NDgzODdm
MjZlZWViNDhhY2I2NDE4YTIwZDc4MzMzOC4uNmRmYzk2MDhlMDNiZGFiNTQyM2E0NmE2N2FkNWRm
N2JmNTM4NDQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTA3ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgYWRkIGNzcyBwYXJzaW5nIGZv
ciBmbGV4LWZsb3c6IHdyYXAgYW5kIHdyYXAtcmV2ZXJzZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNvIHNhdmUgMiBiaXRzIGluIFN0eWxlRmxleGli
bGVCb3hEYXRhIGJ5IGNoYW5naW5nIHRoZSBzaXplIG9mIG1fZmxleEZsb3cgKHRoZXJlIGFyZSBv
bmx5IDQgZW51bSB2YWx1ZXMpLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b246OmdldFByb3BlcnR5Q1NTVmFsdWUpOiBQcmludCB0aGUgd3JhcCB2YWx1ZSBpZiBpdCBleGlz
dHMuCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUpOiBQYXJzZSBhIHNlY29uZCB0b2tlbiBhbmQgcHV0IHRoZSB2YWx1
ZXMgaW50byBhIENTU1ZhbHVlTGlzdC4KKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRv
ciBFRmxleFdyYXApOgorICAgICAgICAqIGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZsZXhGbG93OjphcHBseUluaGVyaXRWYWx1
ZSk6IERvZXMgbm90IGluaGVyaXQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5Rmxl
eEZsb3c6OmFwcGx5SW5pdGlhbFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVy
dHlGbGV4Rmxvdzo6YXBwbHlWYWx1ZSk6IFNwZWNpYWwgaGFuZGxlciBmb3Igc2V0dGluZyB0d28g
cmVuZGVyIHN0eWxlIHZhbHVlcyBmcm9tIG9uZQorICAgICAgICBDU1MgcHJvcGVydHkuCisgICAg
ICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RmxleEZsb3c6OmNyZWF0ZUhhbmRsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVBcHBseVByb3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVy
dHkpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OmZsZXhXcmFwKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzZXRGbGV4
V3JhcCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbEZsZXhXcmFw
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDogRUZs
ZXhXcmFwIHRvIGhvbGQgZmxleCB3cmFwIHZhbHVlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVGbGV4
aWJsZUJveERhdGE6OlN0eWxlRmxleGlibGVCb3hEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlRmxleGlibGVCb3hEYXRhOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaDogMiBiaXRzIGlzIGVub3VnaCB0byBob2xkIHRoZSA0
IGZsZXhGbG93IHZhbHVlcy4KKwogMjAxMS0xMi0wNyAgTWFyeSBXdSAgPG1hcnkud3VAdG9yY2ht
b2JpbGUuY29tLmNuPgogCiAgICAgICAgIFVwc3RyZWFtIDUgZmlsZXMgaW50byBXZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNjMzN2M1NTVmODcxNjBkNTVjMTg5NDE0MmU4MjRm
OTM2NDZkYWQ2My4uYzUzMTA4NDQwY2E3ZGMzY2Q4MTk2ZjE1NGE5ZDUzNGIyZWJmMWZjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKQEAgLTE0ODQsOCArMTQ4NCwxMiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAg
ICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUtPmZsZXhQYWNrKCkp
OwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0RmxleEFsaWduOgogICAgICAgICAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUtPmZsZXhBbGlnbigpKTsKLSAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhGbG93OgotICAgICAgICAgICAgcmV0dXJu
IGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUtPmZsZXhGbG93KCkpOworICAgICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0RmxleEZsb3c6IHsKKyAgICAgICAgICAgIFJlZlB0cjxDU1NW
YWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7Cisg
ICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShzdHlsZS0+
ZmxleEZsb3coKSkpOworICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC0+Y3Jl
YXRlVmFsdWUoc3R5bGUtPmZsZXhXcmFwKCkpKTsKKyAgICAgICAgICAgIHJldHVybiBsaXN0LnJl
bGVhc2UoKTsKKyAgICAgICAgfQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5RmxvYXQ6CiAgICAg
ICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sLT5jcmVhdGVWYWx1ZShzdHlsZS0+ZmxvYXRpbmco
KSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGb250OiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IDFlZWRlNzFlMmZkMzZlZTVkZjlmMTIzMzg4YTdlZjRmMzI0Y2I5ZjkuLjgxOGY1
Y2Q3ODQxNTI5YTdkOGRhMGIyZTBjNTYzZDJiNzlmMGEwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCkBAIC0xNjIxLDggKzE2MjEsMjMgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUo
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gaWQg
PT0gQ1NTVmFsdWVTdGFydCB8fCBpZCA9PSBDU1NWYWx1ZUVuZCB8fCBpZCA9PSBDU1NWYWx1ZUNl
bnRlciB8fCBpZCA9PSBDU1NWYWx1ZUJhc2VsaW5lIHx8IGlkID09IENTU1ZhbHVlU3RyZXRjaDsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhGbG93OgotICAg
ICAgICAvLyBGSVhNRTogLXdlYmtpdC1mbGV4LWZsb3cgdGFrZXMgYSBzZWNvbmQgIndyYXAiIHZh
bHVlLgorICAgICAgICAvLyBGSVhNRTogVXNlIHBhcnNlU2hvcnRoYW5kIG9uY2Ugd2UgYWRkIGZs
ZXgtZGlyZWN0aW9uIGFuZCBmbGV4LXdyYXAuCisgICAgICAgIC8vIFsgcm93IHwgcm93LXJldmVy
c2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSBdIHx8IFsgbm93cmFwIHwgd3JhcCB8IHdyYXAt
cmV2ZXJzZSBdPwogICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IGlkID09IENTU1ZhbHVlUm93IHx8
IGlkID09IENTU1ZhbHVlUm93UmV2ZXJzZSB8fCBpZCA9PSBDU1NWYWx1ZUNvbHVtbiB8fCBpZCA9
PSBDU1NWYWx1ZUNvbHVtblJldmVyc2U7CisgICAgICAgIGlmICghdmFsaWRQcmltaXRpdmUpCisg
ICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IGlkID09IENTU1ZhbHVlTm93cmFwIHx8IGlkID09
IENTU1ZhbHVlV3JhcCB8fCBpZCA9PSBDU1NWYWx1ZVdyYXBSZXZlcnNlOworICAgICAgICBlbHNl
IGlmICh2YWxpZFByaW1pdGl2ZSAmJiBudW0gPT0gMikgeworICAgICAgICAgICAgUmVmUHRyPENT
U1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsK
KyAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS0+Y3JlYXRlSWRlbnRpZmll
clZhbHVlKGlkKSk7CisKKyAgICAgICAgICAgIHZhbHVlID0gbV92YWx1ZUxpc3QtPm5leHQoKTsK
KyAgICAgICAgICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVOb3dyYXAgfHwgdmFsdWUtPmlk
ID09IENTU1ZhbHVlV3JhcCB8fCB2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVXcmFwUmV2ZXJzZSkgewor
ICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS0+Y3JlYXRlSWRlbnRp
ZmllclZhbHVlKHZhbHVlLT5pZCkpOworICAgICAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJ
ZCwgbGlzdCwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICBi
cmVhazsKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZTogewogICAgICAgICBjb25z
dCBpbnQgcHJvcGVydGllc1s1XSA9IHsgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGlyZWN0aW9u
LCBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA3YWJmZjQ1MmM4NjRlMmFjZDIy
OWFhYTVhMDU0MjIzYTE0OWIwN2ZmLi41NDk3MjlkMjIxMGRmMzg2NmM1YzgxYmE2Y2ExODRkYzEz
N2VhNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgKQEAgLTEyMzcsNiArMTIzNywzOCBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgRUZsZXhGbG93KCkgY29uc3QKICAgICB9CiB9CiAKK3RlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFRmxleFdyYXAg
ZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAgIG1fcHJpbWl0aXZlVW5p
dFR5cGUgPSBDU1NfSURFTlQ7CisgICAgc3dpdGNoIChlKSB7CisgICAgY2FzZSBGbGV4Tm9XcmFw
OgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVOb3dyYXA7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgRmxleFdyYXA6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdy
YXA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRmxleFdyYXBSZXZlcnNlOgorICAgICAgICBt
X3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVXcmFwUmV2ZXJzZTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgRUZs
ZXhXcmFwKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNl
IENTU1ZhbHVlTm93cmFwOgorICAgICAgICByZXR1cm4gRmxleE5vV3JhcDsKKyAgICBjYXNlIENT
U1ZhbHVlV3JhcDoKKyAgICAgICAgcmV0dXJuIEZsZXhXcmFwOworICAgIGNhc2UgQ1NTVmFsdWVX
cmFwUmV2ZXJzZToKKyAgICAgICAgcmV0dXJuIEZsZXhXcmFwUmV2ZXJzZTsKKyAgICBkZWZhdWx0
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIEZsZXhOb1dy
YXA7CisgICAgfQorfQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
UHJpbWl0aXZlVmFsdWUoRUZsb2F0IGUpCiAgICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHku
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKaW5kZXgg
ODE2OGJlNzFkZjM0NzFkMzMxOWVjZmQ5MzA2YTFjNDZjZjZjMTBmYi4uOGVhMDM3MDU4MWFkNTNj
YzJmZTg1NGVhZTBlZGU5MDUxOWQ1OTQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlQXBwbHlQcm9wZXJ0eS5jcHAKQEAgLTEyNDcsNiArMTI0NywzOCBAQCBwdWJsaWM6CiAgICAg
fQogfTsKIAorY2xhc3MgQXBwbHlQcm9wZXJ0eUZsZXhGbG93IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShDU1NTdHlsZVNlbGVjdG9yKikgeyB9CisKKyAgICBz
dGF0aWMgdm9pZCBhcHBseUluaXRpYWxWYWx1ZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvcikK
KyAgICB7CisgICAgICAgIHNlbGVjdG9yLT5zdHlsZSgpLT5zZXRGbGV4RmxvdyhSZW5kZXJTdHls
ZTo6aW5pdGlhbEZsZXhGbG93KCkpOworICAgICAgICBzZWxlY3Rvci0+c3R5bGUoKS0+c2V0Rmxl
eFdyYXAoUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4V3JhcCgpKTsKKyAgICB9CisKKyAgICBzdGF0
aWMgdm9pZCBhcHBseVZhbHVlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBDU1NWYWx1ZSog
dmFsdWUpCisgICAgeworICAgICAgICBpZiAodmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkgewor
ICAgICAgICAgICAgc2VsZWN0b3ItPnN0eWxlKCktPnNldEZsZXhGbG93KCpzdGF0aWNfY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICAgICAgaWYgKHZhbHVlLT5pc1ZhbHVlTGlzdCgpKSB7CisgICAgICAgICAgICBDU1NW
YWx1ZUxpc3QqIGxpc3QgPSBzdGF0aWNfY2FzdDxDU1NWYWx1ZUxpc3QqPih2YWx1ZSk7CisgICAg
ICAgICAgICBpZiAobGlzdC0+bGVuZ3RoKCkgIT0gMikKKyAgICAgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgICAgIHNlbGVjdG9yLT5zdHlsZSgpLT5zZXRGbGV4Rmxvdygqc3RhdGljX2Nh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihsaXN0LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDApKSk7
CisgICAgICAgICAgICBzZWxlY3Rvci0+c3R5bGUoKS0+c2V0RmxleFdyYXAoKnN0YXRpY19jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlKj4obGlzdC0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygxKSkpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgc3RhdGljIFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5k
bGVyKCkKKyAgICB7CisgICAgICAgIHJldHVybiBQcm9wZXJ0eUhhbmRsZXIoJmFwcGx5SW5oZXJp
dFZhbHVlLCAmYXBwbHlJbml0aWFsVmFsdWUsICZhcHBseVZhbHVlKTsKKyAgICB9Cit9OworCiBj
b25zdCBDU1NTdHlsZUFwcGx5UHJvcGVydHkmIENTU1N0eWxlQXBwbHlQcm9wZXJ0eTo6c2hhcmVk
Q1NTU3R5bGVBcHBseVByb3BlcnR5KCkKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKENTU1N0
eWxlQXBwbHlQcm9wZXJ0eSwgY3NzU3R5bGVBcHBseVByb3BlcnR5SW5zdGFuY2UsICgpKTsKQEAg
LTEzODQsNyArMTQxNiw3IEBAIENTU1N0eWxlQXBwbHlQcm9wZXJ0eTo6Q1NTU3R5bGVBcHBseVBy
b3BlcnR5KCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGbGV4T3Jk
ZXIsIEFwcGx5UHJvcGVydHlEZWZhdWx0PGludCwgJlJlbmRlclN0eWxlOjpmbGV4T3JkZXIsIGlu
dCwgJlJlbmRlclN0eWxlOjpzZXRGbGV4T3JkZXIsIGludCwgJlJlbmRlclN0eWxlOjppbml0aWFs
RmxleE9yZGVyPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlXZWJraXRGbGV4UGFjaywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUZsZXhQYWNrLCAm
UmVuZGVyU3R5bGU6OmZsZXhQYWNrLCBFRmxleFBhY2ssICZSZW5kZXJTdHlsZTo6c2V0RmxleFBh
Y2ssIEVGbGV4UGFjaywgJlJlbmRlclN0eWxlOjppbml0aWFsRmxleFBhY2s+OjpjcmVhdGVIYW5k
bGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZsZXhBbGln
biwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RUZsZXhBbGlnbiwgJlJlbmRlclN0eWxlOjpmbGV4QWxp
Z24sIEVGbGV4QWxpZ24sICZSZW5kZXJTdHlsZTo6c2V0RmxleEFsaWduLCBFRmxleEFsaWduLCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4QWxpZ24+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZsZXhGbG93LCBBcHBseVByb3BlcnR5
RGVmYXVsdDxFRmxleEZsb3csICZSZW5kZXJTdHlsZTo6ZmxleEZsb3csIEVGbGV4RmxvdywgJlJl
bmRlclN0eWxlOjpzZXRGbGV4RmxvdywgRUZsZXhGbG93LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxG
bGV4Rmxvdz46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5V2Via2l0RmxleEZsb3csIEFwcGx5UHJvcGVydHlGbGV4Rmxvdzo6Y3JlYXRlSGFuZGxl
cigpKTsKIAogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRTdHlsZSwgQXBw
bHlQcm9wZXJ0eUZvbnQ8Rm9udEl0YWxpYywgJkZvbnREZXNjcmlwdGlvbjo6aXRhbGljLCAmRm9u
dERlc2NyaXB0aW9uOjpzZXRJdGFsaWMsIEZvbnRJdGFsaWNPZmY+OjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRWYXJpYW50LCBBcHBseVBy
b3BlcnR5Rm9udDxGb250U21hbGxDYXBzLCAmRm9udERlc2NyaXB0aW9uOjpzbWFsbENhcHMsICZG
b250RGVzY3JpcHRpb246OnNldFNtYWxsQ2FwcywgRm9udFNtYWxsQ2Fwc09mZj46OmNyZWF0ZUhh
bmRsZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDcxYmY3
ZTE4N2NiZTRlMDI5NTViNmNlZDNhZGE5MmZiYTRjZGM2OGIuLmJhMWM1ZjY5MjJhN2RlZWI0Y2Jh
MjhiOWIyZDFmMjlmZjU2MGI0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCkBAIC00ODIsMTEgKzQ4MiwxMyBAQCBtdWx0aXBsZQogLy8gc3RyZXRjaAogCiAvLyBDU1Nf
UFJPUF9GTEVYX0ZMT1cKLS8vIEZJWE1FOiBBZGQgdGhlIHdyYXAgdmFsdWVzLgogcm93CiByb3ct
cmV2ZXJzZQogY29sdW1uCiBjb2x1bW4tcmV2ZXJzZQorLy8gbm93cmFwCisvLyB3cmFwCit3cmFw
LXJldmVyc2UKIAogLy8gQ1NTX1BST1BfTUFSUVVFRV9ESVJFQ1RJT04KIGZvcndhcmRzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGJhNjJkOTFi
ZDY0ZWIzMjZhNjNmOGYzZjYxYzYxYTI1NjA1NGNmZjAuLmUzYWYyYzJlMjZiODdlNmM1YTQwYWJl
YjFiNmE5NmIxM2QzOWE1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCkBAIC03MjcsNiArNzI3LDcgQEAgcHVibGljOgogICAgIEVGbGV4QWxpZ24g
ZmxleEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RUZsZXhBbGlnbj4ocmFyZU5v
bkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fZmxleEFsaWduKTsgfQogICAgIEVGbGV4
RmxvdyBmbGV4RmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVGbGV4Rmxvdz4ocmFy
ZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fZmxleEZsb3cpOyB9CiAgICAgYm9v
bCBpc0NvbHVtbkZsZXhGbG93KCkgY29uc3QgeyByZXR1cm4gZmxleEZsb3coKSA9PSBGbG93Q29s
dW1uIHx8IGZsZXhGbG93KCkgPT0gRmxvd0NvbHVtblJldmVyc2U7IH0KKyAgICBFRmxleFdyYXAg
ZmxleFdyYXAoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFRmxleFdyYXA+KHJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX2ZsZXhpYmxlQm94LT5tX2ZsZXhXcmFwKTsgfQogCiAjaWYgRU5BQkxF
KENTU19HUklEX0xBWU9VVCkKICAgICBjb25zdCBWZWN0b3I8TGVuZ3RoPiYgZ3JpZENvbHVtbnMo
KSBjb25zdCB7IHJldHVybiByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9ncmlkLT5tX2dyaWRDb2x1
bW5zOyB9CkBAIC0xMTQ1LDYgKzExNDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGbGV4UGFj
ayhFRmxleFBhY2sgcCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5t
X2ZsZXhpYmxlQm94LCBtX2ZsZXhQYWNrLCBwKTsgfQogICAgIHZvaWQgc2V0RmxleEFsaWduKEVG
bGV4QWxpZ24gYSkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2Zs
ZXhpYmxlQm94LCBtX2ZsZXhBbGlnbiwgYSk7IH0KICAgICB2b2lkIHNldEZsZXhGbG93KEVGbGV4
RmxvdyBmbG93KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZmxl
eGlibGVCb3gsIG1fZmxleEZsb3csIGZsb3cpOyB9CisgICAgdm9pZCBzZXRGbGV4V3JhcChFRmxl
eFdyYXAgdykgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2ZsZXhp
YmxlQm94LCBtX2ZsZXhXcmFwLCB3KTsgfQogI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCiAg
ICAgdm9pZCBzZXRHcmlkQ29sdW1ucyhjb25zdCBWZWN0b3I8TGVuZ3RoPiYgbGVuZ3RocykgeyBT
RVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dyaWQsIG1fZ3JpZENvbHVt
bnMsIGxlbmd0aHMpOyB9CiAgICAgdm9pZCBzZXRHcmlkUm93cyhjb25zdCBWZWN0b3I8TGVuZ3Ro
PiYgbGVuZ3RocykgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2dy
aWQsIG1fZ3JpZFJvd3MsIGxlbmd0aHMpOyB9CkBAIC0xNDY4LDYgKzE0NzAsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIEVGbGV4UGFjayBpbml0aWFsRmxleFBhY2soKSB7IHJldHVybiBQYWNrU3Rh
cnQ7IH0KICAgICBzdGF0aWMgRUZsZXhBbGlnbiBpbml0aWFsRmxleEFsaWduKCkgeyByZXR1cm4g
QWxpZ25TdHJldGNoOyB9CiAgICAgc3RhdGljIEVGbGV4RmxvdyBpbml0aWFsRmxleEZsb3coKSB7
IHJldHVybiBGbG93Um93OyB9CisgICAgc3RhdGljIEVGbGV4V3JhcCBpbml0aWFsRmxleFdyYXAo
KSB7IHJldHVybiBGbGV4Tm9XcmFwOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsTWFycXVlZUxv
b3BDb3VudCgpIHsgcmV0dXJuIC0xOyB9CiAgICAgc3RhdGljIGludCBpbml0aWFsTWFycXVlZVNw
ZWVkKCkgeyByZXR1cm4gODU7IH0KICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxNYXJxdWVlSW5j
cmVtZW50KCkgeyByZXR1cm4gTGVuZ3RoKDYsIEZpeGVkKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCBhMjJi
N2ZiYmZiYWRmZDRlYWRmODg1ZDdiM2ZhZDQxNDg0MjEyZTJiLi4wZWVmNWQ1NGRlZGRkNGJkZjEy
Yjk3Yzg4MTRmYTljN2IwYTBkMWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTc3LDcgKzE3Nyw4IEBAIGVu
dW0gRUJveERpcmVjdGlvbiB7IEJOT1JNQUwsIEJSRVZFUlNFIH07CiAKIGVudW0gRUZsZXhQYWNr
IHsgUGFja1N0YXJ0LCBQYWNrRW5kLCBQYWNrQ2VudGVyLCBQYWNrSnVzdGlmeSB9OwogZW51bSBF
RmxleEFsaWduIHsgQWxpZ25TdGFydCwgQWxpZ25FbmQsIEFsaWduQ2VudGVyLCBBbGlnblN0cmV0
Y2gsIEFsaWduQmFzZWxpbmUgfTsKLWVudW0gRUZsZXhGbG93IHsgRmxvd1JvdywgRmxvd1Jvd1Jl
dmVyc2UsIEZsb3dDb2x1bW4sIEZsb3dDb2x1bW5SZXZlcnNlfTsKK2VudW0gRUZsZXhGbG93IHsg
Rmxvd1JvdywgRmxvd1Jvd1JldmVyc2UsIEZsb3dDb2x1bW4sIEZsb3dDb2x1bW5SZXZlcnNlIH07
CitlbnVtIEVGbGV4V3JhcCB7IEZsZXhOb1dyYXAsIEZsZXhXcmFwLCBGbGV4V3JhcFJldmVyc2Ug
fTsKIAogZW51bSBFVGV4dFNlY3VyaXR5IHsKICAgICBUU05PTkUsIFRTRElTQywgVFNDSVJDTEUs
IFRTU1FVQVJFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVGbGV4aWJsZUJveERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlRmxleGlibGVCb3hEYXRhLmNwcAppbmRleCBiYTYzOWYzYzI5NWI2M2UwMmY4MGMzNWM5ZTJi
ZGJiZTMxNjMzYTg1Li5jYWIzNzhmMWUyNGY3OGJlNjQyYWExODk1ZDJkMjAxNzBlNWU0Y2E0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJv
eERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhp
YmxlQm94RGF0YS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgU3R5bGVGbGV4aWJsZUJveERhdGE6OlN0
eWxlRmxleGlibGVCb3hEYXRhKCkKICAgICAsIG1fZmxleFBhY2soUmVuZGVyU3R5bGU6OmluaXRp
YWxGbGV4UGFjaygpKQogICAgICwgbV9mbGV4QWxpZ24oUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4
QWxpZ24oKSkKICAgICAsIG1fZmxleEZsb3coUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4Rmxvdygp
KQorICAgICwgbV9mbGV4V3JhcChSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhXcmFwKCkpCiB7CiB9
CiAKQEAgLTUyLDYgKzUzLDcgQEAgU3R5bGVGbGV4aWJsZUJveERhdGE6OlN0eWxlRmxleGlibGVC
b3hEYXRhKGNvbnN0IFN0eWxlRmxleGlibGVCb3hEYXRhJiBvKQogICAgICwgbV9mbGV4UGFjayhv
Lm1fZmxleFBhY2spCiAgICAgLCBtX2ZsZXhBbGlnbihvLm1fZmxleEFsaWduKQogICAgICwgbV9m
bGV4RmxvdyhvLm1fZmxleEZsb3cpCisgICAgLCBtX2ZsZXhXcmFwKG8ubV9mbGV4V3JhcCkKIHsK
IH0KIApAQCAtNjAsNyArNjIsNyBAQCBib29sIFN0eWxlRmxleGlibGVCb3hEYXRhOjpvcGVyYXRv
cj09KGNvbnN0IFN0eWxlRmxleGlibGVCb3hEYXRhJiBvKSBjb25zdAogICAgIHJldHVybiBtX3dp
ZHRoUG9zaXRpdmVGbGV4ID09IG8ubV93aWR0aFBvc2l0aXZlRmxleCAmJiBtX3dpZHRoTmVnYXRp
dmVGbGV4ID09IG8ubV93aWR0aE5lZ2F0aXZlRmxleAogICAgICAgICAmJiBtX2hlaWdodFBvc2l0
aXZlRmxleCA9PSBvLm1faGVpZ2h0UG9zaXRpdmVGbGV4ICYmIG1faGVpZ2h0TmVnYXRpdmVGbGV4
ID09IG8ubV9oZWlnaHROZWdhdGl2ZUZsZXgKICAgICAgICAgJiYgbV9mbGV4T3JkZXIgPT0gby5t
X2ZsZXhPcmRlciAmJiBtX2ZsZXhQYWNrID09IG8ubV9mbGV4UGFjayAmJiBtX2ZsZXhBbGlnbiA9
PSBvLm1fZmxleEFsaWduCi0gICAgICAgICYmIG1fZmxleEZsb3cgPT0gby5tX2ZsZXhGbG93Owor
ICAgICAgICAmJiBtX2ZsZXhGbG93ID09IG8ubV9mbGV4RmxvdyAmJiBtX2ZsZXhXcmFwID09IG8u
bV9mbGV4V3JhcDsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaAppbmRleCA1MzdhY2I5ZGMxNDM2MDc4YmU5ZWUx
YzM3ZTUxZWE0ODRiNjU2ZDViLi41MzlmMDZkYmQwYWQyYzE1N2EzYTY0YTY4ZWE1OWFlODQ0YTRk
NDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4
aWJsZUJveERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVG
bGV4aWJsZUJveERhdGEuaApAQCAtNTEsNyArNTEsOCBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25l
ZCBtX2ZsZXhQYWNrIDogMjsgLy8gRUZsZXhQYWNrCiAgICAgdW5zaWduZWQgbV9mbGV4QWxpZ24g
OiAzOyAvLyBFRmxleEFsaWduCi0gICAgdW5zaWduZWQgbV9mbGV4RmxvdyA6IDQ7IC8vIEVGbGV4
RmxvdworICAgIHVuc2lnbmVkIG1fZmxleEZsb3cgOiAyOyAvLyBFRmxleEZsb3cKKyAgICB1bnNp
Z25lZCBtX2ZsZXhXcmFwIDogMjsgLy8gRUZsZXhXcmFwCiAKIHByaXZhdGU6CiAgICAgU3R5bGVG
bGV4aWJsZUJveERhdGEoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NjU2NGQ0MDBjMjYwNTk4MTUxZjIwODU2MWNkNGQ3
NTE5MWU2ZmEwLi41MDllODUxN2E4MjhiMzhkODNiNGU0MzU2YjAxMTEzOGZjNTUwYTA5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMDcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBhZGQgY3NzIHBhcnNpbmcgZm9yIGZsZXgtZmxvdzogd3JhcCBhbmQg
d3JhcC1yZXZlcnNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NDAwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogY3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBjc3MzL2ZsZXhib3gvc2NyaXB0LXRlc3RzL2Nzcy1wcm9wZXJ0aWVzLmpzOiBUZXN0IGNhbGwg
Y29tYmluYXRpb25zIG9mIGZsZXgtZmxvdyB2YWx1ZXMuCisKIDIwMTEtMTItMDcgIEJhbGF6cyBL
ZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVu
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jc3MtcHJvcGVydGllcy1l
eHBlY3RlZC50eHQKaW5kZXggZmIxN2ExNDY2ZGU5YjFlMDk5NmVmMTZhYjc2MTI3MWQ3NDEzZWYx
Yi4uM2YyZmM5NTdjZWRlZDRkODZhNzFhNjVhNGQ3YjZkMDY1MTZmZTE0MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY3NzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBA
IC00NCwxNiArNDQsNTIgQEAgUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBu
dWxsKS53ZWJraXRGbGV4QWxpZ24gaXMgImJhc2VsaW5lIgogUEFTUyBmbGV4Ym94LnN0eWxlLndl
YmtpdEZsZXhBbGlnbiBpcyAiIgogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94
LCBudWxsKS53ZWJraXRGbGV4QWxpZ24gaXMgInN0cmV0Y2giCiBQQVNTIGZsZXhib3guc3R5bGUu
d2Via2l0RmxleEZsb3cgaXMgIiIKLVBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJv
eCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdyIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdyBub3dyYXAiCiBQQVNT
IGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgIiIKK1BBU1MgZmxleGJveC5zdHlsZS53
ZWJraXRGbGV4RmxvdyBpcyAiIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94
LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93IG5vd3JhcCIKK1BBU1MgZmxleGJveC5zdHls
ZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IG5vd3JhcCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdyBub3dyYXAiCitQQVNT
IGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgInJvdyB3cmFwIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdy
YXAiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgInJvdyB3cmFwLXJldmVy
c2UiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZs
ZXhGbG93IGlzICJyb3cgd3JhcC1yZXZlcnNlIgogUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZs
ZXhGbG93IGlzICJyb3ciCi1QQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51
bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3ciCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3cgbm93cmFwIgorUEFTUyBmbGV4
Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJyb3cgbm93cmFwIgorUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93IG5vd3Jh
cCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdyYXAiCitQQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlz
ICJyb3cgd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdy
YXAtcmV2ZXJzZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCku
d2Via2l0RmxleEZsb3cgaXMgInJvdyB3cmFwLXJldmVyc2UiCiBQQVNTIGZsZXhib3guc3R5bGUu
d2Via2l0RmxleEZsb3cgaXMgInJvdy1yZXZlcnNlIgotUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93LXJldmVyc2UiCitQQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlz
ICJyb3ctcmV2ZXJzZSBub3dyYXAiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cg
aXMgInJvdy1yZXZlcnNlIG5vd3JhcCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxl
eGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdy1yZXZlcnNlIG5vd3JhcCIKK1BBU1Mg
ZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93LXJldmVyc2Ugd3JhcCIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMg
InJvdy1yZXZlcnNlIHdyYXAiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMg
InJvdy1yZXZlcnNlIHdyYXAtcmV2ZXJzZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
ZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdy1yZXZlcnNlIHdyYXAtcmV2ZXJz
ZSIKIFBBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1uIgotUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAi
Y29sdW1uIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJr
aXRGbGV4RmxvdyBpcyAiY29sdW1uIG5vd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRG
bGV4RmxvdyBpcyAiY29sdW1uIG5vd3JhcCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
ZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbiBub3dyYXAiCitQQVNTIGZs
ZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbiB3cmFwIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1u
IHdyYXAiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbiB3cmFw
LXJldmVyc2UiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndl
YmtpdEZsZXhGbG93IGlzICJjb2x1bW4gd3JhcC1yZXZlcnNlIgogUEFTUyBmbGV4Ym94LnN0eWxl
LndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSIKLVBBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZlcnNl
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4
RmxvdyBpcyAiY29sdW1uLXJldmVyc2Ugbm93cmFwIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtp
dEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSBub3dyYXAiCitQQVNTIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJz
ZSBub3dyYXAiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1y
ZXZlcnNlIHdyYXAiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwp
LndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSB3cmFwIgorUEFTUyBmbGV4Ym94LnN0
eWxlLndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSB3cmFwLXJldmVyc2UiCitQQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlz
ICJjb2x1bW4tcmV2ZXJzZSB3cmFwLXJldmVyc2UiCitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0
RmxleEZsb3cgaXMgIiIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiIgor
UEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICIiCitQQVNTIGZsZXhib3guc3R5
bGUud2Via2l0RmxleEZsb3cgaXMgIiIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3Nj
cmlwdC10ZXN0cy9jc3MtcHJvcGVydGllcy5qcyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9z
Y3JpcHQtdGVzdHMvY3NzLXByb3BlcnRpZXMuanMKaW5kZXggMjkxMzlkYTM3ODk4MTM3NDM5MzA3
YzU1ZWQ4Zjg5NDUzY2IzODZjYy4uYjYzMDI4MDc2OWEwOWExOWUzYjA2ZmE3YjVkNzk2OWJmYTY1
N2MxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3NjcmlwdC10ZXN0cy9j
c3MtcHJvcGVydGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc2NyaXB0LXRl
c3RzL2Nzcy1wcm9wZXJ0aWVzLmpzCkBAIC0xMDEsMjUgKzEwMSwzMyBAQCBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEFsaWduJywgJycpOwogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJr
aXRGbGV4QWxpZ24nLCAnc3RyZXRjaCcpOwogCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhi
b3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAnJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93JywgJ3Jv
dycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4
Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdycsICdyb3cgbm93cmFwJyk7CiAKIGZsZXhib3guc3R5
bGUud2Via2l0RmxleEZsb3cgPSAnZm9vJzsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZmxleGJv
eC5zdHlsZS53ZWJraXRGbGV4RmxvdycsICcnKTsKIAotZmxleGJveC5zdHlsZS53ZWJraXRGbGV4
RmxvdyA9ICdyb3cnOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtp
dEZsZXhGbG93JywgJ3JvdycpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdycsICdyb3cnKTsKLQotZmxl
eGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICdyb3ctcmV2ZXJzZSc7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAncm93LXJldmVyc2UnKTsK
LXNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwg
bnVsbCkud2Via2l0RmxleEZsb3cnLCAncm93LXJldmVyc2UnKTsKLQotZmxleGJveC5zdHlsZS53
ZWJraXRGbGV4RmxvdyA9ICdjb2x1bW4nOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94
LnN0eWxlLndlYmtpdEZsZXhGbG93JywgJ2NvbHVtbicpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4Rmxvdycs
ICdjb2x1bW4nKTsKLQotZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICdjb2x1bW4tcmV2
ZXJzZSc7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZs
b3cnLCAnY29sdW1uLXJldmVyc2UnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cnLCAnY29sdW1uLXJl
dmVyc2UnKTsKK3ZhciBmbG93cyA9IFsnJywgJ3JvdycsICdyb3ctcmV2ZXJzZScsICdjb2x1bW4n
LCAnY29sdW1uLXJldmVyc2UnXTsKK3ZhciB3cmFwcyA9IFsnJywgJ25vd3JhcCcsICd3cmFwJywg
J3dyYXAtcmV2ZXJzZSddOworZmxvd3MuZm9yRWFjaChmdW5jdGlvbihmbG93KSB7CisgICAgd3Jh
cHMuZm9yRWFjaChmdW5jdGlvbih3cmFwKSB7CisgICAgICAgIGZsZXhib3guc3R5bGUud2Via2l0
RmxleEZsb3cgPSBmbG93ICsgJyAnICsgd3JhcDsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93JywgKGZsb3cgKyAnICcgKyB3cmFwKS5y
ZXBsYWNlKC9eIC8sICcnKS5yZXBsYWNlKC8gJC8sICcnKSk7CisgICAgICAgIGlmICghZmxvdykK
KyAgICAgICAgICAgIGZsb3cgPSAncm93JzsKKyAgICAgICAgaWYgKCF3cmFwKQorICAgICAgICAg
ICAgd3JhcCA9ICdub3dyYXAnOworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93JywgZmxvdyAr
ICcgJyArIHdyYXApOworICAgIH0pOworfSk7CisKK2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZs
b3cgPSAnJzsKK2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgPSAnd3JhcCB3cmFwLXJldmVy
c2UnOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93
JywgJycpOworZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICd3cmFwLXJldmVyc2UgY29s
dW1uJzsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZmxleGJveC5zdHlsZS53ZWJraXRGbGV4Rmxv
dycsICcnKTsKK2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgPSAnd3JhcCByb3cnOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93JywgJycpOwor
ZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICdjb2x1bW4gcm93JzsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdycsICcnKTsKIAogc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118660</attachid>
            <date>2011-12-09 15:44:55 -0800</date>
            <delta_ts>2011-12-09 15:50:25 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-74008-20111209154506.patch</filename>
            <type>text/plain</type>
            <size>22310</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNiYTIxNTI1NGJiOWU1
OTVkOThlMjllYzZhODgyYjcyYTY4MDYwMy4uZTcxMGJmZTFkMmViYjVhMzBlOWZjMmM5NTgxY2Rh
YmIzMDI0MjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTA5ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgYWRkIGNzcyBwYXJzaW5nIGZv
ciBmbGV4LWZsb3c6IHdyYXAgYW5kIHdyYXAtcmV2ZXJzZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDgKKworICAgICAgICBSZXZpZXdlZCBieSBP
amFuIFZhZmFpLgorCisgICAgICAgIEFsc28gc2F2ZSAyIGJpdHMgaW4gU3R5bGVGbGV4aWJsZUJv
eERhdGEgYnkgY2hhbmdpbmcgdGhlIHNpemUgb2YgbV9mbGV4RmxvdyAodGhlcmUgYXJlIG9ubHkg
NCBlbnVtIHZhbHVlcykuCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6
Z2V0UHJvcGVydHlDU1NWYWx1ZSk6IFByaW50IHRoZSB3cmFwIHZhbHVlIGlmIGl0IGV4aXN0cy4K
KyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VWYWx1ZSk6IFBhcnNlIGEgc2Vjb25kIHRva2VuIGFuZCBwdXQgdGhlIHZhbHVlcyBp
bnRvIGEgQ1NTVmFsdWVMaXN0LgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZl
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIEVG
bGV4V3JhcCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5RmxleEZsb3c6OmFwcGx5SW5oZXJpdFZhbHVlKTog
RG9lcyBub3QgaW5oZXJpdC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlGbGV4Rmxv
dzo6YXBwbHlJbml0aWFsVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUZs
ZXhGbG93OjphcHBseVZhbHVlKTogU3BlY2lhbCBoYW5kbGVyIGZvciBzZXR0aW5nIHR3byByZW5k
ZXIgc3R5bGUgdmFsdWVzIGZyb20gb25lCisgICAgICAgIENTUyBwcm9wZXJ0eS4KKyAgICAgICAg
KFdlYkNvcmU6OkFwcGx5UHJvcGVydHlGbGV4Rmxvdzo6Y3JlYXRlSGFuZGxlcik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZUFwcGx5UHJvcGVydHk6OkNTU1N0eWxlQXBwbHlQcm9wZXJ0eSk6
CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6
ZmxleFdyYXApOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEZsZXhXcmFw
KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsRmxleFdyYXApOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOiBFRmxleFdy
YXAgdG8gaG9sZCBmbGV4IHdyYXAgdmFsdWVzLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9T
dHlsZUZsZXhpYmxlQm94RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUZsZXhpYmxl
Qm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVG
bGV4aWJsZUJveERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9T
dHlsZUZsZXhpYmxlQm94RGF0YS5oOiAyIGJpdHMgaXMgZW5vdWdoIHRvIGhvbGQgdGhlIDQgZmxl
eEZsb3cgdmFsdWVzLgorCiAyMDExLTEyLTA5ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IGFzc2VydGlvbiBmYWlsdXJlIGluIFNjcm9sbEFuaW1h
dG9yTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IDYzMzdjNTU1Zjg3MTYwZDU1YzE4OTQxNDJlODI0ZjkzNjQ2ZGFkNjMu
LmM1MzEwODQ0MGNhN2RjM2NkODE5NmYxNTRhOWQ1MzRiMmViZjFmYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xNDg0
LDggKzE0ODQsMTIgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAgICAgICAgIHJldHVy
biBjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5mbGV4UGFjaygpKTsKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhBbGlnbjoKICAgICAgICAgICAgIHJldHVybiBjc3NW
YWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5mbGV4QWxpZ24oKSk7Ci0gICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdzoKLSAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBv
b2wtPmNyZWF0ZVZhbHVlKHN0eWxlLT5mbGV4RmxvdygpKTsKKyAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEZsZXhGbG93OiB7CisgICAgICAgICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBs
aXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUtPmZsZXhGbG93KCkp
KTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wtPmNyZWF0ZVZhbHVlKHN0
eWxlLT5mbGV4V3JhcCgpKSk7CisgICAgICAgICAgICByZXR1cm4gbGlzdC5yZWxlYXNlKCk7Cisg
ICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUZsb2F0OgogICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbC0+Y3JlYXRlVmFsdWUoc3R5bGUtPmZsb2F0aW5nKCkpOwogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5Rm9udDogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBi
ZjBiOTliOGNkZWJlNzFlMzdmMjQ3NDcyYTdjMDBjOTEyMGM1MTYxLi44ZjU4Nzk1ZjZhNmU3ZDY2
NTI1YmI3OTZhZmI4NzcyZGRlMWFmZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAt
MTYyMSw4ICsxNjIxLDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KQogICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IGlkID09IENTU1ZhbHVl
U3RhcnQgfHwgaWQgPT0gQ1NTVmFsdWVFbmQgfHwgaWQgPT0gQ1NTVmFsdWVDZW50ZXIgfHwgaWQg
PT0gQ1NTVmFsdWVCYXNlbGluZSB8fCBpZCA9PSBDU1NWYWx1ZVN0cmV0Y2g7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdzoKLSAgICAgICAgLy8gRklY
TUU6IC13ZWJraXQtZmxleC1mbG93IHRha2VzIGEgc2Vjb25kICJ3cmFwIiB2YWx1ZS4KKyAgICAg
ICAgLy8gRklYTUU6IFVzZSBwYXJzZVNob3J0aGFuZCBvbmNlIHdlIGFkZCBmbGV4LWRpcmVjdGlv
biBhbmQgZmxleC13cmFwLgorICAgICAgICAvLyBbIHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1u
IHwgY29sdW1uLXJldmVyc2UgXSB8fCBbIG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UgXT8K
ICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSBpZCA9PSBDU1NWYWx1ZVJvdyB8fCBpZCA9PSBDU1NW
YWx1ZVJvd1JldmVyc2UgfHwgaWQgPT0gQ1NTVmFsdWVDb2x1bW4gfHwgaWQgPT0gQ1NTVmFsdWVD
b2x1bW5SZXZlcnNlOworICAgICAgICBpZiAoIXZhbGlkUHJpbWl0aXZlKQorICAgICAgICAgICAg
dmFsaWRQcmltaXRpdmUgPSBpZCA9PSBDU1NWYWx1ZU5vd3JhcCB8fCBpZCA9PSBDU1NWYWx1ZVdy
YXAgfHwgaWQgPT0gQ1NTVmFsdWVXcmFwUmV2ZXJzZTsKKyAgICAgICAgZWxzZSBpZiAodmFsaWRQ
cmltaXRpdmUgJiYgbnVtID09IDIpIHsKKyAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+
IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgICAgICAg
ICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShpZCkp
OworCisgICAgICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgICAgICAg
ICBpZiAodmFsdWUtPmlkICE9IENTU1ZhbHVlTm93cmFwICYmIHZhbHVlLT5pZCAhPSBDU1NWYWx1
ZVdyYXAgJiYgdmFsdWUtPmlkICE9IENTU1ZhbHVlV3JhcFJldmVyc2UpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29s
KCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpKTsKKyAgICAgICAgICAgIGFkZFBy
b3BlcnR5KHByb3BJZCwgbGlzdCwgaW1wb3J0YW50KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRN
YXJxdWVlOiB7CiAgICAgICAgIGNvbnN0IGludCBwcm9wZXJ0aWVzWzVdID0geyBDU1NQcm9wZXJ0
eVdlYmtpdE1hcnF1ZWVEaXJlY3Rpb24sIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZUluY3JlbWVu
dCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmlu
ZGV4IDdhYmZmNDUyYzg2NGUyYWNkMjI5YWFhNWEwNTQyMjNhMTQ5YjA3ZmYuLjU0OTcyOWQyMjEw
ZGYzODY2YzVjODFiYTZjYTE4NGRjMTM3ZWE1OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMTIzNyw2ICsxMjM3LDM4IEBAIHRlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBFRmxleEZsb3coKSBjb25z
dAogICAgIH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1By
aW1pdGl2ZVZhbHVlKEVGbGV4V3JhcCBlKQorICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3Mp
Cit7CisgICAgbV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19JREVOVDsKKyAgICBzd2l0Y2ggKGUp
IHsKKyAgICBjYXNlIEZsZXhOb1dyYXA6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1
ZU5vd3JhcDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBGbGV4V3JhcDoKKyAgICAgICAgbV92
YWx1ZS5pZGVudCA9IENTU1ZhbHVlV3JhcDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBGbGV4
V3JhcFJldmVyc2U6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdyYXBSZXZlcnNl
OworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1p
dGl2ZVZhbHVlOjpvcGVyYXRvciBFRmxleFdyYXAoKSBjb25zdAoreworICAgIHN3aXRjaCAobV92
YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVOb3dyYXA6CisgICAgICAgIHJldHVybiBG
bGV4Tm9XcmFwOworICAgIGNhc2UgQ1NTVmFsdWVXcmFwOgorICAgICAgICByZXR1cm4gRmxleFdy
YXA7CisgICAgY2FzZSBDU1NWYWx1ZVdyYXBSZXZlcnNlOgorICAgICAgICByZXR1cm4gRmxleFdy
YXBSZXZlcnNlOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm4gRmxleE5vV3JhcDsKKyAgICB9Cit9CisKIHRlbXBsYXRlPD4gaW5saW5l
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShFRmxvYXQgZSkKICAgICA6IENT
U1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVB
cHBseVByb3BlcnR5LmNwcAppbmRleCBlN2RmOTViN2U4MjU4NzgyOGJjMWVkZjRmNWNiZWFlZWI1
ZWZmM2FiLi42MmE1NzgyN2VjMDM1ZjQwZWM5OWI2MDAzNjEzZDI0MTg2YjIxYjNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcApAQCAtMTI1OCw2ICsx
MjU4LDM4IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCitjbGFzcyBBcHBseVByb3BlcnR5RmxleEZs
b3cgeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJpdFZhbHVlKENTU1N0eWxl
U2VsZWN0b3IqKSB7IH0KKworICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbFZhbHVlKENTU1N0
eWxlU2VsZWN0b3IqIHNlbGVjdG9yKQorICAgIHsKKyAgICAgICAgc2VsZWN0b3ItPnN0eWxlKCkt
PnNldEZsZXhGbG93KFJlbmRlclN0eWxlOjppbml0aWFsRmxleEZsb3coKSk7CisgICAgICAgIHNl
bGVjdG9yLT5zdHlsZSgpLT5zZXRGbGV4V3JhcChSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhXcmFw
KCkpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoQ1NTU3R5bGVTZWxlY3Rv
ciogc2VsZWN0b3IsIENTU1ZhbHVlKiB2YWx1ZSkKKyAgICB7CisgICAgICAgIGlmICh2YWx1ZS0+
aXNQcmltaXRpdmVWYWx1ZSgpKSB7CisgICAgICAgICAgICBzZWxlY3Rvci0+c3R5bGUoKS0+c2V0
RmxleEZsb3coKnN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUpKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAodmFsdWUtPmlzVmFsdWVMaXN0
KCkpIHsKKyAgICAgICAgICAgIENTU1ZhbHVlTGlzdCogbGlzdCA9IHN0YXRpY19jYXN0PENTU1Zh
bHVlTGlzdCo+KHZhbHVlKTsKKyAgICAgICAgICAgIGlmIChsaXN0LT5sZW5ndGgoKSAhPSAyKQor
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgc2VsZWN0b3ItPnN0eWxlKCkt
PnNldEZsZXhGbG93KCpzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KGxpc3QtPml0ZW1X
aXRob3V0Qm91bmRzQ2hlY2soMCkpKTsKKyAgICAgICAgICAgIHNlbGVjdG9yLT5zdHlsZSgpLT5z
ZXRGbGV4V3JhcCgqc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihsaXN0LT5pdGVtV2l0
aG91dEJvdW5kc0NoZWNrKDEpKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgUHJv
cGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFByb3Bl
cnR5SGFuZGxlcigmYXBwbHlJbmhlcml0VmFsdWUsICZhcHBseUluaXRpYWxWYWx1ZSwgJmFwcGx5
VmFsdWUpOworICAgIH0KK307CisKIGNvbnN0IENTU1N0eWxlQXBwbHlQcm9wZXJ0eSYgQ1NTU3R5
bGVBcHBseVByb3BlcnR5OjpzaGFyZWRDU1NTdHlsZUFwcGx5UHJvcGVydHkoKQogewogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ1NTU3R5bGVBcHBseVByb3BlcnR5LCBjc3NTdHlsZUFwcGx5UHJv
cGVydHlJbnN0YW5jZSwgKCkpOwpAQCAtMTM5OCw3ICsxNDMwLDcgQEAgQ1NTU3R5bGVBcHBseVBy
b3BlcnR5OjpDU1NTdHlsZUFwcGx5UHJvcGVydHkoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihD
U1NQcm9wZXJ0eVdlYmtpdEZsZXhPcmRlciwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8aW50LCAmUmVu
ZGVyU3R5bGU6OmZsZXhPcmRlciwgaW50LCAmUmVuZGVyU3R5bGU6OnNldEZsZXhPcmRlciwgaW50
LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxGbGV4T3JkZXI+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAg
IHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZsZXhQYWNrLCBBcHBseVByb3Bl
cnR5RGVmYXVsdDxFRmxleFBhY2ssICZSZW5kZXJTdHlsZTo6ZmxleFBhY2ssIEVGbGV4UGFjaywg
JlJlbmRlclN0eWxlOjpzZXRGbGV4UGFjaywgRUZsZXhQYWNrLCAmUmVuZGVyU3R5bGU6OmluaXRp
YWxGbGV4UGFjaz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5V2Via2l0RmxleEFsaWduLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFRmxleEFsaWdu
LCAmUmVuZGVyU3R5bGU6OmZsZXhBbGlnbiwgRUZsZXhBbGlnbiwgJlJlbmRlclN0eWxlOjpzZXRG
bGV4QWxpZ24sIEVGbGV4QWxpZ24sICZSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhBbGlnbj46OmNy
ZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
RmxleEZsb3csIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVGbGV4RmxvdywgJlJlbmRlclN0eWxlOjpm
bGV4RmxvdywgRUZsZXhGbG93LCAmUmVuZGVyU3R5bGU6OnNldEZsZXhGbG93LCBFRmxleEZsb3cs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhGbG93Pjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdywgQXBwbHlQcm9wZXJ0
eUZsZXhGbG93OjpjcmVhdGVIYW5kbGVyKCkpOwogCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5Rm9udFN0eWxlLCBBcHBseVByb3BlcnR5Rm9udDxGb250SXRhbGljLCAmRm9udERl
c2NyaXB0aW9uOjppdGFsaWMsICZGb250RGVzY3JpcHRpb246OnNldEl0YWxpYywgRm9udEl0YWxp
Y09mZj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5Rm9udFZhcmlhbnQsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZGb250RGVz
Y3JpcHRpb246OnNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBzLCBGb250
U21hbGxDYXBzT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KaW5kZXggNzFiZjdlMTg3Y2JlNGUwMjk1NWI2Y2VkM2FkYTkyZmJhNGNkYzY4
Yi4uYmExYzVmNjkyMmE3ZGVlYjRjYmEyOGI5YjJkMWYyOWZmNTYwYjQyYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTQ4MiwxMSArNDgyLDEzIEBAIG11bHRpcGxl
CiAvLyBzdHJldGNoCiAKIC8vIENTU19QUk9QX0ZMRVhfRkxPVwotLy8gRklYTUU6IEFkZCB0aGUg
d3JhcCB2YWx1ZXMuCiByb3cKIHJvdy1yZXZlcnNlCiBjb2x1bW4KIGNvbHVtbi1yZXZlcnNlCisv
LyBub3dyYXAKKy8vIHdyYXAKK3dyYXAtcmV2ZXJzZQogCiAvLyBDU1NfUFJPUF9NQVJRVUVFX0RJ
UkVDVElPTgogZm9yd2FyZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggMTIzYzFmYjRlZjRiODVhN2RhMzM2MmQyMWI0YzdlM2IyY2NmY2ZmMC4u
YzQ3NzA2ZGRmZGRkNTc0MmU5N2FlYjRkOTg4NzQ3OWY2NTcxNWJkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTcyNyw2ICs3MjcsNyBAQCBw
dWJsaWM6CiAgICAgRUZsZXhBbGlnbiBmbGV4QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxFRmxleEFsaWduPihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbGV4aWJsZUJveC0+bV9m
bGV4QWxpZ24pOyB9CiAgICAgRUZsZXhGbG93IGZsZXhGbG93KCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8RUZsZXhGbG93PihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9mbGV4aWJsZUJveC0+
bV9mbGV4Rmxvdyk7IH0KICAgICBib29sIGlzQ29sdW1uRmxleEZsb3coKSBjb25zdCB7IHJldHVy
biBmbGV4RmxvdygpID09IEZsb3dDb2x1bW4gfHwgZmxleEZsb3coKSA9PSBGbG93Q29sdW1uUmV2
ZXJzZTsgfQorICAgIEVGbGV4V3JhcCBmbGV4V3JhcCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PEVGbGV4V3JhcD4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZmxleGlibGVCb3gtPm1fZmxl
eFdyYXApOyB9CiAKICNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgIGNvbnN0IFZlY3Rv
cjxMZW5ndGg+JiBncmlkQ29sdW1ucygpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWRE
YXRhLT5tX2dyaWQtPm1fZ3JpZENvbHVtbnM7IH0KQEAgLTExNDcsNiArMTE0OCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEZsZXhQYWNrKEVGbGV4UGFjayBwKSB7IFNFVF9WQVIocmFyZU5vbklu
aGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleFBhY2ssIHApOyB9CiAg
ICAgdm9pZCBzZXRGbGV4QWxpZ24oRUZsZXhBbGlnbiBhKSB7IFNFVF9WQVIocmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleEFsaWduLCBhKTsgfQogICAg
IHZvaWQgc2V0RmxleEZsb3coRUZsZXhGbG93IGZsb3cpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJp
dGVkRGF0YS5hY2Nlc3MoKS0+bV9mbGV4aWJsZUJveCwgbV9mbGV4RmxvdywgZmxvdyk7IH0KKyAg
ICB2b2lkIHNldEZsZXhXcmFwKEVGbGV4V3JhcCB3KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRl
ZERhdGEuYWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleFdyYXAsIHcpOyB9CiAjaWYgRU5B
QkxFKENTU19HUklEX0xBWU9VVCkKICAgICB2b2lkIHNldEdyaWRDb2x1bW5zKGNvbnN0IFZlY3Rv
cjxMZW5ndGg+JiBsZW5ndGhzKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNz
KCktPm1fZ3JpZCwgbV9ncmlkQ29sdW1ucywgbGVuZ3Rocyk7IH0KICAgICB2b2lkIHNldEdyaWRS
b3dzKGNvbnN0IFZlY3RvcjxMZW5ndGg+JiBsZW5ndGhzKSB7IFNFVF9WQVIocmFyZU5vbkluaGVy
aXRlZERhdGEuYWNjZXNzKCktPm1fZ3JpZCwgbV9ncmlkUm93cywgbGVuZ3Rocyk7IH0KQEAgLTE0
NzAsNiArMTQ3Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRUZsZXhQYWNrIGluaXRpYWxGbGV4
UGFjaygpIHsgcmV0dXJuIFBhY2tTdGFydDsgfQogICAgIHN0YXRpYyBFRmxleEFsaWduIGluaXRp
YWxGbGV4QWxpZ24oKSB7IHJldHVybiBBbGlnblN0cmV0Y2g7IH0KICAgICBzdGF0aWMgRUZsZXhG
bG93IGluaXRpYWxGbGV4RmxvdygpIHsgcmV0dXJuIEZsb3dSb3c7IH0KKyAgICBzdGF0aWMgRUZs
ZXhXcmFwIGluaXRpYWxGbGV4V3JhcCgpIHsgcmV0dXJuIEZsZXhOb1dyYXA7IH0KICAgICBzdGF0
aWMgaW50IGluaXRpYWxNYXJxdWVlTG9vcENvdW50KCkgeyByZXR1cm4gLTE7IH0KICAgICBzdGF0
aWMgaW50IGluaXRpYWxNYXJxdWVlU3BlZWQoKSB7IHJldHVybiA4NTsgfQogICAgIHN0YXRpYyBM
ZW5ndGggaW5pdGlhbE1hcnF1ZWVJbmNyZW1lbnQoKSB7IHJldHVybiBMZW5ndGgoNiwgRml4ZWQp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCmluZGV4IGEyMmI3ZmJiZmJhZGZkNGVhZGY4ODVkN2IzZmFkNDE0ODQyMTJl
MmIuLjBlZWY1ZDU0ZGVkZGQ0YmRmMTJiOTdjODgxNGZhOWM3YjBhMGQxZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CkBAIC0xNzcsNyArMTc3LDggQEAgZW51bSBFQm94RGlyZWN0aW9uIHsgQk5PUk1BTCwgQlJFVkVS
U0UgfTsKIAogZW51bSBFRmxleFBhY2sgeyBQYWNrU3RhcnQsIFBhY2tFbmQsIFBhY2tDZW50ZXIs
IFBhY2tKdXN0aWZ5IH07CiBlbnVtIEVGbGV4QWxpZ24geyBBbGlnblN0YXJ0LCBBbGlnbkVuZCwg
QWxpZ25DZW50ZXIsIEFsaWduU3RyZXRjaCwgQWxpZ25CYXNlbGluZSB9OwotZW51bSBFRmxleEZs
b3cgeyBGbG93Um93LCBGbG93Um93UmV2ZXJzZSwgRmxvd0NvbHVtbiwgRmxvd0NvbHVtblJldmVy
c2V9OworZW51bSBFRmxleEZsb3cgeyBGbG93Um93LCBGbG93Um93UmV2ZXJzZSwgRmxvd0NvbHVt
biwgRmxvd0NvbHVtblJldmVyc2UgfTsKK2VudW0gRUZsZXhXcmFwIHsgRmxleE5vV3JhcCwgRmxl
eFdyYXAsIEZsZXhXcmFwUmV2ZXJzZSB9OwogCiBlbnVtIEVUZXh0U2VjdXJpdHkgewogICAgIFRT
Tk9ORSwgVFNESVNDLCBUU0NJUkNMRSwgVFNTUVVBUkUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuY3BwCmluZGV4IGJhNjM5
ZjNjMjk1YjYzZTAyZjgwYzM1YzllMmJkYmJlMzE2MzNhODUuLmNhYjM3OGYxZTI0Zjc4YmU2NDJh
YTE4OTVkMmQyMDE3MGU1ZTRjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmNwcApAQCAtMzksNiArMzksNyBAQCBT
dHlsZUZsZXhpYmxlQm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoKQogICAgICwgbV9mbGV4
UGFjayhSZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhQYWNrKCkpCiAgICAgLCBtX2ZsZXhBbGlnbihS
ZW5kZXJTdHlsZTo6aW5pdGlhbEZsZXhBbGlnbigpKQogICAgICwgbV9mbGV4RmxvdyhSZW5kZXJT
dHlsZTo6aW5pdGlhbEZsZXhGbG93KCkpCisgICAgLCBtX2ZsZXhXcmFwKFJlbmRlclN0eWxlOjpp
bml0aWFsRmxleFdyYXAoKSkKIHsKIH0KIApAQCAtNTIsNiArNTMsNyBAQCBTdHlsZUZsZXhpYmxl
Qm94RGF0YTo6U3R5bGVGbGV4aWJsZUJveERhdGEoY29uc3QgU3R5bGVGbGV4aWJsZUJveERhdGEm
IG8pCiAgICAgLCBtX2ZsZXhQYWNrKG8ubV9mbGV4UGFjaykKICAgICAsIG1fZmxleEFsaWduKG8u
bV9mbGV4QWxpZ24pCiAgICAgLCBtX2ZsZXhGbG93KG8ubV9mbGV4RmxvdykKKyAgICAsIG1fZmxl
eFdyYXAoby5tX2ZsZXhXcmFwKQogewogfQogCkBAIC02MCw3ICs2Miw3IEBAIGJvb2wgU3R5bGVG
bGV4aWJsZUJveERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVGbGV4aWJsZUJveERhdGEmIG8p
IGNvbnN0CiAgICAgcmV0dXJuIG1fd2lkdGhQb3NpdGl2ZUZsZXggPT0gby5tX3dpZHRoUG9zaXRp
dmVGbGV4ICYmIG1fd2lkdGhOZWdhdGl2ZUZsZXggPT0gby5tX3dpZHRoTmVnYXRpdmVGbGV4CiAg
ICAgICAgICYmIG1faGVpZ2h0UG9zaXRpdmVGbGV4ID09IG8ubV9oZWlnaHRQb3NpdGl2ZUZsZXgg
JiYgbV9oZWlnaHROZWdhdGl2ZUZsZXggPT0gby5tX2hlaWdodE5lZ2F0aXZlRmxleAogICAgICAg
ICAmJiBtX2ZsZXhPcmRlciA9PSBvLm1fZmxleE9yZGVyICYmIG1fZmxleFBhY2sgPT0gby5tX2Zs
ZXhQYWNrICYmIG1fZmxleEFsaWduID09IG8ubV9mbGV4QWxpZ24KLSAgICAgICAgJiYgbV9mbGV4
RmxvdyA9PSBvLm1fZmxleEZsb3c7CisgICAgICAgICYmIG1fZmxleEZsb3cgPT0gby5tX2ZsZXhG
bG93ICYmIG1fZmxleFdyYXAgPT0gby5tX2ZsZXhXcmFwOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oCmluZGV4
IDUzN2FjYjlkYzE0MzYwNzhiZTllZTFjMzdlNTFlYTQ4NGI2NTZkNWIuLjUzOWYwNmRiZDBhZDJj
MTU3YTNhNjRhNjhlYTU5YWU4NDRhNGQ0OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oCkBAIC01MSw3ICs1MSw4IEBA
IHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIG1fZmxleFBhY2sgOiAyOyAvLyBFRmxleFBhY2sKICAg
ICB1bnNpZ25lZCBtX2ZsZXhBbGlnbiA6IDM7IC8vIEVGbGV4QWxpZ24KLSAgICB1bnNpZ25lZCBt
X2ZsZXhGbG93IDogNDsgLy8gRUZsZXhGbG93CisgICAgdW5zaWduZWQgbV9mbGV4RmxvdyA6IDI7
IC8vIEVGbGV4RmxvdworICAgIHVuc2lnbmVkIG1fZmxleFdyYXAgOiAyOyAvLyBFRmxleFdyYXAK
IAogcHJpdmF0ZToKICAgICBTdHlsZUZsZXhpYmxlQm94RGF0YSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVmN2U0ZmZi
ODA2MDNiOWI1NWNiNzg4ZTM1NmE0ZTVjYWQwMmQxNGUuLjI4N2Q3ZWNmMmQxOTg3YTRhMTQ4NWNi
NTIxNGIwMDA2YjU2ZjBlNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0wOSAgVG9u
eSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGFkZCBjc3MgcGFyc2luZyBm
b3IgZmxleC1mbG93OiB3cmFwIGFuZCB3cmFwLXJldmVyc2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
T2phbiBWYWZhaS4KKworICAgICAgICAqIGNzczMvZmxleGJveC9jc3MtcHJvcGVydGllcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogY3NzMy9mbGV4Ym94L3NjcmlwdC10ZXN0cy9jc3MtcHJvcGVy
dGllcy5qczogVGVzdCBjYWxsIGNvbWJpbmF0aW9ucyBvZiBmbGV4LWZsb3cgdmFsdWVzLgorCiAy
MDExLTEyLTA5ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtN
dXRhdGlvbk9ic2VydmVyc10gQWRkIHRlc3QgZm9yIGRlbGl2ZXItYXQtZW5kLW9mLXRhc2sgc2Vt
YW50aWNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY3NzLXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Nzcy1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dAppbmRleCBmYjE3YTE0NjZkZTliMWUwOTk2ZWYxNmFiNzYxMjcxZDc0MTNl
ZjFiLi4zZjJmYzk1N2NlZGVkNGQ4NmE3MWE2NWE0ZDdiNmQwNjUxNmZlMTQxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvY3NzLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9jc3MtcHJvcGVydGllcy1leHBlY3RlZC50eHQK
QEAgLTQ0LDE2ICs0NCw1MiBAQCBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gs
IG51bGwpLndlYmtpdEZsZXhBbGlnbiBpcyAiYmFzZWxpbmUiCiBQQVNTIGZsZXhib3guc3R5bGUu
d2Via2l0RmxleEFsaWduIGlzICIiCiBQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhi
b3gsIG51bGwpLndlYmtpdEZsZXhBbGlnbiBpcyAic3RyZXRjaCIKIFBBU1MgZmxleGJveC5zdHls
ZS53ZWJraXRGbGV4RmxvdyBpcyAiIgotUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4
Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93IG5vd3JhcCIKIFBB
U1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiIgorUEFTUyBmbGV4Ym94LnN0eWxl
LndlYmtpdEZsZXhGbG93IGlzICIiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhi
b3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3cgbm93cmFwIgorUEFTUyBmbGV4Ym94LnN0
eWxlLndlYmtpdEZsZXhGbG93IGlzICJyb3cgbm93cmFwIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93IG5vd3JhcCIKK1BB
U1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdyYXAiCitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3cg
d3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdyYXAtcmV2
ZXJzZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0
RmxleEZsb3cgaXMgInJvdyB3cmFwLXJldmVyc2UiCiBQQVNTIGZsZXhib3guc3R5bGUud2Via2l0
RmxleEZsb3cgaXMgInJvdyIKLVBBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwg
bnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdyIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgInJvdyBub3dyYXAiCitQQVNTIGZs
ZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgInJvdyBub3dyYXAiCitQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3cgbm93
cmFwIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJyb3cgd3JhcCIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cg
aXMgInJvdyB3cmFwIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJyb3cg
d3JhcC1yZXZlcnNlIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxs
KS53ZWJraXRGbGV4RmxvdyBpcyAicm93IHdyYXAtcmV2ZXJzZSIKIFBBU1MgZmxleGJveC5zdHls
ZS53ZWJraXRGbGV4RmxvdyBpcyAicm93LXJldmVyc2UiCi1QQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJyb3ctcmV2ZXJzZSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cg
aXMgInJvdy1yZXZlcnNlIG5vd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4Rmxv
dyBpcyAicm93LXJldmVyc2Ugbm93cmFwIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShm
bGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93LXJldmVyc2Ugbm93cmFwIgorUEFT
UyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJyb3ctcmV2ZXJzZSB3cmFwIgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBp
cyAicm93LXJldmVyc2Ugd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBp
cyAicm93LXJldmVyc2Ugd3JhcC1yZXZlcnNlIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAicm93LXJldmVyc2Ugd3JhcC1yZXZl
cnNlIgogUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICJjb2x1bW4iCi1QQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlz
ICJjb2x1bW4iCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndl
YmtpdEZsZXhGbG93IGlzICJjb2x1bW4gbm93cmFwIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtp
dEZsZXhGbG93IGlzICJjb2x1bW4gbm93cmFwIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1uIG5vd3JhcCIKK1BBU1Mg
ZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1uIHdyYXAiCitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93IGlzICJjb2x1
bW4gd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1uIHdy
YXAtcmV2ZXJzZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCku
d2Via2l0RmxleEZsb3cgaXMgImNvbHVtbiB3cmFwLXJldmVyc2UiCiBQQVNTIGZsZXhib3guc3R5
bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZlcnNlIgotUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1uLXJldmVy
c2UiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZs
ZXhGbG93IGlzICJjb2x1bW4tcmV2ZXJzZSBub3dyYXAiCitQQVNTIGZsZXhib3guc3R5bGUud2Vi
a2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZlcnNlIG5vd3JhcCIKK1BBU1Mgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZl
cnNlIG5vd3JhcCIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiY29sdW1u
LXJldmVyc2Ugd3JhcCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVs
bCkud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZlcnNlIHdyYXAiCitQQVNTIGZsZXhib3gu
c3R5bGUud2Via2l0RmxleEZsb3cgaXMgImNvbHVtbi1yZXZlcnNlIHdyYXAtcmV2ZXJzZSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cg
aXMgImNvbHVtbi1yZXZlcnNlIHdyYXAtcmV2ZXJzZSIKK1BBU1MgZmxleGJveC5zdHlsZS53ZWJr
aXRGbGV4RmxvdyBpcyAiIgorUEFTUyBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93IGlzICIi
CitQQVNTIGZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cgaXMgIiIKK1BBU1MgZmxleGJveC5z
dHlsZS53ZWJraXRGbGV4RmxvdyBpcyAiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
c2NyaXB0LXRlc3RzL2Nzcy1wcm9wZXJ0aWVzLmpzIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94
L3NjcmlwdC10ZXN0cy9jc3MtcHJvcGVydGllcy5qcwppbmRleCAyOTEzOWRhMzc4OTgxMzc0Mzkz
MDdjNTVlZDhmODk0NTNjYjM4NmNjLi5iNjMwMjgwNzY5YTA5YTE5ZTNiMDZmYTdiNWQ3OTY5YmZh
NjU3YzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvc2NyaXB0LXRlc3Rz
L2Nzcy1wcm9wZXJ0aWVzLmpzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9zY3JpcHQt
dGVzdHMvY3NzLXByb3BlcnRpZXMuanMKQEAgLTEwMSwyNSArMTAxLDMzIEBAIHNob3VsZEJlRXF1
YWxUb1N0cmluZygnZmxleGJveC5zdHlsZS53ZWJraXRGbGV4QWxpZ24nLCAnJyk7CiBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndl
YmtpdEZsZXhBbGlnbicsICdzdHJldGNoJyk7CiAKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZmxl
eGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdycsICcnKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygn
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cnLCAn
cm93Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZs
ZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93JywgJ3JvdyBub3dyYXAnKTsKIAogZmxleGJveC5z
dHlsZS53ZWJraXRGbGV4RmxvdyA9ICdmb28nOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4
Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93JywgJycpOwogCi1mbGV4Ym94LnN0eWxlLndlYmtpdEZs
ZXhGbG93ID0gJ3Jvdyc7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Vi
a2l0RmxleEZsb3cnLCAncm93Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3dpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93JywgJ3JvdycpOwotCi1m
bGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ3Jvdy1yZXZlcnNlJzsKLXNob3VsZEJlRXF1
YWxUb1N0cmluZygnZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdycsICdyb3ctcmV2ZXJzZScp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94
LCBudWxsKS53ZWJraXRGbGV4RmxvdycsICdyb3ctcmV2ZXJzZScpOwotCi1mbGV4Ym94LnN0eWxl
LndlYmtpdEZsZXhGbG93ID0gJ2NvbHVtbic7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhi
b3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAnY29sdW1uJyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGZsZXhib3gsIG51bGwpLndlYmtpdEZsZXhGbG93
JywgJ2NvbHVtbicpOwotCi1mbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ2NvbHVtbi1y
ZXZlcnNlJzsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnZmxleGJveC5zdHlsZS53ZWJraXRGbGV4
RmxvdycsICdjb2x1bW4tcmV2ZXJzZScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShmbGV4Ym94LCBudWxsKS53ZWJraXRGbGV4RmxvdycsICdjb2x1bW4t
cmV2ZXJzZScpOwordmFyIGZsb3dzID0gWycnLCAncm93JywgJ3Jvdy1yZXZlcnNlJywgJ2NvbHVt
bicsICdjb2x1bW4tcmV2ZXJzZSddOwordmFyIHdyYXBzID0gWycnLCAnbm93cmFwJywgJ3dyYXAn
LCAnd3JhcC1yZXZlcnNlJ107CitmbG93cy5mb3JFYWNoKGZ1bmN0aW9uKGZsb3cpIHsKKyAgICB3
cmFwcy5mb3JFYWNoKGZ1bmN0aW9uKHdyYXApIHsKKyAgICAgICAgZmxleGJveC5zdHlsZS53ZWJr
aXRGbGV4RmxvdyA9IGZsb3cgKyAnICcgKyB3cmFwOworICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAoZmxvdyArICcgJyArIHdyYXAp
LnJlcGxhY2UoL14gLywgJycpLnJlcGxhY2UoLyAkLywgJycpKTsKKyAgICAgICAgaWYgKCFmbG93
KQorICAgICAgICAgICAgZmxvdyA9ICdyb3cnOworICAgICAgICBpZiAoIXdyYXApCisgICAgICAg
ICAgICB3cmFwID0gJ25vd3JhcCc7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZmxleGJveCwgbnVsbCkud2Via2l0RmxleEZsb3cnLCBmbG93
ICsgJyAnICsgd3JhcCk7CisgICAgfSk7Cit9KTsKKworZmxleGJveC5zdHlsZS53ZWJraXRGbGV4
RmxvdyA9ICcnOworZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICd3cmFwIHdyYXAtcmV2
ZXJzZSc7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZs
b3cnLCAnJyk7CitmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ3dyYXAtcmV2ZXJzZSBj
b2x1bW4nOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhG
bG93JywgJycpOworZmxleGJveC5zdHlsZS53ZWJraXRGbGV4RmxvdyA9ICd3cmFwIHJvdyc7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2ZsZXhib3guc3R5bGUud2Via2l0RmxleEZsb3cnLCAnJyk7
CitmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93ID0gJ2NvbHVtbiByb3cnOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhGbG93JywgJycpOwogCiBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>