<?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>209607</bug_id>
          
          <creation_ts>2020-03-26 10:30:34 -0700</creation_ts>
          <short_desc>Add SPI to specify whether file upload panels are uploading to an enterprise-managed destination</short_desc>
          <delta_ts>2020-03-26 11:58:49 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Quesada">david_quesada</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1634404</commentid>
    <comment_count>0</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2020-03-26 10:30:34 -0700</bug_when>
    <thetext>rdar://problem/60888386</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634415</commentid>
    <comment_count>1</comment_count>
      <attachid>394626</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2020-03-26 10:43:36 -0700</bug_when>
    <thetext>Created attachment 394626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634430</commentid>
    <comment_count>2</comment_count>
      <attachid>394626</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-26 10:54:51 -0700</bug_when>
    <thetext>Comment on attachment 394626
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:6609
&gt; +    auto webView = _webView.get();

A little strange to make this local variable but only use it once.

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:6614
&gt; +    if ([uiDelegate respondsToSelector:@selector(_webView:fileUploadPanelContentIsManagedWithInitiatingFrame:)])
&gt; +        return [uiDelegate _webView:webView.get() fileUploadPanelContentIsManagedWithInitiatingFrame:wrapper(API::FrameInfo::create(WTFMove(_frameInfoForFileUploadPanel), _page.get()))];
&gt; +
&gt; +    return NO;

I would have used &amp;&amp; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634437</commentid>
    <comment_count>3</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2020-03-26 11:07:48 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 394626 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394626&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:6609
&gt; &gt; +    auto webView = _webView.get();
&gt; 
&gt; A little strange to make this local variable but only use it once.

It&apos;s used twice -- on line 6610 to call -UIDelegate, and again on line 6612 for the first parameter of _webView:fileUpload...

&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:6614
&gt; &gt; +    if ([uiDelegate respondsToSelector:@selector(_webView:fileUploadPanelContentIsManagedWithInitiatingFrame:)])
&gt; &gt; +        return [uiDelegate _webView:webView.get() fileUploadPanelContentIsManagedWithInitiatingFrame:wrapper(API::FrameInfo::create(WTFMove(_frameInfoForFileUploadPanel), _page.get()))];
&gt; &gt; +
&gt; &gt; +    return NO;
&gt; 
&gt; I would have used &amp;&amp; here.

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634440</commentid>
    <comment_count>4</comment_count>
      <attachid>394631</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2020-03-26 11:15:08 -0700</bug_when>
    <thetext>Created attachment 394631
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634444</commentid>
    <comment_count>5</comment_count>
      <attachid>394631</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-26 11:19:08 -0700</bug_when>
    <thetext>Comment on attachment 394631
Patch for landing

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:6611
&gt; +    auto webView = _webView.get();
&gt; +    id &lt;WKUIDelegatePrivate&gt; uiDelegate = static_cast&lt;id &lt;WKUIDelegatePrivate&gt;&gt;([webView UIDelegate]);
&gt; +    return [uiDelegate respondsToSelector:@selector(_webView:fileUploadPanelContentIsManagedWithInitiatingFrame:)] &amp;&amp; [uiDelegate _webView:webView.get() fileUploadPanelContentIsManagedWithInitiatingFrame:wrapper(API::FrameInfo::create(WTFMove(_frameInfoForFileUploadPanel), _page.get()))];

Gotta admit I am surprised we can call _webView.get() and then call get() again on that!

Also, sorry I suggested the &amp;&amp; but didn’t point out the cool way to format it:

    return [uiDelegate respondsToSelector:@selector(_webView:fileUploadPanelContentIsManagedWithInitiatingFrame:)]
        &amp;&amp; [uiDelegate _webView:webView.get() fileUploadPanelContentIsManagedWithInitiatingFrame:wrapper(API::FrameInfo::create(WTFMove(_frameInfoForFileUploadPanel), _page.get()))];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634447</commentid>
    <comment_count>6</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2020-03-26 11:27:06 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 394631 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394631&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:6611
&gt; &gt; +    auto webView = _webView.get();
&gt; &gt; +    id &lt;WKUIDelegatePrivate&gt; uiDelegate = static_cast&lt;id &lt;WKUIDelegatePrivate&gt;&gt;([webView UIDelegate]);
&gt; &gt; +    return [uiDelegate respondsToSelector:@selector(_webView:fileUploadPanelContentIsManagedWithInitiatingFrame:)] &amp;&amp; [uiDelegate _webView:webView.get() fileUploadPanelContentIsManagedWithInitiatingFrame:wrapper(API::FrameInfo::create(WTFMove(_frameInfoForFileUploadPanel), _page.get()))];
&gt; 
&gt; Gotta admit I am surprised we can call _webView.get() and then call get()
&gt; again on that!

Yup. The first get() converts from a WeakObjCPtr to RetainPtr, then the second get() returns the raw pointer.

&gt; 
&gt; Also, sorry I suggested the &amp;&amp; but didn’t point out the cool way to format
&gt; it:
&gt; 
&gt;     return [uiDelegate
&gt; respondsToSelector:@selector(_webView:
&gt; fileUploadPanelContentIsManagedWithInitiatingFrame:)]
&gt;         &amp;&amp; [uiDelegate _webView:webView.get()
&gt; fileUploadPanelContentIsManagedWithInitiatingFrame:wrapper(API::FrameInfo::
&gt; create(WTFMove(_frameInfoForFileUploadPanel), _page.get()))];

I like that formatting better. I&apos;ll use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634448</commentid>
    <comment_count>7</comment_count>
      <attachid>394633</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2020-03-26 11:27:58 -0700</bug_when>
    <thetext>Created attachment 394633
Patch for landing II

Fixed the formatting in -fileUploadPanelDestinationIsManaged:.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634471</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-26 11:58:48 -0700</bug_when>
    <thetext>Committed r259061: &lt;https://trac.webkit.org/changeset/259061&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394633.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394626</attachid>
            <date>2020-03-26 10:43:36 -0700</date>
            <delta_ts>2020-03-26 11:17:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>file_209607.txt</filename>
            <type>text/plain</type>
            <size>15324</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IGMyMzYwYTBmNDIwN2VhOWVkY2I1ODQwMjFhMGVhZTgwMDE1YTNmMzMNCkF1dGhvcjog
