<?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>191605</bug_id>
          
          <creation_ts>2018-11-13 15:26:21 -0800</creation_ts>
          <short_desc>[Cocoa] [WebKit2] Hook up some more editing actions (-pasteAndMatchStyle:, -makeTextWritingDirectionNatural:)</short_desc>
          <delta_ts>2018-11-14 11:01:08 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1478168</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-11-13 15:26:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/45813991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478218</commentid>
    <comment_count>1</comment_count>
      <attachid>354730</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-11-13 16:48:18 -0800</bug_when>
    <thetext>Created attachment 354730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478429</commentid>
    <comment_count>2</comment_count>
      <attachid>354808</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-11-14 07:31:50 -0800</bug_when>
    <thetext>Created attachment 354808
Fix non-internal iOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478502</commentid>
    <comment_count>3</comment_count>
      <attachid>354808</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-11-14 10:14:40 -0800</bug_when>
    <thetext>Comment on attachment 354808
Fix non-internal iOS build

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:250
&gt; +    auto destination = webViewForEditActionTesting(@&quot;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&quot;);

Hm...I just realized, I might have to tweak this test a bit to work around &lt;https://webkit.org/b/190401&gt;. I&apos;m going to move this line:

    `auto destination = webViewForEditActionTesting(@&quot;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&quot;);`

...to right after we create the source WKWebView in `auto source = webViewForEditActionTesting();`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478507</commentid>
    <comment_count>4</comment_count>
      <attachid>354828</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-11-14 10:21:34 -0800</bug_when>
    <thetext>Created attachment 354828
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478528</commentid>
    <comment_count>5</comment_count>
      <attachid>354828</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-14 11:00:13 -0800</bug_when>
    <thetext>Comment on attachment 354828
Patch for landing

Clearing flags on attachment: 354828

Committed r238186: &lt;https://trac.webkit.org/changeset/238186&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354730</attachid>
            <date>2018-11-13 16:48:18 -0800</date>
            <delta_ts>2018-11-14 07:31:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191605-20181113164817.patch</filename>
            <type>text/plain</type>
            <size>13700</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3MzRmOTVhMjNiMDkzOTRj
