<?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>191559</bug_id>
          
          <creation_ts>2018-11-12 13:03:29 -0800</creation_ts>
          <short_desc>Use a light scrollbar for transparent web views in dark mode</short_desc>
          <delta_ts>2018-11-13 17:15:33 -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>CSS</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>
          <dependson>191556</dependson>
          <blocked>191607</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1477680</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-11-12 13:03:29 -0800</bug_when>
    <thetext>Also need to treat a transparent background in dark mode as dark so the scrollbar thumb will be white.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477681</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-12 13:03:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/46000489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477683</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-11-12 13:05:43 -0800</bug_when>
    <thetext>Need to propagate supported-color-schemes up to the RenderView so it can affect scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477779</commentid>
    <comment_count>3</comment_count>
      <attachid>354605</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-11-12 16:07:01 -0800</bug_when>
    <thetext>Created attachment 354605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478176</commentid>
    <comment_count>4</comment_count>
      <attachid>354713</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-11-13 15:38:06 -0800</bug_when>
    <thetext>Created attachment 354713
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478177</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-11-13 15:40:22 -0800</bug_when>
    <thetext>Attachment 354713 did not pass style-queue:


ERROR: Source/WebCore/rendering/style/RenderStyle.cpp:962:  Line contains only semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
Total errors found: 1 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478219</commentid>
    <comment_count>6</comment_count>
      <attachid>354713</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-11-13 16:50:13 -0800</bug_when>
    <thetext>Comment on attachment 354713
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:2058
&gt; +    auto* document = frame().document();
&gt; +    auto* documentElement = document ? document-&gt;documentElement() : nullptr;
&gt; +    auto* documentElementRenderer = documentElement ? documentElement-&gt;renderer() : nullptr;
&gt; +    if (documentElementRenderer &amp;&amp; documentElementRenderer-&gt;style().hasExplicitlySetSupportedColorSchemes())
&gt; +        return documentElementRenderer;
&gt; +    auto* bodyElement = document ? document-&gt;bodyOrFrameset() : nullptr;
&gt; +    return bodyElement ? bodyElement-&gt;renderer() : nullptr;

Don&apos;t we normally do early returns? A null document would go through 5 extra checks before returning null here.

&gt; Source/WebCore/testing/Internals.cpp:2507
&gt; +        return &quot;default&quot;_str;

First time I&apos;ve seen someone else use it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478223</commentid>
    <comment_count>7</comment_count>
      <attachid>354713</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-11-13 16:56:38 -0800</bug_when>
    <thetext>Comment on attachment 354713
Patch

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

&gt;&gt; Source/WebCore/page/FrameView.cpp:2058
&gt;&gt; +    return bodyElement ? bodyElement-&gt;renderer() : nullptr;
&gt; 
&gt; Don&apos;t we normally do early returns? A null document would go through 5 extra checks before returning null here.

Yes, I could return early for !document. I moved this out of another function, and forgot to change it.

&gt;&gt; Source/WebCore/testing/Internals.cpp:2507
&gt;&gt; +        return &quot;default&quot;_str;
&gt; 
&gt; First time I&apos;ve seen someone else use it!

Haha.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478230</commentid>
    <comment_count>8</comment_count>
      <attachid>354713</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-13 17:15:31 -0800</bug_when>
    <thetext>Comment on attachment 354713
Patch

Clearing flags on attachment: 354713

Committed r238155: &lt;https://trac.webkit.org/changeset/238155&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478231</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-13 17:15:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354605</attachid>
            <date>2018-11-12 16:07:01 -0800</date>
            <delta_ts>2018-11-13 15:38:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191559-20181112160700.patch</filename>
            <type>text/plain</type>
            <size>12879</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQxZDg2YTAyZTk1ZDE5
