<?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>173441</bug_id>
          
          <creation_ts>2017-06-15 14:33:29 -0700</creation_ts>
          <short_desc>Null deref under ViewGestureController::endSwipeGesture (navigationGestureDidEnd)</short_desc>
          <delta_ts>2017-06-15 20:27:19 -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>New Bugs</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>bdakin</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1319716</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-15 14:33:29 -0700</bug_when>
    <thetext>Null deref under ViewGestureController::endSwipeGesture (navigationGestureDidEnd)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319718</commentid>
    <comment_count>1</comment_count>
      <attachid>313008</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-15 14:34:35 -0700</bug_when>
    <thetext>Created attachment 313008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319719</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-15 14:35:27 -0700</bug_when>
    <thetext>rdar://problem/25876512</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319733</commentid>
    <comment_count>3</comment_count>
      <attachid>313008</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-15 14:56:44 -0700</bug_when>
    <thetext>Comment on attachment 313008
Patch

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

&gt; Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp:94
&gt; +    static uint64_t nextGestureID = 1;
&gt; +    return nextGestureID++;

Minor preference for nextGestureID = 0; return return ++nextGestureID;

&gt; Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp:106
&gt; +    m_currentGestureID = std::nullopt;

You should use 0 at the &quot;none&quot; gestureID. Cheaper than optional&lt;&gt;

&gt; Source/WebKit2/UIProcess/Cocoa/ViewGestureController.h:140
&gt; +    static ViewGestureController* controllerForGesture(uint64_t pageID, uint64_t gestureID);

Maybe make a typedef for GestureID to avoid the mess we have with pageID, and make code more self-documenting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319835</commentid>
    <comment_count>4</comment_count>
      <attachid>313048</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-15 19:28:14 -0700</bug_when>
    <thetext>Created attachment 313048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319848</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-15 20:27:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/218378/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313008</attachid>
            <date>2017-06-15 14:34:35 -0700</date>
            <delta_ts>2017-06-15 19:28:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173441-20170615143432.patch</filename>
            <type>text/plain</type>
            <size>13062</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDdjN2MyZjdlMzFmM2U0
