<?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>216756</bug_id>
          
          <creation_ts>2020-09-20 17:37:25 -0700</creation_ts>
          <short_desc>Selection API: A few more refinements to DOMSelection and VisibleSelection to pass all WPT tests</short_desc>
          <delta_ts>2020-09-21 13:24:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216325</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690236</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-20 17:37:25 -0700</bug_when>
    <thetext>Selection API: A few more refinements to DOMSelection and VisibleSelection to pass all WPT tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690237</commentid>
    <comment_count>1</comment_count>
      <attachid>409253</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-20 17:50:36 -0700</bug_when>
    <thetext>Created attachment 409253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690238</commentid>
    <comment_count>2</comment_count>
      <attachid>409254</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-20 17:56:12 -0700</bug_when>
    <thetext>Created attachment 409254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690246</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-20 21:09:10 -0700</bug_when>
    <thetext>Apparently changing how the selection direction is computed causes a change to this test result (editing/inserting/insert-list-in-table-cell-07.html). It’s not obviously making anything worse, but also not obviously better. I am thinking this is another case where re-basing is the right thing to do.

The user-visible change is that the selection ends up inside the first table cell, where in the older case the selected ended up outside the table. Neither result seems right to me. I’d like to see the whole table end up selected and I don’t understand why that doesn’t happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690248</commentid>
    <comment_count>4</comment_count>
      <attachid>409259</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-20 21:39:41 -0700</bug_when>
    <thetext>Created attachment 409259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690369</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-21 11:51:19 -0700</bug_when>
    <thetext>All green on EWS, ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690442</commentid>
    <comment_count>6</comment_count>
      <attachid>409259</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-21 12:45:20 -0700</bug_when>
    <thetext>Comment on attachment 409259
Patch

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

&gt; LayoutTests/ChangeLog:13
&gt; +        the current beahvior, before this patch and after, yields an insertion point.

Misspelled behavior here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690455</commentid>
    <comment_count>7</comment_count>
      <attachid>409259</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-09-21 13:01:03 -0700</bug_when>
    <thetext>Comment on attachment 409259
Patch

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

&gt; Source/WebCore/editing/VisibleSelection.h:160
&gt; +    bool m_anchorIsFirst : 1; // True if the anchor is before the focus.
&gt; +    bool m_isDirectional : 1; // On Mac, Shift-arrow keys move the anchor in a directional selection and moves either end to always extend in a non-directional selection.

This is a bit tangential but it seems totally unnecessary to use bitfields here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690472</commentid>
    <comment_count>8</comment_count>
      <attachid>409259</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-21 13:16:41 -0700</bug_when>
    <thetext>Comment on attachment 409259
Patch

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

&gt;&gt; Source/WebCore/editing/VisibleSelection.h:160
&gt;&gt; +    bool m_isDirectional : 1; // On Mac, Shift-arrow keys move the anchor in a directional selection and moves either end to always extend in a non-directional selection.
&gt; 
&gt; This is a bit tangential but it seems totally unnecessary to use bitfields here.

I agree. I was just thinking about that last night, in fact!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690478</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-21 13:23:31 -0700</bug_when>
    <thetext>Committed r267362: &lt;https://trac.webkit.org/changeset/267362&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690480</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-21 13:24:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/69323482&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409253</attachid>
            <date>2020-09-20 17:50:36 -0700</date>
            <delta_ts>2020-09-20 17:58:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216756-20200920175035.patch</filename>
            <type>text/plain</type>
            <size>14115</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg2ZjdiZjUxYWZjM2Nl
