<?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>142892</bug_id>
          
          <creation_ts>2015-03-19 19:22:52 -0700</creation_ts>
          <short_desc>Web Inspector: Support attaching to another view other than the WKView</short_desc>
          <delta_ts>2015-03-23 19:42:14 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>andersca</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078722</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-19 19:22:52 -0700</bug_when>
    <thetext>To be more flexible with the host application, we should support attaching to a view other than the WKView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078723</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-19 19:23:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/20234342&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078724</commentid>
    <comment_count>2</comment_count>
      <attachid>249078</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-19 19:27:26 -0700</bug_when>
    <thetext>Created attachment 249078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078970</commentid>
    <comment_count>3</comment_count>
      <attachid>249078</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-20 15:48:57 -0700</bug_when>
    <thetext>Comment on attachment 249078
Patch

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

Looks good to me. Needs a WK2 Owner&apos;s approval.

&gt; Source/WebKit2/ChangeLog:19
&gt; +        Use platformCanAttach as a final check incase there is a different

Typo: &quot;incase&quot; =&gt; &quot;in case&quot;

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h:102
&gt; +@property (retain, nonatomic, setter=_setInspectorAttachmentView:) NSView *_inspectorAttachmentView;

Interesting that one of the above new properties has WK_AVAILABLE. That said, I don&apos;t really think those are needed, especially in *Private.h, so what you have looks fine to me.

&gt; Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm:597
&gt; +    unsigned maximumAttachedHeight = NSHeight(inspectedViewFrame) * maximumAttachedHeightRatio;

Should this be &quot;float&quot; instead of unsigned? You&apos;re dealing with two floats on the right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079207</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-22 19:28:49 -0700</bug_when>
    <thetext>Sam, Anders, or Tim, please review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079208</commentid>
    <comment_count>5</comment_count>
      <attachid>249078</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-22 19:29:47 -0700</bug_when>
    <thetext>Comment on attachment 249078
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h:102
&gt;&gt; +@property (retain, nonatomic, setter=_setInspectorAttachmentView:) NSView *_inspectorAttachmentView;
&gt; 
&gt; Interesting that one of the above new properties has WK_AVAILABLE. That said, I don&apos;t really think those are needed, especially in *Private.h, so what you have looks fine to me.

I don&apos;t see the point for private API. I can add it if needed.

&gt;&gt; Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm:597
&gt;&gt; +    unsigned maximumAttachedHeight = NSHeight(inspectedViewFrame) * maximumAttachedHeightRatio;
&gt; 
&gt; Should this be &quot;float&quot; instead of unsigned? You&apos;re dealing with two floats on the right.

Yeah, I&apos;ll fix that up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079501</commentid>
    <comment_count>6</comment_count>
      <attachid>249078</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-03-23 16:14:55 -0700</bug_when>
    <thetext>Comment on attachment 249078
Patch

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

&gt; Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm:41
&gt;  #import &quot;WKViewInternal.h&quot;
&gt; +#import &quot;WKViewPrivate.h&quot;

I thought WKViewInternal imported WKViewPrivate? (it does)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079508</commentid>
    <comment_count>7</comment_count>
      <attachid>249078</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-03-23 16:37:25 -0700</bug_when>
    <thetext>Comment on attachment 249078
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h:102
&gt;&gt;&gt; +@property (retain, nonatomic, setter=_setInspectorAttachmentView:) NSView *_inspectorAttachmentView;
&gt;&gt; 
&gt;&gt; Interesting that one of the above new properties has WK_AVAILABLE. That said, I don&apos;t really think those are needed, especially in *Private.h, so what you have looks fine to me.
&gt; 
&gt; I don&apos;t see the point for private API. I can add it if needed.

Please add them, and use strong instead of retain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079510</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-23 16:43:57 -0700</bug_when>
    <thetext>https://trac.webkit.org/r181881</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079535</commentid>
    <comment_count>9</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-23 19:28:18 -0700</bug_when>
    <thetext>32-bit build fixes:
https://trac.webkit.org/changeset/181884
https://trac.webkit.org/changeset/181885</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079537</commentid>
    <comment_count>10</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-03-23 19:42:14 -0700</bug_when>
    <thetext>Thanks Joe. Sorry about that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249078</attachid>
            <date>2015-03-19 19:27:26 -0700</date>
            <delta_ts>2015-03-23 16:14:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142892-20150319192700.patch</filename>
            <type>text/plain</type>
            <size>14586</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmNiMTk3YjZiZTc1MDY3