Nzc0NWVkYmU5NGEwMzhmZGUxZWM4OTZiMC4uYjg1MzJmODc4OGMyY2QzNTgzMTQwM2Y3ODU5NTI1
YzQ4MTMxMjAzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE4LTExLTEyICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgYSBsaWdodCBz
Y3JvbGxiYXIgZm9yIHRyYW5zcGFyZW50IHdlYiB2aWV3cyBpbiBkYXJrIG1vZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE1NTkKKyAgICAgICAg
cmRhcjovL3Byb2JsZW0vNDYwMDA0ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0OiBjc3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1zY2hl
bWVzLXJvb3QuaHRtbAorCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjogTWFya2Vk
IHN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIGFzIGEgY3VzdG9tIFZhbHVlLgorICAgICAgICAqIGNz
cy9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1
c3RvbTo6YXBwbHlWYWx1ZVN1cHBvcnRlZENvbG9yU2NoZW1lcyk6IEFkZGVkLgorICAgICAgICAq
IHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVjYWxj
dWxhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUpOiBVc2UgYSBsaWdodCBzY3JvbGxiYXIgZm9yCisg
ICAgICAgIHRyYW5zcGFyZW50IHdlYiB2aWV3cyBpbiBkYXJrIG1vZGUuCisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnBhaW50U2Nyb2xsQ29ybmVyKTogVXNlIHRoaXMtPnVzZURhcmtBcHBl
YXJhbmNlKCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OnN0eWxlRGlkQ2hhbmdlKTogVXNlIHRoZSBzdXBwb3J0ZWQgY29s
b3Igc2NoZW1lcyBvZiB0aGUgYm9keQorICAgICAgICB0byBzZXQgdGhlIHZpZXcgc3R5bGUsIHVu
bGVzcyB0aGUgcHJvcGVydHkgaXMgc2V0IG9uIHRoZSBkb2N1bWVudCBlbGVtZW50LgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OnNldEhhc0V4cGxpY2l0bHlTZXRTdXBwb3J0ZWRDb2xvclNjaGVtZXMpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpoYXNFeHBsaWNpdGx5U2V0U3VwcG9y
dGVkQ29sb3JTY2hlbWVzIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
dHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6Om9wZXJhdG9yPT0gY29uc3QpOiBBZGRlZCBoYXNFeHBs
aWNpdGx5U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzLgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVz
b2x2ZUZvckRvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpyZXNvbHZlRm9y
RG9jdW1lbnQpOiBVc2UgdGhlIHN1cHBvcnRlZCBjb2xvciBzY2hlbWVzIG9mIHRoZSBib2R5Cisg
ICAgICAgIHRvIHNldCB0aGUgZG9jdW1lbnQgc3R5bGUsIHVubGVzcyB0aGUgcHJvcGVydHkgaXMg
c2V0IG9uIHRoZSBkb2N1bWVudCBlbGVtZW50LgorCiAyMDE4LTExLTEyICBUaW1vdGh5IEhhdGNo
ZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBUcmVhdCBzdXBwb3J0ZWQtY29sb3It
c2NoZW1lcyBhcyB0aGUgc2Vjb25kIGhpZ2hlc3QgcHJpb3JpdHkgcHJvcGVydHkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCBkYmQ0YTI3NTdiZDJhZTM2NWFjMjc1Yjli
MmU3ZDU1ODRkZTcxZDVhLi5lNjBiYzQzYTcwZTNjMDQzMjFjMzRjOGRmOTViMzIxNTIxOWNmMTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTU3MjMsNiArNTcyMyw3
IEBACiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAg
ICJjb252ZXJ0ZXIiOiAiU3VwcG9ydGVkQ29sb3JTY2hlbWVzIiwKICAgICAgICAgICAgICAgICAi
Y29tbWVudCI6ICJUaGlzIGlzIHRoZSBzZWNvbmQgaGlnaGVzdCBwcmlvcml0eSBwcm9wZXJ0eSwg
dG8gZW5zdXJlIHRoYXQgaXRzIHZhbHVlIGNhbiBiZSBjaGVja2VkIHdoZW4gcmVzb2x2aW5nIGNv
bG9ycy4iLAorICAgICAgICAgICAgICAgICJjdXN0b20iOiAiVmFsdWUiLAogICAgICAgICAgICAg
ICAgICJlbmFibGUtaWYiOiAiRU5BQkxFX0RBUktfTU9ERV9DU1MiLAogICAgICAgICAgICAgICAg
ICJoaWdoLXByaW9yaXR5IjogdHJ1ZQogICAgICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXJDdXN0b20uaAppbmRleCAyMDAwZmRjMWY1NWUyMWM2Njg3MWZiOTBhMWQ1N2Zi
ZjRjN2Y3YTI1Li4zMmE0OWY1N2QyYjdmODlkNzU5ODg0YzhmMzUzZDFlYWY3Mjc2YzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0xNDMsNiArMTQzLDEwIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlQWx0KFN0eWxlUmVzb2x2ZXImLCBD
U1NWYWx1ZSYpOwogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVXaWxsQ2hhbmdlKFN0eWxlUmVz
b2x2ZXImLCBDU1NWYWx1ZSYpOwogCisjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCisgICAgc3Rh
dGljIHZvaWQgYXBwbHlWYWx1ZVN1cHBvcnRlZENvbG9yU2NoZW1lcyhTdHlsZVJlc29sdmVyJiwg
Q1NTVmFsdWUmKTsKKyNlbmRpZgorCiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVN0cm9rZVdp
ZHRoKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOwogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFs
dWVTdHJva2VDb2xvcihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKIApAQCAtODI4LDYgKzgz
MiwxNCBAQCBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRU
ZXh0Wm9vbShTdHlsZVJlc29sdmVyJiBzdHlsZVJlcwogICAgIHN0eWxlUmVzb2x2ZXIuc3RhdGUo
KS5zZXRGb250RGlydHkodHJ1ZSk7CiB9CiAKKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKK2lu
bGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVN1cHBvcnRlZENvbG9yU2No
ZW1lcyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7Cisg
ICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRTdXBwb3J0ZWRDb2xvclNjaGVtZXMoU3R5bGVC
dWlsZGVyQ29udmVydGVyOjpjb252ZXJ0U3VwcG9ydGVkQ29sb3JTY2hlbWVzKHN0eWxlUmVzb2x2
ZXIsIHZhbHVlKSk7CisgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRIYXNFeHBsaWNpdGx5
U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzKHRydWUpOworfQorI2VuZGlmCisKIHRlbXBsYXRlPENT
U1Byb3BlcnR5SUQgcHJvcGVydHk+CiBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFw
cGx5VGV4dE9yQm94U2hhZG93VmFsdWUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUmIHZhbHVlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDIwZDc2MTVm
ZWYwMDVkYWIzOGQ3NDRjMzJiOWYxNmVjYmJkMTJiOWEuLjU2NGVhZWEzN2MyNTU0YjUyN2RmNGEz
MzNlZjcwMDI4NmYxYWZmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTQwNiw2
ICs0MDYsOCBAQCB2b2lkIEZyYW1lVmlldzo6cmVjYWxjdWxhdGVTY3JvbGxiYXJPdmVybGF5U3R5
bGUoKQogICAgICAgICBiYWNrZ3JvdW5kQ29sb3IuZ2V0SFNMKGh1ZSwgc2F0dXJhdGlvbiwgbGln
aHRuZXNzKTsKICAgICAgICAgaWYgKGxpZ2h0bmVzcyA8PSAuNSAmJiBiYWNrZ3JvdW5kQ29sb3Iu
aXNWaXNpYmxlKCkpCiAgICAgICAgICAgICBjb21wdXRlZE92ZXJsYXlTdHlsZSA9IFNjcm9sbGJh
ck92ZXJsYXlTdHlsZUxpZ2h0OworICAgICAgICBlbHNlIGlmICghYmFja2dyb3VuZENvbG9yLmlz
VmlzaWJsZSgpICYmIHVzZURhcmtBcHBlYXJhbmNlKCkpCisgICAgICAgICAgICBjb21wdXRlZE92
ZXJsYXlTdHlsZSA9IFNjcm9sbGJhck92ZXJsYXlTdHlsZUxpZ2h0OwogICAgIH0KIAogICAgIGlm
IChvbGRPdmVybGF5U3R5bGUgIT0gY29tcHV0ZWRPdmVybGF5U3R5bGUpCkBAIC0zOTA5LDcgKzM5
MTEsNyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRTY3JvbGxDb3JuZXIoR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3JuZQogI2lmIFBMQVRGT1JNKE1BQykKICAgICAv
LyBJZiBkYXJrIGFwcGVhcmFuY2UgaXMgdXNlZCBvciB0aGUgb3ZlcmxheSBzdHlsZSBpcyBsaWdo
dCAoYmVjYXVzZSBvZiBhIGRhcmsgcGFnZSBiYWNrZ3JvdW5kKSwgc2V0IHRoZSBkYXJrIGFwcHBl
YXJhbmNlLgogICAgIC8vIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggU2Nyb2xsQW5pbWF0b3JNYWMn
cyBlZmZlY3RpdmVBcHBlYXJhbmNlRm9yU2Nyb2xsZXJJbXA6LgotICAgIGJvb2wgdXNlRGFya0Fw
cGVhcmFuY2UgPSByZW5kZXJWaWV3KCktPnVzZURhcmtBcHBlYXJhbmNlKCkgfHwgc2Nyb2xsYmFy
T3ZlcmxheVN0eWxlKCkgPT0gV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQ7Cisg
ICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSA9IHRoaXMtPnVzZURhcmtBcHBlYXJhbmNlKCkgfHwg
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgPT0gV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxl
TGlnaHQ7CiAgICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVhcmFuY2Uo
dXNlRGFya0FwcGVhcmFuY2UpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKaW5kZXggMGYxMmFkODBiOTRkMGFlNGVmMzJlMmIzNDEyMGFlMjkxMzljYTdmYi4u
MWRiYWE0ODUyOTdlMGYzY2ExNDA0NzA2NmRlMGQ3NGI5YzY1MjMxNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTM2OSw2ICszNjksMjAgQEAgdm9pZCBSZW5kZXJC
b3g6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHls
ZSogb2xkU3R5bGUKICAgICAgICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2Fs
YygpOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKKyAgICAgICAgLy8g
UHJvcGFnYXRlIHRoZSBuZXcgc3VwcG9ydGVkIGNvbG9yIHNjaGVtZXMgdXAgdG8gdGhlIFJlbmRl
clZpZXcuCisgICAgICAgIGlmICh2aWV3U3R5bGUuc3VwcG9ydGVkQ29sb3JTY2hlbWVzKCkgIT0g
bmV3U3R5bGUuc3VwcG9ydGVkQ29sb3JTY2hlbWVzKCkgJiYgKGlzRG9jRWxlbWVudFJlbmRlcmVy
IHx8ICFkb2N1bWVudEVsZW1lbnRSZW5kZXJlci0+c3R5bGUoKS5oYXNFeHBsaWNpdGx5U2V0U3Vw
cG9ydGVkQ29sb3JTY2hlbWVzKCkpKSB7CisgICAgICAgICAgICB2aWV3U3R5bGUuc2V0U3VwcG9y
dGVkQ29sb3JTY2hlbWVzKG5ld1N0eWxlLnN1cHBvcnRlZENvbG9yU2NoZW1lcygpKTsKKworICAg
ICAgICAgICAgaWYgKGlzQm9keVJlbmRlcmVyKSB7CisgICAgICAgICAgICAgICAgcm9vdFN0eWxl
Q2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgcm9vdFJlbmRlcmVyLT5tdXRhYmxlU3R5
bGUoKS5zZXRTdXBwb3J0ZWRDb2xvclNjaGVtZXMobmV3U3R5bGUuc3VwcG9ydGVkQ29sb3JTY2hl
bWVzKCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzZXROZWVkc0xheW91dCgpOwor
ICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICB2aWV3KCkuZnJhbWVWaWV3KCkucmVjYWxjdWxh
dGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoKTsKICAgICAgICAgCiAgICAgICAgIGNvbnN0IFBhZ2lu
YXRpb24mIHBhZ2luYXRpb24gPSB2aWV3KCkuZnJhbWVWaWV3KCkucGFnaW5hdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA4NTU1ZDBi
OWY2MjRkODIzMTQyNjNiMDUwYWU1YzlhZmFjMmM2NjNlLi4zYWNiMWM5YTgyNzY0NTg0OTNhMmUy
NzEzMjBmYzc3MzAzNmUyYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaApAQCAtNjM4LDYgKzYzOCw4IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShE
QVJLX01PREVfQ1NTKQogICAgIFN0eWxlU3VwcG9ydGVkQ29sb3JTY2hlbWVzIHN1cHBvcnRlZENv
bG9yU2NoZW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPnN1cHBvcnRl
ZENvbG9yU2NoZW1lczsgfQorICAgIHZvaWQgc2V0SGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENv
bG9yU2NoZW1lcyhib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFncy5oYXNFeHBsaWNpdGx5U2V0
U3VwcG9ydGVkQ29sb3JTY2hlbWVzID0gdjsgfQorICAgIGJvb2wgaGFzRXhwbGljaXRseVNldFN1
cHBvcnRlZENvbG9yU2NoZW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fbm9uSW5oZXJpdGVkRmxhZ3Mu
aGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENvbG9yU2NoZW1lczsgfTsKICNlbmRpZgogCiAgICAg
VGV4dE9yaWVudGF0aW9uIHRleHRPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PFRleHRPcmllbnRhdGlvbj4obV9yYXJlSW5oZXJpdGVkRGF0YS0+dGV4dE9yaWVudGF0aW9u
KTsgfQpAQCAtMTc4Miw2ICsxNzg0LDkgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgaGFz
RXhwbGljaXRseVNldERpcmVjdGlvbiA6IDE7CiAgICAgICAgIHVuc2lnbmVkIGhhc0V4cGxpY2l0
bHlTZXRXcml0aW5nTW9kZSA6IDE7CiAgICAgICAgIHVuc2lnbmVkIGhhc0V4cGxpY2l0bHlTZXRU
ZXh0QWxpZ24gOiAxOworI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorICAgICAgICB1bnNpZ25l
ZCBoYXNFeHBsaWNpdGx5U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzIDogMTsKKyNlbmRpZgogICAg
ICAgICB1bnNpZ25lZCBoYXNWaWV3cG9ydFVuaXRzIDogMTsKICAgICAgICAgdW5zaWduZWQgaGFz
RXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMgOiAxOyAvLyBFeHBsaWNpdGx5IGluaGVyaXRz
IGEgbm9uLWluaGVyaXRlZCBwcm9wZXJ0eS4KICAgICAgICAgdW5zaWduZWQgaXNVbmlxdWUgOiAx
OyAvLyBTdHlsZSBjYW5ub3QgYmUgc2hhcmVkLgpAQCAtMTkwOCw2ICsxOTEzLDkgQEAgaW5saW5l
IGJvb2wgUmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpvcGVyYXRvcj09KGNvbnN0IE5v
bkluaGVyaXRlZEZsYWdzJgogICAgICAgICAmJiBoYXNFeHBsaWNpdGx5U2V0RGlyZWN0aW9uID09
IG90aGVyLmhhc0V4cGxpY2l0bHlTZXREaXJlY3Rpb24KICAgICAgICAgJiYgaGFzRXhwbGljaXRs
eVNldFdyaXRpbmdNb2RlID09IG90aGVyLmhhc0V4cGxpY2l0bHlTZXRXcml0aW5nTW9kZQogICAg
ICAgICAmJiBoYXNFeHBsaWNpdGx5U2V0VGV4dEFsaWduID09IG90aGVyLmhhc0V4cGxpY2l0bHlT
ZXRUZXh0QWxpZ24KKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKKyAgICAgICAgJiYgaGFzRXhw
bGljaXRseVNldFN1cHBvcnRlZENvbG9yU2NoZW1lcyA9PSBvdGhlci5oYXNFeHBsaWNpdGx5U2V0
U3VwcG9ydGVkQ29sb3JTY2hlbWVzCisjZW5kaWYKICAgICAgICAgJiYgaGFzVmlld3BvcnRVbml0
cyA9PSBvdGhlci5oYXNWaWV3cG9ydFVuaXRzCiAgICAgICAgICYmIGhhc0V4cGxpY2l0bHlJbmhl
cml0ZWRQcm9wZXJ0aWVzID09IG90aGVyLmhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9wZXJ0aWVz
CiAgICAgICAgICYmIGlzVW5pcXVlID09IG90aGVyLmlzVW5pcXVlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKaW5kZXggYzZkNmE0ZWY2NzM0
ODBjMzQ1ZGNlMWVlMjYzZTcwZThkY2EzOGIxZC4uNzFhYzRiNTllNWNmZTkxYWMxY2E5MjhkYzQx
YTAwZjMyNjgzNzJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNv
bHZlRm9yRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2
ZUZvckRvY3VtZW50LmNwcApAQCAtOTEsNiArOTEsMTUgQEAgUmVuZGVyU3R5bGUgcmVzb2x2ZUZv
ckRvY3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkKICAgICAgICAgICAgIGRvY3VtZW50
U3R5bGUuc2V0RGlyZWN0aW9uKGRvY0VsZW1lbnRSZW5kZXJlci0+c3R5bGUoKS5kaXJlY3Rpb24o
KSk7CiAgICAgfQogCisjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCisgICAgYXV0byogYm9keSA9
IGRvY3VtZW50LmJvZHlPckZyYW1lc2V0KCk7CisgICAgUmVuZGVyT2JqZWN0KiBib2R5UmVuZGVy
ZXIgPSBib2R5ID8gYm9keS0+cmVuZGVyZXIoKSA6IG51bGxwdHI7CisgICAgaWYgKGJvZHlSZW5k
ZXJlciAmJiAoIWRvY0VsZW1lbnRSZW5kZXJlciB8fCAoZG9jRWxlbWVudFJlbmRlcmVyICYmICFk
b2NFbGVtZW50UmVuZGVyZXItPnN0eWxlKCkuaGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENvbG9y
U2NoZW1lcygpKSkpCisgICAgICAgIGRvY3VtZW50U3R5bGUuc2V0U3VwcG9ydGVkQ29sb3JTY2hl
bWVzKGJvZHlSZW5kZXJlci0+c3R5bGUoKS5zdXBwb3J0ZWRDb2xvclNjaGVtZXMoKSk7CisgICAg
ZWxzZSBpZiAoZG9jRWxlbWVudFJlbmRlcmVyKQorICAgICAgICBkb2N1bWVudFN0eWxlLnNldFN1
cHBvcnRlZENvbG9yU2NoZW1lcyhkb2NFbGVtZW50UmVuZGVyZXItPnN0eWxlKCkuc3VwcG9ydGVk
Q29sb3JTY2hlbWVzKCkpOworI2VuZGlmCisKICAgICBjb25zdCBQYWdpbmF0aW9uJiBwYWdpbmF0
aW9uID0gcmVuZGVyVmlldy5mcmFtZVZpZXcoKS5wYWdpbmF0aW9uKCk7CiAgICAgaWYgKHBhZ2lu
YXRpb24ubW9kZSAhPSBQYWdpbmF0aW9uOjpVbnBhZ2luYXRlZCkgewogICAgICAgICBkb2N1bWVu
dFN0eWxlLnNldENvbHVtblN0eWxlc0Zyb21QYWdpbmF0aW9uTW9kZShwYWdpbmF0aW9uLm1vZGUp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDg4ZWZjYzliZThmYTYyNGVjYmZiMmQyZTRlMWEzM2FlMThiMmZmZjguLjY1ZTdi
ZjE4YjQ2YTk5ZjUyZjllM2JkNmRmMzYxYjQ4MGNhZGY3Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxOC0xMS0xMiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CisKKyAg
ICAgICAgVXNlIGEgbGlnaHQgc2Nyb2xsYmFyIGZvciB0cmFuc3BhcmVudCB3ZWIgdmlld3MgaW4g
ZGFyayBtb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkxNTU5CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQ2MDAwNDg5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MtZGFyay1tb2RlL3N1cHBv
cnRlZC1jb2xvci1zY2hlbWVzLXJvb3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
c3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1zY2hlbWVzLXJvb3QuaHRtbDogQWRkZWQuCisK
IDIwMTgtMTEtMTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFRyZWF0IHN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIGFzIHRoZSBzZWNvbmQgaGlnaGVzdCBw
cmlvcml0eSBwcm9wZXJ0eS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nzcy1kYXJrLW1vZGUv
c3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMtcm9vdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
c3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1zY2hlbWVzLXJvb3QtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg2NDlhMjVhZGNmMWJlZGE2ZTkxNTM4OTIxMmFjNjIzNWExM2VhN2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1z
Y2hlbWVzLXJvb3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIEJvZHkgRWxl
bWVudCBzdXBwb3J0ZWQgY29sb3Igc2NoZW1lIGlzIGxpZ2h0IGFuZCBkYXJrIAorUEFTUyBEb2N1
bWVudCBFbGVtZW50IHN1cHBvcnRlZCBjb2xvciBzY2hlbWUgaXMgbGlnaHQgYW5kIGRhcmsgCitQ
QVNTIFNldCBwcmVmZXJzLWNvbG9yLXNjaGVtZXM6IGxpZ2h0IG9uIHRoZSBkb2N1bWVudCBlbGVt
ZW50IAorUEFTUyBCb2R5IEVsZW1lbnQgc3VwcG9ydGVkIGNvbG9yIHNjaGVtZSBpcyBsaWdodCBh
bmQgZGFyayAKK1BBU1MgRG9jdW1lbnQgRWxlbWVudCBzdXBwb3J0ZWQgY29sb3Igc2NoZW1lIGlz
IGxpZ2h0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MtZGFyay1tb2RlL3N1cHBvcnRl
ZC1jb2xvci1zY2hlbWVzLXJvb3QuaHRtbCBiL0xheW91dFRlc3RzL2Nzcy1kYXJrLW1vZGUvc3Vw
cG9ydGVkLWNvbG9yLXNjaGVtZXMtcm9vdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNjI5ZjQ2ZDZjZmZk
ZGE3ZjFmMjUwMzU1ZTQ1ZmUwNTg2NjEwMzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1zY2hlbWVzLXJvb3QuaHRtbApAQCAtMCww
ICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKworPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
eHBlcmltZW50YWw6RGFya01vZGVDU1NFbmFibGVkPXRydWUgXSAtLT4KKworPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorYm9k
eSB7CisgICAgc3VwcG9ydGVkLWNvbG9yLXNjaGVtZXM6IGxpZ2h0IGRhcms7Cit9Cis8L3N0eWxl
PgorCis8Ym9keT48L2JvZHk+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0X3Byb3AoZWxlbWVu
dCwgcHJvcCwgZXhwZWN0ZWQpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUocHJvcCksIGV4cGVjdGVkKTsKK30KKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgICB0ZXN0X3Byb3AoZG9jdW1lbnQuYm9keSwgInN1cHBvcnRl
ZC1jb2xvci1zY2hlbWVzIiwgImxpZ2h0IGRhcmsiKTsKK30sICJCb2R5IEVsZW1lbnQgc3VwcG9y
dGVkIGNvbG9yIHNjaGVtZSBpcyBsaWdodCBhbmQgZGFyayIpOworCit0ZXN0KGZ1bmN0aW9uKCkg
eworICAgIHRlc3RfcHJvcChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICJzdXBwb3J0ZWQtY29s
b3Itc2NoZW1lcyIsICJsaWdodCBkYXJrIik7Cit9LCAiRG9jdW1lbnQgRWxlbWVudCBzdXBwb3J0
ZWQgY29sb3Igc2NoZW1lIGlzIGxpZ2h0IGFuZCBkYXJrIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7
CisgICAgc3R5bGVFbGVtZW50LnRleHRDb250ZW50ID0gIjpyb290IHsgc3VwcG9ydGVkLWNvbG9y
LXNjaGVtZXM6IGxpZ2h0IH0iOworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVF
bGVtZW50KTsKK30sICJTZXQgcHJlZmVycy1jb2xvci1zY2hlbWVzOiBsaWdodCBvbiB0aGUgZG9j
dW1lbnQgZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHRlc3RfcHJvcChkb2N1
bWVudC5ib2R5LCAic3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMiLCAibGlnaHQgZGFyayIpOworfSwg
IkJvZHkgRWxlbWVudCBzdXBwb3J0ZWQgY29sb3Igc2NoZW1lIGlzIGxpZ2h0IGFuZCBkYXJrIik7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdGVzdF9wcm9wKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudCwgInN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIiwgImxpZ2h0Iik7Cit9LCAiRG9jdW1lbnQg
RWxlbWVudCBzdXBwb3J0ZWQgY29sb3Igc2NoZW1lIGlzIGxpZ2h0Iik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354713</attachid>
            <date>2018-11-13 15:38:06 -0800</date>
            <delta_ts>2018-11-13 17:15:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191559-20181113153805.patch</filename>
            <type>text/plain</type>
            <size>24592</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQxZDg2YTAyZTk1ZDE5