MDA0YzBmNTVkN2QyYzM4NmI5ZTg4ZGIuLjZiZTI3NjM0ZTI4NTlkZjg4NDIxODU0NzBiZDEwOGEz
NGU1Y2JlNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMTEtMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBbV2ViS2l0
Ml0gSG9vayB1cCBzb21lIG1vcmUgZWRpdGluZyBhY3Rpb25zICgtX3Bhc3RlQW5kTWF0Y2hTdHls
ZTosIC1tYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOikKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYwNQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDU4MTM5OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSG9vayB1cCBhIGNvdXBsZSBvZiBlZGl0aW5nIGFjdGlvbnMgb24gaU9TIGFuZCBt
YWNPUy4gVGhlIGAtcGFzdGVBbmRNYXRjaFN0eWxlOmAgc2VsZWN0b3IgaXMgcHJpdmF0ZWx5IGRl
Y2xhcmVkCisgICAgICAgIGluIFVJS2l0LCBidXQgZG9lcyBub3QgZXhpc3Qgb24gbWFjT1M7IGFz
IHN1Y2gsIGFkZCBgLV9wYXN0ZUFuZE1hdGNoU3R5bGU6YCBhcyBTUEkgb24gV0tXZWJWaWV3LCBh
bmQKKyAgICAgICAgYWRkaXRpb25hbGx5IGltcGxlbWVudCB0aGUgdW5wcmVmaXhlZCB2ZXJzaW9u
LCBgLXBhc3RlQW5kTWF0Y2hTdHlsZWAsIG9uIGlPUy4KKworICAgICAgICBTaW5jZSBgLW1ha2VU
ZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWw6YCBpcyBhbHJlYWR5IGRlY2xhcmVkIG9uIGJvdGgg
aU9TIGFuZCBtYWNPUyAoU1BJIG9uIFVJUmVzcG9uZGVyIGFuZCBBUEkKKyAgICAgICAgb24gbWFj
T1MsIHJlc3BlY3RpdmVseSkgd2Ugc2ltcGx5IGltcGxlbWVudCB0aGUgdW5wcmVmaXhlZCB2YXJp
YW50IG9uIGJvdGggcGxhdGZvcm1zLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgbWFrZVRleHRXcml0aW5nRGlyZWN0aW9uTmF0dXJhbEZvcldlYlZpZXc6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgY2FuUGVyZm9ybUFjdGlvbkZvcldlYlZpZXc6d2l0aFNl
bmRlcjpdKToKKwogMjAxOC0xMS0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBEbyBub3Qgc2hvdyBzZWxlY3Rpb24gVUkgZm9yIGVkaXRh
YmxlIGVsZW1lbnRzIHdpdGggb3BhY2l0eSBuZWFyIHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggMjc1ZmE1Zjk5NmIyYzUyZTM4NjNjOTE4OTRkMzY0
ZWNjYWVmOTQzZC4uZjI5NWIxM2ExNjY3NzM2Y2FlNjZhZTM0NDYxMzNjZGNiMjhhYzMyNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTEwNzgsNiArMTA3
OCw4IEBAIHR5cGVkZWYgTlNJbnRlZ2VyIFVJQ29tcG9zaXRpbmdNb2RlOwogCiBAaW50ZXJmYWNl
IFVJUmVzcG9uZGVyICgpCiAtIChVSVJlc3BvbmRlciAqKWZpcnN0UmVzcG9uZGVyOworLSAodm9p
ZClwYXN0ZUFuZE1hdGNoU3R5bGU6KGlkKXNlbmRlcjsKKy0gKHZvaWQpbWFrZVRleHRXcml0aW5n
RGlyZWN0aW9uTmF0dXJhbDooaWQpc2VuZGVyOwogQGVuZAogCiBAaW50ZXJmYWNlIF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBiODY0YzUyZjAwMTMwZjBmM2FlZjU3
NGE5ZDEyYmIwM2E0MmExY2M5Li4xNTUzZjlmZjYyOTA1Zjg1OTVjMzYyNDZmY2ZiZjBlYzE3YTE4
YmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KQEAgLTQzMzEsNyArNDMzMSw4IEBAIFdFQkNPUkVfUFJJVkFURV9DT01NQU5EKGluc2VydE5l
c3RlZE9yZGVyZWRMaXN0KQogV0VCQ09SRV9QUklWQVRFX0NPTU1BTkQoaW5zZXJ0TmVzdGVkVW5v
cmRlcmVkTGlzdCkKIFdFQkNPUkVfUFJJVkFURV9DT01NQU5EKGluZGVudCkKIFdFQkNPUkVfUFJJ
VkFURV9DT01NQU5EKG91dGRlbnQpCi1XRUJDT1JFX1BSSVZBVEVfQ09NTUFORChwYXN0ZUFzUXVv
dGF0aW9uKTsKK1dFQkNPUkVfUFJJVkFURV9DT01NQU5EKHBhc3RlQXNRdW90YXRpb24pCitXRUJD
T1JFX1BSSVZBVEVfQ09NTUFORChwYXN0ZUFuZE1hdGNoU3R5bGUpCiAKICN1bmRlZiBXRUJDT1JF
X1BSSVZBVEVfQ09NTUFORAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCAyM2U2OGRhOWI1ZWY4YTNlZDE3MTMzZWQ5
Nzc4YWY0ODNjMzliNjg4Li40MzgyNWU5ZjNiNTczNTNiYWFiNjhkNWZlNDU5OWQ0OTUzMzE2ZGM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKQEAgLTIwMyw2ICsyMDMsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIC0gKElCQWN0aW9uKV9kZWNyZWFzZUxpc3RMZXZlbDooaWQp
c2VuZGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogLSAoSUJBY3Rpb24pX2NoYW5nZUxpc3RUeXBlOihpZClzZW5kZXIgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtIChJQkFjdGlvbilf
cGFzdGVBc1F1b3RhdGlvbjooaWQpc2VuZGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAoSUJBY3Rpb24pX3Bhc3RlQW5kTWF0Y2hTdHls
ZTooaWQpc2VuZGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggNWM0
MTQyNTZmOWI1NjhkZGE1YTY4ZTNiYTI5MmFmZjY5Mzc3NGI0Zi4uZGUwNThmMjQ1NDQyM2FkYTc3
MzAyY2E2NzY0ZmMzOTUyMTg4NmI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMTMyLDcgKzEzMiw5IEBA
IHR5cGVkZWYgc3RkOjpwYWlyPFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qs
IEludGVyYWN0aW9uSW5mb3JtYXRpb25DCiAgICAgTShhbGlnbkxlZnQpIFwKICAgICBNKGFsaWdu
UmlnaHQpIFwKICAgICBNKGFsaWduQ2VudGVyKSBcCi0gICAgTShhbGlnbkp1c3RpZmllZCkKKyAg
ICBNKGFsaWduSnVzdGlmaWVkKSBcCisgICAgTShwYXN0ZUFuZE1hdGNoU3R5bGUpIFwKKyAgICBN
KG1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWwpCiAKICNkZWZpbmUgRk9SX0VBQ0hfUFJJ
VkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihNKSBcCiAgICAgTShfYWxpZ25DZW50ZXIpIFwKQEAg
LTE0OSw3ICsxNTEsOCBAQCB0eXBlZGVmIHN0ZDo6cGFpcjxXZWJLaXQ6OkludGVyYWN0aW9uSW5m
b3JtYXRpb25SZXF1ZXN0LCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQwogICAgIE0oX2luY3JlYXNl
TGlzdExldmVsKSBcCiAgICAgTShfZGVjcmVhc2VMaXN0TGV2ZWwpIFwKICAgICBNKF9jaGFuZ2VM
aXN0VHlwZSkgXAotICAgIE0oX3Bhc3RlQXNRdW90YXRpb24pCisgICAgTShfcGFzdGVBc1F1b3Rh
dGlvbikgXAorICAgIE0oX3Bhc3RlQW5kTWF0Y2hTdHlsZSkKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCmluZGV4IGI4ODdiNzdiMDE4Yzg5ZWE3YmE1NTE5MzMzYWQxZDQ5OWE3
YTA4YjkuLjUwOGUxZWE1YTg0MWVjMWNiNTJmYmNmNTI0Njg2NjliYTQzMjk2ODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQpAQCAtMjI2MSw2ICsyMjYxLDExIEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5U
VklFV19BQ1RJT04oRk9SV0FSRF9BQ1RJT05fVE9fV0tXRUJWSUVXKQogICAgIHJldHVybiAoTlNT
dHJpbmcgKilfcGFnZS0+ZWRpdG9yU3RhdGUoKS5wb3N0TGF5b3V0RGF0YSgpLndvcmRBdFNlbGVj
dGlvbjsKIH0KIAorLSAodm9pZCltYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsRm9yV2Vi
VmlldzooaWQpc2VuZGVyCit7CisgICAgX3BhZ2UtPmV4ZWN1dGVFZGl0Q29tbWFuZCgibWFrZVRl
eHRXcml0aW5nRGlyZWN0aW9uTmF0dXJhbCJfcyk7Cit9CisKIC0gKEJPT0wpaXNSZXBsYWNlQWxs
b3dlZAogewogICAgIHJldHVybiBfcGFnZS0+ZWRpdG9yU3RhdGUoKS5wb3N0TGF5b3V0RGF0YSgp
LmlzUmVwbGFjZUFsbG93ZWQ7CkBAIC0yMzA4LDYgKzIzMTMsNyBAQCBXRUJDT1JFX0NPTU1BTkRf
Rk9SX1dFQlZJRVcoYWxpZ25MZWZ0KTsKIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhhbGln
blJpZ2h0KTsKIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhhbGlnbkNlbnRlcik7CiBXRUJD
T1JFX0NPTU1BTkRfRk9SX1dFQlZJRVcoYWxpZ25KdXN0aWZpZWQpOworV0VCQ09SRV9DT01NQU5E
X0ZPUl9XRUJWSUVXKHBhc3RlQW5kTWF0Y2hTdHlsZSk7CiAjdW5kZWYgV0VCQ09SRV9DT01NQU5E
X0ZPUl9XRUJWSUVXCiAKIC0gKHZvaWQpX2luY3JlYXNlTGlzdExldmVsRm9yV2ViVmlldzooaWQp
c2VuZGVyCkBAIC0yNDQ4LDcgKzI0NTQsOCBAQCBXRUJDT1JFX0NPTU1BTkRfRk9SX1dFQlZJRVco
YWxpZ25KdXN0aWZpZWQpOwogICAgICAgICB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGluY3JlYXNl
U2l6ZTopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoZGVjcmVhc2VTaXplOikKICAgICAgICAgfHwg
YWN0aW9uID09IEBzZWxlY3Rvcih0b2dnbGVTdHJpa2VUaHJvdWdoOikgfHwgYWN0aW9uID09IEBz
ZWxlY3RvcihpbnNlcnRPcmRlcmVkTGlzdDopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoaW5zZXJ0
VW5vcmRlcmVkTGlzdDopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoaW5kZW50OikgfHwgYWN0aW9u
ID09IEBzZWxlY3RvcihvdXRkZW50OikKICAgICAgICAgfHwgYWN0aW9uID09IEBzZWxlY3Rvcihh
bGlnbkxlZnQ6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGFsaWduUmlnaHQ6KSB8fCBhY3Rpb24g
PT0gQHNlbGVjdG9yKGFsaWduQ2VudGVyOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihhbGlnbkp1
c3RpZmllZDopCi0gICAgICAgIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Ioc2V0VGV4dENvbG9yOnNl
bmRlcjopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Ioc2V0Rm9udDpzZW5kZXI6KSB8fCBhY3Rpb24g
PT0gQHNlbGVjdG9yKHNldEZvbnRTaXplOnNlbmRlcjopKSB7CisgICAgICAgIHx8IGFjdGlvbiA9
PSBAc2VsZWN0b3Ioc2V0VGV4dENvbG9yOnNlbmRlcjopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Io
c2V0Rm9udDpzZW5kZXI6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKHNldEZvbnRTaXplOnNlbmRl
cjopCisgICAgICAgIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IobWFrZVRleHRXcml0aW5nRGlyZWN0
aW9uTmF0dXJhbDopKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtb3JlIG51
YW5jZWQgaW4gdGhlIGZ1dHVyZSwgcmF0aGVyIHRoYW4gcmV0dXJuaW5nIFlFUyBmb3IgYWxsIHJp
Y2hseSBlZGl0YWJsZSBhcmVhcy4gRm9yIGluc3RhbmNlLCBvdXRkZW50OiBzaG91bGQgYmUgZGlz
YWJsZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGFscmVhZHkKICAgICAgICAgLy8gYXQgdGhlIG91
dGVybW9zdCBpbmRlbnRhdGlvbiBsZXZlbC4KICAgICAgICAgcmV0dXJuIGVkaXRvclN0YXRlLmlz
Q29udGVudFJpY2hseUVkaXRhYmxlOwpAQCAtMjQ1Niw3ICsyNDYzLDcgQEAgV0VCQ09SRV9DT01N
QU5EX0ZPUl9XRUJWSUVXKGFsaWduSnVzdGlmaWVkKTsKICAgICBpZiAoYWN0aW9uID09IEBzZWxl
Y3RvcihjdXQ6KSkKICAgICAgICAgcmV0dXJuICFlZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVs
ZCAmJiBlZGl0b3JTdGF0ZS5pc0NvbnRlbnRFZGl0YWJsZSAmJiBlZGl0b3JTdGF0ZS5zZWxlY3Rp
b25Jc1JhbmdlOwogICAgIAotICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKHBhc3RlOikgfHwg
YWN0aW9uID09IEBzZWxlY3RvcihfcGFzdGVBc1F1b3RhdGlvbjopKSB7CisgICAgaWYgKGFjdGlv
biA9PSBAc2VsZWN0b3IocGFzdGU6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKF9wYXN0ZUFzUXVv
dGF0aW9uOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihfcGFzdGVBbmRNYXRjaFN0eWxlOikgfHwg
YWN0aW9uID09IEBzZWxlY3RvcihwYXN0ZUFuZE1hdGNoU3R5bGU6KSkgewogICAgICAgICBpZiAo
ZWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNOb25lIHx8ICFlZGl0b3JTdGF0ZS5pc0NvbnRlbnRFZGl0
YWJsZSkKICAgICAgICAgICAgIHJldHVybiBOTzsKICAgICAgICAgVUlQYXN0ZWJvYXJkICpwYXN0
ZWJvYXJkID0gW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF07CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWFiMDQyZTg1OGYyNGM0MTk4
MjI2ZDYyOTEyZDUwMTY5ZmNlOGRlOC4uZTg5NGQyN2EyNGYyZTBhOGMxMGJkMjdmZDBjZDAwZDI1
YWM0MmE1MiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTExLTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gW1dlYktpdDJdIEhvb2sgdXAgc29tZSBt
b3JlIGVkaXRpbmcgYWN0aW9ucyAoLXBhc3RlQW5kTWF0Y2hTdHlsZTosIC1tYWtlVGV4dFdyaXRp
bmdEaXJlY3Rpb25OYXR1cmFsOikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MTYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDU4MTM5OTE+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyB0d28g
bmV3IEFQSSB0ZXN0cyB0byBleGVyY2lzZSAtX3Bhc3RlQW5kTWF0Y2hTdHlsZTogYW5kIC1tYWtl
VGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW06CisgICAgICAgICgtW1Rlc3RX
S1dlYlZpZXcgX3N5bmNocm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6YXJndW1lbnQ6XSk6IERl
bGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZp
ZXdFZGl0QWN0aW9ucy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbToKKworICAgICAgICBQdWxsIGAtX3N5bmNo
cm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6YXJndW1lbnQ6YCBvdXQgb2YgV0tBdHRhY2htZW50
VGVzdHMgYW5kIGludG8gc2hhcmVkIGNvZGUsIGluIGEgbmV3CisgICAgICAgIGNhdGVnb3J5IG9u
IFdLV2ViVmlldyBkZWNsYXJlZCBpbiBUZXN0V0tXZWJWaWV3LiBBbHNvLCBmaXggYW4gdW5yZWxh
dGVkIHR5cG8gaW4gYSBuZWFyYnkgY2F0ZWdvcnkuCisKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
eW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOmFyZ3VtZW50Ol0pOgorCiAyMDE4LTExLTEz
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1Nd
IERvIG5vdCBzaG93IHNlbGVjdGlvbiBVSSBmb3IgZWRpdGFibGUgZWxlbWVudHMgd2l0aCBvcGFj
aXR5IG5lYXIgemVybwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW0KaW5kZXggNzk2NGRmMWE1MTU3Nzk2MTM4
ZDE3OTRmMmI1MTIyMTI4MjMzYzU0Zi4uOGYxM2I3OGZiNWVkMTkxY2NhMzFkMGI1YjQxY2U0MmFk
NzZhNGRlZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XS0F0dGFjaG1lbnRUZXN0cy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dLQXR0YWNobWVudFRlc3RzLm1tCkBAIC0yNDYsMTggKzI0Niw2IEBAIHN0YXRp
YyBOU0RhdGEgKnRlc3RQREZEYXRhKCkKICAgICBbc2VsZiBleHBlY3RFbGVtZW50VGFnc0luT3Jk
ZXI6QFt0YWdOYW1lLCBvdGhlclRhZ05hbWVdXTsKIH0KIAotLSAoQk9PTClfc3luY2hyb25vdXNs
eUV4ZWN1dGVFZGl0Q29tbWFuZDooTlNTdHJpbmcgKiljb21tYW5kIGFyZ3VtZW50OihOU1N0cmlu
ZyAqKWFyZ3VtZW50Ci17Ci0gICAgX19ibG9jayBib29sIGRvbmUgPSBmYWxzZTsKLSAgICBfX2Js
b2NrIGJvb2wgc3VjY2VzczsKLSAgICBbc2VsZiBfZXhlY3V0ZUVkaXRDb21tYW5kOmNvbW1hbmQg
YXJndW1lbnQ6YXJndW1lbnQgY29tcGxldGlvbjpeKEJPT0wgY29tcGxldGlvblN1Y2Nlc3MpIHsK
LSAgICAgICAgZG9uZSA9IHRydWU7Ci0gICAgICAgIHN1Y2Nlc3MgPSBjb21wbGV0aW9uU3VjY2Vz
czsKLSAgICB9XTsKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwotICAgIHJl
dHVybiBzdWNjZXNzOwotfQotCiAtIChfV0tBdHRhY2htZW50ICopc3luY2hyb25vdXNseUluc2Vy
dEF0dGFjaG1lbnRXaXRoRmlsZVdyYXBwZXI6KE5TRmlsZVdyYXBwZXIgKilmaWxlV3JhcHBlciBj
b250ZW50VHlwZTooTlNTdHJpbmcgKiljb250ZW50VHlwZQogewogICAgIF9fYmxvY2sgYm9vbCBk
b25lID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1dLV2ViVmlld0VkaXRBY3Rpb25zLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdFZGl0QWN0aW9ucy5tbQppbmRleCA0YmY1OTE0MmVlODBh
ZmU4MmI5YjkyYjdiNjNiZDQxODJjNjA3MWIyLi4wMTFhYTExYjg0MDc5OWM2ZGIyYjA5ZTNjOTI1
YTYxZDk1ZTg1ZTVjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1dLV2ViVmlld0VkaXRBY3Rpb25zLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3RWRpdEFjdGlvbnMubW0KQEAgLTI0MCw2ICsyNDAs
MjkgQEAgVEVTVChXS1dlYlZpZXdFZGl0QWN0aW9ucywgUGFzdGVBc1F1b3RhdGlvbikKICAgICBF
WFBFQ1RfVFJVRShbd2ViVmlldyBxdWVyeVNlbGVjdG9yRXhpc3RzOkAiYmxvY2txdW90ZSJdKTsK
IH0KIAorVEVTVChXS1dlYlZpZXdFZGl0QWN0aW9ucywgUGFzdGVBbmRNYXRjaFN0eWxlKQorewor
ICAgIGF1dG8gc291cmNlID0gd2ViVmlld0ZvckVkaXRBY3Rpb25UZXN0aW5nKCk7CisgICAgW3Nv
dXJjZSBzZWxlY3RBbGw6bmlsXTsKKyAgICBbc291cmNlIGV2YWx1YXRlSmF2YVNjcmlwdDpAImRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdib2xkJyk7IGRvY3VtZW50LmV4ZWNDb21tYW5kKCd1bmRlcmxp
bmUnKTsgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2l0YWxpYycpIiBjb21wbGV0aW9uSGFuZGxlcjpu
aWxdOworICAgIFtzb3VyY2UgX3N5bmNocm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6QCJDb3B5
IiBhcmd1bWVudDpuaWxdOworCisgICAgYXV0byBkZXN0aW5hdGlvbiA9IHdlYlZpZXdGb3JFZGl0
QWN0aW9uVGVzdGluZyhAIjxkaXY+PGJyPjwvZGl2PiIpOworICAgIFtkZXN0aW5hdGlvbiBfcGFz
dGVBbmRNYXRjaFN0eWxlOm5pbF07CisgICAgW2Rlc3RpbmF0aW9uIHNlbGVjdEFsbDpuaWxdOwor
ICAgIEVYUEVDVF9GQUxTRShbZGVzdGluYXRpb24gc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN0YXRlKCdib2xkJykiXS5ib29sVmFsdWUpOworICAg
IEVYUEVDVF9GQUxTRShbZGVzdGluYXRpb24gc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
ImRvY3VtZW50LnF1ZXJ5Q29tbWFuZFN0YXRlKCdpdGFsaWMnKSJdLmJvb2xWYWx1ZSk7CisgICAg
RVhQRUNUX0ZBTFNFKFtkZXN0aW5hdGlvbiBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQucXVlcnlDb21tYW5kU3RhdGUoJ3VuZGVybGluZScpIl0uYm9vbFZhbHVlKTsKK30K
KworVEVTVChXS1dlYlZpZXdFZGl0QWN0aW9ucywgTW9kaWZ5VGV4dFdyaXRpbmdEaXJlY3Rpb24p
Cit7CisgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld0ZvckVkaXRBY3Rpb25UZXN0aW5nKEAiPGRp
diBpZD0ndGV4dCcgc3R5bGU9J2RpcmVjdGlvbjogcnRsOyB1bmljb2RlLWJpZGk6IGJpZGktb3Zl
cnJpZGU7Jz5XZWJLaXQ8L2Rpdj4iKTsKKyAgICBbd2ViVmlldyBzZWxlY3RBbGw6bmlsXTsKKyAg
ICBbd2ViVmlldyBtYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOm5pbF07CisgICAgRVhQ
RUNUX1dLX1NUUkVRKCJub3JtYWwiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAiZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0KS51bmljb2RlQmlkaSJdKTsKK30KKwogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAKIFRFU1QoV0tXZWJWaWV3RWRpdEFjdGlvbnMsIENoYW5nZUZv
bnRTaXplKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJW
aWV3LmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaAppbmRleCA0
ZGRhOTNmYzIwODRiNGUwMjM5NTA3YjlkZDhmNjE2YzhlNzk3Yzg1Li42ZWUxN2Q3NjU3ZjYzYzAz
N2E0Mjk0MjkzZjBhMWQzODMwODZkNTJkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L2NvY29hL1Rlc3RXS1dlYlZpZXcuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rl
c3RXS1dlYlZpZXcuaApAQCAtNDYsNiArNDYsMTAgQEAKICNlbmRpZgogQGVuZAogCitAaW50ZXJm
YWNlIFdLV2ViVmlldyAoVGVzdFdlYktpdEFQSSkKKy0gKEJPT0wpX3N5bmNocm9ub3VzbHlFeGVj
dXRlRWRpdENvbW1hbmQ6KE5TU3RyaW5nICopY29tbWFuZCBhcmd1bWVudDooTlNTdHJpbmcgKilh
cmd1bWVudDsKK0BlbmQKKwogQGludGVyZmFjZSBUZXN0TWVzc2FnZUhhbmRsZXIgOiBOU09iamVj
dCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KIC0gKHZvaWQpYWRkTWVzc2FnZTooTlNTdHJpbmcg
KiltZXNzYWdlIHdpdGhIYW5kbGVyOihkaXNwYXRjaF9ibG9ja190KWhhbmRsZXI7CiBAZW5kCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KaW5kZXggZDg4ZjkzNzMx
MTRhY2ExOWYzY2M4Y2UyNDNlMDk4MjRkZWYzMTUyZS4uNjdlMzZkMTIwNTcxNWRkZGJjOWI4NDdi
Zjc4NmUyODA0NDNhYjQ5YSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9U
ZXN0V0tXZWJWaWV3Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5tbQpAQCAtNTAsNyArNTAsNyBAQAogU09GVF9MSU5LX0ZSQU1FV09SSyhVSUtpdCkKIFNP
RlRfTElOS19DTEFTUyhVSUtpdCwgVUlXaW5kb3cpCiAKLUBpbXBsZW1lbnRhdGlvbiBXS1dlYlZp
ZXcgKFdLV2ViVmlld1Rlc3RpbmdRdWlja3MpCitAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChX
S1dlYlZpZXdUZXN0aW5nUXVpcmtzKQogCiAvLyBUZXN0V2ViS2l0QVBJIGlzIGN1cnJlbnRseSBu
b3QgYSBVSUFwcGxpY2F0aW9uIHNvIHdlIGFyZSB1bmFibGUgdG8gdHJhY2sgaWYgaXQgaXMgaW4K
IC8vIHRoZSBiYWNrZ3JvdW5kIG9yIG5vdCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NTIwNCkuIFRoaXMgY2FuCkBAIC02Myw2ICs2MywyMiBAQCBTT0ZUX0xJTktf
Q0xBU1MoVUlLaXQsIFVJV2luZG93KQogQGVuZAogI2VuZGlmCiAKK0BpbXBsZW1lbnRhdGlvbiBX
S1dlYlZpZXcgKFRlc3RXZWJLaXRBUEkpCisKKy0gKEJPT0wpX3N5bmNocm9ub3VzbHlFeGVjdXRl
RWRpdENvbW1hbmQ6KE5TU3RyaW5nICopY29tbWFuZCBhcmd1bWVudDooTlNTdHJpbmcgKilhcmd1
bWVudAoreworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisgICAgX19ibG9jayBib29s
IHN1Y2Nlc3M7CisgICAgW3NlbGYgX2V4ZWN1dGVFZGl0Q29tbWFuZDpjb21tYW5kIGFyZ3VtZW50
OmFyZ3VtZW50IGNvbXBsZXRpb246XihCT09MIGNvbXBsZXRpb25TdWNjZXNzKSB7CisgICAgICAg
IGRvbmUgPSB0cnVlOworICAgICAgICBzdWNjZXNzID0gY29tcGxldGlvblN1Y2Nlc3M7CisgICAg
fV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICByZXR1cm4gc3Vj
Y2VzczsKK30KKworQGVuZAorCiBAaW1wbGVtZW50YXRpb24gVGVzdE1lc3NhZ2VIYW5kbGVyIHsK
ICAgICBOU011dGFibGVEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGRpc3BhdGNoX2Jsb2NrX3Q+ICpf
bWVzc2FnZUhhbmRsZXJzOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354808</attachid>
            <date>2018-11-14 07:31:50 -0800</date>
            <delta_ts>2018-11-14 10:00:50 -0800</delta_ts>
            <desc>Fix non-internal iOS build</desc>
            <filename>bug-191605-20181114073150.patch</filename>
            <type>text/plain</type>
            <size>14199</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3MzRmOTVhMjNiMDkzOTRj