RGF2aWQgUXVlc2FkYSA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+DQpEYXRlOiAgIFRodSBNYXIg
MjYgMTA6NDE6MDYgMjAyMCAtMDcwMA0KDQogICAgQWRkIFNQSSB0byBzcGVjaWZ5IHdoZXRoZXIg
ZmlsZSB1cGxvYWQgcGFuZWxzIGFyZSB1cGxvYWRpbmcgdG8gYW4gZW50ZXJwcmlzZS1tYW5hZ2Vk
IGRlc3RpbmF0aW9uDQogICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwOTYwNw0KICAgIHJkYXI6Ly9wcm9ibGVtLzYwODg4Mzg2DQogICAgDQogICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuDQogICAgDQogICAgV2hlbiBwcmVzZW50aW5nIHRoZSBmaWxlIHVw
bG9hZCBwYW5lbCwgc2V0IHRoZSBVSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXIuaXNDb250
ZW50TWFuYWdlZA0KICAgIHByb3BlcnR5IHRvIGEgdmFsdWUgdWx0aW1hdGVseSBwcm92aWRlZCBi
eSB0aGUgVUkgZGVsZWdhdGUuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJldmVudCB0aGUgdXBsb2Fk
DQogICAgb2YgcGVyc29uYWwgZGF0YSB0byBlbnRlcnByaXNlIHdlYnNpdGVzIG9uIG1hbmFnZWQg
ZGV2aWNlcyBjb25maWd1cmVkIHRvIHByZXZlbnQgc3VjaCBhIHRyYW5zZmVyLg0KICAgIA0KICAg
ICogUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOg0KICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6DQogICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOg0K
ICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmhhbmRsZVJ1bk9wZW5QYW5lbCk6DQogICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoNCiAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJ1bk9w
ZW5QYW5lbCk6DQogICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6DQogICAg
KiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOg0KICAgIChXZWJLaXQ6OlBhZ2VD
bGllbnRJbXBsOjpoYW5kbGVSdW5PcGVuUGFuZWwpOg0KICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoNCiAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOg0KICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3dSdW5PcGVuUGFuZWw6
ZnJhbWVJbmZvOnJlc3VsdExpc3RlbmVyOl0pOg0KICAgICgtW1dLQ29udGVudFZpZXcgZmlsZVVw
bG9hZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6XSk6DQogICAgKC1bV0tDb250ZW50VmlldyBf
c2hvd1J1bk9wZW5QYW5lbDpyZXN1bHRMaXN0ZW5lcjpdKTogRGVsZXRlZC4NCiAgICAqIFVJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwuaDoNCiAgICAqIFVJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW06DQogICAgKC1bV0tGaWxlVXBsb2FkUGFuZWwgc2hv
d0ZpbGVQaWNrZXJNZW51XSk6DQoNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQppbmRleCA2ZThhOTI0ZmI2My4uMzc3OGRmNDkx
ZTEgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0KKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMzMgQEANCisyMDIwLTAzLTI2ICBEYXZpZCBRdWVz
YWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+DQorDQorICAgICAgICBBZGQgU1BJIHRvIHNw
ZWNpZnkgd2hldGhlciBmaWxlIHVwbG9hZCBwYW5lbHMgYXJlIHVwbG9hZGluZyB0byBhbiBlbnRl
cnByaXNlLW1hbmFnZWQgZGVzdGluYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk2MDcNCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzYwODg4
Mzg2DQorDQorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4NCisNCisgICAgICAg
IFdoZW4gcHJlc2VudGluZyB0aGUgZmlsZSB1cGxvYWQgcGFuZWwsIHNldCB0aGUgVUlEb2N1bWVu
dFBpY2tlclZpZXdDb250cm9sbGVyLmlzQ29udGVudE1hbmFnZWQNCisgICAgICAgIHByb3BlcnR5
IHRvIGEgdmFsdWUgdWx0aW1hdGVseSBwcm92aWRlZCBieSB0aGUgVUkgZGVsZWdhdGUuIFRoaXMg
Y2FuIGJlIHVzZWQgdG8gcHJldmVudCB0aGUgdXBsb2FkDQorICAgICAgICBvZiBwZXJzb25hbCBk
YXRhIHRvIGVudGVycHJpc2Ugd2Vic2l0ZXMgb24gbWFuYWdlZCBkZXZpY2VzIGNvbmZpZ3VyZWQg
dG8gcHJldmVudCBzdWNoIGEgdHJhbnNmZXIuDQorDQorICAgICAgICAqIFBsYXRmb3JtL3NwaS9p
b3MvVUlLaXRTUEkuaDoNCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6DQorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6DQorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpoYW5kbGVSdW5PcGVuUGFuZWwpOg0KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoNCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cnVuT3BlblBhbmVsKToNCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oOg0KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOg0K
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbCk6DQor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6DQorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOg0KKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5lbDpmcmFtZUluZm86cmVzdWx0TGlz
dGVuZXI6XSk6DQorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGZpbGVVcGxvYWRQYW5lbERlc3Rp
bmF0aW9uSXNNYW5hZ2VkOl0pOg0KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2hvd1J1bk9w
ZW5QYW5lbDpyZXN1bHRMaXN0ZW5lcjpdKTogRGVsZXRlZC4NCisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5oOg0KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOg0KKyAgICAgICAgKC1bV0tGaWxlVXBsb2FkUGFu
ZWwgc2hvd0ZpbGVQaWNrZXJNZW51XSk6DQorDQogMjAyMC0wMy0yNSAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+DQogDQogICAgICAgICBTb21lIFdLV2ViVmlldy5oIGhlYWRlciBk
b2MgY2xlYW51cC4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3Mv
VUlLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oDQpp
bmRleCBmNTMxZTQ0MjAwMi4uMGZiMTRiODExNmUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaA0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmgNCkBAIC00MSw2ICs0MSw3IEBADQogI2ltcG9ydCA8VUlLaXQv
VUlEZXZpY2VfUHJpdmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRG9jdW1lbnRNZW51Vmlld0Nv
bnRyb2xsZXJfUHJpdmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRG9jdW1lbnRQYXNzd29yZFZp
ZXcuaD4NCisjaW1wb3J0IDxVSUtpdC9VSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXJfUHJp
dmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRm9udF9Qcml2YXRlLmg+DQogI2ltcG9ydCA8VUlL
aXQvVUlHZW9tZXRyeV9Qcml2YXRlLmg+DQogI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2du
aXplcl9Qcml2YXRlLmg+DQpAQCAtOTU4LDYgKzk1OSwxMCBAQCB0eXBlZGVmIGVudW0gew0KIA0K
IEBlbmQNCiANCitAaW50ZXJmYWNlIFVJRG9jdW1lbnRQaWNrZXJWaWV3Q29udHJvbGxlciAoKQ0K
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0SXNDb250ZW50TWFuYWdl
ZDosIGdldHRlcj1faXNDb250ZW50TWFuYWdlZCkgQk9PTCBpc0NvbnRlbnRNYW5hZ2VkOw0KK0Bl
bmQNCisNCiBAaW50ZXJmYWNlIFVJVmlld0NvbnRyb2xsZXJQcmV2aWV3QWN0aW9uIDogTlNPYmpl
Y3QgPE5TQ29weWluZz4NCiBAZW5kDQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCmluZGV4IGZhOTM1YmVmN2I1
Li4wYzc4NWM2NTA5OCAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCkBAIC0xNDgsNiArMTQ4LDcgQEAgc3Ry
dWN0IFVJRWRnZUluc2V0czsNCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OihDR1BvaW50KXBvaW50Ow0KIC0gKEJPT0wp
X3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkUmVxdWVzdEdlb2xvY2F0aW9uQXV0
aG9yaXphdGlvbkZvclVSTDooTlNVUkwgKil1cmwgaXNNYWluRnJhbWU6KEJPT0wpaXNNYWluRnJh
bWUgbWFpbkZyYW1lVVJMOihOU1VSTCAqKW1haW5GcmFtZVVSTDsNCiAtICh2b2lkKV93ZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Gb3JV
Ukw6KE5TVVJMICopdXJsIGZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGRlY2lzaW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCBhdXRob3JpemVkKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlM
QUJMRShpb3MoMTEuMCkpOw0KKy0gKEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
ZmlsZVVwbG9hZFBhbmVsQ29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KFdLRnJh
bWVJbmZvICopZnJhbWU7DQogDQogLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvclVSTDooTlNVUkwgKil1cmwg
V0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUNv
bmZpZ3VyYXRpb25Gb3JFbGVtZW50OmNvbXBsZXRpb25IYW5kbGVyOiIsIGlvcyg5LjAsIDEzLjAp
KTsNCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbW1pdFByZXZpZXdl
ZFZpZXdDb250cm9sbGVyOihVSVZpZXdDb250cm9sbGVyICopcHJldmlld2VkVmlld0NvbnRyb2xs
ZXIgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVu
dUZvckVsZW1lbnQ6d2lsbENvbW1pdFdpdGhBbmltYXRvcjoiLCBpb3MoOS4wLCAxMy4wKSk7DQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oDQppbmRleCA4M2M5OTY0ZmY3Mi4uYTBiNzAz
YzJkZmQgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgN
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaA0KQEAgLTIzNCw3ICsy
MzQsNyBAQCBwdWJsaWM6DQogDQogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVl
c3QoRG93bmxvYWRQcm94eSYpID0gMDsNCiANCi0gICAgdmlydHVhbCBib29sIGhhbmRsZVJ1bk9w
ZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJh
bWV0ZXJzKiwgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSopIHsgcmV0dXJuIGZhbHNl
OyB9DQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5Kiwg
V2ViRnJhbWVQcm94eSosIGNvbnN0IEZyYW1lSW5mb0RhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFt
ZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KikgeyByZXR1cm4gZmFsc2U7
IH0NCiAgICAgdmlydHVhbCBib29sIHNob3dTaGFyZVNoZWV0KGNvbnN0IFdlYkNvcmU6OlNoYXJl
RGF0YVdpdGhQYXJzZWRVUkwmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQgKGJvb2wpPiYm
KSB7IHJldHVybiBmYWxzZTsgfQ0KIA0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVu
dFNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsNCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcA0KaW5kZXggOTBkMTc1ZGJkMWQuLjQ4NGRiOWMzNDBkIDEwMDY0
NA0KLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcA0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcA0KQEAgLTU4MDUsOCArNTgw
NSwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cnVuT3BlblBhbmVsKEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbg0KICAgICAvLyBTaW5jZSBydW5PcGVuUGFu
ZWwoKSBjYW4gc3BpbiBhIG5lc3RlZCBydW4gbG9vcCB3ZSBuZWVkIHRvIHR1cm4gb2ZmIHRoZSBy
ZXNwb25zaXZlbmVzcyB0aW1lci4NCiAgICAgbV9wcm9jZXNzLT5zdG9wUmVzcG9uc2l2ZW5lc3NU
aW1lcigpOw0KIA0KKyAgICBjb25zdCBhdXRvIGZyYW1lSW5mb0ZvclBhZ2VDbGllbnQgPSBmcmFt
ZUluZm87DQorDQogICAgIGlmICghbV91aUNsaWVudC0+cnVuT3BlblBhbmVsKCp0aGlzLCBmcmFt
ZSwgV1RGTW92ZShmcmFtZUluZm8pLCBwYXJhbWV0ZXJzLnB0cigpLCBtX29wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyLmdldCgpKSkgew0KLSAgICAgICAgaWYgKCFwYWdlQ2xpZW50KCkuaGFuZGxlUnVu
T3BlblBhbmVsKHRoaXMsIGZyYW1lLCBwYXJhbWV0ZXJzLnB0cigpLCBtX29wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyLmdldCgpKSkNCisgICAgICAgIGlmICghcGFnZUNsaWVudCgpLmhhbmRsZVJ1bk9w
ZW5QYW5lbCh0aGlzLCBmcmFtZSwgZnJhbWVJbmZvRm9yUGFnZUNsaWVudCwgcGFyYW1ldGVycy5w
dHIoKSwgbV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5nZXQoKSkpDQogICAgICAgICAgICAgZGlk
Q2FuY2VsRm9yT3BlblBhbmVsKCk7DQogICAgIH0NCiB9DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaA0KaW5kZXggNzc0MGQyNTQ3NDIuLmYxNDUz
ZjU3ZmFiIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oDQpAQCAtMTY5LDcgKzE2OSw3IEBAIHByaXZhdGU6DQogICAgIHZvaWQgc2F2ZUlt
YWdlVG9MaWJyYXJ5KFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIG92ZXJyaWRlOw0KICAg
ICB2b2lkIHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBj
b25zdCBTdHJpbmcmKSBvdmVycmlkZTsNCiANCi0gICAgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwo
V2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyos
IFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSBvdmVycmlkZTsNCisgICAgYm9vbCBo
YW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IEZy
YW1lSW5mb0RhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lclByb3h5Kikgb3ZlcnJpZGU7DQogICAgIGJvb2wgc2hvd1NoYXJlU2hlZXQoY29u
c3QgV2ViQ29yZTo6U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIFdURjo6Q29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJikgb3ZlcnJpZGU7DQogICAgIA0KICAgICB2b2lkIGRpc2FibGVEb3Vi
bGVUYXBHZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCkgb3Zl
cnJpZGU7DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tDQppbmRleCA4NzU0MTgzZWRjNy4uZjMyMGY4MDgyMDUgMTAwNjQ0DQotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0NCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQ0KQEAgLTY1Myw5ICs2
NTMsOSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9v
bCBoYXNWaWRlbywgY29uc3QgSW50UmVjdCYgZWxlbQ0KICAgICBbbV9jb250ZW50VmlldyBfc2hv
d1BsYXliYWNrVGFyZ2V0UGlja2VyOmhhc1ZpZGVvIGZyb21SZWN0OmVsZW1lbnRSZWN0IHJvdXRl
U2hhcmluZ1BvbGljeTpwb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6Y29udGV4dFVJRF07DQogfQ0K
IA0KLWJvb2wgUGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkq
LCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzLCBX
ZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikNCitib29sIFBhZ2VDbGll
bnRJbXBsOjpoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSos
IGNvbnN0IEZyYW1lSW5mb0RhdGEmIGZyYW1lSW5mbywgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJz
KiBwYXJhbWV0ZXJzLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikN
CiB7DQotICAgIFttX2NvbnRlbnRWaWV3IF9zaG93UnVuT3BlblBhbmVsOnBhcmFtZXRlcnMgcmVz
dWx0TGlzdGVuZXI6bGlzdGVuZXJdOw0KKyAgICBbbV9jb250ZW50VmlldyBfc2hvd1J1bk9wZW5Q
YW5lbDpwYXJhbWV0ZXJzIGZyYW1lSW5mbzpmcmFtZUluZm8gcmVzdWx0TGlzdGVuZXI6bGlzdGVu
ZXJdOw0KICAgICByZXR1cm4gdHJ1ZTsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oDQppbmRleCBmYjE4YjBj
NWZkMy4uZDQ5YmVlZDkzMDEgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaA0KQEAgLTM0LDYgKzM0LDcgQEANCiAj
aW1wb3J0ICJEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCINCiAjaW1wb3J0ICJFZGl0b3JTdGF0
ZS5oIg0KICNpbXBvcnQgIkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaCINCisjaW1wb3J0ICJG
cmFtZUluZm9EYXRhLmgiDQogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiDQogI2ltcG9ydCAiSW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCINCiAjaW1wb3J0ICJTeW50aGV0aWNFZGl0
aW5nQ29tbWFuZFR5cGUuaCINCkBAIC0yNjIsNiArMjYzLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJl
Y3Rpb25EYXRhIHsNCiAjZW5kaWYNCiAgICAgUmV0YWluUHRyPFdLRm9ybUlucHV0U2Vzc2lvbj4g
X2Zvcm1JbnB1dFNlc3Npb247DQogICAgIFJldGFpblB0cjxXS0ZpbGVVcGxvYWRQYW5lbD4gX2Zp
bGVVcGxvYWRQYW5lbDsNCisgICAgV2ViS2l0OjpGcmFtZUluZm9EYXRhIF9mcmFtZUluZm9Gb3JG
aWxlVXBsb2FkUGFuZWw7DQogI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQ
TEVUVikNCiAgICAgUmV0YWluUHRyPFdLU2hhcmVTaGVldD4gX3NoYXJlU2hlZXQ7DQogI2VuZGlm
DQpAQCAtNDk5LDcgKzUwMSw3IEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJ
T04oREVDTEFSRV9XS0NPTlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpDQogLSAodm9pZClf
c2Nyb2xsaW5nTm9kZVNjcm9sbGluZ1dpbGxCZWdpbjsNCiAtICh2b2lkKV9zY3JvbGxpbmdOb2Rl
U2Nyb2xsaW5nRGlkRW5kOw0KIC0gKHZvaWQpX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjooQk9P
TCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpZWxlbWVudFJlY3Qg
cm91dGVTaGFyaW5nUG9saWN5OihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kpcG9saWN5IHJv
dXRpbmdDb250ZXh0VUlEOihOU1N0cmluZyAqKWNvbnRleHRVSUQ7DQotLSAodm9pZClfc2hvd1J1
bk9wZW5QYW5lbDooQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKilwYXJhbWV0ZXJzIHJlc3VsdExp
c3RlbmVyOihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVy
Ow0KKy0gKHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyop
cGFyYW1ldGVycyBmcmFtZUluZm86KGNvbnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYpZnJhbWVJ
bmZvIHJlc3VsdExpc3RlbmVyOihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJv
eHkqKWxpc3RlbmVyOw0KIC0gKHZvaWQpX3Nob3dTaGFyZVNoZWV0Oihjb25zdCBXZWJDb3JlOjpT
aGFyZURhdGFXaXRoUGFyc2VkVVJMJilzaGFyZURhdGEgaW5SZWN0OihXVEY6Ok9wdGlvbmFsPFdl
YkNvcmU6OkZsb2F0UmVjdD4pcmVjdCBjb21wbGV0aW9uSGFuZGxlcjooV1RGOjpDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmKWNvbXBsZXRpb25IYW5kbGVyOw0KIC0gKHZvaWQpZGlzbWlz
c0ZpbGVQaWNrZXI7DQogLSAodm9pZClfZGlkSGFuZGxlS2V5RXZlbnQ6KDo6V2ViRXZlbnQgKill
dmVudCBldmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW5kbGVkOw0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
DQppbmRleCA2YWE4OTUyNzI2Zi4uZjE2YjM4NDg0NjIgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQpAQCAt
NTUsNiArNTUsNyBAQA0KICNpbXBvcnQgIldLRm9jdXNlZEZvcm1Db250cm9sVmlldy5oIg0KICNp
bXBvcnQgIldLRm9ybUlucHV0Q29udHJvbC5oIg0KICNpbXBvcnQgIldLRm9ybVNlbGVjdENvbnRy
b2wuaCINCisjaW1wb3J0ICJXS0ZyYW1lSW5mb0ludGVybmFsLmgiDQogI2ltcG9ydCAiV0tIaWdo
bGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oIg0KICNpbXBvcnQgIldLSW1hZ2VQcmV2
aWV3Vmlld0NvbnRyb2xsZXIuaCINCiAjaW1wb3J0ICJXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0
dXJlUmVjb2duaXplci5oIg0KQEAgLTY1NzQsNyArNjU3NSw3IEBAIC0gKHZvaWQpX3Nob3dQbGF5
YmFja1RhcmdldFBpY2tlcjooQk9PTCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6
SW50UmVjDQogI2VuZGlmDQogfQ0KIA0KLS0gKHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6
T3BlblBhbmVsUGFyYW1ldGVycyopcGFyYW1ldGVycyByZXN1bHRMaXN0ZW5lcjooV2ViS2l0OjpX
ZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KilsaXN0ZW5lcg0KKy0gKHZvaWQpX3Nob3dS
dW5PcGVuUGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyopcGFyYW1ldGVycyBmcmFtZUlu
Zm86KGNvbnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYpZnJhbWVJbmZvIHJlc3VsdExpc3RlbmVy
OihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyDQogew0K
ICAgICBBU1NFUlQoIV9maWxlVXBsb2FkUGFuZWwpOw0KICAgICBpZiAoX2ZpbGVVcGxvYWRQYW5l
bCkNCkBAIC02NTg3LDYgKzY1ODgsNyBAQCAtICh2b2lkKV9zaG93UnVuT3BlblBhbmVsOihBUEk6
Ok9wZW5QYW5lbFBhcmFtZXRlcnMqKXBhcmFtZXRlcnMgcmVzdWx0TGlzdGVuZXI6KA0KICAgICBp
ZiAoIXBhbmVsQ2xhc3MpDQogICAgICAgICBwYW5lbENsYXNzID0gW1dLRmlsZVVwbG9hZFBhbmVs
IGNsYXNzXTsNCiANCisgICAgX2ZyYW1lSW5mb0ZvckZpbGVVcGxvYWRQYW5lbCA9IGZyYW1lSW5m
bzsNCiAgICAgX2ZpbGVVcGxvYWRQYW5lbCA9IGFkb3B0TlMoW1twYW5lbENsYXNzIGFsbG9jXSBp
bml0V2l0aFZpZXc6c2VsZl0pOw0KICAgICBbX2ZpbGVVcGxvYWRQYW5lbCBzZXREZWxlZ2F0ZTpz
ZWxmXTsNCiAgICAgW19maWxlVXBsb2FkUGFuZWwgcHJlc2VudFdpdGhQYXJhbWV0ZXJzOnBhcmFt
ZXRlcnMgcmVzdWx0TGlzdGVuZXI6bGlzdGVuZXJdOw0KQEAgLTY2MDAsNiArNjYwMiwxOCBAQCAt
ICh2b2lkKWZpbGVVcGxvYWRQYW5lbERpZERpc21pc3M6KFdLRmlsZVVwbG9hZFBhbmVsICopZmls
ZVVwbG9hZFBhbmVsDQogICAgIF9maWxlVXBsb2FkUGFuZWwgPSBuaWw7DQogfQ0KIA0KKy0gKEJP
T0wpZmlsZVVwbG9hZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6KFdLRmlsZVVwbG9hZFBhbmVs
ICopZmlsZVVwbG9hZFBhbmVsDQorew0KKyAgICBBU1NFUlQoX2ZpbGVVcGxvYWRQYW5lbC5nZXQo
KSA9PSBmaWxlVXBsb2FkUGFuZWwpOw0KKw0KKyAgICBhdXRvIHdlYlZpZXcgPSBfd2ViVmlldy5n
ZXQoKTsNCisgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBzdGF0aWNf
Y2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFt3ZWJWaWV3IFVJRGVsZWdhdGVdKTsNCisg
ICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6
ZmlsZVVwbG9hZFBhbmVsQ29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KV0pDQor
ICAgICAgICByZXR1cm4gW3VpRGVsZWdhdGUgX3dlYlZpZXc6d2ViVmlldy5nZXQoKSBmaWxlVXBs
b2FkUGFuZWxDb250ZW50SXNNYW5hZ2VkV2l0aEluaXRpYXRpbmdGcmFtZTp3cmFwcGVyKEFQSTo6
RnJhbWVJbmZvOjpjcmVhdGUoV1RGTW92ZShfZnJhbWVJbmZvRm9yRmlsZVVwbG9hZFBhbmVsKSwg
X3BhZ2UuZ2V0KCkpKV07DQorDQorICAgIHJldHVybiBOTzsNCit9DQorDQogLSAodm9pZClfc2hv
d1NoYXJlU2hlZXQ6KGNvbnN0IFdlYkNvcmU6OlNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmKWRhdGEg
aW5SZWN0OihXVEY6Ok9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4pcmVjdCBjb21wbGV0aW9u
SGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiljb21wbGV0aW9uSGFuZGxl
cg0KIHsNCiAjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQ0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQ
YW5lbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBh
bmVsLmgNCmluZGV4IDg2NDk3MDFjNDdiLi5iMTJiOGUyMzBhMCAxMDA2NDQNCi0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5oDQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwuaA0KQEAg
LTUwLDYgKzUwLDcgQEAgY2xhc3MgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eTsNCiBA
cHJvdG9jb2wgV0tGaWxlVXBsb2FkUGFuZWxEZWxlZ2F0ZSA8TlNPYmplY3Q+DQogQG9wdGlvbmFs
DQogLSAodm9pZClmaWxlVXBsb2FkUGFuZWxEaWREaXNtaXNzOihXS0ZpbGVVcGxvYWRQYW5lbCAq
KWZpbGVVcGxvYWRQYW5lbDsNCistIChCT09MKWZpbGVVcGxvYWRQYW5lbERlc3RpbmF0aW9uSXNN
YW5hZ2VkOihXS0ZpbGVVcGxvYWRQYW5lbCAqKWZpbGVVcGxvYWRQYW5lbDsNCiBAZW5kDQogDQog
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tDQppbmRleCA2NzQxY2Vk
YTVkOC4uMmY5MmJiNmU0YWMgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0NCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbQ0KQEAgLTUwMSw2ICs1MDEsOCBAQCAt
ICh2b2lkKXNob3dGaWxlUGlja2VyTWVudQ0KICAgICBfZG9jdW1lbnRQaWNrZXJDb250cm9sbGVy
ID0gYWRvcHROUyhbW1VJRG9jdW1lbnRQaWNrZXJWaWV3Q29udHJvbGxlciBhbGxvY10gaW5pdFdp
dGhEb2N1bWVudFR5cGVzOmRvY3VtZW50VHlwZXMgaW5Nb2RlOlVJRG9jdW1lbnRQaWNrZXJNb2Rl
SW1wb3J0XSk7DQogICAgIFtfZG9jdW1lbnRQaWNrZXJDb250cm9sbGVyIHNldEFsbG93c011bHRp
cGxlU2VsZWN0aW9uOl9hbGxvd011bHRpcGxlRmlsZXNdOw0KICAgICBbX2RvY3VtZW50UGlja2Vy
Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpzZWxmXTsNCisgICAgaWYgKFtfZGVsZWdhdGUgcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihmaWxlVXBsb2FkUGFuZWxEZXN0aW5hdGlvbklzTWFuYWdl
ZDopXSkNCisgICAgICAgIFtfZG9jdW1lbnRQaWNrZXJDb250cm9sbGVyIF9zZXRJc0NvbnRlbnRN
YW5hZ2VkOltfZGVsZWdhdGUgZmlsZVVwbG9hZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6c2Vs
Zl1dOw0KICAgICBbc2VsZiBfcHJlc2VudEZ1bGxzY3JlZW5WaWV3Q29udHJvbGxlcjpfZG9jdW1l
bnRQaWNrZXJDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOllFU107DQogfQ0KIA0K
</data>
<flag name="review"
          id="410058"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394631</attachid>
            <date>2020-03-26 11:15:08 -0700</date>
            <delta_ts>2020-03-26 11:27:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>file_209607.txt</filename>
            <type>text/plain</type>
            <size>15286</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IDUyOGIyZTg4NGM3ODMxYTk1MWE0N2EzZDM3NDMzMDUxZWMxZGRmMjYNCkF1dGhvcjog