MTYzNjgwMjE4NzMwYmNmMGY4ZTZiMDczYS4uMTI1MTQ1YjBmZjc3NWU4ZTdmYTI0M2M3YTE3NjFi
NGI0NjViNjk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE3LTA2LTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE51bGwgZGVyZWYg
dW5kZXIgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUgKG5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTczNDQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNTg3NjUxMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3BlY3Vs
YXRpdmUgZml4IGZvciBhIGNyYXNoIHRoYXQgd2UgZG9uJ3QgaGF2ZSByZXBybyBzdGVwcyBmb3Iu
CisKKyAgICAgICAgSW4gYSBmZXcgcGxhY2VzLCBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgbG9va3Mg
aXRzZWxmIHVwIGJ5IHBhZ2VJRCAoaW4gY2FzZXMKKyAgICAgICAgd2hlcmUgd2UncmUgaW4gYW4g
YXN5bmNocm9ub3VzIGNhbGxiYWNrKSwgYW5kIHRoZW4gY2FsbHMgc29tZQorICAgICAgICBmdW5j
dGlvbiBvbiBpdCAoZW5kU3dpcGVHZXN0dXJlLCBvciBzb21ldGhpbmcgdGhhdCB3aWxsIGdldCB0
aGVyZSkuCisgICAgICAgIEhvd2V2ZXIsIGlmIGluIHRoZSBtZWFudGltZSBhbiBBUEkgY2xpZW50
IGhhcyB0dXJuZWQgdGhlIHN3aXBlIGdlc3R1cmUKKyAgICAgICAgb24gYW5kIG9mZiwgdGhlIHBh
Z2UncyBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgd2lsbCBiZSBhIGRpZmZlcmVudCBvbmUKKyAgICAg
ICAgdGhhbiB0aGUgb25lIHRoYXQgb3JpZ2luYWxseSBzdGFydGVkIHRoaXMgcHJvY2Vzcywgd2l0
aCBmcmVzaCBzdGF0ZSwKKyAgICAgICAgYW5kIG51bGxwdHJzIGluIGFsbCBzb3J0cyBvZiBwbGFj
ZXMsIHJpcGUgZm9yIGRlcmVmZXJlbmNpbmcuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIGluc3Rl
YWQgb2YganVzdCBsb29raW5nIFZpZXdHZXN0dXJlQ29udHJvbGxlciB1cCBieSAKKyAgICAgICAg
cGFnZUlELCBhbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgZ2VzdHVyZUlELCBwcm9jZXNz
LXdpZGUgKHByZXZpb3VzbHkKKyAgICAgICAgdGhlIGdlc3R1cmVJRCB3YXMgcGVyLVZpZXdHZXN0
dXJlQ29udHJvbGxlciksIGFuZCBvbmx5wqByZXR1cm4gdGhlCisgICAgICAgIFZpZXdHZXN0dXJl
Q29udHJvbGxlciBpZiBpdCdzIGN1cnJlbnRseSBwcm9jZXNzaW5nIHRoZSBzYW1lIGdlc3R1cmUK
KyAgICAgICAgdGhhdCBzdGFydGVkIHRoZSBhc3luY2hyb25vdXMgdGFzay4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmNvbnRyb2xsZXJGb3JHZXN0dXJlKToKKyAgICAg
ICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjp0YWtlTmV4dEdlc3R1cmVJRCk6Cisg
ICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6d2lsbEJlZ2luR2VzdHVyZSk6
CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkRW5kR2VzdHVyZSk6
CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6Z2VzdHVyZUNvbnRyb2xs
ZXJGb3JQYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmg6CisgICAgICAgIEFkZCBoZWxwZXJzIHRoYXQgc2V0IGFuZCByZXNldCBh
Y3RpdmVHZXN0dXJlVHlwZSBhbmQgY3VycmVudEdlc3R1cmVJRCB0b2dldGhlci4KKyAgICAgICAg
TWFrZSBnZXN0dXJlIElEcyBwcm9jZXNzIGdsb2JhbCwgdG8gYXZvaWQgdHdvIFZpZXdHZXN0dXJl
Q29udHJvbGxlcnMgdXNpbmcgdGhlIHNhbWUgSURzLgorCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3
R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlv
bkdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmhhbmRs
ZU1hZ25pZmljYXRpb25HZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI6OmVuZE1hZ25pZmljYXRpb25HZXN0dXJlKToKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJL
aXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6Zm9yY2VSZXBhaW50SWZOZWVkZWQpOgorICAgICAg
ICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlbW92ZVN3aXBlU25hcHNob3QpOgor
ICAgICAgICBBZG9wdCB3aWxsQmVnaW5HZXN0dXJlL2RpZEVuZEdlc3R1cmUgYW5kIGNvbnRyb2xs
ZXJGb3JHZXN0dXJlLgorCiAyMDE3LTA2LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBVc2UgQVBJOjpJbmplY3RlZEJ1bmRsZTo6
UmVzb3VyY2VMb2FkQ2xpZW50IGluIFdlYktpdFdlYlBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXgg
YzRkMzAwMTBkZDM3Y2FiZWZhNzBkYjI0OTVkZjMxYjRlNzcxNDQzOC4uNjVhZTAyZTAwZDljNWIx
NjliYWNjNGY0YzNiODhmMWI3MjA0NWZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTc3LDEyICs3
NywzMyBAQCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6On5WaWV3R2VzdHVyZUNvbnRyb2xsZXIoKQog
ICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBh
Z2VQcm94eS5wYWdlSUQoKSk7CiB9CiAKLVZpZXdHZXN0dXJlQ29udHJvbGxlciogVmlld0dlc3R1
cmVDb250cm9sbGVyOjpnZXN0dXJlQ29udHJvbGxlckZvclBhZ2UodWludDY0X3QgcGFnZUlEKQor
Vmlld0dlc3R1cmVDb250cm9sbGVyKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmNvbnRyb2xsZXJG
b3JHZXN0dXJlKHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZ2VzdHVyZUlEKQogewogICAgIGF1
dG8gZ2VzdHVyZUNvbnRyb2xsZXJJdGVyID0gdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBh
Z2VzKCkuZmluZChwYWdlSUQpOwogICAgIGlmIChnZXN0dXJlQ29udHJvbGxlckl0ZXIgPT0gdmll
d0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkuZW5kKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIHJldHVybiBnZXN0dXJlQ29udHJvbGxlckl0ZXItPnZhbHVlOworICAgIGF1
dG8gY29udHJvbGxlckN1cnJlbnRHZXN0dXJlSUQgPSBnZXN0dXJlQ29udHJvbGxlckl0ZXItPnZh
bHVlLT5tX2N1cnJlbnRHZXN0dXJlSUQ7CisgICAgaWYgKGNvbnRyb2xsZXJDdXJyZW50R2VzdHVy
ZUlEICYmICpjb250cm9sbGVyQ3VycmVudEdlc3R1cmVJRCA9PSBnZXN0dXJlSUQpCisgICAgICAg
IHJldHVybiBnZXN0dXJlQ29udHJvbGxlckl0ZXItPnZhbHVlOworICAgIHJldHVybiBudWxscHRy
OworfQorCit1aW50NjRfdCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnRha2VOZXh0R2VzdHVyZUlE
KCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3QgbmV4dEdlc3R1cmVJRCA9IDE7CisgICAgcmV0dXJu
IG5leHRHZXN0dXJlSUQrKzsKK30KKwordm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OndpbGxC
ZWdpbkdlc3R1cmUoVmlld0dlc3R1cmVUeXBlIHR5cGUpCit7CisgICAgbV9hY3RpdmVHZXN0dXJl
VHlwZSA9IHR5cGU7CisgICAgbV9jdXJyZW50R2VzdHVyZUlEID0gdGFrZU5leHRHZXN0dXJlSUQo
KTsKK30KKwordm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRpZEVuZEdlc3R1cmUoKQorewor
ICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6Ok5vbmU7CisgICAgbV9j
dXJyZW50R2VzdHVyZUlEID0gc3RkOjpudWxsb3B0OwogfQogICAgIAogdm9pZCBWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI6OnNldEFsdGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVBhZ2UoV2ViUGFn
ZVByb3h5KiBwYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCmluZGV4IGYxOTNlNzgzMzNmNjllZmEzZjhiNmE3YmYw
OWM5ZDdkMDkwNWIxNDguLjcxYWU1ZWJiOGU3OTEyM2ExYjJlZDgzZTk1OWFmNDg5OTU0OTc2YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmgKQEAgLTEzNyw3ICsxMzcsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBJUEM6
Ok1lc3NhZ2VSZWNlaXZlci4KICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCi0gICAgc3RhdGljIFZpZXdHZXN0dXJl
Q29udHJvbGxlciogZ2VzdHVyZUNvbnRyb2xsZXJGb3JQYWdlKHVpbnQ2NF90KTsKKyAgICBzdGF0
aWMgVmlld0dlc3R1cmVDb250cm9sbGVyKiBjb250cm9sbGVyRm9yR2VzdHVyZSh1aW50NjRfdCBw
YWdlSUQsIHVpbnQ2NF90IGdlc3R1cmVJRCk7CisKKyAgICBzdGF0aWMgdWludDY0X3QgdGFrZU5l
eHRHZXN0dXJlSUQoKTsKKyAgICB2b2lkIHdpbGxCZWdpbkdlc3R1cmUoVmlld0dlc3R1cmVUeXBl
KTsKKyAgICB2b2lkIGRpZEVuZEdlc3R1cmUoKTsKIAogICAgIGNsYXNzIFNuYXBzaG90UmVtb3Zh
bFRyYWNrZXIgewogICAgIHB1YmxpYzoKQEAgLTI0Myw2ICsyNDcsOCBAQCBwcml2YXRlOgogICAg
IFdlYWtQdHI8V2ViUGFnZVByb3h5PiBtX2FsdGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVBh
Z2U7CiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2Fy
ZExpc3RGb3JDdXJyZW50U3dpcGU7CiAKKyAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBtX2N1
cnJlbnRHZXN0dXJlSUQ7CisKICNpZiBQTEFURk9STShNQUMpCiAgICAgUmVmUHRyPFZpZXdTbmFw
c2hvdD4gbV9jdXJyZW50U3dpcGVTbmFwc2hvdDsKIApAQCAtMjgxLDcgKzI4Nyw2IEBAIHByaXZh
dGU6CiAgICAgUmV0YWluUHRyPFdLU3dpcGVUcmFuc2l0aW9uQ29udHJvbGxlcj4gbV9zd2lwZUlu
dGVyYWN0aXZlVHJhbnNpdGlvbkRlbGVnYXRlOwogICAgIFJldGFpblB0cjxfVUlWaWV3Q29udHJv
bGxlck9uZVRvT25lVHJhbnNpdGlvbkNvbnRleHQ+IG1fc3dpcGVUcmFuc2l0aW9uQ29udGV4dDsK
ICAgICB1aW50NjRfdCBtX3NuYXBzaG90UmVtb3ZhbFRhcmdldFJlbmRlclRyZWVTaXplIHsgMCB9
OwotICAgIHVpbnQ2NF90IG1fZ2VzdHVyZVBlbmRpbmdTbmFwc2hvdFJlbW92YWwgeyAwIH07CiAj
ZW5kaWYKIAogICAgIFNuYXBzaG90UmVtb3ZhbFRyYWNrZXIgbV9zbmFwc2hvdFJlbW92YWxUcmFj
a2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0
dXJlQ29udHJvbGxlcklPUy5tbQppbmRleCAzNDZiYjU0MTllY2Q3ZmYxNTNmNzQ0MGM5MmFhN2I4
NTM0OWRmOTMxLi44ZmYyMmY4NDcxZmE2ZTFmMTU5ZTc4NGM1YWY2MzVkNzYxMjE4OGRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxl
cklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlcklPUy5tbQpAQCAtMTY0LDYgKzE2NCw4IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjpiZWdpblN3aXBlR2VzdHVyZShfVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9u
CiAgICAgaWYgKG1fYWN0aXZlR2VzdHVyZVR5cGUgIT0gVmlld0dlc3R1cmVUeXBlOjpOb25lKQog
ICAgICAgICByZXR1cm47CiAKKyAgICB3aWxsQmVnaW5HZXN0dXJlKFZpZXdHZXN0dXJlVHlwZTo6
U3dpcGUpOworCiAgICAgbV93ZWJQYWdlUHJveHkucmVjb3JkQXV0b21hdGljTmF2aWdhdGlvblNu
YXBzaG90KCk7CiAKICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBhbHRlcm5hdGVCYWNrRm9yd2Fy
ZExpc3RTb3VyY2VQYWdlID0gbV9hbHRlcm5hdGVCYWNrRm9yd2FyZExpc3RTb3VyY2VQYWdlLmdl
dCgpOwpAQCAtMjQ0LDE1ICsyNDYsMTQgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJl
Z2luU3dpcGVHZXN0dXJlKF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb24KICAgICAg
ICAgICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5u
YXZpZ2F0aW9uR2VzdHVyZVdpbGxFbmQodHJhbnNpdGlvbkNvbXBsZXRlZCwgKnRhcmdldEl0ZW0p
OwogICAgIH1dOwogICAgIHVpbnQ2NF90IHBhZ2VJRCA9IG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgp
OwotICAgIFttX3N3aXBlVHJhbnNpdGlvbkNvbnRleHQgX3NldENvbXBsZXRpb25IYW5kbGVyOl4o
X1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uQ29udGV4dCAqY29udGV4dCwgQk9PTCBkaWRDb21w
bGV0ZSkgewotICAgICAgICBpZiAoYXV0byBnZXN0dXJlQ29udHJvbGxlciA9IGdlc3R1cmVDb250
cm9sbGVyRm9yUGFnZShwYWdlSUQpKQorICAgIHVpbnQ2NF90IGdlc3R1cmVJRCA9ICptX2N1cnJl
bnRHZXN0dXJlSUQ7CisgICAgW21fc3dpcGVUcmFuc2l0aW9uQ29udGV4dCBfc2V0Q29tcGxldGlv
bkhhbmRsZXI6W3BhZ2VJRCwgZ2VzdHVyZUlELCB0YXJnZXRJdGVtXSAoX1VJVmlld0NvbnRyb2xs
ZXJUcmFuc2l0aW9uQ29udGV4dCAqY29udGV4dCwgQk9PTCBkaWRDb21wbGV0ZSkgeworICAgICAg
ICBpZiAoYXV0byBnZXN0dXJlQ29udHJvbGxlciA9IGNvbnRyb2xsZXJGb3JHZXN0dXJlKHBhZ2VJ
RCwgZ2VzdHVyZUlEKSkKICAgICAgICAgICAgIGdlc3R1cmVDb250cm9sbGVyLT5lbmRTd2lwZUdl
c3R1cmUodGFyZ2V0SXRlbS5nZXQoKSwgY29udGV4dCwgIWRpZENvbXBsZXRlKTsKICAgICB9XTsK
IAogICAgIFt0cmFuc2l0aW9uIHNldEFuaW1hdGlvbkNvbnRyb2xsZXI6YW5pbWF0aW9uQ29udHJv
bGxlci5nZXQoKV07CiAgICAgW3RyYW5zaXRpb24gc3RhcnRJbnRlcmFjdGl2ZVRyYW5zaXRpb246
bV9zd2lwZVRyYW5zaXRpb25Db250ZXh0LmdldCgpXTsKLQotICAgIG1fYWN0aXZlR2VzdHVyZVR5
cGUgPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBlOwogfQogCiB2b2lkIFZpZXdHZXN0dXJlQ29udHJv
bGxlcjo6ZW5kU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0s
IF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQgKmNvbnRleHQsIGJvb2wgY2FuY2Vs
bGVkKQpAQCAtMjkwLDEyICsyOTEsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVu
ZFN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGVtLAogCiAgICAg
aWYgKGF1dG8gZHJhd2luZ0FyZWEgPSBtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSB7CiAg
ICAgICAgIHVpbnQ2NF90IHBhZ2VJRCA9IG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpOwotICAgICAg
ICB1aW50NjRfdCBnZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVtb3ZhbCA9IG1fZ2VzdHVyZVBlbmRp
bmdTbmFwc2hvdFJlbW92YWw7Ci0gICAgICAgIGRyYXdpbmdBcmVhLT5kaXNwYXRjaEFmdGVyRW5z
dXJpbmdEcmF3aW5nKFtwYWdlSUQsIGdlc3R1cmVQZW5kaW5nU25hcHNob3RSZW1vdmFsXSAoQ2Fs
bGJhY2tCYXNlOjpFcnJvciBlcnJvcikgewotICAgICAgICAgICAgaWYgKGF1dG8gZ2VzdHVyZUNv
bnRyb2xsZXIgPSBnZXN0dXJlQ29udHJvbGxlckZvclBhZ2UocGFnZUlEKSkgewotICAgICAgICAg
ICAgICAgIGlmIChnZXN0dXJlQ29udHJvbGxlci0+bV9nZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVt
b3ZhbCA9PSBnZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVtb3ZhbCkKLSAgICAgICAgICAgICAgICAg
ICAgZ2VzdHVyZUNvbnRyb2xsZXItPndpbGxDb21taXRQb3N0U3dpcGVUcmFuc2l0aW9uTGF5ZXJU
cmVlKGVycm9yID09IENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpOwotICAgICAgICAgICAgfQor
ICAgICAgICB1aW50NjRfdCBnZXN0dXJlSUQgPSAqbV9jdXJyZW50R2VzdHVyZUlEOworICAgICAg
ICBkcmF3aW5nQXJlYS0+ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhbcGFnZUlELCBnZXN0
dXJlSURdIChDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKSB7CisgICAgICAgICAgICBpZiAoYXV0
byBnZXN0dXJlQ29udHJvbGxlciA9IGNvbnRyb2xsZXJGb3JHZXN0dXJlKHBhZ2VJRCwgZ2VzdHVy
ZUlEKSkKKyAgICAgICAgICAgICAgICBnZXN0dXJlQ29udHJvbGxlci0+d2lsbENvbW1pdFBvc3RT
d2lwZVRyYW5zaXRpb25MYXllclRyZWUoZXJyb3IgPT0gQ2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9u
ZSk7CiAgICAgICAgIH0pOwogICAgICAgICBkcmF3aW5nQXJlYS0+aGlkZUNvbnRlbnRVbnRpbFBl
bmRpbmdVcGRhdGUoKTsKICAgICB9IGVsc2UgewpAQCAtMzQ3LDEzICszNDYsMTAgQEAgdm9pZCBW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlbW92ZVN3aXBlU25hcHNob3QoKQogICAgIGlmIChtX2Fj
dGl2ZUdlc3R1cmVUeXBlICE9IFZpZXdHZXN0dXJlVHlwZTo6U3dpcGUpCiAgICAgICAgIHJldHVy
bjsKIAotICAgICsrbV9nZXN0dXJlUGVuZGluZ1NuYXBzaG90UmVtb3ZhbDsKLQogICAgIFttX3Nu
YXBzaG90VmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBtX3NuYXBzaG90VmlldyA9IG51
bGxwdHI7CiAgICAgCiAgICAgbV9zbmFwc2hvdFJlbW92YWxUYXJnZXRSZW5kZXJUcmVlU2l6ZSA9
IDA7Ci0gICAgbV9hY3RpdmVHZXN0dXJlVHlwZSA9IFZpZXdHZXN0dXJlVHlwZTo6Tm9uZTsKIAog
ICAgIG1fd2ViUGFnZVByb3h5Rm9yQmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlLT5uYXZp
Z2F0aW9uR2VzdHVyZVNuYXBzaG90V2FzUmVtb3ZlZCgpOwogICAgIG1fd2ViUGFnZVByb3h5Rm9y
QmFja0ZvcndhcmRMaXN0Rm9yQ3VycmVudFN3aXBlID0gbnVsbHB0cjsKQEAgLTM2MSw2ICszNTcs
OCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCgpCiAg
ICAgbV9zd2lwZVRyYW5zaXRpb25Db250ZXh0ID0gbnVsbHB0cjsKIAogICAgIG1fYmFja2dyb3Vu
ZENvbG9yRm9yQ3VycmVudFNuYXBzaG90ID0gQ29sb3IoKTsKKworICAgIGRpZEVuZEdlc3R1cmUo
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFjLm1tCmluZGV4IDNjYzMw
NWU4NzFlMmIxNTJhYWY5ZjM5MTU2Y2JlMTgwOWMxMTQyNmEuLjVhZjJjMzY4NjkwNmRiNTJjNmI3
MGM5NGQ2NGQwMzNiMjU3NzFjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFjLm1tCkBAIC0xMjQsNyArMTI0LDcg
QEAgRmxvYXRQb2ludCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnNjYWxlZE1hZ25pZmljYXRpb25P
cmlnaW4oRmxvYXRQb2ludCBvcmlnaW4sIGQKIAogdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
OmRpZENvbGxlY3RHZW9tZXRyeUZvck1hZ25pZmljYXRpb25HZXN0dXJlKEZsb2F0UmVjdCB2aXNp
YmxlQ29udGVudFJlY3QsIGJvb2wgZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmUpCiB7
Ci0gICAgbV9hY3RpdmVHZXN0dXJlVHlwZSA9IFZpZXdHZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlv
bjsKKyAgICB3aWxsQmVnaW5HZXN0dXJlKFZpZXdHZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlvbik7
CiAgICAgbV92aXNpYmxlQ29udGVudFJlY3QgPSB2aXNpYmxlQ29udGVudFJlY3Q7CiAgICAgbV92
aXNpYmxlQ29udGVudFJlY3RJc1ZhbGlkID0gdHJ1ZTsKICAgICBtX2ZyYW1lSGFuZGxlc01hZ25p
ZmljYXRpb25HZXN0dXJlID0gZnJhbWVIYW5kbGVzTWFnbmlmaWNhdGlvbkdlc3R1cmU7CkBAIC0x
NTYsNyArMTU2LDcgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmhhbmRsZU1hZ25pZmlj
YXRpb25HZXN0dXJlRXZlbnQoTlNFdmVudCAqZXZlbnQsIEZsb2EKICAgICBpZiAoIW1fdmlzaWJs
ZUNvbnRlbnRSZWN0SXNWYWxpZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9hY3RpdmVHZXN0
dXJlVHlwZSA9IFZpZXdHZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlvbjsKKyAgICB3aWxsQmVnaW5H
ZXN0dXJlKFZpZXdHZXN0dXJlVHlwZTo6TWFnbmlmaWNhdGlvbik7CiAKICAgICBkb3VibGUgc2Nh
bGUgPSBldmVudC5tYWduaWZpY2F0aW9uOwogICAgIGRvdWJsZSBzY2FsZVdpdGhSZXNpc3RhbmNl
ID0gcmVzaXN0YW5jZUZvckRlbHRhKHNjYWxlLCBtX21hZ25pZmljYXRpb24pICogc2NhbGU7CkBA
IC0xODksNyArMTg5LDcgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZE1hZ25pZmlj
YXRpb25HZXN0dXJlKCkKICAgICAgICAgICAgIGRyYXdpbmdBcmVhLT5jb21taXRUcmFuc2llbnRa
b29tKG5ld01hZ25pZmljYXRpb24sIHNjYWxlZE1hZ25pZmljYXRpb25PcmlnaW4obV9tYWduaWZp
Y2F0aW9uT3JpZ2luLCBuZXdNYWduaWZpY2F0aW9uKSk7CiAgICAgfQogCi0gICAgbV9hY3RpdmVH
ZXN0dXJlVHlwZSA9IFZpZXdHZXN0dXJlVHlwZTo6Tm9uZTsKKyAgICBkaWRFbmRHZXN0dXJlKCk7
CiAgICAgbV92aXNpYmxlQ29udGVudFJlY3RJc1ZhbGlkID0gZmFsc2U7CiB9CiAKQEAgLTUzMSw3
ICs1MzEsNyBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUo
V2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbQogCiAgICAgbV93ZWJQYWdlUHJveHku
bmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbigpOwogCi0gICAgbV9hY3RpdmVHZXN0dXJlVHlwZSA9
IFZpZXdHZXN0dXJlVHlwZTo6U3dpcGU7CisgICAgd2lsbEJlZ2luR2VzdHVyZShWaWV3R2VzdHVy
ZVR5cGU6OlN3aXBlKTsKIAogICAgIENBTGF5ZXIgKnJvb3RDb250ZW50TGF5ZXIgPSBtX3dlYlBh
Z2VQcm94eS5hY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKCk7CiAKQEAgLTc2OCw4ICs3
NjgsOSBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6Zm9yY2VSZXBhaW50SWZOZWVkZWQo
KQogICAgIG1faGFzT3V0c3RhbmRpbmdSZXBhaW50UmVxdWVzdCA9IHRydWU7CiAKICAgICB1aW50
NjRfdCBwYWdlSUQgPSBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKTsKLSAgICBtX3dlYlBhZ2VQcm94
eS5mb3JjZVJlcGFpbnQoVm9pZENhbGxiYWNrOjpjcmVhdGUoW3BhZ2VJRF0gKENhbGxiYWNrQmFz
ZTo6RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgaWYgKGF1dG8gZ2VzdHVyZUNvbnRyb2xsZXIgPSBn
ZXN0dXJlQ29udHJvbGxlckZvclBhZ2UocGFnZUlEKSkKKyAgICB1aW50NjRfdCBnZXN0dXJlSUQg
PSAqbV9jdXJyZW50R2VzdHVyZUlEOworICAgIG1fd2ViUGFnZVByb3h5LmZvcmNlUmVwYWludChW
b2lkQ2FsbGJhY2s6OmNyZWF0ZShbcGFnZUlELCBnZXN0dXJlSURdIChDYWxsYmFja0Jhc2U6OkVy
cm9yIGVycm9yKSB7CisgICAgICAgIGlmIChhdXRvIGdlc3R1cmVDb250cm9sbGVyID0gY29udHJv
bGxlckZvckdlc3R1cmUocGFnZUlELCBnZXN0dXJlSUQpKQogICAgICAgICAgICAgZ2VzdHVyZUNv
bnRyb2xsZXItPnJlbW92ZVN3aXBlU25hcHNob3QoKTsKICAgICB9KSk7CiB9CkBAIC04MDQsMTEg
KzgwNSwxMSBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hv
dCgpCiAKICAgICBtX2N1cnJlbnRTd2lwZUxpdmVMYXllcnMuY2xlYXIoKTsKIAotICAgIG1fYWN0
aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6Ok5vbmU7Ci0KICAgICBtX3dlYlBhZ2VQ
cm94eS5uYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90V2FzUmVtb3ZlZCgpOwogCiAgICAgbV9iYWNr
Z3JvdW5kQ29sb3JGb3JDdXJyZW50U25hcHNob3QgPSBDb2xvcigpOworCisgICAgZGlkRW5kR2Vz
dHVyZSgpOwogfQogCiBkb3VibGUgVmlld0dlc3R1cmVDb250cm9sbGVyOjptYWduaWZpY2F0aW9u
KCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313048</attachid>
            <date>2017-06-15 19:28:14 -0700</date>
            <delta_ts>2017-06-15 19:28:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173441-20170615192810.patch</filename>
            <type>text/plain</type>
            <size>13078</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDdjN2MyZjdlMzFmM2U0