MDA0YzBmNTVkN2QyYzM4NmI5ZTg4ZGIuLmM2NWM1NTQyZjhkZDJlZDY2MjYyZjAyNmQzZTlhYjhh
YTQwN2FhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMTEtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBbV2ViS2l0
Ml0gSG9vayB1cCBzb21lIG1vcmUgZWRpdGluZyBhY3Rpb25zICgtX3Bhc3RlQW5kTWF0Y2hTdHls
ZTosIC1tYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOikKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYwNQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDU4MTM5OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSG9vayB1cCBhIGNvdXBsZSBvZiBlZGl0aW5nIGFjdGlvbnMgb24gaU9TIGFuZCBt
YWNPUy4gVGhlIGAtcGFzdGVBbmRNYXRjaFN0eWxlOmAgc2VsZWN0b3IgaXMgcHJpdmF0ZWx5IGRl
Y2xhcmVkCisgICAgICAgIGluIFVJS2l0LCBidXQgZG9lcyBub3QgZXhpc3Qgb24gbWFjT1M7IGFz
IHN1Y2gsIGFkZCBgLV9wYXN0ZUFuZE1hdGNoU3R5bGU6YCBhcyBTUEkgb24gV0tXZWJWaWV3LCBh
bmQKKyAgICAgICAgYWRkaXRpb25hbGx5IGltcGxlbWVudCB0aGUgdW5wcmVmaXhlZCB2ZXJzaW9u
LCBgLXBhc3RlQW5kTWF0Y2hTdHlsZWAsIG9uIGlPUy4KKworICAgICAgICBTaW5jZSBgLW1ha2VU
ZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWw6YCBpcyBhbHJlYWR5IGRlY2xhcmVkIG9uIGJvdGgg
aU9TIGFuZCBtYWNPUyAoU1BJIG9uIFVJUmVzcG9uZGVyIGFuZCBBUEkKKyAgICAgICAgb24gbWFj
T1MsIHJlc3BlY3RpdmVseSkgd2Ugc2ltcGx5IGltcGxlbWVudCB0aGUgdW5wcmVmaXhlZCB2YXJp
YW50IG9uIGJvdGggcGxhdGZvcm1zLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgbWFrZVRleHRXcml0aW5nRGlyZWN0aW9uTmF0dXJhbEZvcldlYlZpZXc6XSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgY2FuUGVyZm9ybUFjdGlvbkZvcldlYlZpZXc6d2l0aFNl
bmRlcjpdKToKKwogMjAxOC0xMS0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBEbyBub3Qgc2hvdyBzZWxlY3Rpb24gVUkgZm9yIGVkaXRh
YmxlIGVsZW1lbnRzIHdpdGggb3BhY2l0eSBuZWFyIHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggMjc1ZmE1Zjk5NmIyYzUyZTM4NjNjOTE4OTRkMzY0
ZWNjYWVmOTQzZC4uZjI5NWIxM2ExNjY3NzM2Y2FlNjZhZTM0NDYxMzNjZGNiMjhhYzMyNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTEwNzgsNiArMTA3
OCw4IEBAIHR5cGVkZWYgTlNJbnRlZ2VyIFVJQ29tcG9zaXRpbmdNb2RlOwogCiBAaW50ZXJmYWNl
IFVJUmVzcG9uZGVyICgpCiAtIChVSVJlc3BvbmRlciAqKWZpcnN0UmVzcG9uZGVyOworLSAodm9p
ZClwYXN0ZUFuZE1hdGNoU3R5bGU6KGlkKXNlbmRlcjsKKy0gKHZvaWQpbWFrZVRleHRXcml0aW5n
RGlyZWN0aW9uTmF0dXJhbDooaWQpc2VuZGVyOwogQGVuZAogCiBAaW50ZXJmYWNlIF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBiODY0YzUyZjAwMTMwZjBmM2FlZjU3
NGE5ZDEyYmIwM2E0MmExY2M5Li4xNTUzZjlmZjYyOTA1Zjg1OTVjMzYyNDZmY2ZiZjBlYzE3YTE4
YmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KQEAgLTQzMzEsNyArNDMzMSw4IEBAIFdFQkNPUkVfUFJJVkFURV9DT01NQU5EKGluc2VydE5l
c3RlZE9yZGVyZWRMaXN0KQogV0VCQ09SRV9QUklWQVRFX0NPTU1BTkQoaW5zZXJ0TmVzdGVkVW5v
cmRlcmVkTGlzdCkKIFdFQkNPUkVfUFJJVkFURV9DT01NQU5EKGluZGVudCkKIFdFQkNPUkVfUFJJ
VkFURV9DT01NQU5EKG91dGRlbnQpCi1XRUJDT1JFX1BSSVZBVEVfQ09NTUFORChwYXN0ZUFzUXVv
dGF0aW9uKTsKK1dFQkNPUkVfUFJJVkFURV9DT01NQU5EKHBhc3RlQXNRdW90YXRpb24pCitXRUJD
T1JFX1BSSVZBVEVfQ09NTUFORChwYXN0ZUFuZE1hdGNoU3R5bGUpCiAKICN1bmRlZiBXRUJDT1JF
X1BSSVZBVEVfQ09NTUFORAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCAyM2U2OGRhOWI1ZWY4YTNlZDE3MTMzZWQ5
Nzc4YWY0ODNjMzliNjg4Li40MzgyNWU5ZjNiNTczNTNiYWFiNjhkNWZlNDU5OWQ0OTUzMzE2ZGM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKQEAgLTIwMyw2ICsyMDMsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIC0gKElCQWN0aW9uKV9kZWNyZWFzZUxpc3RMZXZlbDooaWQp
c2VuZGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogLSAoSUJBY3Rpb24pX2NoYW5nZUxpc3RUeXBlOihpZClzZW5kZXIgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtIChJQkFjdGlvbilf
cGFzdGVBc1F1b3RhdGlvbjooaWQpc2VuZGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAoSUJBY3Rpb24pX3Bhc3RlQW5kTWF0Y2hTdHls
ZTooaWQpc2VuZGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggNWM0
MTQyNTZmOWI1NjhkZGE1YTY4ZTNiYTI5MmFmZjY5Mzc3NGI0Zi4uZGUwNThmMjQ1NDQyM2FkYTc3
MzAyY2E2NzY0ZmMzOTUyMTg4NmI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMTMyLDcgKzEzMiw5IEBA
IHR5cGVkZWYgc3RkOjpwYWlyPFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qs
IEludGVyYWN0aW9uSW5mb3JtYXRpb25DCiAgICAgTShhbGlnbkxlZnQpIFwKICAgICBNKGFsaWdu
UmlnaHQpIFwKICAgICBNKGFsaWduQ2VudGVyKSBcCi0gICAgTShhbGlnbkp1c3RpZmllZCkKKyAg
ICBNKGFsaWduSnVzdGlmaWVkKSBcCisgICAgTShwYXN0ZUFuZE1hdGNoU3R5bGUpIFwKKyAgICBN
KG1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWwpCiAKICNkZWZpbmUgRk9SX0VBQ0hfUFJJ
VkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihNKSBcCiAgICAgTShfYWxpZ25DZW50ZXIpIFwKQEAg
LTE0OSw3ICsxNTEsOCBAQCB0eXBlZGVmIHN0ZDo6cGFpcjxXZWJLaXQ6OkludGVyYWN0aW9uSW5m
b3JtYXRpb25SZXF1ZXN0LCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQwogICAgIE0oX2luY3JlYXNl
TGlzdExldmVsKSBcCiAgICAgTShfZGVjcmVhc2VMaXN0TGV2ZWwpIFwKICAgICBNKF9jaGFuZ2VM
aXN0VHlwZSkgXAotICAgIE0oX3Bhc3RlQXNRdW90YXRpb24pCisgICAgTShfcGFzdGVBc1F1b3Rh
dGlvbikgXAorICAgIE0oX3Bhc3RlQW5kTWF0Y2hTdHlsZSkKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCmluZGV4IGI4ODdiNzdiMDE4Yzg5ZWE3YmE1NTE5MzMzYWQxZDQ5OWE3
YTA4YjkuLjUwOGUxZWE1YTg0MWVjMWNiNTJmYmNmNTI0Njg2NjliYTQzMjk2ODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQpAQCAtMjI2MSw2ICsyMjYxLDExIEBAIEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5U
VklFV19BQ1RJT04oRk9SV0FSRF9BQ1RJT05fVE9fV0tXRUJWSUVXKQogICAgIHJldHVybiAoTlNT
dHJpbmcgKilfcGFnZS0+ZWRpdG9yU3RhdGUoKS5wb3N0TGF5b3V0RGF0YSgpLndvcmRBdFNlbGVj
dGlvbjsKIH0KIAorLSAodm9pZCltYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsRm9yV2Vi
VmlldzooaWQpc2VuZGVyCit7CisgICAgX3BhZ2UtPmV4ZWN1dGVFZGl0Q29tbWFuZCgibWFrZVRl
eHRXcml0aW5nRGlyZWN0aW9uTmF0dXJhbCJfcyk7Cit9CisKIC0gKEJPT0wpaXNSZXBsYWNlQWxs
b3dlZAogewogICAgIHJldHVybiBfcGFnZS0+ZWRpdG9yU3RhdGUoKS5wb3N0TGF5b3V0RGF0YSgp
LmlzUmVwbGFjZUFsbG93ZWQ7CkBAIC0yMzA4LDYgKzIzMTMsNyBAQCBXRUJDT1JFX0NPTU1BTkRf
Rk9SX1dFQlZJRVcoYWxpZ25MZWZ0KTsKIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhhbGln
blJpZ2h0KTsKIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhhbGlnbkNlbnRlcik7CiBXRUJD
T1JFX0NPTU1BTkRfRk9SX1dFQlZJRVcoYWxpZ25KdXN0aWZpZWQpOworV0VCQ09SRV9DT01NQU5E
X0ZPUl9XRUJWSUVXKHBhc3RlQW5kTWF0Y2hTdHlsZSk7CiAjdW5kZWYgV0VCQ09SRV9DT01NQU5E
X0ZPUl9XRUJWSUVXCiAKIC0gKHZvaWQpX2luY3JlYXNlTGlzdExldmVsRm9yV2ViVmlldzooaWQp
c2VuZGVyCkBAIC0yNDQ4LDcgKzI0NTQsOCBAQCBXRUJDT1JFX0NPTU1BTkRfRk9SX1dFQlZJRVco
YWxpZ25KdXN0aWZpZWQpOwogICAgICAgICB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGluY3JlYXNl
U2l6ZTopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoZGVjcmVhc2VTaXplOikKICAgICAgICAgfHwg
YWN0aW9uID09IEBzZWxlY3Rvcih0b2dnbGVTdHJpa2VUaHJvdWdoOikgfHwgYWN0aW9uID09IEBz
ZWxlY3RvcihpbnNlcnRPcmRlcmVkTGlzdDopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoaW5zZXJ0
VW5vcmRlcmVkTGlzdDopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoaW5kZW50OikgfHwgYWN0aW9u
ID09IEBzZWxlY3RvcihvdXRkZW50OikKICAgICAgICAgfHwgYWN0aW9uID09IEBzZWxlY3Rvcihh
bGlnbkxlZnQ6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGFsaWduUmlnaHQ6KSB8fCBhY3Rpb24g
PT0gQHNlbGVjdG9yKGFsaWduQ2VudGVyOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihhbGlnbkp1
c3RpZmllZDopCi0gICAgICAgIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Ioc2V0VGV4dENvbG9yOnNl
bmRlcjopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Ioc2V0Rm9udDpzZW5kZXI6KSB8fCBhY3Rpb24g
PT0gQHNlbGVjdG9yKHNldEZvbnRTaXplOnNlbmRlcjopKSB7CisgICAgICAgIHx8IGFjdGlvbiA9
PSBAc2VsZWN0b3Ioc2V0VGV4dENvbG9yOnNlbmRlcjopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Io
c2V0Rm9udDpzZW5kZXI6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKHNldEZvbnRTaXplOnNlbmRl
cjopCisgICAgICAgIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IobWFrZVRleHRXcml0aW5nRGlyZWN0
aW9uTmF0dXJhbDopKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtb3JlIG51
YW5jZWQgaW4gdGhlIGZ1dHVyZSwgcmF0aGVyIHRoYW4gcmV0dXJuaW5nIFlFUyBmb3IgYWxsIHJp
Y2hseSBlZGl0YWJsZSBhcmVhcy4gRm9yIGluc3RhbmNlLCBvdXRkZW50OiBzaG91bGQgYmUgZGlz
YWJsZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGlzIGFscmVhZHkKICAgICAgICAgLy8gYXQgdGhlIG91
dGVybW9zdCBpbmRlbnRhdGlvbiBsZXZlbC4KICAgICAgICAgcmV0dXJuIGVkaXRvclN0YXRlLmlz
Q29udGVudFJpY2hseUVkaXRhYmxlOwpAQCAtMjQ1Niw3ICsyNDYzLDcgQEAgV0VCQ09SRV9DT01N
QU5EX0ZPUl9XRUJWSUVXKGFsaWduSnVzdGlmaWVkKTsKICAgICBpZiAoYWN0aW9uID09IEBzZWxl
Y3RvcihjdXQ6KSkKICAgICAgICAgcmV0dXJuICFlZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVs
ZCAmJiBlZGl0b3JTdGF0ZS5pc0NvbnRlbnRFZGl0YWJsZSAmJiBlZGl0b3JTdGF0ZS5zZWxlY3Rp
b25Jc1JhbmdlOwogICAgIAotICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKHBhc3RlOikgfHwg
YWN0aW9uID09IEBzZWxlY3RvcihfcGFzdGVBc1F1b3RhdGlvbjopKSB7CisgICAgaWYgKGFjdGlv
biA9PSBAc2VsZWN0b3IocGFzdGU6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKF9wYXN0ZUFzUXVv
dGF0aW9uOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihfcGFzdGVBbmRNYXRjaFN0eWxlOikgfHwg
YWN0aW9uID09IEBzZWxlY3RvcihwYXN0ZUFuZE1hdGNoU3R5bGU6KSkgewogICAgICAgICBpZiAo
ZWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNOb25lIHx8ICFlZGl0b3JTdGF0ZS5pc0NvbnRlbnRFZGl0
YWJsZSkKICAgICAgICAgICAgIHJldHVybiBOTzsKICAgICAgICAgVUlQYXN0ZWJvYXJkICpwYXN0
ZWJvYXJkID0gW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF07CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWFiMDQyZTg1OGYyNGM0MTk4
MjI2ZDYyOTEyZDUwMTY5ZmNlOGRlOC4uZGVhMDQ4ODI1YjI2NDM4NWZkZDc3YjA2YWJmMWEwZGRj
MmRmYTE3YiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTExLTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gW1dlYktpdDJdIEhvb2sgdXAgc29tZSBt
b3JlIGVkaXRpbmcgYWN0aW9ucyAoLXBhc3RlQW5kTWF0Y2hTdHlsZTosIC1tYWtlVGV4dFdyaXRp
bmdEaXJlY3Rpb25OYXR1cmFsOikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MTYwNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDU4MTM5OTE+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyB0d28g
bmV3IEFQSSB0ZXN0cyB0byBleGVyY2lzZSAtX3Bhc3RlQW5kTWF0Y2hTdHlsZTogYW5kIC1tYWtl
VGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW06CisgICAgICAgICgtW1Rlc3RX
S1dlYlZpZXcgX3N5bmNocm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6YXJndW1lbnQ6XSk6IERl
bGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZp
ZXdFZGl0QWN0aW9ucy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbToKKworICAgICAgICBQdWxsIGAtX3N5bmNo
cm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6YXJndW1lbnQ6YCBvdXQgb2YgV0tBdHRhY2htZW50
VGVzdHMgYW5kIGludG8gc2hhcmVkIGNvZGUsIGluIGEgbmV3CisgICAgICAgIGNhdGVnb3J5IG9u
IFdLV2ViVmlldyBkZWNsYXJlZCBpbiBUZXN0V0tXZWJWaWV3LiBBbHNvLCBmaXggYW4gdW5yZWxh
dGVkIHR5cG8gaW4gYSBuZWFyYnkgY2F0ZWdvcnkuCisKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
eW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOmFyZ3VtZW50Ol0pOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmg6CisKIDIwMTgtMTEtMTMgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRG8gbm90IHNob3cgc2Vs
ZWN0aW9uIFVJIGZvciBlZGl0YWJsZSBlbGVtZW50cyB3aXRoIG9wYWNpdHkgbmVhciB6ZXJvCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNo
bWVudFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0
dGFjaG1lbnRUZXN0cy5tbQppbmRleCA3OTY0ZGYxYTUxNTc3OTYxMzhkMTc5NGYyYjUxMjIxMjgy
MzNjNTRmLi44ZjEzYjc4ZmI1ZWQxOTFjY2EzMWQwYjViNDFjZTQyYWQ3NmE0ZGVkIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVudFRl
c3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRh
Y2htZW50VGVzdHMubW0KQEAgLTI0NiwxOCArMjQ2LDYgQEAgc3RhdGljIE5TRGF0YSAqdGVzdFBE
RkRhdGEoKQogICAgIFtzZWxmIGV4cGVjdEVsZW1lbnRUYWdzSW5PcmRlcjpAW3RhZ05hbWUsIG90
aGVyVGFnTmFtZV1dOwogfQogCi0tIChCT09MKV9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21t
YW5kOihOU1N0cmluZyAqKWNvbW1hbmQgYXJndW1lbnQ6KE5TU3RyaW5nICopYXJndW1lbnQKLXsK
LSAgICBfX2Jsb2NrIGJvb2wgZG9uZSA9IGZhbHNlOwotICAgIF9fYmxvY2sgYm9vbCBzdWNjZXNz
OwotICAgIFtzZWxmIF9leGVjdXRlRWRpdENvbW1hbmQ6Y29tbWFuZCBhcmd1bWVudDphcmd1bWVu
dCBjb21wbGV0aW9uOl4oQk9PTCBjb21wbGV0aW9uU3VjY2VzcykgewotICAgICAgICBkb25lID0g
dHJ1ZTsKLSAgICAgICAgc3VjY2VzcyA9IGNvbXBsZXRpb25TdWNjZXNzOwotICAgIH1dOwotICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Ci0gICAgcmV0dXJuIHN1Y2Nlc3M7Ci19
Ci0KIC0gKF9XS0F0dGFjaG1lbnQgKilzeW5jaHJvbm91c2x5SW5zZXJ0QXR0YWNobWVudFdpdGhG
aWxlV3JhcHBlcjooTlNGaWxlV3JhcHBlciAqKWZpbGVXcmFwcGVyIGNvbnRlbnRUeXBlOihOU1N0
cmluZyAqKWNvbnRlbnRUeXBlCiB7CiAgICAgX19ibG9jayBib29sIGRvbmUgPSBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3
RWRpdEFjdGlvbnMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dL
V2ViVmlld0VkaXRBY3Rpb25zLm1tCmluZGV4IDRiZjU5MTQyZWU4MGFmZTgyYjliOTJiN2I2M2Jk
NDE4MmM2MDcxYjIuLjAxMWFhMTFiODQwNzk5YzZkYjJiMDllM2M5MjVhNjFkOTVlODVlNWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3
RWRpdEFjdGlvbnMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XS1dlYlZpZXdFZGl0QWN0aW9ucy5tbQpAQCAtMjQwLDYgKzI0MCwyOSBAQCBURVNUKFdLV2Vi
Vmlld0VkaXRBY3Rpb25zLCBQYXN0ZUFzUXVvdGF0aW9uKQogICAgIEVYUEVDVF9UUlVFKFt3ZWJW
aWV3IHF1ZXJ5U2VsZWN0b3JFeGlzdHM6QCJibG9ja3F1b3RlIl0pOwogfQogCitURVNUKFdLV2Vi
Vmlld0VkaXRBY3Rpb25zLCBQYXN0ZUFuZE1hdGNoU3R5bGUpCit7CisgICAgYXV0byBzb3VyY2Ug
PSB3ZWJWaWV3Rm9yRWRpdEFjdGlvblRlc3RpbmcoKTsKKyAgICBbc291cmNlIHNlbGVjdEFsbDpu
aWxdOworICAgIFtzb3VyY2UgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ2JvbGQnKTsgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3VuZGVybGluZScpOyBkb2N1bWVudC5l
eGVjQ29tbWFuZCgnaXRhbGljJykiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisgICAgW3NvdXJj
ZSBfc3luY2hyb25vdXNseUV4ZWN1dGVFZGl0Q29tbWFuZDpAIkNvcHkiIGFyZ3VtZW50Om5pbF07
CisKKyAgICBhdXRvIGRlc3RpbmF0aW9uID0gd2ViVmlld0ZvckVkaXRBY3Rpb25UZXN0aW5nKEAi
PGRpdj48YnI+PC9kaXY+Iik7CisgICAgW2Rlc3RpbmF0aW9uIF9wYXN0ZUFuZE1hdGNoU3R5bGU6
bmlsXTsKKyAgICBbZGVzdGluYXRpb24gc2VsZWN0QWxsOm5pbF07CisgICAgRVhQRUNUX0ZBTFNF
KFtkZXN0aW5hdGlvbiBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVl
cnlDb21tYW5kU3RhdGUoJ2JvbGQnKSJdLmJvb2xWYWx1ZSk7CisgICAgRVhQRUNUX0ZBTFNFKFtk
ZXN0aW5hdGlvbiBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlD
b21tYW5kU3RhdGUoJ2l0YWxpYycpIl0uYm9vbFZhbHVlKTsKKyAgICBFWFBFQ1RfRkFMU0UoW2Rl
c3RpbmF0aW9uIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5xdWVyeUNv
bW1hbmRTdGF0ZSgndW5kZXJsaW5lJykiXS5ib29sVmFsdWUpOworfQorCitURVNUKFdLV2ViVmll
d0VkaXRBY3Rpb25zLCBNb2RpZnlUZXh0V3JpdGluZ0RpcmVjdGlvbikKK3sKKyAgICBhdXRvIHdl
YlZpZXcgPSB3ZWJWaWV3Rm9yRWRpdEFjdGlvblRlc3RpbmcoQCI8ZGl2IGlkPSd0ZXh0JyBzdHls
ZT0nZGlyZWN0aW9uOiBydGw7IHVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTsnPldlYktpdDwv
ZGl2PiIpOworICAgIFt3ZWJWaWV3IHNlbGVjdEFsbDpuaWxdOworICAgIFt3ZWJWaWV3IG1ha2VU
ZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWw6bmlsXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIm5v
cm1hbCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJnZXRDb21wdXRl
ZFN0eWxlKHRleHQpLnVuaWNvZGVCaWRpIl0pOworfQorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKIAogVEVTVChXS1dlYlZpZXdFZGl0QWN0aW9ucywgQ2hhbmdlRm9udFNpemUpCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCmluZGV4IDRkZGE5M2ZjMjA4NGI0ZTAy
Mzk1MDdiOWRkOGY2MTZjOGU3OTdjODUuLjZlZTE3ZDc2NTdmNjNjMDM3YTQyOTQyOTNmMGExZDM4
MzA4NmQ1MmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2Vi
Vmlldy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oCkBA
IC00Niw2ICs0NiwxMCBAQAogI2VuZGlmCiBAZW5kCiAKK0BpbnRlcmZhY2UgV0tXZWJWaWV3IChU
ZXN0V2ViS2l0QVBJKQorLSAoQk9PTClfc3luY2hyb25vdXNseUV4ZWN1dGVFZGl0Q29tbWFuZDoo
TlNTdHJpbmcgKiljb21tYW5kIGFyZ3VtZW50OihOU1N0cmluZyAqKWFyZ3VtZW50OworQGVuZAor
CiBAaW50ZXJmYWNlIFRlc3RNZXNzYWdlSGFuZGxlciA6IE5TT2JqZWN0IDxXS1NjcmlwdE1lc3Nh
Z2VIYW5kbGVyPgogLSAodm9pZClhZGRNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2Ugd2l0aEhh
bmRsZXI6KGRpc3BhdGNoX2Jsb2NrX3QpaGFuZGxlcjsKIEBlbmQKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQppbmRleCBkODhmOTM3MzExNGFjYTE5ZjNjYzhjZTI0
M2UwOTgyNGRlZjMxNTJlLi42N2UzNmQxMjA1NzE1ZGRkYmM5Yjg0N2JmNzg2ZTI4MDQ0M2FiNDlh
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCkBAIC01MCw3
ICs1MCw3IEBACiBTT0ZUX0xJTktfRlJBTUVXT1JLKFVJS2l0KQogU09GVF9MSU5LX0NMQVNTKFVJ
S2l0LCBVSVdpbmRvdykKIAotQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoV0tXZWJWaWV3VGVz
dGluZ1F1aWNrcykKK0BpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXcgKFdLV2ViVmlld1Rlc3RpbmdR
dWlya3MpCiAKIC8vIFRlc3RXZWJLaXRBUEkgaXMgY3VycmVudGx5IG5vdCBhIFVJQXBwbGljYXRp
b24gc28gd2UgYXJlIHVuYWJsZSB0byB0cmFjayBpZiBpdCBpcyBpbgogLy8gdGhlIGJhY2tncm91
bmQgb3Igbm90IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjA0
KS4gVGhpcyBjYW4KQEAgLTYzLDYgKzYzLDIyIEBAIFNPRlRfTElOS19DTEFTUyhVSUtpdCwgVUlX
aW5kb3cpCiBAZW5kCiAjZW5kaWYKIAorQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoVGVzdFdl
YktpdEFQSSkKKworLSAoQk9PTClfc3luY2hyb25vdXNseUV4ZWN1dGVFZGl0Q29tbWFuZDooTlNT
dHJpbmcgKiljb21tYW5kIGFyZ3VtZW50OihOU1N0cmluZyAqKWFyZ3VtZW50Cit7CisgICAgX19i
bG9jayBib29sIGRvbmUgPSBmYWxzZTsKKyAgICBfX2Jsb2NrIGJvb2wgc3VjY2VzczsKKyAgICBb
c2VsZiBfZXhlY3V0ZUVkaXRDb21tYW5kOmNvbW1hbmQgYXJndW1lbnQ6YXJndW1lbnQgY29tcGxl
dGlvbjpeKEJPT0wgY29tcGxldGlvblN1Y2Nlc3MpIHsKKyAgICAgICAgZG9uZSA9IHRydWU7Cisg
ICAgICAgIHN1Y2Nlc3MgPSBjb21wbGV0aW9uU3VjY2VzczsKKyAgICB9XTsKKyAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIHJldHVybiBzdWNjZXNzOworfQorCitAZW5k
CisKIEBpbXBsZW1lbnRhdGlvbiBUZXN0TWVzc2FnZUhhbmRsZXIgewogICAgIE5TTXV0YWJsZURp
Y3Rpb25hcnk8TlNTdHJpbmcgKiwgZGlzcGF0Y2hfYmxvY2tfdD4gKl9tZXNzYWdlSGFuZGxlcnM7
CiB9CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaAppbmRleCA2OGRiNjgwMDVjOGZiZDM5Yzhm
M2FlYzMzMzNkM2EwMjFlMWI4YzNkLi42NGE2ZTU5NWUwOWQxYWJhN2NjMGI1ODFlZTNjN2UwOTQw
ZWU0YTk4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9VSUtpdFNQSS5oCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKQEAgLTE2Miw2ICsxNjIsNyBA
QCBXVEZfRVhURVJOX0NfRU5ECiAKIEBpbnRlcmZhY2UgVUlSZXNwb25kZXIgKFVJS2l0U1BJKQog
LSAoVUlSZXNwb25kZXIgKilmaXJzdFJlc3BvbmRlcjsKKy0gKHZvaWQpbWFrZVRleHRXcml0aW5n
RGlyZWN0aW9uTmF0dXJhbDooaWQpc2VuZGVyOwogQGVuZAogCiBAaW50ZXJmYWNlIFVJS2V5Ym9h
cmQgKCkK
</data>
<flag name="review"
          id="371970"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354828</attachid>
            <date>2018-11-14 10:21:34 -0800</date>
            <delta_ts>2018-11-14 11:00:13 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191605-20181114102134.patch</filename>
            <type>text/plain</type>
            <size>14303</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3MzRmOTVhMjNiMDkzOTRj