RGF2aWQgUXVlc2FkYSA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+DQpEYXRlOiAgIFRodSBNYXIg
MjYgMTE6MTE6MzQgMjAyMCAtMDcwMA0KDQogICAgQWRkIFNQSSB0byBzcGVjaWZ5IHdoZXRoZXIg
ZmlsZSB1cGxvYWQgcGFuZWxzIGFyZSB1cGxvYWRpbmcgdG8gYW4gZW50ZXJwcmlzZS1tYW5hZ2Vk
IGRlc3RpbmF0aW9uDQogICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwOTYwNw0KICAgIHJkYXI6Ly9wcm9ibGVtLzYwODg4Mzg2DQogICAgDQogICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuDQogICAgDQogICAgV2hlbiBwcmVzZW50aW5nIHRoZSBmaWxlIHVwbG9h
ZCBwYW5lbCwgc2V0IHRoZSBVSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXIuaXNDb250ZW50
TWFuYWdlZA0KICAgIHByb3BlcnR5IHRvIGEgdmFsdWUgdWx0aW1hdGVseSBwcm92aWRlZCBieSB0
aGUgVUkgZGVsZWdhdGUuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJldmVudCB0aGUgdXBsb2FkDQog
ICAgb2YgcGVyc29uYWwgZGF0YSB0byBlbnRlcnByaXNlIHdlYnNpdGVzIG9uIG1hbmFnZWQgZGV2
aWNlcyBjb25maWd1cmVkIHRvIHByZXZlbnQgc3VjaCBhIHRyYW5zZmVyLg0KICAgIA0KICAgICog
UGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOg0KICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VJRGVsZWdhdGVQcml2YXRlLmg6DQogICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOg0KICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmhhbmRsZVJ1bk9wZW5QYW5lbCk6DQogICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoNCiAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJ1bk9wZW5Q
YW5lbCk6DQogICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6DQogICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOg0KICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpoYW5kbGVSdW5PcGVuUGFuZWwpOg0KICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaDoNCiAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tOg0KICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3dSdW5PcGVuUGFuZWw6ZnJh
bWVJbmZvOnJlc3VsdExpc3RlbmVyOl0pOg0KICAgICgtW1dLQ29udGVudFZpZXcgZmlsZVVwbG9h
ZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6XSk6DQogICAgKC1bV0tDb250ZW50VmlldyBfc2hv
d1J1bk9wZW5QYW5lbDpyZXN1bHRMaXN0ZW5lcjpdKTogRGVsZXRlZC4NCiAgICAqIFVJUHJvY2Vz
cy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwuaDoNCiAgICAqIFVJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tGaWxlVXBsb2FkUGFuZWwubW06DQogICAgKC1bV0tGaWxlVXBsb2FkUGFuZWwgc2hvd0Zp
bGVQaWNrZXJNZW51XSk6DQoNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQppbmRleCA2ZThhOTI0ZmI2My4uYTkwNmZlNGI5NjYg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0KKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMzMgQEANCisyMDIwLTAzLTI2ICBEYXZpZCBRdWVzYWRh
ICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+DQorDQorICAgICAgICBBZGQgU1BJIHRvIHNwZWNp
Znkgd2hldGhlciBmaWxlIHVwbG9hZCBwYW5lbHMgYXJlIHVwbG9hZGluZyB0byBhbiBlbnRlcnBy
aXNlLW1hbmFnZWQgZGVzdGluYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDk2MDcNCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzYwODg4Mzg2
DQorDQorICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4NCisNCisgICAgICAgIFdoZW4g
cHJlc2VudGluZyB0aGUgZmlsZSB1cGxvYWQgcGFuZWwsIHNldCB0aGUgVUlEb2N1bWVudFBpY2tl
clZpZXdDb250cm9sbGVyLmlzQ29udGVudE1hbmFnZWQNCisgICAgICAgIHByb3BlcnR5IHRvIGEg
dmFsdWUgdWx0aW1hdGVseSBwcm92aWRlZCBieSB0aGUgVUkgZGVsZWdhdGUuIFRoaXMgY2FuIGJl
IHVzZWQgdG8gcHJldmVudCB0aGUgdXBsb2FkDQorICAgICAgICBvZiBwZXJzb25hbCBkYXRhIHRv
IGVudGVycHJpc2Ugd2Vic2l0ZXMgb24gbWFuYWdlZCBkZXZpY2VzIGNvbmZpZ3VyZWQgdG8gcHJl
dmVudCBzdWNoIGEgdHJhbnNmZXIuDQorDQorICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlL
aXRTUEkuaDoNCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2
YXRlLmg6DQorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6DQorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50OjpoYW5kbGVSdW5PcGVuUGFuZWwpOg0KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoNCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cnVu
T3BlblBhbmVsKToNCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
Og0KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOg0KKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbCk6DQorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6DQorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOg0KKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5lbDpmcmFtZUluZm86cmVzdWx0TGlzdGVuZXI6
XSk6DQorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGZpbGVVcGxvYWRQYW5lbERlc3RpbmF0aW9u
SXNNYW5hZ2VkOl0pOg0KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5l
bDpyZXN1bHRMaXN0ZW5lcjpdKTogRGVsZXRlZC4NCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5oOg0KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLRmlsZVVwbG9hZFBhbmVsLm1tOg0KKyAgICAgICAgKC1bV0tGaWxlVXBsb2FkUGFuZWwgc2hv
d0ZpbGVQaWNrZXJNZW51XSk6DQorDQogMjAyMC0wMy0yNSAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+DQogDQogICAgICAgICBTb21lIFdLV2ViVmlldy5oIGhlYWRlciBkb2MgY2xl
YW51cC4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRT
UEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oDQppbmRleCBm
NTMxZTQ0MjAwMi4uMGZiMTRiODExNmUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL3NwaS9pb3MvVUlLaXRTUEkuaA0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgNCkBAIC00MSw2ICs0MSw3IEBADQogI2ltcG9ydCA8VUlLaXQvVUlEZXZp
Y2VfUHJpdmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRG9jdW1lbnRNZW51Vmlld0NvbnRyb2xs
ZXJfUHJpdmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRG9jdW1lbnRQYXNzd29yZFZpZXcuaD4N
CisjaW1wb3J0IDxVSUtpdC9VSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5o
Pg0KICNpbXBvcnQgPFVJS2l0L1VJRm9udF9Qcml2YXRlLmg+DQogI2ltcG9ydCA8VUlLaXQvVUlH
ZW9tZXRyeV9Qcml2YXRlLmg+DQogI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXplcl9Q
cml2YXRlLmg+DQpAQCAtOTU4LDYgKzk1OSwxMCBAQCB0eXBlZGVmIGVudW0gew0KIA0KIEBlbmQN
CiANCitAaW50ZXJmYWNlIFVJRG9jdW1lbnRQaWNrZXJWaWV3Q29udHJvbGxlciAoKQ0KK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0SXNDb250ZW50TWFuYWdlZDosIGdl
dHRlcj1faXNDb250ZW50TWFuYWdlZCkgQk9PTCBpc0NvbnRlbnRNYW5hZ2VkOw0KK0BlbmQNCisN
CiBAaW50ZXJmYWNlIFVJVmlld0NvbnRyb2xsZXJQcmV2aWV3QWN0aW9uIDogTlNPYmplY3QgPE5T
Q29weWluZz4NCiBAZW5kDQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCmluZGV4IGZhOTM1YmVmN2I1Li4wYzc4
NWM2NTA5OCAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VJRGVsZWdhdGVQcml2YXRlLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCkBAIC0xNDgsNiArMTQ4LDcgQEAgc3RydWN0IFVJ
RWRnZUluc2V0czsNCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZE5v
dEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OihDR1BvaW50KXBvaW50Ow0KIC0gKEJPT0wpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkUmVxdWVzdEdlb2xvY2F0aW9uQXV0aG9yaXph
dGlvbkZvclVSTDooTlNVUkwgKil1cmwgaXNNYWluRnJhbWU6KEJPT0wpaXNNYWluRnJhbWUgbWFp
bkZyYW1lVVJMOihOU1VSTCAqKW1haW5GcmFtZVVSTDsNCiAtICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Gb3JVUkw6KE5T
VVJMICopdXJsIGZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGRlY2lzaW9uSGFuZGxlcjoodm9p
ZCAoXikoQk9PTCBhdXRob3JpemVkKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShp
b3MoMTEuMCkpOw0KKy0gKEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZmlsZVVw
bG9hZFBhbmVsQ29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KFdLRnJhbWVJbmZv
ICopZnJhbWU7DQogDQogLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvclVSTDooTlNVUkwgKil1cmwgV0tfQVBJ
X0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUNvbmZpZ3Vy
YXRpb25Gb3JFbGVtZW50OmNvbXBsZXRpb25IYW5kbGVyOiIsIGlvcyg5LjAsIDEzLjApKTsNCiAt
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbW1pdFByZXZpZXdlZFZpZXdD
b250cm9sbGVyOihVSVZpZXdDb250cm9sbGVyICopcHJldmlld2VkVmlld0NvbnRyb2xsZXIgV0tf
QVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUZvckVs
ZW1lbnQ6d2lsbENvbW1pdFdpdGhBbmltYXRvcjoiLCBpb3MoOS4wLCAxMy4wKSk7DQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oDQppbmRleCA4M2M5OTY0ZmY3Mi4uYTBiNzAzYzJkZmQg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgNCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaA0KQEAgLTIzNCw3ICsyMzQsNyBA
QCBwdWJsaWM6DQogDQogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93
bmxvYWRQcm94eSYpID0gMDsNCiANCi0gICAgdmlydHVhbCBib29sIGhhbmRsZVJ1bk9wZW5QYW5l
bChXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJz
KiwgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSopIHsgcmV0dXJuIGZhbHNlOyB9DQor
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJh
bWVQcm94eSosIGNvbnN0IEZyYW1lSW5mb0RhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMq
LCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KikgeyByZXR1cm4gZmFsc2U7IH0NCiAg
ICAgdmlydHVhbCBib29sIHNob3dTaGFyZVNoZWV0KGNvbnN0IFdlYkNvcmU6OlNoYXJlRGF0YVdp
dGhQYXJzZWRVUkwmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQgKGJvb2wpPiYmKSB7IHJl
dHVybiBmYWxzZTsgfQ0KIA0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudFNpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcA0KaW5kZXggOTBkMTc1ZGJkMWQuLjQ4NGRiOWMzNDBkIDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcA0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcA0KQEAgLTU4MDUsOCArNTgwNSwxMCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6cnVuT3BlblBhbmVsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlE
LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbg0KICAgICAvLyBTaW5jZSBydW5PcGVuUGFuZWwoKSBj
YW4gc3BpbiBhIG5lc3RlZCBydW4gbG9vcCB3ZSBuZWVkIHRvIHR1cm4gb2ZmIHRoZSByZXNwb25z
aXZlbmVzcyB0aW1lci4NCiAgICAgbV9wcm9jZXNzLT5zdG9wUmVzcG9uc2l2ZW5lc3NUaW1lcigp
Ow0KIA0KKyAgICBjb25zdCBhdXRvIGZyYW1lSW5mb0ZvclBhZ2VDbGllbnQgPSBmcmFtZUluZm87
DQorDQogICAgIGlmICghbV91aUNsaWVudC0+cnVuT3BlblBhbmVsKCp0aGlzLCBmcmFtZSwgV1RG
TW92ZShmcmFtZUluZm8pLCBwYXJhbWV0ZXJzLnB0cigpLCBtX29wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyLmdldCgpKSkgew0KLSAgICAgICAgaWYgKCFwYWdlQ2xpZW50KCkuaGFuZGxlUnVuT3BlblBh
bmVsKHRoaXMsIGZyYW1lLCBwYXJhbWV0ZXJzLnB0cigpLCBtX29wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyLmdldCgpKSkNCisgICAgICAgIGlmICghcGFnZUNsaWVudCgpLmhhbmRsZVJ1bk9wZW5QYW5l
bCh0aGlzLCBmcmFtZSwgZnJhbWVJbmZvRm9yUGFnZUNsaWVudCwgcGFyYW1ldGVycy5wdHIoKSwg
bV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5nZXQoKSkpDQogICAgICAgICAgICAgZGlkQ2FuY2Vs
Rm9yT3BlblBhbmVsKCk7DQogICAgIH0NCiB9DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaA0KaW5kZXggNzc0MGQyNTQ3NDIuLmYxNDUzZjU3ZmFi
IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oDQpAQCAtMTY5LDcgKzE2OSw3IEBAIHByaXZhdGU6DQogICAgIHZvaWQgc2F2ZUltYWdlVG9M
aWJyYXJ5KFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIG92ZXJyaWRlOw0KICAgICB2b2lk
IHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBT
dHJpbmcmKSBvdmVycmlkZTsNCiANCi0gICAgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFn
ZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSBvdmVycmlkZTsNCisgICAgYm9vbCBoYW5kbGVS
dW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IEZyYW1lSW5m
b0RhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lclByb3h5Kikgb3ZlcnJpZGU7DQogICAgIGJvb2wgc2hvd1NoYXJlU2hlZXQoY29uc3QgV2Vi
Q29yZTo6U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJikgb3ZlcnJpZGU7DQogICAgIA0KICAgICB2b2lkIGRpc2FibGVEb3VibGVUYXBH
ZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCkgb3ZlcnJpZGU7
DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
DQppbmRleCA4NzU0MTgzZWRjNy4uZjMyMGY4MDgyMDUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0NCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQ0KQEAgLTY1Myw5ICs2NTMsOSBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNW
aWRlbywgY29uc3QgSW50UmVjdCYgZWxlbQ0KICAgICBbbV9jb250ZW50VmlldyBfc2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyOmhhc1ZpZGVvIGZyb21SZWN0OmVsZW1lbnRSZWN0IHJvdXRlU2hhcmlu
Z1BvbGljeTpwb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6Y29udGV4dFVJRF07DQogfQ0KIA0KLWJv
b2wgUGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJG
cmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzLCBXZWJPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikNCitib29sIFBhZ2VDbGllbnRJbXBs
OjpoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0
IEZyYW1lSW5mb0RhdGEmIGZyYW1lSW5mbywgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJh
bWV0ZXJzLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikNCiB7DQot
ICAgIFttX2NvbnRlbnRWaWV3IF9zaG93UnVuT3BlblBhbmVsOnBhcmFtZXRlcnMgcmVzdWx0TGlz
dGVuZXI6bGlzdGVuZXJdOw0KKyAgICBbbV9jb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5lbDpw
YXJhbWV0ZXJzIGZyYW1lSW5mbzpmcmFtZUluZm8gcmVzdWx0TGlzdGVuZXI6bGlzdGVuZXJdOw0K
ICAgICByZXR1cm4gdHJ1ZTsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oDQppbmRleCBmYjE4YjBjNWZkMy4u
ZDQ5YmVlZDkzMDEgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaA0KQEAgLTM0LDYgKzM0LDcgQEANCiAjaW1wb3J0
ICJEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCINCiAjaW1wb3J0ICJFZGl0b3JTdGF0ZS5oIg0K
ICNpbXBvcnQgIkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaCINCisjaW1wb3J0ICJGcmFtZUlu
Zm9EYXRhLmgiDQogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiDQogI2ltcG9ydCAiSW50ZXJhY3Rp
b25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCINCiAjaW1wb3J0ICJTeW50aGV0aWNFZGl0aW5nQ29t
bWFuZFR5cGUuaCINCkBAIC0yNjIsNiArMjYzLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25E
YXRhIHsNCiAjZW5kaWYNCiAgICAgUmV0YWluUHRyPFdLRm9ybUlucHV0U2Vzc2lvbj4gX2Zvcm1J
bnB1dFNlc3Npb247DQogICAgIFJldGFpblB0cjxXS0ZpbGVVcGxvYWRQYW5lbD4gX2ZpbGVVcGxv
YWRQYW5lbDsNCisgICAgV2ViS2l0OjpGcmFtZUluZm9EYXRhIF9mcmFtZUluZm9Gb3JGaWxlVXBs
b2FkUGFuZWw7DQogI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikN
CiAgICAgUmV0YWluUHRyPFdLU2hhcmVTaGVldD4gX3NoYXJlU2hlZXQ7DQogI2VuZGlmDQpAQCAt
NDk5LDcgKzUwMSw3IEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oREVD
TEFSRV9XS0NPTlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpDQogLSAodm9pZClfc2Nyb2xs
aW5nTm9kZVNjcm9sbGluZ1dpbGxCZWdpbjsNCiAtICh2b2lkKV9zY3JvbGxpbmdOb2RlU2Nyb2xs
aW5nRGlkRW5kOw0KIC0gKHZvaWQpX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjooQk9PTCloYXNW
aWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpZWxlbWVudFJlY3Qgcm91dGVT
aGFyaW5nUG9saWN5OihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kpcG9saWN5IHJvdXRpbmdD
b250ZXh0VUlEOihOU1N0cmluZyAqKWNvbnRleHRVSUQ7DQotLSAodm9pZClfc2hvd1J1bk9wZW5Q
YW5lbDooQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKilwYXJhbWV0ZXJzIHJlc3VsdExpc3RlbmVy
OihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyOw0KKy0g
KHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyopcGFyYW1l
dGVycyBmcmFtZUluZm86KGNvbnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYpZnJhbWVJbmZvIHJl
c3VsdExpc3RlbmVyOihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxp
c3RlbmVyOw0KIC0gKHZvaWQpX3Nob3dTaGFyZVNoZWV0Oihjb25zdCBXZWJDb3JlOjpTaGFyZURh
dGFXaXRoUGFyc2VkVVJMJilzaGFyZURhdGEgaW5SZWN0OihXVEY6Ok9wdGlvbmFsPFdlYkNvcmU6
OkZsb2F0UmVjdD4pcmVjdCBjb21wbGV0aW9uSGFuZGxlcjooV1RGOjpDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmKWNvbXBsZXRpb25IYW5kbGVyOw0KIC0gKHZvaWQpZGlzbWlzc0ZpbGVQ
aWNrZXI7DQogLSAodm9pZClfZGlkSGFuZGxlS2V5RXZlbnQ6KDo6V2ViRXZlbnQgKilldmVudCBl
dmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW5kbGVkOw0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQppbmRl
eCA2YWE4OTUyNzI2Zi4uZDJjNTUxNWY5NTUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQpAQCAtNTUsNiAr
NTUsNyBAQA0KICNpbXBvcnQgIldLRm9jdXNlZEZvcm1Db250cm9sVmlldy5oIg0KICNpbXBvcnQg
IldLRm9ybUlucHV0Q29udHJvbC5oIg0KICNpbXBvcnQgIldLRm9ybVNlbGVjdENvbnRyb2wuaCIN
CisjaW1wb3J0ICJXS0ZyYW1lSW5mb0ludGVybmFsLmgiDQogI2ltcG9ydCAiV0tIaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oIg0KICNpbXBvcnQgIldLSW1hZ2VQcmV2aWV3Vmll
d0NvbnRyb2xsZXIuaCINCiAjaW1wb3J0ICJXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVj
b2duaXplci5oIg0KQEAgLTY1NzQsNyArNjU3NSw3IEBAIC0gKHZvaWQpX3Nob3dQbGF5YmFja1Rh
cmdldFBpY2tlcjooQk9PTCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6SW50UmVj
DQogI2VuZGlmDQogfQ0KIA0KLS0gKHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6T3BlblBh
bmVsUGFyYW1ldGVycyopcGFyYW1ldGVycyByZXN1bHRMaXN0ZW5lcjooV2ViS2l0OjpXZWJPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KilsaXN0ZW5lcg0KKy0gKHZvaWQpX3Nob3dSdW5PcGVu
UGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyopcGFyYW1ldGVycyBmcmFtZUluZm86KGNv
bnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYpZnJhbWVJbmZvIHJlc3VsdExpc3RlbmVyOihXZWJL
aXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyDQogew0KICAgICBB
U1NFUlQoIV9maWxlVXBsb2FkUGFuZWwpOw0KICAgICBpZiAoX2ZpbGVVcGxvYWRQYW5lbCkNCkBA
IC02NTg3LDYgKzY1ODgsNyBAQCAtICh2b2lkKV9zaG93UnVuT3BlblBhbmVsOihBUEk6Ok9wZW5Q
YW5lbFBhcmFtZXRlcnMqKXBhcmFtZXRlcnMgcmVzdWx0TGlzdGVuZXI6KA0KICAgICBpZiAoIXBh
bmVsQ2xhc3MpDQogICAgICAgICBwYW5lbENsYXNzID0gW1dLRmlsZVVwbG9hZFBhbmVsIGNsYXNz
XTsNCiANCisgICAgX2ZyYW1lSW5mb0ZvckZpbGVVcGxvYWRQYW5lbCA9IGZyYW1lSW5mbzsNCiAg
ICAgX2ZpbGVVcGxvYWRQYW5lbCA9IGFkb3B0TlMoW1twYW5lbENsYXNzIGFsbG9jXSBpbml0V2l0
aFZpZXc6c2VsZl0pOw0KICAgICBbX2ZpbGVVcGxvYWRQYW5lbCBzZXREZWxlZ2F0ZTpzZWxmXTsN
CiAgICAgW19maWxlVXBsb2FkUGFuZWwgcHJlc2VudFdpdGhQYXJhbWV0ZXJzOnBhcmFtZXRlcnMg
cmVzdWx0TGlzdGVuZXI6bGlzdGVuZXJdOw0KQEAgLTY2MDAsNiArNjYwMiwxNSBAQCAtICh2b2lk
KWZpbGVVcGxvYWRQYW5lbERpZERpc21pc3M6KFdLRmlsZVVwbG9hZFBhbmVsICopZmlsZVVwbG9h
ZFBhbmVsDQogICAgIF9maWxlVXBsb2FkUGFuZWwgPSBuaWw7DQogfQ0KIA0KKy0gKEJPT0wpZmls
ZVVwbG9hZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6KFdLRmlsZVVwbG9hZFBhbmVsICopZmls
ZVVwbG9hZFBhbmVsDQorew0KKyAgICBBU1NFUlQoX2ZpbGVVcGxvYWRQYW5lbC5nZXQoKSA9PSBm
aWxlVXBsb2FkUGFuZWwpOw0KKw0KKyAgICBhdXRvIHdlYlZpZXcgPSBfd2ViVmlldy5nZXQoKTsN
CisgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBzdGF0aWNfY2FzdDxp
ZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFt3ZWJWaWV3IFVJRGVsZWdhdGVdKTsNCisgICAgcmV0
dXJuIFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Zmls
ZVVwbG9hZFBhbmVsQ29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KV0gJiYgW3Vp
RGVsZWdhdGUgX3dlYlZpZXc6d2ViVmlldy5nZXQoKSBmaWxlVXBsb2FkUGFuZWxDb250ZW50SXNN
YW5hZ2VkV2l0aEluaXRpYXRpbmdGcmFtZTp3cmFwcGVyKEFQSTo6RnJhbWVJbmZvOjpjcmVhdGUo
V1RGTW92ZShfZnJhbWVJbmZvRm9yRmlsZVVwbG9hZFBhbmVsKSwgX3BhZ2UuZ2V0KCkpKV07DQor
fQ0KKw0KIC0gKHZvaWQpX3Nob3dTaGFyZVNoZWV0Oihjb25zdCBXZWJDb3JlOjpTaGFyZURhdGFX
aXRoUGFyc2VkVVJMJilkYXRhIGluUmVjdDooV1RGOjpPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJl
Y3Q+KXJlY3QgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYpY29tcGxldGlvbkhhbmRsZXINCiB7DQogI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExB
VEZPUk0oQVBQTEVUVikNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5oDQppbmRleCA4NjQ5NzAxYzQ3Yi4uYjEyYjhlMjMwYTAg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBs
b2FkUGFuZWwuaA0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmls
ZVVwbG9hZFBhbmVsLmgNCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIFdlYk9wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyUHJveHk7DQogQHByb3RvY29sIFdLRmlsZVVwbG9hZFBhbmVsRGVsZWdhdGUgPE5T
T2JqZWN0Pg0KIEBvcHRpb25hbA0KIC0gKHZvaWQpZmlsZVVwbG9hZFBhbmVsRGlkRGlzbWlzczoo
V0tGaWxlVXBsb2FkUGFuZWwgKilmaWxlVXBsb2FkUGFuZWw7DQorLSAoQk9PTClmaWxlVXBsb2Fk
UGFuZWxEZXN0aW5hdGlvbklzTWFuYWdlZDooV0tGaWxlVXBsb2FkUGFuZWwgKilmaWxlVXBsb2Fk
UGFuZWw7DQogQGVuZA0KIA0KICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQ0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5l
bC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5l
bC5tbQ0KaW5kZXggNjc0MWNlZGE1ZDguLjJmOTJiYjZlNGFjIDEwMDY0NA0KLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tDQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0NCkBA
IC01MDEsNiArNTAxLDggQEAgLSAodm9pZClzaG93RmlsZVBpY2tlck1lbnUNCiAgICAgX2RvY3Vt
ZW50UGlja2VyQ29udHJvbGxlciA9IGFkb3B0TlMoW1tVSURvY3VtZW50UGlja2VyVmlld0NvbnRy
b2xsZXIgYWxsb2NdIGluaXRXaXRoRG9jdW1lbnRUeXBlczpkb2N1bWVudFR5cGVzIGluTW9kZTpV
SURvY3VtZW50UGlja2VyTW9kZUltcG9ydF0pOw0KICAgICBbX2RvY3VtZW50UGlja2VyQ29udHJv
bGxlciBzZXRBbGxvd3NNdWx0aXBsZVNlbGVjdGlvbjpfYWxsb3dNdWx0aXBsZUZpbGVzXTsNCiAg
ICAgW19kb2N1bWVudFBpY2tlckNvbnRyb2xsZXIgc2V0RGVsZWdhdGU6c2VsZl07DQorICAgIGlm
IChbX2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoZmlsZVVwbG9hZFBhbmVs
RGVzdGluYXRpb25Jc01hbmFnZWQ6KV0pDQorICAgICAgICBbX2RvY3VtZW50UGlja2VyQ29udHJv
bGxlciBfc2V0SXNDb250ZW50TWFuYWdlZDpbX2RlbGVnYXRlIGZpbGVVcGxvYWRQYW5lbERlc3Rp
bmF0aW9uSXNNYW5hZ2VkOnNlbGZdXTsNCiAgICAgW3NlbGYgX3ByZXNlbnRGdWxsc2NyZWVuVmll
d0NvbnRyb2xsZXI6X2RvY3VtZW50UGlja2VyQ29udHJvbGxlci5nZXQoKSBhbmltYXRlZDpZRVNd
Ow0KIH0NCiANCg==
</data>
<flag name="commit-queue"
          id="410063"
          type_id="3"
          status="-"
          setter="david_quesada"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394633</attachid>
            <date>2020-03-26 11:27:58 -0700</date>
            <delta_ts>2020-03-26 11:58:49 -0700</delta_ts>
            <desc>Patch for landing II</desc>
            <filename>file_209607.txt</filename>
            <type>text/plain</type>
            <size>15296</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IGY5OGZkNTA3Yjg4NzllOWFmOTE0YjYyZDYwYmMwOGFkMmY1MmRmZWMNCkF1dGhvcjog