MTYzNjgwMjE4NzMwYmNmMGY4ZTZiMDczYS4uY2JlMzA2M2VmNzJjNWNjYzY3YTJlYjk5MDI4MDhk
Y2M4N2Y3ZjZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE3LTA2LTE1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE51bGwgZGVyZWYg
dW5kZXIgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUgKG5hdmlnYXRpb25H
ZXN0dXJlRGlkRW5kKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTczNDQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNTg3NjUxMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgVGhpcyBpcyBhIHNwZWN1bGF0
aXZlIGZpeCBmb3IgYSBjcmFzaCB0aGF0IHdlIGRvbid0IGhhdmUgcmVwcm8gc3RlcHMgZm9yLgor
CisgICAgICAgIEluIGEgZmV3IHBsYWNlcywgVmlld0dlc3R1cmVDb250cm9sbGVyIGxvb2tzIGl0
c2VsZiB1cCBieSBwYWdlSUQgKGluIGNhc2VzCisgICAgICAgIHdoZXJlIHdlJ3JlIGluIGFuIGFz
eW5jaHJvbm91cyBjYWxsYmFjayksIGFuZCB0aGVuIGNhbGxzIHNvbWUKKyAgICAgICAgZnVuY3Rp
b24gb24gaXQgKGVuZFN3aXBlR2VzdHVyZSwgb3Igc29tZXRoaW5nIHRoYXQgd2lsbCBnZXQgdGhl
cmUpLgorICAgICAgICBIb3dldmVyLCBpZiBpbiB0aGUgbWVhbnRpbWUgYW4gQVBJIGNsaWVudCBo
YXMgdHVybmVkIHRoZSBzd2lwZSBnZXN0dXJlCisgICAgICAgIG9uIGFuZCBvZmYsIHRoZSBwYWdl
J3MgVmlld0dlc3R1cmVDb250cm9sbGVyIHdpbGwgYmUgYSBkaWZmZXJlbnQgb25lCisgICAgICAg
IHRoYW4gdGhlIG9uZSB0aGF0IG9yaWdpbmFsbHkgc3RhcnRlZCB0aGlzIHByb2Nlc3MsIHdpdGgg
ZnJlc2ggc3RhdGUsCisgICAgICAgIGFuZCBudWxscHRycyBpbiBhbGwgc29ydHMgb2YgcGxhY2Vz
LCByaXBlIGZvciBkZXJlZmVyZW5jaW5nLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCBpbnN0ZWFk
IG9mIGp1c3QgbG9va2luZyBWaWV3R2VzdHVyZUNvbnRyb2xsZXIgdXAgYnkgCisgICAgICAgIHBh
Z2VJRCwgYWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IGdlc3R1cmVJRCwgcHJvY2Vzcy13
aWRlIChwcmV2aW91c2x5CisgICAgICAgIHRoZSBnZXN0dXJlSUQgd2FzIHBlci1WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIpLCBhbmQgb25seSByZXR1cm4gdGhlCisgICAgICAgIFZpZXdHZXN0dXJlQ29u
dHJvbGxlciBpZiBpdCdzIGN1cnJlbnRseSBwcm9jZXNzaW5nIHRoZSBzYW1lIGdlc3R1cmUKKyAg
ICAgICAgdGhhdCBzdGFydGVkIHRoZSBhc3luY2hyb25vdXMgdGFzay4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmNvbnRyb2xsZXJGb3JHZXN0dXJlKToKKyAgICAgICAg
KFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjp0YWtlTmV4dEdlc3R1cmVJRCk6CisgICAg
ICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6d2lsbEJlZ2luR2VzdHVyZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkRW5kR2VzdHVyZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6Z2VzdHVyZUNvbnRyb2xsZXJG
b3JQYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVD
b250cm9sbGVyLmg6CisgICAgICAgIEFkZCBoZWxwZXJzIHRoYXQgc2V0IGFuZCByZXNldCBhY3Rp
dmVHZXN0dXJlVHlwZSBhbmQgY3VycmVudEdlc3R1cmVJRCB0b2dldGhlci4KKyAgICAgICAgTWFr
ZSBnZXN0dXJlIElEcyBwcm9jZXNzIGdsb2JhbCwgdG8gYXZvaWQgdHdvIFZpZXdHZXN0dXJlQ29u
dHJvbGxlcnMgdXNpbmcgdGhlIHNhbWUgSURzLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2Vz
dHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGlkQ29sbGVjdEdlb21ldHJ5Rm9yTWFnbmlmaWNhdGlvbkdl
c3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmhhbmRsZU1h
Z25pZmljYXRpb25HZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OmVuZE1hZ25pZmljYXRpb25HZXN0dXJlKToKKyAgICAgICAgKFdlYktpdDo6Vmll
d0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6Zm9yY2VSZXBhaW50SWZOZWVkZWQpOgorICAgICAgICAo
V2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlbW92ZVN3aXBlU25hcHNob3QpOgorICAg
ICAgICBBZG9wdCB3aWxsQmVnaW5HZXN0dXJlL2RpZEVuZEdlc3R1cmUgYW5kIGNvbnRyb2xsZXJG
b3JHZXN0dXJlLgorCiAyMDE3LTA2LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBVc2UgQVBJOjpJbmplY3RlZEJ1bmRsZTo6UmVz
b3VyY2VMb2FkQ2xpZW50IGluIFdlYktpdFdlYlBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggYzRk
MzAwMTBkZDM3Y2FiZWZhNzBkYjI0OTVkZjMxYjRlNzcxNDQzOC4uM2M1M2FhYzVmMDY1NmEzNmZm
MzA4ZGM3ZjI3MGM1Mjc0N2E4OTU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTc3LDEzICs3Nywz
MyBAQCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6On5WaWV3R2VzdHVyZUNvbnRyb2xsZXIoKQogICAg
IG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQ
cm94eS5wYWdlSUQoKSk7CiB9CiAKLVZpZXdHZXN0dXJlQ29udHJvbGxlciogVmlld0dlc3R1cmVD
b250cm9sbGVyOjpnZXN0dXJlQ29udHJvbGxlckZvclBhZ2UodWludDY0X3QgcGFnZUlEKQorVmll
d0dlc3R1cmVDb250cm9sbGVyKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmNvbnRyb2xsZXJGb3JH
ZXN0dXJlKHVpbnQ2NF90IHBhZ2VJRCwgVmlld0dlc3R1cmVDb250cm9sbGVyOjpHZXN0dXJlSUQg
Z2VzdHVyZUlEKQogewogICAgIGF1dG8gZ2VzdHVyZUNvbnRyb2xsZXJJdGVyID0gdmlld0dlc3R1
cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkuZmluZChwYWdlSUQpOwogICAgIGlmIChnZXN0dXJl
Q29udHJvbGxlckl0ZXIgPT0gdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkuZW5k
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmIChnZXN0dXJlQ29udHJvbGxlckl0
ZXItPnZhbHVlLT5tX2N1cnJlbnRHZXN0dXJlSUQgIT0gZ2VzdHVyZUlEKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICByZXR1cm4gZ2VzdHVyZUNvbnRyb2xsZXJJdGVyLT52YWx1ZTsKIH0K
KworVmlld0dlc3R1cmVDb250cm9sbGVyOjpHZXN0dXJlSUQgVmlld0dlc3R1cmVDb250cm9sbGVy
Ojp0YWtlTmV4dEdlc3R1cmVJRCgpCit7CisgICAgc3RhdGljIEdlc3R1cmVJRCBuZXh0R2VzdHVy
ZUlEOworICAgIHJldHVybiArK25leHRHZXN0dXJlSUQ7Cit9CisKK3ZvaWQgVmlld0dlc3R1cmVD
b250cm9sbGVyOjp3aWxsQmVnaW5HZXN0dXJlKFZpZXdHZXN0dXJlVHlwZSB0eXBlKQoreworICAg
IG1fYWN0aXZlR2VzdHVyZVR5cGUgPSB0eXBlOworICAgIG1fY3VycmVudEdlc3R1cmVJRCA9IHRh
a2VOZXh0R2VzdHVyZUlEKCk7Cit9CisKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpkaWRF
bmRHZXN0dXJlKCkKK3sKKyAgICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBl
OjpOb25lOworICAgIG1fY3VycmVudEdlc3R1cmVJRCA9IDA7Cit9CiAgICAgCiB2b2lkIFZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6c2V0QWx0ZXJuYXRlQmFja0ZvcndhcmRMaXN0U291cmNlUGFnZShX
ZWJQYWdlUHJveHkqIHBhZ2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggZjE5M2U3ODMzM2Y2OWVmYTNm
OGI2YTdiZjA5YzlkN2QwOTA1YjE0OC4uY2Q3MDg3ZWFiNTdhY2Y1YmUwOGU4NmEyZjcxZWEwNWM4
YzRkYWUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtODMsNiArODMsOCBAQCBwdWJsaWM6CiAgICAgICAg
IEZvcndhcmQKICAgICB9OwogCisgICAgdHlwZWRlZiB1aW50NjRfdCBHZXN0dXJlSUQ7CisKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgZG91YmxlIG1hZ25pZmljYXRpb24oKSBjb25zdDsKIApAQCAt
MTM3LDcgKzEzOSwxMSBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyLgog
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVy
Jikgb3ZlcnJpZGU7CiAKLSAgICBzdGF0aWMgVmlld0dlc3R1cmVDb250cm9sbGVyKiBnZXN0dXJl
Q29udHJvbGxlckZvclBhZ2UodWludDY0X3QpOworICAgIHN0YXRpYyBWaWV3R2VzdHVyZUNvbnRy
b2xsZXIqIGNvbnRyb2xsZXJGb3JHZXN0dXJlKHVpbnQ2NF90IHBhZ2VJRCwgR2VzdHVyZUlEKTsK
KworICAgIHN0YXRpYyBHZXN0dXJlSUQgdGFrZU5leHRHZXN0dXJlSUQoKTsKKyAgICB2b2lkIHdp
bGxCZWdpbkdlc3R1cmUoVmlld0dlc3R1cmVUeXBlKTsKKyAgICB2b2lkIGRpZEVuZEdlc3R1cmUo
KTsKIAogICAgIGNsYXNzIFNuYXBzaG90UmVtb3ZhbFRyYWNrZXIgewogICAgIHB1YmxpYzoKQEAg
LTI0Myw2ICsyNDksOCBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8V2ViUGFnZVByb3h5PiBtX2Fs
dGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVBhZ2U7CiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94
eT4gbV93ZWJQYWdlUHJveHlGb3JCYWNrRm9yd2FyZExpc3RGb3JDdXJyZW50U3dpcGU7CiAKKyAg
ICBHZXN0dXJlSUQgbV9jdXJyZW50R2VzdHVyZUlEOworCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IFJlZlB0cjxWaWV3U25hcHNob3Q+IG1fY3VycmVudFN3aXBlU25hcHNob3Q7CiAKQEAgLTI4MSw3
ICsyODksNiBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxXS1N3aXBlVHJhbnNpdGlvbkNvbnRy
b2xsZXI+IG1fc3dpcGVJbnRlcmFjdGl2ZVRyYW5zaXRpb25EZWxlZ2F0ZTsKICAgICBSZXRhaW5Q
dHI8X1VJVmlld0NvbnRyb2xsZXJPbmVUb09uZVRyYW5zaXRpb25Db250ZXh0PiBtX3N3aXBlVHJh
bnNpdGlvbkNvbnRleHQ7CiAgICAgdWludDY0X3QgbV9zbmFwc2hvdFJlbW92YWxUYXJnZXRSZW5k
ZXJUcmVlU2l6ZSB7IDAgfTsKLSAgICB1aW50NjRfdCBtX2dlc3R1cmVQZW5kaW5nU25hcHNob3RS
ZW1vdmFsIHsgMCB9OwogI2VuZGlmCiAKICAgICBTbmFwc2hvdFJlbW92YWxUcmFja2VyIG1fc25h
cHNob3RSZW1vdmFsVHJhY2tlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KaW5kZXggMzQ2YmI1NDE5ZWNkN2Zm
MTUzZjc0NDBjOTJhYTdiODUzNDlkZjkzMS4uOGZiNWQ3NDdmMDljZjFkZjQ0NDY2YzVjNjA2OWNh
NTA3MjhjOTM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KQEAgLTE2NCw2ICsxNjQsOCBAQCB2b2lkIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUoX1VJTmF2aWdhdGlvbkludGVy
YWN0aXZlVHJhbnNpdGlvbgogICAgIGlmIChtX2FjdGl2ZUdlc3R1cmVUeXBlICE9IFZpZXdHZXN0
dXJlVHlwZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCisgICAgd2lsbEJlZ2luR2VzdHVyZShW
aWV3R2VzdHVyZVR5cGU6OlN3aXBlKTsKKwogICAgIG1fd2ViUGFnZVByb3h5LnJlY29yZEF1dG9t
YXRpY05hdmlnYXRpb25TbmFwc2hvdCgpOwogCiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gYWx0
ZXJuYXRlQmFja0ZvcndhcmRMaXN0U291cmNlUGFnZSA9IG1fYWx0ZXJuYXRlQmFja0ZvcndhcmRM
aXN0U291cmNlUGFnZS5nZXQoKTsKQEAgLTI0NCwxNSArMjQ2LDE0IEBAIHZvaWQgVmlld0dlc3R1
cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZShfVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVU
cmFuc2l0aW9uCiAgICAgICAgICAgICBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZv
ckN1cnJlbnRTd2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKHRyYW5zaXRpb25Db21wbGV0
ZWQsICp0YXJnZXRJdGVtKTsKICAgICB9XTsKICAgICB1aW50NjRfdCBwYWdlSUQgPSBtX3dlYlBh
Z2VQcm94eS5wYWdlSUQoKTsKLSAgICBbbV9zd2lwZVRyYW5zaXRpb25Db250ZXh0IF9zZXRDb21w
bGV0aW9uSGFuZGxlcjpeKF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQgKmNvbnRl
eHQsIEJPT0wgZGlkQ29tcGxldGUpIHsKLSAgICAgICAgaWYgKGF1dG8gZ2VzdHVyZUNvbnRyb2xs
ZXIgPSBnZXN0dXJlQ29udHJvbGxlckZvclBhZ2UocGFnZUlEKSkKKyAgICBHZXN0dXJlSUQgZ2Vz
dHVyZUlEID0gbV9jdXJyZW50R2VzdHVyZUlEOworICAgIFttX3N3aXBlVHJhbnNpdGlvbkNvbnRl
eHQgX3NldENvbXBsZXRpb25IYW5kbGVyOltwYWdlSUQsIGdlc3R1cmVJRCwgdGFyZ2V0SXRlbV0g
KF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQgKmNvbnRleHQsIEJPT0wgZGlkQ29t
cGxldGUpIHsKKyAgICAgICAgaWYgKGF1dG8gZ2VzdHVyZUNvbnRyb2xsZXIgPSBjb250cm9sbGVy
Rm9yR2VzdHVyZShwYWdlSUQsIGdlc3R1cmVJRCkpCiAgICAgICAgICAgICBnZXN0dXJlQ29udHJv
bGxlci0+ZW5kU3dpcGVHZXN0dXJlKHRhcmdldEl0ZW0uZ2V0KCksIGNvbnRleHQsICFkaWRDb21w
bGV0ZSk7CiAgICAgfV07CiAKICAgICBbdHJhbnNpdGlvbiBzZXRBbmltYXRpb25Db250cm9sbGVy
OmFuaW1hdGlvbkNvbnRyb2xsZXIuZ2V0KCldOwogICAgIFt0cmFuc2l0aW9uIHN0YXJ0SW50ZXJh
Y3RpdmVUcmFuc2l0aW9uOm1fc3dpcGVUcmFuc2l0aW9uQ29udGV4dC5nZXQoKV07Ci0KLSAgICBt
X2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpTd2lwZTsKIH0KIAogdm9pZCBW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVuZFN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtKiB0YXJnZXRJdGVtLCBfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25Db250ZXh0ICpjb250
ZXh0LCBib29sIGNhbmNlbGxlZCkKQEAgLTI5MCwxMiArMjkxLDEwIEBAIHZvaWQgVmlld0dlc3R1
cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFy
Z2V0SXRlbSwKIAogICAgIGlmIChhdXRvIGRyYXdpbmdBcmVhID0gbV93ZWJQYWdlUHJveHkuZHJh
d2luZ0FyZWEoKSkgewogICAgICAgICB1aW50NjRfdCBwYWdlSUQgPSBtX3dlYlBhZ2VQcm94eS5w
YWdlSUQoKTsKLSAgICAgICAgdWludDY0X3QgZ2VzdHVyZVBlbmRpbmdTbmFwc2hvdFJlbW92YWwg
PSBtX2dlc3R1cmVQZW5kaW5nU25hcHNob3RSZW1vdmFsOwotICAgICAgICBkcmF3aW5nQXJlYS0+
ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhbcGFnZUlELCBnZXN0dXJlUGVuZGluZ1NuYXBz
aG90UmVtb3ZhbF0gKENhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgICAgIGlm
IChhdXRvIGdlc3R1cmVDb250cm9sbGVyID0gZ2VzdHVyZUNvbnRyb2xsZXJGb3JQYWdlKHBhZ2VJ
RCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoZ2VzdHVyZUNvbnRyb2xsZXItPm1fZ2VzdHVyZVBl
bmRpbmdTbmFwc2hvdFJlbW92YWwgPT0gZ2VzdHVyZVBlbmRpbmdTbmFwc2hvdFJlbW92YWwpCi0g
ICAgICAgICAgICAgICAgICAgIGdlc3R1cmVDb250cm9sbGVyLT53aWxsQ29tbWl0UG9zdFN3aXBl
VHJhbnNpdGlvbkxheWVyVHJlZShlcnJvciA9PSBDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgR2VzdHVyZUlEIGdlc3R1cmVJRCA9IG1fY3VycmVudEdl
c3R1cmVJRDsKKyAgICAgICAgZHJhd2luZ0FyZWEtPmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdp
bmcoW3BhZ2VJRCwgZ2VzdHVyZUlEXSAoQ2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAg
ICAgICAgICAgaWYgKGF1dG8gZ2VzdHVyZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyRm9yR2VzdHVy
ZShwYWdlSUQsIGdlc3R1cmVJRCkpCisgICAgICAgICAgICAgICAgZ2VzdHVyZUNvbnRyb2xsZXIt
PndpbGxDb21taXRQb3N0U3dpcGVUcmFuc2l0aW9uTGF5ZXJUcmVlKGVycm9yID09IENhbGxiYWNr
QmFzZTo6RXJyb3I6Ok5vbmUpOwogICAgICAgICB9KTsKICAgICAgICAgZHJhd2luZ0FyZWEtPmhp
ZGVDb250ZW50VW50aWxQZW5kaW5nVXBkYXRlKCk7CiAgICAgfSBlbHNlIHsKQEAgLTM0NywxMyAr
MzQ2LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpyZW1vdmVTd2lwZVNuYXBzaG90
KCkKICAgICBpZiAobV9hY3RpdmVHZXN0dXJlVHlwZSAhPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBl
KQogICAgICAgICByZXR1cm47CiAKLSAgICArK21fZ2VzdHVyZVBlbmRpbmdTbmFwc2hvdFJlbW92
YWw7Ci0KICAgICBbbV9zbmFwc2hvdFZpZXcgcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgbV9z
bmFwc2hvdFZpZXcgPSBudWxscHRyOwogICAgIAogICAgIG1fc25hcHNob3RSZW1vdmFsVGFyZ2V0
UmVuZGVyVHJlZVNpemUgPSAwOwotICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVy
ZVR5cGU6Ok5vbmU7CiAKICAgICBtX3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1
cnJlbnRTd2lwZS0+bmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdFdhc1JlbW92ZWQoKTsKICAgICBt
X3dlYlBhZ2VQcm94eUZvckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZSA9IG51bGxwdHI7
CkBAIC0zNjEsNiArMzU3LDggQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJlbW92ZVN3
aXBlU25hcHNob3QoKQogICAgIG1fc3dpcGVUcmFuc2l0aW9uQ29udGV4dCA9IG51bGxwdHI7CiAK
ICAgICBtX2JhY2tncm91bmRDb2xvckZvckN1cnJlbnRTbmFwc2hvdCA9IENvbG9yKCk7CisKKyAg
ICBkaWRFbmRHZXN0dXJlKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1h
Yy5tbQppbmRleCAzY2MzMDVlODcxZTJiMTUyYWFmOWYzOTE1NmNiZTE4MDljMTE0MjZhLi5lYjVh
YjIyMzg1NjRjMDYyMDVkMjMyNjg0YjAwMTRmMDM0NTNiNjIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpA
QCAtMTI0LDcgKzEyNCw3IEBAIEZsb2F0UG9pbnQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpzY2Fs
ZWRNYWduaWZpY2F0aW9uT3JpZ2luKEZsb2F0UG9pbnQgb3JpZ2luLCBkCiAKIHZvaWQgVmlld0dl
c3R1cmVDb250cm9sbGVyOjpkaWRDb2xsZWN0R2VvbWV0cnlGb3JNYWduaWZpY2F0aW9uR2VzdHVy
ZShGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0LCBib29sIGZyYW1lSGFuZGxlc01hZ25pZmlj
YXRpb25HZXN0dXJlKQogewotICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5
cGU6Ok1hZ25pZmljYXRpb247CisgICAgd2lsbEJlZ2luR2VzdHVyZShWaWV3R2VzdHVyZVR5cGU6
Ok1hZ25pZmljYXRpb24pOwogICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0ID0gdmlzaWJsZUNvbnRl
bnRSZWN0OwogICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0SXNWYWxpZCA9IHRydWU7CiAgICAgbV9m
cmFtZUhhbmRsZXNNYWduaWZpY2F0aW9uR2VzdHVyZSA9IGZyYW1lSGFuZGxlc01hZ25pZmljYXRp
b25HZXN0dXJlOwpAQCAtMTU2LDcgKzE1Niw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVy
OjpoYW5kbGVNYWduaWZpY2F0aW9uR2VzdHVyZUV2ZW50KE5TRXZlbnQgKmV2ZW50LCBGbG9hCiAg
ICAgaWYgKCFtX3Zpc2libGVDb250ZW50UmVjdElzVmFsaWQpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6Ok1hZ25pZmljYXRpb247
CisgICAgd2lsbEJlZ2luR2VzdHVyZShWaWV3R2VzdHVyZVR5cGU6Ok1hZ25pZmljYXRpb24pOwog
CiAgICAgZG91YmxlIHNjYWxlID0gZXZlbnQubWFnbmlmaWNhdGlvbjsKICAgICBkb3VibGUgc2Nh
bGVXaXRoUmVzaXN0YW5jZSA9IHJlc2lzdGFuY2VGb3JEZWx0YShzY2FsZSwgbV9tYWduaWZpY2F0
aW9uKSAqIHNjYWxlOwpAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjplbmRNYWduaWZpY2F0aW9uR2VzdHVyZSgpCiAgICAgICAgICAgICBkcmF3aW5nQXJlYS0+
Y29tbWl0VHJhbnNpZW50Wm9vbShuZXdNYWduaWZpY2F0aW9uLCBzY2FsZWRNYWduaWZpY2F0aW9u
T3JpZ2luKG1fbWFnbmlmaWNhdGlvbk9yaWdpbiwgbmV3TWFnbmlmaWNhdGlvbikpOwogICAgIH0K
IAotICAgIG1fYWN0aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6Ok5vbmU7CisgICAg
ZGlkRW5kR2VzdHVyZSgpOwogICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0SXNWYWxpZCA9IGZhbHNl
OwogfQogCkBAIC01MzEsNyArNTMxLDcgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJl
Z2luU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0KIAogICAg
IG1fd2ViUGFnZVByb3h5Lm5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4oKTsKIAotICAgIG1fYWN0
aXZlR2VzdHVyZVR5cGUgPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBlOworICAgIHdpbGxCZWdpbkdl
c3R1cmUoVmlld0dlc3R1cmVUeXBlOjpTd2lwZSk7CiAKICAgICBDQUxheWVyICpyb290Q29udGVu
dExheWVyID0gbV93ZWJQYWdlUHJveHkuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RMYXllcigp
OwogCkBAIC03NjgsOCArNzY4LDkgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmZvcmNl
UmVwYWludElmTmVlZGVkKCkKICAgICBtX2hhc091dHN0YW5kaW5nUmVwYWludFJlcXVlc3QgPSB0
cnVlOwogCiAgICAgdWludDY0X3QgcGFnZUlEID0gbV93ZWJQYWdlUHJveHkucGFnZUlEKCk7Ci0g
ICAgbV93ZWJQYWdlUHJveHkuZm9yY2VSZXBhaW50KFZvaWRDYWxsYmFjazo6Y3JlYXRlKFtwYWdl
SURdIChDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKSB7Ci0gICAgICAgIGlmIChhdXRvIGdlc3R1
cmVDb250cm9sbGVyID0gZ2VzdHVyZUNvbnRyb2xsZXJGb3JQYWdlKHBhZ2VJRCkpCisgICAgR2Vz
dHVyZUlEIGdlc3R1cmVJRCA9IG1fY3VycmVudEdlc3R1cmVJRDsKKyAgICBtX3dlYlBhZ2VQcm94
eS5mb3JjZVJlcGFpbnQoVm9pZENhbGxiYWNrOjpjcmVhdGUoW3BhZ2VJRCwgZ2VzdHVyZUlEXSAo
Q2FsbGJhY2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICBpZiAoYXV0byBnZXN0dXJlQ29u
dHJvbGxlciA9IGNvbnRyb2xsZXJGb3JHZXN0dXJlKHBhZ2VJRCwgZ2VzdHVyZUlEKSkKICAgICAg
ICAgICAgIGdlc3R1cmVDb250cm9sbGVyLT5yZW1vdmVTd2lwZVNuYXBzaG90KCk7CiAgICAgfSkp
OwogfQpAQCAtODA0LDExICs4MDUsMTEgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnJl
bW92ZVN3aXBlU25hcHNob3QoKQogCiAgICAgbV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzLmNsZWFy
KCk7CiAKLSAgICBtX2FjdGl2ZUdlc3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpOb25lOwot
CiAgICAgbV93ZWJQYWdlUHJveHkubmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdFdhc1JlbW92ZWQo
KTsKIAogICAgIG1fYmFja2dyb3VuZENvbG9yRm9yQ3VycmVudFNuYXBzaG90ID0gQ29sb3IoKTsK
KworICAgIGRpZEVuZEdlc3R1cmUoKTsKIH0KIAogZG91YmxlIFZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6bWFnbmlmaWNhdGlvbigpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>