<?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>154995</bug_id>
          
          <creation_ts>2016-03-03 16:55:12 -0800</creation_ts>
          <short_desc>Add a mechanism to customize the long press action</short_desc>
          <delta_ts>2016-03-04 20:58:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1170405</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-03 16:55:12 -0800</bug_when>
    <thetext>We need a new private delegate method to allow clients to customize the sheet displayed on long press.

rdar://problem/24823732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170416</commentid>
    <comment_count>1</comment_count>
      <attachid>272803</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-03 17:10:47 -0800</bug_when>
    <thetext>Created attachment 272803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170417</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-03 17:13:10 -0800</bug_when>
    <thetext>Attachment 272803 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:42:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm:284:  The parameter name &quot;]&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebKit2/UIProcess/ios/WKActionSheetAssistant.mm:400:  The parameter name &quot;]&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170942</commentid>
    <comment_count>3</comment_count>
      <attachid>272803</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-03-04 11:03:30 -0800</bug_when>
    <thetext>Comment on attachment 272803
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:47
&gt; +typedef NS_OPTIONS(NSUInteger, WKElementType) {
&gt; +    WKElementTypeLink,
&gt; +    WKElementTypeImage,
&gt; +    WKElementTypeAttachment
&gt; +} WK_ENUM_AVAILABLE(NA, WK_IOS_TBA);
&gt; +

I think you don&apos;t need this anymore?

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1091
&gt; +        [uiDelegate _webView:_webView showCustomSheetForElement:[[_WKActivatedElementInfo alloc] _initWithType:_WKActivatedElementTypeAttachment URL:[NSURL URLWithString:_positionInformation.url] location:_positionInformation.point title:_positionInformation.title rect:_positionInformation.bounds image:nil]];

Shouldn&apos;t this use _web_URLWithWTFString?

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3566
&gt; +            [UIApp _cancelAllTouches];

Yikes.

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2251
&gt; +                info.title = attachment.attachmentTitle();

We never want to set isSelectable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171090</commentid>
    <comment_count>4</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-04 15:47:22 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 272803 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=272803&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:47
&gt; &gt; +typedef NS_OPTIONS(NSUInteger, WKElementType) {
&gt; &gt; +    WKElementTypeLink,
&gt; &gt; +    WKElementTypeImage,
&gt; &gt; +    WKElementTypeAttachment
&gt; &gt; +} WK_ENUM_AVAILABLE(NA, WK_IOS_TBA);
&gt; &gt; +
&gt; 
&gt; I think you don&apos;t need this anymore?
&gt; 
My bad. I&apos;ll remove it.

&gt; &gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1091
&gt; &gt; +        [uiDelegate _webView:_webView showCustomSheetForElement:[[_WKActivatedElementInfo alloc] _initWithType:_WKActivatedElementTypeAttachment URL:[NSURL URLWithString:_positionInformation.url] location:_positionInformation.point title:_positionInformation.title rect:_positionInformation.bounds image:nil]];
&gt; 
&gt; Shouldn&apos;t this use _web_URLWithWTFString?
&gt; 
Yes.

&gt; We never want to set isSelectable?
Not when handling long press.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171093</commentid>
    <comment_count>5</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-03-04 15:56:52 -0800</bug_when>
    <thetext>Committed revision 197596.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171146</commentid>
    <comment_count>6</comment_count>
      <attachid>272803</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-03-04 20:58:01 -0800</bug_when>
    <thetext>Comment on attachment 272803
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm:2253
&gt; +                    info.url = downcast&lt;HTMLAttachmentElement&gt;(*hitNode).file()-&gt;path();

This is confusing. Is it a URL or a path?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272803</attachid>
            <date>2016-03-03 17:10:47 -0800</date>
            <delta_ts>2016-03-04 11:03:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>showcustomsheet.txt</filename>
            <type>text/plain</type>
            <size>16071</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzM2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTAzLTAzICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbWVjaGFuaXNtIHRv
