<?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>157388</bug_id>
          
          <creation_ts>2016-05-05 14:23:16 -0700</creation_ts>
          <short_desc>Remove unnecessary PageOverlay client function pageOverlayDestroyed</short_desc>
          <delta_ts>2016-05-20 14:16:37 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1190454</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-05-05 14:23:16 -0700</bug_when>
    <thetext>PageOverlay&apos;s destructor should call WebPageOverlay::pageOverlayDestroyed() and WebPageOverlay::pageOverlayDestroyed() should remove the PageOverlay from its hash map.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190456</commentid>
    <comment_count>1</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-05-05 14:24:58 -0700</bug_when>
    <thetext>rdar://problem/25471523</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190461</commentid>
    <comment_count>2</comment_count>
      <attachid>278191</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-05-05 14:34:27 -0700</bug_when>
    <thetext>Created attachment 278191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190463</commentid>
    <comment_count>3</comment_count>
      <attachid>278191</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-05-05 14:39:34 -0700</bug_when>
    <thetext>Comment on attachment 278191
Patch

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +            Now revoes the given PageOverlay from its overlay HashMap.

revoes?

&gt; Source/WebKit2/WebProcess/WebPage/WebPageOverlay.cpp:-94
&gt; -    m_client-&gt;pageOverlayDestroyed(*this);