Nzc0NWVkYmU5NGEwMzhmZGUxZWM4OTZiMC4uZjYyZGI3ODJlZTVmOWZhZGI3YjZkYmUzNjJkMDVi
NjMzNGFhOGUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE4LTExLTEzICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgYSBsaWdodCBz
Y3JvbGxiYXIgZm9yIHRyYW5zcGFyZW50IHdlYiB2aWV3cyBpbiBkYXJrIG1vZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE1NTkKKyAgICAgICAg
cmRhcjovL3Byb2JsZW0vNDYwMDA0ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0OiBjc3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1zY2hl
bWVzLXNjcm9sbGJhci5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOiBN
YXJrZWQgc3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMgYXMgYSBjdXN0b20gVmFsdWUuCisgICAgICAg
ICogY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWls
ZGVyQ3VzdG9tOjphcHBseVZhbHVlU3VwcG9ydGVkQ29sb3JTY2hlbWVzKToKKyAgICAgICAgKiBl
ZGl0aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbTogVXNlIEZyYW1lVmlldydzIHVz
ZURhcmtBcHBlYXJhbmNlKCkuCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGcmFnbWVudCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yT3ZlcmxheTo6cGFpbnQpOiBVc2UgRnJhbWVWaWV3J3MgdXNlRGFya0FwcGVh
cmFuY2UoKS4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OnJlY2FsY3VsYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKTogVXNlIGEgbGln
aHQgc2Nyb2xsYmFyIGZvcgorICAgICAgICB0cmFuc3BhcmVudCB3ZWIgdmlld3MgaW4gZGFyayBt
b2RlLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZW5kZXJlckZvclN1cHBvcnRlZENv
bG9yU2NoZW1lcyBjb25zdCk6IEFkZGVkLgorICAgICAgICBSZXR1cm4gdGhlIGJvZHkgZm9yIGRv
Y3VtZW50IGVsZW1lbnQgcmVuZGVyZXIuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVz
ZURhcmtBcHBlYXJhbmNlIGNvbnN0KTogVXNlIHJlbmRlcmVyRm9yU3VwcG9ydGVkQ29sb3JTY2hl
bWVzLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzdHlsZUNvbG9yT3B0aW9ucyBjb25z
dCk6IEFkZGVkLiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyYXJl
SW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludCk6IERyaXZlLWJ5IGZpeC4gQWRkZWQg
c3VwcG9ydGVkQ29sb3JTY2hlbWVzLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEhhc0V4cGxpY2l0bHlT
ZXRTdXBwb3J0ZWRDb2xvclNjaGVtZXMpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpoYXNFeHBsaWNpdGx5U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzIGNvbnN0KTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6Om9w
ZXJhdG9yPT0gY29uc3QpOiBBZGRlZCBzdXBwb3J0ZWRDb2xvclNjaGVtZXMuCisgICAgICAgICog
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpk
cmF3KTogVXNlIEZyYW1lVmlldydzIHVzZURhcmtBcHBlYXJhbmNlKCkuCisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRWaWV3
SXNUcmFuc3BhcmVudCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzY3Jv
bGxiYXJPdmVybGF5U3R5bGUgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDogQWRkZWQgc2V0Vmlld0lz
VHJhbnNwYXJlbnQgYW5kIHNjcm9sbGJhck92ZXJsYXlTdHlsZS4KKwogMjAxOC0xMS0xMiAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgVHJlYXQgc3VwcG9y
dGVkLWNvbG9yLXNjaGVtZXMgYXMgdGhlIHNlY29uZCBoaWdoZXN0IHByaW9yaXR5IHByb3BlcnR5
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA3N2Q3MTVmYWYxNDBlOTNiOGZiZjcxMDdiOTZmYTY2MDUxOTViNDA1Li5h
NTQ2NmI3YzAzMjM2MjRmYzhjYTk4N2UxNjJhNmNiZTUyNzU0ZjdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDE4LTExLTEzICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNv
bT4KKworICAgICAgICBVc2UgYSBsaWdodCBzY3JvbGxiYXIgZm9yIHRyYW5zcGFyZW50IHdlYiB2
aWV3cyBpbiBkYXJrIG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTE1NTkKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vNDYwMDA0ODkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlOjpyZW5kZXJlZEltYWdlKTogVXNl
IEZyYW1lVmlldydzIHVzZURhcmtBcHBhZWFyYW5jZSgpLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZHJhd1JlY3Qp
OiBEaXR0by4KKwogMjAxOC0xMS0wOCAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBhIGBzdXBwb3J0ZWQt
Y29sb3Itc2NoZW1lc2AgQ1NTIHByb3BlcnR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KaW5kZXggZGJkNGEyNzU3YmQyYWUzNjVhYzI3NWI5YjJlN2Q1NTg0ZGU3MWQ1YS4uZTYw
YmM0M2E3MGUzYzA0MzIxYzM0YzhkZjk1YjMyMTUyMTljZjEzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCkBAIC01NzIzLDYgKzU3MjMsNyBAQAogICAgICAgICAgICAgImNv
ZGVnZW4tcHJvcGVydGllcyI6IHsKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIlN1cHBv
cnRlZENvbG9yU2NoZW1lcyIsCiAgICAgICAgICAgICAgICAgImNvbW1lbnQiOiAiVGhpcyBpcyB0
aGUgc2Vjb25kIGhpZ2hlc3QgcHJpb3JpdHkgcHJvcGVydHksIHRvIGVuc3VyZSB0aGF0IGl0cyB2
YWx1ZSBjYW4gYmUgY2hlY2tlZCB3aGVuIHJlc29sdmluZyBjb2xvcnMuIiwKKyAgICAgICAgICAg
ICAgICAiY3VzdG9tIjogIlZhbHVlIiwKICAgICAgICAgICAgICAgICAiZW5hYmxlLWlmIjogIkVO
QUJMRV9EQVJLX01PREVfQ1NTIiwKICAgICAgICAgICAgICAgICAiaGlnaC1wcmlvcml0eSI6IHRy
dWUKICAgICAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVC
dWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgK
aW5kZXggMjAwMGZkYzFmNTVlMjFjNjY4NzFmYjkwYTFkNTdmYmY0YzdmN2EyNS4uMzJhNDlmNTdk
MmI3Zjg5ZDc1OTg4NGM4ZjM1M2QxZWFmNzI3NmM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZUJ1aWxkZXJDdXN0b20uaApAQCAtMTQzLDYgKzE0MywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgYXBwbHlWYWx1ZUFsdChTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0
aWMgdm9pZCBhcHBseVZhbHVlV2lsbENoYW5nZShTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsK
IAorI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVT
dXBwb3J0ZWRDb2xvclNjaGVtZXMoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisjZW5kaWYK
KwogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVTdHJva2VXaWR0aChTdHlsZVJlc29sdmVyJiwg
Q1NTVmFsdWUmKTsKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlU3Ryb2tlQ29sb3IoU3R5bGVS
ZXNvbHZlciYsIENTU1ZhbHVlJik7CiAKQEAgLTgyOCw2ICs4MzIsMTQgQEAgaW5saW5lIHZvaWQg
U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlV2Via2l0VGV4dFpvb20oU3R5bGVSZXNvbHZl
ciYgc3R5bGVSZXMKICAgICBzdHlsZVJlc29sdmVyLnN0YXRlKCkuc2V0Rm9udERpcnR5KHRydWUp
OwogfQogCisjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxk
ZXJDdXN0b206OmFwcGx5VmFsdWVTdXBwb3J0ZWRDb2xvclNjaGVtZXMoU3R5bGVSZXNvbHZlciYg
c3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIHN0eWxlUmVzb2x2ZXIuc3R5
bGUoKS0+c2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzKFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29u
dmVydFN1cHBvcnRlZENvbG9yU2NoZW1lcyhzdHlsZVJlc29sdmVyLCB2YWx1ZSkpOworICAgIHN0
eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0SGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENvbG9yU2No
ZW1lcyh0cnVlKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZTxDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
PgogaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVRleHRPckJveFNoYWRvd1Zh
bHVlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29j
b2EubW0KaW5kZXggZDQyMDdiOWNmMWMxY2Q2ODg0NzNkNGJmMDhiNGVhMjgwMGI3NDZiMy4uZTRi
OTBiZGYyNzA1MmIwMzJmOWEzY2U0MzM1NDNkMWY4Nzc4NGY2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KQEAgLTEz
NSw4ICsxMzUsNyBAQCBzdGF0aWMgRnJhZ21lbnRBbmRSZXNvdXJjZXMgY3JlYXRlRnJhZ21lbnQo
RnJhbWUmIGZyYW1lLCBOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cgogCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIGF1dG8qIHZpZXcgPSBmcmFtZS52aWV3KCk7Ci0gICAgYXV0byogcmVuZGVyVmlldyA9
IHZpZXcgPyB2aWV3LT5yZW5kZXJWaWV3KCkgOiBudWxscHRyOwotICAgIExvY2FsRGVmYXVsdFN5
c3RlbUFwcGVhcmFuY2UgbG9jYWxBcHBlYXJhbmNlKHJlbmRlclZpZXcgPyByZW5kZXJWaWV3LT51
c2VEYXJrQXBwZWFyYW5jZSgpIDogZmFsc2UpOworICAgIExvY2FsRGVmYXVsdFN5c3RlbUFwcGVh
cmFuY2UgbG9jYWxBcHBlYXJhbmNlKHZpZXcgPyB2aWV3LT51c2VEYXJrQXBwZWFyYW5jZSgpIDog
ZmFsc2UpOwogI2VuZGlmCiAKICAgICBOU0FycmF5ICpzdWJyZXNvdXJjZXMgPSBuaWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggZGVjNzFl
NWZlODQwMTJkMzliMDA3NDg5Njg3MTE0MGFhZDA4NjE2NS4uMDUzZGFkOGFlNDc1MWYxNjBlZmY0
Zjk3NjRjMjYyZjc2ZDhlOTZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIHZvaWQgSW5zcGVjdG9yT3Zlcmxh
eTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KQogICAgIEZyYW1lVmlldyogdmlldyA9
IG92ZXJsYXlQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykK
LSAgICBMb2NhbERlZmF1bHRTeXN0ZW1BcHBlYXJhbmNlIGxvY2FsQXBwZWFyYW5jZSh2aWV3LT5y
ZW5kZXJWaWV3KCktPnVzZURhcmtBcHBlYXJhbmNlKCkpOworICAgIExvY2FsRGVmYXVsdFN5c3Rl
bUFwcGVhcmFuY2UgbG9jYWxBcHBlYXJhbmNlKHZpZXctPnVzZURhcmtBcHBlYXJhbmNlKCkpOwog
I2VuZGlmCiAKICAgICB2aWV3LT51cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMjBkNzYxNWZlZjAwNWRhYjM4ZDc0
NGMzMmI5ZjE2ZWNiYmQxMmI5YS4uZWNlOWUwMTc5MTY3MDY1ODQ2YzA5YWFlYTA5MzZhNDlkMDg0
ODg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNDA2LDYgKzQwNiw4IEBAIHZv
aWQgRnJhbWVWaWV3OjpyZWNhbGN1bGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZSgpCiAgICAgICAg
IGJhY2tncm91bmRDb2xvci5nZXRIU0woaHVlLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpOwogICAg
ICAgICBpZiAobGlnaHRuZXNzIDw9IC41ICYmIGJhY2tncm91bmRDb2xvci5pc1Zpc2libGUoKSkK
ICAgICAgICAgICAgIGNvbXB1dGVkT3ZlcmxheVN0eWxlID0gU2Nyb2xsYmFyT3ZlcmxheVN0eWxl
TGlnaHQ7CisgICAgICAgIGVsc2UgaWYgKCFiYWNrZ3JvdW5kQ29sb3IuaXNWaXNpYmxlKCkgJiYg
dXNlRGFya0FwcGVhcmFuY2UoKSkKKyAgICAgICAgICAgIGNvbXB1dGVkT3ZlcmxheVN0eWxlID0g
U2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQ7CiAgICAgfQogCiAgICAgaWYgKG9sZE92ZXJsYXlT
dHlsZSAhPSBjb21wdXRlZE92ZXJsYXlTdHlsZSkKQEAgLTIwNDQsOSArMjA0NiwzOSBAQCBib29s
IEZyYW1lVmlldzo6c2hvdWxkU2V0Q3Vyc29yKCkgY29uc3QKICAgICByZXR1cm4gcGFnZSAmJiBw
YWdlLT5pc1Zpc2libGUoKSAmJiBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5pc0FjdGl2ZSgpOwog
fQogCisjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCitSZW5kZXJPYmplY3QqIEZyYW1lVmlldzo6
cmVuZGVyZXJGb3JTdXBwb3J0ZWRDb2xvclNjaGVtZXMoKSBjb25zdAoreworICAgIGF1dG8qIGRv
Y3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpOworICAgIGF1dG8qIGRvY3VtZW50RWxlbWVudCA9
IGRvY3VtZW50ID8gZG9jdW1lbnQtPmRvY3VtZW50RWxlbWVudCgpIDogbnVsbHB0cjsKKyAgICBh
dXRvKiBkb2N1bWVudEVsZW1lbnRSZW5kZXJlciA9IGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50
RWxlbWVudC0+cmVuZGVyZXIoKSA6IG51bGxwdHI7CisgICAgaWYgKGRvY3VtZW50RWxlbWVudFJl
bmRlcmVyICYmIGRvY3VtZW50RWxlbWVudFJlbmRlcmVyLT5zdHlsZSgpLmhhc0V4cGxpY2l0bHlT
ZXRTdXBwb3J0ZWRDb2xvclNjaGVtZXMoKSkKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50RWxlbWVu
dFJlbmRlcmVyOworICAgIGF1dG8qIGJvZHlFbGVtZW50ID0gZG9jdW1lbnQgPyBkb2N1bWVudC0+
Ym9keU9yRnJhbWVzZXQoKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIGJvZHlFbGVtZW50ID8gYm9k
eUVsZW1lbnQtPnJlbmRlcmVyKCkgOiBudWxscHRyOworfQorI2VuZGlmCisKIGJvb2wgRnJhbWVW
aWV3Ojp1c2VEYXJrQXBwZWFyYW5jZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHJlbmRlclZpZXco
KS0+dXNlRGFya0FwcGVhcmFuY2UoKTsKKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKKyAgICBp
ZiAoYXV0byogcmVuZGVyZXIgPSByZW5kZXJlckZvclN1cHBvcnRlZENvbG9yU2NoZW1lcygpKQor
ICAgICAgICByZXR1cm4gcmVuZGVyZXItPnVzZURhcmtBcHBlYXJhbmNlKCk7CisjZW5kaWYKKyAg
ICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCisgICAgICAgIHJldHVy
biBkb2N1bWVudC0+dXNlRGFya0FwcGVhcmFuY2UobnVsbHB0cik7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4gRnJhbWVWaWV3OjpzdHlsZUNv
bG9yT3B0aW9ucygpIGNvbnN0Cit7CisjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCisgICAgaWYg
KGF1dG8qIHJlbmRlcmVyID0gcmVuZGVyZXJGb3JTdXBwb3J0ZWRDb2xvclNjaGVtZXMoKSkKKyAg
ICAgICAgcmV0dXJuIHJlbmRlcmVyLT5zdHlsZUNvbG9yT3B0aW9ucygpOworI2VuZGlmCisgICAg
aWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4g
ZG9jdW1lbnQtPnN0eWxlQ29sb3JPcHRpb25zKG51bGxwdHIpOworICAgIHJldHVybiB7IH07CiB9
CiAKIGJvb2wgRnJhbWVWaWV3OjpzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUm
IHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3Qm
IGNsaXBSZWN0KQpAQCAtMzkwOSw3ICszOTQxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBhaW50U2Ny
b2xsQ29ybmVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29ybmUK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gSWYgZGFyayBhcHBlYXJhbmNlIGlzIHVzZWQgb3Ig
dGhlIG92ZXJsYXkgc3R5bGUgaXMgbGlnaHQgKGJlY2F1c2Ugb2YgYSBkYXJrIHBhZ2UgYmFja2dy
b3VuZCksIHNldCB0aGUgZGFyayBhcHBwZWFyYW5jZS4KICAgICAvLyBLZWVwIHRoaXMgaW4gc3lu
YyB3aXRoIFNjcm9sbEFuaW1hdG9yTWFjJ3MgZWZmZWN0aXZlQXBwZWFyYW5jZUZvclNjcm9sbGVy
SW1wOi4KLSAgICBib29sIHVzZURhcmtBcHBlYXJhbmNlID0gcmVuZGVyVmlldygpLT51c2VEYXJr
QXBwZWFyYW5jZSgpIHx8IHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpID09IFdlYkNvcmU6OlNjcm9s
bGJhck92ZXJsYXlTdHlsZUxpZ2h0OworICAgIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UgPSB0aGlz
LT51c2VEYXJrQXBwZWFyYW5jZSgpIHx8IHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpID09IFdlYkNv
cmU6OlNjcm9sbGJhck92ZXJsYXlTdHlsZUxpZ2h0OwogICAgIExvY2FsRGVmYXVsdFN5c3RlbUFw
cGVhcmFuY2UgbG9jYWxBcHBlYXJhbmNlKHVzZURhcmtBcHBlYXJhbmNlKTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiMTM3N2YzMjU3ZTEyODJlOGJmNmQ0ZjU1YjRkMmJi
YTk2MDE0NTY1Li41ZTk3MjkzNzNkM2E4MDM0MzIxYmZmNWE5MmMyMTNhMmNkNDFmMGI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJQYWludFBo
YXNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyUHRyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVmlldy5oIgor
I2luY2x1ZGUgIlN0eWxlQ29sb3IuaCIKICNpbmNsdWRlICJUaWxlZEJhY2tpbmcuaCIKICNpbmNs
dWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTUwOSw3ICs1MTAsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0hhbmRsaW5nV2hlZWxFdmVudCgpIGNvbnN0IGZpbmFsOwog
ICAgIGJvb2wgc2hvdWxkU2V0Q3Vyc29yKCkgY29uc3Q7CiAKLSAgICBib29sIHVzZURhcmtBcHBl
YXJhbmNlKCkgY29uc3QgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCB1c2VEYXJrQXBw
ZWFyYW5jZSgpIGNvbnN0IGZpbmFsOworICAgIE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25z
PiBzdHlsZUNvbG9yT3B0aW9ucygpIGNvbnN0OwogCiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlz
IG1ldGhvZCBvbmNlIHBsdWdpbiBsb2FkaW5nIGlzIGRlY291cGxlZCBmcm9tIGxheW91dC4KICAg
ICB2b2lkIGZsdXNoQW55UGVuZGluZ1Bvc3RMYXlvdXRUYXNrcygpOwpAQCAtNzM1LDYgKzczNywx
MCBAQCBwcml2YXRlOgogICAgIHZvaWQgdW5vYnNjdXJlZENvbnRlbnRTaXplQ2hhbmdlZCgpIGZp
bmFsOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykKKyAgICBSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyRm9yU3VwcG9ydGVkQ29sb3JTY2hlbWVzKCkgY29uc3Q7CisjZW5kaWYKKwog
ICAgIGJvb2wgdXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSBjb25zdCBmaW5hbDsKICAgICBib29s
IHVzZXNBc3luY1Njcm9sbGluZygpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgdXNlc01vY2tTY3Jv
bGxBbmltYXRvcigpIGNvbnN0IGZpbmFsOwpAQCAtODI2LDYgKzgzMiw5IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nOwogCiAgICAgYm9vbCBtX2lzVHJh
bnNwYXJlbnQ7CisjaWYgRU5BQkxFKERBUktfTU9ERV9DU1MpCisgICAgYm9vbCBtX3VzZXNEYXJr
QXBwZWFyYW5jZSB7IGZhbHNlIH07CisjZW5kaWYKICAgICBDb2xvciBtX2Jhc2VCYWNrZ3JvdW5k
Q29sb3I7CiAgICAgSW50U2l6ZSBtX2xhc3RWaWV3cG9ydFNpemU7CiAgICAgZmxvYXQgbV9sYXN0
Wm9vbUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwCmluZGV4IGNmZGI3YjUzN2ZjYjdmYjlkMDU4NjU4NDUzYmJlZjFhYTE4YjRmY2EuLmU0
NGM1OGQ1NGFjZjYyNjk0OGI2OTBjZGZiOTJiN2MwN2FlY2NlODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtOTU1LDcgKzk1NSwxMSBA
QCBzdGF0aWMgYm9vbCByYXJlSW5oZXJpdGVkRGF0YUNoYW5nZVJlcXVpcmVzUmVwYWludChjb25z
dCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJgogICAgIHJldHVybiBmaXJzdC51c2VyTW9kaWZ5ICE9
IHNlY29uZC51c2VyTW9kaWZ5CiAgICAgICAgIHx8IGZpcnN0LnVzZXJTZWxlY3QgIT0gc2Vjb25k
LnVzZXJTZWxlY3QKICAgICAgICAgfHwgZmlyc3QuYXBwbGVDb2xvckZpbHRlciAhPSBzZWNvbmQu
YXBwbGVDb2xvckZpbHRlcgotICAgICAgICB8fCBmaXJzdC5pbWFnZVJlbmRlcmluZyAhPSBzZWNv
bmQuaW1hZ2VSZW5kZXJpbmc7CisgICAgICAgIHx8IGZpcnN0LmltYWdlUmVuZGVyaW5nICE9IHNl
Y29uZC5pbWFnZVJlbmRlcmluZworI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQorICAgICAgICB8
fCBmaXJzdC5zdXBwb3J0ZWRDb2xvclNjaGVtZXMgIT0gc2Vjb25kLnN1cHBvcnRlZENvbG9yU2No
ZW1lcworI2VuZGlmCisgICAgOwogfQogCiBib29sIFJlbmRlclN0eWxlOjpjaGFuZ2VSZXF1aXJl
c1JlcGFpbnQoY29uc3QgUmVuZGVyU3R5bGUmIG90aGVyLCBPcHRpb25TZXQ8U3R5bGVEaWZmZXJl
bmNlQ29udGV4dFNlbnNpdGl2ZVByb3BlcnR5PiYgY2hhbmdlZENvbnRleHRTZW5zaXRpdmVQcm9w
ZXJ0aWVzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAppbmRleCA4NTU1ZDBiOWY2MjRkODIzMTQyNjNiMDUwYWU1YzlhZmFjMmM2NjNlLi4zYWNi
MWM5YTgyNzY0NTg0OTNhMmUyNzEzMjBmYzc3MzAzNmUyYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNjM4LDYgKzYzOCw4IEBAIHB1Ymxp
YzoKIAogI2lmIEVOQUJMRShEQVJLX01PREVfQ1NTKQogICAgIFN0eWxlU3VwcG9ydGVkQ29sb3JT
Y2hlbWVzIHN1cHBvcnRlZENvbG9yU2NoZW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZUluaGVy
aXRlZERhdGEtPnN1cHBvcnRlZENvbG9yU2NoZW1lczsgfQorICAgIHZvaWQgc2V0SGFzRXhwbGlj
aXRseVNldFN1cHBvcnRlZENvbG9yU2NoZW1lcyhib29sIHYpIHsgbV9ub25Jbmhlcml0ZWRGbGFn
cy5oYXNFeHBsaWNpdGx5U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzID0gdjsgfQorICAgIGJvb2wg
aGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENvbG9yU2NoZW1lcygpIGNvbnN0IHsgcmV0dXJuIG1f
bm9uSW5oZXJpdGVkRmxhZ3MuaGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENvbG9yU2NoZW1lczsg
fTsKICNlbmRpZgogCiAgICAgVGV4dE9yaWVudGF0aW9uIHRleHRPcmllbnRhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRPcmllbnRhdGlvbj4obV9yYXJlSW5oZXJpdGVkRGF0
YS0+dGV4dE9yaWVudGF0aW9uKTsgfQpAQCAtMTc4Miw2ICsxNzg0LDkgQEAgcHJpdmF0ZToKICAg
ICAgICAgdW5zaWduZWQgaGFzRXhwbGljaXRseVNldERpcmVjdGlvbiA6IDE7CiAgICAgICAgIHVu
c2lnbmVkIGhhc0V4cGxpY2l0bHlTZXRXcml0aW5nTW9kZSA6IDE7CiAgICAgICAgIHVuc2lnbmVk
IGhhc0V4cGxpY2l0bHlTZXRUZXh0QWxpZ24gOiAxOworI2lmIEVOQUJMRShEQVJLX01PREVfQ1NT
KQorICAgICAgICB1bnNpZ25lZCBoYXNFeHBsaWNpdGx5U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVz
IDogMTsKKyNlbmRpZgogICAgICAgICB1bnNpZ25lZCBoYXNWaWV3cG9ydFVuaXRzIDogMTsKICAg
ICAgICAgdW5zaWduZWQgaGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMgOiAxOyAvLyBF
eHBsaWNpdGx5IGluaGVyaXRzIGEgbm9uLWluaGVyaXRlZCBwcm9wZXJ0eS4KICAgICAgICAgdW5z
aWduZWQgaXNVbmlxdWUgOiAxOyAvLyBTdHlsZSBjYW5ub3QgYmUgc2hhcmVkLgpAQCAtMTkwOCw2
ICsxOTEzLDkgQEAgaW5saW5lIGJvb2wgUmVuZGVyU3R5bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpv
cGVyYXRvcj09KGNvbnN0IE5vbkluaGVyaXRlZEZsYWdzJgogICAgICAgICAmJiBoYXNFeHBsaWNp
dGx5U2V0RGlyZWN0aW9uID09IG90aGVyLmhhc0V4cGxpY2l0bHlTZXREaXJlY3Rpb24KICAgICAg
ICAgJiYgaGFzRXhwbGljaXRseVNldFdyaXRpbmdNb2RlID09IG90aGVyLmhhc0V4cGxpY2l0bHlT
ZXRXcml0aW5nTW9kZQogICAgICAgICAmJiBoYXNFeHBsaWNpdGx5U2V0VGV4dEFsaWduID09IG90
aGVyLmhhc0V4cGxpY2l0bHlTZXRUZXh0QWxpZ24KKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykK
KyAgICAgICAgJiYgaGFzRXhwbGljaXRseVNldFN1cHBvcnRlZENvbG9yU2NoZW1lcyA9PSBvdGhl
ci5oYXNFeHBsaWNpdGx5U2V0U3VwcG9ydGVkQ29sb3JTY2hlbWVzCisjZW5kaWYKICAgICAgICAg
JiYgaGFzVmlld3BvcnRVbml0cyA9PSBvdGhlci5oYXNWaWV3cG9ydFVuaXRzCiAgICAgICAgICYm
IGhhc0V4cGxpY2l0bHlJbmhlcml0ZWRQcm9wZXJ0aWVzID09IG90aGVyLmhhc0V4cGxpY2l0bHlJ
bmhlcml0ZWRQcm9wZXJ0aWVzCiAgICAgICAgICYmIGlzVW5pcXVlID09IG90aGVyLmlzVW5pcXVl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCAwNjA5N2VjY2Ji
ZTNjMmU2YzYyYTQ1OWRjMThlYjE2MmQ0OTk0OGE5Li5hZjRmMWUxMWRmNzM2NmFhZTBhNTYxYzFh
ZmZmMzkxMzEwMzIwZTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAKQEAgLTMyNSw3ICszMjUsNyBAQCBJbWFnZURyYXdSZXN1bHQgU1ZHSW1hZ2U6OmRyYXcoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlYwogICAgIH0KIAog
I2lmIFBMQVRGT1JNKE1BQykKLSAgICBMb2NhbERlZmF1bHRTeXN0ZW1BcHBlYXJhbmNlIGxvY2Fs
QXBwZWFyYW5jZSh2aWV3LT5yZW5kZXJWaWV3KCktPnVzZURhcmtBcHBlYXJhbmNlKCkpOworICAg
IExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UgbG9jYWxBcHBlYXJhbmNlKHZpZXctPnVzZURh
cmtBcHBlYXJhbmNlKCkpOwogI2VuZGlmCiAKICAgICB2aWV3LT5wYWludChjb250ZXh0LCBpbnRl
cnNlY3Rpb24oY29udGV4dC5jbGlwQm91bmRzKCksIGVuY2xvc2luZ0ludFJlY3Qoc3JjUmVjdCkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA3MGIyYmE2M2M3ZmIyODZl
NDM1MTAyYmExMDY4YjU4MWU4ZjAxMzkzLi5kYjMxMmJhYmJjOTc1MzBiY2ZmMzNhOGIzNDJlMmI1
MmQ3Mjg0NTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xNjczLDYg
KzE2NzMsMTYgQEAgRXhjZXB0aW9uT3I8UmVmPERPTVJlY3Q+PiBJbnRlcm5hbHM6OnZpc3VhbFZp
ZXdwb3J0UmVjdCgpCiAgICAgcmV0dXJuIERPTVJlY3Q6OmNyZWF0ZShmcmFtZVZpZXcudmlzdWFs
Vmlld3BvcnRSZWN0KCkpOwogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnNldFZp
ZXdJc1RyYW5zcGFyZW50KGJvb2wgdHJhbnNwYXJlbnQpCit7CisgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gY29udGV4dERvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQt
PnZpZXcoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9
OworICAgIENvbG9yIGJhY2tncm91bmRDb2xvciA9IHRyYW5zcGFyZW50ID8gQ29sb3I6OnRyYW5z
cGFyZW50IDogQ29sb3I6OndoaXRlOworICAgIGRvY3VtZW50LT52aWV3KCktPnVwZGF0ZUJhY2tn
cm91bmRSZWN1cnNpdmVseShiYWNrZ3JvdW5kQ29sb3IsIHRyYW5zcGFyZW50KTsKKyAgICByZXR1
cm4geyB9OworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbHM6OnNldFZpZXdCYXNlQmFj
a2dyb3VuZENvbG9yKGNvbnN0IFN0cmluZyYgY29sb3JWYWx1ZSkKIHsKICAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKQEAgLTI0ODUsNiArMjQ5NSwyNiBAQCBFeGNl
cHRpb25PcjxTdHJpbmc+IEludGVybmFsczo6cmVwYWludFJlY3RzQXNUZXh0KCkgY29uc3QKICAg
ICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPnRyYWNrZWRSZXBhaW50UmVjdHNBc1RleHQoKTsK
IH0KIAorRXhjZXB0aW9uT3I8U3RyaW5nPiBJbnRlcm5hbHM6OnNjcm9sbGJhck92ZXJsYXlTdHls
ZSgpIGNvbnN0Cit7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7
CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkKKyAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworCisgICAgYXV0byYgZnJhbWVWaWV3
ID0gKmRvY3VtZW50LT52aWV3KCk7CisgICAgc3dpdGNoIChmcmFtZVZpZXcuc2Nyb2xsYmFyT3Zl
cmxheVN0eWxlKCkpIHsKKyAgICBjYXNlIFNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQ6Cisg
ICAgICAgIHJldHVybiAiZGVmYXVsdCJfc3RyOworICAgIGNhc2UgU2Nyb2xsYmFyT3ZlcmxheVN0
eWxlRGFyazoKKyAgICAgICAgcmV0dXJuICJkYXJrIl9zdHI7CisgICAgY2FzZSBTY3JvbGxiYXJP
dmVybGF5U3R5bGVMaWdodDoKKyAgICAgICAgcmV0dXJuICJsaWdodCJfc3RyOworICAgIH0KKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAidW5rbm93biJfc3RyOworfQor
CiBFeGNlcHRpb25PcjxTdHJpbmc+IEludGVybmFsczo6c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0
KCkgY29uc3QKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDBlM2U5YzM2MzgyYTkxZDNhNGJkNWQw
MzBkYzdjNWEzZDg1ZDQ4ZWYuLmY3NDljNzM1YzU0ZGMxZmM0OTQ1MzMzMDJjZTgzZDkzMmViZmI2
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjQ0LDYgKzI0NCw3IEBAIHB1
YmxpYzoKICAgICBFeGNlcHRpb25PcjxSZWY8RE9NUmVjdD4+IGxheW91dFZpZXdwb3J0UmVjdCgp
OwogICAgIEV4Y2VwdGlvbk9yPFJlZjxET01SZWN0Pj4gdmlzdWFsVmlld3BvcnRSZWN0KCk7CiAK
KyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRWaWV3SXNUcmFuc3BhcmVudChib29sKTsKICAgICBF
eGNlcHRpb25Pcjx2b2lkPiBzZXRWaWV3QmFzZUJhY2tncm91bmRDb2xvcihjb25zdCBTdHJpbmcm
IGNvbG9yVmFsdWUpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0UGFnaW5hdGlvbihjb25z
dCBTdHJpbmcmIG1vZGUsIGludCBnYXAsIGludCBwYWdlTGVuZ3RoKTsKQEAgLTM0Niw2ICszNDcs
OSBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8U3RyaW5nPiBsYXllclRyZWVBc1RleHQoRG9j
dW1lbnQmLCB1bnNpZ25lZCBzaG9ydCBmbGFncykgY29uc3Q7CiAgICAgRXhjZXB0aW9uT3I8dWlu
dDY0X3Q+IGxheWVySURGb3JFbGVtZW50KEVsZW1lbnQmKTsKICAgICBFeGNlcHRpb25PcjxTdHJp
bmc+IHJlcGFpbnRSZWN0c0FzVGV4dCgpIGNvbnN0OworCisgICAgRXhjZXB0aW9uT3I8U3RyaW5n
PiBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsKKwogICAgIEV4Y2VwdGlvbk9yPFN0cmlu
Zz4gc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KCkgY29uc3Q7CiAgICAgRXhjZXB0aW9uT3I8U3Ry
aW5nPiBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucygpIGNvbnN0OwogICAgIEV4Y2VwdGlvbk9y
PFJlZjxET01SZWN0TGlzdD4+IG5vbkZhc3RTY3JvbGxhYmxlUmVjdHMoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBmNGNkYTE1YTcxYjk5ZDUyOWY2ZTZhZjEz
ODg4MTdlYjQ5YzUwNzk3Li5mOWFiODJiNzA3MGI0MDM0NGI1NDk0MjAxMzI0YWE0MWMxNjhhNDQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0yNjIsNiArMjYyLDcgQEAg
ZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01SZWN0
IGxheW91dFZpZXdwb3J0UmVjdCgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NUmVjdCB2
aXN1YWxWaWV3cG9ydFJlY3QoKTsKIAorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRW
aWV3SXNUcmFuc3BhcmVudChib29sZWFuIHRybmFzcGFyZW50KTsKICAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgc2V0Vmlld0Jhc2VCYWNrZ3JvdW5kQ29sb3IoRE9NU3RyaW5nIGNvbG9yVmFs
dWUpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFBhZ2luYXRpb24oRE9NU3Ry
aW5nIG1vZGUsIGxvbmcgZ2FwLCBvcHRpb25hbCBsb25nIHBhZ2VMZW5ndGggPSAwKTsKQEAgLTM3
MSw2ICszNzIsOCBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKIAogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5zaWduZWQgbG9uZyBsb25nIGxheWVySURGb3JFbGVtZW50KEVsZW1lbnQgZWxl
bWVudCk7CiAKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVN0cmluZyBzY3JvbGxiYXJPdmVy
bGF5U3R5bGUoKTsKKwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHNjcm9sbGlu
Z1N0YXRlVHJlZUFzVGV4dCgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NU3RyaW5nIG1h
aW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKCk7IC8vIEZJWE1FOiByZW5hbWUgdG8gc3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zKCkuCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01SZWN0TGlz
dCBub25GYXN0U2Nyb2xsYWJsZVJlY3RzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1
bmRsZVJhbmdlSGFuZGxlLmNwcAppbmRleCA0YmZkZDdmOWY0YzRjYzRkZmE2ZGVhYWJjMDFmNGE2
YzExMWVkYWNiLi5lOTlmMzU3MGQwZTMwYmFkZmUwMWRhY2ZkYjNmYWY0NTBlN2NhZTZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVj
dGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZS5jcHAKQEAgLTEyNSw4
ICsxMjUsNyBAQCBSZWZQdHI8V2ViSW1hZ2U+IEluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGU6OnJl
bmRlcmVkSW1hZ2UoU25hcHNob3RPcHRpb25zIG9wdGlvbgogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gZnJh
bWVWaWV3LT5yZW5kZXJWaWV3KCk7Ci0gICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBs
b2NhbEFwcGVhcmFuY2UocmVuZGVyVmlldyA/IHJlbmRlclZpZXctPnVzZURhcmtBcHBlYXJhbmNl
KCkgOiBmYWxzZSk7CisgICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVh
cmFuY2UoZnJhbWVWaWV3LT51c2VEYXJrQXBwZWFyYW5jZSgpKTsKICNlbmRpZgogCiAgICAgUmVm
PEZyYW1lPiBwcm90ZWN0b3IoKmZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmY1NGQ1ZGZkNGFkNTcyMWY5MzlkOTQ2OTY3MzFmNjYx
M2E4OGQ3MS4uM2IxZGI0NGJhM2U3YTdlOTE5NzM1ZDU5YWUxZjdjNDIyOGFjMDU2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1NTYsOCAr
MTU1Niw4IEBAIHZvaWQgV2ViUGFnZTo6c2Nyb2xsTWFpbkZyYW1lSWZOb3RBdE1heFNjcm9sbFBv
c2l0aW9uKGNvbnN0IEludFNpemUmIHNjcm9sbE9mZnNlCiB2b2lkIFdlYlBhZ2U6OmRyYXdSZWN0
KEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQog
ewogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gbV9wYWdl
LT5tYWluRnJhbWUoKS52aWV3KCktPnJlbmRlclZpZXcoKTsKLSAgICBMb2NhbERlZmF1bHRTeXN0
ZW1BcHBlYXJhbmNlIGxvY2FsQXBwZWFyYW5jZShyZW5kZXJWaWV3ID8gcmVuZGVyVmlldy0+dXNl
RGFya0FwcGVhcmFuY2UoKSA6IGZhbHNlKTsKKyAgICBGcmFtZVZpZXcqIG1haW5GcmFtZVZpZXcg
PSBtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKTsKKyAgICBMb2NhbERlZmF1bHRTeXN0ZW1BcHBl
YXJhbmNlIGxvY2FsQXBwZWFyYW5jZShtYWluRnJhbWVWaWV3ID8gbWFpbkZyYW1lVmlldy0+dXNl
RGFya0FwcGVhcmFuY2UoKSA6IGZhbHNlKTsKICNlbmRpZgogCiAgICAgR3JhcGhpY3NDb250ZXh0
U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODhlZmNjOWJl
OGZhNjI0ZWNiZmIyZDJlNGUxYTMzYWUxOGIyZmZmOC4uYTRiMjAyNDZiNzVmMTFmODU3NzA1NzA2
YzYxMWQ4YmVlMDQyOWEwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTExLTEzICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgYSBsaWdodCBz
Y3JvbGxiYXIgZm9yIHRyYW5zcGFyZW50IHdlYiB2aWV3cyBpbiBkYXJrIG1vZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE1NTkKKyAgICAgICAg
cmRhcjovL3Byb2JsZW0vNDYwMDA0ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGNzcy1kYXJrLW1vZGUvc3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMt
c2Nyb2xsYmFyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzLWRhcmstbW9kZS9z
dXBwb3J0ZWQtY29sb3Itc2NoZW1lcy1zY3JvbGxiYXIuaHRtbDogQWRkZWQuCisKIDIwMTgtMTEt
MTIgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFRyZWF0
IHN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIGFzIHRoZSBzZWNvbmQgaGlnaGVzdCBwcmlvcml0eSBw
cm9wZXJ0eS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nzcy1kYXJrLW1vZGUvc3VwcG9ydGVk
LWNvbG9yLXNjaGVtZXMtc2Nyb2xsYmFyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Nzcy1k
YXJrLW1vZGUvc3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMtc2Nyb2xsYmFyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNzRhMGRiZmE5OTA4NWMyZmJjYWIzZGIxYmNhMTg5MmFkNzU1N2MwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzLWRhcmstbW9kZS9zdXBwb3J0ZWQtY29sb3It
c2NoZW1lcy1zY3JvbGxiYXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBT
ZXQgZGFyayBhcHBlYXJhbmNlIAorUEFTUyBTZXQgdmlldyB0byB0cmFuc3BhcmVudCAKK1BBU1Mg
Qm9keSBFbGVtZW50IHN1cHBvcnRlZCBjb2xvciBzY2hlbWUgaXMgbGlnaHQgYW5kIGRhcmsgCitQ
QVNTIERvY3VtZW50IEVsZW1lbnQgc3VwcG9ydGVkIGNvbG9yIHNjaGVtZSBpcyBhdXRvIAorUEFT
UyBTY3JvbGxiYXIgb3ZlcmxheSBzdHlsZSBpcyBsaWdodCAKK1BBU1MgU2V0IHByZWZlcnMtY29s
b3Itc2NoZW1lczogbGlnaHQgb24gdGhlIGRvY3VtZW50IGVsZW1lbnQgCitQQVNTIEJvZHkgRWxl
bWVudCBzdXBwb3J0ZWQgY29sb3Igc2NoZW1lIGlzIGxpZ2h0IGFuZCBkYXJrIAorUEFTUyBEb2N1
bWVudCBFbGVtZW50IHN1cHBvcnRlZCBjb2xvciBzY2hlbWUgaXMgbGlnaHQgCitQQVNTIFNjcm9s
bGJhciBvdmVybGF5IHN0eWxlIGlzIGRlZmF1bHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Nzcy1kYXJrLW1vZGUvc3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMtc2Nyb2xsYmFyLmh0bWwgYi9M
YXlvdXRUZXN0cy9jc3MtZGFyay1tb2RlL3N1cHBvcnRlZC1jb2xvci1zY2hlbWVzLXNjcm9sbGJh
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI3ZDAzN2I0NGM3YjI4OWMxZDI2YjZkNzFkN2ViODQ0ODBhOTVk
MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MtZGFyay1tb2RlL3N1cHBvcnRl
ZC1jb2xvci1zY2hlbWVzLXNjcm9sbGJhci5odG1sCkBAIC0wLDAgKzEsNjYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorCis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpEYXJrTW9k
ZUNTU0VuYWJsZWQ9dHJ1ZSBdIC0tPgorCis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c3R5bGU+Citib2R5IHsKKyAgICBzdXBwb3J0ZWQt
Y29sb3Itc2NoZW1lczogbGlnaHQgZGFyazsKK30KKzwvc3R5bGU+CisKKzxib2R5PjwvYm9keT4K
KworPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RfcHJvcChlbGVtZW50LCBwcm9wLCBleHBlY3RlZCkg
eworICAgIGFzc2VydF9lcXVhbHMod2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0
UHJvcGVydHlWYWx1ZShwcm9wKSwgZXhwZWN0ZWQpOworfQorCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJuOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRVc2VEYXJrQXBwZWFyYW5jZSh0cnVlKTsKK30sICJTZXQgZGFyayBhcHBl
YXJhbmNlIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICByZXR1cm47CisgICAgaW50ZXJuYWxzLnNldFZpZXdJc1RyYW5zcGFyZW50KHRy
dWUpOworfSwgIlNldCB2aWV3IHRvIHRyYW5zcGFyZW50Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgICAgdGVzdF9wcm9wKGRvY3VtZW50LmJvZHksICJzdXBwb3J0ZWQtY29sb3Itc2NoZW1lcyIs
ICJsaWdodCBkYXJrIik7Cit9LCAiQm9keSBFbGVtZW50IHN1cHBvcnRlZCBjb2xvciBzY2hlbWUg
aXMgbGlnaHQgYW5kIGRhcmsiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgICB0ZXN0X3Byb3Ao
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAic3VwcG9ydGVkLWNvbG9yLXNjaGVtZXMiLCAiYXV0
byIpOworfSwgIkRvY3VtZW50IEVsZW1lbnQgc3VwcG9ydGVkIGNvbG9yIHNjaGVtZSBpcyBhdXRv
Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICByZXR1cm47CisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuc2Nyb2xsYmFyT3Zlcmxh
eVN0eWxlKCksICJsaWdodCIpOworfSwgIlNjcm9sbGJhciBvdmVybGF5IHN0eWxlIGlzIGxpZ2h0
Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgbGV0IHN0eWxlRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CisgICAgc3R5bGVFbGVtZW50LnRleHRDb250ZW50ID0g
Ijpyb290IHsgc3VwcG9ydGVkLWNvbG9yLXNjaGVtZXM6IGxpZ2h0IH0iOworICAgIGRvY3VtZW50
LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KTsKK30sICJTZXQgcHJlZmVycy1jb2xvci1z
Y2hlbWVzOiBsaWdodCBvbiB0aGUgZG9jdW1lbnQgZWxlbWVudCIpOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICAgIHRlc3RfcHJvcChkb2N1bWVudC5ib2R5LCAic3VwcG9ydGVkLWNvbG9yLXNjaGVt
ZXMiLCAibGlnaHQgZGFyayIpOworfSwgIkJvZHkgRWxlbWVudCBzdXBwb3J0ZWQgY29sb3Igc2No
ZW1lIGlzIGxpZ2h0IGFuZCBkYXJrIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdGVzdF9w
cm9wKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgInN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIiwg
ImxpZ2h0Iik7Cit9LCAiRG9jdW1lbnQgRWxlbWVudCBzdXBwb3J0ZWQgY29sb3Igc2NoZW1lIGlz
IGxpZ2h0Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICByZXR1cm47CisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuc2Nyb2xsYmFy
T3ZlcmxheVN0eWxlKCksICJkZWZhdWx0Iik7Cit9LCAiU2Nyb2xsYmFyIG92ZXJsYXkgc3R5bGUg
aXMgZGVmYXVsdCIpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>