RGF2aWQgUXVlc2FkYSA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+DQpEYXRlOiAgIFRodSBNYXIg
MjYgMTE6MTE6MzQgMjAyMCAtMDcwMA0KDQogICAgQWRkIFNQSSB0byBzcGVjaWZ5IHdoZXRoZXIg
ZmlsZSB1cGxvYWQgcGFuZWxzIGFyZSB1cGxvYWRpbmcgdG8gYW4gZW50ZXJwcmlzZS1tYW5hZ2Vk
IGRlc3RpbmF0aW9uDQogICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwOTYwNw0KICAgIHJkYXI6Ly9wcm9ibGVtLzYwODg4Mzg2DQogICAgDQogICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuDQogICAgDQogICAgV2hlbiBwcmVzZW50aW5nIHRoZSBmaWxlIHVwbG9h
ZCBwYW5lbCwgc2V0IHRoZSBVSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXIuaXNDb250ZW50
TWFuYWdlZA0KICAgIHByb3BlcnR5IHRvIGEgdmFsdWUgdWx0aW1hdGVseSBwcm92aWRlZCBieSB0
aGUgVUkgZGVsZWdhdGUuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJldmVudCB0aGUgdXBsb2FkDQog
ICAgb2YgcGVyc29uYWwgZGF0YSB0byBlbnRlcnByaXNlIHdlYnNpdGVzIG9uIG1hbmFnZWQgZGV2
aWNlcyBjb25maWd1cmVkIHRvIHByZXZlbnQgc3VjaCBhIHRyYW5zZmVyLg0KICAgIA0KICAgICog
UGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOg0KICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VJRGVsZWdhdGVQcml2YXRlLmg6DQogICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOg0KICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmhhbmRsZVJ1bk9wZW5QYW5lbCk6DQogICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoNCiAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJ1bk9wZW5Q
YW5lbCk6DQogICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6DQogICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOg0KICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpoYW5kbGVSdW5PcGVuUGFuZWwpOg0KICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaDoNCiAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tOg0KICAgICgtW1dLQ29udGVudFZpZXcgX3Nob3dSdW5PcGVuUGFuZWw6ZnJh
bWVJbmZvOnJlc3VsdExpc3RlbmVyOl0pOg0KICAgICgtW1dLQ29udGVudFZpZXcgZmlsZVVwbG9h
ZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6XSk6DQogICAgKC1bV0tDb250ZW50VmlldyBfc2hv
d1J1bk9wZW5QYW5lbDpyZXN1bHRMaXN0ZW5lcjpdKTogRGVsZXRlZC4NCiAgICAqIFVJUHJvY2Vz
cy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwuaDoNCiAgICAqIFVJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tGaWxlVXBsb2FkUGFuZWwubW06DQogICAgKC1bV0tGaWxlVXBsb2FkUGFuZWwgc2hvd0Zp
bGVQaWNrZXJNZW51XSk6DQoNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nDQppbmRleCA2ZThhOTI0ZmI2My4uYTkwNmZlNGI5NjYg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZw0KKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cNCkBAIC0xLDMgKzEsMzMgQEANCisyMDIwLTAzLTI2ICBEYXZpZCBRdWVzYWRh
ICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+DQorDQorICAgICAgICBBZGQgU1BJIHRvIHNwZWNp
Znkgd2hldGhlciBmaWxlIHVwbG9hZCBwYW5lbHMgYXJlIHVwbG9hZGluZyB0byBhbiBlbnRlcnBy
aXNlLW1hbmFnZWQgZGVzdGluYXRpb24NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDk2MDcNCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzYwODg4Mzg2
DQorDQorICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4NCisNCisgICAgICAgIFdoZW4g
cHJlc2VudGluZyB0aGUgZmlsZSB1cGxvYWQgcGFuZWwsIHNldCB0aGUgVUlEb2N1bWVudFBpY2tl
clZpZXdDb250cm9sbGVyLmlzQ29udGVudE1hbmFnZWQNCisgICAgICAgIHByb3BlcnR5IHRvIGEg
dmFsdWUgdWx0aW1hdGVseSBwcm92aWRlZCBieSB0aGUgVUkgZGVsZWdhdGUuIFRoaXMgY2FuIGJl
IHVzZWQgdG8gcHJldmVudCB0aGUgdXBsb2FkDQorICAgICAgICBvZiBwZXJzb25hbCBkYXRhIHRv
IGVudGVycHJpc2Ugd2Vic2l0ZXMgb24gbWFuYWdlZCBkZXZpY2VzIGNvbmZpZ3VyZWQgdG8gcHJl
dmVudCBzdWNoIGEgdHJhbnNmZXIuDQorDQorICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlL
aXRTUEkuaDoNCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2
YXRlLmg6DQorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6DQorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50OjpoYW5kbGVSdW5PcGVuUGFuZWwpOg0KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoNCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cnVu
T3BlblBhbmVsKToNCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
Og0KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOg0KKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbCk6DQorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6DQorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOg0KKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5lbDpmcmFtZUluZm86cmVzdWx0TGlzdGVuZXI6
XSk6DQorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGZpbGVVcGxvYWRQYW5lbERlc3RpbmF0aW9u
SXNNYW5hZ2VkOl0pOg0KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5l
bDpyZXN1bHRMaXN0ZW5lcjpdKTogRGVsZXRlZC4NCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5oOg0KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLRmlsZVVwbG9hZFBhbmVsLm1tOg0KKyAgICAgICAgKC1bV0tGaWxlVXBsb2FkUGFuZWwgc2hv
d0ZpbGVQaWNrZXJNZW51XSk6DQorDQogMjAyMC0wMy0yNSAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+DQogDQogICAgICAgICBTb21lIFdLV2ViVmlldy5oIGhlYWRlciBkb2MgY2xl
YW51cC4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRT
UEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oDQppbmRleCBm
NTMxZTQ0MjAwMi4uMGZiMTRiODExNmUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL3NwaS9pb3MvVUlLaXRTUEkuaA0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkv
aW9zL1VJS2l0U1BJLmgNCkBAIC00MSw2ICs0MSw3IEBADQogI2ltcG9ydCA8VUlLaXQvVUlEZXZp
Y2VfUHJpdmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRG9jdW1lbnRNZW51Vmlld0NvbnRyb2xs
ZXJfUHJpdmF0ZS5oPg0KICNpbXBvcnQgPFVJS2l0L1VJRG9jdW1lbnRQYXNzd29yZFZpZXcuaD4N
CisjaW1wb3J0IDxVSUtpdC9VSURvY3VtZW50UGlja2VyVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5o
Pg0KICNpbXBvcnQgPFVJS2l0L1VJRm9udF9Qcml2YXRlLmg+DQogI2ltcG9ydCA8VUlLaXQvVUlH
ZW9tZXRyeV9Qcml2YXRlLmg+DQogI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXplcl9Q
cml2YXRlLmg+DQpAQCAtOTU4LDYgKzk1OSwxMCBAQCB0eXBlZGVmIGVudW0gew0KIA0KIEBlbmQN
CiANCitAaW50ZXJmYWNlIFVJRG9jdW1lbnRQaWNrZXJWaWV3Q29udHJvbGxlciAoKQ0KK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0SXNDb250ZW50TWFuYWdlZDosIGdl
dHRlcj1faXNDb250ZW50TWFuYWdlZCkgQk9PTCBpc0NvbnRlbnRNYW5hZ2VkOw0KK0BlbmQNCisN
CiBAaW50ZXJmYWNlIFVJVmlld0NvbnRyb2xsZXJQcmV2aWV3QWN0aW9uIDogTlNPYmplY3QgPE5T
Q29weWluZz4NCiBAZW5kDQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCmluZGV4IGZhOTM1YmVmN2I1Li4wYzc4
NWM2NTA5OCAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1VJRGVsZWdhdGVQcml2YXRlLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgNCkBAIC0xNDgsNiArMTQ4LDcgQEAgc3RydWN0IFVJ
RWRnZUluc2V0czsNCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZE5v
dEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OihDR1BvaW50KXBvaW50Ow0KIC0gKEJPT0wpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkUmVxdWVzdEdlb2xvY2F0aW9uQXV0aG9yaXph
dGlvbkZvclVSTDooTlNVUkwgKil1cmwgaXNNYWluRnJhbWU6KEJPT0wpaXNNYWluRnJhbWUgbWFp
bkZyYW1lVVJMOihOU1VSTCAqKW1haW5GcmFtZVVSTDsNCiAtICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RHZW9sb2NhdGlvbkF1dGhvcml6YXRpb25Gb3JVUkw6KE5T
VVJMICopdXJsIGZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGRlY2lzaW9uSGFuZGxlcjoodm9p
ZCAoXikoQk9PTCBhdXRob3JpemVkKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShp
b3MoMTEuMCkpOw0KKy0gKEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZmlsZVVw
bG9hZFBhbmVsQ29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KFdLRnJhbWVJbmZv
ICopZnJhbWU7DQogDQogLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvclVSTDooTlNVUkwgKil1cmwgV0tfQVBJ
X0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUNvbmZpZ3Vy
YXRpb25Gb3JFbGVtZW50OmNvbXBsZXRpb25IYW5kbGVyOiIsIGlvcyg5LjAsIDEzLjApKTsNCiAt
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbW1pdFByZXZpZXdlZFZpZXdD
b250cm9sbGVyOihVSVZpZXdDb250cm9sbGVyICopcHJldmlld2VkVmlld0NvbnRyb2xsZXIgV0tf
QVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUZvckVs
ZW1lbnQ6d2lsbENvbW1pdFdpdGhBbmltYXRvcjoiLCBpb3MoOS4wLCAxMy4wKSk7DQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oDQppbmRleCA4M2M5OTY0ZmY3Mi4uYTBiNzAzYzJkZmQg
MTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgNCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaA0KQEAgLTIzNCw3ICsyMzQsNyBA
QCBwdWJsaWM6DQogDQogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93
bmxvYWRQcm94eSYpID0gMDsNCiANCi0gICAgdmlydHVhbCBib29sIGhhbmRsZVJ1bk9wZW5QYW5l
bChXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJz
KiwgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSopIHsgcmV0dXJuIGZhbHNlOyB9DQor
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJh
bWVQcm94eSosIGNvbnN0IEZyYW1lSW5mb0RhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMq
LCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KikgeyByZXR1cm4gZmFsc2U7IH0NCiAg
ICAgdmlydHVhbCBib29sIHNob3dTaGFyZVNoZWV0KGNvbnN0IFdlYkNvcmU6OlNoYXJlRGF0YVdp
dGhQYXJzZWRVUkwmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQgKGJvb2wpPiYmKSB7IHJl
dHVybiBmYWxzZTsgfQ0KIA0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudFNpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcA0KaW5kZXggOTBkMTc1ZGJkMWQuLjQ4NGRiOWMzNDBkIDEwMDY0NA0KLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcA0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcA0KQEAgLTU4MDUsOCArNTgwNSwxMCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6cnVuT3BlblBhbmVsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlE
LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbg0KICAgICAvLyBTaW5jZSBydW5PcGVuUGFuZWwoKSBj
YW4gc3BpbiBhIG5lc3RlZCBydW4gbG9vcCB3ZSBuZWVkIHRvIHR1cm4gb2ZmIHRoZSByZXNwb25z
aXZlbmVzcyB0aW1lci4NCiAgICAgbV9wcm9jZXNzLT5zdG9wUmVzcG9uc2l2ZW5lc3NUaW1lcigp
Ow0KIA0KKyAgICBjb25zdCBhdXRvIGZyYW1lSW5mb0ZvclBhZ2VDbGllbnQgPSBmcmFtZUluZm87
DQorDQogICAgIGlmICghbV91aUNsaWVudC0+cnVuT3BlblBhbmVsKCp0aGlzLCBmcmFtZSwgV1RG
TW92ZShmcmFtZUluZm8pLCBwYXJhbWV0ZXJzLnB0cigpLCBtX29wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyLmdldCgpKSkgew0KLSAgICAgICAgaWYgKCFwYWdlQ2xpZW50KCkuaGFuZGxlUnVuT3BlblBh
bmVsKHRoaXMsIGZyYW1lLCBwYXJhbWV0ZXJzLnB0cigpLCBtX29wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyLmdldCgpKSkNCisgICAgICAgIGlmICghcGFnZUNsaWVudCgpLmhhbmRsZVJ1bk9wZW5QYW5l
bCh0aGlzLCBmcmFtZSwgZnJhbWVJbmZvRm9yUGFnZUNsaWVudCwgcGFyYW1ldGVycy5wdHIoKSwg
bV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5nZXQoKSkpDQogICAgICAgICAgICAgZGlkQ2FuY2Vs
Rm9yT3BlblBhbmVsKCk7DQogICAgIH0NCiB9DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaA0KaW5kZXggNzc0MGQyNTQ3NDIuLmYxNDUzZjU3ZmFi
IDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oDQpAQCAtMTY5LDcgKzE2OSw3IEBAIHByaXZhdGU6DQogICAgIHZvaWQgc2F2ZUltYWdlVG9M
aWJyYXJ5KFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIG92ZXJyaWRlOw0KICAgICB2b2lk
IHNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1ZpZGVvLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBlbGVtZW50UmVjdCwgV2ViQ29yZTo6Um91dGVTaGFyaW5nUG9saWN5LCBjb25zdCBT
dHJpbmcmKSBvdmVycmlkZTsNCiANCi0gICAgYm9vbCBoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFn
ZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKSBvdmVycmlkZTsNCisgICAgYm9vbCBoYW5kbGVS
dW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IEZyYW1lSW5m
b0RhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0
ZW5lclByb3h5Kikgb3ZlcnJpZGU7DQogICAgIGJvb2wgc2hvd1NoYXJlU2hlZXQoY29uc3QgV2Vi
Q29yZTo6U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJikgb3ZlcnJpZGU7DQogICAgIA0KICAgICB2b2lkIGRpc2FibGVEb3VibGVUYXBH
ZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCkgb3ZlcnJpZGU7
DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
DQppbmRleCA4NzU0MTgzZWRjNy4uZjMyMGY4MDgyMDUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0NCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQ0KQEAgLTY1Myw5ICs2NTMsOSBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoYm9vbCBoYXNW
aWRlbywgY29uc3QgSW50UmVjdCYgZWxlbQ0KICAgICBbbV9jb250ZW50VmlldyBfc2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyOmhhc1ZpZGVvIGZyb21SZWN0OmVsZW1lbnRSZWN0IHJvdXRlU2hhcmlu
Z1BvbGljeTpwb2xpY3kgcm91dGluZ0NvbnRleHRVSUQ6Y29udGV4dFVJRF07DQogfQ0KIA0KLWJv
b2wgUGFnZUNsaWVudEltcGw6OmhhbmRsZVJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJG
cmFtZVByb3h5KiwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzLCBXZWJPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikNCitib29sIFBhZ2VDbGllbnRJbXBs
OjpoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0
IEZyYW1lSW5mb0RhdGEmIGZyYW1lSW5mbywgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBwYXJh
bWV0ZXJzLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikNCiB7DQot
ICAgIFttX2NvbnRlbnRWaWV3IF9zaG93UnVuT3BlblBhbmVsOnBhcmFtZXRlcnMgcmVzdWx0TGlz
dGVuZXI6bGlzdGVuZXJdOw0KKyAgICBbbV9jb250ZW50VmlldyBfc2hvd1J1bk9wZW5QYW5lbDpw
YXJhbWV0ZXJzIGZyYW1lSW5mbzpmcmFtZUluZm8gcmVzdWx0TGlzdGVuZXI6bGlzdGVuZXJdOw0K
ICAgICByZXR1cm4gdHJ1ZTsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oDQppbmRleCBmYjE4YjBjNWZkMy4u
ZDQ5YmVlZDkzMDEgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaA0KQEAgLTM0LDYgKzM0LDcgQEANCiAjaW1wb3J0
ICJEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCINCiAjaW1wb3J0ICJFZGl0b3JTdGF0ZS5oIg0K
ICNpbXBvcnQgIkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaCINCisjaW1wb3J0ICJGcmFtZUlu
Zm9EYXRhLmgiDQogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiDQogI2ltcG9ydCAiSW50ZXJhY3Rp
b25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCINCiAjaW1wb3J0ICJTeW50aGV0aWNFZGl0aW5nQ29t
bWFuZFR5cGUuaCINCkBAIC0yNjIsNiArMjYzLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25E
YXRhIHsNCiAjZW5kaWYNCiAgICAgUmV0YWluUHRyPFdLRm9ybUlucHV0U2Vzc2lvbj4gX2Zvcm1J
bnB1dFNlc3Npb247DQogICAgIFJldGFpblB0cjxXS0ZpbGVVcGxvYWRQYW5lbD4gX2ZpbGVVcGxv
YWRQYW5lbDsNCisgICAgV2ViS2l0OjpGcmFtZUluZm9EYXRhIF9mcmFtZUluZm9Gb3JGaWxlVXBs
b2FkUGFuZWw7DQogI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikN
CiAgICAgUmV0YWluUHRyPFdLU2hhcmVTaGVldD4gX3NoYXJlU2hlZXQ7DQogI2VuZGlmDQpAQCAt
NDk5LDcgKzUwMSw3IEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oREVD
TEFSRV9XS0NPTlRFTlRWSUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpDQogLSAodm9pZClfc2Nyb2xs
aW5nTm9kZVNjcm9sbGluZ1dpbGxCZWdpbjsNCiAtICh2b2lkKV9zY3JvbGxpbmdOb2RlU2Nyb2xs
aW5nRGlkRW5kOw0KIC0gKHZvaWQpX3Nob3dQbGF5YmFja1RhcmdldFBpY2tlcjooQk9PTCloYXNW
aWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpZWxlbWVudFJlY3Qgcm91dGVT
aGFyaW5nUG9saWN5OihXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kpcG9saWN5IHJvdXRpbmdD
b250ZXh0VUlEOihOU1N0cmluZyAqKWNvbnRleHRVSUQ7DQotLSAodm9pZClfc2hvd1J1bk9wZW5Q
YW5lbDooQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKilwYXJhbWV0ZXJzIHJlc3VsdExpc3RlbmVy
OihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyOw0KKy0g
KHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyopcGFyYW1l
dGVycyBmcmFtZUluZm86KGNvbnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYpZnJhbWVJbmZvIHJl
c3VsdExpc3RlbmVyOihXZWJLaXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxp
c3RlbmVyOw0KIC0gKHZvaWQpX3Nob3dTaGFyZVNoZWV0Oihjb25zdCBXZWJDb3JlOjpTaGFyZURh
dGFXaXRoUGFyc2VkVVJMJilzaGFyZURhdGEgaW5SZWN0OihXVEY6Ok9wdGlvbmFsPFdlYkNvcmU6
OkZsb2F0UmVjdD4pcmVjdCBjb21wbGV0aW9uSGFuZGxlcjooV1RGOjpDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmKWNvbXBsZXRpb25IYW5kbGVyOw0KIC0gKHZvaWQpZGlzbWlzc0ZpbGVQ
aWNrZXI7DQogLSAodm9pZClfZGlkSGFuZGxlS2V5RXZlbnQ6KDo6V2ViRXZlbnQgKilldmVudCBl
dmVudFdhc0hhbmRsZWQ6KEJPT0wpZXZlbnRXYXNIYW5kbGVkOw0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQppbmRl
eCA2YWE4OTUyNzI2Zi4uZGVhMzNlMWNiNTUgMTAwNjQ0DQotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tDQpAQCAtNTUsNiAr
NTUsNyBAQA0KICNpbXBvcnQgIldLRm9jdXNlZEZvcm1Db250cm9sVmlldy5oIg0KICNpbXBvcnQg
IldLRm9ybUlucHV0Q29udHJvbC5oIg0KICNpbXBvcnQgIldLRm9ybVNlbGVjdENvbnRyb2wuaCIN
CisjaW1wb3J0ICJXS0ZyYW1lSW5mb0ludGVybmFsLmgiDQogI2ltcG9ydCAiV0tIaWdobGlnaHRM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oIg0KICNpbXBvcnQgIldLSW1hZ2VQcmV2aWV3Vmll
d0NvbnRyb2xsZXIuaCINCiAjaW1wb3J0ICJXS0luc3BlY3Rvck5vZGVTZWFyY2hHZXN0dXJlUmVj
b2duaXplci5oIg0KQEAgLTY1NzQsNyArNjU3NSw3IEBAIC0gKHZvaWQpX3Nob3dQbGF5YmFja1Rh
cmdldFBpY2tlcjooQk9PTCloYXNWaWRlbyBmcm9tUmVjdDooY29uc3QgV2ViQ29yZTo6SW50UmVj
DQogI2VuZGlmDQogfQ0KIA0KLS0gKHZvaWQpX3Nob3dSdW5PcGVuUGFuZWw6KEFQSTo6T3BlblBh
bmVsUGFyYW1ldGVycyopcGFyYW1ldGVycyByZXN1bHRMaXN0ZW5lcjooV2ViS2l0OjpXZWJPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KilsaXN0ZW5lcg0KKy0gKHZvaWQpX3Nob3dSdW5PcGVu
UGFuZWw6KEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyopcGFyYW1ldGVycyBmcmFtZUluZm86KGNv
bnN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSYpZnJhbWVJbmZvIHJlc3VsdExpc3RlbmVyOihXZWJL
aXQ6OldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyDQogew0KICAgICBB
U1NFUlQoIV9maWxlVXBsb2FkUGFuZWwpOw0KICAgICBpZiAoX2ZpbGVVcGxvYWRQYW5lbCkNCkBA
IC02NTg3LDYgKzY1ODgsNyBAQCAtICh2b2lkKV9zaG93UnVuT3BlblBhbmVsOihBUEk6Ok9wZW5Q
YW5lbFBhcmFtZXRlcnMqKXBhcmFtZXRlcnMgcmVzdWx0TGlzdGVuZXI6KA0KICAgICBpZiAoIXBh
bmVsQ2xhc3MpDQogICAgICAgICBwYW5lbENsYXNzID0gW1dLRmlsZVVwbG9hZFBhbmVsIGNsYXNz
XTsNCiANCisgICAgX2ZyYW1lSW5mb0ZvckZpbGVVcGxvYWRQYW5lbCA9IGZyYW1lSW5mbzsNCiAg
ICAgX2ZpbGVVcGxvYWRQYW5lbCA9IGFkb3B0TlMoW1twYW5lbENsYXNzIGFsbG9jXSBpbml0V2l0
aFZpZXc6c2VsZl0pOw0KICAgICBbX2ZpbGVVcGxvYWRQYW5lbCBzZXREZWxlZ2F0ZTpzZWxmXTsN
CiAgICAgW19maWxlVXBsb2FkUGFuZWwgcHJlc2VudFdpdGhQYXJhbWV0ZXJzOnBhcmFtZXRlcnMg
cmVzdWx0TGlzdGVuZXI6bGlzdGVuZXJdOw0KQEAgLTY2MDAsNiArNjYwMiwxNiBAQCAtICh2b2lk
KWZpbGVVcGxvYWRQYW5lbERpZERpc21pc3M6KFdLRmlsZVVwbG9hZFBhbmVsICopZmlsZVVwbG9h
ZFBhbmVsDQogICAgIF9maWxlVXBsb2FkUGFuZWwgPSBuaWw7DQogfQ0KIA0KKy0gKEJPT0wpZmls
ZVVwbG9hZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6KFdLRmlsZVVwbG9hZFBhbmVsICopZmls
ZVVwbG9hZFBhbmVsDQorew0KKyAgICBBU1NFUlQoX2ZpbGVVcGxvYWRQYW5lbC5nZXQoKSA9PSBm
aWxlVXBsb2FkUGFuZWwpOw0KKw0KKyAgICBhdXRvIHdlYlZpZXcgPSBfd2ViVmlldy5nZXQoKTsN
CisgICAgaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+IHVpRGVsZWdhdGUgPSBzdGF0aWNfY2FzdDxp
ZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KFt3ZWJWaWV3IFVJRGVsZWdhdGVdKTsNCisgICAgcmV0
dXJuIFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Zmls
ZVVwbG9hZFBhbmVsQ29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KV0NCisgICAg
ICAgICYmIFt1aURlbGVnYXRlIF93ZWJWaWV3OndlYlZpZXcuZ2V0KCkgZmlsZVVwbG9hZFBhbmVs
Q29udGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6d3JhcHBlcihBUEk6OkZyYW1lSW5m
bzo6Y3JlYXRlKFdURk1vdmUoX2ZyYW1lSW5mb0ZvckZpbGVVcGxvYWRQYW5lbCksIF9wYWdlLmdl
dCgpKSldOw0KK30NCisNCiAtICh2b2lkKV9zaG93U2hhcmVTaGVldDooY29uc3QgV2ViQ29yZTo6
U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYpZGF0YSBpblJlY3Q6KFdURjo6T3B0aW9uYWw8V2ViQ29y
ZTo6RmxvYXRSZWN0PilyZWN0IGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmKWNvbXBsZXRpb25IYW5kbGVyDQogew0KICNpZiAhUExBVEZPUk0oV0FUQ0hP
UykgJiYgIVBMQVRGT1JNKEFQUExFVFYpDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwuaA0KaW5kZXggODY0OTcwMWM0N2IuLmIx
MmI4ZTIzMGEwIDEwMDY0NA0KLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLRmlsZVVwbG9hZFBhbmVsLmgNCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5oDQpAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBXZWJPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5Ow0KIEBwcm90b2NvbCBXS0ZpbGVVcGxvYWRQYW5lbERl
bGVnYXRlIDxOU09iamVjdD4NCiBAb3B0aW9uYWwNCiAtICh2b2lkKWZpbGVVcGxvYWRQYW5lbERp
ZERpc21pc3M6KFdLRmlsZVVwbG9hZFBhbmVsICopZmlsZVVwbG9hZFBhbmVsOw0KKy0gKEJPT0wp
ZmlsZVVwbG9hZFBhbmVsRGVzdGluYXRpb25Jc01hbmFnZWQ6KFdLRmlsZVVwbG9hZFBhbmVsICop
ZmlsZVVwbG9hZFBhbmVsOw0KIEBlbmQNCiANCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlM
WSkNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxl
VXBsb2FkUGFuZWwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxl
VXBsb2FkUGFuZWwubW0NCmluZGV4IDY3NDFjZWRhNWQ4Li4yZjkyYmI2ZTRhYyAxMDA2NDQNCi0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5t
bQ0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBh
bmVsLm1tDQpAQCAtNTAxLDYgKzUwMSw4IEBAIC0gKHZvaWQpc2hvd0ZpbGVQaWNrZXJNZW51DQog
ICAgIF9kb2N1bWVudFBpY2tlckNvbnRyb2xsZXIgPSBhZG9wdE5TKFtbVUlEb2N1bWVudFBpY2tl
clZpZXdDb250cm9sbGVyIGFsbG9jXSBpbml0V2l0aERvY3VtZW50VHlwZXM6ZG9jdW1lbnRUeXBl
cyBpbk1vZGU6VUlEb2N1bWVudFBpY2tlck1vZGVJbXBvcnRdKTsNCiAgICAgW19kb2N1bWVudFBp
Y2tlckNvbnRyb2xsZXIgc2V0QWxsb3dzTXVsdGlwbGVTZWxlY3Rpb246X2FsbG93TXVsdGlwbGVG
aWxlc107DQogICAgIFtfZG9jdW1lbnRQaWNrZXJDb250cm9sbGVyIHNldERlbGVnYXRlOnNlbGZd
Ow0KKyAgICBpZiAoW19kZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGZpbGVV
cGxvYWRQYW5lbERlc3RpbmF0aW9uSXNNYW5hZ2VkOildKQ0KKyAgICAgICAgW19kb2N1bWVudFBp
Y2tlckNvbnRyb2xsZXIgX3NldElzQ29udGVudE1hbmFnZWQ6W19kZWxlZ2F0ZSBmaWxlVXBsb2Fk
UGFuZWxEZXN0aW5hdGlvbklzTWFuYWdlZDpzZWxmXV07DQogICAgIFtzZWxmIF9wcmVzZW50RnVs
bHNjcmVlblZpZXdDb250cm9sbGVyOl9kb2N1bWVudFBpY2tlckNvbnRyb2xsZXIuZ2V0KCkgYW5p
bWF0ZWQ6WUVTXTsNCiB9DQogDQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>