YzM4ZDNiNjVjZmNhOGIxYjYzY2U5NjE3Yi4uMWVmOWYyOTU1YWVkODlmNGViZTk4OTNiYzc5ZDUw
ZTgyNWE2NDdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTA5LTIwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQVBJOiBBIGZl
dyBtb3JlIHJlZmluZW1lbnRzIHRvIERPTVNlbGVjdGlvbiBhbmQgVmlzaWJsZVNlbGVjdGlvbiB0
byBwYXNzIGFsbCBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNjc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFmdGVyIHRoZXNlIGNoYW5nZXMsIHdlIHBhc3MgYWxsIHRoZSB0ZXN0cyBp
biBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbgorICAgICAgICB3aXRo
IG5vIGZhaWx1cmVzIGV4Y2VwdCBmb3Igb25lIGR1ZSB0byB0aGUgcnVsZXMgYWJvdXQgYWJzb3Ji
aW5nIG5ld2xpbmVzIGF0IHRoZSBzdGFydAorICAgICAgICBhbmQgZW5kIDxzdHlsZT4gYW5kIDxz
Y3JpcHQ+IGVsZW1lbnRzLgorCisgICAgICAgIEhvd2V2ZXIsIHRoYXQncyB3aXRoIHRoZSBsaXZl
IHNlbGVjdGlvbiByYW5nZSBmZWF0dXJlIGVuYWJsZWQsIGFuZCB0aGVyZSBhcmUgbGlrZWx5IGlz
c3VlcworICAgICAgICB3aXRoIG90aGVyIHRlc3RzIGluIHRoYXQgbW9kZSwgc28gdGhhdCB0ZXN0
aW5nIHN0aWxsIG5lZWRzIHRvIGJlIGRvbmUuIFRoZW4gd2UgYWxzbyBoYXZlIHRvCisgICAgICAg
IGRlY2lkZSBob3cgd2UgYXJlIGdvaW5nIHRvIGRlYWwgd2l0aCB0aGUgY29tcGF0aWJpbGl0eSBy
aXNrIG9mIGNoYW5naW5nIHRoZSBiZWhhdmlvciB0bworICAgICAgICBtYXRjaCB0aGUgc3RhbmRh
cmQuCisKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6VmlzaWJsZVNlbGVjdGlvbik6IFVwZGF0ZWQgdG8g
cmVuYW1lIG1fYmFzZUlzRmlyc3QgdG8KKyAgICAgICAgbV9hbmNob3JJc0ZpcnN0LiBOb3QgcmVx
dWlyZWQgZm9yIHRoZSBmaXgsIGJ1dCBoZWxwZnVsIGZvciBjbGFyaXR5LgorICAgICAgICAoV2Vi
Q29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6dW5jYW5vbmljYWxpemVkU3RhcnQgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnVuY2Fub25pY2FsaXplZEVu
ZCBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6c2V0
QmFzZUFuZEV4dGVudFRvRGVlcEVxdWl2YWxlbnRzKTogQ29tcHV0ZSB3aGV0aGVyCisgICAgICAg
IHRoZSBhbmNob3IgaXMgZmlyc3QgKmJlZm9yZSogY2Fub25pY2FsaXphdGlvbiwgb3RoZXJ3aXNl
IHdlIHdpbGwgcmV2ZXJzZSB0aGUgdHdvCisgICAgICAgIGlmIHRoZWlyIGNhbm9uaWNhbCB2YWx1
ZXMgYXJlIGVxdWFsLiBDYW5vbmljYWxpemF0aW9uIGlzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZQor
ICAgICAgICB0aGUgb3JkZXJpbmcgb3RoZXIgdGhhbiBtYWtpbmcgdHdvIHZhbHVlcyBlcXVhbC4K
KyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnZhbGlkYXRlKTogVXBkYXRlZCBm
b3IgbmFtZS4KKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnNldFdpdGhvdXRW
YWxpZGF0aW9uKTogRGl0dG8sIGFsc28gdHdlYWtlZCBvdGhlciBuYW1lcyBpbiB0aGUKKyAgICAg
ICAgZnVuY3Rpb24gYW5kIHJlbW92ZWQgYW4gaWYgc3RhdGVtZW50LgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nU2hhZG93
Qm91bmRhcmllcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6
YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nRWRpdGluZ0JvdW5kYXJpZXMpOiBEaXR0by4K
KworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oOiBSZW5hbWVkIG1fYmFzZUlz
Rmlyc3QgdG8gbV9hbmNob3JJc0ZpcnN0IGFuZCBpbXByb3ZlZCB0aGUKKyAgICAgICAgY29tbWVu
dCBhYm91dCBtX2lzRGlyZWN0aW9uYWwuCisKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmFuY2hvclBvc2l0aW9uIGNvbnN0
KTogUmVtb3ZlZCB1c2Ugb2YgcGFyZW50QW5jaG9yZWRFcXVpdmFsZW50LgorICAgICAgICBUaGUg
bmFtZSBtYWtlcyBpdCBzb3VuZCBsaWtlIGl0IHdvdWxkIGJlIHVzZWZ1bCwgYnV0IHJlYWxseSBp
dCBqdXN0IHRyaWdnZXJzIHNvbWUKKyAgICAgICAgZWRpdGluZyBiZWhhdmlvcnMgdGhhdCBkb24n
dCBiZWxvbmcgaW4gUG9zaXRpb24gY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlv
bjo6Zm9jdXNQb3NpdGlvbiBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2Vs
ZWN0aW9uOjpiYXNlUG9zaXRpb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRP
TVNlbGVjdGlvbjo6ZXh0ZW50UG9zaXRpb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkRPTVNlbGVjdGlvbjo6Y29sbGFwc2UpOiBSZXZlcnNlZCB0aGUgb3JkZXIgb2YgdGhlIGRv
Y3VtZW50IGNoZWNrIGFuZCB0aGUKKyAgICAgICAgY2hlY2sgZm9yIGludmFsaWQgbm9kZXMgYW5k
IG9mZnNldHMuIFRoZXJlIGFyZSBzb21lIGluY29uc2lzdGVuY2llcyBiZXR3ZWVuIHRoZQorICAg
ICAgICBzcGVjaWZpY2F0aW9uIGFuZCBXUFQgYnV0IGZvciBub3cgbWF0Y2hpbmcgV1BUIHNlZW1z
IGxpa2UgdGhlIHdheSB0byBnby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6c2V0
QmFzZUFuZEV4dGVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpl
eHRlbmQpOiBVc2UgVmlzaWJsZVNlbGVjdGlvbjo6c2V0RXh0ZW50LCB3aGljaCBkb2VzIGV4YWN0
bHkKKyAgICAgICAgd2hhdCB3ZSB3YW50LCByYXRoZXIgdGhhbiBGcmFtZVNlbGVjdGlvbjo6c2V0
RXh0ZW50LCB3aGljaCBkb2VzIG5vdC4gSW4gdGhlIGZ1dHVyZQorICAgICAgICB3ZSBtYXkgd2Fu
dCB0byBjdXQgZG93biBvbiB0aGUgbnVtYmVyIG9mIHN1YnRseS1kaWZmZXJlbnQgc2VsZWN0aW9u
IGZ1bmN0aW9ucywKKyAgICAgICAgbGlrZSB0aGVzZSB0d28sIGJ1dCBmb3Igbm93IHRoaXMgZml4
ZXMgdGhpcyBET00gbWV0aG9kIHRvIHdvcmsgYXMgc3BlY2lmaWVkLgorCiAyMDIwLTA5LTIwICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBTZWxlY3Rpb24gQVBJOiBG
dXJ0aGVyIGltcHJvdmVtZW50cyB0byBWaXNpYmxlU2VsZWN0aW9uLCBGcmFtZVNlbGVjdGlvbiwg
YW5kIERPTVNlbGVjdGlvbiB0byBwcmVzZXJ2ZSBhbmNob3IgYW5kIGZvY3VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAppbmRleCAxYzc5MzUxODI1MjAyYjhi
NTExN2Q3MjM4MjliNjYwYmU2N2QxYWMxLi43MmMyZTE0ZjRjNTUwZDg4YjYxODdkY2E2Y2E4NDAw
ZTFjYmQzN2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxl
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5j
cHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogVmlzaWJsZVNlbGVj
dGlvbjo6VmlzaWJsZVNlbGVjdGlvbigpCi0gICAgOiBtX2Jhc2VJc0ZpcnN0KHRydWUpCisgICAg
OiBtX2FuY2hvcklzRmlyc3QodHJ1ZSkKICAgICAsIG1faXNEaXJlY3Rpb25hbChmYWxzZSkKIHsK
IH0KQEAgLTk4LDEyICs5OCwxMiBAQCBQb3NpdGlvbiBWaXNpYmxlU2VsZWN0aW9uOjpmb2N1cygp
IGNvbnN0CiAKIFBvc2l0aW9uIFZpc2libGVTZWxlY3Rpb246OnVuY2Fub25pY2FsaXplZFN0YXJ0
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9iYXNlSXNGaXJzdCA/IG1fYW5jaG9yIDogbV9mb2N1
czsKKyAgICByZXR1cm4gbV9hbmNob3JJc0ZpcnN0ID8gbV9hbmNob3IgOiBtX2ZvY3VzOwogfQog
CiBQb3NpdGlvbiBWaXNpYmxlU2VsZWN0aW9uOjp1bmNhbm9uaWNhbGl6ZWRFbmQoKSBjb25zdAog
ewotICAgIHJldHVybiBtX2Jhc2VJc0ZpcnN0ID8gbV9mb2N1cyA6IG1fYW5jaG9yOworICAgIHJl
dHVybiBtX2FuY2hvcklzRmlyc3QgPyBtX2ZvY3VzIDogbV9hbmNob3I7CiB9CiAKIE9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBWaXNpYmxlU2VsZWN0aW9uOjpyYW5nZSgpIGNvbnN0CkBAIC0yMjUsMTMg
KzIyNSwxMyBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OnNldEJhc2VBbmRFeHRlbnRUb0RlZXBF
cXVpdmFsZW50cygpCiAgICAgaWYgKG1fZm9jdXMuaXNOdWxsKCkpCiAgICAgICAgIG1fZm9jdXMg
PSBtX2FuY2hvcjsKIAorICAgIG1fYW5jaG9ySXNGaXJzdCA9IG1fYW5jaG9yIDw9IG1fZm9jdXM7
CisKICAgICBtX2Jhc2UgPSBWaXNpYmxlUG9zaXRpb24obV9hbmNob3IsIG1fYWZmaW5pdHkpLmRl
ZXBFcXVpdmFsZW50KCk7CiAgICAgaWYgKG1fYW5jaG9yID09IG1fZm9jdXMpCiAgICAgICAgIG1f
ZXh0ZW50ID0gbV9iYXNlOwogICAgIGVsc2UKICAgICAgICAgbV9leHRlbnQgPSBWaXNpYmxlUG9z
aXRpb24obV9mb2N1cywgbV9hZmZpbml0eSkuZGVlcEVxdWl2YWxlbnQoKTsKLQotICAgIG1fYmFz
ZUlzRmlyc3QgPSBtX2Jhc2UgPD0gbV9leHRlbnQ7CiB9CiAKIHZvaWQgVmlzaWJsZVNlbGVjdGlv
bjo6YWRqdXN0U2VsZWN0aW9uUmVzcGVjdGluZ0dyYW51bGFyaXR5KFRleHRHcmFudWxhcml0eSBn
cmFudWxhcml0eSkKQEAgLTM3NSw4ICszNzUsOCBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OnZh
bGlkYXRlKFRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBzZXRCYXNlQW5kRXh0
ZW50VG9EZWVwRXF1aXZhbGVudHMoKTsKIAotICAgIG1fc3RhcnQgPSBtX2Jhc2VJc0ZpcnN0ID8g
bV9iYXNlIDogbV9leHRlbnQ7Ci0gICAgbV9lbmQgPSBtX2Jhc2VJc0ZpcnN0ID8gbV9leHRlbnQg
OiBtX2Jhc2U7CisgICAgbV9zdGFydCA9IG1fYW5jaG9ySXNGaXJzdCA/IG1fYmFzZSA6IG1fZXh0
ZW50OworICAgIG1fZW5kID0gbV9hbmNob3JJc0ZpcnN0ID8gbV9leHRlbnQgOiBtX2Jhc2U7CiAK
ICAgICBhdXRvIHN0YXJ0QmVmb3JlQWRqdXN0bWVudHMgPSBtX3N0YXJ0OwogICAgIGF1dG8gZW5k
QmVmb3JlQWRqdXN0bWVudHMgPSBtX2VuZDsKQEAgLTQwOSwzOCArNDA5LDMyIEBAIHZvaWQgVmlz
aWJsZVNlbGVjdGlvbjo6dmFsaWRhdGUoVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogICAg
IH0KIAogICAgIGlmIChzaG91bGRVcGRhdGVBbmNob3IpIHsKLSAgICAgICAgbV9hbmNob3IgPSBt
X2Jhc2VJc0ZpcnN0ID8gbV9zdGFydCA6IG1fZW5kOworICAgICAgICBtX2FuY2hvciA9IG1fYW5j
aG9ySXNGaXJzdCA/IG1fc3RhcnQgOiBtX2VuZDsKICAgICAgICAgbV9iYXNlID0gbV9hbmNob3I7
CiAgICAgfQogICAgIGlmIChzaG91bGRVcGRhdGVGb2N1cykgewotICAgICAgICBtX2ZvY3VzID0g
bV9iYXNlSXNGaXJzdCA/IG1fZW5kIDogbV9zdGFydDsKKyAgICAgICAgbV9mb2N1cyA9IG1fYW5j
aG9ySXNGaXJzdCA/IG1fZW5kIDogbV9zdGFydDsKICAgICAgICAgbV9leHRlbnQgPSBtX2ZvY3Vz
OwogICAgIH0KIH0KIAotLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gYnJlYWtzIHRoZSBpbnZhcmlh
bnQgb2YgdGhpcyBjbGFzcy4KLS8vIEJ1dCBiZWNhdXNlIHdlIHVzZSBWaXNpYmxlU2VsZWN0aW9u
IHRvIHN0b3JlIHZhbHVlcyBpbiBlZGl0aW5nIGNvbW1hbmRzIGZvciB1c2Ugd2hlbgotLy8gdW5k
b2luZyB0aGUgY29tbWFuZCwgd2UgbmVlZCB0byBiZSBhYmxlIHRvIGNyZWF0ZSBhIHNlbGVjdGlv
biB0aGF0IHdoaWxlIGN1cnJlbnRseQorLy8gQmVjYXVzZSB3ZSB1c2UgVmlzaWJsZVNlbGVjdGlv
biB0byBzdG9yZSB2YWx1ZXMgaW4gZWRpdGluZyBjb21tYW5kcyBmb3IgdXNlIHdoZW4KKy8vIHVu
ZG9pbmcgdGhlIGNvbW1hbmQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBjcmVhdGUgYSBzZWxlY3Rp
b24gdGhhdCwgd2hpbGUgY3VycmVudGx5CiAvLyBpbnZhbGlkLCB3aWxsIGJlIHZhbGlkIG9uY2Ug
dGhlIGNoYW5nZXMgYXJlIHVuZG9uZS4gVGhpcyBpcyBhIGRlc2lnbiBwcm9ibGVtLgotLy8gVG8g
Zml4IGl0IHdlIGVpdGhlciBuZWVkIHRvIGNoYW5nZSB0aGUgaW52YXJpYW50cyBvZiBWaXNpYmxl
U2VsZWN0aW9uIG9yIGNyZWF0ZSBhIG5ldwotLy8gY2xhc3MgZm9yIGVkaXRpbmcgdG8gdXNlIHRo
YXQgY2FuIG1hbmlwdWxhdGUgc2VsZWN0aW9ucyB0aGF0IGFyZSBub3QgY3VycmVudGx5IHZhbGlk
Lgotdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjpzZXRXaXRob3V0VmFsaWRhdGlvbihjb25zdCBQb3Np
dGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpb24mIGV4dGVudCkKKy8vIFRoZSBiZXN0IGZpeCBpcyBs
aWtlbHkgdG8gZ2V0IHJpZCBvZiBjYW5vbmljYWxpemF0aW9uIGZyb20gVmlzaWJsZVNlbGVjdGlv
biBlbnRpcmVseSwKKy8vIGFuZCB0aGVuIHJlbW92ZSB0aGlzIGZ1bmN0aW9uLgordm9pZCBWaXNp
YmxlU2VsZWN0aW9uOjpzZXRXaXRob3V0VmFsaWRhdGlvbihjb25zdCBQb3NpdGlvbiYgYW5jaG9y
LCBjb25zdCBQb3NpdGlvbiYgZm9jdXMpCiB7Ci0gICAgQVNTRVJUKGJhc2UuaXNOdWxsKCkgPT0g
ZXh0ZW50LmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoYW5jaG9yLmlzTnVsbCgpID09IGZvY3VzLmlz
TnVsbCgpKTsKICAgICBBU1NFUlQobV9hZmZpbml0eSA9PSBBZmZpbml0eTo6RG93bnN0cmVhbSk7
Ci0gICAgbV9hbmNob3IgPSBiYXNlOwotICAgIG1fZm9jdXMgPSBleHRlbnQ7Ci0gICAgbV9iYXNl
ID0gYmFzZTsKLSAgICBtX2V4dGVudCA9IGV4dGVudDsKLSAgICBtX2Jhc2VJc0ZpcnN0ID0gYmFz
ZSA8PSBleHRlbnQ7Ci0gICAgaWYgKG1fYmFzZUlzRmlyc3QpIHsKLSAgICAgICAgbV9zdGFydCA9
IGJhc2U7Ci0gICAgICAgIG1fZW5kID0gZXh0ZW50OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1f
c3RhcnQgPSBleHRlbnQ7Ci0gICAgICAgIG1fZW5kID0gYmFzZTsKLSAgICB9Ci0gICAgbV90eXBl
ID0gYmFzZSA9PSBleHRlbnQgPyBUeXBlOjpDYXJldCA6IFR5cGU6OlJhbmdlOworICAgIG1fYW5j
aG9yID0gYW5jaG9yOworICAgIG1fZm9jdXMgPSBmb2N1czsKKyAgICBtX2FuY2hvcklzRmlyc3Qg
PSBtX2FuY2hvciA8PSBtX2ZvY3VzOworICAgIG1fYmFzZSA9IGFuY2hvcjsKKyAgICBtX2V4dGVu
dCA9IGZvY3VzOworICAgIG1fc3RhcnQgPSBtX2FuY2hvcklzRmlyc3QgPyBhbmNob3IgOiBmb2N1
czsKKyAgICBtX2VuZCA9IG1fYW5jaG9ySXNGaXJzdCA/IGZvY3VzIDogYW5jaG9yOworICAgIG1f
dHlwZSA9IGFuY2hvciA9PSBmb2N1cyA/IFR5cGU6OkNhcmV0IDogVHlwZTo6UmFuZ2U7CiB9CiAK
IFBvc2l0aW9uIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uRm9yRW5kKGNvbnN0IFBv
c2l0aW9uJiBjdXJyZW50UG9zaXRpb24sIE5vZGUqIHN0YXJ0Q29udGFpbmVyTm9kZSkKQEAgLTUx
Miw3ICs1MDYsNyBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFNlbGVjdGlvblRvQXZv
aWRDcm9zc2luZ1NoYWRvd0JvdW5kYXJpZXMoKQogICAgIH0KIAogICAgIC8vIENvcnJlY3QgdGhl
IGZvY3VzIGlmIG5lY2Vzc2FyeS4KLSAgICBpZiAobV9iYXNlSXNGaXJzdCkgeworICAgIGlmICht
X2FuY2hvcklzRmlyc3QpIHsKICAgICAgICAgbV9leHRlbnQgPSBhZGp1c3RQb3NpdGlvbkZvckVu
ZChtX2VuZCwgbV9zdGFydC5jb250YWluZXJOb2RlKCkpOwogICAgICAgICBtX2VuZCA9IG1fZXh0
ZW50OwogICAgIH0gZWxzZSB7CkBAIC02MjEsNyArNjE1LDcgQEAgdm9pZCBWaXNpYmxlU2VsZWN0
aW9uOjphZGp1c3RTZWxlY3Rpb25Ub0F2b2lkQ3Jvc3NpbmdFZGl0aW5nQm91bmRhcmllcygpCiAg
ICAgCiAgICAgLy8gQ29ycmVjdCB0aGUgZm9jdXMgaWYgbmVjZXNzYXJ5LgogICAgIGlmIChiYXNl
RWRpdGFibGVBbmNlc3RvciAhPSBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKG1fZXh0ZW50LmNvbnRh
aW5lck5vZGUoKSkpIHsKLSAgICAgICAgbV9leHRlbnQgPSBtX2Jhc2VJc0ZpcnN0ID8gbV9lbmQg
OiBtX3N0YXJ0OworICAgICAgICBtX2V4dGVudCA9IG1fYW5jaG9ySXNGaXJzdCA/IG1fZW5kIDog
bV9zdGFydDsKICAgICAgICAgbV9mb2N1cyA9IG1fZXh0ZW50OwogICAgIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKaW5kZXggNzNhMmJkZGEzYTY0NGUyMjY4
NjEyZjBhMmRhNjEyMjZjMTNhMzM0ZS4uZmIxOTI0MzFmNGUxM2I0ZmQ1ZjRlZTIwZmU3N2E0YjBl
YzFjZTlkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKQEAg
LTE1Niw4ICsxNTYsOCBAQCBwcml2YXRlOgogICAgIC8vIFRoZXNlIGFyZSBjYWNoZWQsIGNhbiBi
ZSByZWNhbGN1bGF0ZWQgYnkgdmFsaWRhdGUoKQogICAgIGVudW0gY2xhc3MgVHlwZSA6IHVpbnQ4
X3QgeyBOb25lLCBDYXJldCwgUmFuZ2UgfTsKICAgICBUeXBlIG1fdHlwZSB7IFR5cGU6Ok5vbmUg
fTsKLSAgICBib29sIG1fYmFzZUlzRmlyc3QgOiAxOyAvLyBUcnVlIGlmIGJhc2UgaXMgYmVmb3Jl
IHRoZSBleHRlbnQuCi0gICAgYm9vbCBtX2lzRGlyZWN0aW9uYWwgOiAxOyAvLyBOb24tZGlyZWN0
aW9uYWwgaWdub3JlcyBtX2Jhc2VJc0ZpcnN0IGFuZCBzZWxlY3Rpb24gYWx3YXlzIGV4dGVuZHMg
b24gc2hpZnQgKyBhcnJvdyBrZXkuCisgICAgYm9vbCBtX2FuY2hvcklzRmlyc3QgOiAxOyAvLyBU
cnVlIGlmIHRoZSBhbmNob3IgaXMgYmVmb3JlIHRoZSBmb2N1cy4KKyAgICBib29sIG1faXNEaXJl
Y3Rpb25hbCA6IDE7IC8vIE9uIE1hYywgU2hpZnQtYXJyb3cga2V5cyBtb3ZlIHRoZSBhbmNob3Ig
aW4gYSBkaXJlY3Rpb25hbCBzZWxlY3Rpb24gYW5kIG1vdmVzIGVpdGhlciBlbmQgdG8gYWx3YXlz
IGV4dGVuZCBpbiBhIG5vbi1kaXJlY3Rpb25hbCBzZWxlY3Rpb24uCiB9OwogCiBpbmxpbmUgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIGEsIGNvbnN0IFZpc2libGVTZWxl
Y3Rpb24mIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKaW5kZXggMWI0ZWJmYWRm
NzE3M2NmM2U1YmMxN2RiZmY2YzBjNGE0MDNiMTA3MS4uYWMzYjYxOTNhNWQ2MTI5NjYwNTYwZjM0
NGRhZmU5NzcxYjRhNDg3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxl
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcApAQCAt
ODMsNyArODMsNyBAQCBQb3NpdGlvbiBET01TZWxlY3Rpb246OmFuY2hvclBvc2l0aW9uKCkgY29u
c3QKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm4geyB9OwogICAgIGlmIChmcmFtZS0+
c2V0dGluZ3MoKS5saXZlUmFuZ2VTZWxlY3Rpb25FbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBm
cmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuYW5jaG9yKCkucGFyZW50QW5jaG9yZWRFcXVp
dmFsZW50KCk7CisgICAgICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCku
YW5jaG9yKCk7CiAgICAgYXV0byYgc2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpOwogICAgIHJldHVybiAoc2VsZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBzZWxlY3Rpb24u
c3RhcnQoKSA6IHNlbGVjdGlvbi5lbmQoKSkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CiB9
CkBAIC05NCw3ICs5NCw3IEBAIFBvc2l0aW9uIERPTVNlbGVjdGlvbjo6Zm9jdXNQb3NpdGlvbigp
IGNvbnN0CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZnJh
bWUtPnNldHRpbmdzKCkubGl2ZVJhbmdlU2VsZWN0aW9uRW5hYmxlZCgpKQotICAgICAgICByZXR1
cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZvY3VzKCkucGFyZW50QW5jaG9yZWRF
cXVpdmFsZW50KCk7CisgICAgICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9u
KCkuZm9jdXMoKTsKICAgICBhdXRvJiBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2Vs
ZWN0aW9uKCk7CiAgICAgcmV0dXJuIChzZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IHNlbGVjdGlv
bi5lbmQoKSA6IHNlbGVjdGlvbi5zdGFydCgpKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKTsK
IH0KQEAgLTEwNiw3ICsxMDYsNyBAQCBQb3NpdGlvbiBET01TZWxlY3Rpb246OmJhc2VQb3NpdGlv
bigpIGNvbnN0CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAo
ZnJhbWUtPnNldHRpbmdzKCkubGl2ZVJhbmdlU2VsZWN0aW9uRW5hYmxlZCgpKQotICAgICAgICBy
ZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmFuY2hvcigpLnBhcmVudEFuY2hv
cmVkRXF1aXZhbGVudCgpOworICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpLmFuY2hvcigpOwogICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9u
KCkuYmFzZSgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOwogfQogCkBAIC0xMTcsNyArMTE3
LDcgQEAgUG9zaXRpb24gRE9NU2VsZWN0aW9uOjpleHRlbnRQb3NpdGlvbigpIGNvbnN0CiAgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZnJhbWUtPnNldHRpbmdz
KCkubGl2ZVJhbmdlU2VsZWN0aW9uRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNl
bGVjdGlvbigpLnNlbGVjdGlvbigpLmZvY3VzKCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7
CisgICAgICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuZm9jdXMoKTsK
ICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmV4dGVudCgpLnBhcmVu
dEFuY2hvcmVkRXF1aXZhbGVudCgpOwogfQogCkBAIC0yMDMsMTEgKzIwMywxMCBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBET01TZWxlY3Rpb246OmNvbGxhcHNlKE5vZGUqIG5vZGUsIHVuc2lnbmVkIG9m
ZnNldCkKICAgICAgICAgICAgIHJlbW92ZUFsbFJhbmdlcygpOwogICAgICAgICAgICAgcmV0dXJu
IHsgfTsKICAgICAgICAgfQotICAgICAgICBhdXRvJiBkb2N1bWVudCA9ICpmcmFtZS0+ZG9jdW1l
bnQoKTsKLSAgICAgICAgaWYgKCFkb2N1bWVudC5jb250YWlucygqbm9kZSkpCi0gICAgICAgICAg
ICByZXR1cm4geyB9OwogICAgICAgICBpZiAoYXV0byByZXN1bHQgPSBSYW5nZTo6Y2hlY2tOb2Rl
T2Zmc2V0UGFpcigqbm9kZSwgb2Zmc2V0KTsgcmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAg
ICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgICAgIGlmICghZnJh
bWUtPmRvY3VtZW50KCktPmNvbnRhaW5zKCpub2RlKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07
CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKCFpc1ZhbGlkRm9yUG9zaXRpb24obm9kZSkpCiAg
ICAgICAgICAgICByZXR1cm4geyB9OwpAQCAtMjY0LDEzICsyNjMsMTMgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gRE9NU2VsZWN0aW9uOjpzZXRCYXNlQW5kRXh0ZW50KE5vZGUqIGJhc2VOb2RlLCB1bnNp
Z25lZCBiYXNlT2YKICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBkbyB0aGlzIGJ5IG1ha2lu
ZyB0aGUgYXJndW1lbnRzIG5vbi1udWxsYWJsZSBpbiB0aGUgSURMIGZpbGUsIG9uY2UgbGl2ZVJh
bmdlU2VsZWN0aW9uRW5hYmxlZCBpcyBhbHdheXMgdHJ1ZS4KICAgICAgICAgaWYgKCFiYXNlTm9k
ZSB8fCAhZXh0ZW50Tm9kZSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJy
b3IgfTsKLSAgICAgICAgYXV0byYgZG9jdW1lbnQgPSAqZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAg
ICAgIGlmICghZG9jdW1lbnQuY29udGFpbnMoKmJhc2VOb2RlKSB8fCAhZG9jdW1lbnQuY29udGFp
bnMoKmV4dGVudE5vZGUpKQotICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgaWYgKGF1
dG8gcmVzdWx0ID0gUmFuZ2U6OmNoZWNrTm9kZU9mZnNldFBhaXIoKmJhc2VOb2RlLCBiYXNlT2Zm
c2V0KTsgcmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5y
ZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgICAgIGlmIChhdXRvIHJlc3VsdCA9IFJhbmdlOjpjaGVj
a05vZGVPZmZzZXRQYWlyKCpleHRlbnROb2RlLCBleHRlbnRPZmZzZXQpOyByZXN1bHQuaGFzRXhj
ZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsK
KyAgICAgICAgYXV0byYgZG9jdW1lbnQgPSAqZnJhbWUtPmRvY3VtZW50KCk7CisgICAgICAgIGlm
ICghZG9jdW1lbnQuY29udGFpbnMoKmJhc2VOb2RlKSB8fCAhZG9jdW1lbnQuY29udGFpbnMoKmV4
dGVudE5vZGUpKQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9IGVsc2UgewogICAgICAg
ICBpZiAoIWlzVmFsaWRGb3JQb3NpdGlvbihiYXNlTm9kZSkgfHwgIWlzVmFsaWRGb3JQb3NpdGlv
bihleHRlbnROb2RlKSkKICAgICAgICAgICAgIHJldHVybiB7IH07CkBAIC0zNDQsMTUgKzM0Mywy
MCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01TZWxlY3Rpb246OmV4dGVuZChOb2RlJiBub2RlLCB1
bnNpZ25lZCBvZmZzZXQpCiAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICBpZiAoYXV0
byByZXN1bHQgPSBSYW5nZTo6Y2hlY2tOb2RlT2Zmc2V0UGFpcihub2RlLCBvZmZzZXQpOyByZXN1
bHQuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2VFeGNl
cHRpb24oKTsKKyAgICAgICAgYXV0byYgc2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpOwor
ICAgICAgICBhdXRvIG5ld1NlbGVjdGlvbiA9IHNlbGVjdGlvbi5zZWxlY3Rpb24oKTsKKyAgICAg
ICAgbmV3U2VsZWN0aW9uLnNldEV4dGVudChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24oJm5v
ZGUsIG9mZnNldCkpOworICAgICAgICBzZWxlY3Rpb24uZGlzYXNzb2NpYXRlTGl2ZVJhbmdlKCk7
CisgICAgICAgIHNlbGVjdGlvbi5zZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uKTsKICAgICB9IGVs
c2UgewogICAgICAgICBpZiAob2Zmc2V0ID4gbm9kZS5sZW5ndGgoKSkKICAgICAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogICAgICAgICBpZiAoIWlzVmFsaWRG
b3JQb3NpdGlvbigmbm9kZSkpCiAgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBhdXRv
JiBzZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCk7CisgICAgICAgIHNlbGVjdGlvbi5kaXNh
c3NvY2lhdGVMaXZlUmFuZ2UoKTsKKyAgICAgICAgc2VsZWN0aW9uLnNldEV4dGVudChtYWtlQ29u
dGFpbmVyT2Zmc2V0UG9zaXRpb24oJm5vZGUsIG9mZnNldCksIEFmZmluaXR5OjpEb3duc3RyZWFt
KTsKICAgICB9Ci0gICAgYXV0byYgc2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpOwotICAg
IHNlbGVjdGlvbi5kaXNhc3NvY2lhdGVMaXZlUmFuZ2UoKTsKLSAgICBzZWxlY3Rpb24uc2V0RXh0
ZW50KG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlvbigmbm9kZSwgb2Zmc2V0KSwgQWZmaW5pdHk6
OkRvd25zdHJlYW0pOwogICAgIHJldHVybiB7IH07CiB9CiAK
</data>
<flag name="commit-queue"
          id="424874"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409254</attachid>
            <date>2020-09-20 17:56:12 -0700</date>
            <delta_ts>2020-09-20 21:45:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216756-20200920175612.patch</filename>
            <type>text/plain</type>
            <size>14604</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg2ZjdiZjUxYWZjM2Nl