Why did you stop calling WebPageOverlay::Client&apos;s pageOverlayDestroyed callback? Seems like you&apos;re introducing a new version of the same bug you&apos;re fixing at a different level :) (or perhaps just leaking API::PageOverlayClientImpl?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190532</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-05-05 17:18:51 -0700</bug_when>
    <thetext>Changed the title to reflect what we intend to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190544</commentid>
    <comment_count>5</comment_count>
      <attachid>278212</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-05-05 17:58:21 -0700</bug_when>
    <thetext>Created attachment 278212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190612</commentid>
    <comment_count>6</comment_count>
      <attachid>278212</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-05-05 21:41:33 -0700</bug_when>
    <thetext>Comment on attachment 278212
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +

You should explain what&apos;s happening:

&quot;Remove dead PageOverlay code. All uses of the WebPageOverlay are handled through unique pointers that automatically deleted when the
WebPageOverlay object itself is deleted. Thus, there is no need to call pageOverlayDestroyed as objects are guaranteed to be completely
cleaned up.&quot;

... or something along those lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190700</commentid>
    <comment_count>7</comment_count>
      <attachid>278254</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-05-06 11:07:21 -0700</bug_when>
    <thetext>Created attachment 278254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195218</commentid>
    <comment_count>8</comment_count>
      <attachid>278254</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-20 14:16:33 -0700</bug_when>
    <thetext>Comment on attachment 278254
Patch

Clearing flags on attachment: 278254

Committed r201224: &lt;http://trac.webkit.org/changeset/201224&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195219</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-20 14:16:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278191</attachid>
            <date>2016-05-05 14:34:27 -0700</date>
            <delta_ts>2016-05-05 17:19:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157388-20160505143508.patch</filename>
            <type>text/plain</type>
            <size>2989</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA1LTA1ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBhZ2VPdmVybGF5J3MgZGVz
dHJ1Y3RvciBzaG91bGQgbWFrZSBzdXJlIGl0cyBjbGllbnQgY2xlYXJzIG1hcHBlZCByZWZlcmVu
Y2VzIHRvIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTczODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1NDcxNTIzPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gSSBoYXZl
IHRyaWVkIHRvIGNvbWUgdXAgd2l0aCBhIFdlYktpdCBBUEkgdGVzdCBmb3IgdGhpcyBidXQgSSBo
YXZlbid0CisgICAgICAgIGJlZW4gYWJsZSB0byB0ZXN0IHByZXNlbmNlL2Fic2VuY2Ugb2YgbWFw
IGVudHJpZXMgc2luY2UgdGhlIG1hcCBpcyBub3QgZXhwb3NlZC4KKyAgICAgICAgQWxzbywgSSBo
YXZlIG5vdCBjb21lIHVwIHdpdGggYSBjYXNlIHRoYXQgY3Jhc2hlcyB3aXRoIHRoZSB1c2Ugb2Yg
YSBzdGFsZQorICAgICAgICBQYWdlT3ZlcmxheSBwb2ludGVyLgorCisgICAgICAgICogcGFnZS9Q
YWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlT3ZlcmxheTo6flBhZ2VPdmVy
bGF5KToKKyAgICAgICAgICAgIE5vdyBjYWxscyBXZWJQYWdlT3ZlcmxheTo6cGFnZU92ZXJsYXlE
ZXN0cm95ZWQoKSBvbiBpdHMgY2xpZW50LCBwYXNzaW5nIGEKKyAgICAgICAgICAgIHJlZmVyZW5j
ZSB0byBpdHNlbGYuCisKIDIwMTYtMDUtMDUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgaU9TIGRlYnVnIGJ1aWxkIGZpeCBhZnRlciByMjAwNDY0LgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2
Myw3IEBAIFBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheShDbGllbnQmIGNsaWVudCwKIAogUGFnZU92
ZXJsYXk6On5QYWdlT3ZlcmxheSgpCiB7CisgICAgbV9jbGllbnQucGFnZU92ZXJsYXlEZXN0cm95
ZWQoKnRoaXMpOwogfQogCiBQYWdlT3ZlcmxheUNvbnRyb2xsZXIqIFBhZ2VPdmVybGF5Ojpjb250
cm9sbGVyKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2
LTA1LTA1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBh
Z2VPdmVybGF5J3MgZGVzdHJ1Y3RvciBzaG91bGQgbWFrZSBzdXJlIGl0cyBjbGllbnQgY2xlYXJz
IG1hcHBlZCByZWZlcmVuY2VzIHRvIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTczODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1NDcxNTIz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZU92ZXJsYXk6OnBhZ2VPdmVybGF5RGVzdHJveWVkKToKKyAgICAgICAgICAgIE5vdyByZXZv
ZXMgdGhlIGdpdmVuIFBhZ2VPdmVybGF5IGZyb20gaXRzIG92ZXJsYXkgSGFzaE1hcC4KKwogMjAx
Ni0wNS0wNSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hhZG93
IERPTSBzaG91bGQgbm90IGJlIGV4cGVyaW1lbnRhbApJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZU92ZXJsYXkuY3BwCShyZXZpc2lvbiAy
MDA0NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZU92ZXJs
YXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCwxNCArODQsOSBAQCB2b2lkIFdlYlBhZ2VPdmVy
bGF5OjpjbGVhcigpCiAgICAgbV9vdmVybGF5LT5jbGVhcigpOwogfQogCi12b2lkIFdlYlBhZ2VP
dmVybGF5OjpwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYpCit2b2lkIFdlYlBhZ2VP
dmVybGF5OjpwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYgb3ZlcmxheSkKIHsKLSAg
ICBpZiAobV9vdmVybGF5KSB7Ci0gICAgICAgIG92ZXJsYXlNYXAoKS5yZW1vdmUobV9vdmVybGF5
LmdldCgpKTsKLSAgICAgICAgbV9vdmVybGF5ID0gbnVsbHB0cjsKLSAgICB9Ci0KLSAgICBtX2Ns
aWVudC0+cGFnZU92ZXJsYXlEZXN0cm95ZWQoKnRoaXMpOworICAgIG92ZXJsYXlNYXAoKS5yZW1v
dmUoJm92ZXJsYXkpOwogfQogCiB2b2lkIFdlYlBhZ2VPdmVybGF5Ojp3aWxsTW92ZVRvUGFnZShQ
YWdlT3ZlcmxheSYsIFBhZ2UqIHBhZ2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278212</attachid>
            <date>2016-05-05 17:58:21 -0700</date>
            <delta_ts>2016-05-06 11:07:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157388-20160505175902.patch</filename>
            <type>text/plain</type>
            <size>15694</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA1LTA1ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBQYWdlT3ZlcmxheSBjbGllbnQgZnVuY3Rpb24gcGFnZU92ZXJsYXlEZXN0cm95ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzM4OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjU0NzE1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBJIHRyaWVkIHRvIGNvbWUgdXAgd2l0
aCBhIFdlYktpdCBBUEkgdGVzdCBmb3IgdGhpcyBidXQgSSB3YXNuJ3QKKyAgICAgICAgYWJsZSB0
byB0ZXN0IHByZXNlbmNlL2Fic2VuY2Ugb2YgV2ViUGFnZU92ZXJsYXkncyBtYXAgZW50cmllcyBz
aW5jZSB0aGUgbWFwIGlzIAorICAgICAgICBub3QgZXhwb3NlZC4gVGhlIGZlYXIgd2FzIHRoYXQg
dGhlIG1hcCBjb3VsZCBjb250YWluIHN0YWxlIHBvaW50ZXJzIHRvCisgICAgICAgIFBhZ2VPdmVy
bGF5IG9iamVjdHMuCisKKyAgICAgICAgKiBwYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlZ2lvbk92ZXJsYXk6OnBhZ2VPdmVybGF5RGVzdHJveWVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlT3ZlcmxheTo6Q2xpZW50OjpwYWdlT3ZlcmxheURlc3Ryb3llZCk6IERlbGV0ZWQuCisgICAg
ICAgICogcGFnZS9SZXNvdXJjZVVzYWdlT3ZlcmxheS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VVc2FnZU92ZXJsYXk6OnBhZ2VPdmVybGF5RGVzdHJveWVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmg6CisgICAgICAgICogcGFn
ZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnBhZ2VPdmVybGF5RGVzdHJveWVkKTogRGVsZXRlZC4K
KyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHA6CisgICAgICAgICog
dGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQ
YWdlT3ZlcmxheUNsaWVudDo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorCiAyMDE2
LTA1LTA1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGlPUyBk
ZWJ1ZyBidWlsZCBmaXggYWZ0ZXIgcjIwMDQ2NC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RGVidWdQYWdlT3ZlcmxheXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RGVidWdQYWdlT3ZlcmxheXMuY3BwCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQs
NiBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVnaW9uT3ZlcmxheShNYWluRnJhbWUmLCBDb2xvcik7CiAK
IHByaXZhdGU6Ci0gICAgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYpIGZp
bmFsOwogICAgIHZvaWQgd2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKikgZmluYWw7
CiAgICAgdm9pZCBkaWRNb3ZlVG9QYWdlKFBhZ2VPdmVybGF5JiwgUGFnZSopIGZpbmFsOwogICAg
IHZvaWQgZHJhd1JlY3QoUGFnZU92ZXJsYXkmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRS
ZWN0JiBkaXJ0eVJlY3QpIGZpbmFsOwpAQCAtMTY2LDEwICsxNjUsNiBAQCBSZWdpb25PdmVybGF5
Ojp+UmVnaW9uT3ZlcmxheSgpCiAgICAgICAgIG1fZnJhbWUucGFnZU92ZXJsYXlDb250cm9sbGVy
KCkudW5pbnN0YWxsUGFnZU92ZXJsYXkobV9vdmVybGF5LmdldCgpLCBQYWdlT3ZlcmxheTo6RmFk
ZU1vZGU6OkRvTm90RmFkZSk7CiB9CiAKLXZvaWQgUmVnaW9uT3ZlcmxheTo6cGFnZU92ZXJsYXlE
ZXN0cm95ZWQoUGFnZU92ZXJsYXkmKQotewotfQotCiB2b2lkIFJlZ2lvbk92ZXJsYXk6OndpbGxN
b3ZlVG9QYWdlKFBhZ2VPdmVybGF5JiwgUGFnZSogcGFnZSkKIHsKICAgICBpZiAoIXBhZ2UpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUy
LDYgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DbGllbnQoKSB7IH0KICAgICAKICAgICBw
dWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3Zl
cmxheSYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9QYWdlKFBhZ2VPdmVy
bGF5JiwgUGFnZSopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZE1vdmVUb1BhZ2UoUGFn
ZU92ZXJsYXkmLCBQYWdlKikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZHJhd1JlY3QoUGFn
ZU92ZXJsYXkmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpID0g
MDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VPdmVybGF5LmgJKHJl
dmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZU92ZXJs
YXkuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0IGludCBub3JtYWxIZWlnaHQgPSAxNjA7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwYWdl
T3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYpIG92ZXJyaWRlIHsgfQogICAgIHZvaWQgd2ls
bE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCBk
aWRNb3ZlVG9QYWdlKFBhZ2VPdmVybGF5JiwgUGFnZSopIG92ZXJyaWRlIHsgfQogICAgIHZvaWQg
ZHJhd1JlY3QoUGFnZU92ZXJsYXkmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0Jikg
b3ZlcnJpZGUgeyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5oCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTk3LDcgKzk3LDYgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgLy8gUGFnZU92ZXJsYXk6
OkNsaWVudAotICAgIHZvaWQgcGFnZU92ZXJsYXlEZXN0cm95ZWQoUGFnZU92ZXJsYXkmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHdpbGxNb3ZlVG9QYWdlKFBhZ2VPdmVybGF5JiwgUGFnZSopIG92ZXJy
aWRlOwogICAgIHZvaWQgZGlkTW92ZVRvUGFnZShQYWdlT3ZlcmxheSYsIFBhZ2UqKSBvdmVycmlk
ZTsKICAgICB2b2lkIGRyYXdSZWN0KFBhZ2VPdmVybGF5JiwgR3JhcGhpY3NDb250ZXh0JiwgY29u
c3QgSW50UmVjdCYgZGlydHlSZWN0KSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQkocmV2aXNpb24g
MjAwNDc3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJv
bGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjIxLDEzICsyMjEsNiBAQCBTZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyOjp+U2VydmljZXNPdmVyCiAgICAgICAgIGhpZ2hsaWdodC0+aW52YWxpZGF0
ZSgpOwogfQogCi12b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnBhZ2VPdmVybGF5RGVz
dHJveWVkKFBhZ2VPdmVybGF5JikKLXsKLSAgICAvLyBCZWZvcmUgdGhlIG92ZXJsYXkgaXMgZGVz
dHJveWVkLCBpdCBzaG91bGQgaGF2ZSBtb3ZlZCBvdXQgb2YgdGhlIFBhZ2UsCi0gICAgLy8gYXQg
d2hpY2ggcG9pbnQgd2UgYWxyZWFkeSBjbGVhcmVkIG91ciBiYWNrIHBvaW50ZXIuCi0gICAgQVNT
RVJUKCFtX3NlcnZpY2VzT3ZlcmxheSk7Ci19Ci0KIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKiBwYWdlKQogewogICAgIGlm
IChwYWdlKQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGll
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmNwcAkocmV2aXNpb24gMjAwNDc3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MywxOSArNzMs
NiBAQCBTdHJpbmcgTW9ja1BhZ2VPdmVybGF5Q2xpZW50OjpsYXllclRyZWVBCiAgICAgcmV0dXJu
ICJWaWV3LXJlbGF0aXZlOlxuIiArIG1haW5GcmFtZS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS52
aWV3T3ZlcmxheVJvb3RMYXllcigpLmxheWVyVHJlZUFzVGV4dChMYXllclRyZWVBc1RleHRJbmNs
dWRlUGFnZU92ZXJsYXlMYXllcnMpICsgIlxuXG5Eb2N1bWVudC1yZWxhdGl2ZTpcbiIgKyBtYWlu
RnJhbWUucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuZG9jdW1lbnRPdmVybGF5Um9vdExheWVyKCku
bGF5ZXJUcmVlQXNUZXh0KExheWVyVHJlZUFzVGV4dEluY2x1ZGVQYWdlT3ZlcmxheUxheWVycyk7
CiB9CiAKLXZvaWQgTW9ja1BhZ2VPdmVybGF5Q2xpZW50OjpwYWdlT3ZlcmxheURlc3Ryb3llZChQ
YWdlT3ZlcmxheSYgb3ZlcmxheSkKLXsKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBkZWFkIGNvZGUs
IG5vdGhpbmcgZXZlciBjYWxscyB0aGlzIGZ1bmN0aW9uLiBJdCdzIG5vdCBjbGVhciB0byBtZSB3
aGF0IHRoZSBpbnRlbnRpb24gd2FzLAotICAgIC8vIHNpbmNlIE1vY2tQYWdlT3ZlcmxheUNsaWVu
dCBoYXMgcmVmZXJlbmNlcyB0byBNb2NrUGFnZU92ZXJsYXlzLCBub3QgdG8gUGFnZU92ZXJsYXlz
LgotICAgIC8vIEFsc28sIGl0ZXJhdGluZyBvdmVyIGEgc2V0IHdoaWxlIG1vZGlmeWluZyBpdCBp
cyBub3QgZ29vZC4KLSAgICBmb3IgKGF1dG8mIG1vY2tPdmVybGF5IDogbV9vdmVybGF5cykgewot
ICAgICAgICBpZiAobW9ja092ZXJsYXktPm92ZXJsYXkoKSA9PSAmb3ZlcmxheSkgewotICAgICAg
ICAgICAgbV9vdmVybGF5cy5yZW1vdmUobW9ja092ZXJsYXkpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0gICAgfQotfQotCiB2b2lkIE1vY2tQYWdlT3ZlcmxheUNsaWVudDo6d2ls
bE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKikKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuaAkocmV2aXNpb24gMjAwNDc3
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDksNyArNDksNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+TW9ja1Bh
Z2VPdmVybGF5Q2xpZW50KCkgeyB9CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBwYWdlT3ZlcmxheURl
c3Ryb3llZChQYWdlT3ZlcmxheSYpIG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbE1vdmVUb1BhZ2Uo
UGFnZU92ZXJsYXkmLCBQYWdlKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRNb3ZlVG9QYWdlKFBh
Z2VPdmVybGF5JiwgUGFnZSopIG92ZXJyaWRlOwogICAgIHZvaWQgZHJhd1JlY3QoUGFnZU92ZXJs
YXkmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpIG92ZXJyaWRl
OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjAwNDk4KQorKysgU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTYtMDUtMDUgIEpvaG4g
V2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNz
YXJ5IFBhZ2VPdmVybGF5IGNsaWVudCBmdW5jdGlvbiBwYWdlT3ZlcmxheURlc3Ryb3llZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3Mzg4CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yNTQ3MTUyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VPdmVybGF5Q2xp
ZW50SW1wbDo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL1BERi9QREZQbHVnaW4ubW06CisgICAgICAgIChXZWJLaXQ6OlBERlBsdWdpbjo6SFVEOjpw
YWdlT3ZlcmxheURlc3Ryb3llZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6Oldl
Ykluc3BlY3RvckNsaWVudDo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmg6CisgICAgICAgIChXZWJLaXQ6OkZpbmRD
b250cm9sbGVyOjpwYWdlT3ZlcmxheURlc3Ryb3llZCk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZU92ZXJs
YXk6OnBhZ2VPdmVybGF5RGVzdHJveWVkKTogRGVsZXRlZC4KKyAgICAgICAgICAgIE9ubHkgV2Vi
UGFnZU92ZXJsYXkncyBjb25zdHJ1Y3RvciBjcmVhdGVzIGl0cyBQYWdlT3ZlcmxheSBvYmplY3Qg
YW5kIGFkZHMgaXQgdG8gdGhlIGhhc2ggbWFwLgorICAgICAgICAgICAgSXRzIGNsaWVudCBvYmpl
Y3QgaXMga2VwdCBpbiBhIHVuaXF1ZSBwb2ludGVyIG1lbWJlciB3aGljaCBpcyBhdXRvbWF0aWNh
bGx5IGRlbGV0ZWQgd2hlbiB0aGUKKyAgICAgICAgICAgIFdlYlBhZ2VPdmVybGF5IG9iamVjdCBp
dHNlbGYgaXMgZGVsZXRlZC4gRmluYWxseSwgV2ViUGFnZU92ZXJsYXkncyBkZXN0cnVjdG9yIGNs
ZWFycyAKKyAgICAgICAgICAgIHRoZSBoYXNoIG1hcCBlbnRyeSBmb3IgaXRzIFBhZ2VPdmVybGF5
IG9iamVjdC4gVGh1cywgdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsCisgICAgICAgICAgICBXZWJQ
YWdlT3ZlcmxheTo6cGFnZU92ZXJsYXlEZXN0cm95ZWQgbm9yIGEgbmVlZCBmb3IgV2ViUGFnZU92
ZXJsYXkncyBkZXN0cnVjdG9yIHRvIGNhbGwKKyAgICAgICAgICAgIHBhZ2VPdmVybGF5RGVzdHJv
eWVkIG9uIGl0cyBjbGllbnQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9GaW5k
SW5kaWNhdG9yT3ZlcmxheUNsaWVudElPUy5oOgorICAgICAgICAoV2ViS2l0OjpGaW5kSW5kaWNh
dG9yT3ZlcmxheUNsaWVudElPUzo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorCiAy
MDE2LTA1LTA1ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIEFkZCBDU1MgR3JpZCBMYXlvdXQgYXMgZXhwZXJpbWVudGFsIGZlYXR1cmUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlT3ZlcmxheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcAkocmV2aXNp
b24gMjAwNDc3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsMTEgKzcw
LDYgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIFdlYlBhZ2VPdmVybGF5OjpDbGllbnQu
Ci0gICAgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChXZWJQYWdlT3ZlcmxheSYpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBkZWxldGUgdGhpczsKLSAgICB9Ci0KICAgICB2b2lkIHdpbGxNb3Zl
VG9QYWdlKFdlYlBhZ2VPdmVybGF5JiBwYWdlT3ZlcmxheSwgV2ViUGFnZSogcGFnZSkgb3ZlcnJp
ZGUKICAgICB7CiAgICAgICAgIGlmICghbV9jbGllbnQud2lsbE1vdmVUb1BhZ2UpCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgJ
KHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw3ICsyNjIsNiBAQCBwcml2YXRl
OgogICAgICAgICB2b2lkIHNldFZpc2libGUoYm9vbCwgQW5pbWF0ZVZpc2liaWxpdHlUcmFuc2l0
aW9uKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgcGFnZU92ZXJsYXlEZXN0cm95ZWQo
V2ViQ29yZTo6UGFnZU92ZXJsYXkmKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCB3aWxsTW92ZVRv
UGFnZShXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZTsKICAg
ICAgICAgdm9pZCBkaWRNb3ZlVG9QYWdlKFdlYkNvcmU6OlBhZ2VPdmVybGF5JiwgV2ViQ29yZTo6
UGFnZSopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRyYXdSZWN0KFdlYkNvcmU6OlBhZ2VPdmVy
bGF5JiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
ZGlydHlSZWN0KSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTY0OCwxMCArMTY0OCw2IEBAIFBERlBsdWdpbjo6SFVEOjp+SFVEKCkKICAgICBt
YWluRnJhbWUucGFnZU92ZXJsYXlDb250cm9sbGVyKCkudW5pbnN0YWxsUGFnZU92ZXJsYXkobV9v
dmVybGF5LnB0cigpLCBQYWdlT3ZlcmxheTo6RmFkZU1vZGU6OkRvTm90RmFkZSk7CiB9CiAKLXZv
aWQgUERGUGx1Z2luOjpIVUQ6OnBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikKLXsK
LX0KLQogdm9pZCBQREZQbHVnaW46OkhVRDo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQ
YWdlKiBwYWdlKQogewogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAkocmV2
aXNpb24gMjAwNDc3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsMTAgKzE5Nyw2
IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjplbGVtZW50U2VsZWN0aW8KICAgICBtX3BhZ2Ut
Pmluc3BlY3RvcigpLT5lbGVtZW50U2VsZWN0aW9uQ2hhbmdlZChhY3RpdmUpOwogfQogCi12b2lk
IFdlYkluc3BlY3RvckNsaWVudDo6cGFnZU92ZXJsYXlEZXN0cm95ZWQoUGFnZU92ZXJsYXkmKQot
ewotfQotCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJs
YXkmLCBQYWdlKiBwYWdlKQogewogICAgIGlmIChwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
Miw3ICs3Miw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzaG93UGFpbnRSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYpIG92ZXJyaWRlOwogCiAgICAgLy8gUGFnZU92ZXJsYXk6OkNsaWVudAot
ICAgIHZvaWQgcGFnZU92ZXJsYXlEZXN0cm95ZWQoV2ViQ29yZTo6UGFnZU92ZXJsYXkmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHdpbGxNb3ZlVG9QYWdlKFdlYkNvcmU6OlBhZ2VPdmVybGF5JiwgV2Vi
Q29yZTo6UGFnZSopIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkTW92ZVRvUGFnZShXZWJDb3JlOjpQ
YWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZTsKICAgICB2b2lkIGRyYXdSZWN0
KFdlYkNvcmU6OlBhZ2VPdmVybGF5JiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMDA0
NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjMsMTAgKzQyMyw2IEBAIFZlY3RvcjxJbnRSZWN0PiBG
aW5kQ29udHJvbGxlcjo6cmVjdHNGb3IKICAgICByZXR1cm4gcmVjdHM7CiB9CiAKLXZvaWQgRmlu
ZENvbnRyb2xsZXI6OnBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikKLXsKLX0KLQog
dm9pZCBGaW5kQ29udHJvbGxlcjo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKiBw
YWdlKQogewogICAgIGlmIChwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC03Myw3ICs3Myw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBQYWdl
T3ZlcmxheTo6Q2xpZW50LgotICAgIHZpcnR1YWwgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChX
ZWJDb3JlOjpQYWdlT3ZlcmxheSYpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRvUGFnZShX
ZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkTW92ZVRvUGFnZShXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKTsKICAg
ICB2aXJ0dWFsIGJvb2wgbW91c2VFdmVudChXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudCYpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZU92ZXJsYXkuY3BwCShyZXZpc2lvbiAyMDA0
NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZU92ZXJsYXku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCwxNiArODQsNiBAQCB2b2lkIFdlYlBhZ2VPdmVybGF5
OjpjbGVhcigpCiAgICAgbV9vdmVybGF5LT5jbGVhcigpOwogfQogCi12b2lkIFdlYlBhZ2VPdmVy
bGF5OjpwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYpCi17Ci0gICAgaWYgKG1fb3Zl
cmxheSkgewotICAgICAgICBvdmVybGF5TWFwKCkucmVtb3ZlKG1fb3ZlcmxheS5nZXQoKSk7Ci0g
ICAgICAgIG1fb3ZlcmxheSA9IG51bGxwdHI7Ci0gICAgfQotCi0gICAgbV9jbGllbnQtPnBhZ2VP
dmVybGF5RGVzdHJveWVkKCp0aGlzKTsKLX0KLQogdm9pZCBXZWJQYWdlT3ZlcmxheTo6d2lsbE1v
dmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKiBwYWdlKQogewogICAgIG1fY2xpZW50LT53aWxs
TW92ZVRvUGFnZSgqdGhpcywgcGFnZSA/IFdlYlBhZ2U6OmZyb21Db3JlUGFnZShwYWdlKSA6IG51
bGxwdHIpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VP
dmVybGF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2VPdmVybGF5LmgJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlT3ZlcmxheS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3
ICs0Nyw2IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgp
IHsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChXZWJQYWdl
T3ZlcmxheSYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9QYWdlKFdlYlBh
Z2VPdmVybGF5JiwgV2ViUGFnZSopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZE1vdmVU
b1BhZ2UoV2ViUGFnZU92ZXJsYXkmLCBXZWJQYWdlKikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgZHJhd1JlY3QoV2ViUGFnZU92ZXJsYXkmLCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBkaXJ0eVJlY3QpID0gMDsKQEAgLTg5LDcgKzg4LDYgQEAg
cHJpdmF0ZToKICAgICBXZWJQYWdlT3ZlcmxheShzdGQ6OnVuaXF1ZV9wdHI8Q2xpZW50PiwgV2Vi
Q29yZTo6UGFnZU92ZXJsYXk6Ok92ZXJsYXlUeXBlKTsKIAogICAgIC8vIFdlYkNvcmU6OlBhZ2VP
dmVybGF5OjpDbGllbnQKLSAgICB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVkKFdlYkNvcmU6OlBh
Z2VPdmVybGF5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsTW92ZVRvUGFnZShXZWJDb3JlOjpQ
YWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZE1vdmVU
b1BhZ2UoV2ViQ29yZTo6UGFnZU92ZXJsYXkmLCBXZWJDb3JlOjpQYWdlKikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBkcmF3UmVjdChXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCkgb3ZlcnJpZGU7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL0ZpbmRJbmRpY2F0b3JP
dmVybGF5Q2xpZW50SU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2lvcy9GaW5kSW5kaWNhdG9yT3ZlcmxheUNsaWVudElPUy5oCShyZXZpc2lvbiAy
MDA0NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL0ZpbmRJbmRp
Y2F0b3JPdmVybGF5Q2xpZW50SU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAg
cHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVk
KFdlYkNvcmU6OlBhZ2VPdmVybGF5Jikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCB3aWxsTW92ZVRv
UGFnZShXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZSB7IH0K
ICAgICB2b2lkIGRpZE1vdmVUb1BhZ2UoV2ViQ29yZTo6UGFnZU92ZXJsYXkmLCBXZWJDb3JlOjpQ
YWdlKikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCBkcmF3UmVjdChXZWJDb3JlOjpQYWdlT3Zlcmxh
eSYsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRp
cnR5UmVjdCkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278254</attachid>
            <date>2016-05-06 11:07:21 -0700</date>
            <delta_ts>2016-05-20 14:16:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157388-20160506110803.patch</filename>
            <type>text/plain</type>
            <size>17233</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE2LTA1LTA2ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBQYWdlT3ZlcmxheSBjbGllbnQgZnVuY3Rpb24gcGFnZU92ZXJsYXlEZXN0cm95ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzM4OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjU0NzE1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIGRlYWQgUGFnZU92ZXJsYXkgY29kZS4gQWxtb3N0
IGFsbCBvZiB0aGVzZSBvdmVycmlkZXMgd2VyZSBlbXB0eSBhbmQKKyAgICAgICAgbmV2ZXIgY2Fs
bGVkLiBJbiB0aGUgY2FzZSBvZiBXZWJQYWdlT3ZlcmxheSBpdCB3YXMgbmV2ZXIgY2FsbGVkIGJ1
dCBoYWQgYQorICAgICAgICBmdW5jdGlvbiBib2R5LCBjYXVzaW5nIGNvbmZ1c2lvbi4gVGhlcmUg
d2FzIGEgZmVhciBvZiBkYW5nbGluZyBwb2ludGVycyBpbgorICAgICAgICBXZWJQYWdlT3Zlcmxh
eSdzIHN0YXRpYyBoYXNoIG1hcCBiZXR3ZWVuIFBhZ2VPdmVybGF5cyBhbmQgV2ViUGFnZU92ZXJs
YXlzLgorICAgICAgICBPbmx5IFdlYlBhZ2VPdmVybGF5J3MgY29uc3RydWN0b3IgY3JlYXRlcyBp
dHMgUGFnZU92ZXJsYXkgb2JqZWN0IGFuZCBhZGRzIGl0CisgICAgICAgIHRvIHRoZSBoYXNoIG1h
cC4gSXRzIGNsaWVudCBvYmplY3QgaXMga2VwdCBpbiBhIHVuaXF1ZSBwb2ludGVyIG1lbWJlciB3
aGljaAorICAgICAgICBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQgd2hlbiB0aGUgV2ViUGFnZU92
ZXJsYXkgb2JqZWN0IGl0c2VsZiBpcyBkZWxldGVkLgorICAgICAgICBUaGlzIGV4cGxhaW5zIHdo
eSBQYWdlT3ZlcmxheUNsaWVudEltcGw6OnBhZ2VPdmVybGF5RGVzdHJveWVkIGluCisgICAgICAg
IFdLQnVuZGxlUGFnZU92ZXJsYXkgY2FuIHNhZmVseSBiZSByZW1vdmVkLiBGaW5hbGx5LCBXZWJQ
YWdlT3ZlcmxheSdzCisgICAgICAgIGRlc3RydWN0b3IgY2xlYXJzIHRoZSBoYXNoIG1hcCBlbnRy
eSBmb3IgaXRzIFBhZ2VPdmVybGF5IG9iamVjdC4gVGh1cywgdGhlcmUKKyAgICAgICAgaXMgbm8g
bmVlZCB0byBjYWxsIFdlYlBhZ2VPdmVybGF5OjpwYWdlT3ZlcmxheURlc3Ryb3llZCBub3IgYSBu
ZWVkIGZvcgorICAgICAgICBXZWJQYWdlT3ZlcmxheSdzIGRlc3RydWN0b3IgdG8gY2FsbCBwYWdl
T3ZlcmxheURlc3Ryb3llZCBvbiBpdHMgY2xpZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
SSB0cmllZCB0byBjb21lIHVwIHdpdGggYSBXZWJLaXQgQVBJIHRlc3QgZm9yIHRoaXMgYnV0IEkK
KyAgICAgICAgd2Fzbid0IGFibGUgdG8gdGVzdCBwcmVzZW5jZS9hYnNlbmNlIG9mIFdlYlBhZ2VP
dmVybGF5J3MgbWFwIGVudHJpZXMgc2luY2UKKyAgICAgICAgdGhlIG1hcCBpcyBub3QgZXhwb3Nl
ZC4KKworICAgICAgICAqIHBhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVnaW9uT3ZlcmxheTo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorICAg
ICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VPdmVybGF5
OjpDbGllbnQ6OnBhZ2VPdmVybGF5RGVzdHJveWVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1Jlc291cmNlVXNhZ2VPdmVybGF5Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdl
T3ZlcmxheTo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2Uv
bWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorICAgICAgICAq
IHRlc3RpbmcvTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcDoKKyAgICAgICAgKiB0ZXN0aW5nL01v
Y2tQYWdlT3ZlcmxheUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BhZ2VPdmVybGF5
Q2xpZW50OjpwYWdlT3ZlcmxheURlc3Ryb3llZCk6IERlbGV0ZWQuCisKIDIwMTYtMDUtMDUgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgaU9TIGRlYnVnIGJ1aWxk
IGZpeCBhZnRlciByMjAwNDY0LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VP
dmVybGF5cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VP
dmVybGF5cy5jcHAJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRGVi
dWdQYWdlT3ZlcmxheXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw2IEBAIHByb3Rl
Y3RlZDoKICAgICBSZWdpb25PdmVybGF5KE1haW5GcmFtZSYsIENvbG9yKTsKIAogcHJpdmF0ZToK
LSAgICB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikgZmluYWw7CiAgICAg
dm9pZCB3aWxsTW92ZVRvUGFnZShQYWdlT3ZlcmxheSYsIFBhZ2UqKSBmaW5hbDsKICAgICB2b2lk
IGRpZE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKikgZmluYWw7CiAgICAgdm9pZCBkcmF3
UmVjdChQYWdlT3ZlcmxheSYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGRpcnR5
UmVjdCkgZmluYWw7CkBAIC0xNjYsMTAgKzE2NSw2IEBAIFJlZ2lvbk92ZXJsYXk6On5SZWdpb25P
dmVybGF5KCkKICAgICAgICAgbV9mcmFtZS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS51bmluc3Rh
bGxQYWdlT3ZlcmxheShtX292ZXJsYXkuZ2V0KCksIFBhZ2VPdmVybGF5OjpGYWRlTW9kZTo6RG9O
b3RGYWRlKTsKIH0KIAotdm9pZCBSZWdpb25PdmVybGF5OjpwYWdlT3ZlcmxheURlc3Ryb3llZChQ
YWdlT3ZlcmxheSYpCi17Ci19Ci0KIHZvaWQgUmVnaW9uT3ZlcmxheTo6d2lsbE1vdmVUb1BhZ2Uo
UGFnZU92ZXJsYXkmLCBQYWdlKiBwYWdlKQogewogICAgIGlmICghcGFnZSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VPdmVybGF5LmgJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZU92ZXJsYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNiBAQCBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgpIHsgfQogICAgIAogICAgIHB1YmxpYzoKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikgPSAw
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdl
KikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkTW92ZVRvUGFnZShQYWdlT3ZlcmxheSYs
IFBhZ2UqKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkcmF3UmVjdChQYWdlT3ZlcmxheSYs
IEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkgPSAwOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlT3ZlcmxheS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZU92ZXJsYXkuaAkocmV2aXNpb24gMjAw
NDc3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlT3ZlcmxheS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Miw3ICs2Miw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgaW50
IG5vcm1hbEhlaWdodCA9IDE2MDsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhZ2VPdmVybGF5RGVz
dHJveWVkKFBhZ2VPdmVybGF5Jikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCB3aWxsTW92ZVRvUGFn
ZShQYWdlT3ZlcmxheSYsIFBhZ2UqKSBvdmVycmlkZSB7IH0KICAgICB2b2lkIGRpZE1vdmVUb1Bh
Z2UoUGFnZU92ZXJsYXkmLCBQYWdlKikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCBkcmF3UmVjdChQ
YWdlT3ZlcmxheSYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmKSBvdmVycmlkZSB7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyLmgJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtOTcsNyAr
OTcsNiBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICAvLyBQYWdlT3ZlcmxheTo6Q2xpZW50Ci0g
ICAgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYpIG92ZXJyaWRlOwogICAg
IHZvaWQgd2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBkaWRNb3ZlVG9QYWdlKFBhZ2VPdmVybGF5JiwgUGFnZSopIG92ZXJyaWRlOwogICAgIHZv
aWQgZHJhd1JlY3QoUGFnZU92ZXJsYXkmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBJbnRSZWN0
JiBkaXJ0eVJlY3QpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyMDA0NzcpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjEsMTMgKzIyMSw2IEBAIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXI6On5TZXJ2aWNlc092ZXIKICAgICAgICAgaGlnaGxpZ2h0LT5pbnZhbGlkYXRlKCk7CiB9CiAK
LXZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cGFnZU92ZXJsYXlEZXN0cm95ZWQoUGFn
ZU92ZXJsYXkmKQotewotICAgIC8vIEJlZm9yZSB0aGUgb3ZlcmxheSBpcyBkZXN0cm95ZWQsIGl0
IHNob3VsZCBoYXZlIG1vdmVkIG91dCBvZiB0aGUgUGFnZSwKLSAgICAvLyBhdCB3aGljaCBwb2lu
dCB3ZSBhbHJlYWR5IGNsZWFyZWQgb3VyIGJhY2sgcG9pbnRlci4KLSAgICBBU1NFUlQoIW1fc2Vy
dmljZXNPdmVybGF5KTsKLX0KLQogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjp3aWxs
TW92ZVRvUGFnZShQYWdlT3ZlcmxheSYsIFBhZ2UqIHBhZ2UpCiB7CiAgICAgaWYgKHBhZ2UpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQu
Y3BwCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdl
T3ZlcmxheUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDE5ICs3Myw2IEBAIFN0cmlu
ZyBNb2NrUGFnZU92ZXJsYXlDbGllbnQ6OmxheWVyVHJlZUEKICAgICByZXR1cm4gIlZpZXctcmVs
YXRpdmU6XG4iICsgbWFpbkZyYW1lLnBhZ2VPdmVybGF5Q29udHJvbGxlcigpLnZpZXdPdmVybGF5
Um9vdExheWVyKCkubGF5ZXJUcmVlQXNUZXh0KExheWVyVHJlZUFzVGV4dEluY2x1ZGVQYWdlT3Zl
cmxheUxheWVycykgKyAiXG5cbkRvY3VtZW50LXJlbGF0aXZlOlxuIiArIG1haW5GcmFtZS5wYWdl
T3ZlcmxheUNvbnRyb2xsZXIoKS5kb2N1bWVudE92ZXJsYXlSb290TGF5ZXIoKS5sYXllclRyZWVB
c1RleHQoTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVBhZ2VPdmVybGF5TGF5ZXJzKTsKIH0KIAotdm9p
ZCBNb2NrUGFnZU92ZXJsYXlDbGllbnQ6OnBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5
JiBvdmVybGF5KQotewotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGRlYWQgY29kZSwgbm90aGluZyBl
dmVyIGNhbGxzIHRoaXMgZnVuY3Rpb24uIEl0J3Mgbm90IGNsZWFyIHRvIG1lIHdoYXQgdGhlIGlu
dGVudGlvbiB3YXMsCi0gICAgLy8gc2luY2UgTW9ja1BhZ2VPdmVybGF5Q2xpZW50IGhhcyByZWZl
cmVuY2VzIHRvIE1vY2tQYWdlT3ZlcmxheXMsIG5vdCB0byBQYWdlT3ZlcmxheXMuCi0gICAgLy8g
QWxzbywgaXRlcmF0aW5nIG92ZXIgYSBzZXQgd2hpbGUgbW9kaWZ5aW5nIGl0IGlzIG5vdCBnb29k
LgotICAgIGZvciAoYXV0byYgbW9ja092ZXJsYXkgOiBtX292ZXJsYXlzKSB7Ci0gICAgICAgIGlm
IChtb2NrT3ZlcmxheS0+b3ZlcmxheSgpID09ICZvdmVybGF5KSB7Ci0gICAgICAgICAgICBtX292
ZXJsYXlzLnJlbW92ZShtb2NrT3ZlcmxheSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLSAgICB9Ci19Ci0KIHZvaWQgTW9ja1BhZ2VPdmVybGF5Q2xpZW50Ojp3aWxsTW92ZVRvUGFn
ZShQYWdlT3ZlcmxheSYsIFBhZ2UqKQogewogfQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGFnZU92ZXJsYXlDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYWdlT3ZlcmxheUNsaWVudC5oCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheUNsaWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Nb2NrUGFnZU92ZXJsYXlD
bGllbnQoKSB7IH0KIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVkKFBh
Z2VPdmVybGF5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsTW92ZVRvUGFnZShQYWdlT3Zlcmxh
eSYsIFBhZ2UqKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkm
LCBQYWdlKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkcmF3UmVjdChQYWdlT3ZlcmxheSYsIEdyYXBo
aWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkgb3ZlcnJpZGU7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDA0OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSw0NSBAQAorMjAxNi0wNS0wNiAgSm9obiBXaWxhbmRlciAg
PHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgUGFnZU92
ZXJsYXkgY2xpZW50IGZ1bmN0aW9uIHBhZ2VPdmVybGF5RGVzdHJveWVkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzI1NDcxNTIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZSBkZWFkIFBhZ2VPdmVybGF5IGNvZGUuIEFsbW9zdCBhbGwgb2Yg
dGhlc2Ugb3ZlcnJpZGVzIHdlcmUgZW1wdHkgYW5kCisgICAgICAgIG5ldmVyIGNhbGxlZC4gSW4g
dGhlIGNhc2Ugb2YgV2ViUGFnZU92ZXJsYXkgaXQgd2FzIG5ldmVyIGNhbGxlZCBidXQgaGFkIGEK
KyAgICAgICAgZnVuY3Rpb24gYm9keSwgY2F1c2luZyBjb25mdXNpb24uIFRoZXJlIHdhcyBhIGZl
YXIgb2YgZGFuZ2xpbmcgcG9pbnRlcnMgaW4KKyAgICAgICAgV2ViUGFnZU92ZXJsYXkncyBzdGF0
aWMgaGFzaCBtYXAgYmV0d2VlbiBQYWdlT3ZlcmxheXMgYW5kIFdlYlBhZ2VPdmVybGF5cy4KKyAg
ICAgICAgT25seSBXZWJQYWdlT3ZlcmxheSdzIGNvbnN0cnVjdG9yIGNyZWF0ZXMgaXRzIFBhZ2VP
dmVybGF5IG9iamVjdCBhbmQgYWRkcyBpdAorICAgICAgICB0byB0aGUgaGFzaCBtYXAuIEl0cyBj
bGllbnQgb2JqZWN0IGlzIGtlcHQgaW4gYSB1bmlxdWUgcG9pbnRlciBtZW1iZXIgd2hpY2gKKyAg
ICAgICAgaXMgYXV0b21hdGljYWxseSBkZWxldGVkIHdoZW4gdGhlIFdlYlBhZ2VPdmVybGF5IG9i
amVjdCBpdHNlbGYgaXMgZGVsZXRlZC4KKyAgICAgICAgVGhpcyBleHBsYWlucyB3aHkgUGFnZU92
ZXJsYXlDbGllbnRJbXBsOjpwYWdlT3ZlcmxheURlc3Ryb3llZCBpbgorICAgICAgICBXS0J1bmRs
ZVBhZ2VPdmVybGF5IGNhbiBzYWZlbHkgYmUgcmVtb3ZlZC4gRmluYWxseSwgV2ViUGFnZU92ZXJs
YXkncworICAgICAgICBkZXN0cnVjdG9yIGNsZWFycyB0aGUgaGFzaCBtYXAgZW50cnkgZm9yIGl0
cyBQYWdlT3ZlcmxheSBvYmplY3QuIFRodXMsIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgdG8g
Y2FsbCBXZWJQYWdlT3ZlcmxheTo6cGFnZU92ZXJsYXlEZXN0cm95ZWQgbm9yIGEgbmVlZCBmb3IK
KyAgICAgICAgV2ViUGFnZU92ZXJsYXkncyBkZXN0cnVjdG9yIHRvIGNhbGwgcGFnZU92ZXJsYXlE
ZXN0cm95ZWQgb24gaXRzIGNsaWVudC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEkgdHJpZWQg
dG8gY29tZSB1cCB3aXRoIGEgV2ViS2l0IEFQSSB0ZXN0IGZvciB0aGlzIGJ1dCBJCisgICAgICAg
IHdhc24ndCBhYmxlIHRvIHRlc3QgcHJlc2VuY2UvYWJzZW5jZSBvZiBXZWJQYWdlT3ZlcmxheSdz
IG1hcCBlbnRyaWVzIHNpbmNlCisgICAgICAgIHRoZSBtYXAgaXMgbm90IGV4cG9zZWQuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZU92ZXJs
YXkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlT3ZlcmxheUNsaWVudEltcGw6OnBhZ2VPdmVy
bGF5RGVzdHJveWVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUERG
L1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2lu
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OkhVRDo6cGFnZU92ZXJsYXlEZXN0cm95
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JDbGllbnQ6
OnBhZ2VPdmVybGF5RGVzdHJveWVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kQ29udHJvbGxlci5oOgorICAgICAgICAoV2ViS2l0OjpGaW5kQ29udHJvbGxlcjo6cGFnZU92
ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlT3ZlcmxheS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VP
dmVybGF5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VPdmVybGF5OjpwYWdlT3ZlcmxheURl
c3Ryb3llZCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9GaW5k
SW5kaWNhdG9yT3ZlcmxheUNsaWVudElPUy5oOgorICAgICAgICAoV2ViS2l0OjpGaW5kSW5kaWNh
dG9yT3ZlcmxheUNsaWVudElPUzo6cGFnZU92ZXJsYXlEZXN0cm95ZWQpOiBEZWxldGVkLgorCiAy
MDE2LTA1LTA1ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIEFkZCBDU1MgR3JpZCBMYXlvdXQgYXMgZXhwZXJpbWVudGFsIGZlYXR1cmUK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlT3ZlcmxheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcAkocmV2aXNp
b24gMjAwNDc3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsMTEgKzcw
LDYgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIFdlYlBhZ2VPdmVybGF5OjpDbGllbnQu
Ci0gICAgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChXZWJQYWdlT3ZlcmxheSYpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBkZWxldGUgdGhpczsKLSAgICB9Ci0KICAgICB2b2lkIHdpbGxNb3Zl
VG9QYWdlKFdlYlBhZ2VPdmVybGF5JiBwYWdlT3ZlcmxheSwgV2ViUGFnZSogcGFnZSkgb3ZlcnJp
ZGUKICAgICB7CiAgICAgICAgIGlmICghbV9jbGllbnQud2lsbE1vdmVUb1BhZ2UpCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgJ
KHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvUERGUGx1Z2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw3ICsyNjIsNiBAQCBwcml2YXRl
OgogICAgICAgICB2b2lkIHNldFZpc2libGUoYm9vbCwgQW5pbWF0ZVZpc2liaWxpdHlUcmFuc2l0
aW9uKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgcGFnZU92ZXJsYXlEZXN0cm95ZWQo
V2ViQ29yZTo6UGFnZU92ZXJsYXkmKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCB3aWxsTW92ZVRv
UGFnZShXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZTsKICAg
ICAgICAgdm9pZCBkaWRNb3ZlVG9QYWdlKFdlYkNvcmU6OlBhZ2VPdmVybGF5JiwgV2ViQ29yZTo6
UGFnZSopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRyYXdSZWN0KFdlYkNvcmU6OlBhZ2VPdmVy
bGF5JiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
ZGlydHlSZWN0KSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTY0OCwxMCArMTY0OCw2IEBAIFBERlBsdWdpbjo6SFVEOjp+SFVEKCkKICAgICBt
YWluRnJhbWUucGFnZU92ZXJsYXlDb250cm9sbGVyKCkudW5pbnN0YWxsUGFnZU92ZXJsYXkobV9v
dmVybGF5LnB0cigpLCBQYWdlT3ZlcmxheTo6RmFkZU1vZGU6OkRvTm90RmFkZSk7CiB9CiAKLXZv
aWQgUERGUGx1Z2luOjpIVUQ6OnBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikKLXsK
LX0KLQogdm9pZCBQREZQbHVnaW46OkhVRDo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQ
YWdlKiBwYWdlKQogewogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAkocmV2
aXNpb24gMjAwNDc3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTcsMTAgKzE5Nyw2
IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjplbGVtZW50U2VsZWN0aW8KICAgICBtX3BhZ2Ut
Pmluc3BlY3RvcigpLT5lbGVtZW50U2VsZWN0aW9uQ2hhbmdlZChhY3RpdmUpOwogfQogCi12b2lk
IFdlYkluc3BlY3RvckNsaWVudDo6cGFnZU92ZXJsYXlEZXN0cm95ZWQoUGFnZU92ZXJsYXkmKQot
ewotfQotCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJs
YXkmLCBQYWdlKiBwYWdlKQogewogICAgIGlmIChwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oCShyZXZpc2lvbiAyMDA0NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
Miw3ICs3Miw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzaG93UGFpbnRSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYpIG92ZXJyaWRlOwogCiAgICAgLy8gUGFnZU92ZXJsYXk6OkNsaWVudAot
ICAgIHZvaWQgcGFnZU92ZXJsYXlEZXN0cm95ZWQoV2ViQ29yZTo6UGFnZU92ZXJsYXkmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHdpbGxNb3ZlVG9QYWdlKFdlYkNvcmU6OlBhZ2VPdmVybGF5JiwgV2Vi
Q29yZTo6UGFnZSopIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkTW92ZVRvUGFnZShXZWJDb3JlOjpQ
YWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZTsKICAgICB2b2lkIGRyYXdSZWN0
KFdlYkNvcmU6OlBhZ2VPdmVybGF5JiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMDA0
NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjMsMTAgKzQyMyw2IEBAIFZlY3RvcjxJbnRSZWN0PiBG
aW5kQ29udHJvbGxlcjo6cmVjdHNGb3IKICAgICByZXR1cm4gcmVjdHM7CiB9CiAKLXZvaWQgRmlu
ZENvbnRyb2xsZXI6OnBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikKLXsKLX0KLQog
dm9pZCBGaW5kQ29udHJvbGxlcjo6d2lsbE1vdmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKiBw
YWdlKQogewogICAgIGlmIChwYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC03Myw3ICs3Myw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBQYWdl
T3ZlcmxheTo6Q2xpZW50LgotICAgIHZpcnR1YWwgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChX
ZWJDb3JlOjpQYWdlT3ZlcmxheSYpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRvUGFnZShX
ZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkTW92ZVRvUGFnZShXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKTsKICAg
ICB2aXJ0dWFsIGJvb2wgbW91c2VFdmVudChXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudCYpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2VPdmVybGF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZU92ZXJsYXkuY3BwCShyZXZpc2lvbiAyMDA0
NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZU92ZXJsYXku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCwxNiArODQsNiBAQCB2b2lkIFdlYlBhZ2VPdmVybGF5
OjpjbGVhcigpCiAgICAgbV9vdmVybGF5LT5jbGVhcigpOwogfQogCi12b2lkIFdlYlBhZ2VPdmVy
bGF5OjpwYWdlT3ZlcmxheURlc3Ryb3llZChQYWdlT3ZlcmxheSYpCi17Ci0gICAgaWYgKG1fb3Zl
cmxheSkgewotICAgICAgICBvdmVybGF5TWFwKCkucmVtb3ZlKG1fb3ZlcmxheS5nZXQoKSk7Ci0g
ICAgICAgIG1fb3ZlcmxheSA9IG51bGxwdHI7Ci0gICAgfQotCi0gICAgbV9jbGllbnQtPnBhZ2VP
dmVybGF5RGVzdHJveWVkKCp0aGlzKTsKLX0KLQogdm9pZCBXZWJQYWdlT3ZlcmxheTo6d2lsbE1v
dmVUb1BhZ2UoUGFnZU92ZXJsYXkmLCBQYWdlKiBwYWdlKQogewogICAgIG1fY2xpZW50LT53aWxs
TW92ZVRvUGFnZSgqdGhpcywgcGFnZSA/IFdlYlBhZ2U6OmZyb21Db3JlUGFnZShwYWdlKSA6IG51
bGxwdHIpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VP
dmVybGF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2VPdmVybGF5LmgJKHJldmlzaW9uIDIwMDQ3NykKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlT3ZlcmxheS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3
ICs0Nyw2IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgp
IHsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwYWdlT3ZlcmxheURlc3Ryb3llZChXZWJQYWdl
T3ZlcmxheSYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9QYWdlKFdlYlBh
Z2VPdmVybGF5JiwgV2ViUGFnZSopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZE1vdmVU
b1BhZ2UoV2ViUGFnZU92ZXJsYXkmLCBXZWJQYWdlKikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgZHJhd1JlY3QoV2ViUGFnZU92ZXJsYXkmLCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBkaXJ0eVJlY3QpID0gMDsKQEAgLTg5LDcgKzg4LDYgQEAg
cHJpdmF0ZToKICAgICBXZWJQYWdlT3ZlcmxheShzdGQ6OnVuaXF1ZV9wdHI8Q2xpZW50PiwgV2Vi
Q29yZTo6UGFnZU92ZXJsYXk6Ok92ZXJsYXlUeXBlKTsKIAogICAgIC8vIFdlYkNvcmU6OlBhZ2VP
dmVybGF5OjpDbGllbnQKLSAgICB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVkKFdlYkNvcmU6OlBh
Z2VPdmVybGF5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsTW92ZVRvUGFnZShXZWJDb3JlOjpQ
YWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZE1vdmVU
b1BhZ2UoV2ViQ29yZTo6UGFnZU92ZXJsYXkmLCBXZWJDb3JlOjpQYWdlKikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBkcmF3UmVjdChXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCkgb3ZlcnJpZGU7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL0ZpbmRJbmRpY2F0b3JP
dmVybGF5Q2xpZW50SU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2lvcy9GaW5kSW5kaWNhdG9yT3ZlcmxheUNsaWVudElPUy5oCShyZXZpc2lvbiAy
MDA0NzcpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL0ZpbmRJbmRp
Y2F0b3JPdmVybGF5Q2xpZW50SU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDYgQEAg
cHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVk
KFdlYkNvcmU6OlBhZ2VPdmVybGF5Jikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCB3aWxsTW92ZVRv
UGFnZShXZWJDb3JlOjpQYWdlT3ZlcmxheSYsIFdlYkNvcmU6OlBhZ2UqKSBvdmVycmlkZSB7IH0K
ICAgICB2b2lkIGRpZE1vdmVUb1BhZ2UoV2ViQ29yZTo6UGFnZU92ZXJsYXkmLCBXZWJDb3JlOjpQ
YWdlKikgb3ZlcnJpZGUgeyB9CiAgICAgdm9pZCBkcmF3UmVjdChXZWJDb3JlOjpQYWdlT3Zlcmxh
eSYsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRp
cnR5UmVjdCkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>