IGN1c3RvbWl6ZSB0aGUgbG9uZyBwcmVzcyBhY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ5OTUKKyAgICAgICAgcmRhcjovL3Byb2JsZW0v
MjQ4MjM3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXZSB3YW50IHRvIGFsbG93IGxvbmcgcHJlc3Mgb24gYXR0YWNobWVudCBlbGVtZW50cyBhcyB3
ZWxsLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBNYWtp
bmcgSFRNTEF0dGFjaG1lbnRFbGVtZW50LmggcHJpdmF0ZS4KKyAgICAgICAgKiBodG1sL0hUTUxB
dHRhY2htZW50RWxlbWVudC5oOiBBZGRpbmcgZXhwb3J0ZWQgZnVuY3Rpb25zLgorCiAyMDE2LTAy
LTI5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWZDb3VudGVyPFQ+OjpFdmVudCAtPiBSZWZDb3VudGVyRXZlbnQKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDE5NzM2MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjcyNiw3ICsyNzI2LDcgQEAKIAkJN0M1MzQzRkMxN0I3
NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzUzNDNGQTE3Qjc0QjYzMDA0MjMy
RjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCAqLzsgfTsKIAkJN0M1MzQzRkQxN0I3
NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M1MzQzRkIxN0I3NEI2MzAwNDIzMkYw
IC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oICovOyB9OwogCQk3QzVGMjhGQjFBODI3RDg0
MDBDMEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNUYyOEY5MUE4MjdEODQwMEMwRjMxRiAvKiBI
VE1MQXR0YWNobWVudEVsZW1lbnQuY3BwICovOyB9OwotCQk3QzVGMjhGQzFBODI3RDg0MDBDMEYz
MUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzVGMjhGQTFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFj
aG1lbnRFbGVtZW50LmggKi87IH07CisJCTdDNUYyOEZDMUE4MjdEODQwMEMwRjMxRiAvKiBIVE1M
QXR0YWNobWVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDNUYyOEZBMUE4MjdEODQwMEMwRjMxRiAvKiBIVE1MQXR0YWNobWVudEVsZW1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
QzczRkIwNzE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzczRkIw
NTE5MUVGNDE2MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgKi87
IH07CiAJCTdDNzNGQjA4MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRsZXJzTmFt
ZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzczRkIwNjE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDNzNG
QjBDMTkxRUY1QTgwMDdERTA2MSAvKiBKU1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3M0ZCMEEx
OTFFRjVBODAwN0RFMDYxIC8qIEpTVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgKi87
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRhY2htZW50RWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dGFjaG1lbnRFbGVtZW50LmgJ
KHJldmlzaW9uIDE5NzM2MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dGFjaG1lbnRF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEwICszNywxMCBAQCBjbGFzcyBGaWxlOwog
Y2xhc3MgSFRNTEF0dGFjaG1lbnRFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxBdHRhY2htZW50RWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwotICAgIEZpbGUqIGZpbGUoKSBjb25zdDsK
KyAgICBXRUJDT1JFX0VYUE9SVCBGaWxlKiBmaWxlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRGaWxl
KEZpbGUqKTsKIAotICAgIFN0cmluZyBhdHRhY2htZW50VGl0bGUoKSBjb25zdDsKKyAgICBXRUJD
T1JFX0VYUE9SVCBTdHJpbmcgYXR0YWNobWVudFRpdGxlKCkgY29uc3Q7CiAgICAgU3RyaW5nIGF0
dGFjaG1lbnRUeXBlKCkgY29uc3Q7CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lv
biAxOTc1MzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzNiBAQAorMjAxNi0wMy0wMyAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSB0byBjdXN0b21pemUgdGhlIGxvbmcgcHJl
c3MgYWN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU0OTk1CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI0ODIzNzMyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGEgbmV3IHByaXZhdGUg
ZGVsZWdhdGUgbWV0aG9kIHRvIGFsbG93IGNsaWVudHMgdG8KKyAgICAgICAgcmVwbGFjZSB0aGUg
YWN0aW9uIHNoZWV0IGRpc3BsYXllZCBmb3IgaW1hZ2VzIGFuZCBsaW5rcy4KKyAgICAgICAgVGhl
IGNoYW5nZSBhbHNvIGFkZHMgc3VwcG9ydCBmb3IgYXR0YWNobWVudCBlbGVtZW50cy4KKworICAg
ICAgICAqIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaDoKKyAg
ICAgICAgKiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tOgor
ICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZW5jb2Rl
KToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmRl
Y29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBY3RpdmF0ZWRFbGVtZW50SW5m
by5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbToKKyAgICAg
ICAgKC1bV0tBY3Rpb25TaGVldEFzc2lzdGFudCBzaG93SW1hZ2VTaGVldF0pOgorICAgICAgICAo
LVtXS0FjdGlvblNoZWV0QXNzaXN0YW50IHNob3dMaW5rU2hlZXRdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfc2hvd0ltYWdlU2hlZXRdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2hv
d0F0dGFjaG1lbnRTaGVldF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zaG93TGlua1No
ZWV0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2FjdGlvbkZvckxvbmdQcmVzc10pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGFjdGlvblNoZWV0QXNzaXN0YW50OnNob3VsZEluY2x1
ZGVBcHBMaW5rQWN0aW9uc0ZvckVsZW1lbnQ6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
YWN0aW9uU2hlZXRBc3Npc3RhbnQ6c2hvd0N1c3RvbVNoZWV0Rm9yRWxlbWVudDpdKToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBhY3Rpb25TaGVldEFzc2lzdGFudDpkZWNpZGVBY3Rpb25zRm9y
RWxlbWVudDpkZWZhdWx0QWN0aW9uczpdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldFBvc2l0aW9u
SW5mb3JtYXRpb24pOgorCiAyMDE2LTAzLTAzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBVc2Ugc3RkOjptYWtlX3VuaXF1ZTw+IHdoZW4gY3JlYXRp
bmcgc3RkOjp1bmlxdWVfcHRyPD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmgJKHJldmlz
aW9uIDE5NzM2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBzdHJ1
Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gCiAgICAgYm9vbCB0b3VjaENhbGxv
dXRFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgaXNMaW5rIHsgZmFsc2UgfTsKICAgICBib29s
IGlzSW1hZ2UgeyBmYWxzZSB9OworICAgIGJvb2wgaXNBdHRhY2htZW50IHsgZmFsc2UgfTsKICAg
ICBib29sIGlzQW5pbWF0ZWRJbWFnZSB7IGZhbHNlIH07CiAgICAgYm9vbCBpc0VsZW1lbnQgeyBm
YWxzZSB9OwogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbi5tbQkocmV2aXNpb24gMTk3MzYxKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL2lv
cy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAt
NDgsNiArNDgsNyBAQCB2b2lkIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjplCiAg
ICAgZW5jb2RlciA8PCB0b3VjaENhbGxvdXRFbmFibGVkOwogICAgIGVuY29kZXIgPDwgaXNMaW5r
OwogICAgIGVuY29kZXIgPDwgaXNJbWFnZTsKKyAgICBlbmNvZGVyIDw8IGlzQXR0YWNobWVudDsK
ICAgICBlbmNvZGVyIDw8IGlzQW5pbWF0ZWRJbWFnZTsKICAgICBlbmNvZGVyIDw8IGlzRWxlbWVu
dDsKICAgICBlbmNvZGVyIDw8IHVybDsKQEAgLTk4LDYgKzk5LDkgQEAgYm9vbCBJbnRlcmFjdGlv
bkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
LmlzSW1hZ2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5pc0F0dGFjaG1lbnQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaXNBbmltYXRlZEltYWdlKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHJldmlzaW9uIDE5NzM2
MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJp
dmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSwxMiBAQAogQGNsYXNzIF9XS0ZyYW1l
SGFuZGxlOwogQGNsYXNzIF9XS1ByZXZpZXdFbGVtZW50SW5mbzsKIAordHlwZWRlZiBOU19PUFRJ
T05TKE5TVUludGVnZXIsIFdLRWxlbWVudFR5cGUpIHsKKyAgICBXS0VsZW1lbnRUeXBlTGluaywK
KyAgICBXS0VsZW1lbnRUeXBlSW1hZ2UsCisgICAgV0tFbGVtZW50VHlwZUF0dGFjaG1lbnQKK30g
V0tfRU5VTV9BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOworCiBAcHJvdG9jb2wgV0tVSURlbGVn
YXRlUHJpdmF0ZSA8V0tVSURlbGVnYXRlPgogCiBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwpAQCAtNzEs
NiArNzcsNyBAQCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBjb21taXRQcmV2aWV3ZWRJbWFnZVdpdGhVUkw6KE5TVVJMICopaW1hZ2VV
UkwgV0tfQVZBSUxBQkxFKE5BLCA5XzApOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBkaWREaXNtaXNzUHJldmlld1ZpZXdDb250cm9sbGVyOihVSVZpZXdDb250cm9sbGVy
ICopcHJldmlld2VkVmlld0NvbnRyb2xsZXIgY29tbWl0dGluZzooQk9PTCljb21taXR0aW5nIFdL
X0FWQUlMQUJMRShOQSwgOV8wKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgZGlkRGlzbWlzc1ByZXZpZXdWaWV3Q29udHJvbGxlcjooVUlWaWV3Q29udHJvbGxlciAqKXBy
ZXZpZXdlZFZpZXdDb250cm9sbGVyIFdLX0FWQUlMQUJMRShOQSwgOV8wKTsKKy0gKEJPT0wpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvd0N1c3RvbVNoZWV0Rm9yRWxlbWVudDooX1dL
QWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdLX0FWQUlMQUJMRShOQSwgV0tfSU9TX1RC
QSk7CiAtIChVSUVkZ2VJbnNldHMpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZmluYWxP
YnNjdXJlZEluc2V0c0ZvclNjcm9sbFZpZXc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0
aFZlbG9jaXR5OihDR1BvaW50KXZlbG9jaXR5IHRhcmdldENvbnRlbnRPZmZzZXQ6KGlub3V0IENH
UG9pbnQgKil0YXJnZXRDb250ZW50T2Zmc2V0IFdLX0FWQUlMQUJMRShOQSwgOV8wKTsKIC0gKFVJ
Vmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3Vmll
d0NvbnRyb2xsZXJGb3JVUkw6KE5TVVJMICopdXJsIGRlZmF1bHRBY3Rpb25zOihXS19BUlJBWShf
V0tFbGVtZW50QWN0aW9uICopICopYWN0aW9ucyBlbGVtZW50SW5mbzooX1dLQWN0aXZhdGVkRWxl
bWVudEluZm8gKillbGVtZW50SW5mbyBXS19BVkFJTEFCTEUoTkEsIDlfMCk7CiAtIChVSVZpZXdD
b250cm9sbGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld1ZpZXdDb250
cm9sbGVyRm9yQW5pbWF0ZWRJbWFnZUF0VVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczoo
V0tfQVJSQVkoX1dLRWxlbWVudEFjdGlvbiAqKSAqKWFjdGlvbnMgZWxlbWVudEluZm86KF9XS0Fj
dGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudEluZm8gaW1hZ2VTaXplOihDR1NpemUpaW1hZ2VT
aXplIFdLX0FWQUlMQUJMRShOQSwgOV8wKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmgJ
KHJldmlzaW9uIDE5NzM2MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBA
QAogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQWN0aXZhdGVkRWxlbWVudFR5cGUpIHsK
ICAgICBfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUxpbmssCiAgICAgX1dLQWN0aXZhdGVkRWxlbWVu
dFR5cGVJbWFnZSwKKyAgICBfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUF0dGFjaG1lbnQgV0tfRU5V
TV9BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSksCiB9IFdLX0VOVU1fQVZBSUxBQkxF
KDEwXzEwLCA4XzApOwogCiBXS19DTEFTU19BVkFJTEFCTEUoMTBfMTAsIDhfMCkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lz
dGFudC5oCShyZXZpc2lvbiAxOTczNjEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBA
QCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb247CiAtIChSZXRhaW5QdHI8
TlNBcnJheT4pYWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKilh
c3Npc3RhbnQgZGVjaWRlQWN0aW9uc0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
ICopZWxlbWVudCBkZWZhdWx0QWN0aW9uczooUmV0YWluUHRyPE5TQXJyYXk+KWRlZmF1bHRBY3Rp
b25zOwogCiBAb3B0aW9uYWwKKy0gKEJPT0wpYWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9u
U2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQgc2hvd0N1c3RvbVNoZWV0Rm9yRWxlbWVudDooX1dL
QWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50OwogLSAodm9pZCl1cGRhdGVQb3NpdGlvbklu
Zm9ybWF0aW9uRm9yQWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQg
Kilhc3Npc3RhbnQ7CiAtICh2b2lkKWFjdGlvblNoZWV0QXNzaXN0YW50OihXS0FjdGlvblNoZWV0
QXNzaXN0YW50ICopYXNzaXN0YW50IHdpbGxTdGFydEludGVyYWN0aW9uV2l0aEVsZW1lbnQ6KF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudDsKIC0gKHZvaWQpYWN0aW9uU2hlZXRBc3Np
c3RhbnREaWRTdG9wSW50ZXJhY3Rpb246KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3Rh
bnQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Np
c3RhbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0Fj
dGlvblNoZWV0QXNzaXN0YW50Lm1tCShyZXZpc2lvbiAxOTczNjEpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0JKHdvcmtpbmcgY29weSkK
QEAgLTI4MSw2ICsyODEsOCBAQCAtICh2b2lkKXNob3dJbWFnZVNoZWV0CiAKICAgICBOU1VSTCAq
dGFyZ2V0VVJMID0gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzpwb3NpdGlvbkluZm9ybWF0
aW9uLnVybF07CiAgICAgYXV0byBlbGVtZW50SW5mbyA9IGFkb3B0TlMoW1tfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mbyBhbGxvY10gX2luaXRXaXRoVHlwZTpfV0tBY3RpdmF0ZWRFbGVtZW50VHlwZUlt
YWdlIFVSTDp0YXJnZXRVUkwgbG9jYXRpb246cG9zaXRpb25JbmZvcm1hdGlvbi5wb2ludCB0aXRs
ZTpwb3NpdGlvbkluZm9ybWF0aW9uLnRpdGxlIHJlY3Q6cG9zaXRpb25JbmZvcm1hdGlvbi5ib3Vu
ZHMgaW1hZ2U6cG9zaXRpb25JbmZvcm1hdGlvbi5pbWFnZS5nZXQoKV0pOworICAgIGlmIChbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihhY3Rpb25TaGVldEFzc2lzdGFudDpz
aG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50OildICYmIFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lz
dGFudDpzZWxmIHNob3dDdXN0b21TaGVldEZvckVsZW1lbnQ6ZWxlbWVudEluZm8uZ2V0KCldKQor
ICAgICAgICByZXR1cm47CiAgICAgYXV0byBkZWZhdWx0QWN0aW9ucyA9IFtzZWxmIGRlZmF1bHRB
Y3Rpb25zRm9ySW1hZ2VTaGVldDplbGVtZW50SW5mby5nZXQoKV07CiAKICAgICBSZXRhaW5QdHI8
TlNBcnJheT4gYWN0aW9ucyA9IFtkZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDpzZWxmIGRl
Y2lkZUFjdGlvbnNGb3JFbGVtZW50OmVsZW1lbnRJbmZvLmdldCgpIGRlZmF1bHRBY3Rpb25zOldU
Rk1vdmUoZGVmYXVsdEFjdGlvbnMpXTsKQEAgLTM5NSw2ICszOTcsOSBAQCAtICh2b2lkKXNob3dM
aW5rU2hlZXQKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBlbGVtZW50SW5mbyA9IGFkb3B0
TlMoW1tfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyBhbGxvY10gX2luaXRXaXRoVHlwZTpfV0tBY3Rp
dmF0ZWRFbGVtZW50VHlwZUxpbmsgVVJMOnRhcmdldFVSTCBsb2NhdGlvbjpwb3NpdGlvbkluZm9y
bWF0aW9uLnBvaW50IHRpdGxlOnBvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUgcmVjdDpwb3NpdGlv
bkluZm9ybWF0aW9uLmJvdW5kcyBpbWFnZTpwb3NpdGlvbkluZm9ybWF0aW9uLmltYWdlLmdldCgp
XSk7CisgICAgaWYgKFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGFjdGlv
blNoZWV0QXNzaXN0YW50OnNob3dDdXN0b21TaGVldEZvckVsZW1lbnQ6KV0gJiYgW2RlbGVnYXRl
IGFjdGlvblNoZWV0QXNzaXN0YW50OnNlbGYgc2hvd0N1c3RvbVNoZWV0Rm9yRWxlbWVudDplbGVt
ZW50SW5mby5nZXQoKV0pCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gZGVmYXVsdEFjdGlv
bnMgPSBbc2VsZiBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDplbGVtZW50SW5mby5nZXQoKV07
CiAKICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9ucyA9IFtkZWxlZ2F0ZSBhY3Rpb25TaGVl
dEFzc2lzdGFudDpzZWxmIGRlY2lkZUFjdGlvbnNGb3JFbGVtZW50OmVsZW1lbnRJbmZvLmdldCgp
IGRlZmF1bHRBY3Rpb25zOldURk1vdmUoZGVmYXVsdEFjdGlvbnMpXTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCShyZXZpc2lvbiAxOTczNjEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA4Myw2ICsx
MDgzLDE0IEBAIC0gKHZvaWQpX3Nob3dJbWFnZVNoZWV0CiAgICAgW19hY3Rpb25TaGVldEFzc2lz
dGFudCBzaG93SW1hZ2VTaGVldF07CiB9CiAKKy0gKHZvaWQpX3Nob3dBdHRhY2htZW50U2hlZXQK
K3sKKyAgICBpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4gdWlEZWxlZ2F0ZSA9IHN0YXRpY19jYXN0
PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oW193ZWJWaWV3IFVJRGVsZWdhdGVdKTsKKyAgICAK
KyAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmll
dzpzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50OildKQorICAgICAgICBbdWlEZWxlZ2F0ZSBfd2Vi
Vmlldzpfd2ViVmlldyBzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50OltbX1dLQWN0aXZhdGVkRWxl
bWVudEluZm8gYWxsb2NdIF9pbml0V2l0aFR5cGU6X1dLQWN0aXZhdGVkRWxlbWVudFR5cGVBdHRh
Y2htZW50IFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpfcG9zaXRpb25JbmZvcm1hdGlvbi51cmxd
IGxvY2F0aW9uOl9wb3NpdGlvbkluZm9ybWF0aW9uLnBvaW50IHRpdGxlOl9wb3NpdGlvbkluZm9y
bWF0aW9uLnRpdGxlIHJlY3Q6X3Bvc2l0aW9uSW5mb3JtYXRpb24uYm91bmRzIGltYWdlOm5pbF1d
OworfQorCiAtICh2b2lkKV9zaG93TGlua1NoZWV0CiB7CiAgICAgW19hY3Rpb25TaGVldEFzc2lz
dGFudCBzaG93TGlua1NoZWV0XTsKQEAgLTExMDcsNiArMTExNSw5IEBAIC0gKFNFTClfYWN0aW9u
Rm9yTG9uZ1ByZXNzCiAgICAgICAgICAgICByZXR1cm4gQHNlbGVjdG9yKF9zaG93RGF0YURldGVj
dG9yc1NoZWV0KTsKICAgICAgICAgcmV0dXJuIEBzZWxlY3Rvcihfc2hvd0xpbmtTaGVldCk7CiAg
ICAgfQorICAgIAorICAgIGlmIChfcG9zaXRpb25JbmZvcm1hdGlvbi5pc0F0dGFjaG1lbnQpCisg
ICAgICAgIHJldHVybiBAc2VsZWN0b3IoX3Nob3dBdHRhY2htZW50U2hlZXQpOwogCiAgICAgcmV0
dXJuIG5pbDsKIH0KQEAgLTM1NDUsNiArMzU1NiwyMSBAQCAtIChCT09MKWFjdGlvblNoZWV0QXNz
aXN0YW50OihXS0FjdGlvblNoCiB9CiAjZW5kaWYKIAorLSAoQk9PTClhY3Rpb25TaGVldEFzc2lz
dGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBzaG93Q3VzdG9tU2hlZXRG
b3JFbGVtZW50OihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQKK3sKKyAgICBpZCA8
V0tVSURlbGVnYXRlUHJpdmF0ZT4gdWlEZWxlZ2F0ZSA9IHN0YXRpY19jYXN0PGlkIDxXS1VJRGVs
ZWdhdGVQcml2YXRlPj4oW193ZWJWaWV3IFVJRGVsZWdhdGVdKTsKKyAgICAKKyAgICBpZiAoW3Vp
RGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpzaG93Q3VzdG9t
U2hlZXRGb3JFbGVtZW50OildKSB7CisgICAgICAgIGlmIChbdWlEZWxlZ2F0ZSBfd2ViVmlldzpf
d2ViVmlldyBzaG93Q3VzdG9tU2hlZXRGb3JFbGVtZW50OmVsZW1lbnRdKSB7CisgICAgICAgICAg
ICAvLyBQcmV2ZW50IHRhcC1hbmQtaG9sZCBhbmQgZHJhZy4KKyAgICAgICAgICAgIFtVSUFwcCBf
Y2FuY2VsQWxsVG91Y2hlc107CisgICAgICAgICAgICByZXR1cm4gWUVTOworICAgICAgICB9Cisg
ICAgfQorCisgICAgcmV0dXJuIE5POworfQorCiAtIChSZXRhaW5QdHI8TlNBcnJheT4pYWN0aW9u
U2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQgZGVjaWRl
QWN0aW9uc0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBkZWZh
dWx0QWN0aW9uczooUmV0YWluUHRyPE5TQXJyYXk+KWRlZmF1bHRBY3Rpb25zCiB7CiAgICAgcmV0
dXJuIF9wYWdlLT51aUNsaWVudCgpLmFjdGlvbnNGb3JFbGVtZW50KGVsZW1lbnQsIFdURk1vdmUo
ZGVmYXVsdEFjdGlvbnMpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0JKHJldmlzaW9uIDE5NzM2MSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQkod29ya2luZyBj
b3B5KQpAQCAtNTYsMTIgKzU2LDE0IEBACiAjaW1wb3J0IDxXZWJDb3JlL0VsZW1lbnQuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRWxlbWVudEFuY2VzdG9ySXRlcmF0b3IuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRXZlbnRIYW5kbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZpbGUuaD4KICNpbXBvcnQgPFdl
YkNvcmUvRmxvYXRRdWFkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZvY3VzQ29udHJvbGxlci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZUxvYWRlckNs
aWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUv
R2VvbWV0cnlVdGlsaXRpZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvSFRNTEF0dGFjaG1lbnRFbGVt
ZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxFbGVtZW50VHlwZUhlbHBlcnMuaD4KICNpbXBv
cnQgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxJbWFn
ZUVsZW1lbnQuaD4KQEAgLTIyNDMsOCArMjI0NSwxNiBAQCB2b2lkIFdlYlBhZ2U6OmdldFBvc2l0
aW9uSW5mb3JtYXRpb24oY29uCiAgICAgICAgICAgICBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LnNldEZvY3VzZWRGcmFtZShyZXN1bHQuaW5uZXJOb2RlRnJhbWUoKSk7CiAgICAgICAgICAgICBp
bmZvLmJvdW5kcyA9IHJlbmRlcmVyLT5hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdCh0cnVlKTsKICAg
ICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gc2VsZWN0IGJsb2NrcyB0aGF0IGFyZSBsYXJn
ZXIgdGhhbiA5NyUgb2YgdGhlIHZpc2libGUgYXJlYSBvZiB0aGUgZG9jdW1lbnQuCi0gICAgICAg
ICAgICBjb25zdCBzdGF0aWMgQ0dGbG9hdCBmYWN0b3IgPSAwLjk3OwotICAgICAgICAgICAgaW5m
by5pc1NlbGVjdGFibGUgPSByZW5kZXJlci0+c3R5bGUoKS51c2VyU2VsZWN0KCkgIT0gU0VMRUNU
X05PTkUgJiYgaW5mby5ib3VuZHMuaGVpZ2h0KCkgPCByZXN1bHQuaW5uZXJOb2RlRnJhbWUoKS0+
dmlldygpLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKS5oZWlnaHQoKSAqIGZhY3RvcjsKKyAgICAg
ICAgICAgIGlmIChpczxIVE1MQXR0YWNobWVudEVsZW1lbnQ+KCpoaXROb2RlKSkgeworICAgICAg
ICAgICAgICAgIGluZm8uaXNBdHRhY2htZW50ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBjb25z
dCBIVE1MQXR0YWNobWVudEVsZW1lbnQmIGF0dGFjaG1lbnQgPSBkb3duY2FzdDxIVE1MQXR0YWNo
bWVudEVsZW1lbnQ+KCpoaXROb2RlKTsKKyAgICAgICAgICAgICAgICBpbmZvLnRpdGxlID0gYXR0
YWNobWVudC5hdHRhY2htZW50VGl0bGUoKTsKKyAgICAgICAgICAgICAgICBpZiAoYXR0YWNobWVu
dC5maWxlKCkpCisgICAgICAgICAgICAgICAgICAgIGluZm8udXJsID0gZG93bmNhc3Q8SFRNTEF0
dGFjaG1lbnRFbGVtZW50PigqaGl0Tm9kZSkuZmlsZSgpLT5wYXRoKCk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRpYyBDR0Zsb2F0IGZhY3RvciA9IDAu
OTc7CisgICAgICAgICAgICAgICAgaW5mby5pc1NlbGVjdGFibGUgPSByZW5kZXJlci0+c3R5bGUo
KS51c2VyU2VsZWN0KCkgIT0gU0VMRUNUX05PTkUgJiYgaW5mby5ib3VuZHMuaGVpZ2h0KCkgPCBy
ZXN1bHQuaW5uZXJOb2RlRnJhbWUoKS0+dmlldygpLT51bm9ic2N1cmVkQ29udGVudFJlY3QoKS5o
ZWlnaHQoKSAqIGZhY3RvcjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIH0K
</data>
<flag name="review"
          id="297574"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>