ZTc3YzRmMTdmODlmYTdhZDJiYTRkN2NiZC4uYWIzMjUwNWU0Y2YwNTRmYmUwOWQ0NmJkMzExYzU5
MGE2NGEzYWFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE1LTAzLTE5ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTdXBwb3J0IGF0dGFjaGluZyB0byBhbm90aGVyIHZpZXcgb3RoZXIgdGhhbiB0aGUgV0tWaWV3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4OTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHA6CisgICAgICAgIChXS0luc3BlY3RvckF0dGFjaCk6
IERyaXZlIGJ5IGZpeCBzbyBpdCB1c2VkIHRoZSBsYXN0IGF0dGFjaG1lbnQgc2lkZS4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IF9pbnNwZWN0b3JB
dHRhY2htZW50Vmlld10pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tWaWV3IF9zZXRJbnNwZWN0b3JB
dHRhY2htZW50VmlldzpdKTogQWRkZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRl
SW5zcGVjdG9yUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjphdHRh
Y2hBdmFpbGFiaWxpdHlDaGFuZ2VkKToKKyAgICAgICAgVXNlIHBsYXRmb3JtQ2FuQXR0YWNoIGFz
IGEgZmluYWwgY2hlY2sgaW5jYXNlIHRoZXJlIGlzIGEgZGlmZmVyZW50CisgICAgICAgIGF0dGFj
aG1lbnQgdmlldyB0aGF0IHRoZSBwbGF0Zm9ybSBrbm93cyBhYm91dC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6YXR0YWNobWVudFNpZGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtQ2FuQXR0YWNoKTogQWRkZWQuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JQcm94eTo6YXR0YWNobWVudFZpZXdEaWRDaGFuZ2UpOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmNsb3NlVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DYW5BdHRhY2gpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdGVkVmlld0ZyYW1lRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSW5z
cGVjdGVkV2luZG93SGVpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtSW5zcGVjdGVkV2luZG93V2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1BdHRhY2gpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0
b3JQcm94eTo6cGxhdGZvcm1EZXRhY2gpOgorICAgICAgICBVc2UgdGhlIF9pbnNwZWN0b3JBdHRh
Y2htZW50VmlldyBhbmQgY2hhbmdlIGhvdyB0aGUgZnJhbWUgY2hhbmdlIG5vdGlmaWNhdGlvbgor
ICAgICAgICBpcyBvYnNlcnZlZCBhbmQgZm9sbG93IHRoZSBhdHRhY2htZW50IHZpZXcgYXMgaXQg
Y2hhbmdlcy4KKwogMjAxNS0wMy0xNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIE9uZSBtb3JlIFVSVEJGIGFmdGVyIHIxODE1NzguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcAppbmRleCA2YjAyMmUyOTQ5
NWYyMGQwMGUwMGNlNjZmMWQ2NGFlMDU3ZDMwNGZiLi45MmM2NDFkYmIzYWMwY2JlZDFkOTJhYTRi
M2JkYzM3Y2Y2NDY1ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0luc3BlY3Rvci5jcHAKQEAgLTEwMSw3ICsxMDEsOCBAQCBib29sIFdLSW5zcGVjdG9ySXNBdHRh
Y2hlZChXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiAKIHZvaWQgV0tJbnNwZWN0b3JBdHRh
Y2goV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewotICAgIHRvSW1wbChpbnNwZWN0b3JS
ZWYpLT5hdHRhY2goKTsKKyAgICBhdXRvIGluc3BlY3RvciA9IHRvSW1wbChpbnNwZWN0b3JSZWYp
OworICAgIGluc3BlY3Rvci0+YXR0YWNoKGluc3BlY3Rvci0+YXR0YWNobWVudFNpZGUoKSk7CiB9
CiAKIHZvaWQgV0tJbnNwZWN0b3JEZXRhY2goV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXdQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUu
aAppbmRleCBhMjUwYjYyMmIyODdkZjJhNjYwZjBmNTBhMGE3YzkzZDc0OTNmYmYxLi5iMGMzNDU5
ZTMyM2RjYmM1YWQ4M2Y3NmNjYmQ4MzM3YzI5ZWMxZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUuaApAQCAtOTcsNyArOTcsOSBA
QAogI2VuZGlmCiAKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIE5TQ29sb3IgKl9wYWdlRXh0ZW5kZWRC
YWNrZ3JvdW5kQ29sb3I7Ci1AcHJvcGVydHkoY29weSwgbm9uYXRvbWljKSBOU0NvbG9yICp1bmRl
cmxheUNvbG9yOworQHByb3BlcnR5IChjb3B5LCBub25hdG9taWMpIE5TQ29sb3IgKnVuZGVybGF5
Q29sb3I7CisKK0Bwcm9wZXJ0eSAocmV0YWluLCBub25hdG9taWMsIHNldHRlcj1fc2V0SW5zcGVj
dG9yQXR0YWNobWVudFZpZXc6KSBOU1ZpZXcgKl9pbnNwZWN0b3JBdHRhY2htZW50VmlldzsKIAog
LSAoTlNWaWV3KilmdWxsU2NyZWVuUGxhY2Vob2xkZXJWaWV3OwogLSAoTlNXaW5kb3cqKWNyZWF0
ZUZ1bGxTY3JlZW5XaW5kb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1Zp
ZXcubW0KaW5kZXggZTdjZGFhMGNlNmZiYzU0YWM4MWMzMTQyZDM2ZWFkYTk4OWUzMjI0OC4uYWU4
ZjYwZDY5ZTVkMDg4YWE2Yzg1YTYxOWEyZWNjOTM4MTU4OTQzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtNjgsNiArNjgsNyBAQAogI2ltcG9ydCAi
V0tWaWV3UHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViQmFja0ZvcndhcmRMaXN0LmgiCiAjaW1wb3J0
ICJXZWJFdmVudEZhY3RvcnkuaCIKKyNpbXBvcnQgIldlYkluc3BlY3RvclByb3h5LmgiCiAjaW1w
b3J0ICJXZWJLaXQySW5pdGlhbGl6ZS5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAi
V2ViUGFnZUdyb3VwLmgiCkBAIC0xODgsNyArMTg5LDkgQEAgQHB1YmxpYwogICAgIFJldGFpblB0
cjxOU1ZpZXc+IF9sYXllckhvc3RpbmdWaWV3OwogCiAgICAgUmV0YWluUHRyPGlkPiBfcmVtb3Rl
QWNjZXNzaWJpbGl0eUNoaWxkOwotICAgIAorCisgICAgUmV0YWluUHRyPE5TVmlldz4gX2luc3Bl
Y3RvckF0dGFjaG1lbnRWaWV3OworCiAgICAgLy8gRm9yIGFzeW5jaHJvbm91cyB2YWxpZGF0aW9u
LgogICAgIFZhbGlkYXRpb25NYXAgX3ZhbGlkYXRpb25NYXA7CiAKQEAgLTQwMjAsNiArNDAyMywy
MiBAQCAtICh2b2lkKXNldFVuZGVybGF5Q29sb3I6KE5TQ29sb3IgKil1bmRlcmxheUNvbG9yCiAg
ICAgX2RhdGEtPl9wYWdlLT5zZXRVbmRlcmxheUNvbG9yKGNvbG9yRnJvbU5TQ29sb3IodW5kZXJs
YXlDb2xvcikpOwogfQogCistIChOU1ZpZXcgKilfaW5zcGVjdG9yQXR0YWNobWVudFZpZXcKK3sK
KyAgICBOU1ZpZXcgKmF0dGFjaG1lbnRWaWV3ID0gX2RhdGEtPl9pbnNwZWN0b3JBdHRhY2htZW50
Vmlldy5nZXQoKTsKKyAgICByZXR1cm4gYXR0YWNobWVudFZpZXcgPyBhdHRhY2htZW50VmlldyA6
IHNlbGY7Cit9CisKKy0gKHZvaWQpX3NldEluc3BlY3RvckF0dGFjaG1lbnRWaWV3OihOU1ZpZXcg
KiluZXdWaWV3Cit7CisgICAgTlNWaWV3ICpvbGRWaWV3ID0gX2RhdGEtPl9pbnNwZWN0b3JBdHRh
Y2htZW50Vmlldy5nZXQoKTsKKyAgICBpZiAob2xkVmlldyA9PSBuZXdWaWV3KQorICAgICAgICBy
ZXR1cm47CisKKyAgICBfZGF0YS0+X2luc3BlY3RvckF0dGFjaG1lbnRWaWV3ID0gbmV3VmlldzsK
KyAgICBfZGF0YS0+X3BhZ2UtPmluc3BlY3RvcigpLT5hdHRhY2htZW50Vmlld0RpZENoYW5nZShv
bGRWaWV3ID8gb2xkVmlldyA6IHNlbGYsIG5ld1ZpZXcgPyBuZXdWaWV3IDogc2VsZik7Cit9CisK
IC0gKE5TVmlldyAqKWZ1bGxTY3JlZW5QbGFjZWhvbGRlclZpZXcKIHsKICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5LmNwcAppbmRleCBkMjBkNWRlNjc3MGI0ZmUxNzcyMjJiNGM2YmQwNGFkYWE2ZTQyMDZjLi5m
YzNkMDI5NzFiODE5YThmMTdmZTQ3NzIxZGYzOTczZjMxNWNlNDhhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKQEAgLTQ4MSw3ICs0ODEsNyBA
QCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVJbnNwZWN0b3JQYWdlKElQQzo6QXR0YWNo
bWVudCBjb25uZWN0aW9uSWRlbnRpZmllcgogICAgIG1faW5zcGVjdG9yUGFnZS0+cHJvY2Vzcygp
LnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3RvclVJOjpFc3RhYmxpc2hDb25uZWN0aW9uKG1fY29u
bmVjdGlvbklkZW50aWZpZXIsIG1faW5zcGVjdGVkUGFnZS0+cGFnZUlEKCksIG1fdW5kZXJUZXN0
KSwgbV9pbnNwZWN0b3JQYWdlLT5wYWdlSUQoKSk7CiAKICAgICBpZiAoIW1fdW5kZXJUZXN0KSB7
Ci0gICAgICAgIG1fY2FuQXR0YWNoID0gY2FuQXR0YWNoOworICAgICAgICBtX2NhbkF0dGFjaCA9
IHBsYXRmb3JtQ2FuQXR0YWNoKGNhbkF0dGFjaCk7CiAgICAgICAgIG1faXNBdHRhY2hlZCA9IHNo
b3VsZE9wZW5BdHRhY2hlZCgpOwogICAgICAgICBtX2F0dGFjaG1lbnRTaWRlID0gc3RhdGljX2Nh
c3Q8QXR0YWNobWVudFNpZGU+KGluc3BlY3RvclBhZ2VQcmVmZXJlbmNlcygpLmluc3BlY3RvckF0
dGFjaG1lbnRTaWRlKCkpOwogCkBAIC01NTUsOSArNTU1LDE0IEBAIHZvaWQgV2ViSW5zcGVjdG9y
UHJveHk6OmJyaW5nVG9Gcm9udCgpCiAKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmF0dGFjaEF2
YWlsYWJpbGl0eUNoYW5nZWQoYm9vbCBhdmFpbGFibGUpCiB7Ci0gICAgbV9jYW5BdHRhY2ggPSBh
dmFpbGFibGU7CisgICAgYm9vbCBwcmV2aW91c0NhbkF0dGFjaCA9IG1fY2FuQXR0YWNoOwogCi0g
ICAgcGxhdGZvcm1BdHRhY2hBdmFpbGFiaWxpdHlDaGFuZ2VkKGF2YWlsYWJsZSk7CisgICAgbV9j
YW5BdHRhY2ggPSBwbGF0Zm9ybUNhbkF0dGFjaChhdmFpbGFibGUpOworCisgICAgaWYgKHByZXZp
b3VzQ2FuQXR0YWNoID09IG1fY2FuQXR0YWNoKQorICAgICAgICByZXR1cm47CisKKyAgICBwbGF0
Zm9ybUF0dGFjaEF2YWlsYWJpbGl0eUNoYW5nZWQobV9jYW5BdHRhY2gpOwogfQogCiB2b2lkIFdl
Ykluc3BlY3RvclByb3h5OjppbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsU3Ry
aW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRl
eCAwNzE3ZGQzYWMwMjc3N2EzZGQyNmE5MmI4YTEwYmVlYWI0NTE3NWE1Li5kYjE1MGZiY2I1MTEx
NGRiN2FmMjRlNDZhZDU2YjdkMTBhMmZhM2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkuaApAQCAtNDIsNiArNDIsNyBAQAogCiBPQkpDX0NMQVNTIE5T
QnV0dG9uOwogT0JKQ19DTEFTUyBOU1VSTDsKK09CSkNfQ0xBU1MgTlNWaWV3OwogT0JKQ19DTEFT
UyBOU1dpbmRvdzsKIE9CSkNfQ0xBU1MgV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyOwog
T0JKQ19DTEFTUyBXS1dlYkluc3BlY3RvcldLV2ViVmlldzsKQEAgLTEwNiw2ICsxMDcsOCBAQCBw
dWJsaWM6CiAgICAgV0tSZWN0IGluc3BlY3RvcldpbmRvd0ZyYW1lKCk7CiAKICAgICB2b2lkIGNs
b3NlVGltZXJGaXJlZCgpOworCisgICAgdm9pZCBhdHRhY2htZW50Vmlld0RpZENoYW5nZShOU1Zp
ZXcgKm9sZFZpZXcsIE5TVmlldyAqbmV3Vmlldyk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKEdU
SykKQEAgLTExNyw2ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93UmVzb3VyY2VzKCk7
CiAgICAgdm9pZCBzaG93TWFpblJlc291cmNlRm9yRnJhbWUoV2ViRnJhbWVQcm94eSopOwogCisg
ICAgQXR0YWNobWVudFNpZGUgYXR0YWNobWVudFNpZGUoKSBjb25zdCB7IHJldHVybiBtX2F0dGFj
aG1lbnRTaWRlOyB9CiAgICAgYm9vbCBpc0F0dGFjaGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0F0
dGFjaGVkOyB9CiAgICAgdm9pZCBhdHRhY2hSaWdodCgpOwogICAgIHZvaWQgYXR0YWNoQm90dG9t
KCk7CkBAIC0xNzMsNiArMTc3LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybVNhdmUo
Y29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2
NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgcGxhdGZvcm1BcHBlbmQoY29u
c3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKIAorI2lmIFBMQVRG
T1JNKE1BQykKKyAgICBib29sIHBsYXRmb3JtQ2FuQXR0YWNoKGJvb2wgd2ViUHJvY2Vzc0NhbkF0
dGFjaCk7CisjZWxzZQorICAgIGJvb2wgcGxhdGZvcm1DYW5BdHRhY2goYm9vbCB3ZWJQcm9jZXNz
Q2FuQXR0YWNoKSB7IHJldHVybiB3ZWJQcm9jZXNzQ2FuQXR0YWNoOyB9CisjZW5kaWYKKwogICAg
IC8vIENhbGxlZCBieSBXZWJJbnNwZWN0b3JQcm94eSBtZXNzYWdlcwogICAgIHZvaWQgY3JlYXRl
SW5zcGVjdG9yUGFnZShJUEM6OkF0dGFjaG1lbnQsIGJvb2wgY2FuQXR0YWNoLCBib29sIHVuZGVy
VGVzdCk7CiAgICAgdm9pZCBkaWRDbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggYzYzMDIzZjE5Y2Y2MGMy
ZjRhZmQ2NjZjMmUzMjU4NjYxMGQxODk2ZS4uZTk2ZDM0OWZmMjFlYjk3NzNkOTZmODk1ZGRmZjNj
ZWMyYTA2ZmRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0ICJXS1JldGFp
blB0ci5oIgogI2ltcG9ydCAiV0tVUkxDRi5oIgogI2ltcG9ydCAiV0tWaWV3SW50ZXJuYWwuaCIK
KyNpbXBvcnQgIldLVmlld1ByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3VyYXRp
b25Qcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2Vi
SW5zcGVjdG9yTWVzc2FnZXMuaCIKQEAgLTI5MCw2ICsyOTEsMTUgQEAgc3RhdGljIHZvaWQgcnVu
T3BlblBhbmVsKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS09wZW5QYW5lbFBh
cmFtZXRlcnMKICAgICB9XTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6YXR0YWNobWVu
dFZpZXdEaWRDaGFuZ2UoTlNWaWV3ICpvbGRWaWV3LCBOU1ZpZXcgKm5ld1ZpZXcpCit7CisgICAg
W1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2lu
c3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIuZ2V0KCkgbmFtZTpOU1ZpZXdGcmFtZURpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6b2xkVmlld107CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjptX2luc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIuZ2V0
KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGluc3BlY3RlZFZpZXdGcmFtZURpZENoYW5nZTopIG5hbWU6
TlNWaWV3RnJhbWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5ld1ZpZXddOworCisgICAg
aWYgKG1faXNBdHRhY2hlZCkKKyAgICAgICAgYXR0YWNoKG1fYXR0YWNobWVudFNpZGUpOworfQor
CiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpzZXRJbnNwZWN0b3JXaW5kb3dGcmFtZShXS1JlY3Qm
IGZyYW1lKQogewogICAgIGlmIChtX2lzQXR0YWNoZWQpCkBAIC0zMTgsNiArMzI4LDggQEAgdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6Y2xvc2VUaW1lckZpcmVkKCkKICAgICAgICAgbV9pbnNwZWN0
b3JWaWV3ID0gbmlsOwogICAgIH0KIAorICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9pbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyLmdldCgp
XTsKKwogICAgIFttX2luc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIgY2xvc2VdOwogICAgIG1faW5z
cGVjdG9yUHJveHlPYmpDQWRhcHRlciA9IG5pbDsKIH0KQEAgLTQ1OSw5ICs0NzEsMTEgQEAgV2Vi
UGFnZVByb3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVJbnNwZWN0b3JQYWdl
KCkKICAgICBBU1NFUlQoIW1faW5zcGVjdG9yVmlldyk7CiAgICAgQVNTRVJUKCFtX2luc3BlY3Rv
clByb3h5T2JqQ0FkYXB0ZXIpOwogCisgICAgTlNWaWV3ICppbnNwZWN0ZWRWaWV3ID0gaW5zcGVj
dGVkUGFnZSgpLT53a1ZpZXcoKS5faW5zcGVjdG9yQXR0YWNobWVudFZpZXc7CisKICAgICBOU1Jl
Y3QgaW5pdGlhbFJlY3Q7CiAgICAgaWYgKG1faXNBdHRhY2hlZCkgewotICAgICAgICBOU1JlY3Qg
aW5zcGVjdGVkVmlld0ZyYW1lID0gaW5zcGVjdGVkUGFnZSgpLT53a1ZpZXcoKS5mcmFtZTsKKyAg
ICAgICAgTlNSZWN0IGluc3BlY3RlZFZpZXdGcmFtZSA9IGluc3BlY3RlZFZpZXcuZnJhbWU7CiAK
ICAgICAgICAgc3dpdGNoIChtX2F0dGFjaG1lbnRTaWRlKSB7CiAgICAgICAgIGNhc2UgQXR0YWNo
bWVudFNpZGU6OkJvdHRvbToKQEAgLTUwOCw2ICs1MjIsOCBAQCBXZWJQYWdlUHJveHkqIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2UoKQogCiAgICAgW21faW5z
cGVjdG9yVmlldyBzZXRJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyOm1faW5zcGVjdG9yUHJveHlP
YmpDQWRhcHRlci5nZXQoKV07CiAKKyAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIGFkZE9ic2VydmVyOm1faW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlci5nZXQoKSBzZWxl
Y3RvcjpAc2VsZWN0b3IoaW5zcGVjdGVkVmlld0ZyYW1lRGlkQ2hhbmdlOikgbmFtZTpOU1ZpZXdG
cmFtZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6aW5zcGVjdGVkVmlld107CisKICAgICBX
ZWJQYWdlUHJveHkqIGluc3BlY3RvclBhZ2UgPSBtX2luc3BlY3RvclZpZXctPl9wYWdlLmdldCgp
OwogICAgIEFTU0VSVChpbnNwZWN0b3JQYWdlKTsKIApAQCAtNTY2LDYgKzU4MiwyMiBAQCBXZWJQ
YWdlUHJveHkqIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUluc3BlY3RvclBhZ2Uo
KQogICAgIHJldHVybiBpbnNwZWN0b3JQYWdlOwogfQogCitib29sIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybUNhbkF0dGFjaChib29sIHdlYlByb2Nlc3NDYW5BdHRhY2gpCit7CisgICAgTlNW
aWV3ICppbnNwZWN0ZWRWaWV3ID0gaW5zcGVjdGVkUGFnZSgpLT53a1ZpZXcoKS5faW5zcGVjdG9y
QXR0YWNobWVudFZpZXc7CisgICAgaWYgKFtpbnNwZWN0ZWRWaWV3IGlzS2luZE9mQ2xhc3M6W1dL
VmlldyBjbGFzc11dKQorICAgICAgICByZXR1cm4gd2ViUHJvY2Vzc0NhbkF0dGFjaDsKKworICAg
IHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtQXR0YWNoZWRIZWlnaHQgPSAyNTA7CisgICAgc3Rh
dGljIGNvbnN0IGZsb2F0IG1heGltdW1BdHRhY2hlZEhlaWdodFJhdGlvID0gMC43NTsKKyAgICBz
dGF0aWMgY29uc3QgZmxvYXQgbWluaW11bUF0dGFjaGVkV2lkdGggPSA3NTA7CisKKyAgICBOU1Jl
Y3QgaW5zcGVjdGVkVmlld0ZyYW1lID0gaW5zcGVjdGVkVmlldy5mcmFtZTsKKworICAgIHVuc2ln
bmVkIG1heGltdW1BdHRhY2hlZEhlaWdodCA9IE5TSGVpZ2h0KGluc3BlY3RlZFZpZXdGcmFtZSkg
KiBtYXhpbXVtQXR0YWNoZWRIZWlnaHRSYXRpbzsKKyAgICByZXR1cm4gbWluaW11bUF0dGFjaGVk
SGVpZ2h0IDw9IG1heGltdW1BdHRhY2hlZEhlaWdodCAmJiBtaW5pbXVtQXR0YWNoZWRXaWR0aCA8
PSBOU1dpZHRoKGluc3BlY3RlZFZpZXdGcmFtZSk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtT3BlbigpCiB7CiAgICAgaWYgKG1faXNBdHRhY2hlZCkKQEAgLTcyNywxMCAr
NzU5LDE3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OndpbmRvd0ZyYW1lRGlkQ2hhbmdlKCkK
IAogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdGVkVmlld0ZyYW1lRGlkQ2hhbmdlKENH
RmxvYXQgY3VycmVudERpbWVuc2lvbikKIHsKLSAgICBpZiAoIW1faXNBdHRhY2hlZCB8fCAhbV9p
c1Zpc2libGUpCisgICAgaWYgKCFtX2lzVmlzaWJsZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
V0tWaWV3ICppbnNwZWN0ZWRWaWV3ID0gaW5zcGVjdGVkUGFnZSgpLT53a1ZpZXcoKTsKKyAgICBp
ZiAoIW1faXNBdHRhY2hlZCkgeworICAgICAgICAvLyBDaGVjayBpZiB0aGUgYXR0YWNoIGF2YWli
aWxpdHkgY2hhbmdlZC4gV2UgbmVlZCB0byBkbyB0aGlzIGhlcmUgaW4gY2FzZQorICAgICAgICAv
LyB0aGUgYXR0YWNobWVudCB2aWV3IGlzIG5vdCB0aGUgV0tWaWV3LgorICAgICAgICBhdHRhY2hB
dmFpbGFiaWxpdHlDaGFuZ2VkKHBsYXRmb3JtQ2FuQXR0YWNoKGNhbkF0dGFjaCgpKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBOU1ZpZXcgKmluc3BlY3RlZFZpZXcgPSBpbnNwZWN0
ZWRQYWdlKCktPndrVmlldygpLl9pbnNwZWN0b3JBdHRhY2htZW50VmlldzsKICAgICBOU1JlY3Qg
aW5zcGVjdGVkVmlld0ZyYW1lID0gW2luc3BlY3RlZFZpZXcgZnJhbWVdOwogICAgIE5TUmVjdCBp
bnNwZWN0b3JGcmFtZSA9IE5TWmVyb1JlY3Q7CiAgICAgTlNSZWN0IHBhcmVudEJvdW5kcyA9IFtb
aW5zcGVjdGVkVmlldyBzdXBlcnZpZXddIGJvdW5kc107CkBAIC03NjAsNyArNzk5LDkgQEAgdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdGVkVmlld0ZyYW1lRGlkQ2hhbmdlKENHRmxvYXQg
Y3VycmVudERpbWVuc2lvbikKICAgICAgICAgLy8gUHJlc2VydmUgdGhlIHRvcCBwb3NpdGlvbiBv
ZiB0aGUgaW5zcGVjdGVkIHZpZXcgc28gYmFubmVycyBpbiBTYWZhcmkgc3RpbGwgd29yay4gQnV0
IGRvbid0IHVzZSB0aGF0CiAgICAgICAgIC8vIHRvcCBwb3NpdGlvbiBmb3IgdGhlIGluc3BlY3Rv
ciB2aWV3IHNpbmNlIHRoZSBiYW5uZXJzIG9ubHkgc3RyZXRjaCBhcyB3aWRlIGFzIHRoZSB0aGUg
aW5zcGVjdGVkIHZpZXcuCiAgICAgICAgIGluc3BlY3RlZFZpZXdGcmFtZSA9IE5TTWFrZVJlY3Qo
MCwgMCwgcGFyZW50V2lkdGggLSBpbnNwZWN0b3JXaWR0aCwgaW5zcGVjdGVkVmlld1RvcCk7Ci0g
ICAgICAgIENHRmxvYXQgaW5zZXRFeGNsdWRpbmdCYW5uZXJzID0gaW5zcGVjdGVkVmlldy5fdG9w
Q29udGVudEluc2V0IC0gaW5zcGVjdGVkVmlldy5fdG90YWxIZWlnaHRPZkJhbm5lcnM7CisgICAg
ICAgIENHRmxvYXQgaW5zZXRFeGNsdWRpbmdCYW5uZXJzID0gMDsKKyAgICAgICAgaWYgKFtpbnNw
ZWN0ZWRWaWV3IGlzS2luZE9mQ2xhc3M6W1dLVmlldyBjbGFzc11dKQorICAgICAgICAgICAgaW5z
ZXRFeGNsdWRpbmdCYW5uZXJzID0gKChXS1ZpZXcgKilpbnNwZWN0ZWRWaWV3KS5fdG9wQ29udGVu
dEluc2V0IC0gKChXS1ZpZXcgKilpbnNwZWN0ZWRWaWV3KS5fdG90YWxIZWlnaHRPZkJhbm5lcnM7
CiAgICAgICAgIGluc3BlY3RvckZyYW1lID0gTlNNYWtlUmVjdChwYXJlbnRXaWR0aCAtIGluc3Bl
Y3RvcldpZHRoLCAwLCBpbnNwZWN0b3JXaWR0aCwgTlNIZWlnaHQocGFyZW50Qm91bmRzKSAtIGlu
c2V0RXhjbHVkaW5nQmFubmVycyk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTc4MCwyMiAr
ODIxLDIxIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RlZFZpZXdGcmFtZURpZENo
YW5nZShDR0Zsb2F0IGN1cnJlbnREaW1lbnNpb24pCiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclBy
b3h5OjpwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hlaWdodCgpCiB7Ci0gICAgV0tWaWV3ICppbnNw
ZWN0ZWRWaWV3ID0gaW5zcGVjdGVkUGFnZSgpLT53a1ZpZXcoKTsKKyAgICBOU1ZpZXcgKmluc3Bl
Y3RlZFZpZXcgPSBpbnNwZWN0ZWRQYWdlKCktPndrVmlldygpLl9pbnNwZWN0b3JBdHRhY2htZW50
VmlldzsKICAgICBOU1JlY3QgaW5zcGVjdGVkVmlld1JlY3QgPSBbaW5zcGVjdGVkVmlldyBmcmFt
ZV07CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbnNwZWN0ZWRWaWV3UmVjdC5z
aXplLmhlaWdodCk7CiB9CiAKIHVuc2lnbmVkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUlu
c3BlY3RlZFdpbmRvd1dpZHRoKCkKIHsKLSAgICBXS1ZpZXcgKmluc3BlY3RlZFZpZXcgPSBpbnNw
ZWN0ZWRQYWdlKCktPndrVmlldygpOworICAgIE5TVmlldyAqaW5zcGVjdGVkVmlldyA9IGluc3Bl
Y3RlZFBhZ2UoKS0+d2tWaWV3KCkuX2luc3BlY3RvckF0dGFjaG1lbnRWaWV3OwogICAgIE5TUmVj
dCBpbnNwZWN0ZWRWaWV3UmVjdCA9IFtpbnNwZWN0ZWRWaWV3IGZyYW1lXTsKICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGluc3BlY3RlZFZpZXdSZWN0LnNpemUud2lkdGgpOwogfQog
CiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUF0dGFjaCgpCiB7Ci0gICAgV0tWaWV3
ICppbnNwZWN0ZWRWaWV3ID0gaW5zcGVjdGVkUGFnZSgpLT53a1ZpZXcoKTsKLSAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOm1faW5zcGVjdG9yUHJv
eHlPYmpDQWRhcHRlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoaW5zcGVjdGVkVmlld0ZyYW1l
RGlkQ2hhbmdlOikgbmFtZTpOU1ZpZXdGcmFtZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6
aW5zcGVjdGVkVmlld107CisgICAgTlNWaWV3ICppbnNwZWN0ZWRWaWV3ID0gaW5zcGVjdGVkUGFn
ZSgpLT53a1ZpZXcoKS5faW5zcGVjdG9yQXR0YWNobWVudFZpZXc7CiAKICAgICBpZiAobV9pbnNw
ZWN0b3JXaW5kb3cpIHsKICAgICAgICAgW21faW5zcGVjdG9yV2luZG93IHNldERlbGVnYXRlOm5p
bF07CkBAIC04MjcsOCArODY3LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1B
dHRhY2goKQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybURldGFjaCgpCiB7Ci0g
ICAgV0tWaWV3ICppbnNwZWN0ZWRWaWV3ID0gaW5zcGVjdGVkUGFnZSgpLT53a1ZpZXcoKTsKLSAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1f
aW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlci5nZXQoKSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdl
Tm90aWZpY2F0aW9uIG9iamVjdDppbnNwZWN0ZWRWaWV3XTsKKyAgICBOU1ZpZXcgKmluc3BlY3Rl
ZFZpZXcgPSBpbnNwZWN0ZWRQYWdlKCktPndrVmlldygpLl9pbnNwZWN0b3JBdHRhY2htZW50Vmll
dzsKIAogICAgIFttX2luc3BlY3RvclZpZXcgcmVtb3ZlRnJvbVN1cGVydmlld107CiAK
</data>
<flag name="review"
          id="273915"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="273916"
          type_id="3"
          status="-"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>