YzM4ZDNiNjVjZmNhOGIxYjYzY2U5NjE3Yi4uMWVmOWYyOTU1YWVkODlmNGViZTk4OTNiYzc5ZDUw
ZTgyNWE2NDdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTA5LTIwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQVBJOiBBIGZl
dyBtb3JlIHJlZmluZW1lbnRzIHRvIERPTVNlbGVjdGlvbiBhbmQgVmlzaWJsZVNlbGVjdGlvbiB0
byBwYXNzIGFsbCBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNjc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFmdGVyIHRoZXNlIGNoYW5nZXMsIHdlIHBhc3MgYWxsIHRoZSB0ZXN0cyBp
biBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbgorICAgICAgICB3aXRo
IG5vIGZhaWx1cmVzIGV4Y2VwdCBmb3Igb25lIGR1ZSB0byB0aGUgcnVsZXMgYWJvdXQgYWJzb3Ji
aW5nIG5ld2xpbmVzIGF0IHRoZSBzdGFydAorICAgICAgICBhbmQgZW5kIDxzdHlsZT4gYW5kIDxz
Y3JpcHQ+IGVsZW1lbnRzLgorCisgICAgICAgIEhvd2V2ZXIsIHRoYXQncyB3aXRoIHRoZSBsaXZl
IHNlbGVjdGlvbiByYW5nZSBmZWF0dXJlIGVuYWJsZWQsIGFuZCB0aGVyZSBhcmUgbGlrZWx5IGlz
c3VlcworICAgICAgICB3aXRoIG90aGVyIHRlc3RzIGluIHRoYXQgbW9kZSwgc28gdGhhdCB0ZXN0
aW5nIHN0aWxsIG5lZWRzIHRvIGJlIGRvbmUuIFRoZW4gd2UgYWxzbyBoYXZlIHRvCisgICAgICAg
IGRlY2lkZSBob3cgd2UgYXJlIGdvaW5nIHRvIGRlYWwgd2l0aCB0aGUgY29tcGF0aWJpbGl0eSBy
aXNrIG9mIGNoYW5naW5nIHRoZSBiZWhhdmlvciB0bworICAgICAgICBtYXRjaCB0aGUgc3RhbmRh
cmQuCisKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6VmlzaWJsZVNlbGVjdGlvbik6IFVwZGF0ZWQgdG8g
cmVuYW1lIG1fYmFzZUlzRmlyc3QgdG8KKyAgICAgICAgbV9hbmNob3JJc0ZpcnN0LiBOb3QgcmVx
dWlyZWQgZm9yIHRoZSBmaXgsIGJ1dCBoZWxwZnVsIGZvciBjbGFyaXR5LgorICAgICAgICAoV2Vi
Q29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6dW5jYW5vbmljYWxpemVkU3RhcnQgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnVuY2Fub25pY2FsaXplZEVu
ZCBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6c2V0
QmFzZUFuZEV4dGVudFRvRGVlcEVxdWl2YWxlbnRzKTogQ29tcHV0ZSB3aGV0aGVyCisgICAgICAg
IHRoZSBhbmNob3IgaXMgZmlyc3QgKmJlZm9yZSogY2Fub25pY2FsaXphdGlvbiwgb3RoZXJ3aXNl
IHdlIHdpbGwgcmV2ZXJzZSB0aGUgdHdvCisgICAgICAgIGlmIHRoZWlyIGNhbm9uaWNhbCB2YWx1
ZXMgYXJlIGVxdWFsLiBDYW5vbmljYWxpemF0aW9uIGlzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZQor
ICAgICAgICB0aGUgb3JkZXJpbmcgb3RoZXIgdGhhbiBtYWtpbmcgdHdvIHZhbHVlcyBlcXVhbC4K
KyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnZhbGlkYXRlKTogVXBkYXRlZCBm
b3IgbmFtZS4KKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnNldFdpdGhvdXRW
YWxpZGF0aW9uKTogRGl0dG8sIGFsc28gdHdlYWtlZCBvdGhlciBuYW1lcyBpbiB0aGUKKyAgICAg
ICAgZnVuY3Rpb24gYW5kIHJlbW92ZWQgYW4gaWYgc3RhdGVtZW50LgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nU2hhZG93
Qm91bmRhcmllcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6
YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nRWRpdGluZ0JvdW5kYXJpZXMpOiBEaXR0by4K
KworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oOiBSZW5hbWVkIG1fYmFzZUlz
Rmlyc3QgdG8gbV9hbmNob3JJc0ZpcnN0IGFuZCBpbXByb3ZlZCB0aGUKKyAgICAgICAgY29tbWVu
dCBhYm91dCBtX2lzRGlyZWN0aW9uYWwuCisKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmFuY2hvclBvc2l0aW9uIGNvbnN0
KTogUmVtb3ZlZCB1c2Ugb2YgcGFyZW50QW5jaG9yZWRFcXVpdmFsZW50LgorICAgICAgICBUaGUg
bmFtZSBtYWtlcyBpdCBzb3VuZCBsaWtlIGl0IHdvdWxkIGJlIHVzZWZ1bCwgYnV0IHJlYWxseSBp
dCBqdXN0IHRyaWdnZXJzIHNvbWUKKyAgICAgICAgZWRpdGluZyBiZWhhdmlvcnMgdGhhdCBkb24n
dCBiZWxvbmcgaW4gUG9zaXRpb24gY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlv
bjo6Zm9jdXNQb3NpdGlvbiBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2Vs
ZWN0aW9uOjpiYXNlUG9zaXRpb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRP
TVNlbGVjdGlvbjo6ZXh0ZW50UG9zaXRpb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkRPTVNlbGVjdGlvbjo6Y29sbGFwc2UpOiBSZXZlcnNlZCB0aGUgb3JkZXIgb2YgdGhlIGRv
Y3VtZW50IGNoZWNrIGFuZCB0aGUKKyAgICAgICAgY2hlY2sgZm9yIGludmFsaWQgbm9kZXMgYW5k
IG9mZnNldHMuIFRoZXJlIGFyZSBzb21lIGluY29uc2lzdGVuY2llcyBiZXR3ZWVuIHRoZQorICAg
ICAgICBzcGVjaWZpY2F0aW9uIGFuZCBXUFQgYnV0IGZvciBub3cgbWF0Y2hpbmcgV1BUIHNlZW1z
IGxpa2UgdGhlIHdheSB0byBnby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6c2V0
QmFzZUFuZEV4dGVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpl
eHRlbmQpOiBVc2UgVmlzaWJsZVNlbGVjdGlvbjo6c2V0RXh0ZW50LCB3aGljaCBkb2VzIGV4YWN0
bHkKKyAgICAgICAgd2hhdCB3ZSB3YW50LCByYXRoZXIgdGhhbiBGcmFtZVNlbGVjdGlvbjo6c2V0
RXh0ZW50LCB3aGljaCBkb2VzIG5vdC4gSW4gdGhlIGZ1dHVyZQorICAgICAgICB3ZSBtYXkgd2Fu
dCB0byBjdXQgZG93biBvbiB0aGUgbnVtYmVyIG9mIHN1YnRseS1kaWZmZXJlbnQgc2VsZWN0aW9u
IGZ1bmN0aW9ucywKKyAgICAgICAgbGlrZSB0aGVzZSB0d28sIGJ1dCBmb3Igbm93IHRoaXMgZml4
ZXMgdGhpcyBET00gbWV0aG9kIHRvIHdvcmsgYXMgc3BlY2lmaWVkLgorCiAyMDIwLTA5LTIwICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBTZWxlY3Rpb24gQVBJOiBG
dXJ0aGVyIGltcHJvdmVtZW50cyB0byBWaXNpYmxlU2VsZWN0aW9uLCBGcmFtZVNlbGVjdGlvbiwg
YW5kIERPTVNlbGVjdGlvbiB0byBwcmVzZXJ2ZSBhbmNob3IgYW5kIGZvY3VzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAppbmRleCAxYzc5MzUxODI1MjAyYjhi
NTExN2Q3MjM4MjliNjYwYmU2N2QxYWMxLi43MmMyZTE0ZjRjNTUwZDg4YjYxODdkY2E2Y2E4NDAw
ZTFjYmQzN2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxl
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5j
cHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogVmlzaWJsZVNlbGVj
dGlvbjo6VmlzaWJsZVNlbGVjdGlvbigpCi0gICAgOiBtX2Jhc2VJc0ZpcnN0KHRydWUpCisgICAg
OiBtX2FuY2hvcklzRmlyc3QodHJ1ZSkKICAgICAsIG1faXNEaXJlY3Rpb25hbChmYWxzZSkKIHsK
IH0KQEAgLTk4LDEyICs5OCwxMiBAQCBQb3NpdGlvbiBWaXNpYmxlU2VsZWN0aW9uOjpmb2N1cygp
IGNvbnN0CiAKIFBvc2l0aW9uIFZpc2libGVTZWxlY3Rpb246OnVuY2Fub25pY2FsaXplZFN0YXJ0
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9iYXNlSXNGaXJzdCA/IG1fYW5jaG9yIDogbV9mb2N1
czsKKyAgICByZXR1cm4gbV9hbmNob3JJc0ZpcnN0ID8gbV9hbmNob3IgOiBtX2ZvY3VzOwogfQog
CiBQb3NpdGlvbiBWaXNpYmxlU2VsZWN0aW9uOjp1bmNhbm9uaWNhbGl6ZWRFbmQoKSBjb25zdAog
ewotICAgIHJldHVybiBtX2Jhc2VJc0ZpcnN0ID8gbV9mb2N1cyA6IG1fYW5jaG9yOworICAgIHJl
dHVybiBtX2FuY2hvcklzRmlyc3QgPyBtX2ZvY3VzIDogbV9hbmNob3I7CiB9CiAKIE9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBWaXNpYmxlU2VsZWN0aW9uOjpyYW5nZSgpIGNvbnN0CkBAIC0yMjUsMTMg
KzIyNSwxMyBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OnNldEJhc2VBbmRFeHRlbnRUb0RlZXBF
cXVpdmFsZW50cygpCiAgICAgaWYgKG1fZm9jdXMuaXNOdWxsKCkpCiAgICAgICAgIG1fZm9jdXMg
PSBtX2FuY2hvcjsKIAorICAgIG1fYW5jaG9ySXNGaXJzdCA9IG1fYW5jaG9yIDw9IG1fZm9jdXM7
CisKICAgICBtX2Jhc2UgPSBWaXNpYmxlUG9zaXRpb24obV9hbmNob3IsIG1fYWZmaW5pdHkpLmRl
ZXBFcXVpdmFsZW50KCk7CiAgICAgaWYgKG1fYW5jaG9yID09IG1fZm9jdXMpCiAgICAgICAgIG1f
ZXh0ZW50ID0gbV9iYXNlOwogICAgIGVsc2UKICAgICAgICAgbV9leHRlbnQgPSBWaXNpYmxlUG9z
aXRpb24obV9mb2N1cywgbV9hZmZpbml0eSkuZGVlcEVxdWl2YWxlbnQoKTsKLQotICAgIG1fYmFz
ZUlzRmlyc3QgPSBtX2Jhc2UgPD0gbV9leHRlbnQ7CiB9CiAKIHZvaWQgVmlzaWJsZVNlbGVjdGlv
bjo6YWRqdXN0U2VsZWN0aW9uUmVzcGVjdGluZ0dyYW51bGFyaXR5KFRleHRHcmFudWxhcml0eSBn
cmFudWxhcml0eSkKQEAgLTM3NSw4ICszNzUsOCBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OnZh
bGlkYXRlKFRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSkKIHsKICAgICBzZXRCYXNlQW5kRXh0
ZW50VG9EZWVwRXF1aXZhbGVudHMoKTsKIAotICAgIG1fc3RhcnQgPSBtX2Jhc2VJc0ZpcnN0ID8g
bV9iYXNlIDogbV9leHRlbnQ7Ci0gICAgbV9lbmQgPSBtX2Jhc2VJc0ZpcnN0ID8gbV9leHRlbnQg
OiBtX2Jhc2U7CisgICAgbV9zdGFydCA9IG1fYW5jaG9ySXNGaXJzdCA/IG1fYmFzZSA6IG1fZXh0
ZW50OworICAgIG1fZW5kID0gbV9hbmNob3JJc0ZpcnN0ID8gbV9leHRlbnQgOiBtX2Jhc2U7CiAK
ICAgICBhdXRvIHN0YXJ0QmVmb3JlQWRqdXN0bWVudHMgPSBtX3N0YXJ0OwogICAgIGF1dG8gZW5k
QmVmb3JlQWRqdXN0bWVudHMgPSBtX2VuZDsKQEAgLTQwOSwzOCArNDA5LDMyIEBAIHZvaWQgVmlz
aWJsZVNlbGVjdGlvbjo6dmFsaWRhdGUoVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQogICAg
IH0KIAogICAgIGlmIChzaG91bGRVcGRhdGVBbmNob3IpIHsKLSAgICAgICAgbV9hbmNob3IgPSBt
X2Jhc2VJc0ZpcnN0ID8gbV9zdGFydCA6IG1fZW5kOworICAgICAgICBtX2FuY2hvciA9IG1fYW5j
aG9ySXNGaXJzdCA/IG1fc3RhcnQgOiBtX2VuZDsKICAgICAgICAgbV9iYXNlID0gbV9hbmNob3I7
CiAgICAgfQogICAgIGlmIChzaG91bGRVcGRhdGVGb2N1cykgewotICAgICAgICBtX2ZvY3VzID0g
bV9iYXNlSXNGaXJzdCA/IG1fZW5kIDogbV9zdGFydDsKKyAgICAgICAgbV9mb2N1cyA9IG1fYW5j
aG9ySXNGaXJzdCA/IG1fZW5kIDogbV9zdGFydDsKICAgICAgICAgbV9leHRlbnQgPSBtX2ZvY3Vz
OwogICAgIH0KIH0KIAotLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gYnJlYWtzIHRoZSBpbnZhcmlh
bnQgb2YgdGhpcyBjbGFzcy4KLS8vIEJ1dCBiZWNhdXNlIHdlIHVzZSBWaXNpYmxlU2VsZWN0aW9u
IHRvIHN0b3JlIHZhbHVlcyBpbiBlZGl0aW5nIGNvbW1hbmRzIGZvciB1c2Ugd2hlbgotLy8gdW5k
b2luZyB0aGUgY29tbWFuZCwgd2UgbmVlZCB0byBiZSBhYmxlIHRvIGNyZWF0ZSBhIHNlbGVjdGlv
biB0aGF0IHdoaWxlIGN1cnJlbnRseQorLy8gQmVjYXVzZSB3ZSB1c2UgVmlzaWJsZVNlbGVjdGlv
biB0byBzdG9yZSB2YWx1ZXMgaW4gZWRpdGluZyBjb21tYW5kcyBmb3IgdXNlIHdoZW4KKy8vIHVu
ZG9pbmcgdGhlIGNvbW1hbmQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBjcmVhdGUgYSBzZWxlY3Rp
b24gdGhhdCwgd2hpbGUgY3VycmVudGx5CiAvLyBpbnZhbGlkLCB3aWxsIGJlIHZhbGlkIG9uY2Ug
dGhlIGNoYW5nZXMgYXJlIHVuZG9uZS4gVGhpcyBpcyBhIGRlc2lnbiBwcm9ibGVtLgotLy8gVG8g
Zml4IGl0IHdlIGVpdGhlciBuZWVkIHRvIGNoYW5nZSB0aGUgaW52YXJpYW50cyBvZiBWaXNpYmxl
U2VsZWN0aW9uIG9yIGNyZWF0ZSBhIG5ldwotLy8gY2xhc3MgZm9yIGVkaXRpbmcgdG8gdXNlIHRo
YXQgY2FuIG1hbmlwdWxhdGUgc2VsZWN0aW9ucyB0aGF0IGFyZSBub3QgY3VycmVudGx5IHZhbGlk
Lgotdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjpzZXRXaXRob3V0VmFsaWRhdGlvbihjb25zdCBQb3Np
dGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpb24mIGV4dGVudCkKKy8vIFRoZSBiZXN0IGZpeCBpcyBs
aWtlbHkgdG8gZ2V0IHJpZCBvZiBjYW5vbmljYWxpemF0aW9uIGZyb20gVmlzaWJsZVNlbGVjdGlv
biBlbnRpcmVseSwKKy8vIGFuZCB0aGVuIHJlbW92ZSB0aGlzIGZ1bmN0aW9uLgordm9pZCBWaXNp
YmxlU2VsZWN0aW9uOjpzZXRXaXRob3V0VmFsaWRhdGlvbihjb25zdCBQb3NpdGlvbiYgYW5jaG9y
LCBjb25zdCBQb3NpdGlvbiYgZm9jdXMpCiB7Ci0gICAgQVNTRVJUKGJhc2UuaXNOdWxsKCkgPT0g
ZXh0ZW50LmlzTnVsbCgpKTsKKyAgICBBU1NFUlQoYW5jaG9yLmlzTnVsbCgpID09IGZvY3VzLmlz
TnVsbCgpKTsKICAgICBBU1NFUlQobV9hZmZpbml0eSA9PSBBZmZpbml0eTo6RG93bnN0cmVhbSk7
Ci0gICAgbV9hbmNob3IgPSBiYXNlOwotICAgIG1fZm9jdXMgPSBleHRlbnQ7Ci0gICAgbV9iYXNl
ID0gYmFzZTsKLSAgICBtX2V4dGVudCA9IGV4dGVudDsKLSAgICBtX2Jhc2VJc0ZpcnN0ID0gYmFz
ZSA8PSBleHRlbnQ7Ci0gICAgaWYgKG1fYmFzZUlzRmlyc3QpIHsKLSAgICAgICAgbV9zdGFydCA9
IGJhc2U7Ci0gICAgICAgIG1fZW5kID0gZXh0ZW50OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1f
c3RhcnQgPSBleHRlbnQ7Ci0gICAgICAgIG1fZW5kID0gYmFzZTsKLSAgICB9Ci0gICAgbV90eXBl
ID0gYmFzZSA9PSBleHRlbnQgPyBUeXBlOjpDYXJldCA6IFR5cGU6OlJhbmdlOworICAgIG1fYW5j
aG9yID0gYW5jaG9yOworICAgIG1fZm9jdXMgPSBmb2N1czsKKyAgICBtX2FuY2hvcklzRmlyc3Qg
PSBtX2FuY2hvciA8PSBtX2ZvY3VzOworICAgIG1fYmFzZSA9IGFuY2hvcjsKKyAgICBtX2V4dGVu
dCA9IGZvY3VzOworICAgIG1fc3RhcnQgPSBtX2FuY2hvcklzRmlyc3QgPyBhbmNob3IgOiBmb2N1
czsKKyAgICBtX2VuZCA9IG1fYW5jaG9ySXNGaXJzdCA/IGZvY3VzIDogYW5jaG9yOworICAgIG1f
dHlwZSA9IGFuY2hvciA9PSBmb2N1cyA/IFR5cGU6OkNhcmV0IDogVHlwZTo6UmFuZ2U7CiB9CiAK
IFBvc2l0aW9uIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFBvc2l0aW9uRm9yRW5kKGNvbnN0IFBv
c2l0aW9uJiBjdXJyZW50UG9zaXRpb24sIE5vZGUqIHN0YXJ0Q29udGFpbmVyTm9kZSkKQEAgLTUx
Miw3ICs1MDYsNyBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFNlbGVjdGlvblRvQXZv
aWRDcm9zc2luZ1NoYWRvd0JvdW5kYXJpZXMoKQogICAgIH0KIAogICAgIC8vIENvcnJlY3QgdGhl
IGZvY3VzIGlmIG5lY2Vzc2FyeS4KLSAgICBpZiAobV9iYXNlSXNGaXJzdCkgeworICAgIGlmICht
X2FuY2hvcklzRmlyc3QpIHsKICAgICAgICAgbV9leHRlbnQgPSBhZGp1c3RQb3NpdGlvbkZvckVu
ZChtX2VuZCwgbV9zdGFydC5jb250YWluZXJOb2RlKCkpOwogICAgICAgICBtX2VuZCA9IG1fZXh0
ZW50OwogICAgIH0gZWxzZSB7CkBAIC02MjEsNyArNjE1LDcgQEAgdm9pZCBWaXNpYmxlU2VsZWN0
aW9uOjphZGp1c3RTZWxlY3Rpb25Ub0F2b2lkQ3Jvc3NpbmdFZGl0aW5nQm91bmRhcmllcygpCiAg
ICAgCiAgICAgLy8gQ29ycmVjdCB0aGUgZm9jdXMgaWYgbmVjZXNzYXJ5LgogICAgIGlmIChiYXNl
RWRpdGFibGVBbmNlc3RvciAhPSBsb3dlc3RFZGl0YWJsZUFuY2VzdG9yKG1fZXh0ZW50LmNvbnRh
aW5lck5vZGUoKSkpIHsKLSAgICAgICAgbV9leHRlbnQgPSBtX2Jhc2VJc0ZpcnN0ID8gbV9lbmQg
OiBtX3N0YXJ0OworICAgICAgICBtX2V4dGVudCA9IG1fYW5jaG9ySXNGaXJzdCA/IG1fZW5kIDog
bV9zdGFydDsKICAgICAgICAgbV9mb2N1cyA9IG1fZXh0ZW50OwogICAgIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKaW5kZXggNzNhMmJkZGEzYTY0NGUyMjY4
NjEyZjBhMmRhNjEyMjZjMTNhMzM0ZS4uZTZlOGY1MTRhNmU2YjM3Njg0NzI5YmU0YTI2Mjg5YjI4
YzA0ZmUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKQEAg
LTg3LDcgKzg3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNOb25PcnBoYW5lZFJhbmdlKCkgY29u
c3QgeyByZXR1cm4gaXNSYW5nZSgpICYmICFzdGFydCgpLmlzT3JwaGFuKCkgJiYgIWVuZCgpLmlz
T3JwaGFuKCk7IH0KICAgICBib29sIGlzTm9uZU9yT3JwaGFuZWQoKSBjb25zdCB7IHJldHVybiBp
c05vbmUoKSB8fCBzdGFydCgpLmlzT3JwaGFuKCkgfHwgZW5kKCkuaXNPcnBoYW4oKTsgfQogCi0g
ICAgYm9vbCBpc0Jhc2VGaXJzdCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFzZUlzRmlyc3Q7IH0KKyAg
ICBib29sIGlzQmFzZUZpcnN0KCkgY29uc3QgeyByZXR1cm4gbV9hbmNob3JJc0ZpcnN0OyB9CiAg
ICAgYm9vbCBpc0RpcmVjdGlvbmFsKCkgY29uc3QgeyByZXR1cm4gbV9pc0RpcmVjdGlvbmFsOyB9
CiAgICAgdm9pZCBzZXRJc0RpcmVjdGlvbmFsKGJvb2wgaXNEaXJlY3Rpb25hbCkgeyBtX2lzRGly
ZWN0aW9uYWwgPSBpc0RpcmVjdGlvbmFsOyB9CiAKQEAgLTE1Niw4ICsxNTYsOCBAQCBwcml2YXRl
OgogICAgIC8vIFRoZXNlIGFyZSBjYWNoZWQsIGNhbiBiZSByZWNhbGN1bGF0ZWQgYnkgdmFsaWRh
dGUoKQogICAgIGVudW0gY2xhc3MgVHlwZSA6IHVpbnQ4X3QgeyBOb25lLCBDYXJldCwgUmFuZ2Ug
fTsKICAgICBUeXBlIG1fdHlwZSB7IFR5cGU6Ok5vbmUgfTsKLSAgICBib29sIG1fYmFzZUlzRmly
c3QgOiAxOyAvLyBUcnVlIGlmIGJhc2UgaXMgYmVmb3JlIHRoZSBleHRlbnQuCi0gICAgYm9vbCBt
X2lzRGlyZWN0aW9uYWwgOiAxOyAvLyBOb24tZGlyZWN0aW9uYWwgaWdub3JlcyBtX2Jhc2VJc0Zp
cnN0IGFuZCBzZWxlY3Rpb24gYWx3YXlzIGV4dGVuZHMgb24gc2hpZnQgKyBhcnJvdyBrZXkuCisg
ICAgYm9vbCBtX2FuY2hvcklzRmlyc3QgOiAxOyAvLyBUcnVlIGlmIHRoZSBhbmNob3IgaXMgYmVm
b3JlIHRoZSBmb2N1cy4KKyAgICBib29sIG1faXNEaXJlY3Rpb25hbCA6IDE7IC8vIE9uIE1hYywg
U2hpZnQtYXJyb3cga2V5cyBtb3ZlIHRoZSBhbmNob3IgaW4gYSBkaXJlY3Rpb25hbCBzZWxlY3Rp
b24gYW5kIG1vdmVzIGVpdGhlciBlbmQgdG8gYWx3YXlzIGV4dGVuZCBpbiBhIG5vbi1kaXJlY3Rp
b25hbCBzZWxlY3Rpb24uCiB9OwogCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIGEsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIGIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVNlbGVjdGlvbi5jcHAKaW5kZXggMWI0ZWJmYWRmNzE3M2NmM2U1YmMxN2RiZmY2YzBjNGE0
MDNiMTA3MS4uYWMzYjYxOTNhNWQ2MTI5NjYwNTYwZjM0NGRhZmU5NzcxYjRhNDg3NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcApAQCAtODMsNyArODMsNyBAQCBQb3NpdGlvbiBE
T01TZWxlY3Rpb246OmFuY2hvclBvc2l0aW9uKCkgY29uc3QKICAgICBpZiAoIWZyYW1lKQogICAg
ICAgICByZXR1cm4geyB9OwogICAgIGlmIChmcmFtZS0+c2V0dGluZ3MoKS5saXZlUmFuZ2VTZWxl
Y3Rpb25FbmFibGVkKCkpCi0gICAgICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0
aW9uKCkuYW5jaG9yKCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CisgICAgICAgIHJldHVy
biBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuYW5jaG9yKCk7CiAgICAgYXV0byYgc2Vs
ZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpOwogICAgIHJldHVybiAoc2Vs
ZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBzZWxlY3Rpb24uc3RhcnQoKSA6IHNlbGVjdGlvbi5lbmQo
KSkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CiB9CkBAIC05NCw3ICs5NCw3IEBAIFBvc2l0
aW9uIERPTVNlbGVjdGlvbjo6Zm9jdXNQb3NpdGlvbigpIGNvbnN0CiAgICAgaWYgKCFmcmFtZSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZnJhbWUtPnNldHRpbmdzKCkubGl2ZVJhbmdl
U2VsZWN0aW9uRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNl
bGVjdGlvbigpLmZvY3VzKCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CisgICAgICAgIHJl
dHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuZm9jdXMoKTsKICAgICBhdXRvJiBz
ZWxlY3Rpb24gPSBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CiAgICAgcmV0dXJuIChz
ZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IHNlbGVjdGlvbi5lbmQoKSA6IHNlbGVjdGlvbi5zdGFy
dCgpKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKTsKIH0KQEAgLTEwNiw3ICsxMDYsNyBAQCBQ
b3NpdGlvbiBET01TZWxlY3Rpb246OmJhc2VQb3NpdGlvbigpIGNvbnN0CiAgICAgaWYgKCFmcmFt
ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZnJhbWUtPnNldHRpbmdzKCkubGl2ZVJh
bmdlU2VsZWN0aW9uRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigp
LnNlbGVjdGlvbigpLmFuY2hvcigpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOworICAgICAg
ICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmFuY2hvcigpOwogICAgIHJl
dHVybiBmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuYmFzZSgpLnBhcmVudEFuY2hvcmVk
RXF1aXZhbGVudCgpOwogfQogCkBAIC0xMTcsNyArMTE3LDcgQEAgUG9zaXRpb24gRE9NU2VsZWN0
aW9uOjpleHRlbnRQb3NpdGlvbigpIGNvbnN0CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0
dXJuIHsgfTsKICAgICBpZiAoZnJhbWUtPnNldHRpbmdzKCkubGl2ZVJhbmdlU2VsZWN0aW9uRW5h
YmxlZCgpKQotICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZv
Y3VzKCkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CisgICAgICAgIHJldHVybiBmcmFtZS0+
c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuZm9jdXMoKTsKICAgICByZXR1cm4gZnJhbWUtPnNlbGVj
dGlvbigpLnNlbGVjdGlvbigpLmV4dGVudCgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOwog
fQogCkBAIC0yMDMsMTEgKzIwMywxMCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01TZWxlY3Rpb246
OmNvbGxhcHNlKE5vZGUqIG5vZGUsIHVuc2lnbmVkIG9mZnNldCkKICAgICAgICAgICAgIHJlbW92
ZUFsbFJhbmdlcygpOwogICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgfQotICAgICAg
ICBhdXRvJiBkb2N1bWVudCA9ICpmcmFtZS0+ZG9jdW1lbnQoKTsKLSAgICAgICAgaWYgKCFkb2N1
bWVudC5jb250YWlucygqbm9kZSkpCi0gICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICBp
ZiAoYXV0byByZXN1bHQgPSBSYW5nZTo6Y2hlY2tOb2RlT2Zmc2V0UGFpcigqbm9kZSwgb2Zmc2V0
KTsgcmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxl
YXNlRXhjZXB0aW9uKCk7CisgICAgICAgIGlmICghZnJhbWUtPmRvY3VtZW50KCktPmNvbnRhaW5z
KCpub2RlKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSBlbHNlIHsKICAgICAgICAg
aWYgKCFpc1ZhbGlkRm9yUG9zaXRpb24obm9kZSkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwpA
QCAtMjY0LDEzICsyNjMsMTMgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NU2VsZWN0aW9uOjpzZXRC
YXNlQW5kRXh0ZW50KE5vZGUqIGJhc2VOb2RlLCB1bnNpZ25lZCBiYXNlT2YKICAgICAgICAgLy8g
RklYTUU6IFdlIHNob3VsZCBkbyB0aGlzIGJ5IG1ha2luZyB0aGUgYXJndW1lbnRzIG5vbi1udWxs
YWJsZSBpbiB0aGUgSURMIGZpbGUsIG9uY2UgbGl2ZVJhbmdlU2VsZWN0aW9uRW5hYmxlZCBpcyBh
bHdheXMgdHJ1ZS4KICAgICAgICAgaWYgKCFiYXNlTm9kZSB8fCAhZXh0ZW50Tm9kZSkKICAgICAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKLSAgICAgICAgYXV0byYgZG9j
dW1lbnQgPSAqZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAgICAgIGlmICghZG9jdW1lbnQuY29udGFp
bnMoKmJhc2VOb2RlKSB8fCAhZG9jdW1lbnQuY29udGFpbnMoKmV4dGVudE5vZGUpKQotICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgaWYgKGF1dG8gcmVzdWx0ID0gUmFuZ2U6OmNoZWNr
Tm9kZU9mZnNldFBhaXIoKmJhc2VOb2RlLCBiYXNlT2Zmc2V0KTsgcmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAg
ICAgIGlmIChhdXRvIHJlc3VsdCA9IFJhbmdlOjpjaGVja05vZGVPZmZzZXRQYWlyKCpleHRlbnRO
b2RlLCBleHRlbnRPZmZzZXQpOyByZXN1bHQuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICAgICAgYXV0byYgZG9jdW1lbnQg
PSAqZnJhbWUtPmRvY3VtZW50KCk7CisgICAgICAgIGlmICghZG9jdW1lbnQuY29udGFpbnMoKmJh
c2VOb2RlKSB8fCAhZG9jdW1lbnQuY29udGFpbnMoKmV4dGVudE5vZGUpKQorICAgICAgICAgICAg
cmV0dXJuIHsgfTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWlzVmFsaWRGb3JQb3NpdGlv
bihiYXNlTm9kZSkgfHwgIWlzVmFsaWRGb3JQb3NpdGlvbihleHRlbnROb2RlKSkKICAgICAgICAg
ICAgIHJldHVybiB7IH07CkBAIC0zNDQsMTUgKzM0MywyMCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBE
T01TZWxlY3Rpb246OmV4dGVuZChOb2RlJiBub2RlLCB1bnNpZ25lZCBvZmZzZXQpCiAgICAgICAg
ICAgICByZXR1cm4geyB9OwogICAgICAgICBpZiAoYXV0byByZXN1bHQgPSBSYW5nZTo6Y2hlY2tO
b2RlT2Zmc2V0UGFpcihub2RlLCBvZmZzZXQpOyByZXN1bHQuaGFzRXhjZXB0aW9uKCkpCiAgICAg
ICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICAgICAgYXV0byYg
c2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpOworICAgICAgICBhdXRvIG5ld1NlbGVjdGlv
biA9IHNlbGVjdGlvbi5zZWxlY3Rpb24oKTsKKyAgICAgICAgbmV3U2VsZWN0aW9uLnNldEV4dGVu
dChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24oJm5vZGUsIG9mZnNldCkpOworICAgICAgICBz
ZWxlY3Rpb24uZGlzYXNzb2NpYXRlTGl2ZVJhbmdlKCk7CisgICAgICAgIHNlbGVjdGlvbi5zZXRT
ZWxlY3Rpb24obmV3U2VsZWN0aW9uKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAob2Zmc2V0
ID4gbm9kZS5sZW5ndGgoKSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNp
emVFcnJvciB9OwogICAgICAgICBpZiAoIWlzVmFsaWRGb3JQb3NpdGlvbigmbm9kZSkpCiAgICAg
ICAgICAgICByZXR1cm4geyB9OworICAgICAgICBhdXRvJiBzZWxlY3Rpb24gPSBmcmFtZS0+c2Vs
ZWN0aW9uKCk7CisgICAgICAgIHNlbGVjdGlvbi5kaXNhc3NvY2lhdGVMaXZlUmFuZ2UoKTsKKyAg
ICAgICAgc2VsZWN0aW9uLnNldEV4dGVudChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24oJm5v
ZGUsIG9mZnNldCksIEFmZmluaXR5OjpEb3duc3RyZWFtKTsKICAgICB9Ci0gICAgYXV0byYgc2Vs
ZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpOwotICAgIHNlbGVjdGlvbi5kaXNhc3NvY2lhdGVM
aXZlUmFuZ2UoKTsKLSAgICBzZWxlY3Rpb24uc2V0RXh0ZW50KG1ha2VDb250YWluZXJPZmZzZXRQ
b3NpdGlvbigmbm9kZSwgb2Zmc2V0KSwgQWZmaW5pdHk6OkRvd25zdHJlYW0pOwogICAgIHJldHVy
biB7IH07CiB9CiAK
</data>
<flag name="commit-queue"
          id="424881"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409259</attachid>
            <date>2020-09-20 21:39:41 -0700</date>
            <delta_ts>2020-09-21 13:01:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216756-20200920213940.patch</filename>
            <type>text/plain</type>
            <size>16594</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRjZDM4ZGFhMzMzMGIx
