<?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>191558</bug_id>
          
          <creation_ts>2018-11-12 12:56:32 -0800</creation_ts>
          <short_desc>[IntersectionObserver] Support having targets in multiple windows</short_desc>
          <delta_ts>2023-08-13 09:56:25 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=206556</see_also>
          <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>159475</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ali Juma">ajuma</reporter>
          <assigned_to name="Ali Juma">ajuma</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1477676</commentid>
    <comment_count>0</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-11-12 12:56:32 -0800</bug_when>
    <thetext>An implicit-root IntersectionObserver should be able to have targets in multiple windows, and observe the intersection of each of them with their window&apos;s viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477686</commentid>
    <comment_count>1</comment_count>
      <attachid>354579</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-11-12 13:07:46 -0800</bug_when>
    <thetext>Created attachment 354579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477687</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-11-12 13:09:26 -0800</bug_when>
    <thetext>Attachment 354579 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477688</commentid>
    <comment_count>3</comment_count>
      <attachid>354580</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-11-12 13:11:01 -0800</bug_when>
    <thetext>Created attachment 354580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477706</commentid>
    <comment_count>4</comment_count>
      <attachid>354579</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-11-12 13:33:48 -0800</bug_when>
    <thetext>Comment on attachment 354579
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests (OOPS!).

Fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477708</commentid>
    <comment_count>5</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2018-11-12 13:39:15 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Comment on attachment 354579 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=354579&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        No new tests (OOPS!).
&gt; 
&gt; Fix this.

Removed that line in the latest patch since there&apos;s a web platform test that covers this (and passes after this patch).

Is that sufficient test coverage or do you think we need more?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621607</commentid>
    <comment_count>6</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2020-02-21 03:28:51 -0800</bug_when>
    <thetext>@Ali: What&apos;s the status of this? Are you still working on this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621624</commentid>
    <comment_count>7</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2020-02-21 05:58:20 -0800</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #6)
&gt; @Ali: What&apos;s the status of this? Are you still working on this patch?

This got dropped in the lead-up to IntersectionObserver being enabled by default, since it seemed like a risky change relative to the edge-case that it handles.

The patch should mostly still apply, I expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810783</commentid>
    <comment_count>8</comment_count>
      <attachid>354580</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-11-01 12:46:53 -0700</bug_when>
    <thetext>Comment on attachment 354580
Patch

This has been requesting review for more than one year.  If this is still needed, please rebase and re-request review.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354579</attachid>
            <date>2018-11-12 13:07:46 -0800</date>
            <delta_ts>2018-11-12 13:10:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191558-20181112160745.patch</filename>
            <type>text/plain</type>
            <size>18892</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3OTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3YzQ5ODA1ZDRlNzVj