MDA0YzBmNTVkN2QyYzM4NmI5ZTg4ZGIuLjhmNWI0MjgyOTQ5MjkyNDU2ZTZmODY2MzczMTQ3MTcw
MGFkYzFiYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMTEtMTQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBbV2ViS2l0
Ml0gSG9vayB1cCBzb21lIG1vcmUgZWRpdGluZyBhY3Rpb25zICgtX3Bhc3RlQW5kTWF0Y2hTdHls
ZTosIC1tYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOikKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYwNQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDU4MTM5OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisg
ICAgICAgIEhvb2sgdXAgYSBjb3VwbGUgb2YgZWRpdGluZyBhY3Rpb25zIG9uIGlPUyBhbmQgbWFj
T1MuIFRoZSBgLXBhc3RlQW5kTWF0Y2hTdHlsZTpgIHNlbGVjdG9yIGlzIHByaXZhdGVseSBkZWNs
YXJlZAorICAgICAgICBpbiBVSUtpdCwgYnV0IGRvZXMgbm90IGV4aXN0IG9uIG1hY09TOyBhcyBz
dWNoLCBhZGQgYC1fcGFzdGVBbmRNYXRjaFN0eWxlOmAgYXMgU1BJIG9uIFdLV2ViVmlldywgYW5k
CisgICAgICAgIGFkZGl0aW9uYWxseSBpbXBsZW1lbnQgdGhlIHVucHJlZml4ZWQgdmVyc2lvbiwg
YC1wYXN0ZUFuZE1hdGNoU3R5bGU6YCwgb24gaU9TLgorCisgICAgICAgIFNpbmNlIGAtbWFrZVRl
eHRXcml0aW5nRGlyZWN0aW9uTmF0dXJhbDpgIGlzIGFscmVhZHkgZGVjbGFyZWQgb24gYm90aCBp
T1MgYW5kIG1hY09TIChTUEkgb24gVUlSZXNwb25kZXIgYW5kIEFQSQorICAgICAgICBvbiBtYWNP
UywgcmVzcGVjdGl2ZWx5KSB3ZSBzaW1wbHkgaW1wbGVtZW50IHRoZSB1bnByZWZpeGVkIHZhcmlh
bnQgb24gYm90aCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0
U1BJLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBtYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsRm9yV2ViVmlldzpdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBjYW5QZXJmb3JtQWN0aW9uRm9yV2ViVmlldzp3aXRoU2Vu
ZGVyOl0pOgorCiAyMDE4LTExLTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1NdIERvIG5vdCBzaG93IHNlbGVjdGlvbiBVSSBmb3IgZWRpdGFi
bGUgZWxlbWVudHMgd2l0aCBvcGFjaXR5IG5lYXIgemVybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCAyNzVmYTVmOTk2YjJjNTJlMzg2M2M5MTg5NGQzNjRl
Y2NhZWY5NDNkLi5mMjk1YjEzYTE2Njc3MzZjYWU2NmFlMzQ0NjEzM2NkY2IyOGFjMzI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApAQCAtMTA3OCw2ICsxMDc4
LDggQEAgdHlwZWRlZiBOU0ludGVnZXIgVUlDb21wb3NpdGluZ01vZGU7CiAKIEBpbnRlcmZhY2Ug
VUlSZXNwb25kZXIgKCkKIC0gKFVJUmVzcG9uZGVyICopZmlyc3RSZXNwb25kZXI7CistICh2b2lk
KXBhc3RlQW5kTWF0Y2hTdHlsZTooaWQpc2VuZGVyOworLSAodm9pZCltYWtlVGV4dFdyaXRpbmdE
aXJlY3Rpb25OYXR1cmFsOihpZClzZW5kZXI7CiBAZW5kCiAKIEBpbnRlcmZhY2UgX1VJTmF2aWdh
dGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGI4NjRjNTJmMDAxMzBmMGYzYWVmNTc0
YTlkMTJiYjAzYTQyYTFjYzkuLjE1NTNmOWZmNjI5MDVmODU5NWMzNjI0NmZjZmJmMGVjMTdhMThi
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQpAQCAtNDMzMSw3ICs0MzMxLDggQEAgV0VCQ09SRV9QUklWQVRFX0NPTU1BTkQoaW5zZXJ0TmVz
dGVkT3JkZXJlZExpc3QpCiBXRUJDT1JFX1BSSVZBVEVfQ09NTUFORChpbnNlcnROZXN0ZWRVbm9y
ZGVyZWRMaXN0KQogV0VCQ09SRV9QUklWQVRFX0NPTU1BTkQoaW5kZW50KQogV0VCQ09SRV9QUklW
QVRFX0NPTU1BTkQob3V0ZGVudCkKLVdFQkNPUkVfUFJJVkFURV9DT01NQU5EKHBhc3RlQXNRdW90
YXRpb24pOworV0VCQ09SRV9QUklWQVRFX0NPTU1BTkQocGFzdGVBc1F1b3RhdGlvbikKK1dFQkNP
UkVfUFJJVkFURV9DT01NQU5EKHBhc3RlQW5kTWF0Y2hTdHlsZSkKIAogI3VuZGVmIFdFQkNPUkVf
UFJJVkFURV9DT01NQU5ECiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDIzZTY4ZGE5YjVlZjhhM2VkMTcxMzNlZDk3
NzhhZjQ4M2MzOWI2ODguLjQzODI1ZTlmM2I1NzM1M2JhYWI2OGQ1ZmU0NTk5ZDQ5NTMzMTZkYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaApAQCAtMjAzLDYgKzIwMyw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBfV0tSZWN0RWRnZSkgewogLSAoSUJBY3Rpb24pX2RlY3JlYXNlTGlzdExldmVsOihpZClz
ZW5kZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CiAtIChJQkFjdGlvbilfY2hhbmdlTGlzdFR5cGU6KGlkKXNlbmRlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKElCQWN0aW9uKV9w
YXN0ZUFzUXVvdGF0aW9uOihpZClzZW5kZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistIChJQkFjdGlvbilfcGFzdGVBbmRNYXRjaFN0eWxl
OihpZClzZW5kZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA1YzQx
NDI1NmY5YjU2OGRkYTVhNjhlM2JhMjkyYWZmNjkzNzc0YjRmLi5kZTA1OGYyNDU0NDIzYWRhNzcz
MDJjYTY3NjRmYzM5NTIxODg2Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0xMzIsNyArMTMyLDkgQEAg
dHlwZWRlZiBzdGQ6OnBhaXI8V2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCwg
SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkMKICAgICBNKGFsaWduTGVmdCkgXAogICAgIE0oYWxpZ25S
aWdodCkgXAogICAgIE0oYWxpZ25DZW50ZXIpIFwKLSAgICBNKGFsaWduSnVzdGlmaWVkKQorICAg
IE0oYWxpZ25KdXN0aWZpZWQpIFwKKyAgICBNKHBhc3RlQW5kTWF0Y2hTdHlsZSkgXAorICAgIE0o
bWFrZVRleHRXcml0aW5nRGlyZWN0aW9uTmF0dXJhbCkKIAogI2RlZmluZSBGT1JfRUFDSF9QUklW
QVRFX1dLQ09OVEVOVFZJRVdfQUNUSU9OKE0pIFwKICAgICBNKF9hbGlnbkNlbnRlcikgXApAQCAt
MTQ5LDcgKzE1MSw4IEBAIHR5cGVkZWYgc3RkOjpwYWlyPFdlYktpdDo6SW50ZXJhY3Rpb25JbmZv
cm1hdGlvblJlcXVlc3QsIEludGVyYWN0aW9uSW5mb3JtYXRpb25DCiAgICAgTShfaW5jcmVhc2VM
aXN0TGV2ZWwpIFwKICAgICBNKF9kZWNyZWFzZUxpc3RMZXZlbCkgXAogICAgIE0oX2NoYW5nZUxp
c3RUeXBlKSBcCi0gICAgTShfcGFzdGVBc1F1b3RhdGlvbikKKyAgICBNKF9wYXN0ZUFzUXVvdGF0
aW9uKSBcCisgICAgTShfcGFzdGVBbmRNYXRjaFN0eWxlKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KaW5kZXggYjg4N2I3N2IwMThjODllYTdiYTU1MTkzMzNhZDFkNDk5YTdh
MDhiOS4uNTA4ZTFlYTVhODQxZWMxY2I1MmZiY2Y1MjQ2ODY2OWJhNDMyOTY4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCkBAIC0yMjYxLDYgKzIyNjEsMTEgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRW
SUVXX0FDVElPTihGT1JXQVJEX0FDVElPTl9UT19XS1dFQlZJRVcpCiAgICAgcmV0dXJuIChOU1N0
cmluZyAqKV9wYWdlLT5lZGl0b3JTdGF0ZSgpLnBvc3RMYXlvdXREYXRhKCkud29yZEF0U2VsZWN0
aW9uOwogfQogCistICh2b2lkKW1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvbk5hdHVyYWxGb3JXZWJW
aWV3OihpZClzZW5kZXIKK3sKKyAgICBfcGFnZS0+ZXhlY3V0ZUVkaXRDb21tYW5kKCJtYWtlVGV4
dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsIl9zKTsKK30KKwogLSAoQk9PTClpc1JlcGxhY2VBbGxv
d2VkCiB7CiAgICAgcmV0dXJuIF9wYWdlLT5lZGl0b3JTdGF0ZSgpLnBvc3RMYXlvdXREYXRhKCku
aXNSZXBsYWNlQWxsb3dlZDsKQEAgLTIzMDgsNiArMjMxMyw3IEBAIFdFQkNPUkVfQ09NTUFORF9G
T1JfV0VCVklFVyhhbGlnbkxlZnQpOwogV0VCQ09SRV9DT01NQU5EX0ZPUl9XRUJWSUVXKGFsaWdu
UmlnaHQpOwogV0VCQ09SRV9DT01NQU5EX0ZPUl9XRUJWSUVXKGFsaWduQ2VudGVyKTsKIFdFQkNP
UkVfQ09NTUFORF9GT1JfV0VCVklFVyhhbGlnbkp1c3RpZmllZCk7CitXRUJDT1JFX0NPTU1BTkRf
Rk9SX1dFQlZJRVcocGFzdGVBbmRNYXRjaFN0eWxlKTsKICN1bmRlZiBXRUJDT1JFX0NPTU1BTkRf
Rk9SX1dFQlZJRVcKIAogLSAodm9pZClfaW5jcmVhc2VMaXN0TGV2ZWxGb3JXZWJWaWV3OihpZClz
ZW5kZXIKQEAgLTI0NDgsNyArMjQ1NCw4IEBAIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhh
bGlnbkp1c3RpZmllZCk7CiAgICAgICAgIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoaW5jcmVhc2VT
aXplOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihkZWNyZWFzZVNpemU6KQogICAgICAgICB8fCBh
Y3Rpb24gPT0gQHNlbGVjdG9yKHRvZ2dsZVN0cmlrZVRocm91Z2g6KSB8fCBhY3Rpb24gPT0gQHNl
bGVjdG9yKGluc2VydE9yZGVyZWRMaXN0OikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihpbnNlcnRV
bm9yZGVyZWRMaXN0OikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihpbmRlbnQ6KSB8fCBhY3Rpb24g
PT0gQHNlbGVjdG9yKG91dGRlbnQ6KQogICAgICAgICB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGFs
aWduTGVmdDopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoYWxpZ25SaWdodDopIHx8IGFjdGlvbiA9
PSBAc2VsZWN0b3IoYWxpZ25DZW50ZXI6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGFsaWduSnVz
dGlmaWVkOikKLSAgICAgICAgfHwgYWN0aW9uID09IEBzZWxlY3RvcihzZXRUZXh0Q29sb3I6c2Vu
ZGVyOikgfHwgYWN0aW9uID09IEBzZWxlY3RvcihzZXRGb250OnNlbmRlcjopIHx8IGFjdGlvbiA9
PSBAc2VsZWN0b3Ioc2V0Rm9udFNpemU6c2VuZGVyOikpIHsKKyAgICAgICAgfHwgYWN0aW9uID09
IEBzZWxlY3RvcihzZXRUZXh0Q29sb3I6c2VuZGVyOikgfHwgYWN0aW9uID09IEBzZWxlY3Rvcihz
ZXRGb250OnNlbmRlcjopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3Ioc2V0Rm9udFNpemU6c2VuZGVy
OikKKyAgICAgICAgfHwgYWN0aW9uID09IEBzZWxlY3RvcihtYWtlVGV4dFdyaXRpbmdEaXJlY3Rp
b25OYXR1cmFsOikpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIG1vcmUgbnVh
bmNlZCBpbiB0aGUgZnV0dXJlLCByYXRoZXIgdGhhbiByZXR1cm5pbmcgWUVTIGZvciBhbGwgcmlj
aGx5IGVkaXRhYmxlIGFyZWFzLiBGb3IgaW5zdGFuY2UsIG91dGRlbnQ6IHNob3VsZCBiZSBkaXNh
YmxlZCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgYWxyZWFkeQogICAgICAgICAvLyBhdCB0aGUgb3V0
ZXJtb3N0IGluZGVudGF0aW9uIGxldmVsLgogICAgICAgICByZXR1cm4gZWRpdG9yU3RhdGUuaXND
b250ZW50UmljaGx5RWRpdGFibGU7CkBAIC0yNDU2LDcgKzI0NjMsNyBAQCBXRUJDT1JFX0NPTU1B
TkRfRk9SX1dFQlZJRVcoYWxpZ25KdXN0aWZpZWQpOwogICAgIGlmIChhY3Rpb24gPT0gQHNlbGVj
dG9yKGN1dDopKQogICAgICAgICByZXR1cm4gIWVkaXRvclN0YXRlLmlzSW5QYXNzd29yZEZpZWxk
ICYmIGVkaXRvclN0YXRlLmlzQ29udGVudEVkaXRhYmxlICYmIGVkaXRvclN0YXRlLnNlbGVjdGlv
bklzUmFuZ2U7CiAgICAgCi0gICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IocGFzdGU6KSB8fCBh
Y3Rpb24gPT0gQHNlbGVjdG9yKF9wYXN0ZUFzUXVvdGF0aW9uOikpIHsKKyAgICBpZiAoYWN0aW9u
ID09IEBzZWxlY3RvcihwYXN0ZTopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoX3Bhc3RlQXNRdW90
YXRpb246KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKF9wYXN0ZUFuZE1hdGNoU3R5bGU6KSB8fCBh
Y3Rpb24gPT0gQHNlbGVjdG9yKHBhc3RlQW5kTWF0Y2hTdHlsZTopKSB7CiAgICAgICAgIGlmIChl
ZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05vbmUgfHwgIWVkaXRvclN0YXRlLmlzQ29udGVudEVkaXRh
YmxlKQogICAgICAgICAgICAgcmV0dXJuIE5POwogICAgICAgICBVSVBhc3RlYm9hcmQgKnBhc3Rl
Ym9hcmQgPSBbVUlQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YWIwNDJlODU4ZjI0YzQxOTgy
MjZkNjI5MTJkNTAxNjlmY2U4ZGU4Li40NWEwNWMzOWIwYjBjNzE0Y2UyMDU3MDI4ZDVhOGI0YmE4
NzA5YTkwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMTEtMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBbV2ViS2l0Ml0gSG9vayB1cCBzb21lIG1v
cmUgZWRpdGluZyBhY3Rpb25zICgtcGFzdGVBbmRNYXRjaFN0eWxlOiwgLW1ha2VUZXh0V3JpdGlu
Z0RpcmVjdGlvbk5hdHVyYWw6KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkxNjA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTgxMzk5MT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgQWRkcyB0d28gbmV3
IEFQSSB0ZXN0cyB0byBleGVyY2lzZSAtX3Bhc3RlQW5kTWF0Y2hTdHlsZTogYW5kIC1tYWtlVGV4
dFdyaXRpbmdEaXJlY3Rpb25OYXR1cmFsOi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW06CisgICAgICAgICgtW1Rlc3RXS1dl
YlZpZXcgX3N5bmNocm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6YXJndW1lbnQ6XSk6IERlbGV0
ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdF
ZGl0QWN0aW9ucy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbToKKworICAgICAgICBQdWxsIGAtX3N5bmNocm9u
b3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6YXJndW1lbnQ6YCBvdXQgb2YgV0tBdHRhY2htZW50VGVz
dHMgYW5kIGludG8gc2hhcmVkIGNvZGUsIGluIGEgbmV3CisgICAgICAgIGNhdGVnb3J5IG9uIFdL
V2ViVmlldyBkZWNsYXJlZCBpbiBUZXN0V0tXZWJWaWV3LiBBbHNvLCBmaXggYW4gdW5yZWxhdGVk
IHR5cG8gaW4gYSBuZWFyYnkgY2F0ZWdvcnkuCisKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zeW5j
aHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOmFyZ3VtZW50Ol0pOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmg6CisKIDIwMTgtMTEtMTMgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRG8gbm90IHNob3cgc2VsZWN0
aW9uIFVJIGZvciBlZGl0YWJsZSBlbGVtZW50cyB3aXRoIG9wYWNpdHkgbmVhciB6ZXJvCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVu
dFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFj
aG1lbnRUZXN0cy5tbQppbmRleCA3OTY0ZGYxYTUxNTc3OTYxMzhkMTc5NGYyYjUxMjIxMjgyMzNj
NTRmLi44ZjEzYjc4ZmI1ZWQxOTFjY2EzMWQwYjViNDFjZTQyYWQ3NmE0ZGVkIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVudFRlc3Rz
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2ht
ZW50VGVzdHMubW0KQEAgLTI0NiwxOCArMjQ2LDYgQEAgc3RhdGljIE5TRGF0YSAqdGVzdFBERkRh
dGEoKQogICAgIFtzZWxmIGV4cGVjdEVsZW1lbnRUYWdzSW5PcmRlcjpAW3RhZ05hbWUsIG90aGVy
VGFnTmFtZV1dOwogfQogCi0tIChCT09MKV9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5k
OihOU1N0cmluZyAqKWNvbW1hbmQgYXJndW1lbnQ6KE5TU3RyaW5nICopYXJndW1lbnQKLXsKLSAg
ICBfX2Jsb2NrIGJvb2wgZG9uZSA9IGZhbHNlOwotICAgIF9fYmxvY2sgYm9vbCBzdWNjZXNzOwot
ICAgIFtzZWxmIF9leGVjdXRlRWRpdENvbW1hbmQ6Y29tbWFuZCBhcmd1bWVudDphcmd1bWVudCBj
b21wbGV0aW9uOl4oQk9PTCBjb21wbGV0aW9uU3VjY2VzcykgewotICAgICAgICBkb25lID0gdHJ1
ZTsKLSAgICAgICAgc3VjY2VzcyA9IGNvbXBsZXRpb25TdWNjZXNzOwotICAgIH1dOwotICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Ci0gICAgcmV0dXJuIHN1Y2Nlc3M7Ci19Ci0K
IC0gKF9XS0F0dGFjaG1lbnQgKilzeW5jaHJvbm91c2x5SW5zZXJ0QXR0YWNobWVudFdpdGhGaWxl
V3JhcHBlcjooTlNGaWxlV3JhcHBlciAqKWZpbGVXcmFwcGVyIGNvbnRlbnRUeXBlOihOU1N0cmlu
ZyAqKWNvbnRlbnRUeXBlCiB7CiAgICAgX19ibG9jayBib29sIGRvbmUgPSBmYWxzZTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3RWRp
dEFjdGlvbnMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLV2Vi
Vmlld0VkaXRBY3Rpb25zLm1tCmluZGV4IDRiZjU5MTQyZWU4MGFmZTgyYjliOTJiN2I2M2JkNDE4
MmM2MDcxYjIuLjMzNzAwZTA0M2RjNzNhNjMyY2ZkNDlhOTI4ZWQzZTU4OWE1NWIxYWIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3RWRp
dEFjdGlvbnMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9X
S1dlYlZpZXdFZGl0QWN0aW9ucy5tbQpAQCAtMjQwLDYgKzI0MCwzMSBAQCBURVNUKFdLV2ViVmll
d0VkaXRBY3Rpb25zLCBQYXN0ZUFzUXVvdGF0aW9uKQogICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3
IHF1ZXJ5U2VsZWN0b3JFeGlzdHM6QCJibG9ja3F1b3RlIl0pOwogfQogCitURVNUKFdLV2ViVmll
d0VkaXRBY3Rpb25zLCBQYXN0ZUFuZE1hdGNoU3R5bGUpCit7CisgICAgYXV0byBzb3VyY2UgPSB3
ZWJWaWV3Rm9yRWRpdEFjdGlvblRlc3RpbmcoKTsKKyAgICBhdXRvIGRlc3RpbmF0aW9uID0gd2Vi
Vmlld0ZvckVkaXRBY3Rpb25UZXN0aW5nKEAiPGRpdj48YnI+PC9kaXY+Iik7CisKKyAgICBbc291
cmNlIHNlbGVjdEFsbDpuaWxdOworICAgIFtzb3VyY2UgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9j
dW1lbnQuZXhlY0NvbW1hbmQoJ2JvbGQnKTsgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ3VuZGVybGlu
ZScpOyBkb2N1bWVudC5leGVjQ29tbWFuZCgnaXRhbGljJykiIGNvbXBsZXRpb25IYW5kbGVyOm5p
bF07CisgICAgW3NvdXJjZSBfc3luY2hyb25vdXNseUV4ZWN1dGVFZGl0Q29tbWFuZDpAIkNvcHki
IGFyZ3VtZW50Om5pbF07CisKKyAgICBbZGVzdGluYXRpb24gX3Bhc3RlQW5kTWF0Y2hTdHlsZTpu
aWxdOworICAgIFtkZXN0aW5hdGlvbiBzZWxlY3RBbGw6bmlsXTsKKyAgICBFWFBFQ1RfRkFMU0Uo
W2Rlc3RpbmF0aW9uIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5xdWVy
eUNvbW1hbmRTdGF0ZSgnYm9sZCcpIl0uYm9vbFZhbHVlKTsKKyAgICBFWFBFQ1RfRkFMU0UoW2Rl
c3RpbmF0aW9uIHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5xdWVyeUNv
bW1hbmRTdGF0ZSgnaXRhbGljJykiXS5ib29sVmFsdWUpOworICAgIEVYUEVDVF9GQUxTRShbZGVz
dGluYXRpb24gc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5Q29t
bWFuZFN0YXRlKCd1bmRlcmxpbmUnKSJdLmJvb2xWYWx1ZSk7CisgICAgRVhQRUNUX1dLX1NUUkVR
KCJXZWJLaXQiLCBbZGVzdGluYXRpb24gc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiXSk7Cit9CisKK1RFU1QoV0tXZWJWaWV3RWRpdEFjdGlv
bnMsIE1vZGlmeVRleHRXcml0aW5nRGlyZWN0aW9uKQoreworICAgIGF1dG8gd2ViVmlldyA9IHdl
YlZpZXdGb3JFZGl0QWN0aW9uVGVzdGluZyhAIjxkaXYgaWQ9J3RleHQnIHN0eWxlPSdkaXJlY3Rp
b246IHJ0bDsgdW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRlOyc+V2ViS2l0PC9kaXY+Iik7Cisg
ICAgW3dlYlZpZXcgc2VsZWN0QWxsOm5pbF07CisgICAgW3dlYlZpZXcgbWFrZVRleHRXcml0aW5n
RGlyZWN0aW9uTmF0dXJhbDpuaWxdOworICAgIEVYUEVDVF9XS19TVFJFUSgibm9ybWFsIiwgW3dl
YlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImdldENvbXB1dGVkU3R5bGUodGV4
dCkudW5pY29kZUJpZGkiXSk7Cit9CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCiBURVNU
KFdLV2ViVmlld0VkaXRBY3Rpb25zLCBDaGFuZ2VGb250U2l6ZSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5oIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKaW5kZXggNGRkYTkzZmMyMDg0YjRlMDIzOTUwN2I5ZGQ4
ZjYxNmM4ZTc5N2M4NS4uNmVlMTdkNzY1N2Y2M2MwMzdhNDI5NDI5M2YwYTFkMzgzMDg2ZDUyZCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3LmgKQEAgLTQ2LDYgKzQ2
LDEwIEBACiAjZW5kaWYKIEBlbmQKIAorQGludGVyZmFjZSBXS1dlYlZpZXcgKFRlc3RXZWJLaXRB
UEkpCistIChCT09MKV9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOihOU1N0cmluZyAq
KWNvbW1hbmQgYXJndW1lbnQ6KE5TU3RyaW5nICopYXJndW1lbnQ7CitAZW5kCisKIEBpbnRlcmZh
Y2UgVGVzdE1lc3NhZ2VIYW5kbGVyIDogTlNPYmplY3QgPFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+
CiAtICh2b2lkKWFkZE1lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSB3aXRoSGFuZGxlcjooZGlz
cGF0Y2hfYmxvY2tfdCloYW5kbGVyOwogQGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9U
ZXN0V0tXZWJWaWV3Lm1tCmluZGV4IGQ4OGY5MzczMTE0YWNhMTlmM2NjOGNlMjQzZTA5ODI0ZGVm
MzE1MmUuLjY3ZTM2ZDEyMDU3MTVkZGRiYzliODQ3YmY3ODZlMjgwNDQzYWI0OWEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KQEAgLTUwLDcgKzUwLDcgQEAK
IFNPRlRfTElOS19GUkFNRVdPUksoVUlLaXQpCiBTT0ZUX0xJTktfQ0xBU1MoVUlLaXQsIFVJV2lu
ZG93KQogCi1AaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS1dlYlZpZXdUZXN0aW5nUXVpY2tz
KQorQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoV0tXZWJWaWV3VGVzdGluZ1F1aXJrcykKIAog
Ly8gVGVzdFdlYktpdEFQSSBpcyBjdXJyZW50bHkgbm90IGEgVUlBcHBsaWNhdGlvbiBzbyB3ZSBh
cmUgdW5hYmxlIHRvIHRyYWNrIGlmIGl0IGlzIGluCiAvLyB0aGUgYmFja2dyb3VuZCBvciBub3Qg
KGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUyMDQpLiBUaGlzIGNh
bgpAQCAtNjMsNiArNjMsMjIgQEAgU09GVF9MSU5LX0NMQVNTKFVJS2l0LCBVSVdpbmRvdykKIEBl
bmQKICNlbmRpZgogCitAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChUZXN0V2ViS2l0QVBJKQor
CistIChCT09MKV9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOihOU1N0cmluZyAqKWNv
bW1hbmQgYXJndW1lbnQ6KE5TU3RyaW5nICopYXJndW1lbnQKK3sKKyAgICBfX2Jsb2NrIGJvb2wg
ZG9uZSA9IGZhbHNlOworICAgIF9fYmxvY2sgYm9vbCBzdWNjZXNzOworICAgIFtzZWxmIF9leGVj
dXRlRWRpdENvbW1hbmQ6Y29tbWFuZCBhcmd1bWVudDphcmd1bWVudCBjb21wbGV0aW9uOl4oQk9P
TCBjb21wbGV0aW9uU3VjY2VzcykgeworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgc3Vj
Y2VzcyA9IGNvbXBsZXRpb25TdWNjZXNzOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmZG9uZSk7CisgICAgcmV0dXJuIHN1Y2Nlc3M7Cit9CisKK0BlbmQKKwogQGltcGxl
bWVudGF0aW9uIFRlc3RNZXNzYWdlSGFuZGxlciB7CiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeTxO
U1N0cmluZyAqLCBkaXNwYXRjaF9ibG9ja190PiAqX21lc3NhZ2VIYW5kbGVyczsKIH0KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmggYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL2lvcy9VSUtpdFNQSS5oCmluZGV4IDY4ZGI2ODAwNWM4ZmJkMzljOGYzYWVjMzMzM2Qz
YTAyMWUxYjhjM2QuLjY0YTZlNTk1ZTA5ZDFhYmE3Y2MwYjU4MWVlM2M3ZTA5NDBlZTRhOTggMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL1VJS2l0U1BJLmgKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9pb3MvVUlLaXRTUEkuaApAQCAtMTYyLDYgKzE2Miw3IEBAIFdURl9FWFRF
Uk5fQ19FTkQKIAogQGludGVyZmFjZSBVSVJlc3BvbmRlciAoVUlLaXRTUEkpCiAtIChVSVJlc3Bv
bmRlciAqKWZpcnN0UmVzcG9uZGVyOworLSAodm9pZCltYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25O
YXR1cmFsOihpZClzZW5kZXI7CiBAZW5kCiAKIEBpbnRlcmZhY2UgVUlLZXlib2FyZCAoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>