MmFmMGJkMDJiYzY1OWI3ZDcxMzA1MzI0OS4uMTYyMmY4MWY4ZTQ0YmMwNDc4MTllYTNiZDgzNmZl
NmNiNjhkZTMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTA5LTIwICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQVBJOiBBIGZl
dyBtb3JlIHJlZmluZW1lbnRzIHRvIERPTVNlbGVjdGlvbiBhbmQgVmlzaWJsZVNlbGVjdGlvbiB0
byBwYXNzIGFsbCBXUFQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNjc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFmdGVyIHRoZXNlIGNoYW5nZXMsIHdlIHBhc3MgYWxsIHRoZSB0ZXN0cyBp
biBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdGlvbgorICAgICAgICB3aXRo
IG5vIGZhaWx1cmVzIGV4Y2VwdCBmb3Igb25lIGR1ZSB0byB0aGUgcnVsZXMgYWJvdXQgYWJzb3Ji
aW5nIG5ld2xpbmVzIGF0IHRoZSBzdGFydAorICAgICAgICBhbmQgZW5kIDxzdHlsZT4gYW5kIDxz
Y3JpcHQ+IGVsZW1lbnRzLgorCisgICAgICAgIEhvd2V2ZXIsIHRoYXQncyB3aXRoIHRoZSBsaXZl
IHNlbGVjdGlvbiByYW5nZSBmZWF0dXJlIGVuYWJsZWQsIGFuZCB0aGVyZSBhcmUgbGlrZWx5IGlz
c3VlcworICAgICAgICB3aXRoIG90aGVyIHRlc3RzIGluIHRoYXQgbW9kZSwgc28gdGhhdCB0ZXN0
aW5nIHN0aWxsIG5lZWRzIHRvIGJlIGRvbmUuIFRoZW4gd2UgYWxzbyBoYXZlIHRvCisgICAgICAg
IGRlY2lkZSBob3cgd2UgYXJlIGdvaW5nIHRvIGRlYWwgd2l0aCB0aGUgY29tcGF0aWJpbGl0eSBy
aXNrIG9mIGNoYW5naW5nIHRoZSBiZWhhdmlvciB0bworICAgICAgICBtYXRjaCB0aGUgc3RhbmRh
cmQuCisKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6VmlzaWJsZVNlbGVjdGlvbik6IFVwZGF0ZWQgdG8g
cmVuYW1lIG1fYmFzZUlzRmlyc3QgdG8KKyAgICAgICAgbV9hbmNob3JJc0ZpcnN0LiBOb3QgcmVx
dWlyZWQgZm9yIHRoZSBmaXgsIGJ1dCBoZWxwZnVsIGZvciBjbGFyaXR5LgorICAgICAgICAoV2Vi
Q29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6dW5jYW5vbmljYWxpemVkU3RhcnQgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnVuY2Fub25pY2FsaXplZEVu
ZCBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6c2V0
QmFzZUFuZEV4dGVudFRvRGVlcEVxdWl2YWxlbnRzKTogQ29tcHV0ZSB3aGV0aGVyCisgICAgICAg
IHRoZSBhbmNob3IgaXMgZmlyc3QgKmJlZm9yZSogY2Fub25pY2FsaXphdGlvbiwgb3RoZXJ3aXNl
IHdlIHdpbGwgcmV2ZXJzZSB0aGUgdHdvCisgICAgICAgIGlmIHRoZWlyIGNhbm9uaWNhbCB2YWx1
ZXMgYXJlIGVxdWFsLiBDYW5vbmljYWxpemF0aW9uIGlzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZQor
ICAgICAgICB0aGUgb3JkZXJpbmcgb3RoZXIgdGhhbiBtYWtpbmcgdHdvIHZhbHVlcyBlcXVhbC4K
KyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnZhbGlkYXRlKTogVXBkYXRlZCBm
b3IgbmFtZS4KKyAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OnNldFdpdGhvdXRW
YWxpZGF0aW9uKTogRGl0dG8sIGFsc28gdHdlYWtlZCBvdGhlciBuYW1lcyBpbiB0aGUKKyAgICAg
ICAgZnVuY3Rpb24gYW5kIHJlbW92ZWQgYW4gaWYgc3RhdGVtZW50LgorICAgICAgICAoV2ViQ29y
ZTo6VmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nU2hhZG93
Qm91bmRhcmllcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6
YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nRWRpdGluZ0JvdW5kYXJpZXMpOiBEaXR0by4K
KworICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oOiBSZW5hbWVkIG1fYmFzZUlz
Rmlyc3QgdG8gbV9hbmNob3JJc0ZpcnN0IGFuZCBpbXByb3ZlZCB0aGUKKyAgICAgICAgY29tbWVu
dCBhYm91dCBtX2lzRGlyZWN0aW9uYWwuCisKKyAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmFuY2hvclBvc2l0aW9uIGNvbnN0
KTogUmVtb3ZlZCB1c2Ugb2YgcGFyZW50QW5jaG9yZWRFcXVpdmFsZW50LgorICAgICAgICBUaGUg
bmFtZSBtYWtlcyBpdCBzb3VuZCBsaWtlIGl0IHdvdWxkIGJlIHVzZWZ1bCwgYnV0IHJlYWxseSBp
dCBqdXN0IHRyaWdnZXJzIHNvbWUKKyAgICAgICAgZWRpdGluZyBiZWhhdmlvcnMgdGhhdCBkb24n
dCBiZWxvbmcgaW4gUG9zaXRpb24gY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlv
bjo6Zm9jdXNQb3NpdGlvbiBjb25zdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2Vs
ZWN0aW9uOjpiYXNlUG9zaXRpb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRP
TVNlbGVjdGlvbjo6ZXh0ZW50UG9zaXRpb24gY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkRPTVNlbGVjdGlvbjo6Y29sbGFwc2UpOiBSZXZlcnNlZCB0aGUgb3JkZXIgb2YgdGhlIGRv
Y3VtZW50IGNoZWNrIGFuZCB0aGUKKyAgICAgICAgY2hlY2sgZm9yIGludmFsaWQgbm9kZXMgYW5k
IG9mZnNldHMuIFRoZXJlIGFyZSBzb21lIGluY29uc2lzdGVuY2llcyBiZXR3ZWVuIHRoZQorICAg
ICAgICBzcGVjaWZpY2F0aW9uIGFuZCBXUFQgYnV0IGZvciBub3cgbWF0Y2hpbmcgV1BUIHNlZW1z
IGxpa2UgdGhlIHdheSB0byBnby4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVNlbGVjdGlvbjo6c2V0
QmFzZUFuZEV4dGVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RE9NU2VsZWN0aW9uOjpl
eHRlbmQpOiBVc2UgVmlzaWJsZVNlbGVjdGlvbjo6c2V0RXh0ZW50LCB3aGljaCBkb2VzIGV4YWN0
bHkKKyAgICAgICAgd2hhdCB3ZSB3YW50LCByYXRoZXIgdGhhbiBGcmFtZVNlbGVjdGlvbjo6c2V0
RXh0ZW50LCB3aGljaCBkb2VzIG5vdC4gSW4gdGhlIGZ1dHVyZQorICAgICAgICB3ZSBtYXkgd2Fu
dCB0byBjdXQgZG93biBvbiB0aGUgbnVtYmVyIG9mIHN1YnRseS1kaWZmZXJlbnQgc2VsZWN0aW9u
IGZ1bmN0aW9ucywKKyAgICAgICAgbGlrZSB0aGVzZSB0d28sIGJ1dCBmb3Igbm93IHRoaXMgZml4
ZXMgdGhpcyBET00gbWV0aG9kIHRvIHdvcmsgYXMgc3BlY2lmaWVkLgorCiAyMDIwLTA5LTIwICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBQZXJmb3JtYW5jZS5uYXZp
Z2F0aW9uIGFuZCBQZXJmb3JtYW5jZS50aW1pbmcgYXJlIGluY29ycmVjdGx5IGV4cG9zZWQgdG8g
d29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKaW5k
ZXggMWM3OTM1MTgyNTIwMmI4YjUxMTdkNzIzODI5YjY2MGJlNjdkMWFjMS4uNzJjMmUxNGY0YzU1
MGQ4OGI2MTg3ZGNhNmNhODQwMGUxY2JkMzdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1Zpc2libGVTZWxlY3Rpb24uY3BwCkBAIC00NCw3ICs0NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFZpc2libGVTZWxlY3Rpb246OlZpc2libGVTZWxlY3Rpb24oKQotICAgIDogbV9iYXNl
SXNGaXJzdCh0cnVlKQorICAgIDogbV9hbmNob3JJc0ZpcnN0KHRydWUpCiAgICAgLCBtX2lzRGly
ZWN0aW9uYWwoZmFsc2UpCiB7CiB9CkBAIC05OCwxMiArOTgsMTIgQEAgUG9zaXRpb24gVmlzaWJs
ZVNlbGVjdGlvbjo6Zm9jdXMoKSBjb25zdAogCiBQb3NpdGlvbiBWaXNpYmxlU2VsZWN0aW9uOjp1
bmNhbm9uaWNhbGl6ZWRTdGFydCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fYmFzZUlzRmlyc3Qg
PyBtX2FuY2hvciA6IG1fZm9jdXM7CisgICAgcmV0dXJuIG1fYW5jaG9ySXNGaXJzdCA/IG1fYW5j
aG9yIDogbV9mb2N1czsKIH0KIAogUG9zaXRpb24gVmlzaWJsZVNlbGVjdGlvbjo6dW5jYW5vbmlj
YWxpemVkRW5kKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9iYXNlSXNGaXJzdCA/IG1fZm9jdXMg
OiBtX2FuY2hvcjsKKyAgICByZXR1cm4gbV9hbmNob3JJc0ZpcnN0ID8gbV9mb2N1cyA6IG1fYW5j
aG9yOwogfQogCiBPcHRpb25hbDxTaW1wbGVSYW5nZT4gVmlzaWJsZVNlbGVjdGlvbjo6cmFuZ2Uo
KSBjb25zdApAQCAtMjI1LDEzICsyMjUsMTMgQEAgdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjpzZXRC
YXNlQW5kRXh0ZW50VG9EZWVwRXF1aXZhbGVudHMoKQogICAgIGlmIChtX2ZvY3VzLmlzTnVsbCgp
KQogICAgICAgICBtX2ZvY3VzID0gbV9hbmNob3I7CiAKKyAgICBtX2FuY2hvcklzRmlyc3QgPSBt
X2FuY2hvciA8PSBtX2ZvY3VzOworCiAgICAgbV9iYXNlID0gVmlzaWJsZVBvc2l0aW9uKG1fYW5j
aG9yLCBtX2FmZmluaXR5KS5kZWVwRXF1aXZhbGVudCgpOwogICAgIGlmIChtX2FuY2hvciA9PSBt
X2ZvY3VzKQogICAgICAgICBtX2V4dGVudCA9IG1fYmFzZTsKICAgICBlbHNlCiAgICAgICAgIG1f
ZXh0ZW50ID0gVmlzaWJsZVBvc2l0aW9uKG1fZm9jdXMsIG1fYWZmaW5pdHkpLmRlZXBFcXVpdmFs
ZW50KCk7Ci0KLSAgICBtX2Jhc2VJc0ZpcnN0ID0gbV9iYXNlIDw9IG1fZXh0ZW50OwogfQogCiB2
b2lkIFZpc2libGVTZWxlY3Rpb246OmFkanVzdFNlbGVjdGlvblJlc3BlY3RpbmdHcmFudWxhcml0
eShUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCkBAIC0zNzUsOCArMzc1LDggQEAgdm9pZCBW
aXNpYmxlU2VsZWN0aW9uOjp2YWxpZGF0ZShUZXh0R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkpCiB7
CiAgICAgc2V0QmFzZUFuZEV4dGVudFRvRGVlcEVxdWl2YWxlbnRzKCk7CiAKLSAgICBtX3N0YXJ0
ID0gbV9iYXNlSXNGaXJzdCA/IG1fYmFzZSA6IG1fZXh0ZW50OwotICAgIG1fZW5kID0gbV9iYXNl
SXNGaXJzdCA/IG1fZXh0ZW50IDogbV9iYXNlOworICAgIG1fc3RhcnQgPSBtX2FuY2hvcklzRmly
c3QgPyBtX2Jhc2UgOiBtX2V4dGVudDsKKyAgICBtX2VuZCA9IG1fYW5jaG9ySXNGaXJzdCA/IG1f
ZXh0ZW50IDogbV9iYXNlOwogCiAgICAgYXV0byBzdGFydEJlZm9yZUFkanVzdG1lbnRzID0gbV9z
dGFydDsKICAgICBhdXRvIGVuZEJlZm9yZUFkanVzdG1lbnRzID0gbV9lbmQ7CkBAIC00MDksMzgg
KzQwOSwzMiBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OnZhbGlkYXRlKFRleHRHcmFudWxhcml0
eSBncmFudWxhcml0eSkKICAgICB9CiAKICAgICBpZiAoc2hvdWxkVXBkYXRlQW5jaG9yKSB7Ci0g
ICAgICAgIG1fYW5jaG9yID0gbV9iYXNlSXNGaXJzdCA/IG1fc3RhcnQgOiBtX2VuZDsKKyAgICAg
ICAgbV9hbmNob3IgPSBtX2FuY2hvcklzRmlyc3QgPyBtX3N0YXJ0IDogbV9lbmQ7CiAgICAgICAg
IG1fYmFzZSA9IG1fYW5jaG9yOwogICAgIH0KICAgICBpZiAoc2hvdWxkVXBkYXRlRm9jdXMpIHsK
LSAgICAgICAgbV9mb2N1cyA9IG1fYmFzZUlzRmlyc3QgPyBtX2VuZCA6IG1fc3RhcnQ7CisgICAg
ICAgIG1fZm9jdXMgPSBtX2FuY2hvcklzRmlyc3QgPyBtX2VuZCA6IG1fc3RhcnQ7CiAgICAgICAg
IG1fZXh0ZW50ID0gbV9mb2N1czsKICAgICB9CiB9CiAKLS8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9u
IGJyZWFrcyB0aGUgaW52YXJpYW50IG9mIHRoaXMgY2xhc3MuCi0vLyBCdXQgYmVjYXVzZSB3ZSB1
c2UgVmlzaWJsZVNlbGVjdGlvbiB0byBzdG9yZSB2YWx1ZXMgaW4gZWRpdGluZyBjb21tYW5kcyBm
b3IgdXNlIHdoZW4KLS8vIHVuZG9pbmcgdGhlIGNvbW1hbmQsIHdlIG5lZWQgdG8gYmUgYWJsZSB0
byBjcmVhdGUgYSBzZWxlY3Rpb24gdGhhdCB3aGlsZSBjdXJyZW50bHkKKy8vIEJlY2F1c2Ugd2Ug
dXNlIFZpc2libGVTZWxlY3Rpb24gdG8gc3RvcmUgdmFsdWVzIGluIGVkaXRpbmcgY29tbWFuZHMg
Zm9yIHVzZSB3aGVuCisvLyB1bmRvaW5nIHRoZSBjb21tYW5kLCB3ZSBuZWVkIHRvIGJlIGFibGUg
dG8gY3JlYXRlIGEgc2VsZWN0aW9uIHRoYXQsIHdoaWxlIGN1cnJlbnRseQogLy8gaW52YWxpZCwg
d2lsbCBiZSB2YWxpZCBvbmNlIHRoZSBjaGFuZ2VzIGFyZSB1bmRvbmUuIFRoaXMgaXMgYSBkZXNp
Z24gcHJvYmxlbS4KLS8vIFRvIGZpeCBpdCB3ZSBlaXRoZXIgbmVlZCB0byBjaGFuZ2UgdGhlIGlu
dmFyaWFudHMgb2YgVmlzaWJsZVNlbGVjdGlvbiBvciBjcmVhdGUgYSBuZXcKLS8vIGNsYXNzIGZv
ciBlZGl0aW5nIHRvIHVzZSB0aGF0IGNhbiBtYW5pcHVsYXRlIHNlbGVjdGlvbnMgdGhhdCBhcmUg
bm90IGN1cnJlbnRseSB2YWxpZC4KLXZvaWQgVmlzaWJsZVNlbGVjdGlvbjo6c2V0V2l0aG91dFZh
bGlkYXRpb24oY29uc3QgUG9zaXRpb24mIGJhc2UsIGNvbnN0IFBvc2l0aW9uJiBleHRlbnQpCisv
LyBUaGUgYmVzdCBmaXggaXMgbGlrZWx5IHRvIGdldCByaWQgb2YgY2Fub25pY2FsaXphdGlvbiBm
cm9tIFZpc2libGVTZWxlY3Rpb24gZW50aXJlbHksCisvLyBhbmQgdGhlbiByZW1vdmUgdGhpcyBm
dW5jdGlvbi4KK3ZvaWQgVmlzaWJsZVNlbGVjdGlvbjo6c2V0V2l0aG91dFZhbGlkYXRpb24oY29u
c3QgUG9zaXRpb24mIGFuY2hvciwgY29uc3QgUG9zaXRpb24mIGZvY3VzKQogewotICAgIEFTU0VS
VChiYXNlLmlzTnVsbCgpID09IGV4dGVudC5pc051bGwoKSk7CisgICAgQVNTRVJUKGFuY2hvci5p
c051bGwoKSA9PSBmb2N1cy5pc051bGwoKSk7CiAgICAgQVNTRVJUKG1fYWZmaW5pdHkgPT0gQWZm
aW5pdHk6OkRvd25zdHJlYW0pOwotICAgIG1fYW5jaG9yID0gYmFzZTsKLSAgICBtX2ZvY3VzID0g
ZXh0ZW50OwotICAgIG1fYmFzZSA9IGJhc2U7Ci0gICAgbV9leHRlbnQgPSBleHRlbnQ7Ci0gICAg
bV9iYXNlSXNGaXJzdCA9IGJhc2UgPD0gZXh0ZW50OwotICAgIGlmIChtX2Jhc2VJc0ZpcnN0KSB7
Ci0gICAgICAgIG1fc3RhcnQgPSBiYXNlOwotICAgICAgICBtX2VuZCA9IGV4dGVudDsKLSAgICB9
IGVsc2UgewotICAgICAgICBtX3N0YXJ0ID0gZXh0ZW50OwotICAgICAgICBtX2VuZCA9IGJhc2U7
Ci0gICAgfQotICAgIG1fdHlwZSA9IGJhc2UgPT0gZXh0ZW50ID8gVHlwZTo6Q2FyZXQgOiBUeXBl
OjpSYW5nZTsKKyAgICBtX2FuY2hvciA9IGFuY2hvcjsKKyAgICBtX2ZvY3VzID0gZm9jdXM7Cisg
ICAgbV9hbmNob3JJc0ZpcnN0ID0gbV9hbmNob3IgPD0gbV9mb2N1czsKKyAgICBtX2Jhc2UgPSBh
bmNob3I7CisgICAgbV9leHRlbnQgPSBmb2N1czsKKyAgICBtX3N0YXJ0ID0gbV9hbmNob3JJc0Zp
cnN0ID8gYW5jaG9yIDogZm9jdXM7CisgICAgbV9lbmQgPSBtX2FuY2hvcklzRmlyc3QgPyBmb2N1
cyA6IGFuY2hvcjsKKyAgICBtX3R5cGUgPSBhbmNob3IgPT0gZm9jdXMgPyBUeXBlOjpDYXJldCA6
IFR5cGU6OlJhbmdlOwogfQogCiBQb3NpdGlvbiBWaXNpYmxlU2VsZWN0aW9uOjphZGp1c3RQb3Np
dGlvbkZvckVuZChjb25zdCBQb3NpdGlvbiYgY3VycmVudFBvc2l0aW9uLCBOb2RlKiBzdGFydENv
bnRhaW5lck5vZGUpCkBAIC01MTIsNyArNTA2LDcgQEAgdm9pZCBWaXNpYmxlU2VsZWN0aW9uOjph
ZGp1c3RTZWxlY3Rpb25Ub0F2b2lkQ3Jvc3NpbmdTaGFkb3dCb3VuZGFyaWVzKCkKICAgICB9CiAK
ICAgICAvLyBDb3JyZWN0IHRoZSBmb2N1cyBpZiBuZWNlc3NhcnkuCi0gICAgaWYgKG1fYmFzZUlz
Rmlyc3QpIHsKKyAgICBpZiAobV9hbmNob3JJc0ZpcnN0KSB7CiAgICAgICAgIG1fZXh0ZW50ID0g
YWRqdXN0UG9zaXRpb25Gb3JFbmQobV9lbmQsIG1fc3RhcnQuY29udGFpbmVyTm9kZSgpKTsKICAg
ICAgICAgbV9lbmQgPSBtX2V4dGVudDsKICAgICB9IGVsc2UgewpAQCAtNjIxLDcgKzYxNSw3IEBA
IHZvaWQgVmlzaWJsZVNlbGVjdGlvbjo6YWRqdXN0U2VsZWN0aW9uVG9Bdm9pZENyb3NzaW5nRWRp
dGluZ0JvdW5kYXJpZXMoKQogICAgIAogICAgIC8vIENvcnJlY3QgdGhlIGZvY3VzIGlmIG5lY2Vz
c2FyeS4KICAgICBpZiAoYmFzZUVkaXRhYmxlQW5jZXN0b3IgIT0gbG93ZXN0RWRpdGFibGVBbmNl
c3RvcihtX2V4dGVudC5jb250YWluZXJOb2RlKCkpKSB7Ci0gICAgICAgIG1fZXh0ZW50ID0gbV9i
YXNlSXNGaXJzdCA/IG1fZW5kIDogbV9zdGFydDsKKyAgICAgICAgbV9leHRlbnQgPSBtX2FuY2hv
cklzRmlyc3QgPyBtX2VuZCA6IG1fc3RhcnQ7CiAgICAgICAgIG1fZm9jdXMgPSBtX2V4dGVudDsK
ICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxl
Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCmluZGV4
IDczYTJiZGRhM2E2NDRlMjI2ODYxMmYwYTJkYTYxMjI2YzEzYTMzNGUuLmU2ZThmNTE0YTZlNmIz
NzY4NDcyOWJlNGEyNjI4OWIyOGMwNGZlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlz
aWJsZVNlbGVjdGlvbi5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzTm9u
T3JwaGFuZWRSYW5nZSgpIGNvbnN0IHsgcmV0dXJuIGlzUmFuZ2UoKSAmJiAhc3RhcnQoKS5pc09y
cGhhbigpICYmICFlbmQoKS5pc09ycGhhbigpOyB9CiAgICAgYm9vbCBpc05vbmVPck9ycGhhbmVk
KCkgY29uc3QgeyByZXR1cm4gaXNOb25lKCkgfHwgc3RhcnQoKS5pc09ycGhhbigpIHx8IGVuZCgp
LmlzT3JwaGFuKCk7IH0KIAotICAgIGJvb2wgaXNCYXNlRmlyc3QoKSBjb25zdCB7IHJldHVybiBt
X2Jhc2VJc0ZpcnN0OyB9CisgICAgYm9vbCBpc0Jhc2VGaXJzdCgpIGNvbnN0IHsgcmV0dXJuIG1f
YW5jaG9ySXNGaXJzdDsgfQogICAgIGJvb2wgaXNEaXJlY3Rpb25hbCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNEaXJlY3Rpb25hbDsgfQogICAgIHZvaWQgc2V0SXNEaXJlY3Rpb25hbChib29sIGlzRGly
ZWN0aW9uYWwpIHsgbV9pc0RpcmVjdGlvbmFsID0gaXNEaXJlY3Rpb25hbDsgfQogCkBAIC0xNTYs
OCArMTU2LDggQEAgcHJpdmF0ZToKICAgICAvLyBUaGVzZSBhcmUgY2FjaGVkLCBjYW4gYmUgcmVj
YWxjdWxhdGVkIGJ5IHZhbGlkYXRlKCkKICAgICBlbnVtIGNsYXNzIFR5cGUgOiB1aW50OF90IHsg
Tm9uZSwgQ2FyZXQsIFJhbmdlIH07CiAgICAgVHlwZSBtX3R5cGUgeyBUeXBlOjpOb25lIH07Ci0g
ICAgYm9vbCBtX2Jhc2VJc0ZpcnN0IDogMTsgLy8gVHJ1ZSBpZiBiYXNlIGlzIGJlZm9yZSB0aGUg
ZXh0ZW50LgotICAgIGJvb2wgbV9pc0RpcmVjdGlvbmFsIDogMTsgLy8gTm9uLWRpcmVjdGlvbmFs
IGlnbm9yZXMgbV9iYXNlSXNGaXJzdCBhbmQgc2VsZWN0aW9uIGFsd2F5cyBleHRlbmRzIG9uIHNo
aWZ0ICsgYXJyb3cga2V5LgorICAgIGJvb2wgbV9hbmNob3JJc0ZpcnN0IDogMTsgLy8gVHJ1ZSBp
ZiB0aGUgYW5jaG9yIGlzIGJlZm9yZSB0aGUgZm9jdXMuCisgICAgYm9vbCBtX2lzRGlyZWN0aW9u
YWwgOiAxOyAvLyBPbiBNYWMsIFNoaWZ0LWFycm93IGtleXMgbW92ZSB0aGUgYW5jaG9yIGluIGEg
ZGlyZWN0aW9uYWwgc2VsZWN0aW9uIGFuZCBtb3ZlcyBlaXRoZXIgZW5kIHRvIGFsd2F5cyBleHRl
bmQgaW4gYSBub24tZGlyZWN0aW9uYWwgc2VsZWN0aW9uLgogfTsKIAogaW5saW5lIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBhLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9u
JiBiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uY3BwCmluZGV4IDFiNGViZmFkZjcxNzNj
ZjNlNWJjMTdkYmZmNmMwYzRhNDAzYjEwNzEuLjAxOTExNTg4MTlkOWEyYjc1MWRjODU2ZWQ3MThh
OGQ5NjI2MThjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NU2VsZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAKQEAgLTgzLDcg
KzgzLDcgQEAgUG9zaXRpb24gRE9NU2VsZWN0aW9uOjphbmNob3JQb3NpdGlvbigpIGNvbnN0CiAg
ICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZnJhbWUtPnNldHRp
bmdzKCkubGl2ZVJhbmdlU2VsZWN0aW9uRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZnJhbWUt
PnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmFuY2hvcigpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVu
dCgpOworICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmFuY2hv
cigpOwogICAgIGF1dG8mIHNlbGVjdGlvbiA9IGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24o
KTsKICAgICByZXR1cm4gKHNlbGVjdGlvbi5pc0Jhc2VGaXJzdCgpID8gc2VsZWN0aW9uLnN0YXJ0
KCkgOiBzZWxlY3Rpb24uZW5kKCkpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOwogfQpAQCAt
OTQsNyArOTQsNyBAQCBQb3NpdGlvbiBET01TZWxlY3Rpb246OmZvY3VzUG9zaXRpb24oKSBjb25z
dAogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgaWYgKGZyYW1lLT5z
ZXR0aW5ncygpLmxpdmVSYW5nZVNlbGVjdGlvbkVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGZy
YW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5mb2N1cygpLnBhcmVudEFuY2hvcmVkRXF1aXZh
bGVudCgpOworICAgICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZv
Y3VzKCk7CiAgICAgYXV0byYgc2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlv
bigpOwogICAgIHJldHVybiAoc2VsZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBzZWxlY3Rpb24uZW5k
KCkgOiBzZWxlY3Rpb24uc3RhcnQoKSkucGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CiB9CkBA
IC0xMDYsNyArMTA2LDcgQEAgUG9zaXRpb24gRE9NU2VsZWN0aW9uOjpiYXNlUG9zaXRpb24oKSBj
b25zdAogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgaWYgKGZyYW1l
LT5zZXR0aW5ncygpLmxpdmVSYW5nZVNlbGVjdGlvbkVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJu
IGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5hbmNob3IoKS5wYXJlbnRBbmNob3JlZEVx
dWl2YWxlbnQoKTsKKyAgICAgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24o
KS5hbmNob3IoKTsKICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmJh
c2UoKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKTsKIH0KIApAQCAtMTE3LDcgKzExNyw3IEBA
IFBvc2l0aW9uIERPTVNlbGVjdGlvbjo6ZXh0ZW50UG9zaXRpb24oKSBjb25zdAogICAgIGlmICgh
ZnJhbWUpCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLmxp
dmVSYW5nZVNlbGVjdGlvbkVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rp
b24oKS5zZWxlY3Rpb24oKS5mb2N1cygpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOworICAg
ICAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmZvY3VzKCk7CiAgICAg
cmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5leHRlbnQoKS5wYXJlbnRBbmNo
b3JlZEVxdWl2YWxlbnQoKTsKIH0KIApAQCAtMjAzLDExICsyMDMsMTAgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gRE9NU2VsZWN0aW9uOjpjb2xsYXBzZShOb2RlKiBub2RlLCB1bnNpZ25lZCBvZmZzZXQp
CiAgICAgICAgICAgICByZW1vdmVBbGxSYW5nZXMoKTsKICAgICAgICAgICAgIHJldHVybiB7IH07
CiAgICAgICAgIH0KLSAgICAgICAgYXV0byYgZG9jdW1lbnQgPSAqZnJhbWUtPmRvY3VtZW50KCk7
Ci0gICAgICAgIGlmICghZG9jdW1lbnQuY29udGFpbnMoKm5vZGUpKQotICAgICAgICAgICAgcmV0
dXJuIHsgfTsKICAgICAgICAgaWYgKGF1dG8gcmVzdWx0ID0gUmFuZ2U6OmNoZWNrTm9kZU9mZnNl
dFBhaXIoKm5vZGUsIG9mZnNldCk7IHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOworICAgICAgICBpZiAoIWZyYW1lLT5k
b2N1bWVudCgpLT5jb250YWlucygqbm9kZSkpCisgICAgICAgICAgICByZXR1cm4geyB9OwogICAg
IH0gZWxzZSB7CiAgICAgICAgIGlmICghaXNWYWxpZEZvclBvc2l0aW9uKG5vZGUpKQogICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKQEAgLTI2NCwxMyArMjYzLDEzIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IERPTVNlbGVjdGlvbjo6c2V0QmFzZUFuZEV4dGVudChOb2RlKiBiYXNlTm9kZSwgdW5zaWduZWQg
YmFzZU9mCiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgZG8gdGhpcyBieSBtYWtpbmcgdGhl
IGFyZ3VtZW50cyBub24tbnVsbGFibGUgaW4gdGhlIElETCBmaWxlLCBvbmNlIGxpdmVSYW5nZVNl
bGVjdGlvbkVuYWJsZWQgaXMgYWx3YXlzIHRydWUuCiAgICAgICAgIGlmICghYmFzZU5vZGUgfHwg
IWV4dGVudE5vZGUpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07
Ci0gICAgICAgIGF1dG8mIGRvY3VtZW50ID0gKmZyYW1lLT5kb2N1bWVudCgpOwotICAgICAgICBp
ZiAoIWRvY3VtZW50LmNvbnRhaW5zKCpiYXNlTm9kZSkgfHwgIWRvY3VtZW50LmNvbnRhaW5zKCpl
eHRlbnROb2RlKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgIGlmIChhdXRvIHJl
c3VsdCA9IFJhbmdlOjpjaGVja05vZGVPZmZzZXRQYWlyKCpiYXNlTm9kZSwgYmFzZU9mZnNldCk7
IHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFz
ZUV4Y2VwdGlvbigpOwogICAgICAgICBpZiAoYXV0byByZXN1bHQgPSBSYW5nZTo6Y2hlY2tOb2Rl
T2Zmc2V0UGFpcigqZXh0ZW50Tm9kZSwgZXh0ZW50T2Zmc2V0KTsgcmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAg
ICAgIGF1dG8mIGRvY3VtZW50ID0gKmZyYW1lLT5kb2N1bWVudCgpOworICAgICAgICBpZiAoIWRv
Y3VtZW50LmNvbnRhaW5zKCpiYXNlTm9kZSkgfHwgIWRvY3VtZW50LmNvbnRhaW5zKCpleHRlbnRO
b2RlKSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYg
KCFpc1ZhbGlkRm9yUG9zaXRpb24oYmFzZU5vZGUpIHx8ICFpc1ZhbGlkRm9yUG9zaXRpb24oZXh0
ZW50Tm9kZSkpCiAgICAgICAgICAgICByZXR1cm4geyB9OwpAQCAtMzQ0LDE1ICszNDMsMTggQEAg
RXhjZXB0aW9uT3I8dm9pZD4gRE9NU2VsZWN0aW9uOjpleHRlbmQoTm9kZSYgbm9kZSwgdW5zaWdu
ZWQgb2Zmc2V0KQogICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgaWYgKGF1dG8gcmVz
dWx0ID0gUmFuZ2U6OmNoZWNrTm9kZU9mZnNldFBhaXIobm9kZSwgb2Zmc2V0KTsgcmVzdWx0Lmhh
c0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9u
KCk7CisgICAgICAgIGF1dG8mIHNlbGVjdGlvbiA9IGZyYW1lLT5zZWxlY3Rpb24oKTsKKyAgICAg
ICAgYXV0byBuZXdTZWxlY3Rpb24gPSBzZWxlY3Rpb24uc2VsZWN0aW9uKCk7CisgICAgICAgIG5l
d1NlbGVjdGlvbi5zZXRFeHRlbnQobWFrZUNvbnRhaW5lck9mZnNldFBvc2l0aW9uKCZub2RlLCBv
ZmZzZXQpKTsKKyAgICAgICAgc2VsZWN0aW9uLmRpc2Fzc29jaWF0ZUxpdmVSYW5nZSgpOworICAg
ICAgICBzZWxlY3Rpb24uc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgaWYgKG9mZnNldCA+IG5vZGUubGVuZ3RoKCkpCiAgICAgICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IgfTsKICAgICAgICAgaWYgKCFpc1ZhbGlkRm9yUG9z
aXRpb24oJm5vZGUpKQogICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgZnJhbWUtPnNl
bGVjdGlvbigpLnNldEV4dGVudChtYWtlQ29udGFpbmVyT2Zmc2V0UG9zaXRpb24oJm5vZGUsIG9m
ZnNldCksIEFmZmluaXR5OjpEb3duc3RyZWFtKTsKICAgICB9Ci0gICAgYXV0byYgc2VsZWN0aW9u
ID0gZnJhbWUtPnNlbGVjdGlvbigpOwotICAgIHNlbGVjdGlvbi5kaXNhc3NvY2lhdGVMaXZlUmFu
Z2UoKTsKLSAgICBzZWxlY3Rpb24uc2V0RXh0ZW50KG1ha2VDb250YWluZXJPZmZzZXRQb3NpdGlv
bigmbm9kZSwgb2Zmc2V0KSwgQWZmaW5pdHk6OkRvd25zdHJlYW0pOwogICAgIHJldHVybiB7IH07
CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAxNzNiMGVkYmYwNzkzMzJkYmQ3Y2I3NmI1MzI2ODYxMDg0MDUxZmVmLi44
ZDYxZjVkNzFjM2MwOGM1NGE1NTFkMmIxZjMxMDA2ODhhMGY3OTJlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjAtMDktMjAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFNlbGVjdGlvbiBBUEk6IEEgZmV3IG1vcmUgcmVmaW5lbWVudHMgdG8gRE9NU2VsZWN0aW9u
IGFuZCBWaXNpYmxlU2VsZWN0aW9uIHRvIHBhc3MgYWxsIFdQVCB0ZXN0cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NzU2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2luc2VydGluZy9p
bnNlcnQtbGlzdC1pbi10YWJsZS1jZWxsLTA3LWV4cGVjdGVkLnR4dDogVXBkYXRlZCByZXN1bHRz
CisgICAgICAgIGZvciBhIHNsaWdodCBjaGFuZ2UgaW4gd2hlcmUgdGhlIGluc2VydGlvbiBwb2lu
dCBlbmRzIHVwLiBUaGlzIGlzIG5laXRoZXIgYQorICAgICAgICBwcm9ncmVzc2lvbiBub3IgYSBy
ZWdyZXNzaW9uLCBidXQgdGhpcyBpcyBhbHNvIGEgdmVyeSBzdHJhbmdlIGVkZ2UgY2FzZS4gSXQK
KyAgICAgICAgd291bGQgYmUgYmV0dGVyIGF0IHNvbWUgcG9pbnQgdG8gZW5oYW5jZSB0aGUgZWRp
dGluZyBjb2RlIHNvIHRoZSBzZWxlY3Rpb24gc3RheXMKKyAgICAgICAgaW50YWN0LCB3aGljaCBJ
IHRoaW5rIG1lYW5zIHRoYXQgdGhlIGVudGlyZSB0YWJsZSBib2R5IHdvdWxkIGJlIHNlbGVjdGVk
LCBidXQKKyAgICAgICAgdGhlIGN1cnJlbnQgYmVhaHZpb3IsIGJlZm9yZSB0aGlzIHBhdGNoIGFu
ZCBhZnRlciwgeWllbGRzIGFuIGluc2VydGlvbiBwb2ludC4KKwogMjAyMC0wOS0yMCAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUGVyZm9ybWFuY2UubmF2aWdhdGlv
biBhbmQgUGVyZm9ybWFuY2UudGltaW5nIGFyZSBpbmNvcnJlY3RseSBleHBvc2VkIHRvIHdvcmtl
cnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1saXN0
LWluLXRhYmxlLWNlbGwtMDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnNl
cnRpbmcvaW5zZXJ0LWxpc3QtaW4tdGFibGUtY2VsbC0wNy1leHBlY3RlZC50eHQKaW5kZXggMWM2
MjJmM2I4MjhjYjhhMDQwN2Q4MGMwZmFkZmI3NzBmZTg3N2IxYy4uYzdkMTJmZDJhYzA3NWM0ZjYy
YTkyZWY4YjAxMGEwOWY3Y2JmYjI1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnNlcnRpbmcvaW5zZXJ0LWxpc3QtaW4tdGFibGUtY2VsbC0wNy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LWxpc3QtaW4tdGFibGUtY2VsbC0w
Ny1leHBlY3RlZC50eHQKQEAgLTgsOCArOCw3IEBAIEJlZm9yZToKIHwgICAgIGlkPSJlbGVtZW50
IgogfCAgICAgPHRyPgogfCAgICAgICA8dGQ+Ci18ICAgICAgICAgPCNzZWxlY3Rpb24tYW5jaG9y
PgotfCAgICAgICAgICJmc2RmIgorfCAgICAgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+ZnNkZiIK
IHwgICAgICAgPHRkPgogfCAgICAgICAgICJmc2RmIgogfCAgICAgPHRyPgpAQCAtMjAsMTQgKzE5
LDE0IEBAIEJlZm9yZToKIHwgICA8dGJvZHk+CiAKIEFmdGVyOgotfCA8I3NlbGVjdGlvbi1jYXJl
dD4KIHwgPHRhYmxlPgogfCAgIGJvcmRlcj0iMSIKIHwgICA8dGJvZHk+CiB8ICAgICBpZD0iZWxl
bWVudCIKIHwgICAgIDx0cj4KIHwgICAgICAgPHRkPgotfCAgICAgICAgICJmc2RmIgorfCAgICAg
ICAgICI8I3NlbGVjdGlvbi1jYXJldD5mc2RmIgorfCAgICAgICAgIDxicj4KIHwgICAgICAgPHRk
PgogfCAgICAgICAgICJmc2RmIgogfCAgICAgPHRyPgpAQCAtMzUsMyArMzQsNCBAQCBBZnRlcjoK
IHwgICAgICAgICAiZ2doZmciCiB8ICAgICAgIDx0ZD4KIHwgICAgICAgICAiZnNmZyIKK3wgICA8
dGJvZHk+Cg==
</data>
<flag name="review"
          id="424880"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>