YjU0N2FhYjljODNhNTg3NjlkZTUzZjc5Mi4uZjg3N2EyODMyM2E5ODFjYzRjOWI2YTBhNzkwNjVi
MWY0YTJmMGVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE4LTExLTEyICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJdIFN1cHBvcnQgaGF2aW5nIHRhcmdldHMgaW4gbXVsdGlwbGUgd2luZG93cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BT
ISkuCisKKyAgICAgICAgQWxsb3cgYW4gaW1wbGljaXQtcm9vdCBvYnNlcnZlciB0byBvYnNlcnZl
IHRoZSBpbnRlcnNlY3Rpb24gb2YgdGFyZ2V0cyBpbiBtdWx0aXBsZQorICAgICAgICB3aW5kb3dz
IHdpdGggdGhlaXIgcmVzcGVjdGl2ZSB2aWV3cG9ydHMuIFRoaXMgbWVhbnMgdGhhdCBhbiBpbXBs
aWNpdCByb290IG9ic2VydmVyCisgICAgICAgIG5vIGxvbmdlciBoYXMgYSBzaW5nbGUgdHJhY2tp
bmcgZG9jdW1lbnQgcmVwcmVzZW50aW5nIHRoZSB2aWV3cG9ydCB3aXRoIHJlc3BlY3QgdG8KKyAg
ICAgICAgd2hpY2ggaXQgb2JzZXJ2ZXMgaW50ZXJzZWN0aW9ucy4gSW5zdGVhZCwgdGhlcmUgY2Fu
IGJlIG11bHRpcGxlIHN1Y2ggZG9jdW1lbnRzLAorICAgICAgICBjb3JyZXNwb25kaW5nIHRvIHRo
ZSBtYWluLWZyYW1lIGRvY3VtZW50cyBvZiBlYWNoIHdpbmRvdyB0aGF0IGNvbnRhaW5zIGEgdGFy
Z2V0LgorICAgICAgICBUbyBrZWVwIHRyYWNrIG9mIHdoaWNoIHRhcmdldHMgY29ycmVzcG9uZCB0
byB3aGljaCB0cmFja2luZyBkb2N1bWVudHMsIGFkZCBhCisgICAgICAgIHZlY3RvciBvZiBWaWV3
cG9ydE9ic2VydmF0aW9uRGF0YSB0byBlYWNoIEludGVyc2VjdGlvbk9ic2VydmVyLCB3aGVyZSBl
YWNoCisgICAgICAgIFZpZXdwb3J0T2JzZXJ2YXRpb25EYXRhIGluc3RhbmNlIGhhcyBhIGxpc3Qg
b2YgdGFyZ2V0cyBmb3IgYSBzaW5nbGUgdHJhY2tpbmcKKyAgICAgICAgZG9jdW1lbnQuCisKKyAg
ICAgICAgVGVzdGVkIGJ5IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIv
dGFyZ2V0LWluLWRpZmZlcmVudC13aW5kb3cuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVJbnRlcnNlY3Rpb25TdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKToK
KyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpk
aWRNb3ZlVG9OZXdEb2N1bWVudCk6CisgICAgICAgICogcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjpJbnRlcnNlY3Rpb25PYnNl
cnZlcik6CisgICAgICAgIChXZWJDb3JlOjogY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJzZWN0aW9uT2JzZXJ2ZXI6Om9ic2VydmUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0
aW9uT2JzZXJ2ZXI6OnVub2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25P
YnNlcnZlcjo6ZGlzY29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNl
cnZlcjo6cmVtb3ZlT2JzZXJ2YXRpb25UYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJz
ZWN0aW9uT2JzZXJ2ZXI6OnRhcmdldERlc3Ryb3llZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cnNlY3Rpb25PYnNlcnZlcjo6dGFyZ2V0TW92ZWRUb05ld0RvY3VtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjpyZW1vdmVBbGxUYXJnZXRzKToKKyAgICAgICAg
KFdlYkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjphZGRUYXJnZXRUb09ic2VydmF0aW9uRm9y
Vmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJlbW92
ZVZpZXdwb3J0T2JzZXJ2YXRpb25JZlRhcmdldExpc3RFbXB0eSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAg
ICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cnNlY3Rpb25PYnNlcnZlcjo6IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVyc2VjdGlv
bk9ic2VydmVyOjp0cmFja2luZ0RvY3VtZW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBw
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKwogMjAxOC0xMS0wNyAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gV2ViR0wgbGVha3MgZXhhY3QgR1BV
IHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDFlNmJjNGJjNWJhMDNkOWFjZGQ0MTA1
NTI4N2U5YjA2MGMyNTQ5YzUuLjBlYmFkODQzOTMyZDA3YTRhZWExZjAxMGMzYzFiZDFmYTVjZmNh
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzY2Myw3ICs3NjYzLDcgQEAgc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8SW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25TdGF0ZT4gY29tcHV0ZUludGVy
c2VjdGlvblN0YXRlKEZyYW0KICAgICBGbG9hdFJlY3QgbG9jYWxSb290Qm91bmRzOwogICAgIFJl
bmRlckJsb2NrKiByb290UmVuZGVyZXI7CiAgICAgaWYgKG9ic2VydmVyLnJvb3QoKSkgewotICAg
ICAgICBpZiAob2JzZXJ2ZXIudHJhY2tpbmdEb2N1bWVudCgpICE9ICZ0YXJnZXQuZG9jdW1lbnQo
KSkKKyAgICAgICAgaWYgKCZvYnNlcnZlci5yb290KCktPmRvY3VtZW50KCkgIT0gJnRhcmdldC5k
b2N1bWVudCgpKQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgICAgICBp
ZiAoIW9ic2VydmVyLnJvb3QoKS0+cmVuZGVyZXIoKSB8fCAhaXM8UmVuZGVyQmxvY2s+KG9ic2Vy
dmVyLnJvb3QoKS0+cmVuZGVyZXIoKSkpCkBAIC03Njc5LDkgKzc2NzksNyBAQCBzdGF0aWMgc3Rk
OjpvcHRpb25hbDxJbnRlcnNlY3Rpb25PYnNlcnZhdGlvblN0YXRlPiBjb21wdXRlSW50ZXJzZWN0
aW9uU3RhdGUoRnJhbQogICAgICAgICAgICAgbG9jYWxSb290Qm91bmRzID0geyBGbG9hdFBvaW50
KCksIHJvb3RSZW5kZXJlci0+c2l6ZSgpIH07CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJU
KGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpOwotICAgICAgICAvLyBGSVhNRTogSGFu
ZGxlIHRoZSBjYXNlIG9mIGFuIGltcGxpY2l0LXJvb3Qgb2JzZXJ2ZXIgdGhhdCBoYXMgYSB0YXJn
ZXQgaW4gYSBkaWZmZXJlbnQgZnJhbWUgdHJlZS4KLSAgICAgICAgaWYgKCZ0YXJnZXRSZW5kZXJl
ci0+ZnJhbWUoKS5tYWluRnJhbWUoKSAhPSAmZnJhbWVWaWV3LmZyYW1lKCkpCi0gICAgICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBBU1NFUlQoJnRhcmdldFJlbmRlcmVyLT5m
cmFtZSgpLm1haW5GcmFtZSgpID09ICZmcmFtZVZpZXcuZnJhbWUoKSk7CiAgICAgICAgIHJvb3RS
ZW5kZXJlciA9IGZyYW1lVmlldy5yZW5kZXJWaWV3KCk7CiAgICAgICAgIGxvY2FsUm9vdEJvdW5k
cyA9IGZyYW1lVmlldy5sYXlvdXRWaWV3cG9ydFJlY3QoKTsKICAgICB9CkBAIC03NzQxLDcgKzc3
MzksOCBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVJbnRlcnNlY3Rpb25PYnNlcnZhdGlvbnMoKQog
ICAgICAgICBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVzdGFtcDsKICAgICAgICAgaWYgKCFvYnNl
cnZlci0+Y3JlYXRlVGltZXN0YW1wKHRpbWVzdGFtcCkpCiAgICAgICAgICAgICBjb250aW51ZTsK
LSAgICAgICAgZm9yIChFbGVtZW50KiB0YXJnZXQgOiBvYnNlcnZlci0+b2JzZXJ2YXRpb25UYXJn
ZXRzKCkpIHsKKyAgICAgICAgYXV0byYgb2JzZXJ2YXRpb25UYXJnZXRzID0gb2JzZXJ2ZXItPnJv
b3QoKSA/IG9ic2VydmVyLT5vYnNlcnZhdGlvblRhcmdldHMoKSA6ICpvYnNlcnZlci0+b2JzZXJ2
YXRpb25UYXJnZXRzRm9yVmlld3BvcnQoKnRoaXMpOworICAgICAgICBmb3IgKEVsZW1lbnQqIHRh
cmdldCA6IG9ic2VydmF0aW9uVGFyZ2V0cykgewogICAgICAgICAgICAgYXV0byYgdGFyZ2V0UmVn
aXN0cmF0aW9ucyA9IHRhcmdldC0+aW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKCktPnJlZ2lzdHJh
dGlvbnM7CiAgICAgICAgICAgICBhdXRvIGluZGV4ID0gdGFyZ2V0UmVnaXN0cmF0aW9ucy5maW5k
TWF0Y2hpbmcoW29ic2VydmVyXShhdXRvJiByZWdpc3RyYXRpb24pIHsKICAgICAgICAgICAgICAg
ICByZXR1cm4gcmVnaXN0cmF0aW9uLm9ic2VydmVyLmdldCgpID09IG9ic2VydmVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCmluZGV4IGE0YmI4OWY0M2M1OTg0ZjUwNWY3YTU1YzQ5YTcwYzIzODcxMTA5
MmMuLmIyYzMwYzM3ZDM2YjRmNTliMjU0NzE5MDExNThiMGNmMjYzYTM4MzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKQEAgLTE3NzksNiArMTc3OSw4IEBAIHZvaWQgRWxlbWVudDo6ZGlkTW92ZVRv
TmV3RG9jdW1lbnQoRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQp
CiAgICAgICAgICAgICAgICAgbmV3RG9jdW1lbnQuYWRkSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKm9i
c2VydmVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICBmb3IgKGF1dG8gcmVn
aXN0cmF0aW9uIDogb2JzZXJ2ZXJEYXRhLT5yZWdpc3RyYXRpb25zKQorICAgICAgICAgICAgcmVn
aXN0cmF0aW9uLm9ic2VydmVyLT50YXJnZXRNb3ZlZFRvTmV3RG9jdW1lbnQoKnRoaXMpOwogICAg
IH0KICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rp
b25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmNwcAppbmRleCBjMWM5YTg4YWYyMzJiMWUxNTc5ZDg4YzUxMTBkNmRiODNhM2YzZTE2Li40MjZk
M2RkYzdhZTJhN2M2YmUyYzI1ZDZjY2VhM2EzNDA3OGFiYjhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcApAQCAtODIsNyArODIsNyBAQCBzdGF0aWMg
RXhjZXB0aW9uT3I8TGVuZ3RoQm94PiBwYXJzZVJvb3RNYXJnaW4oU3RyaW5nJiByb290TWFyZ2lu
KQogICAgIHJldHVybiBMZW5ndGhCb3goV1RGTW92ZShtYXJnaW5zWzBdKSwgV1RGTW92ZShtYXJn
aW5zWzFdKSwgV1RGTW92ZShtYXJnaW5zWzJdKSwgV1RGTW92ZShtYXJnaW5zWzNdKSk7CiB9CiAK
LUV4Y2VwdGlvbk9yPFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlcj4+IEludGVyc2VjdGlvbk9ic2Vy
dmVyOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJD
YWxsYmFjaz4mJiBjYWxsYmFjaywgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OkluaXQmJiBpbml0KQor
RXhjZXB0aW9uT3I8UmVmPEludGVyc2VjdGlvbk9ic2VydmVyPj4gSW50ZXJzZWN0aW9uT2JzZXJ2
ZXI6OmNyZWF0ZShSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaywg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OkluaXQmJiBpbml0KQogewogICAgIGF1dG8gcm9vdE1hcmdp
bk9yRXhjZXB0aW9uID0gcGFyc2VSb290TWFyZ2luKGluaXQucm9vdE1hcmdpbik7CiAgICAgaWYg
KHJvb3RNYXJnaW5PckV4Y2VwdGlvbi5oYXNFeGNlcHRpb24oKSkKQEAgLTEwMSwyMSArMTAxLDIx
IEBAIEV4Y2VwdGlvbk9yPFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlcj4+IEludGVyc2VjdGlvbk9i
c2VydmVyOjpjcmVhdGUoRG9jdW1lbnQmIGRvCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgUmFuZ2VFcnJvciwgIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ0ludGVyc2VjdGlvbk9ic2VydmVy
JzogYWxsIHRocmVzaG9sZHMgbXVzdCBsaWUgaW4gdGhlIHJhbmdlIFswLjAsIDEuMF0uIiB9Owog
ICAgIH0KIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGRv
Y3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNrKSwgaW5pdC5yb290LCByb290TWFyZ2luT3JFeGNlcHRp
b24ucmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUodGhyZXNob2xkcykpKTsKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihXVEZNb3ZlKGNhbGxiYWNrKSwg
aW5pdC5yb290LCByb290TWFyZ2luT3JFeGNlcHRpb24ucmVsZWFzZVJldHVyblZhbHVlKCksIFdU
Rk1vdmUodGhyZXNob2xkcykpKTsKIH0KIAotSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OkludGVyc2Vj
dGlvbk9ic2VydmVyKERvY3VtZW50JiBkb2N1bWVudCwgUmVmPEludGVyc2VjdGlvbk9ic2VydmVy
Q2FsbGJhY2s+JiYgY2FsbGJhY2ssIEVsZW1lbnQqIHJvb3QsIExlbmd0aEJveCYmIHBhcnNlZFJv
b3RNYXJnaW4sIFZlY3Rvcjxkb3VibGU+JiYgdGhyZXNob2xkcykKK0ludGVyc2VjdGlvbk9ic2Vy
dmVyOjpJbnRlcnNlY3Rpb25PYnNlcnZlcihSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFj
az4mJiBjYWxsYmFjaywgRWxlbWVudCogcm9vdCwgTGVuZ3RoQm94JiYgcGFyc2VkUm9vdE1hcmdp
biwgVmVjdG9yPGRvdWJsZT4mJiB0aHJlc2hvbGRzKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRv
d25jYXN0PERvY3VtZW50PihjYWxsYmFjay0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkKICAg
ICAsIG1fcm9vdChyb290KQogICAgICwgbV9yb290TWFyZ2luKFdURk1vdmUocGFyc2VkUm9vdE1h
cmdpbikpCiAgICAgLCBtX3RocmVzaG9sZHMoV1RGTW92ZSh0aHJlc2hvbGRzKSkKICAgICAsIG1f
Y2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCisgICAgLCBtX2lzVmlld3BvcnRPYnNlcnZlcigh
cm9vdCkKIHsKICAgICBpZiAobV9yb290KSB7CiAgICAgICAgIGF1dG8mIG9ic2VydmVyRGF0YSA9
IG1fcm9vdC0+ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEYXRhKCk7CiAgICAgICAgIG9ic2Vy
dmVyRGF0YS5vYnNlcnZlcnMuYXBwZW5kKG1ha2VXZWFrUHRyKHRoaXMpKTsKLSAgICB9IGVsc2Ug
aWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgbV9pbXBsaWNpdFJv
b3REb2N1bWVudCA9IG1ha2VXZWFrUHRyKGZyYW1lLT5tYWluRnJhbWUoKS5kb2N1bWVudCgpKTsK
KyAgICB9CiAKICAgICBzdGQ6OnNvcnQobV90aHJlc2hvbGRzLmJlZ2luKCksIG1fdGhyZXNob2xk
cy5lbmQoKSk7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC0xNDUsMTggKzE0NSwzOCBAQCBT
dHJpbmcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJvb3RNYXJnaW4oKSBjb25zdAogICAgIHJldHVy
biBzdHJpbmdCdWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKK2NvbnN0IFZlY3RvcjxFbGVtZW50Kj4q
IEludGVyc2VjdGlvbk9ic2VydmVyOjpvYnNlcnZhdGlvblRhcmdldHNGb3JWaWV3cG9ydChjb25z
dCBEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Cit7CisgICAgYXV0byBpbmRleCA9IG1fdmlld3Bv
cnRPYnNlcnZhdGlvbnMuZmluZE1hdGNoaW5nKFsmZG9jdW1lbnRdKGF1dG8mIG9ic2VydmF0aW9u
RGF0YSkgeworICAgICAgICByZXR1cm4gb2JzZXJ2YXRpb25EYXRhLmRvY3VtZW50ID09ICZkb2N1
bWVudDsKKyAgICB9KTsKKyAgICBpZiAoaW5kZXggIT0gbm90Rm91bmQpCisgICAgICAgIHJldHVy
biAmbV92aWV3cG9ydE9ic2VydmF0aW9uc1tpbmRleF0udGFyZ2V0czsKKyAgICByZXR1cm4gbnVs
bHB0cjsKK30KKwogdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6b2JzZXJ2ZShFbGVtZW50JiB0
YXJnZXQpCiB7Ci0gICAgaWYgKCF0cmFja2luZ0RvY3VtZW50KCkgfHwgIW1fY2FsbGJhY2sgfHwg
bV9vYnNlcnZhdGlvblRhcmdldHMuY29udGFpbnMoJnRhcmdldCkpCisgICAgaWYgKCghbV9pc1Zp
ZXdwb3J0T2JzZXJ2ZXIgJiYgIW1fcm9vdCkgfHwgIW1fY2FsbGJhY2sgfHwgbV9vYnNlcnZhdGlv
blRhcmdldHMuY29udGFpbnMoJnRhcmdldCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHRhcmdl
dC5lbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEoKS5yZWdpc3RyYXRpb25zLmFwcGVuZCh7
IG1ha2VXZWFrUHRyKHRoaXMpLCBzdGQ6Om51bGxvcHQgfSk7Ci0gICAgYm9vbCBoYWRPYnNlcnZh
dGlvblRhcmdldHMgPSBoYXNPYnNlcnZhdGlvblRhcmdldHMoKTsKICAgICBtX29ic2VydmF0aW9u
VGFyZ2V0cy5hcHBlbmQoJnRhcmdldCk7Ci0gICAgYXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0Rv
Y3VtZW50KCk7Ci0gICAgaWYgKCFoYWRPYnNlcnZhdGlvblRhcmdldHMpCi0gICAgICAgIGRvY3Vt
ZW50LT5hZGRJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7Ci0gICAgZG9jdW1lbnQtPnNjaGVk
dWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoKTsKKworICAgIERvY3VtZW50
KiB0cmFja2luZ0RvY3VtZW50ID0gbnVsbHB0cjsKKyAgICBpZiAobV9yb290KSB7CisgICAgICAg
IHRyYWNraW5nRG9jdW1lbnQgPSAmbV9yb290LT5kb2N1bWVudCgpOworICAgICAgICBpZiAobV9v
YnNlcnZhdGlvblRhcmdldHMuc2l6ZSgpID09IDEpCisgICAgICAgICAgICB0cmFja2luZ0RvY3Vt
ZW50LT5hZGRJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgaWYgKHRhcmdldC5kb2N1bWVudCgpLmZyYW1lKCkpCisgICAgICAgICAgICB0cmFja2luZ0Rv
Y3VtZW50ID0gdGFyZ2V0LmRvY3VtZW50KCkuZnJhbWUoKS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQo
KTsKKyAgICAgICAgaWYgKHRyYWNraW5nRG9jdW1lbnQpCisgICAgICAgICAgICBhZGRUYXJnZXRU
b09ic2VydmF0aW9uRm9yVmlld3BvcnQodGFyZ2V0LCAqdHJhY2tpbmdEb2N1bWVudCk7CisgICAg
fQorCisgICAgaWYgKHRyYWNraW5nRG9jdW1lbnQpCisgICAgICAgIHRyYWNraW5nRG9jdW1lbnQt
PnNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25VcGRhdGUoKTsKIH0KIAogdm9p
ZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6dW5vYnNlcnZlKEVsZW1lbnQmIHRhcmdldCkKQEAgLTE2
NCwxMyArMTg0LDcgQEAgdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6dW5vYnNlcnZlKEVsZW1l
bnQmIHRhcmdldCkKICAgICBpZiAoIXJlbW92ZVRhcmdldFJlZ2lzdHJhdGlvbih0YXJnZXQpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBib29sIHJlbW92ZWQgPSBtX29ic2VydmF0aW9uVGFyZ2V0
cy5yZW1vdmVGaXJzdCgmdGFyZ2V0KTsKLSAgICBBU1NFUlRfVU5VU0VEKHJlbW92ZWQsIHJlbW92
ZWQpOwotCi0gICAgaWYgKCFoYXNPYnNlcnZhdGlvblRhcmdldHMoKSkgewotICAgICAgICBpZiAo
YXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0RvY3VtZW50KCkpCi0gICAgICAgICAgICBkb2N1bWVu
dC0+cmVtb3ZlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKnRoaXMpOwotICAgIH0KKyAgICByZW1vdmVP
YnNlcnZhdGlvblRhcmdldCh0YXJnZXQpOwogfQogCiB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVy
OjpkaXNjb25uZWN0KCkKQEAgLTE3OCw5ICsxOTIsMTUgQEAgdm9pZCBJbnRlcnNlY3Rpb25PYnNl
cnZlcjo6ZGlzY29ubmVjdCgpCiAgICAgaWYgKCFoYXNPYnNlcnZhdGlvblRhcmdldHMoKSkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgaWYgKG1fcm9vdCkKKyAgICAgICAgbV9yb290LT5kb2N1bWVu
dCgpLnJlbW92ZUludGVyc2VjdGlvbk9ic2VydmVyKCp0aGlzKTsKKyAgICBlbHNlIHsKKyAgICAg
ICAgZm9yIChhdXRvJiBvYnNlcnZhdGlvbiA6IG1fdmlld3BvcnRPYnNlcnZhdGlvbnMpIHsKKyAg
ICAgICAgICAgIGlmIChvYnNlcnZhdGlvbi5kb2N1bWVudCkKKyAgICAgICAgICAgICAgICBvYnNl
cnZhdGlvbi5kb2N1bWVudC0+cmVtb3ZlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKnRoaXMpOworICAg
ICAgICB9CisgICAgfQogICAgIHJlbW92ZUFsbFRhcmdldHMoKTsKLSAgICBpZiAoYXV0byogZG9j
dW1lbnQgPSB0cmFja2luZ0RvY3VtZW50KCkpCi0gICAgICAgIGRvY3VtZW50LT5yZW1vdmVJbnRl
cnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7CiB9CiAKIGF1dG8gSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6
OnRha2VSZWNvcmRzKCkgLT4gVGFrZW5SZWNvcmRzCkBAIC0xODgsMTIgKzIwOCw1MiBAQCBhdXRv
IEludGVyc2VjdGlvbk9ic2VydmVyOjp0YWtlUmVjb3JkcygpIC0+IFRha2VuUmVjb3JkcwogICAg
IHJldHVybiB7IFdURk1vdmUobV9xdWV1ZWRFbnRyaWVzKSwgV1RGTW92ZShtX3BlbmRpbmdUYXJn
ZXRzKSB9OwogfQogCit2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpyZW1vdmVPYnNlcnZhdGlv
blRhcmdldChFbGVtZW50JiB0YXJnZXQpCit7CisgICAgYm9vbCByZW1vdmVkID0gbV9vYnNlcnZh
dGlvblRhcmdldHMucmVtb3ZlRmlyc3QoJnRhcmdldCk7CisgICAgQVNTRVJUX1VOVVNFRChyZW1v
dmVkLCByZW1vdmVkKTsKKworICAgIGlmIChtX3Jvb3QpIHsKKyAgICAgICAgaWYgKCFoYXNPYnNl
cnZhdGlvblRhcmdldHMoKSkKKyAgICAgICAgICAgIG1fcm9vdC0+ZG9jdW1lbnQoKS5yZW1vdmVJ
bnRlcnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdmlld3BvcnRPYnNlcnZhdGlvbnMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgYXV0byYgb2JzZXJ2YXRpb24gPSBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25z
W2ldOworICAgICAgICBpZiAob2JzZXJ2YXRpb24udGFyZ2V0cy5yZW1vdmVGaXJzdCgmdGFyZ2V0
KSkgeworICAgICAgICAgICAgcmVtb3ZlVmlld3BvcnRPYnNlcnZhdGlvbklmVGFyZ2V0TGlzdEVt
cHR5KGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnRhcmdldERlc3Ryb3llZChFbGVtZW50JiB0YXJnZXQpCiB7
Ci0gICAgbV9vYnNlcnZhdGlvblRhcmdldHMucmVtb3ZlRmlyc3QoJnRhcmdldCk7Ci0gICAgaWYg
KCFoYXNPYnNlcnZhdGlvblRhcmdldHMoKSkgewotICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQg
PSB0cmFja2luZ0RvY3VtZW50KCkpCi0gICAgICAgICAgICBkb2N1bWVudC0+cmVtb3ZlSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIoKnRoaXMpOworICAgIHJlbW92ZU9ic2VydmF0aW9uVGFyZ2V0KHRhcmdl
dCk7Cit9CisKK3ZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnRhcmdldE1vdmVkVG9OZXdEb2N1
bWVudChFbGVtZW50JiB0YXJnZXQpCit7CisgICAgaWYgKCFtX2lzVmlld3BvcnRPYnNlcnZlcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgRG9jdW1lbnQqIG1haW5GcmFtZURvY3VtZW50ID0gbnVs
bHB0cjsKKyAgICBpZiAodGFyZ2V0LmRvY3VtZW50KCkuZnJhbWUoKSkKKyAgICAgICAgbWFpbkZy
YW1lRG9jdW1lbnQgPSB0YXJnZXQuZG9jdW1lbnQoKS5mcmFtZSgpLT5tYWluRnJhbWUoKS5kb2N1
bWVudCgpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3ZpZXdwb3J0T2JzZXJ2YXRp
b25zLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8mIG9ic2VydmF0aW9uID0gbV92aWV3cG9y
dE9ic2VydmF0aW9uc1tpXTsKKyAgICAgICAgYXV0byBpbmRleCA9IG9ic2VydmF0aW9uLnRhcmdl
dHMuZmluZCgmdGFyZ2V0KTsKKyAgICAgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKSB7CisgICAg
ICAgICAgICBpZiAob2JzZXJ2YXRpb24uZG9jdW1lbnQgIT0gbWFpbkZyYW1lRG9jdW1lbnQpIHsK
KyAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi50YXJnZXRzLnJlbW92ZShpbmRleCk7CisgICAg
ICAgICAgICAgICAgcmVtb3ZlVmlld3BvcnRPYnNlcnZhdGlvbklmVGFyZ2V0TGlzdEVtcHR5KGkp
OworICAgICAgICAgICAgICAgIGlmIChtYWluRnJhbWVEb2N1bWVudCkKKyAgICAgICAgICAgICAg
ICAgICAgYWRkVGFyZ2V0VG9PYnNlcnZhdGlvbkZvclZpZXdwb3J0KHRhcmdldCwgKm1haW5GcmFt
ZURvY3VtZW50KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CiAgICAgfQogfQogCkBAIC0yMTYsNiArMjc2LDMwIEBAIHZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXI6OnJlbW92ZUFsbFRhcmdldHMoKQogICAgICAgICBBU1NFUlRfVU5VU0VEKHJlbW92ZWQsIHJl
bW92ZWQpOwogICAgIH0KICAgICBtX29ic2VydmF0aW9uVGFyZ2V0cy5jbGVhcigpOworICAgIG1f
dmlld3BvcnRPYnNlcnZhdGlvbnMuY2xlYXIoKTsKK30KKwordm9pZCBJbnRlcnNlY3Rpb25PYnNl
cnZlcjo6YWRkVGFyZ2V0VG9PYnNlcnZhdGlvbkZvclZpZXdwb3J0KEVsZW1lbnQmIHRhcmdldCwg
RG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGF1dG8gaW5kZXggPSBtX3ZpZXdwb3J0T2JzZXJ2
YXRpb25zLmZpbmRNYXRjaGluZyhbJmRvY3VtZW50XShhdXRvJiBvYnNlcnZhdGlvbkRhdGEpIHsK
KyAgICAgICAgcmV0dXJuIG9ic2VydmF0aW9uRGF0YS5kb2N1bWVudCA9PSAmZG9jdW1lbnQ7Cisg
ICAgfSk7CisgICAgaWYgKGluZGV4ID09IG5vdEZvdW5kKSB7CisgICAgICAgIGRvY3VtZW50LmFk
ZEludGVyc2VjdGlvbk9ic2VydmVyKCp0aGlzKTsKKyAgICAgICAgbV92aWV3cG9ydE9ic2VydmF0
aW9ucy5hcHBlbmQoeyBtYWtlV2Vha1B0cihkb2N1bWVudCksIHsgfSB9KTsKKyAgICAgICAgaW5k
ZXggPSBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25zLnNpemUoKSAtIDE7CisgICAgfQorCisgICAgbV92
aWV3cG9ydE9ic2VydmF0aW9uc1tpbmRleF0udGFyZ2V0cy5hcHBlbmQoJnRhcmdldCk7Cit9CisK
K3ZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJlbW92ZVZpZXdwb3J0T2JzZXJ2YXRpb25JZlRh
cmdldExpc3RFbXB0eShzaXplX3QgaW5kZXgpCit7CisgICAgaWYgKG1fdmlld3BvcnRPYnNlcnZh
dGlvbnNbaW5kZXhdLnRhcmdldHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChhdXRvIGRvY3Vt
ZW50ID0gbV92aWV3cG9ydE9ic2VydmF0aW9uc1tpbmRleF0uZG9jdW1lbnQpCisgICAgICAgICAg
ICBkb2N1bWVudC0+cmVtb3ZlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICBt
X3ZpZXdwb3J0T2JzZXJ2YXRpb25zLnJlbW92ZShpbmRleCk7CisgICAgfQogfQogCiB2b2lkIElu
dGVyc2VjdGlvbk9ic2VydmVyOjpyb290RGVzdHJveWVkKCkKQEAgLTI2Miw3ICszNDYsNyBAQCB2
b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpub3RpZnkoKQogCiBib29sIEludGVyc2VjdGlvbk9i
c2VydmVyOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogewotICAgIHJldHVybiAoaGFzT2Jz
ZXJ2YXRpb25UYXJnZXRzKCkgJiYgdHJhY2tpbmdEb2N1bWVudCgpKSB8fCAhbV9xdWV1ZWRFbnRy
aWVzLmlzRW1wdHkoKTsKKyAgICByZXR1cm4gaGFzT2JzZXJ2YXRpb25UYXJnZXRzKCkgfHwgIW1f
cXVldWVkRW50cmllcy5pc0VtcHR5KCk7CiB9CiAKIGNvbnN0IGNoYXIqIEludGVyc2VjdGlvbk9i
c2VydmVyOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaAppbmRleCBmYWYzMGZkYTBiY2NlY2IxN2FiMGE1NDIzYmYx
NzkwY2U5NzRjNjIxLi45YzI5NTIxMGI0YTkxYzczMzY1NWU1NzU2NmYwYmVhYmFhOWZlMDBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCkBAIC02NSwxNyAr
NjUsMTYgQEAgcHVibGljOgogICAgICAgICBWYXJpYW50PGRvdWJsZSwgVmVjdG9yPGRvdWJsZT4+
IHRocmVzaG9sZDsKICAgICB9OwogCi0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxJbnRlcnNl
Y3Rpb25PYnNlcnZlcj4+IGNyZWF0ZShEb2N1bWVudCYsIFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZl
ckNhbGxiYWNrPiYmLCBJbml0JiYpOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8SW50ZXJz
ZWN0aW9uT2JzZXJ2ZXI+PiBjcmVhdGUoUmVmPEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s+
JiYsIEluaXQmJik7CiAKICAgICB+SW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTsKIAotICAgIERvY3Vt
ZW50KiB0cmFja2luZ0RvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9yb290ID8gJm1fcm9vdC0+
ZG9jdW1lbnQoKSA6IG1faW1wbGljaXRSb290RG9jdW1lbnQuZ2V0KCk7IH0KLQogICAgIEVsZW1l
bnQqIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX3Jvb3Q7IH0KICAgICBTdHJpbmcgcm9vdE1hcmdp
bigpIGNvbnN0OwogICAgIGNvbnN0IExlbmd0aEJveCYgcm9vdE1hcmdpbkJveCgpIGNvbnN0IHsg
cmV0dXJuIG1fcm9vdE1hcmdpbjsgfQogICAgIGNvbnN0IFZlY3Rvcjxkb3VibGU+JiB0aHJlc2hv
bGRzKCkgY29uc3QgeyByZXR1cm4gbV90aHJlc2hvbGRzOyB9Ci0gICAgY29uc3QgVmVjdG9yPEVs
ZW1lbnQqPiBvYnNlcnZhdGlvblRhcmdldHMoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmF0aW9u
VGFyZ2V0czsgfQorICAgIGNvbnN0IFZlY3RvcjxFbGVtZW50Kj4mIG9ic2VydmF0aW9uVGFyZ2V0
cygpIGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2YXRpb25UYXJnZXRzOyB9CisgICAgY29uc3QgVmVj
dG9yPEVsZW1lbnQqPiogb2JzZXJ2YXRpb25UYXJnZXRzRm9yVmlld3BvcnQoY29uc3QgRG9jdW1l
bnQmKSBjb25zdDsKIAogICAgIHZvaWQgb2JzZXJ2ZShFbGVtZW50Jik7CiAgICAgdm9pZCB1bm9i
c2VydmUoRWxlbWVudCYpOwpAQCAtODgsNiArODcsNyBAQCBwdWJsaWM6CiAgICAgVGFrZW5SZWNv
cmRzIHRha2VSZWNvcmRzKCk7CiAKICAgICB2b2lkIHRhcmdldERlc3Ryb3llZChFbGVtZW50Jik7
CisgICAgdm9pZCB0YXJnZXRNb3ZlZFRvTmV3RG9jdW1lbnQoRWxlbWVudCYpOwogICAgIGJvb2wg
aGFzT2JzZXJ2YXRpb25UYXJnZXRzKCkgY29uc3QgeyByZXR1cm4gbV9vYnNlcnZhdGlvblRhcmdl
dHMuc2l6ZSgpOyB9CiAgICAgdm9pZCByb290RGVzdHJveWVkKCk7CiAKQEAgLTEwMywxOSArMTAz
LDMwIEBAIHB1YmxpYzoKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAg
ICBJbnRlcnNlY3Rpb25PYnNlcnZlcihEb2N1bWVudCYsIFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZl
ckNhbGxiYWNrPiYmLCBFbGVtZW50KiByb290LCBMZW5ndGhCb3gmJiBwYXJzZWRSb290TWFyZ2lu
LCBWZWN0b3I8ZG91YmxlPiYmIHRocmVzaG9sZHMpOworICAgIEludGVyc2VjdGlvbk9ic2VydmVy
KFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiYmLCBFbGVtZW50KiByb290LCBMZW5n
dGhCb3gmJiBwYXJzZWRSb290TWFyZ2luLCBWZWN0b3I8ZG91YmxlPiYmIHRocmVzaG9sZHMpOwog
CisgICAgdm9pZCByZW1vdmVPYnNlcnZhdGlvblRhcmdldChFbGVtZW50Jik7CiAgICAgYm9vbCBy
ZW1vdmVUYXJnZXRSZWdpc3RyYXRpb24oRWxlbWVudCYpOwogICAgIHZvaWQgcmVtb3ZlQWxsVGFy
Z2V0cygpOwogCi0gICAgV2Vha1B0cjxEb2N1bWVudD4gbV9pbXBsaWNpdFJvb3REb2N1bWVudDsK
KyAgICB2b2lkIGFkZFRhcmdldFRvT2JzZXJ2YXRpb25Gb3JWaWV3cG9ydChFbGVtZW50JiwgRG9j
dW1lbnQmKTsKKyAgICB2b2lkIHJlbW92ZVZpZXdwb3J0T2JzZXJ2YXRpb25JZlRhcmdldExpc3RF
bXB0eShzaXplX3QgaW5kZXgpOworCiAgICAgRWxlbWVudCogbV9yb290OwogICAgIExlbmd0aEJv
eCBtX3Jvb3RNYXJnaW47CiAgICAgVmVjdG9yPGRvdWJsZT4gbV90aHJlc2hvbGRzOwogICAgIFJl
ZlB0cjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwogICAgIFZlY3Rv
cjxFbGVtZW50Kj4gbV9vYnNlcnZhdGlvblRhcmdldHM7CiAgICAgVmVjdG9yPEdDUmVhY2hhYmxl
UmVmPEVsZW1lbnQ+PiBtX3BlbmRpbmdUYXJnZXRzOworCisgICAgc3RydWN0IFZpZXdwb3J0T2Jz
ZXJ2YXRpb25EYXRhIHsKKyAgICAgICAgV2Vha1B0cjxEb2N1bWVudD4gZG9jdW1lbnQ7CisgICAg
ICAgIFZlY3RvcjxFbGVtZW50Kj4gdGFyZ2V0czsKKyAgICB9OworICAgIFZlY3RvcjxWaWV3cG9y
dE9ic2VydmF0aW9uRGF0YT4gbV92aWV3cG9ydE9ic2VydmF0aW9uczsKKwogICAgIFZlY3RvcjxS
ZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4+IG1fcXVldWVkRW50cmllczsKKyAgICBib29s
IG1faXNWaWV3cG9ydE9ic2VydmVyOwogfTsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCmluZGV4IDJmM2ExNDNhOTJiYzUxOTVlNDZmOGQyNDVlMjcz
MTJhMTRkZTRhNzkuLmRiZjg2NGNhNjZhNmY3NzBkNDM1Y2Q5MjZkY2RmZjgwMWIyMWQ0YWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCkBAIC0yOCw3
ICsyOCw2IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPUlOVEVS
U0VDVElPTl9PQlNFUlZFUiwKLSAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPURvY3VtZW50LAogICAg
IENvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRpb24sCiAgICAgQ29uc3RydWN0b3IoSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJJbml0IG9wdGlvbnMpLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDA3MjJlMzRiNzUzMTZiY2E4ZTQz
ODhiZmIzNjExMGM5ODBlYTc0OTkuLjQxNTliYjg5YTM3MGI0NDlmMzEwNmQ0MGU2MTJmZWM4MzQy
NDM1YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE4LTExLTEyICBBbGkgSnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJdIFN1cHBvcnQgaGF2aW5nIHRhcmdldHMgaW4gbXVsdGlwbGUgd2lu
ZG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkx
NTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIGV4cGVjdGF0aW9uIGZvciB0ZXN0IHRoYXQgbm93IHBhc3Nlcy4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGFyZ2V0LWluLWRpZmZlcmVu
dC13aW5kb3ctZXhwZWN0ZWQudHh0OgorCiAyMDE4LTExLTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWVuYWJsZSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1vbnRyYWNrLmh0dHBzLmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJzZWN0aW9uLW9ic2VydmVyL3RhcmdldC1pbi1kaWZmZXJlbnQtd2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0
aW9uLW9ic2VydmVyL3RhcmdldC1pbi1kaWZmZXJlbnQtd2luZG93LWV4cGVjdGVkLnR4dAppbmRl
eCAyN2YzZjlhNzY3NDdlMjNjMmFjZTMxMzgwYWZmNGJjYWI4YWY5MDAwLi4wODk3Yzk2MjVlZDkw
YzBmYjRlZjkxZDA3MmZmYmM5MjM3MDAxMmIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci90YXJnZXQt
aW4tZGlmZmVyZW50LXdpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGFyZ2V0LWlu
LWRpZmZlcmVudC13aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIElu
dGVyc2VjdGlvbk9ic2VydmVyIHdpdGggdGFyZ2V0IGluIGEgZGlmZmVyZW50IHdpbmRvdy4gYXNz
ZXJ0X2VxdWFsczogTm90aWZpY2F0aW9uIGFmdGVyIGluc2VydGlvbiBpbnRvIHBvcHVwLiBleHBl
Y3RlZCAyIGJ1dCBnb3QgMQorUEFTUyBJbnRlcnNlY3Rpb25PYnNlcnZlciB3aXRoIHRhcmdldCBp
biBhIGRpZmZlcmVudCB3aW5kb3cuIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354580</attachid>
            <date>2018-11-12 13:11:01 -0800</date>
            <delta_ts>2021-11-01 12:46:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191558-20181112161100.patch</filename>
            <type>text/plain</type>
            <size>18859</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3OTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3YzQ5ODA1ZDRlNzVj
YjU0N2FhYjljODNhNTg3NjlkZTUzZjc5Mi4uZWVlNGYyMDRlYjhiM2E5YzRjMjQzMTJmZmU5ZjYx
MjBkNGUyMDI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTExLTEyICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBbSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJdIFN1cHBvcnQgaGF2aW5nIHRhcmdldHMgaW4gbXVsdGlwbGUgd2luZG93cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgYW4gaW1wbGljaXQt
cm9vdCBvYnNlcnZlciB0byBvYnNlcnZlIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGFyZ2V0cyBpbiBt
dWx0aXBsZQorICAgICAgICB3aW5kb3dzIHdpdGggdGhlaXIgcmVzcGVjdGl2ZSB2aWV3cG9ydHMu
IFRoaXMgbWVhbnMgdGhhdCBhbiBpbXBsaWNpdCByb290IG9ic2VydmVyCisgICAgICAgIG5vIGxv
bmdlciBoYXMgYSBzaW5nbGUgdHJhY2tpbmcgZG9jdW1lbnQgcmVwcmVzZW50aW5nIHRoZSB2aWV3
cG9ydCB3aXRoIHJlc3BlY3QgdG8KKyAgICAgICAgd2hpY2ggaXQgb2JzZXJ2ZXMgaW50ZXJzZWN0
aW9ucy4gSW5zdGVhZCwgdGhlcmUgY2FuIGJlIG11bHRpcGxlIHN1Y2ggZG9jdW1lbnRzLAorICAg
ICAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBtYWluLWZyYW1lIGRvY3VtZW50cyBvZiBlYWNoIHdp
bmRvdyB0aGF0IGNvbnRhaW5zIGEgdGFyZ2V0LgorICAgICAgICBUbyBrZWVwIHRyYWNrIG9mIHdo
aWNoIHRhcmdldHMgY29ycmVzcG9uZCB0byB3aGljaCB0cmFja2luZyBkb2N1bWVudHMsIGFkZCBh
CisgICAgICAgIHZlY3RvciBvZiBWaWV3cG9ydE9ic2VydmF0aW9uRGF0YSB0byBlYWNoIEludGVy
c2VjdGlvbk9ic2VydmVyLCB3aGVyZSBlYWNoCisgICAgICAgIFZpZXdwb3J0T2JzZXJ2YXRpb25E
YXRhIGluc3RhbmNlIGhhcyBhIGxpc3Qgb2YgdGFyZ2V0cyBmb3IgYSBzaW5nbGUgdHJhY2tpbmcK
KyAgICAgICAgZG9jdW1lbnQuCisKKyAgICAgICAgVGVzdGVkIGJ5IHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvdGFyZ2V0LWluLWRpZmZlcmVudC13aW5kb3cuaHRtbAor
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVJ
bnRlcnNlY3Rpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlSW50
ZXJzZWN0aW9uT2JzZXJ2YXRpb25zKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudCk6CisgICAgICAgICog
cGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNl
Y3Rpb25PYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVyc2VjdGlvbk9i
c2VydmVyOjpJbnRlcnNlY3Rpb25PYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjogY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6Om9ic2VydmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnVub2JzZXJ2ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6cmVtb3ZlT2JzZXJ2YXRpb25UYXJnZXQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnRhcmdldERlc3Ryb3llZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6dGFyZ2V0TW92ZWRUb05l
d0RvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjpyZW1v
dmVBbGxUYXJnZXRzKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjph
ZGRUYXJnZXRUb09ic2VydmF0aW9uRm9yVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJlbW92ZVZpZXdwb3J0T2JzZXJ2YXRpb25JZlRhcmdldExpc3RF
bXB0eSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6aGFzUGVuZGlu
Z0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcnNlY3Rpb25PYnNlcnZlcjo6IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVyc2VjdGlvbk9ic2VydmVyOjp0cmFja2luZ0RvY3VtZW50IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbDoKKwog
MjAxOC0xMS0wNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lP
U10gV2ViR0wgbGVha3MgZXhhY3QgR1BVIHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDFlNmJjNGJjNWJhMDNkOWFjZGQ0MTA1NTI4N2U5YjA2MGMyNTQ5YzUuLjBlYmFkODQzOTMyZDA3
YTRhZWExZjAxMGMzYzFiZDFmYTVjZmNhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NzY2Myw3ICs3NjYzLDcgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW50ZXJzZWN0aW9uT2JzZXJ2
YXRpb25TdGF0ZT4gY29tcHV0ZUludGVyc2VjdGlvblN0YXRlKEZyYW0KICAgICBGbG9hdFJlY3Qg
bG9jYWxSb290Qm91bmRzOwogICAgIFJlbmRlckJsb2NrKiByb290UmVuZGVyZXI7CiAgICAgaWYg
KG9ic2VydmVyLnJvb3QoKSkgewotICAgICAgICBpZiAob2JzZXJ2ZXIudHJhY2tpbmdEb2N1bWVu
dCgpICE9ICZ0YXJnZXQuZG9jdW1lbnQoKSkKKyAgICAgICAgaWYgKCZvYnNlcnZlci5yb290KCkt
PmRvY3VtZW50KCkgIT0gJnRhcmdldC5kb2N1bWVudCgpKQogICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKIAogICAgICAgICBpZiAoIW9ic2VydmVyLnJvb3QoKS0+cmVuZGVyZXIoKSB8
fCAhaXM8UmVuZGVyQmxvY2s+KG9ic2VydmVyLnJvb3QoKS0+cmVuZGVyZXIoKSkpCkBAIC03Njc5
LDkgKzc2NzksNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxJbnRlcnNlY3Rpb25PYnNlcnZhdGlv
blN0YXRlPiBjb21wdXRlSW50ZXJzZWN0aW9uU3RhdGUoRnJhbQogICAgICAgICAgICAgbG9jYWxS
b290Qm91bmRzID0geyBGbG9hdFBvaW50KCksIHJvb3RSZW5kZXJlci0+c2l6ZSgpIH07CiAgICAg
fSBlbHNlIHsKICAgICAgICAgQVNTRVJUKGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkp
OwotICAgICAgICAvLyBGSVhNRTogSGFuZGxlIHRoZSBjYXNlIG9mIGFuIGltcGxpY2l0LXJvb3Qg
b2JzZXJ2ZXIgdGhhdCBoYXMgYSB0YXJnZXQgaW4gYSBkaWZmZXJlbnQgZnJhbWUgdHJlZS4KLSAg
ICAgICAgaWYgKCZ0YXJnZXRSZW5kZXJlci0+ZnJhbWUoKS5tYWluRnJhbWUoKSAhPSAmZnJhbWVW
aWV3LmZyYW1lKCkpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBB
U1NFUlQoJnRhcmdldFJlbmRlcmVyLT5mcmFtZSgpLm1haW5GcmFtZSgpID09ICZmcmFtZVZpZXcu
ZnJhbWUoKSk7CiAgICAgICAgIHJvb3RSZW5kZXJlciA9IGZyYW1lVmlldy5yZW5kZXJWaWV3KCk7
CiAgICAgICAgIGxvY2FsUm9vdEJvdW5kcyA9IGZyYW1lVmlldy5sYXlvdXRWaWV3cG9ydFJlY3Qo
KTsKICAgICB9CkBAIC03NzQxLDcgKzc3MzksOCBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVJbnRl
cnNlY3Rpb25PYnNlcnZhdGlvbnMoKQogICAgICAgICBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVz
dGFtcDsKICAgICAgICAgaWYgKCFvYnNlcnZlci0+Y3JlYXRlVGltZXN0YW1wKHRpbWVzdGFtcCkp
CiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgZm9yIChFbGVtZW50KiB0YXJnZXQgOiBv
YnNlcnZlci0+b2JzZXJ2YXRpb25UYXJnZXRzKCkpIHsKKyAgICAgICAgYXV0byYgb2JzZXJ2YXRp
b25UYXJnZXRzID0gb2JzZXJ2ZXItPnJvb3QoKSA/IG9ic2VydmVyLT5vYnNlcnZhdGlvblRhcmdl
dHMoKSA6ICpvYnNlcnZlci0+b2JzZXJ2YXRpb25UYXJnZXRzRm9yVmlld3BvcnQoKnRoaXMpOwor
ICAgICAgICBmb3IgKEVsZW1lbnQqIHRhcmdldCA6IG9ic2VydmF0aW9uVGFyZ2V0cykgewogICAg
ICAgICAgICAgYXV0byYgdGFyZ2V0UmVnaXN0cmF0aW9ucyA9IHRhcmdldC0+aW50ZXJzZWN0aW9u
T2JzZXJ2ZXJEYXRhKCktPnJlZ2lzdHJhdGlvbnM7CiAgICAgICAgICAgICBhdXRvIGluZGV4ID0g
dGFyZ2V0UmVnaXN0cmF0aW9ucy5maW5kTWF0Y2hpbmcoW29ic2VydmVyXShhdXRvJiByZWdpc3Ry
YXRpb24pIHsKICAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLm9ic2VydmVyLmdl
dCgpID09IG9ic2VydmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGE0YmI4OWY0M2M1OTg0
ZjUwNWY3YTU1YzQ5YTcwYzIzODcxMTA5MmMuLmIyYzMwYzM3ZDM2YjRmNTliMjU0NzE5MDExNThi
MGNmMjYzYTM4MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE3NzksNiArMTc3OSw4IEBA
IHZvaWQgRWxlbWVudDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQmIG9sZERvY3VtZW50
LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQpCiAgICAgICAgICAgICAgICAgbmV3RG9jdW1lbnQuYWRk
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKm9ic2VydmVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQorICAgICAgICBmb3IgKGF1dG8gcmVnaXN0cmF0aW9uIDogb2JzZXJ2ZXJEYXRhLT5yZWdpc3Ry
YXRpb25zKQorICAgICAgICAgICAgcmVnaXN0cmF0aW9uLm9ic2VydmVyLT50YXJnZXRNb3ZlZFRv
TmV3RG9jdW1lbnQoKnRoaXMpOwogICAgIH0KICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcAppbmRleCBjMWM5YTg4YWYyMzJiMWUxNTc5ZDg4
YzUxMTBkNmRiODNhM2YzZTE2Li40MjZkM2RkYzdhZTJhN2M2YmUyYzI1ZDZjY2VhM2EzNDA3OGFi
YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmNwcApA
QCAtODIsNyArODIsNyBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8TGVuZ3RoQm94PiBwYXJzZVJvb3RN
YXJnaW4oU3RyaW5nJiByb290TWFyZ2luKQogICAgIHJldHVybiBMZW5ndGhCb3goV1RGTW92ZSht
YXJnaW5zWzBdKSwgV1RGTW92ZShtYXJnaW5zWzFdKSwgV1RGTW92ZShtYXJnaW5zWzJdKSwgV1RG
TW92ZShtYXJnaW5zWzNdKSk7CiB9CiAKLUV4Y2VwdGlvbk9yPFJlZjxJbnRlcnNlY3Rpb25PYnNl
cnZlcj4+IEludGVyc2VjdGlvbk9ic2VydmVyOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBS
ZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaywgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXI6OkluaXQmJiBpbml0KQorRXhjZXB0aW9uT3I8UmVmPEludGVyc2VjdGlvbk9ic2Vy
dmVyPj4gSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OmNyZWF0ZShSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2
ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaywgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OkluaXQmJiBpbml0
KQogewogICAgIGF1dG8gcm9vdE1hcmdpbk9yRXhjZXB0aW9uID0gcGFyc2VSb290TWFyZ2luKGlu
aXQucm9vdE1hcmdpbik7CiAgICAgaWYgKHJvb3RNYXJnaW5PckV4Y2VwdGlvbi5oYXNFeGNlcHRp
b24oKSkKQEAgLTEwMSwyMSArMTAxLDIxIEBAIEV4Y2VwdGlvbk9yPFJlZjxJbnRlcnNlY3Rpb25P
YnNlcnZlcj4+IEludGVyc2VjdGlvbk9ic2VydmVyOjpjcmVhdGUoRG9jdW1lbnQmIGRvCiAgICAg
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgUmFuZ2VFcnJvciwgIkZhaWxlZCB0byBjb25zdHJ1
Y3QgJ0ludGVyc2VjdGlvbk9ic2VydmVyJzogYWxsIHRocmVzaG9sZHMgbXVzdCBsaWUgaW4gdGhl
IHJhbmdlIFswLjAsIDEuMF0uIiB9OwogICAgIH0KIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEludGVyc2VjdGlvbk9ic2VydmVyKGRvY3VtZW50LCBXVEZNb3ZlKGNhbGxiYWNrKSwgaW5pdC5y
b290LCByb290TWFyZ2luT3JFeGNlcHRpb24ucmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUo
dGhyZXNob2xkcykpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbnRlcnNlY3Rpb25PYnNl
cnZlcihXVEZNb3ZlKGNhbGxiYWNrKSwgaW5pdC5yb290LCByb290TWFyZ2luT3JFeGNlcHRpb24u
cmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUodGhyZXNob2xkcykpKTsKIH0KIAotSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXI6OkludGVyc2VjdGlvbk9ic2VydmVyKERvY3VtZW50JiBkb2N1bWVudCwg
UmVmPEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2ssIEVsZW1lbnQqIHJv
b3QsIExlbmd0aEJveCYmIHBhcnNlZFJvb3RNYXJnaW4sIFZlY3Rvcjxkb3VibGU+JiYgdGhyZXNo
b2xkcykKK0ludGVyc2VjdGlvbk9ic2VydmVyOjpJbnRlcnNlY3Rpb25PYnNlcnZlcihSZWY8SW50
ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaywgRWxlbWVudCogcm9vdCwgTGVu
Z3RoQm94JiYgcGFyc2VkUm9vdE1hcmdpbiwgVmVjdG9yPGRvdWJsZT4mJiB0aHJlc2hvbGRzKQog
ICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvd25jYXN0PERvY3VtZW50PihjYWxsYmFjay0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKSkKICAgICAsIG1fcm9vdChyb290KQogICAgICwgbV9yb290TWFy
Z2luKFdURk1vdmUocGFyc2VkUm9vdE1hcmdpbikpCiAgICAgLCBtX3RocmVzaG9sZHMoV1RGTW92
ZSh0aHJlc2hvbGRzKSkKICAgICAsIG1fY2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCisgICAg
LCBtX2lzVmlld3BvcnRPYnNlcnZlcighcm9vdCkKIHsKICAgICBpZiAobV9yb290KSB7CiAgICAg
ICAgIGF1dG8mIG9ic2VydmVyRGF0YSA9IG1fcm9vdC0+ZW5zdXJlSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJEYXRhKCk7CiAgICAgICAgIG9ic2VydmVyRGF0YS5vYnNlcnZlcnMuYXBwZW5kKG1ha2VXZWFr
UHRyKHRoaXMpKTsKLSAgICB9IGVsc2UgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUo
KSkKLSAgICAgICAgbV9pbXBsaWNpdFJvb3REb2N1bWVudCA9IG1ha2VXZWFrUHRyKGZyYW1lLT5t
YWluRnJhbWUoKS5kb2N1bWVudCgpKTsKKyAgICB9CiAKICAgICBzdGQ6OnNvcnQobV90aHJlc2hv
bGRzLmJlZ2luKCksIG1fdGhyZXNob2xkcy5lbmQoKSk7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7
CkBAIC0xNDUsMTggKzE0NSwzOCBAQCBTdHJpbmcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJvb3RN
YXJnaW4oKSBjb25zdAogICAgIHJldHVybiBzdHJpbmdCdWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAK
K2NvbnN0IFZlY3RvcjxFbGVtZW50Kj4qIEludGVyc2VjdGlvbk9ic2VydmVyOjpvYnNlcnZhdGlv
blRhcmdldHNGb3JWaWV3cG9ydChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Cit7Cisg
ICAgYXV0byBpbmRleCA9IG1fdmlld3BvcnRPYnNlcnZhdGlvbnMuZmluZE1hdGNoaW5nKFsmZG9j
dW1lbnRdKGF1dG8mIG9ic2VydmF0aW9uRGF0YSkgeworICAgICAgICByZXR1cm4gb2JzZXJ2YXRp
b25EYXRhLmRvY3VtZW50ID09ICZkb2N1bWVudDsKKyAgICB9KTsKKyAgICBpZiAoaW5kZXggIT0g
bm90Rm91bmQpCisgICAgICAgIHJldHVybiAmbV92aWV3cG9ydE9ic2VydmF0aW9uc1tpbmRleF0u
dGFyZ2V0czsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdm9pZCBJbnRlcnNlY3Rpb25PYnNl
cnZlcjo6b2JzZXJ2ZShFbGVtZW50JiB0YXJnZXQpCiB7Ci0gICAgaWYgKCF0cmFja2luZ0RvY3Vt
ZW50KCkgfHwgIW1fY2FsbGJhY2sgfHwgbV9vYnNlcnZhdGlvblRhcmdldHMuY29udGFpbnMoJnRh
cmdldCkpCisgICAgaWYgKCghbV9pc1ZpZXdwb3J0T2JzZXJ2ZXIgJiYgIW1fcm9vdCkgfHwgIW1f
Y2FsbGJhY2sgfHwgbV9vYnNlcnZhdGlvblRhcmdldHMuY29udGFpbnMoJnRhcmdldCkpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIHRhcmdldC5lbnN1cmVJbnRlcnNlY3Rpb25PYnNlcnZlckRhdGEo
KS5yZWdpc3RyYXRpb25zLmFwcGVuZCh7IG1ha2VXZWFrUHRyKHRoaXMpLCBzdGQ6Om51bGxvcHQg
fSk7Ci0gICAgYm9vbCBoYWRPYnNlcnZhdGlvblRhcmdldHMgPSBoYXNPYnNlcnZhdGlvblRhcmdl
dHMoKTsKICAgICBtX29ic2VydmF0aW9uVGFyZ2V0cy5hcHBlbmQoJnRhcmdldCk7Ci0gICAgYXV0
byogZG9jdW1lbnQgPSB0cmFja2luZ0RvY3VtZW50KCk7Ci0gICAgaWYgKCFoYWRPYnNlcnZhdGlv
blRhcmdldHMpCi0gICAgICAgIGRvY3VtZW50LT5hZGRJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhp
cyk7Ci0gICAgZG9jdW1lbnQtPnNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2YXRpb25V
cGRhdGUoKTsKKworICAgIERvY3VtZW50KiB0cmFja2luZ0RvY3VtZW50ID0gbnVsbHB0cjsKKyAg
ICBpZiAobV9yb290KSB7CisgICAgICAgIHRyYWNraW5nRG9jdW1lbnQgPSAmbV9yb290LT5kb2N1
bWVudCgpOworICAgICAgICBpZiAobV9vYnNlcnZhdGlvblRhcmdldHMuc2l6ZSgpID09IDEpCisg
ICAgICAgICAgICB0cmFja2luZ0RvY3VtZW50LT5hZGRJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhp
cyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHRhcmdldC5kb2N1bWVudCgpLmZyYW1lKCkp
CisgICAgICAgICAgICB0cmFja2luZ0RvY3VtZW50ID0gdGFyZ2V0LmRvY3VtZW50KCkuZnJhbWUo
KS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICAgICAgaWYgKHRyYWNraW5nRG9jdW1lbnQp
CisgICAgICAgICAgICBhZGRUYXJnZXRUb09ic2VydmF0aW9uRm9yVmlld3BvcnQodGFyZ2V0LCAq
dHJhY2tpbmdEb2N1bWVudCk7CisgICAgfQorCisgICAgaWYgKHRyYWNraW5nRG9jdW1lbnQpCisg
ICAgICAgIHRyYWNraW5nRG9jdW1lbnQtPnNjaGVkdWxlRm9yY2VkSW50ZXJzZWN0aW9uT2JzZXJ2
YXRpb25VcGRhdGUoKTsKIH0KIAogdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6dW5vYnNlcnZl
KEVsZW1lbnQmIHRhcmdldCkKQEAgLTE2NCwxMyArMTg0LDcgQEAgdm9pZCBJbnRlcnNlY3Rpb25P
YnNlcnZlcjo6dW5vYnNlcnZlKEVsZW1lbnQmIHRhcmdldCkKICAgICBpZiAoIXJlbW92ZVRhcmdl
dFJlZ2lzdHJhdGlvbih0YXJnZXQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBib29sIHJlbW92
ZWQgPSBtX29ic2VydmF0aW9uVGFyZ2V0cy5yZW1vdmVGaXJzdCgmdGFyZ2V0KTsKLSAgICBBU1NF
UlRfVU5VU0VEKHJlbW92ZWQsIHJlbW92ZWQpOwotCi0gICAgaWYgKCFoYXNPYnNlcnZhdGlvblRh
cmdldHMoKSkgewotICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0RvY3VtZW50
KCkpCi0gICAgICAgICAgICBkb2N1bWVudC0+cmVtb3ZlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKnRo
aXMpOwotICAgIH0KKyAgICByZW1vdmVPYnNlcnZhdGlvblRhcmdldCh0YXJnZXQpOwogfQogCiB2
b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KCkKQEAgLTE3OCw5ICsxOTIsMTUg
QEAgdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCgpCiAgICAgaWYgKCFoYXNP
YnNlcnZhdGlvblRhcmdldHMoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKG1fcm9vdCkK
KyAgICAgICAgbV9yb290LT5kb2N1bWVudCgpLnJlbW92ZUludGVyc2VjdGlvbk9ic2VydmVyKCp0
aGlzKTsKKyAgICBlbHNlIHsKKyAgICAgICAgZm9yIChhdXRvJiBvYnNlcnZhdGlvbiA6IG1fdmll
d3BvcnRPYnNlcnZhdGlvbnMpIHsKKyAgICAgICAgICAgIGlmIChvYnNlcnZhdGlvbi5kb2N1bWVu
dCkKKyAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5kb2N1bWVudC0+cmVtb3ZlSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIoKnRoaXMpOworICAgICAgICB9CisgICAgfQogICAgIHJlbW92ZUFsbFRhcmdl
dHMoKTsKLSAgICBpZiAoYXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0RvY3VtZW50KCkpCi0gICAg
ICAgIGRvY3VtZW50LT5yZW1vdmVJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7CiB9CiAKIGF1
dG8gSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnRha2VSZWNvcmRzKCkgLT4gVGFrZW5SZWNvcmRzCkBA
IC0xODgsMTIgKzIwOCw1MiBAQCBhdXRvIEludGVyc2VjdGlvbk9ic2VydmVyOjp0YWtlUmVjb3Jk
cygpIC0+IFRha2VuUmVjb3JkcwogICAgIHJldHVybiB7IFdURk1vdmUobV9xdWV1ZWRFbnRyaWVz
KSwgV1RGTW92ZShtX3BlbmRpbmdUYXJnZXRzKSB9OwogfQogCit2b2lkIEludGVyc2VjdGlvbk9i
c2VydmVyOjpyZW1vdmVPYnNlcnZhdGlvblRhcmdldChFbGVtZW50JiB0YXJnZXQpCit7CisgICAg
Ym9vbCByZW1vdmVkID0gbV9vYnNlcnZhdGlvblRhcmdldHMucmVtb3ZlRmlyc3QoJnRhcmdldCk7
CisgICAgQVNTRVJUX1VOVVNFRChyZW1vdmVkLCByZW1vdmVkKTsKKworICAgIGlmIChtX3Jvb3Qp
IHsKKyAgICAgICAgaWYgKCFoYXNPYnNlcnZhdGlvblRhcmdldHMoKSkKKyAgICAgICAgICAgIG1f
cm9vdC0+ZG9jdW1lbnQoKS5yZW1vdmVJbnRlcnNlY3Rpb25PYnNlcnZlcigqdGhpcyk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdmlld3Bv
cnRPYnNlcnZhdGlvbnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byYgb2JzZXJ2YXRpb24g
PSBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25zW2ldOworICAgICAgICBpZiAob2JzZXJ2YXRpb24udGFy
Z2V0cy5yZW1vdmVGaXJzdCgmdGFyZ2V0KSkgeworICAgICAgICAgICAgcmVtb3ZlVmlld3BvcnRP
YnNlcnZhdGlvbklmVGFyZ2V0TGlzdEVtcHR5KGkpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICB9Cit9CisKIHZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnRhcmdldERlc3Ry
b3llZChFbGVtZW50JiB0YXJnZXQpCiB7Ci0gICAgbV9vYnNlcnZhdGlvblRhcmdldHMucmVtb3Zl
Rmlyc3QoJnRhcmdldCk7Ci0gICAgaWYgKCFoYXNPYnNlcnZhdGlvblRhcmdldHMoKSkgewotICAg
ICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSB0cmFja2luZ0RvY3VtZW50KCkpCi0gICAgICAgICAg
ICBkb2N1bWVudC0+cmVtb3ZlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKnRoaXMpOworICAgIHJlbW92
ZU9ic2VydmF0aW9uVGFyZ2V0KHRhcmdldCk7Cit9CisKK3ZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXI6OnRhcmdldE1vdmVkVG9OZXdEb2N1bWVudChFbGVtZW50JiB0YXJnZXQpCit7CisgICAgaWYg
KCFtX2lzVmlld3BvcnRPYnNlcnZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgRG9jdW1lbnQq
IG1haW5GcmFtZURvY3VtZW50ID0gbnVsbHB0cjsKKyAgICBpZiAodGFyZ2V0LmRvY3VtZW50KCku
ZnJhbWUoKSkKKyAgICAgICAgbWFpbkZyYW1lRG9jdW1lbnQgPSB0YXJnZXQuZG9jdW1lbnQoKS5m
cmFtZSgpLT5tYWluRnJhbWUoKS5kb2N1bWVudCgpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25zLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8m
IG9ic2VydmF0aW9uID0gbV92aWV3cG9ydE9ic2VydmF0aW9uc1tpXTsKKyAgICAgICAgYXV0byBp
bmRleCA9IG9ic2VydmF0aW9uLnRhcmdldHMuZmluZCgmdGFyZ2V0KTsKKyAgICAgICAgaWYgKGlu
ZGV4ICE9IG5vdEZvdW5kKSB7CisgICAgICAgICAgICBpZiAob2JzZXJ2YXRpb24uZG9jdW1lbnQg
IT0gbWFpbkZyYW1lRG9jdW1lbnQpIHsKKyAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi50YXJn
ZXRzLnJlbW92ZShpbmRleCk7CisgICAgICAgICAgICAgICAgcmVtb3ZlVmlld3BvcnRPYnNlcnZh
dGlvbklmVGFyZ2V0TGlzdEVtcHR5KGkpOworICAgICAgICAgICAgICAgIGlmIChtYWluRnJhbWVE
b2N1bWVudCkKKyAgICAgICAgICAgICAgICAgICAgYWRkVGFyZ2V0VG9PYnNlcnZhdGlvbkZvclZp
ZXdwb3J0KHRhcmdldCwgKm1haW5GcmFtZURvY3VtZW50KTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogfQogCkBAIC0yMTYsNiArMjc2LDMwIEBA
IHZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJlbW92ZUFsbFRhcmdldHMoKQogICAgICAgICBB
U1NFUlRfVU5VU0VEKHJlbW92ZWQsIHJlbW92ZWQpOwogICAgIH0KICAgICBtX29ic2VydmF0aW9u
VGFyZ2V0cy5jbGVhcigpOworICAgIG1fdmlld3BvcnRPYnNlcnZhdGlvbnMuY2xlYXIoKTsKK30K
Kwordm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6YWRkVGFyZ2V0VG9PYnNlcnZhdGlvbkZvclZp
ZXdwb3J0KEVsZW1lbnQmIHRhcmdldCwgRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGF1dG8g
aW5kZXggPSBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25zLmZpbmRNYXRjaGluZyhbJmRvY3VtZW50XShh
dXRvJiBvYnNlcnZhdGlvbkRhdGEpIHsKKyAgICAgICAgcmV0dXJuIG9ic2VydmF0aW9uRGF0YS5k
b2N1bWVudCA9PSAmZG9jdW1lbnQ7CisgICAgfSk7CisgICAgaWYgKGluZGV4ID09IG5vdEZvdW5k
KSB7CisgICAgICAgIGRvY3VtZW50LmFkZEludGVyc2VjdGlvbk9ic2VydmVyKCp0aGlzKTsKKyAg
ICAgICAgbV92aWV3cG9ydE9ic2VydmF0aW9ucy5hcHBlbmQoeyBtYWtlV2Vha1B0cihkb2N1bWVu
dCksIHsgfSB9KTsKKyAgICAgICAgaW5kZXggPSBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25zLnNpemUo
KSAtIDE7CisgICAgfQorCisgICAgbV92aWV3cG9ydE9ic2VydmF0aW9uc1tpbmRleF0udGFyZ2V0
cy5hcHBlbmQoJnRhcmdldCk7Cit9CisKK3ZvaWQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI6OnJlbW92
ZVZpZXdwb3J0T2JzZXJ2YXRpb25JZlRhcmdldExpc3RFbXB0eShzaXplX3QgaW5kZXgpCit7Cisg
ICAgaWYgKG1fdmlld3BvcnRPYnNlcnZhdGlvbnNbaW5kZXhdLnRhcmdldHMuaXNFbXB0eSgpKSB7
CisgICAgICAgIGlmIChhdXRvIGRvY3VtZW50ID0gbV92aWV3cG9ydE9ic2VydmF0aW9uc1tpbmRl
eF0uZG9jdW1lbnQpCisgICAgICAgICAgICBkb2N1bWVudC0+cmVtb3ZlSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXIoKnRoaXMpOworICAgICAgICBtX3ZpZXdwb3J0T2JzZXJ2YXRpb25zLnJlbW92ZShpbmRl
eCk7CisgICAgfQogfQogCiB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpyb290RGVzdHJveWVk
KCkKQEAgLTI2Miw3ICszNDYsNyBAQCB2b2lkIEludGVyc2VjdGlvbk9ic2VydmVyOjpub3RpZnko
KQogCiBib29sIEludGVyc2VjdGlvbk9ic2VydmVyOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25z
dAogewotICAgIHJldHVybiAoaGFzT2JzZXJ2YXRpb25UYXJnZXRzKCkgJiYgdHJhY2tpbmdEb2N1
bWVudCgpKSB8fCAhbV9xdWV1ZWRFbnRyaWVzLmlzRW1wdHkoKTsKKyAgICByZXR1cm4gaGFzT2Jz
ZXJ2YXRpb25UYXJnZXRzKCkgfHwgIW1fcXVldWVkRW50cmllcy5pc0VtcHR5KCk7CiB9CiAKIGNv
bnN0IGNoYXIqIEludGVyc2VjdGlvbk9ic2VydmVyOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaAppbmRleCBmYWYz
MGZkYTBiY2NlY2IxN2FiMGE1NDIzYmYxNzkwY2U5NzRjNjIxLi45YzI5NTIxMGI0YTkxYzczMzY1
NWU1NzU2NmYwYmVhYmFhOWZlMDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0lu
dGVyc2VjdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rp
b25PYnNlcnZlci5oCkBAIC02NSwxNyArNjUsMTYgQEAgcHVibGljOgogICAgICAgICBWYXJpYW50
PGRvdWJsZSwgVmVjdG9yPGRvdWJsZT4+IHRocmVzaG9sZDsKICAgICB9OwogCi0gICAgc3RhdGlj
IEV4Y2VwdGlvbk9yPFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlcj4+IGNyZWF0ZShEb2N1bWVudCYs
IFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiYmLCBJbml0JiYpOworICAgIHN0YXRp
YyBFeGNlcHRpb25PcjxSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXI+PiBjcmVhdGUoUmVmPEludGVy
c2VjdGlvbk9ic2VydmVyQ2FsbGJhY2s+JiYsIEluaXQmJik7CiAKICAgICB+SW50ZXJzZWN0aW9u
T2JzZXJ2ZXIoKTsKIAotICAgIERvY3VtZW50KiB0cmFja2luZ0RvY3VtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9yb290ID8gJm1fcm9vdC0+ZG9jdW1lbnQoKSA6IG1faW1wbGljaXRSb290RG9jdW1l
bnQuZ2V0KCk7IH0KLQogICAgIEVsZW1lbnQqIHJvb3QoKSBjb25zdCB7IHJldHVybiBtX3Jvb3Q7
IH0KICAgICBTdHJpbmcgcm9vdE1hcmdpbigpIGNvbnN0OwogICAgIGNvbnN0IExlbmd0aEJveCYg
cm9vdE1hcmdpbkJveCgpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdE1hcmdpbjsgfQogICAgIGNvbnN0
IFZlY3Rvcjxkb3VibGU+JiB0aHJlc2hvbGRzKCkgY29uc3QgeyByZXR1cm4gbV90aHJlc2hvbGRz
OyB9Ci0gICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiBvYnNlcnZhdGlvblRhcmdldHMoKSBjb25z
dCB7IHJldHVybiBtX29ic2VydmF0aW9uVGFyZ2V0czsgfQorICAgIGNvbnN0IFZlY3RvcjxFbGVt
ZW50Kj4mIG9ic2VydmF0aW9uVGFyZ2V0cygpIGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2YXRpb25U
YXJnZXRzOyB9CisgICAgY29uc3QgVmVjdG9yPEVsZW1lbnQqPiogb2JzZXJ2YXRpb25UYXJnZXRz
Rm9yVmlld3BvcnQoY29uc3QgRG9jdW1lbnQmKSBjb25zdDsKIAogICAgIHZvaWQgb2JzZXJ2ZShF
bGVtZW50Jik7CiAgICAgdm9pZCB1bm9ic2VydmUoRWxlbWVudCYpOwpAQCAtODgsNiArODcsNyBA
QCBwdWJsaWM6CiAgICAgVGFrZW5SZWNvcmRzIHRha2VSZWNvcmRzKCk7CiAKICAgICB2b2lkIHRh
cmdldERlc3Ryb3llZChFbGVtZW50Jik7CisgICAgdm9pZCB0YXJnZXRNb3ZlZFRvTmV3RG9jdW1l
bnQoRWxlbWVudCYpOwogICAgIGJvb2wgaGFzT2JzZXJ2YXRpb25UYXJnZXRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9vYnNlcnZhdGlvblRhcmdldHMuc2l6ZSgpOyB9CiAgICAgdm9pZCByb290RGVzdHJv
eWVkKCk7CiAKQEAgLTEwMywxOSArMTAzLDMwIEBAIHB1YmxpYzoKICAgICB2b2lkIHN0b3AoKSBv
dmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBJbnRlcnNlY3Rpb25PYnNlcnZlcihEb2N1bWVudCYs
IFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrPiYmLCBFbGVtZW50KiByb290LCBMZW5n
dGhCb3gmJiBwYXJzZWRSb290TWFyZ2luLCBWZWN0b3I8ZG91YmxlPiYmIHRocmVzaG9sZHMpOwor
ICAgIEludGVyc2VjdGlvbk9ic2VydmVyKFJlZjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNr
PiYmLCBFbGVtZW50KiByb290LCBMZW5ndGhCb3gmJiBwYXJzZWRSb290TWFyZ2luLCBWZWN0b3I8
ZG91YmxlPiYmIHRocmVzaG9sZHMpOwogCisgICAgdm9pZCByZW1vdmVPYnNlcnZhdGlvblRhcmdl
dChFbGVtZW50Jik7CiAgICAgYm9vbCByZW1vdmVUYXJnZXRSZWdpc3RyYXRpb24oRWxlbWVudCYp
OwogICAgIHZvaWQgcmVtb3ZlQWxsVGFyZ2V0cygpOwogCi0gICAgV2Vha1B0cjxEb2N1bWVudD4g
bV9pbXBsaWNpdFJvb3REb2N1bWVudDsKKyAgICB2b2lkIGFkZFRhcmdldFRvT2JzZXJ2YXRpb25G
b3JWaWV3cG9ydChFbGVtZW50JiwgRG9jdW1lbnQmKTsKKyAgICB2b2lkIHJlbW92ZVZpZXdwb3J0
T2JzZXJ2YXRpb25JZlRhcmdldExpc3RFbXB0eShzaXplX3QgaW5kZXgpOworCiAgICAgRWxlbWVu
dCogbV9yb290OwogICAgIExlbmd0aEJveCBtX3Jvb3RNYXJnaW47CiAgICAgVmVjdG9yPGRvdWJs
ZT4gbV90aHJlc2hvbGRzOwogICAgIFJlZlB0cjxJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNr
PiBtX2NhbGxiYWNrOwogICAgIFZlY3RvcjxFbGVtZW50Kj4gbV9vYnNlcnZhdGlvblRhcmdldHM7
CiAgICAgVmVjdG9yPEdDUmVhY2hhYmxlUmVmPEVsZW1lbnQ+PiBtX3BlbmRpbmdUYXJnZXRzOwor
CisgICAgc3RydWN0IFZpZXdwb3J0T2JzZXJ2YXRpb25EYXRhIHsKKyAgICAgICAgV2Vha1B0cjxE
b2N1bWVudD4gZG9jdW1lbnQ7CisgICAgICAgIFZlY3RvcjxFbGVtZW50Kj4gdGFyZ2V0czsKKyAg
ICB9OworICAgIFZlY3RvcjxWaWV3cG9ydE9ic2VydmF0aW9uRGF0YT4gbV92aWV3cG9ydE9ic2Vy
dmF0aW9uczsKKwogICAgIFZlY3RvcjxSZWY8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4+IG1f
cXVldWVkRW50cmllczsKKyAgICBib29sIG1faXNWaWV3cG9ydE9ic2VydmVyOwogfTsKIAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCmluZGV4IDJmM2Ex
NDNhOTJiYzUxOTVlNDZmOGQyNDVlMjczMTJhMTRkZTRhNzkuLmRiZjg2NGNhNjZhNmY3NzBkNDM1
Y2Q5MjZkY2RmZjgwMWIyMWQ0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIuaWRsCkBAIC0yOCw3ICsyOCw2IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0
LAogICAgIENvbmRpdGlvbmFsPUlOVEVSU0VDVElPTl9PQlNFUlZFUiwKLSAgICBDb25zdHJ1Y3Rv
ckNhbGxXaXRoPURvY3VtZW50LAogICAgIENvbnN0cnVjdG9yTWF5VGhyb3dFeGNlcHRpb24sCiAg
ICAgQ29uc3RydWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0
aW9uYWwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpLAogICAgIEVuYWJsZWRBdFJ1
bnRpbWU9SW50ZXJzZWN0aW9uT2JzZXJ2ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IDA3MjJlMzRiNzUzMTZiY2E4ZTQzODhiZmIzNjExMGM5ODBlYTc0OTkuLjQxNTliYjg5YTM3
MGI0NDlmMzEwNmQ0MGU2MTJmZWM4MzQyNDM1YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTExLTEyICBBbGkgSnVtYSAgPGFqdW1hQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbSW50ZXJzZWN0aW9uT2JzZXJ2ZXJdIFN1cHBvcnQgaGF2aW5n
IHRhcmdldHMgaW4gbXVsdGlwbGUgd2luZG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9uIGZvciB0ZXN0IHRoYXQgbm93
IHBhc3Nlcy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2Jz
ZXJ2ZXIvdGFyZ2V0LWluLWRpZmZlcmVudC13aW5kb3ctZXhwZWN0ZWQudHh0OgorCiAyMDE4LTEx
LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWVuYWJs
ZSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlv
bi1vbnRyYWNrLmh0dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3RhcmdldC1pbi1kaWZm
ZXJlbnQtd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3RhcmdldC1pbi1kaWZmZXJlbnQt
d2luZG93LWV4cGVjdGVkLnR4dAppbmRleCAyN2YzZjlhNzY3NDdlMjNjMmFjZTMxMzgwYWZmNGJj
YWI4YWY5MDAwLi4wODk3Yzk2MjVlZDkwYzBmYjRlZjkxZDA3MmZmYmM5MjM3MDAxMmIzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
c2VjdGlvbi1vYnNlcnZlci90YXJnZXQtaW4tZGlmZmVyZW50LXdpbmRvdy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNl
Y3Rpb24tb2JzZXJ2ZXIvdGFyZ2V0LWluLWRpZmZlcmVudC13aW5kb3ctZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIEludGVyc2VjdGlvbk9ic2VydmVyIHdpdGggdGFyZ2V0IGlu
IGEgZGlmZmVyZW50IHdpbmRvdy4gYXNzZXJ0X2VxdWFsczogTm90aWZpY2F0aW9uIGFmdGVyIGlu
c2VydGlvbiBpbnRvIHBvcHVwLiBleHBlY3RlZCAyIGJ1dCBnb3QgMQorUEFTUyBJbnRlcnNlY3Rp
b25PYnNlcnZlciB3aXRoIHRhcmdldCBpbiBhIGRpZmZlcmVudCB3aW5kb3cuIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>