<?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>214023</bug_id>
          
          <creation_ts>2020-07-06 17:21:03 -0700</creation_ts>
          <short_desc>&lt;attachment&gt; layout does not scale with Dynamic Type size changes</short_desc>
          <delta_ts>2020-07-07 10:38:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>sam</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1669267</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 17:21:03 -0700</bug_when>
    <thetext>&lt;attachment&gt; layout needs to scale with Dynamic Type size changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669269</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 17:23:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/64914762&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669270</commentid>
    <comment_count>2</comment_count>
      <attachid>403645</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 17:23:30 -0700</bug_when>
    <thetext>Created attachment 403645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669271</commentid>
    <comment_count>3</comment_count>
      <attachid>403646</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 17:24:08 -0700</bug_when>
    <thetext>Created attachment 403646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669272</commentid>
    <comment_count>4</comment_count>
      <attachid>403647</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 17:24:54 -0700</bug_when>
    <thetext>Created attachment 403647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669283</commentid>
    <comment_count>5</comment_count>
      <attachid>403647</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-06 17:57:40 -0700</bug_when>
    <thetext>Comment on attachment 403647
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        No new tests; we don&apos;t currently have a mechanism for varying Dynamic Type size in tests.

Seems like the right time to add one!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669286</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 18:10:42 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #5)
&gt; Comment on attachment 403647 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=403647&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        No new tests; we don&apos;t currently have a mechanism for varying Dynamic Type size in tests.
&gt; 
&gt; Seems like the right time to add one!

Only in the &quot;best time to plant a tree&quot; sense. When someone was implementing DT-related font-y features would be the &quot;right time&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669292</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-06 18:41:03 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #6)
&gt; (In reply to Sam Weinig from comment #5)
&gt; &gt; Comment on attachment 403647 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=403647&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt; +        No new tests; we don&apos;t currently have a mechanism for varying Dynamic Type size in tests.
&gt; &gt; 
&gt; &gt; Seems like the right time to add one!
&gt; 
&gt; Only in the &quot;best time to plant a tree&quot; sense. When someone was implementing
&gt; DT-related font-y features would be the &quot;right time&quot;.

No time like the present!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669307</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 20:07:38 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #7)
&gt; (In reply to Tim Horton from comment #6)
&gt; &gt; (In reply to Sam Weinig from comment #5)
&gt; &gt; &gt; Comment on attachment 403647 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=403647&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt; &gt; +        No new tests; we don&apos;t currently have a mechanism for varying Dynamic Type size in tests.
&gt; &gt; &gt; 
&gt; &gt; &gt; Seems like the right time to add one!
&gt; &gt; 
&gt; &gt; Only in the &quot;best time to plant a tree&quot; sense. When someone was implementing
&gt; &gt; DT-related font-y features would be the &quot;right time&quot;.
&gt; 
&gt; No time like the present!

I have no doubt I will come to regret it as much as I always do when I add one-off bits for things like this, but I will see what I can do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669333</commentid>
    <comment_count>9</comment_count>
      <attachid>403667</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-06 22:05:28 -0700</bug_when>
    <thetext>Created attachment 403667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669356</commentid>
    <comment_count>10</comment_count>
      <attachid>403675</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-07 01:23:17 -0700</bug_when>
    <thetext>Created attachment 403675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669392</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-07 07:40:29 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #8)
&gt; (In reply to Sam Weinig from comment #7)
&gt; &gt; (In reply to Tim Horton from comment #6)
&gt; &gt; &gt; (In reply to Sam Weinig from comment #5)
&gt; &gt; &gt; &gt; Comment on attachment 403647 [details]
&gt; &gt; &gt; &gt; Patch
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; View in context:
&gt; &gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=403647&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt; &gt; &gt; +        No new tests; we don&apos;t currently have a mechanism for varying Dynamic Type size in tests.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Seems like the right time to add one!
&gt; &gt; &gt; 
&gt; &gt; &gt; Only in the &quot;best time to plant a tree&quot; sense. When someone was implementing
&gt; &gt; &gt; DT-related font-y features would be the &quot;right time&quot;.
&gt; &gt; 
&gt; &gt; No time like the present!
&gt; 
&gt; I have no doubt I will come to regret it as much as I always do when I add
&gt; one-off bits for things like this, but I will see what I can do.

Awww. Another approach you could take, if you don&apos;t want to mess with WebCore::Internals is to add support in WebKitTestRunner (or just do it in TestWebKitAPI) that overrides [WKWebView _contentSizeCategory] and sends the UIContentSizeCategoryDidChangeNotification notification. It might make sense to override [WKWebView _contentSizeCategory] regardless so we have consistent testing on devices that might have had some changes (though I think your call in Internals::resetToConsistentState() should cover most cases).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669460</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-07 10:25:55 -0700</bug_when>
    <thetext>That&apos;s what I assumed I was going to have to do when I was whining. The Internals thing is way less annoying (no bounce to the UI process, no asynchrony in the test, etc.).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1669463</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-07 10:38:31 -0700</bug_when>
    <thetext>Committed r264027: &lt;https://trac.webkit.org/changeset/264027&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403675.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403645</attachid>
            <date>2020-07-06 17:23:30 -0700</date>
            <delta_ts>2020-07-06 17:24:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214023-20200706172330.patch</filename>
            <type>text/plain</type>
            <size>8557</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhMmJmZWRiYzQ3NmQy
MjVlZmE5N2Q3NjA2YzgxYWQ0NzcwMzQ0Yy4uZTM0ZWJhNzYwZjJmNmMyZjYwYmM2ZDM3NDQ2MTk2
YmIwNGVlMzIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA3LTA2ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIDxhdHRhY2htZW50
PiBsYXlvdXQgbmVlZHMgdG8gc2NhbGUgd2l0aCBEeW5hbWljIFR5cGUgc2l6ZSBjaGFuZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0OTE0NzYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgd2UgZG9uJ3QgY3VycmVudGx5
IGhhdmUgYSBtZWNoYW5pc20gZm9yIHZhcnlpbmcgRHluYW1pYyBUeXBlIHNpemUgaW4gdGVzdHMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJBdHRhY2htZW50OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmF0dGFjaG1lbnRT
aG91bGROb3RBbGxvd1dpZHRoVG9TaHJpbmsgY29uc3QpOgorICAgICAgICBBZGQgYSBSZW5kZXJU
aGVtZSBiaXQgY29udHJvbGxpbmcgdGhlIGJlaGF2aW9yIGludHJvZHVjZWQgaW4gcjIwMjExNy4K
KyAgICAgICAgQWZ0ZXIgcjIwMjExNywgPGF0dGFjaG1lbnQ+IGVsZW1lbnRzIGFyZSBuZXZlciBh
bGxvd2VkIHRvIHNocmluay4gVGhpcyAKKyAgICAgICAgaXMgZmluZSBmb3IgbWFjT1MsIHdoZXJl
IHdlIGRvbid0IHZhcnkgdGhlIER5bmFtaWMgVHlwZSBzaXplLCBvbmx5IHRoZSBjb250ZW50LAor
ICAgICAgICBidXQgdW5kZXNpcmFibGUgb24gaU9TLCB3aGVyZSB0aGUgc2l6ZSBvZiB0aGUgPGF0
dGFjaG1lbnQ+IGlzIGJhc2VkIHNvbGVseQorICAgICAgICBvbiBEeW5hbWljIFR5cGUgc2l6ZSAo
YW5kIHRodXMgY2FuIHNocmluayB3aGVuIHRoZSBzaXplIGlzIHJlZHVjZWQpLAorICAgICAgICBh
bmQgbm90IHRoZSBjb250ZW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvcnRDYXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkpOgorICAg
ICAgICAoV2ViQ29yZTo6YXR0YWNobWVudER5bmFtaWNUeXBlU2NhbGVGYWN0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQXR0YWNobWVudEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphdHRhY2htZW50SW50cmluc2ljU2l6ZSBj
b25zdCk6CisgICAgICAgIFNjYWxlIHRoZSA8YXR0YWNobWVudD4gb3ZlcmFsbCBzaXplIGFuZCB0
ZXh0IGxpbmUgd2lkdGggYnkgdGhlIER5bmFtaWMgVHlwZQorICAgICAgICBzY2FsaW5nIGZhY3Rv
ciwgZGV0ZXJtaW5lZCBieSBkaXZpZGluZyB0aGUgcmVzb2x2ZWQgcG9pbnQgc2l6ZSBvZiB0d28K
KyAgICAgICAgZm9udCBkZXNjcmlwdG9ycyBjcmVhdGVkIHdpdGggdGhlIExhcmdlIChkZWZhdWx0
KSBjYXRlZ29yeSBhbmQgdGhlIEN1cnJlbnQgY2F0ZWdvcnkuCisKIDIwMjAtMDctMDYgIENsYXJr
IFdhbmcgIDxjbGFya193YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRlZCBQYW5uZXJOb2Rl
IGNvbnN0cnVjdG9yIGFjY29yZGluZyB0byBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQXR0YWNobWVudC5jcHAKaW5kZXggNzQ2N2ZmMzg2NTY4MmI4YmU2M2JiNjdkZWJk
NzE5YTRjOGI3ZTNjYS4uYzkyZmVhODM2YjdlN2M4NDdlNTIzYTRhNTkxMmVjOTg1Mzk5NWU0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcApAQCAt
NTUsOCArNTUsMTIgQEAgSFRNTEF0dGFjaG1lbnRFbGVtZW50JiBSZW5kZXJBdHRhY2htZW50Ojph
dHRhY2htZW50RWxlbWVudCgpIGNvbnN0CiB2b2lkIFJlbmRlckF0dGFjaG1lbnQ6OmxheW91dCgp
CiB7CiAgICAgTGF5b3V0U2l6ZSBuZXdJbnRyaW5zaWNTaXplID0gdGhlbWUoKS5hdHRhY2htZW50
SW50cmluc2ljU2l6ZSgqdGhpcyk7Ci0gICAgbV9taW5pbXVtSW50cmluc2ljV2lkdGggPSBzdGQ6
Om1heChtX21pbmltdW1JbnRyaW5zaWNXaWR0aCwgbmV3SW50cmluc2ljU2l6ZS53aWR0aCgpKTsK
LSAgICBuZXdJbnRyaW5zaWNTaXplLnNldFdpZHRoKG1fbWluaW11bUludHJpbnNpY1dpZHRoKTsK
KworICAgIGlmICghdGhlbWUoKS5hdHRhY2htZW50U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKCp0
aGlzKSkgeworICAgICAgICBtX21pbmltdW1JbnRyaW5zaWNXaWR0aCA9IHN0ZDo6bWF4KG1fbWlu
aW11bUludHJpbnNpY1dpZHRoLCBuZXdJbnRyaW5zaWNTaXplLndpZHRoKCkpOworICAgICAgICBu
ZXdJbnRyaW5zaWNTaXplLnNldFdpZHRoKG1fbWluaW11bUludHJpbnNpY1dpZHRoKTsKKyAgICB9
CisKICAgICBzZXRJbnRyaW5zaWNTaXplKG5ld0ludHJpbnNpY1NpemUpOwogCiAgICAgUmVuZGVy
UmVwbGFjZWQ6OmxheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApp
bmRleCBiMmRiNmI3ZTIwOWZkNmNmZTdhMTllZDAzMTIyYTFlZTkzN2NiZGQ0Li44YWNjZTc3NGM1
ZmNhMWZmYWRiYjYzNzA5NGY1ZjU0NmRkOTJiMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaApAQCAtMjYyLDYgKzI2Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVRU
QUNITUVOVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50cmlu
c2ljU2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6
ZSgpOyB9CiAgICAgdmlydHVhbCBpbnQgYXR0YWNobWVudEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0
dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiAtMTsgfQorICAgIHZpcnR1YWwgYm9vbCBhdHRhY2ht
ZW50U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICAgICBlbnVtIGNsYXNzIElubmVyU3BpbkJ1
dHRvbkxheW91dCB7IFZlcnRpY2FsLCBIb3Jpem9udGFsVXBMZWZ0LCBIb3Jpem9udGFsVXBSaWdo
dCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBlZjVl
ZDViMjA4Y2JhOWQwMTZkMjhhOTQzZmQ3YmQxNjVkZjQ3ZGVkLi43MmNlMjNlZTk2YTdmYTYzZjNk
YWNlNDg0ODcxYzZjNTQ4M2MwMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkKICAgICBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNv
bnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgYXR0YWNobWVu
dEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZTsKKyAgICBi
b29sIGF0dGFjaG1lbnRTaG91bGRBbGxvd1dpZHRoVG9TaHJpbmsoY29uc3QgUmVuZGVyQXR0YWNo
bWVudCYpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHBhaW50QXR0
YWNobWVudChjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRS
ZWN0Jikgb3ZlcnJpZGU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLm1tCmluZGV4IGVkNGE1MDA3OGUyYzEwY2VjYzgxZDYyMzEzZDllZWU3NjA3ZDVh
NGYuLjhhOTc4NjNkOGYxNTEyMWE3NzdkNDM2NTE1MTQ3OTNmMmRhMzQ5YWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTczLDEyICs3MywxMyBAQAog
I2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8Q29yZUltYWdl
L0NvcmVJbWFnZS5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvaW9z
L1VJS2l0U29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvaW9zL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgogI2ltcG9ydCA8d3Rm
L1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2ltcG9ydCA8cGFsL2lv
cy9VSUtpdFNvZnRMaW5rLmg+CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxl
IDogTlNPYmplY3QKIEBlbmQKQEAgLTE0MTcsNiArMTQxOCwyMiBAQCBzdGF0aWMgUmV0YWluUHRy
PENURm9udFJlZj4gYXR0YWNobWVudFRpdGxlRm9udCgpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RG
b250Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCAwLCBudWxs
cHRyKSk7CiB9CiAKK3N0YXRpYyBDR0Zsb2F0IHNob3J0Q2FwdGlvblBvaW50U2l6ZVdpdGhDb250
ZW50U2l6ZUNhdGVnb3J5KENGU3RyaW5nUmVmIGNvbnRlbnRTaXplQ2F0ZWdvcnkpCit7CisgICAg
YXV0byBkZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRT
dHlsZShrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydENhcHRpb24xLCBjb250ZW50U2l6ZUNhdGVnb3J5
LCAwKSk7CisgICAgYXV0byBwb2ludFNpemUgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDb3B5
QXR0cmlidXRlKGRlc2NyaXB0b3IuZ2V0KCksIGtDVEZvbnRTaXplQXR0cmlidXRlKSk7CisgICAg
cmV0dXJuIFtkeW5hbWljX29iamNfY2FzdDxOU051bWJlcj4oKF9fYnJpZGdlIGlkKXBvaW50U2l6
ZS5nZXQoKSkgZmxvYXRWYWx1ZV07Cit9CisKK3N0YXRpYyBDR0Zsb2F0IGF0dGFjaG1lbnREeW5h
bWljVHlwZVNjYWxlRmFjdG9yKCkKK3sKKyAgICBDR0Zsb2F0IGZpeGVkUG9pbnRTaXplID0gc2hv
cnRDYXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkoa0NURm9udENvbnRlbnRT
aXplQ2F0ZWdvcnlMKTsKKyAgICBDR0Zsb2F0IGR5bmFtaWNQb2ludFNpemUgPSBzaG9ydENhcHRp
b25Qb2ludFNpemVXaXRoQ29udGVudFNpemVDYXRlZ29yeShSZW5kZXJUaGVtZUlPUzo6c2luZ2xl
dG9uKCkuY29udGVudFNpemVDYXRlZ29yeSgpKTsKKyAgICBpZiAoIWR5bmFtaWNQb2ludFNpemUg
fHwgIWZpeGVkUG9pbnRTaXplKQorICAgICAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gc3RkOjpt
YXg8Q0dGbG9hdD4oMSwgZHluYW1pY1BvaW50U2l6ZSAvIGZpeGVkUG9pbnRTaXplKTsKK30KKwog
c3RhdGljIFVJQ29sb3IgKmF0dGFjaG1lbnRUaXRsZUNvbG9yKCkgeyByZXR1cm4gW1BBTDo6Z2V0
VUlDb2xvckNsYXNzKCkgc3lzdGVtR3JheUNvbG9yXTsgfQogCiBzdGF0aWMgUmV0YWluUHRyPENU
Rm9udFJlZj4gYXR0YWNobWVudFN1YnRpdGxlRm9udCgpIHsgcmV0dXJuIGF0dGFjaG1lbnRUaXRs
ZUZvbnQoKTsgfQpAQCAtMTQ4MCw3ICsxNDk3LDggQEAgdm9pZCBSZW5kZXJBdHRhY2htZW50SW5m
bzo6YnVpbGRXcmFwcGVkTGluZXMoY29uc3QgU3RyaW5nJiB0ZXh0LCBDVEZvbnRSZWYgZm9udCwK
ICAgICBSZXRhaW5QdHI8Q1RGcmFtZXNldHRlclJlZj4gZnJhbWVzZXR0ZXIgPSBhZG9wdENGKENU
RnJhbWVzZXR0ZXJDcmVhdGVXaXRoQXR0cmlidXRlZFN0cmluZygoQ0ZBdHRyaWJ1dGVkU3RyaW5n
UmVmKWF0dHJpYnV0ZWRUZXh0LmdldCgpKSk7CiAKICAgICBDRlJhbmdlIGZpdFJhbmdlOwotICAg
IENHU2l6ZSB0ZXh0U2l6ZSA9IENURnJhbWVzZXR0ZXJTdWdnZXN0RnJhbWVTaXplV2l0aENvbnN0
cmFpbnRzKGZyYW1lc2V0dGVyLmdldCgpLCBDRlJhbmdlTWFrZSgwLCAwKSwgbnVsbHB0ciwgQ0dT
aXplTWFrZShhdHRhY2htZW50V3JhcHBpbmdUZXh0TWF4aW11bVdpZHRoLCBDR0ZMT0FUX01BWCks
ICZmaXRSYW5nZSk7CisgICAgQ0dGbG9hdCB3cmFwcGluZ1dpZHRoID0gYXR0YWNobWVudFdyYXBw
aW5nVGV4dE1heGltdW1XaWR0aCAqIGF0dGFjaG1lbnREeW5hbWljVHlwZVNjYWxlRmFjdG9yKCk7
CisgICAgQ0dTaXplIHRleHRTaXplID0gQ1RGcmFtZXNldHRlclN1Z2dlc3RGcmFtZVNpemVXaXRo
Q29uc3RyYWludHMoZnJhbWVzZXR0ZXIuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIDApLCBudWxscHRy
LCBDR1NpemVNYWtlKHdyYXBwaW5nV2lkdGgsIENHRkxPQVRfTUFYKSwgJmZpdFJhbmdlKTsKIAog
ICAgIFJldGFpblB0cjxDR1BhdGhSZWY+IHRleHRQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVX
aXRoUmVjdChDR1JlY3RNYWtlKDAsIDAsIHRleHRTaXplLndpZHRoLCB0ZXh0U2l6ZS5oZWlnaHQp
LCBudWxscHRyKSk7CiAgICAgUmV0YWluUHRyPENURnJhbWVSZWY+IHRleHRGcmFtZSA9IGFkb3B0
Q0YoQ1RGcmFtZXNldHRlckNyZWF0ZUZyYW1lKGZyYW1lc2V0dGVyLmdldCgpLCBmaXRSYW5nZSwg
dGV4dFBhdGguZ2V0KCksIG51bGxwdHIpKTsKQEAgLTE1MDksNyArMTUyNyw3IEBAIHZvaWQgUmVu
ZGVyQXR0YWNobWVudEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKGNvbnN0IFN0cmluZyYgdGV4dCwg
Q1RGb250UmVmIGZvbnQsCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gZWxsaXBz
aXNTdHJpbmcgPSBhZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0
cmluZzpAIlx1MjAyNiIgYXR0cmlidXRlczp0ZXh0QXR0cmlidXRlc10pOwogICAgIFJldGFpblB0
cjxDVExpbmVSZWY+IGVsbGlwc2lzTGluZSA9IGFkb3B0Q0YoQ1RMaW5lQ3JlYXRlV2l0aEF0dHJp
YnV0ZWRTdHJpbmcoKENGQXR0cmlidXRlZFN0cmluZ1JlZillbGxpcHNpc1N0cmluZy5nZXQoKSkp
OwogICAgIENUTGluZVJlZiByZW1haW5pbmdMaW5lID0gKENUTGluZVJlZilDRkFycmF5R2V0VmFs
dWVBdEluZGV4KENURnJhbWVHZXRMaW5lcyhyZW1haW5pbmdGcmFtZS5nZXQoKSksIDApOwotICAg
IFJldGFpblB0cjxDVExpbmVSZWY+IHRydW5jYXRlZExpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0
ZVRydW5jYXRlZExpbmUocmVtYWluaW5nTGluZSwgYXR0YWNobWVudFdyYXBwaW5nVGV4dE1heGlt
dW1XaWR0aCwga0NUTGluZVRydW5jYXRpb25NaWRkbGUsIGVsbGlwc2lzTGluZS5nZXQoKSkpOwor
ICAgIFJldGFpblB0cjxDVExpbmVSZWY+IHRydW5jYXRlZExpbmUgPSBhZG9wdENGKENUTGluZUNy
ZWF0ZVRydW5jYXRlZExpbmUocmVtYWluaW5nTGluZSwgd3JhcHBpbmdXaWR0aCwga0NUTGluZVRy
dW5jYXRpb25NaWRkbGUsIGVsbGlwc2lzTGluZS5nZXQoKSkpOwogCiAgICAgaWYgKCF0cnVuY2F0
ZWRMaW5lKQogICAgICAgICB0cnVuY2F0ZWRMaW5lID0gcmVtYWluaW5nTGluZTsKQEAgLTE2NDYs
NyArMTY2NCw3IEBAIFJlbmRlckF0dGFjaG1lbnRJbmZvOjpSZW5kZXJBdHRhY2htZW50SW5mbyhj
b25zdCBSZW5kZXJBdHRhY2htZW50JiBhdHRhY2htZW50KQogCiBMYXlvdXRTaXplIFJlbmRlclRo
ZW1lSU9TOjphdHRhY2htZW50SW50cmluc2ljU2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50Jikg
Y29uc3QKIHsKLSAgICByZXR1cm4gTGF5b3V0U2l6ZShGbG9hdFNpemUoYXR0YWNobWVudFNpemUp
KTsKKyAgICByZXR1cm4gTGF5b3V0U2l6ZShGbG9hdFNpemUoYXR0YWNobWVudFNpemUpICogYXR0
YWNobWVudER5bmFtaWNUeXBlU2NhbGVGYWN0b3IoKSk7CiB9CiAKIGludCBSZW5kZXJUaGVtZUlP
Uzo6YXR0YWNobWVudEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmIGF0dGFjaG1lbnQp
IGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403646</attachid>
            <date>2020-07-06 17:24:08 -0700</date>
            <delta_ts>2020-07-06 17:24:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214023-20200706172408.patch</filename>
            <type>text/plain</type>
            <size>8554</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhMmJmZWRiYzQ3NmQy
MjVlZmE5N2Q3NjA2YzgxYWQ0NzcwMzQ0Yy4uNTMyOTAwNzgyZTc0NDhkYThlNGQzODJlNGQ2ZDA4
NmMzZmUxYjIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA3LTA2ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIDxhdHRhY2htZW50
PiBsYXlvdXQgbmVlZHMgdG8gc2NhbGUgd2l0aCBEeW5hbWljIFR5cGUgc2l6ZSBjaGFuZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0OTE0NzYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgd2UgZG9uJ3QgY3VycmVudGx5
IGhhdmUgYSBtZWNoYW5pc20gZm9yIHZhcnlpbmcgRHluYW1pYyBUeXBlIHNpemUgaW4gdGVzdHMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJBdHRhY2htZW50OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmF0dGFjaG1lbnRT
aG91bGRBbGxvd1dpZHRoVG9TaHJpbmsgY29uc3QpOgorICAgICAgICBBZGQgYSBSZW5kZXJUaGVt
ZSBiaXQgY29udHJvbGxpbmcgdGhlIGJlaGF2aW9yIGludHJvZHVjZWQgaW4gcjIwMjExNy4KKyAg
ICAgICAgQWZ0ZXIgcjIwMjExNywgPGF0dGFjaG1lbnQ+IGVsZW1lbnRzIGFyZSBuZXZlciBhbGxv
d2VkIHRvIHNocmluay4gVGhpcyAKKyAgICAgICAgaXMgZmluZSBmb3IgbWFjT1MsIHdoZXJlIHdl
IGRvbid0IHZhcnkgdGhlIER5bmFtaWMgVHlwZSBzaXplLCBvbmx5IHRoZSBjb250ZW50LAorICAg
ICAgICBidXQgdW5kZXNpcmFibGUgb24gaU9TLCB3aGVyZSB0aGUgc2l6ZSBvZiB0aGUgPGF0dGFj
aG1lbnQ+IGlzIGJhc2VkIHNvbGVseQorICAgICAgICBvbiBEeW5hbWljIFR5cGUgc2l6ZSAoYW5k
IHRodXMgY2FuIHNocmluayB3aGVuIHRoZSBzaXplIGlzIHJlZHVjZWQpLAorICAgICAgICBhbmQg
bm90IHRoZSBjb250ZW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6c2hvcnRDYXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6YXR0YWNobWVudER5bmFtaWNUeXBlU2NhbGVGYWN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQXR0YWNobWVudEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphdHRhY2htZW50SW50cmluc2ljU2l6ZSBjb25z
dCk6CisgICAgICAgIFNjYWxlIHRoZSA8YXR0YWNobWVudD4gb3ZlcmFsbCBzaXplIGFuZCB0ZXh0
IGxpbmUgd2lkdGggYnkgdGhlIER5bmFtaWMgVHlwZQorICAgICAgICBzY2FsaW5nIGZhY3Rvciwg
ZGV0ZXJtaW5lZCBieSBkaXZpZGluZyB0aGUgcmVzb2x2ZWQgcG9pbnQgc2l6ZSBvZiB0d28KKyAg
ICAgICAgZm9udCBkZXNjcmlwdG9ycyBjcmVhdGVkIHdpdGggdGhlIExhcmdlIChkZWZhdWx0KSBj
YXRlZ29yeSBhbmQgdGhlIEN1cnJlbnQgY2F0ZWdvcnkuCisKIDIwMjAtMDctMDYgIENsYXJrIFdh
bmcgIDxjbGFya193YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRlZCBQYW5uZXJOb2RlIGNv
bnN0cnVjdG9yIGFjY29yZGluZyB0byBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQXR0YWNobWVudC5jcHAKaW5kZXggNzQ2N2ZmMzg2NTY4MmI4YmU2M2JiNjdkZWJkNzE5
YTRjOGI3ZTNjYS4uYzkyZmVhODM2YjdlN2M4NDdlNTIzYTRhNTkxMmVjOTg1Mzk5NWU0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcApAQCAtNTUs
OCArNTUsMTIgQEAgSFRNTEF0dGFjaG1lbnRFbGVtZW50JiBSZW5kZXJBdHRhY2htZW50OjphdHRh
Y2htZW50RWxlbWVudCgpIGNvbnN0CiB2b2lkIFJlbmRlckF0dGFjaG1lbnQ6OmxheW91dCgpCiB7
CiAgICAgTGF5b3V0U2l6ZSBuZXdJbnRyaW5zaWNTaXplID0gdGhlbWUoKS5hdHRhY2htZW50SW50
cmluc2ljU2l6ZSgqdGhpcyk7Ci0gICAgbV9taW5pbXVtSW50cmluc2ljV2lkdGggPSBzdGQ6Om1h
eChtX21pbmltdW1JbnRyaW5zaWNXaWR0aCwgbmV3SW50cmluc2ljU2l6ZS53aWR0aCgpKTsKLSAg
ICBuZXdJbnRyaW5zaWNTaXplLnNldFdpZHRoKG1fbWluaW11bUludHJpbnNpY1dpZHRoKTsKKwor
ICAgIGlmICghdGhlbWUoKS5hdHRhY2htZW50U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKCp0aGlz
KSkgeworICAgICAgICBtX21pbmltdW1JbnRyaW5zaWNXaWR0aCA9IHN0ZDo6bWF4KG1fbWluaW11
bUludHJpbnNpY1dpZHRoLCBuZXdJbnRyaW5zaWNTaXplLndpZHRoKCkpOworICAgICAgICBuZXdJ
bnRyaW5zaWNTaXplLnNldFdpZHRoKG1fbWluaW11bUludHJpbnNpY1dpZHRoKTsKKyAgICB9CisK
ICAgICBzZXRJbnRyaW5zaWNTaXplKG5ld0ludHJpbnNpY1NpemUpOwogCiAgICAgUmVuZGVyUmVw
bGFjZWQ6OmxheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRl
eCBiMmRiNmI3ZTIwOWZkNmNmZTdhMTllZDAzMTIyYTFlZTkzN2NiZGQ0Li44YWNjZTc3NGM1ZmNh
MWZmYWRiYjYzNzA5NGY1ZjU0NmRkOTJiMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaApAQCAtMjYyLDYgKzI2Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVRUQUNI
TUVOVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50cmluc2lj
U2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6ZSgp
OyB9CiAgICAgdmlydHVhbCBpbnQgYXR0YWNobWVudEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0dGFj
aG1lbnQmKSBjb25zdCB7IHJldHVybiAtMTsgfQorICAgIHZpcnR1YWwgYm9vbCBhdHRhY2htZW50
U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICAgICBlbnVtIGNsYXNzIElubmVyU3BpbkJ1dHRv
bkxheW91dCB7IFZlcnRpY2FsLCBIb3Jpem9udGFsVXBMZWZ0LCBIb3Jpem9udGFsVXBSaWdodCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBlZjVlZDVi
MjA4Y2JhOWQwMTZkMjhhOTQzZmQ3YmQxNjVkZjQ3ZGVkLi43MmNlMjNlZTk2YTdmYTYzZjNkYWNl
NDg0ODcxYzZjNTQ4M2MwMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVJT1MuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKICAgICBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNvbnN0
IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgYXR0YWNobWVudEJh
c2VsaW5lKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29s
IGF0dGFjaG1lbnRTaG91bGRBbGxvd1dpZHRoVG9TaHJpbmsoY29uc3QgUmVuZGVyQXR0YWNobWVu
dCYpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHBhaW50QXR0YWNo
bWVudChjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jikgb3ZlcnJpZGU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLm1tCmluZGV4IGVkNGE1MDA3OGUyYzEwY2VjYzgxZDYyMzEzZDllZWU3NjA3ZDVhNGYu
LjhhOTc4NjNkOGYxNTEyMWE3NzdkNDM2NTE1MTQ3OTNmMmRhMzQ5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTczLDEyICs3MywxMyBAQAogI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8Q29yZUltYWdlL0Nv
cmVJbWFnZS5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvaW9zL1VJ
S2l0U29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4KICNp
bXBvcnQgPHBhbC9zcGkvaW9zL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1Jl
ZlB0ci5oPgogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2ltcG9ydCA8cGFsL2lvcy9V
SUtpdFNvZnRMaW5rLmg+CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIDog
TlNPYmplY3QKIEBlbmQKQEAgLTE0MTcsNiArMTQxOCwyMiBAQCBzdGF0aWMgUmV0YWluUHRyPENU
Rm9udFJlZj4gYXR0YWNobWVudFRpdGxlRm9udCgpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250
Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCAwLCBudWxscHRy
KSk7CiB9CiAKK3N0YXRpYyBDR0Zsb2F0IHNob3J0Q2FwdGlvblBvaW50U2l6ZVdpdGhDb250ZW50
U2l6ZUNhdGVnb3J5KENGU3RyaW5nUmVmIGNvbnRlbnRTaXplQ2F0ZWdvcnkpCit7CisgICAgYXV0
byBkZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHls
ZShrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydENhcHRpb24xLCBjb250ZW50U2l6ZUNhdGVnb3J5LCAw
KSk7CisgICAgYXV0byBwb2ludFNpemUgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDb3B5QXR0
cmlidXRlKGRlc2NyaXB0b3IuZ2V0KCksIGtDVEZvbnRTaXplQXR0cmlidXRlKSk7CisgICAgcmV0
dXJuIFtkeW5hbWljX29iamNfY2FzdDxOU051bWJlcj4oKF9fYnJpZGdlIGlkKXBvaW50U2l6ZS5n
ZXQoKSkgZmxvYXRWYWx1ZV07Cit9CisKK3N0YXRpYyBDR0Zsb2F0IGF0dGFjaG1lbnREeW5hbWlj
VHlwZVNjYWxlRmFjdG9yKCkKK3sKKyAgICBDR0Zsb2F0IGZpeGVkUG9pbnRTaXplID0gc2hvcnRD
YXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkoa0NURm9udENvbnRlbnRTaXpl
Q2F0ZWdvcnlMKTsKKyAgICBDR0Zsb2F0IGR5bmFtaWNQb2ludFNpemUgPSBzaG9ydENhcHRpb25Q
b2ludFNpemVXaXRoQ29udGVudFNpemVDYXRlZ29yeShSZW5kZXJUaGVtZUlPUzo6c2luZ2xldG9u
KCkuY29udGVudFNpemVDYXRlZ29yeSgpKTsKKyAgICBpZiAoIWR5bmFtaWNQb2ludFNpemUgfHwg
IWZpeGVkUG9pbnRTaXplKQorICAgICAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gc3RkOjptYXg8
Q0dGbG9hdD4oMSwgZHluYW1pY1BvaW50U2l6ZSAvIGZpeGVkUG9pbnRTaXplKTsKK30KKwogc3Rh
dGljIFVJQ29sb3IgKmF0dGFjaG1lbnRUaXRsZUNvbG9yKCkgeyByZXR1cm4gW1BBTDo6Z2V0VUlD
b2xvckNsYXNzKCkgc3lzdGVtR3JheUNvbG9yXTsgfQogCiBzdGF0aWMgUmV0YWluUHRyPENURm9u
dFJlZj4gYXR0YWNobWVudFN1YnRpdGxlRm9udCgpIHsgcmV0dXJuIGF0dGFjaG1lbnRUaXRsZUZv
bnQoKTsgfQpAQCAtMTQ4MCw3ICsxNDk3LDggQEAgdm9pZCBSZW5kZXJBdHRhY2htZW50SW5mbzo6
YnVpbGRXcmFwcGVkTGluZXMoY29uc3QgU3RyaW5nJiB0ZXh0LCBDVEZvbnRSZWYgZm9udCwKICAg
ICBSZXRhaW5QdHI8Q1RGcmFtZXNldHRlclJlZj4gZnJhbWVzZXR0ZXIgPSBhZG9wdENGKENURnJh
bWVzZXR0ZXJDcmVhdGVXaXRoQXR0cmlidXRlZFN0cmluZygoQ0ZBdHRyaWJ1dGVkU3RyaW5nUmVm
KWF0dHJpYnV0ZWRUZXh0LmdldCgpKSk7CiAKICAgICBDRlJhbmdlIGZpdFJhbmdlOwotICAgIENH
U2l6ZSB0ZXh0U2l6ZSA9IENURnJhbWVzZXR0ZXJTdWdnZXN0RnJhbWVTaXplV2l0aENvbnN0cmFp
bnRzKGZyYW1lc2V0dGVyLmdldCgpLCBDRlJhbmdlTWFrZSgwLCAwKSwgbnVsbHB0ciwgQ0dTaXpl
TWFrZShhdHRhY2htZW50V3JhcHBpbmdUZXh0TWF4aW11bVdpZHRoLCBDR0ZMT0FUX01BWCksICZm
aXRSYW5nZSk7CisgICAgQ0dGbG9hdCB3cmFwcGluZ1dpZHRoID0gYXR0YWNobWVudFdyYXBwaW5n
VGV4dE1heGltdW1XaWR0aCAqIGF0dGFjaG1lbnREeW5hbWljVHlwZVNjYWxlRmFjdG9yKCk7Cisg
ICAgQ0dTaXplIHRleHRTaXplID0gQ1RGcmFtZXNldHRlclN1Z2dlc3RGcmFtZVNpemVXaXRoQ29u
c3RyYWludHMoZnJhbWVzZXR0ZXIuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIDApLCBudWxscHRyLCBD
R1NpemVNYWtlKHdyYXBwaW5nV2lkdGgsIENHRkxPQVRfTUFYKSwgJmZpdFJhbmdlKTsKIAogICAg
IFJldGFpblB0cjxDR1BhdGhSZWY+IHRleHRQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVXaXRo
UmVjdChDR1JlY3RNYWtlKDAsIDAsIHRleHRTaXplLndpZHRoLCB0ZXh0U2l6ZS5oZWlnaHQpLCBu
dWxscHRyKSk7CiAgICAgUmV0YWluUHRyPENURnJhbWVSZWY+IHRleHRGcmFtZSA9IGFkb3B0Q0Yo
Q1RGcmFtZXNldHRlckNyZWF0ZUZyYW1lKGZyYW1lc2V0dGVyLmdldCgpLCBmaXRSYW5nZSwgdGV4
dFBhdGguZ2V0KCksIG51bGxwdHIpKTsKQEAgLTE1MDksNyArMTUyNyw3IEBAIHZvaWQgUmVuZGVy
QXR0YWNobWVudEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKGNvbnN0IFN0cmluZyYgdGV4dCwgQ1RG
b250UmVmIGZvbnQsCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gZWxsaXBzaXNT
dHJpbmcgPSBhZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmlu
ZzpAIlx1MjAyNiIgYXR0cmlidXRlczp0ZXh0QXR0cmlidXRlc10pOwogICAgIFJldGFpblB0cjxD
VExpbmVSZWY+IGVsbGlwc2lzTGluZSA9IGFkb3B0Q0YoQ1RMaW5lQ3JlYXRlV2l0aEF0dHJpYnV0
ZWRTdHJpbmcoKENGQXR0cmlidXRlZFN0cmluZ1JlZillbGxpcHNpc1N0cmluZy5nZXQoKSkpOwog
ICAgIENUTGluZVJlZiByZW1haW5pbmdMaW5lID0gKENUTGluZVJlZilDRkFycmF5R2V0VmFsdWVB
dEluZGV4KENURnJhbWVHZXRMaW5lcyhyZW1haW5pbmdGcmFtZS5nZXQoKSksIDApOwotICAgIFJl
dGFpblB0cjxDVExpbmVSZWY+IHRydW5jYXRlZExpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0ZVRy
dW5jYXRlZExpbmUocmVtYWluaW5nTGluZSwgYXR0YWNobWVudFdyYXBwaW5nVGV4dE1heGltdW1X
aWR0aCwga0NUTGluZVRydW5jYXRpb25NaWRkbGUsIGVsbGlwc2lzTGluZS5nZXQoKSkpOworICAg
IFJldGFpblB0cjxDVExpbmVSZWY+IHRydW5jYXRlZExpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0
ZVRydW5jYXRlZExpbmUocmVtYWluaW5nTGluZSwgd3JhcHBpbmdXaWR0aCwga0NUTGluZVRydW5j
YXRpb25NaWRkbGUsIGVsbGlwc2lzTGluZS5nZXQoKSkpOwogCiAgICAgaWYgKCF0cnVuY2F0ZWRM
aW5lKQogICAgICAgICB0cnVuY2F0ZWRMaW5lID0gcmVtYWluaW5nTGluZTsKQEAgLTE2NDYsNyAr
MTY2NCw3IEBAIFJlbmRlckF0dGFjaG1lbnRJbmZvOjpSZW5kZXJBdHRhY2htZW50SW5mbyhjb25z
dCBSZW5kZXJBdHRhY2htZW50JiBhdHRhY2htZW50KQogCiBMYXlvdXRTaXplIFJlbmRlclRoZW1l
SU9TOjphdHRhY2htZW50SW50cmluc2ljU2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29u
c3QKIHsKLSAgICByZXR1cm4gTGF5b3V0U2l6ZShGbG9hdFNpemUoYXR0YWNobWVudFNpemUpKTsK
KyAgICByZXR1cm4gTGF5b3V0U2l6ZShGbG9hdFNpemUoYXR0YWNobWVudFNpemUpICogYXR0YWNo
bWVudER5bmFtaWNUeXBlU2NhbGVGYWN0b3IoKSk7CiB9CiAKIGludCBSZW5kZXJUaGVtZUlPUzo6
YXR0YWNobWVudEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmIGF0dGFjaG1lbnQpIGNv
bnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403647</attachid>
            <date>2020-07-06 17:24:54 -0700</date>
            <delta_ts>2020-07-06 22:05:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214023-20200706172454.patch</filename>
            <type>text/plain</type>
            <size>8554</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhMmJmZWRiYzQ3NmQy
MjVlZmE5N2Q3NjA2YzgxYWQ0NzcwMzQ0Yy4uYzdjY2E2NzU2NDE4MTU2MjlhM2JiZDU1NGI3OWZm
MzEzYmNiMzY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA3LTA2ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIDxhdHRhY2htZW50
PiBsYXlvdXQgZG9lcyBub3Qgc2NhbGUgd2l0aCBEeW5hbWljIFR5cGUgc2l6ZSBjaGFuZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0OTE0NzYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgd2UgZG9uJ3QgY3VycmVudGx5
IGhhdmUgYSBtZWNoYW5pc20gZm9yIHZhcnlpbmcgRHluYW1pYyBUeXBlIHNpemUgaW4gdGVzdHMu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJBdHRhY2htZW50OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmF0dGFjaG1lbnRT
aG91bGRBbGxvd1dpZHRoVG9TaHJpbmsgY29uc3QpOgorICAgICAgICBBZGQgYSBSZW5kZXJUaGVt
ZSBiaXQgY29udHJvbGxpbmcgdGhlIGJlaGF2aW9yIGludHJvZHVjZWQgaW4gcjIwMjExNy4KKyAg
ICAgICAgQWZ0ZXIgcjIwMjExNywgPGF0dGFjaG1lbnQ+IGVsZW1lbnRzIGFyZSBuZXZlciBhbGxv
d2VkIHRvIHNocmluay4gVGhpcyAKKyAgICAgICAgaXMgZmluZSBmb3IgbWFjT1MsIHdoZXJlIHdl
IGRvbid0IHZhcnkgdGhlIER5bmFtaWMgVHlwZSBzaXplLCBvbmx5IHRoZSBjb250ZW50LAorICAg
ICAgICBidXQgdW5kZXNpcmFibGUgb24gaU9TLCB3aGVyZSB0aGUgc2l6ZSBvZiB0aGUgPGF0dGFj
aG1lbnQ+IGlzIGJhc2VkIHNvbGVseQorICAgICAgICBvbiBEeW5hbWljIFR5cGUgc2l6ZSAoYW5k
IHRodXMgY2FuIHNocmluayB3aGVuIHRoZSBzaXplIGlzIHJlZHVjZWQpLAorICAgICAgICBhbmQg
bm90IHRoZSBjb250ZW50LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6c2hvcnRDYXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6YXR0YWNobWVudER5bmFtaWNUeXBlU2NhbGVGYWN0b3IpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQXR0YWNobWVudEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphdHRhY2htZW50SW50cmluc2ljU2l6ZSBjb25z
dCk6CisgICAgICAgIFNjYWxlIHRoZSA8YXR0YWNobWVudD4gb3ZlcmFsbCBzaXplIGFuZCB0ZXh0
IGxpbmUgd2lkdGggYnkgdGhlIER5bmFtaWMgVHlwZQorICAgICAgICBzY2FsaW5nIGZhY3Rvciwg
ZGV0ZXJtaW5lZCBieSBkaXZpZGluZyB0aGUgcmVzb2x2ZWQgcG9pbnQgc2l6ZSBvZiB0d28KKyAg
ICAgICAgZm9udCBkZXNjcmlwdG9ycyBjcmVhdGVkIHdpdGggdGhlIExhcmdlIChkZWZhdWx0KSBj
YXRlZ29yeSBhbmQgdGhlIEN1cnJlbnQgY2F0ZWdvcnkuCisKIDIwMjAtMDctMDYgIENsYXJrIFdh
bmcgIDxjbGFya193YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRlZCBQYW5uZXJOb2RlIGNv
bnN0cnVjdG9yIGFjY29yZGluZyB0byBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQXR0YWNobWVudC5jcHAKaW5kZXggNzQ2N2ZmMzg2NTY4MmI4YmU2M2JiNjdkZWJkNzE5
YTRjOGI3ZTNjYS4uYzkyZmVhODM2YjdlN2M4NDdlNTIzYTRhNTkxMmVjOTg1Mzk5NWU0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcApAQCAtNTUs
OCArNTUsMTIgQEAgSFRNTEF0dGFjaG1lbnRFbGVtZW50JiBSZW5kZXJBdHRhY2htZW50OjphdHRh
Y2htZW50RWxlbWVudCgpIGNvbnN0CiB2b2lkIFJlbmRlckF0dGFjaG1lbnQ6OmxheW91dCgpCiB7
CiAgICAgTGF5b3V0U2l6ZSBuZXdJbnRyaW5zaWNTaXplID0gdGhlbWUoKS5hdHRhY2htZW50SW50
cmluc2ljU2l6ZSgqdGhpcyk7Ci0gICAgbV9taW5pbXVtSW50cmluc2ljV2lkdGggPSBzdGQ6Om1h
eChtX21pbmltdW1JbnRyaW5zaWNXaWR0aCwgbmV3SW50cmluc2ljU2l6ZS53aWR0aCgpKTsKLSAg
ICBuZXdJbnRyaW5zaWNTaXplLnNldFdpZHRoKG1fbWluaW11bUludHJpbnNpY1dpZHRoKTsKKwor
ICAgIGlmICghdGhlbWUoKS5hdHRhY2htZW50U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKCp0aGlz
KSkgeworICAgICAgICBtX21pbmltdW1JbnRyaW5zaWNXaWR0aCA9IHN0ZDo6bWF4KG1fbWluaW11
bUludHJpbnNpY1dpZHRoLCBuZXdJbnRyaW5zaWNTaXplLndpZHRoKCkpOworICAgICAgICBuZXdJ
bnRyaW5zaWNTaXplLnNldFdpZHRoKG1fbWluaW11bUludHJpbnNpY1dpZHRoKTsKKyAgICB9CisK
ICAgICBzZXRJbnRyaW5zaWNTaXplKG5ld0ludHJpbnNpY1NpemUpOwogCiAgICAgUmVuZGVyUmVw
bGFjZWQ6OmxheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRl
eCBiMmRiNmI3ZTIwOWZkNmNmZTdhMTllZDAzMTIyYTFlZTkzN2NiZGQ0Li44YWNjZTc3NGM1ZmNh
MWZmYWRiYjYzNzA5NGY1ZjU0NmRkOTJiMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaApAQCAtMjYyLDYgKzI2Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVRUQUNI
TUVOVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50cmluc2lj
U2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6ZSgp
OyB9CiAgICAgdmlydHVhbCBpbnQgYXR0YWNobWVudEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0dGFj
aG1lbnQmKSBjb25zdCB7IHJldHVybiAtMTsgfQorICAgIHZpcnR1YWwgYm9vbCBhdHRhY2htZW50
U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKICAgICBlbnVtIGNsYXNzIElubmVyU3BpbkJ1dHRv
bkxheW91dCB7IFZlcnRpY2FsLCBIb3Jpem9udGFsVXBMZWZ0LCBIb3Jpem9udGFsVXBSaWdodCB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCBlZjVlZDVi
MjA4Y2JhOWQwMTZkMjhhOTQzZmQ3YmQxNjVkZjQ3ZGVkLi43MmNlMjNlZTk2YTdmYTYzZjNkYWNl
NDg0ODcxYzZjNTQ4M2MwMThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVJT1MuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKEFUVEFDSE1F
TlRfRUxFTUVOVCkKICAgICBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNvbnN0
IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZTsKICAgICBpbnQgYXR0YWNobWVudEJh
c2VsaW5lKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29s
IGF0dGFjaG1lbnRTaG91bGRBbGxvd1dpZHRoVG9TaHJpbmsoY29uc3QgUmVuZGVyQXR0YWNobWVu
dCYpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIHBhaW50QXR0YWNo
bWVudChjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jikgb3ZlcnJpZGU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLm1tCmluZGV4IGVkNGE1MDA3OGUyYzEwY2VjYzgxZDYyMzEzZDllZWU3NjA3ZDVhNGYu
LjhhOTc4NjNkOGYxNTEyMWE3NzdkNDM2NTE1MTQ3OTNmMmRhMzQ5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTczLDEyICs3MywxMyBAQAogI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2ltcG9ydCA8Q29yZUltYWdlL0Nv
cmVJbWFnZS5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+Ci0jaW1wb3J0IDxwYWwvaW9zL1VJ
S2l0U29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4KICNp
bXBvcnQgPHBhbC9zcGkvaW9zL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1Jl
ZlB0ci5oPgogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2ltcG9ydCA8cGFsL2lvcy9V
SUtpdFNvZnRMaW5rLmg+CiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIDog
TlNPYmplY3QKIEBlbmQKQEAgLTE0MTcsNiArMTQxOCwyMiBAQCBzdGF0aWMgUmV0YWluUHRyPENU
Rm9udFJlZj4gYXR0YWNobWVudFRpdGxlRm9udCgpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250
Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCAwLCBudWxscHRy
KSk7CiB9CiAKK3N0YXRpYyBDR0Zsb2F0IHNob3J0Q2FwdGlvblBvaW50U2l6ZVdpdGhDb250ZW50
U2l6ZUNhdGVnb3J5KENGU3RyaW5nUmVmIGNvbnRlbnRTaXplQ2F0ZWdvcnkpCit7CisgICAgYXV0
byBkZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHls
ZShrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydENhcHRpb24xLCBjb250ZW50U2l6ZUNhdGVnb3J5LCAw
KSk7CisgICAgYXV0byBwb2ludFNpemUgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDb3B5QXR0
cmlidXRlKGRlc2NyaXB0b3IuZ2V0KCksIGtDVEZvbnRTaXplQXR0cmlidXRlKSk7CisgICAgcmV0
dXJuIFtkeW5hbWljX29iamNfY2FzdDxOU051bWJlcj4oKF9fYnJpZGdlIGlkKXBvaW50U2l6ZS5n
ZXQoKSkgZmxvYXRWYWx1ZV07Cit9CisKK3N0YXRpYyBDR0Zsb2F0IGF0dGFjaG1lbnREeW5hbWlj
VHlwZVNjYWxlRmFjdG9yKCkKK3sKKyAgICBDR0Zsb2F0IGZpeGVkUG9pbnRTaXplID0gc2hvcnRD
YXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkoa0NURm9udENvbnRlbnRTaXpl
Q2F0ZWdvcnlMKTsKKyAgICBDR0Zsb2F0IGR5bmFtaWNQb2ludFNpemUgPSBzaG9ydENhcHRpb25Q
b2ludFNpemVXaXRoQ29udGVudFNpemVDYXRlZ29yeShSZW5kZXJUaGVtZUlPUzo6c2luZ2xldG9u
KCkuY29udGVudFNpemVDYXRlZ29yeSgpKTsKKyAgICBpZiAoIWR5bmFtaWNQb2ludFNpemUgfHwg
IWZpeGVkUG9pbnRTaXplKQorICAgICAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gc3RkOjptYXg8
Q0dGbG9hdD4oMSwgZHluYW1pY1BvaW50U2l6ZSAvIGZpeGVkUG9pbnRTaXplKTsKK30KKwogc3Rh
dGljIFVJQ29sb3IgKmF0dGFjaG1lbnRUaXRsZUNvbG9yKCkgeyByZXR1cm4gW1BBTDo6Z2V0VUlD
b2xvckNsYXNzKCkgc3lzdGVtR3JheUNvbG9yXTsgfQogCiBzdGF0aWMgUmV0YWluUHRyPENURm9u
dFJlZj4gYXR0YWNobWVudFN1YnRpdGxlRm9udCgpIHsgcmV0dXJuIGF0dGFjaG1lbnRUaXRsZUZv
bnQoKTsgfQpAQCAtMTQ4MCw3ICsxNDk3LDggQEAgdm9pZCBSZW5kZXJBdHRhY2htZW50SW5mbzo6
YnVpbGRXcmFwcGVkTGluZXMoY29uc3QgU3RyaW5nJiB0ZXh0LCBDVEZvbnRSZWYgZm9udCwKICAg
ICBSZXRhaW5QdHI8Q1RGcmFtZXNldHRlclJlZj4gZnJhbWVzZXR0ZXIgPSBhZG9wdENGKENURnJh
bWVzZXR0ZXJDcmVhdGVXaXRoQXR0cmlidXRlZFN0cmluZygoQ0ZBdHRyaWJ1dGVkU3RyaW5nUmVm
KWF0dHJpYnV0ZWRUZXh0LmdldCgpKSk7CiAKICAgICBDRlJhbmdlIGZpdFJhbmdlOwotICAgIENH
U2l6ZSB0ZXh0U2l6ZSA9IENURnJhbWVzZXR0ZXJTdWdnZXN0RnJhbWVTaXplV2l0aENvbnN0cmFp
bnRzKGZyYW1lc2V0dGVyLmdldCgpLCBDRlJhbmdlTWFrZSgwLCAwKSwgbnVsbHB0ciwgQ0dTaXpl
TWFrZShhdHRhY2htZW50V3JhcHBpbmdUZXh0TWF4aW11bVdpZHRoLCBDR0ZMT0FUX01BWCksICZm
aXRSYW5nZSk7CisgICAgQ0dGbG9hdCB3cmFwcGluZ1dpZHRoID0gYXR0YWNobWVudFdyYXBwaW5n
VGV4dE1heGltdW1XaWR0aCAqIGF0dGFjaG1lbnREeW5hbWljVHlwZVNjYWxlRmFjdG9yKCk7Cisg
ICAgQ0dTaXplIHRleHRTaXplID0gQ1RGcmFtZXNldHRlclN1Z2dlc3RGcmFtZVNpemVXaXRoQ29u
c3RyYWludHMoZnJhbWVzZXR0ZXIuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIDApLCBudWxscHRyLCBD
R1NpemVNYWtlKHdyYXBwaW5nV2lkdGgsIENHRkxPQVRfTUFYKSwgJmZpdFJhbmdlKTsKIAogICAg
IFJldGFpblB0cjxDR1BhdGhSZWY+IHRleHRQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVXaXRo
UmVjdChDR1JlY3RNYWtlKDAsIDAsIHRleHRTaXplLndpZHRoLCB0ZXh0U2l6ZS5oZWlnaHQpLCBu
dWxscHRyKSk7CiAgICAgUmV0YWluUHRyPENURnJhbWVSZWY+IHRleHRGcmFtZSA9IGFkb3B0Q0Yo
Q1RGcmFtZXNldHRlckNyZWF0ZUZyYW1lKGZyYW1lc2V0dGVyLmdldCgpLCBmaXRSYW5nZSwgdGV4
dFBhdGguZ2V0KCksIG51bGxwdHIpKTsKQEAgLTE1MDksNyArMTUyNyw3IEBAIHZvaWQgUmVuZGVy
QXR0YWNobWVudEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKGNvbnN0IFN0cmluZyYgdGV4dCwgQ1RG
b250UmVmIGZvbnQsCiAgICAgUmV0YWluUHRyPE5TQXR0cmlidXRlZFN0cmluZz4gZWxsaXBzaXNT
dHJpbmcgPSBhZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmlu
ZzpAIlx1MjAyNiIgYXR0cmlidXRlczp0ZXh0QXR0cmlidXRlc10pOwogICAgIFJldGFpblB0cjxD
VExpbmVSZWY+IGVsbGlwc2lzTGluZSA9IGFkb3B0Q0YoQ1RMaW5lQ3JlYXRlV2l0aEF0dHJpYnV0
ZWRTdHJpbmcoKENGQXR0cmlidXRlZFN0cmluZ1JlZillbGxpcHNpc1N0cmluZy5nZXQoKSkpOwog
ICAgIENUTGluZVJlZiByZW1haW5pbmdMaW5lID0gKENUTGluZVJlZilDRkFycmF5R2V0VmFsdWVB
dEluZGV4KENURnJhbWVHZXRMaW5lcyhyZW1haW5pbmdGcmFtZS5nZXQoKSksIDApOwotICAgIFJl
dGFpblB0cjxDVExpbmVSZWY+IHRydW5jYXRlZExpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0ZVRy
dW5jYXRlZExpbmUocmVtYWluaW5nTGluZSwgYXR0YWNobWVudFdyYXBwaW5nVGV4dE1heGltdW1X
aWR0aCwga0NUTGluZVRydW5jYXRpb25NaWRkbGUsIGVsbGlwc2lzTGluZS5nZXQoKSkpOworICAg
IFJldGFpblB0cjxDVExpbmVSZWY+IHRydW5jYXRlZExpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0
ZVRydW5jYXRlZExpbmUocmVtYWluaW5nTGluZSwgd3JhcHBpbmdXaWR0aCwga0NUTGluZVRydW5j
YXRpb25NaWRkbGUsIGVsbGlwc2lzTGluZS5nZXQoKSkpOwogCiAgICAgaWYgKCF0cnVuY2F0ZWRM
aW5lKQogICAgICAgICB0cnVuY2F0ZWRMaW5lID0gcmVtYWluaW5nTGluZTsKQEAgLTE2NDYsNyAr
MTY2NCw3IEBAIFJlbmRlckF0dGFjaG1lbnRJbmZvOjpSZW5kZXJBdHRhY2htZW50SW5mbyhjb25z
dCBSZW5kZXJBdHRhY2htZW50JiBhdHRhY2htZW50KQogCiBMYXlvdXRTaXplIFJlbmRlclRoZW1l
SU9TOjphdHRhY2htZW50SW50cmluc2ljU2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29u
c3QKIHsKLSAgICByZXR1cm4gTGF5b3V0U2l6ZShGbG9hdFNpemUoYXR0YWNobWVudFNpemUpKTsK
KyAgICByZXR1cm4gTGF5b3V0U2l6ZShGbG9hdFNpemUoYXR0YWNobWVudFNpemUpICogYXR0YWNo
bWVudER5bmFtaWNUeXBlU2NhbGVGYWN0b3IoKSk7CiB9CiAKIGludCBSZW5kZXJUaGVtZUlPUzo6
YXR0YWNobWVudEJhc2VsaW5lKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmIGF0dGFjaG1lbnQpIGNv
bnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403667</attachid>
            <date>2020-07-06 22:05:28 -0700</date>
            <delta_ts>2020-07-07 01:23:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214023-20200706220528.patch</filename>
            <type>text/plain</type>
            <size>18027</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhMmJmZWRiYzQ3NmQy
MjVlZmE5N2Q3NjA2YzgxYWQ0NzcwMzQ0Yy4uZWIxZWRlZTRkZWZhMjQ1N2UwNWJkNDQ4YjY1ZWI4
MjE2MjJjOTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIwLTA3LTA2ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIDxhdHRhY2htZW50
PiBsYXlvdXQgZG9lcyBub3Qgc2NhbGUgd2l0aCBEeW5hbWljIFR5cGUgc2l6ZSBjaGFuZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0OTE0NzYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvYXR0YWNobWVudC9hdHRhY2htZW50
LWR5bmFtaWMtdHlwZS5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpzaG9ydENhcHRpb25Qb2ludFNpemVXaXRoQ29udGVudFNp
emVDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjphdHRhY2htZW50RHluYW1pY1R5cGVTY2Fs
ZUZhY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJBdHRhY2htZW50SW5mbzo6YnVpbGRX
cmFwcGVkTGluZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OmF0dGFjaG1l
bnRJbnRyaW5zaWNTaXplIGNvbnN0KToKKyAgICAgICAgU2NhbGUgdGhlIDxhdHRhY2htZW50PiBv
dmVyYWxsIHNpemUgYW5kIHRleHQgbGluZSB3aWR0aCBieSB0aGUgRHluYW1pYyBUeXBlCisgICAg
ICAgIHNjYWxpbmcgZmFjdG9yLCBkZXRlcm1pbmVkIGJ5IGRpdmlkaW5nIHRoZSByZXNvbHZlZCBw
b2ludCBzaXplIG9mIHR3bworICAgICAgICBmb250IGRlc2NyaXB0b3JzIGNyZWF0ZWQgd2l0aCB0
aGUgTGFyZ2UgKGRlZmF1bHQpIGNhdGVnb3J5IGFuZCB0aGUgQ3VycmVudCBjYXRlZ29yeS4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckF0dGFjaG1lbnQ6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXR0YWNobWVudFNob3Vs
ZEFsbG93V2lkdGhUb1NocmluayBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLmg6CisgICAgICAgIEFkZCBhIFJlbmRlclRoZW1lIGJpdCBjb250cm9sbGluZyB0aGUg
YmVoYXZpb3IgaW50cm9kdWNlZCBpbiByMjAyMTE3LgorICAgICAgICBBZnRlciByMjAyMTE3LCA8
YXR0YWNobWVudD4gZWxlbWVudHMgYXJlIG5ldmVyIGFsbG93ZWQgdG8gc2hyaW5rLiBUaGlzIAor
ICAgICAgICBpcyBmaW5lIGZvciBtYWNPUywgd2hlcmUgd2UgZG9uJ3QgdmFyeSB0aGUgRHluYW1p
YyBUeXBlIHNpemUsIG9ubHkgdGhlIGNvbnRlbnQsCisgICAgICAgIGJ1dCB1bmRlc2lyYWJsZSBv
biBpT1MsIHdoZXJlIHRoZSBzaXplIG9mIHRoZSA8YXR0YWNobWVudD4gaXMgYmFzZWQgc29sZWx5
CisgICAgICAgIG9uIER5bmFtaWMgVHlwZSBzaXplIChhbmQgdGh1cyBjYW4gc2hyaW5rIHdoZW4g
dGhlIHNpemUgaXMgcmVkdWNlZCksCisgICAgICAgIGFuZCBub3QgdGhlIGNvbnRlbnQuCisgICAg
ICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZp
ZzoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxzOjpzZXRDb250ZW50U2l6ZUNhdGVnb3J5KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgQWRkIGEg
SW50ZXJuYWxzIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgRHluYW1pYyBUeXBlIGNhdGVn
b3J5LgorCiAyMDIwLTA3LTA2ICBDbGFyayBXYW5nICA8Y2xhcmtfd2FuZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkZWQgUGFubmVyTm9kZSBjb25zdHJ1Y3RvciBhY2NvcmRpbmcgdG8gc3BlYwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKaW5kZXggMmJkYmYwYWRkZGQ2MWVmMzk0N2U2YTZhMzllYmY0ZGMyMzAz
YjJmNS4uNTdlYTcwY2U1NzU1NDRiMWJjYjE2OTVhMWYwYjE3OGU0ZDEzYjY5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDctMDYgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgPGF0dGFjaG1lbnQ+IGxheW91dCBkb2Vz
IG5vdCBzY2FsZSB3aXRoIER5bmFtaWMgVHlwZSBzaXplIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDAyMworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQ5MTQ3NjI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDctMDUg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJldmVydGluZyByMjYzOTYwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnCmluZGV4IGM0ZWYyZDU5
NGMwZTUwM2MzNGNkZWZkMTI5YmYwYzgxNTdlOTI3NjcuLjlhNzYzOGNhODEzYzgzMzFjNjgwODI0
ZTk3NTJiZDU5YjJmOWEwZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL1dlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9XZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcKQEAgLTU5LDggKzU5LDcgQEAg
R0NDX1NZTUJPTFNfUFJJVkFURV9FWFRFUk4gPSBZRVM7CiBPVEhFUl9MREZMQUdTID0gJChBU0FO
X09USEVSX0xERkxBR1MpOwogT1RIRVJfTERGTEFHU1tzZGs9bWFjb3MqXSA9ICQoQVNBTl9PVEhF
Ul9MREZMQUdTKSAtZnJhbWV3b3JrIEFwcEtpdCAkKExJQldFQlJUQ19MREZMQUdTKTsKIAotT1RI
RVJfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQoQVNBTl9PVEhFUl9MREZMQUdTKSAtbEFjY2Vz
c2liaWxpdHkgJChMSUJXRUJSVENfTERGTEFHUyk7Ci1PVEhFUl9MREZMQUdTW3Nkaz1pcGhvbmVz
aW11bGF0b3IqXSA9ICQoQVNBTl9PVEhFUl9MREZMQUdTKSAtbEFjY2Vzc2liaWxpdHkgJChMSUJX
RUJSVENfTERGTEFHUyk7CitPVEhFUl9MREZMQUdTW3Nkaz1pcGhvbmUqXSA9ICQoQVNBTl9PVEhF
Ul9MREZMQUdTKSAtbEFjY2Vzc2liaWxpdHkgLWZyYW1ld29yayBDb3JlVGV4dCAkKExJQldFQlJU
Q19MREZMQUdTKTsKIFNFQ1RfT1JERVJfRkxBR1MgPSA7CiAKIEVOVElUTEVNRU5UU19SRVFVSVJF
RCA9ICQoRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfJChVU0VfSU5URVJO
QUxfU0RLKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0Nv
cmVUZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQ
SS5oCmluZGV4IDIxMzkzOGQ0M2U5Y2NiNzJlMWNkNTVlZDRlM2Y1MzdlN2RkMDEwOGQuLjdkMjE0
ZWRhOWY1MTc0NWYwZWQzYjk0ZWJhY2NkOGUxMjJlYjI4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaApAQCAtMTUwLDYgKzE1MCw3IEBAIGV4
dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVDYXB0aW9uMjsKIGV4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRleHRTdHlsZUVtcGhhc2l6ZWQ7
CiAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q29udGVudFNpemVDYXRlZ29yeUw7
CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udENvbnRlbnRTaXplQ2F0ZWdvcnlYWFhM
OwogCiBleHRlcm4gY29uc3QgQ0dGbG9hdCBrQ1RGb250V2VpZ2h0VWx0cmFMaWdodDsKIGV4dGVy
biBjb25zdCBDR0Zsb2F0IGtDVEZvbnRXZWlnaHRUaGluOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwCmluZGV4IDc0NjdmZjM4NjU2ODJiOGJlNjNiYjY3
ZGViZDcxOWE0YzhiN2UzY2EuLmM5MmZlYTgzNmI3ZTdjODQ3ZTUyM2E0YTU5MTJlYzk4NTM5OTVl
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHAK
QEAgLTU1LDggKzU1LDEyIEBAIEhUTUxBdHRhY2htZW50RWxlbWVudCYgUmVuZGVyQXR0YWNobWVu
dDo6YXR0YWNobWVudEVsZW1lbnQoKSBjb25zdAogdm9pZCBSZW5kZXJBdHRhY2htZW50OjpsYXlv
dXQoKQogewogICAgIExheW91dFNpemUgbmV3SW50cmluc2ljU2l6ZSA9IHRoZW1lKCkuYXR0YWNo
bWVudEludHJpbnNpY1NpemUoKnRoaXMpOwotICAgIG1fbWluaW11bUludHJpbnNpY1dpZHRoID0g
c3RkOjptYXgobV9taW5pbXVtSW50cmluc2ljV2lkdGgsIG5ld0ludHJpbnNpY1NpemUud2lkdGgo
KSk7Ci0gICAgbmV3SW50cmluc2ljU2l6ZS5zZXRXaWR0aChtX21pbmltdW1JbnRyaW5zaWNXaWR0
aCk7CisKKyAgICBpZiAoIXRoZW1lKCkuYXR0YWNobWVudFNob3VsZEFsbG93V2lkdGhUb1Nocmlu
aygqdGhpcykpIHsKKyAgICAgICAgbV9taW5pbXVtSW50cmluc2ljV2lkdGggPSBzdGQ6Om1heCht
X21pbmltdW1JbnRyaW5zaWNXaWR0aCwgbmV3SW50cmluc2ljU2l6ZS53aWR0aCgpKTsKKyAgICAg
ICAgbmV3SW50cmluc2ljU2l6ZS5zZXRXaWR0aChtX21pbmltdW1JbnRyaW5zaWNXaWR0aCk7Cisg
ICAgfQorCiAgICAgc2V0SW50cmluc2ljU2l6ZShuZXdJbnRyaW5zaWNTaXplKTsKIAogICAgIFJl
bmRlclJlcGxhY2VkOjpsYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKaW5kZXggYjJkYjZiN2UyMDlmZDZjZmU3YTE5ZWQwMzEyMmExZWU5MzdjYmRkNC4uOGFjY2U3
NzRjNWZjYTFmZmFkYmI2MzcwOTRmNWY1NDZkZDkyYjMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKQEAgLTI2Miw2ICsyNjIsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICB2aXJ0dWFsIExheW91dFNpemUgYXR0YWNobWVudElu
dHJpbnNpY1NpemUoY29uc3QgUmVuZGVyQXR0YWNobWVudCYpIGNvbnN0IHsgcmV0dXJuIExheW91
dFNpemUoKTsgfQogICAgIHZpcnR1YWwgaW50IGF0dGFjaG1lbnRCYXNlbGluZShjb25zdCBSZW5k
ZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gLTE7IH0KKyAgICB2aXJ0dWFsIGJvb2wgYXR0
YWNobWVudFNob3VsZEFsbG93V2lkdGhUb1Nocmluayhjb25zdCBSZW5kZXJBdHRhY2htZW50Jikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAgICAgZW51bSBjbGFzcyBJbm5lclNw
aW5CdXR0b25MYXlvdXQgeyBWZXJ0aWNhbCwgSG9yaXpvbnRhbFVwTGVmdCwgSG9yaXpvbnRhbFVw
UmlnaHQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKaW5kZXgg
ZWY1ZWQ1YjIwOGNiYTlkMDE2ZDI4YTk0M2ZkN2JkMTY1ZGY0N2RlZC4uNzJjZTIzZWU5NmE3ZmE2
M2YzZGFjZTQ4NDg3MWM2YzU0ODNjMDE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50cmluc2ljU2l6
ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IGF0dGFj
aG1lbnRCYXNlbGluZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgYm9vbCBhdHRhY2htZW50U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKGNvbnN0IFJlbmRlckF0
dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBwYWlu
dEF0dGFjaG1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbQppbmRleCBlZDRhNTAwNzhlMmMxMGNlY2M4MWQ2MjMxM2Q5ZWVlNzYw
N2Q1YTRmLi44YTk3ODYzZDhmMTUxMjFhNzc3ZDQzNjUxNTE0NzkzZjJkYTM0OWFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC03MywxMiArNzMsMTMg
QEAKICNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPENvcmVJ
bWFnZS9Db3JlSW1hZ2UuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgotI2ltcG9ydCA8cGFs
L2lvcy9VSUtpdFNvZnRMaW5rLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJ
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KICNpbXBvcnQg
PHd0Zi9SZWZQdHIuaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbXBvcnQgPHBh
bC9pb3MvVUlLaXRTb2Z0TGluay5oPgogCiBAaW50ZXJmYWNlIFdlYkNvcmVSZW5kZXJUaGVtZUJ1
bmRsZSA6IE5TT2JqZWN0CiBAZW5kCkBAIC0xNDE3LDYgKzE0MTgsMjIgQEAgc3RhdGljIFJldGFp
blB0cjxDVEZvbnRSZWY+IGF0dGFjaG1lbnRUaXRsZUZvbnQoKQogICAgIHJldHVybiBhZG9wdENG
KENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihmb250RGVzY3JpcHRvci5nZXQoKSwgMCwg
bnVsbHB0cikpOwogfQogCitzdGF0aWMgQ0dGbG9hdCBzaG9ydENhcHRpb25Qb2ludFNpemVXaXRo
Q29udGVudFNpemVDYXRlZ29yeShDRlN0cmluZ1JlZiBjb250ZW50U2l6ZUNhdGVnb3J5KQorewor
ICAgIGF1dG8gZGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhU
ZXh0U3R5bGUoa0NUVUlGb250VGV4dFN0eWxlU2hvcnRDYXB0aW9uMSwgY29udGVudFNpemVDYXRl
Z29yeSwgMCkpOworICAgIGF1dG8gcG9pbnRTaXplID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9y
Q29weUF0dHJpYnV0ZShkZXNjcmlwdG9yLmdldCgpLCBrQ1RGb250U2l6ZUF0dHJpYnV0ZSkpOwor
ICAgIHJldHVybiBbZHluYW1pY19vYmpjX2Nhc3Q8TlNOdW1iZXI+KChfX2JyaWRnZSBpZClwb2lu
dFNpemUuZ2V0KCkpIGZsb2F0VmFsdWVdOworfQorCitzdGF0aWMgQ0dGbG9hdCBhdHRhY2htZW50
RHluYW1pY1R5cGVTY2FsZUZhY3RvcigpCit7CisgICAgQ0dGbG9hdCBmaXhlZFBvaW50U2l6ZSA9
IHNob3J0Q2FwdGlvblBvaW50U2l6ZVdpdGhDb250ZW50U2l6ZUNhdGVnb3J5KGtDVEZvbnRDb250
ZW50U2l6ZUNhdGVnb3J5TCk7CisgICAgQ0dGbG9hdCBkeW5hbWljUG9pbnRTaXplID0gc2hvcnRD
YXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkoUmVuZGVyVGhlbWVJT1M6OnNp
bmdsZXRvbigpLmNvbnRlbnRTaXplQ2F0ZWdvcnkoKSk7CisgICAgaWYgKCFkeW5hbWljUG9pbnRT
aXplIHx8ICFmaXhlZFBvaW50U2l6ZSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIHN0
ZDo6bWF4PENHRmxvYXQ+KDEsIGR5bmFtaWNQb2ludFNpemUgLyBmaXhlZFBvaW50U2l6ZSk7Cit9
CisKIHN0YXRpYyBVSUNvbG9yICphdHRhY2htZW50VGl0bGVDb2xvcigpIHsgcmV0dXJuIFtQQUw6
OmdldFVJQ29sb3JDbGFzcygpIHN5c3RlbUdyYXlDb2xvcl07IH0KIAogc3RhdGljIFJldGFpblB0
cjxDVEZvbnRSZWY+IGF0dGFjaG1lbnRTdWJ0aXRsZUZvbnQoKSB7IHJldHVybiBhdHRhY2htZW50
VGl0bGVGb250KCk7IH0KQEAgLTE0ODAsNyArMTQ5Nyw4IEBAIHZvaWQgUmVuZGVyQXR0YWNobWVu
dEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKGNvbnN0IFN0cmluZyYgdGV4dCwgQ1RGb250UmVmIGZv
bnQsCiAgICAgUmV0YWluUHRyPENURnJhbWVzZXR0ZXJSZWY+IGZyYW1lc2V0dGVyID0gYWRvcHRD
RihDVEZyYW1lc2V0dGVyQ3JlYXRlV2l0aEF0dHJpYnV0ZWRTdHJpbmcoKENGQXR0cmlidXRlZFN0
cmluZ1JlZilhdHRyaWJ1dGVkVGV4dC5nZXQoKSkpOwogCiAgICAgQ0ZSYW5nZSBmaXRSYW5nZTsK
LSAgICBDR1NpemUgdGV4dFNpemUgPSBDVEZyYW1lc2V0dGVyU3VnZ2VzdEZyYW1lU2l6ZVdpdGhD
b25zdHJhaW50cyhmcmFtZXNldHRlci5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgMCksIG51bGxwdHIs
IENHU2l6ZU1ha2UoYXR0YWNobWVudFdyYXBwaW5nVGV4dE1heGltdW1XaWR0aCwgQ0dGTE9BVF9N
QVgpLCAmZml0UmFuZ2UpOworICAgIENHRmxvYXQgd3JhcHBpbmdXaWR0aCA9IGF0dGFjaG1lbnRX
cmFwcGluZ1RleHRNYXhpbXVtV2lkdGggKiBhdHRhY2htZW50RHluYW1pY1R5cGVTY2FsZUZhY3Rv
cigpOworICAgIENHU2l6ZSB0ZXh0U2l6ZSA9IENURnJhbWVzZXR0ZXJTdWdnZXN0RnJhbWVTaXpl
V2l0aENvbnN0cmFpbnRzKGZyYW1lc2V0dGVyLmdldCgpLCBDRlJhbmdlTWFrZSgwLCAwKSwgbnVs
bHB0ciwgQ0dTaXplTWFrZSh3cmFwcGluZ1dpZHRoLCBDR0ZMT0FUX01BWCksICZmaXRSYW5nZSk7
CiAKICAgICBSZXRhaW5QdHI8Q0dQYXRoUmVmPiB0ZXh0UGF0aCA9IGFkb3B0Q0YoQ0dQYXRoQ3Jl
YXRlV2l0aFJlY3QoQ0dSZWN0TWFrZSgwLCAwLCB0ZXh0U2l6ZS53aWR0aCwgdGV4dFNpemUuaGVp
Z2h0KSwgbnVsbHB0cikpOwogICAgIFJldGFpblB0cjxDVEZyYW1lUmVmPiB0ZXh0RnJhbWUgPSBh
ZG9wdENGKENURnJhbWVzZXR0ZXJDcmVhdGVGcmFtZShmcmFtZXNldHRlci5nZXQoKSwgZml0UmFu
Z2UsIHRleHRQYXRoLmdldCgpLCBudWxscHRyKSk7CkBAIC0xNTA5LDcgKzE1MjcsNyBAQCB2b2lk
IFJlbmRlckF0dGFjaG1lbnRJbmZvOjpidWlsZFdyYXBwZWRMaW5lcyhjb25zdCBTdHJpbmcmIHRl
eHQsIENURm9udFJlZiBmb250LAogICAgIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGVs
bGlwc2lzU3RyaW5nID0gYWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmluZyBhbGxvY10gaW5pdFdp
dGhTdHJpbmc6QCJcdTIwMjYiIGF0dHJpYnV0ZXM6dGV4dEF0dHJpYnV0ZXNdKTsKICAgICBSZXRh
aW5QdHI8Q1RMaW5lUmVmPiBlbGxpcHNpc0xpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0ZVdpdGhB
dHRyaWJ1dGVkU3RyaW5nKChDRkF0dHJpYnV0ZWRTdHJpbmdSZWYpZWxsaXBzaXNTdHJpbmcuZ2V0
KCkpKTsKICAgICBDVExpbmVSZWYgcmVtYWluaW5nTGluZSA9IChDVExpbmVSZWYpQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleChDVEZyYW1lR2V0TGluZXMocmVtYWluaW5nRnJhbWUuZ2V0KCkpLCAwKTsK
LSAgICBSZXRhaW5QdHI8Q1RMaW5lUmVmPiB0cnVuY2F0ZWRMaW5lID0gYWRvcHRDRihDVExpbmVD
cmVhdGVUcnVuY2F0ZWRMaW5lKHJlbWFpbmluZ0xpbmUsIGF0dGFjaG1lbnRXcmFwcGluZ1RleHRN
YXhpbXVtV2lkdGgsIGtDVExpbmVUcnVuY2F0aW9uTWlkZGxlLCBlbGxpcHNpc0xpbmUuZ2V0KCkp
KTsKKyAgICBSZXRhaW5QdHI8Q1RMaW5lUmVmPiB0cnVuY2F0ZWRMaW5lID0gYWRvcHRDRihDVExp
bmVDcmVhdGVUcnVuY2F0ZWRMaW5lKHJlbWFpbmluZ0xpbmUsIHdyYXBwaW5nV2lkdGgsIGtDVExp
bmVUcnVuY2F0aW9uTWlkZGxlLCBlbGxpcHNpc0xpbmUuZ2V0KCkpKTsKIAogICAgIGlmICghdHJ1
bmNhdGVkTGluZSkKICAgICAgICAgdHJ1bmNhdGVkTGluZSA9IHJlbWFpbmluZ0xpbmU7CkBAIC0x
NjQ2LDcgKzE2NjQsNyBAQCBSZW5kZXJBdHRhY2htZW50SW5mbzo6UmVuZGVyQXR0YWNobWVudElu
Zm8oY29uc3QgUmVuZGVyQXR0YWNobWVudCYgYXR0YWNobWVudCkKIAogTGF5b3V0U2l6ZSBSZW5k
ZXJUaGVtZUlPUzo6YXR0YWNobWVudEludHJpbnNpY1NpemUoY29uc3QgUmVuZGVyQXR0YWNobWVu
dCYpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIExheW91dFNpemUoRmxvYXRTaXplKGF0dGFjaG1lbnRT
aXplKSk7CisgICAgcmV0dXJuIExheW91dFNpemUoRmxvYXRTaXplKGF0dGFjaG1lbnRTaXplKSAq
IGF0dGFjaG1lbnREeW5hbWljVHlwZVNjYWxlRmFjdG9yKCkpOwogfQogCiBpbnQgUmVuZGVyVGhl
bWVJT1M6OmF0dGFjaG1lbnRCYXNlbGluZShjb25zdCBSZW5kZXJBdHRhY2htZW50JiBhdHRhY2ht
ZW50KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDc1OGEzYmVm
N2I0NzQ3YjY4ODMwMjRjYWVmMGY4Yjk3Njg0YThmMTMuLmVjZGM4NzI3ZDQ0ZWIwYTJmY2YwOTQ4
MGJkNjAxN2EyNmRjYzRiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTE1OCw2ICsxNTgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKICNpbmNsdWRlICJS
ZW5kZXJNZW51TGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiUmVu
ZGVyVGhlbWVJT1MuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcmVkRG9jdW1lbnRNYXJrZXIuaCIKQEAgLTMz
MCw2ICszMzEsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU3lzdGVtQmF0
dGVyeS5oIgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4KICNpbmNsdWRl
IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAjZW5kaWYKIApAQCAtNTgxLDYgKzU4Mywx
MCBAQCB2b2lkIEludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShQYWdlJiBwYWdlKQog
CiAgICAgSFRNTENhbnZhc0VsZW1lbnQ6OnNldE1heFBpeGVsTWVtb3J5Rm9yVGVzdGluZygwKTsg
Ly8gVGhpcyBtZWFucyB1c2UgdGhlIGRlZmF1bHQgdmFsdWUuCiAgICAgRE9NV2luZG93OjpvdmVy
cmlkZVRyYW5zaWVudEFjdGl2YXRpb25EdXJhdGlvbkZvclRlc3RpbmcoV1RGOjpudWxsb3B0KTsK
KworI2lmIFBMQVRGT1JNKElPUykKKyAgICBSZW5kZXJUaGVtZUlPUzo6c2V0Q29udGVudFNpemVD
YXRlZ29yeShrQ1RGb250Q29udGVudFNpemVDYXRlZ29yeUwpOworI2VuZGlmCiB9CiAKIEludGVy
bmFsczo6SW50ZXJuYWxzKERvY3VtZW50JiBkb2N1bWVudCkKQEAgLTU4NzgsNCArNTg4NCwyMSBA
QCB1bnNpZ25lZCBJbnRlcm5hbHM6Om1lZGlhS2V5U2Vzc2lvbkludGVybmFsSW5zdGFuY2VTZXNz
aW9uT2JqZWN0UmVmQ291bnQoY29uc3QgTQogfQogI2VuZGlmCiAKK3ZvaWQgSW50ZXJuYWxzOjpz
ZXRDb250ZW50U2l6ZUNhdGVnb3J5KEludGVybmFsczo6Q29udGVudFNpemVDYXRlZ29yeSBjYXRl
Z29yeSkKK3sKKyNpZiBQTEFURk9STShJT1MpCisgICAgQ0ZTdHJpbmdSZWYgY3RDYXRlZ29yeSA9
IG5pbDsKKyAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CisgICAgY2FzZSBJbnRlcm5hbHM6OkNvbnRl
bnRTaXplQ2F0ZWdvcnk6Okw6CisgICAgICAgIGN0Q2F0ZWdvcnkgPSBrQ1RGb250Q29udGVudFNp
emVDYXRlZ29yeUw7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW50ZXJuYWxzOjpDb250ZW50
U2l6ZUNhdGVnb3J5OjpYWFhMOgorICAgICAgICBjdENhdGVnb3J5ID0ga0NURm9udENvbnRlbnRT
aXplQ2F0ZWdvcnlYWFhMOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgUmVuZGVyVGhlbWVJ
T1M6OnNldENvbnRlbnRTaXplQ2F0ZWdvcnkoY3RDYXRlZ29yeSk7CisgICAgUGFnZTo6dXBkYXRl
U3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5FbnZpcm9ubWVudCgpOworI2VuZGlm
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CmluZGV4IDE4YTllNjQwMDlmOGMxNGVlNGQyNjY0OWM3MzA3ZGY5ZWIwMjA4ZjkuLmJhYTJjNmIz
NzJjZjMzMGY3NjQ0MDhmZDM2OGRhZWQ3NjliZjFkOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaApAQCAtMTAzNiw2ICsxMDM2LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1lZGlh
S2V5U2Vzc2lvbkludGVybmFsSW5zdGFuY2VTZXNzaW9uT2JqZWN0UmVmQ291bnQoY29uc3QgTWVk
aWFLZXlTZXNzaW9uJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGVudW0gY2xhc3MgQ29udGVudFNp
emVDYXRlZ29yeSB7IEwsIFhYWEwgfTsKKyAgICB2b2lkIHNldENvbnRlbnRTaXplQ2F0ZWdvcnko
Q29udGVudFNpemVDYXRlZ29yeSk7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxz
KERvY3VtZW50Jik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDgyMmVkNWYyNjNlMmY0MmNjODM0ZTFk
M2VmODQ4ZmRlMWZhMzZiNzUuLjAzZDg2Njk2ZDMyNDJjNmFiZGQ4NjA1YmI2OWE2ZDEzZmNhZDNj
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwMCw2ICsxMDAsMTEg
QEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAgIkludGVycnVwdGVkIgogfTsKIAorZW51
bSBDb250ZW50U2l6ZUNhdGVnb3J5IHsKKyAgICAiTCIsCisgICAgIlhYWEwiCit9OworCiBbCiAg
ICAgRXhwb3J0TWFjcm89V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQsCiAgICAgQ29uZGl0aW9u
YWw9VklERU8sCkBAIC05MjYsNCArOTMxLDYgQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAK
ICAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSB1bnNpZ25lZCBsb25nIG1lZGlhS2V5
c0ludGVybmFsSW5zdGFuY2VPYmplY3RSZWZDb3VudChNZWRpYUtleXMgbWVkaWFLZXlzKTsKICAg
ICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSB1bnNpZ25lZCBsb25nIG1lZGlhS2V5U2Vz
c2lvbkludGVybmFsSW5zdGFuY2VTZXNzaW9uT2JqZWN0UmVmQ291bnQoTWVkaWFLZXlTZXNzaW9u
IHNlc3Npb24pOworCisgICAgdm9pZCBzZXRDb250ZW50U2l6ZUNhdGVnb3J5KENvbnRlbnRTaXpl
Q2F0ZWdvcnkgY2F0ZWdvcnkpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYzQwOWIzMzFjYzA0ZjBkNTY0MGNmZWIz
YjYwOWYyZDY5ODIwNmY0Li42NjU4YzFkZjM3MTVlNzQ3MjU2ZDliZDlhNDliYThjMDUyZGRjN2Zi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDctMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgPGF0dGFjaG1lbnQ+IGxheW91dCBkb2VzIG5v
dCBzY2FsZSB3aXRoIER5bmFtaWMgVHlwZSBzaXplIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDAyMworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNjQ5MTQ3NjI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvYXR0YWNobWVudC9h
dHRhY2htZW50LWR5bmFtaWMtdHlwZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvYXR0YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlwZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgQWRkIGEgdGVzdCB0
aGF0IGVuc3VyZXMgdGhhdCBjaGFuZ2luZyB0aGUgY29udGVudCBzaXplIHRvIFhYWEwgYWxzbyBp
bmNyZWFzZXMgdGhlIHNpemUgb2YgdGhlIDxhdHRhY2htZW50Pi4KKwogMjAyMC0wNy0wNiAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggY2IwMmVmYTFlYzY2MjI0Y2ViNzA5MWZmNDJjYzY2MWYxNTk4OGMyNC4uZTFhYzczMmE1NzY5
YTNiZmVkYzUwOTE1OTVhZDA2MGJhYzVjNjIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODAs
NiArMTgwLDcgQEAgZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtc3VidGl0bGUtcmVzaXplLmh0
bWwgWyBTa2lwIF0KICMgVGhpcyB0ZXN0IG9ubHkgbWFrZXMgc2Vuc2Ugb24gaU9TCiBmYXN0L2F0
dGFjaG1lbnQvYXR0YWNobWVudC13cmFwcGluZy1hY3Rpb24uaHRtbCBbIFNraXAgXQogZmFzdC9h
dHRhY2htZW50L2F0dGFjaG1lbnQtYm9yZGVybGVzcy5odG1sIFsgU2tpcCBdCitmYXN0L2F0dGFj
aG1lbnQvYXR0YWNobWVudC1keW5hbWljLXR5cGUuaHRtbCBbIFNraXAgXQogZWRpdGluZy9zZWxl
Y3Rpb24vY2hhcmFjdGVyLWdyYW51bGFyaXR5LXNlbGVjdGVkLXJhbmdlLWFmdGVyLWRpc21pc3Np
bmctc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIGVkaXRpbmcvc2VsZWN0aW9uL2NoYXJhY3Rlci1n
cmFudWxhcml0eS1zZWxlY3QtdGV4dC13aXRoLWNsaWNrLWhhbmRsZXIuaHRtbCBbIFNraXAgXQog
ZWRpdGluZy9zZWxlY3Rpb24vY2FyZXQtYWZ0ZXItdGFwLWluLWVkaXRhYmxlLXNlbGVjdGlvbi5o
dG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2F0dGFjaG1lbnQvYXR0
YWNobWVudC1keW5hbWljLXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9hdHRh
Y2htZW50L2F0dGFjaG1lbnQtZHluYW1pYy10eXBlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZjUyYThiOGI3YjI1YWEyZTMwNmUyOTY2N2VjZWY5OTIxYTE3MjhiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtZHluYW1pYy10eXBlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworRGVmYXVsdDogMTYwIHggMTE5CitMYXJnZTog
MTYwIHggMTE5CitYWFhMYXJnZTogMjQwIHggMTc5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlwZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtZHluYW1pYy10eXBlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTJiNmVkYzgyY2YyOWQ2NDMyZWIxYzBkNjFiMGRjMWVkMjRkNzI5NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlw
ZS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlQXR0YWNobWVudEVsZW1lbnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8Ym9k
eT4KKzxhdHRhY2htZW50IGlkPSJhdHRhY2htZW50IiB0aXRsZT0iICIgdHlwZT0icHVibGljLmpw
ZWciPjwvYXR0YWNobWVudD4KKzxwcmUgaWQ9ImxvZyI+PC9wcmU+Cis8c2NyaXB0PgordGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAg
dmFyIGF0dGFjaG1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXR0YWNobWVudCIpOwor
CisgICAgZnVuY3Rpb24gbG9nU2l6ZShzKSB7IGxvZy5pbm5lclRleHQgKz0gcyArICI6ICIgKyBh
dHRhY2htZW50Lm9mZnNldFdpZHRoICsgIiB4ICIgKyBhdHRhY2htZW50Lm9mZnNldEhlaWdodCAr
ICJcbiI7IH0KKworICAgIGxvZ1NpemUoIkRlZmF1bHQiKTsKKyAgICBpbnRlcm5hbHMuc2V0Q29u
dGVudFNpemVDYXRlZ29yeSgiTCIpOworICAgIGxvZ1NpemUoIkxhcmdlIik7CisgICAgaW50ZXJu
YWxzLnNldENvbnRlbnRTaXplQ2F0ZWdvcnkoIlhYWEwiKTsKKyAgICBsb2dTaXplKCJYWFhMYXJn
ZSIpOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZkOTUwN2RmZTZkN2VmOGQ5YzE5NGViNTZiMDI3
MjNhYjgwYTZhMjAuLmVkZjVmNTRkMDNlOGY5OGM1MDdjNjE0ZDVmNDY1N2RlZDBjY2E3ZjUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNTIzLDYgKzI1
MjMsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xs
aW5nIFsgUGFzcyBdCiAKIGZhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LXdyYXBwaW5nLWFjdGlv
bi5odG1sIFsgUGFzcyBdCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1ib3JkZXJsZXNzLmh0
bWwgWyBQYXNzIF0KK2Zhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlwZS5odG1s
IFsgUGFzcyBdCiBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtZGVzdC1yZWN0LWNoYW5nZS5odG1s
IFsgUGFzcyBdCiAKIGZhc3QvZXZlbnRzL3BhZ2UtdmlzaWJpbGl0eS1pZnJhbWUtbW92ZS10ZXN0
Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403675</attachid>
            <date>2020-07-07 01:23:17 -0700</date>
            <delta_ts>2020-07-07 10:38:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214023-20200707012316.patch</filename>
            <type>text/plain</type>
            <size>18063</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhMmJmZWRiYzQ3NmQy
MjVlZmE5N2Q3NjA2YzgxYWQ0NzcwMzQ0Yy4uZWIxZWRlZTRkZWZhMjQ1N2UwNWJkNDQ4YjY1ZWI4
MjE2MjJjOTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIwLTA3LTA2ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIDxhdHRhY2htZW50
PiBsYXlvdXQgZG9lcyBub3Qgc2NhbGUgd2l0aCBEeW5hbWljIFR5cGUgc2l6ZSBjaGFuZ2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0OTE0NzYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvYXR0YWNobWVudC9hdHRhY2htZW50
LWR5bmFtaWMtdHlwZS5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpzaG9ydENhcHRpb25Qb2ludFNpemVXaXRoQ29udGVudFNp
emVDYXRlZ29yeSk6CisgICAgICAgIChXZWJDb3JlOjphdHRhY2htZW50RHluYW1pY1R5cGVTY2Fs
ZUZhY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJBdHRhY2htZW50SW5mbzo6YnVpbGRX
cmFwcGVkTGluZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OmF0dGFjaG1l
bnRJbnRyaW5zaWNTaXplIGNvbnN0KToKKyAgICAgICAgU2NhbGUgdGhlIDxhdHRhY2htZW50PiBv
dmVyYWxsIHNpemUgYW5kIHRleHQgbGluZSB3aWR0aCBieSB0aGUgRHluYW1pYyBUeXBlCisgICAg
ICAgIHNjYWxpbmcgZmFjdG9yLCBkZXRlcm1pbmVkIGJ5IGRpdmlkaW5nIHRoZSByZXNvbHZlZCBw
b2ludCBzaXplIG9mIHR3bworICAgICAgICBmb250IGRlc2NyaXB0b3JzIGNyZWF0ZWQgd2l0aCB0
aGUgTGFyZ2UgKGRlZmF1bHQpIGNhdGVnb3J5IGFuZCB0aGUgQ3VycmVudCBjYXRlZ29yeS4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckF0dGFjaG1lbnQ6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YXR0YWNobWVudFNob3Vs
ZEFsbG93V2lkdGhUb1NocmluayBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLmg6CisgICAgICAgIEFkZCBhIFJlbmRlclRoZW1lIGJpdCBjb250cm9sbGluZyB0aGUg
YmVoYXZpb3IgaW50cm9kdWNlZCBpbiByMjAyMTE3LgorICAgICAgICBBZnRlciByMjAyMTE3LCA8
YXR0YWNobWVudD4gZWxlbWVudHMgYXJlIG5ldmVyIGFsbG93ZWQgdG8gc2hyaW5rLiBUaGlzIAor
ICAgICAgICBpcyBmaW5lIGZvciBtYWNPUywgd2hlcmUgd2UgZG9uJ3QgdmFyeSB0aGUgRHluYW1p
YyBUeXBlIHNpemUsIG9ubHkgdGhlIGNvbnRlbnQsCisgICAgICAgIGJ1dCB1bmRlc2lyYWJsZSBv
biBpT1MsIHdoZXJlIHRoZSBzaXplIG9mIHRoZSA8YXR0YWNobWVudD4gaXMgYmFzZWQgc29sZWx5
CisgICAgICAgIG9uIER5bmFtaWMgVHlwZSBzaXplIChhbmQgdGh1cyBjYW4gc2hyaW5rIHdoZW4g
dGhlIHNpemUgaXMgcmVkdWNlZCksCisgICAgICAgIGFuZCBub3QgdGhlIGNvbnRlbnQuCisgICAg
ICAgIAorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZp
ZzoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxzOjpzZXRDb250ZW50U2l6ZUNhdGVnb3J5KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgQWRkIGEg
SW50ZXJuYWxzIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgRHluYW1pYyBUeXBlIGNhdGVn
b3J5LgorCiAyMDIwLTA3LTA2ICBDbGFyayBXYW5nICA8Y2xhcmtfd2FuZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkZWQgUGFubmVyTm9kZSBjb25zdHJ1Y3RvciBhY2NvcmRpbmcgdG8gc3BlYwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKaW5kZXggMmJkYmYwYWRkZGQ2MWVmMzk0N2U2YTZhMzllYmY0ZGMyMzAz
YjJmNS4uNTdlYTcwY2U1NzU1NDRiMWJjYjE2OTVhMWYwYjE3OGU0ZDEzYjY5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDctMDYgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgPGF0dGFjaG1lbnQ+IGxheW91dCBkb2Vz
IG5vdCBzY2FsZSB3aXRoIER5bmFtaWMgVHlwZSBzaXplIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDAyMworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjQ5MTQ3NjI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDctMDUg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJldmVydGluZyByMjYzOTYwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnCmluZGV4IGM0ZWYyZDU5
NGMwZTUwM2MzNGNkZWZkMTI5YmYwYzgxNTdlOTI3NjcuLjlhNzYzOGNhODEzYzgzMzFjNjgwODI0
ZTk3NTJiZDU5YjJmOWEwZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL1dlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9XZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcKQEAgLTU5LDggKzU5LDcgQEAg
R0NDX1NZTUJPTFNfUFJJVkFURV9FWFRFUk4gPSBZRVM7CiBPVEhFUl9MREZMQUdTID0gJChBU0FO
X09USEVSX0xERkxBR1MpOwogT1RIRVJfTERGTEFHU1tzZGs9bWFjb3MqXSA9ICQoQVNBTl9PVEhF
Ul9MREZMQUdTKSAtZnJhbWV3b3JrIEFwcEtpdCAkKExJQldFQlJUQ19MREZMQUdTKTsKIAotT1RI
RVJfTERGTEFHU1tzZGs9aXBob25lb3MqXSA9ICQoQVNBTl9PVEhFUl9MREZMQUdTKSAtbEFjY2Vz
c2liaWxpdHkgJChMSUJXRUJSVENfTERGTEFHUyk7Ci1PVEhFUl9MREZMQUdTW3Nkaz1pcGhvbmVz
aW11bGF0b3IqXSA9ICQoQVNBTl9PVEhFUl9MREZMQUdTKSAtbEFjY2Vzc2liaWxpdHkgJChMSUJX
RUJSVENfTERGTEFHUyk7CitPVEhFUl9MREZMQUdTW3Nkaz1pcGhvbmUqXSA9ICQoQVNBTl9PVEhF
Ul9MREZMQUdTKSAtbEFjY2Vzc2liaWxpdHkgLWZyYW1ld29yayBDb3JlVGV4dCAkKExJQldFQlJU
Q19MREZMQUdTKTsKIFNFQ1RfT1JERVJfRkxBR1MgPSA7CiAKIEVOVElUTEVNRU5UU19SRVFVSVJF
RCA9ICQoRU5USVRMRU1FTlRTX1JFUVVJUkVEX1VTRV9JTlRFUk5BTF9TREtfJChVU0VfSU5URVJO
QUxfU0RLKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0Nv
cmVUZXh0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQ
SS5oCmluZGV4IDIxMzkzOGQ0M2U5Y2NiNzJlMWNkNTVlZDRlM2Y1MzdlN2RkMDEwOGQuLjdkMjE0
ZWRhOWY1MTc0NWYwZWQzYjk0ZWJhY2NkOGUxMjJlYjI4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaApAQCAtMTUwLDYgKzE1MCw3IEBAIGV4
dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVDYXB0aW9uMjsKIGV4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRleHRTdHlsZUVtcGhhc2l6ZWQ7
CiAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250Q29udGVudFNpemVDYXRlZ29yeUw7
CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udENvbnRlbnRTaXplQ2F0ZWdvcnlYWFhM
OwogCiBleHRlcm4gY29uc3QgQ0dGbG9hdCBrQ1RGb250V2VpZ2h0VWx0cmFMaWdodDsKIGV4dGVy
biBjb25zdCBDR0Zsb2F0IGtDVEZvbnRXZWlnaHRUaGluOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwCmluZGV4IDc0NjdmZjM4NjU2ODJiOGJlNjNiYjY3
ZGViZDcxOWE0YzhiN2UzY2EuLmM5MmZlYTgzNmI3ZTdjODQ3ZTUyM2E0YTU5MTJlYzk4NTM5OTVl
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXR0YWNobWVudC5jcHAK
QEAgLTU1LDggKzU1LDEyIEBAIEhUTUxBdHRhY2htZW50RWxlbWVudCYgUmVuZGVyQXR0YWNobWVu
dDo6YXR0YWNobWVudEVsZW1lbnQoKSBjb25zdAogdm9pZCBSZW5kZXJBdHRhY2htZW50OjpsYXlv
dXQoKQogewogICAgIExheW91dFNpemUgbmV3SW50cmluc2ljU2l6ZSA9IHRoZW1lKCkuYXR0YWNo
bWVudEludHJpbnNpY1NpemUoKnRoaXMpOwotICAgIG1fbWluaW11bUludHJpbnNpY1dpZHRoID0g
c3RkOjptYXgobV9taW5pbXVtSW50cmluc2ljV2lkdGgsIG5ld0ludHJpbnNpY1NpemUud2lkdGgo
KSk7Ci0gICAgbmV3SW50cmluc2ljU2l6ZS5zZXRXaWR0aChtX21pbmltdW1JbnRyaW5zaWNXaWR0
aCk7CisKKyAgICBpZiAoIXRoZW1lKCkuYXR0YWNobWVudFNob3VsZEFsbG93V2lkdGhUb1Nocmlu
aygqdGhpcykpIHsKKyAgICAgICAgbV9taW5pbXVtSW50cmluc2ljV2lkdGggPSBzdGQ6Om1heCht
X21pbmltdW1JbnRyaW5zaWNXaWR0aCwgbmV3SW50cmluc2ljU2l6ZS53aWR0aCgpKTsKKyAgICAg
ICAgbmV3SW50cmluc2ljU2l6ZS5zZXRXaWR0aChtX21pbmltdW1JbnRyaW5zaWNXaWR0aCk7Cisg
ICAgfQorCiAgICAgc2V0SW50cmluc2ljU2l6ZShuZXdJbnRyaW5zaWNTaXplKTsKIAogICAgIFJl
bmRlclJlcGxhY2VkOjpsYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKaW5kZXggYjJkYjZiN2UyMDlmZDZjZmU3YTE5ZWQwMzEyMmExZWU5MzdjYmRkNC4uOGFjY2U3
NzRjNWZjYTFmZmFkYmI2MzcwOTRmNWY1NDZkZDkyYjMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKQEAgLTI2Miw2ICsyNjIsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxF
KEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICB2aXJ0dWFsIExheW91dFNpemUgYXR0YWNobWVudElu
dHJpbnNpY1NpemUoY29uc3QgUmVuZGVyQXR0YWNobWVudCYpIGNvbnN0IHsgcmV0dXJuIExheW91
dFNpemUoKTsgfQogICAgIHZpcnR1YWwgaW50IGF0dGFjaG1lbnRCYXNlbGluZShjb25zdCBSZW5k
ZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gLTE7IH0KKyAgICB2aXJ0dWFsIGJvb2wgYXR0
YWNobWVudFNob3VsZEFsbG93V2lkdGhUb1Nocmluayhjb25zdCBSZW5kZXJBdHRhY2htZW50Jikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAgICAgZW51bSBjbGFzcyBJbm5lclNw
aW5CdXR0b25MYXlvdXQgeyBWZXJ0aWNhbCwgSG9yaXpvbnRhbFVwTGVmdCwgSG9yaXpvbnRhbFVw
UmlnaHQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKaW5kZXgg
ZWY1ZWQ1YjIwOGNiYTlkMDE2ZDI4YTk0M2ZkN2JkMTY1ZGY0N2RlZC4uNzJjZTIzZWU5NmE3ZmE2
M2YzZGFjZTQ4NDg3MWM2YzU0ODNjMDE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50cmluc2ljU2l6
ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgaW50IGF0dGFj
aG1lbnRCYXNlbGluZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgYm9vbCBhdHRhY2htZW50U2hvdWxkQWxsb3dXaWR0aFRvU2hyaW5rKGNvbnN0IFJlbmRlckF0
dGFjaG1lbnQmKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBwYWlu
dEF0dGFjaG1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbQppbmRleCBlZDRhNTAwNzhlMmMxMGNlY2M4MWQ2MjMxM2Q5ZWVlNzYw
N2Q1YTRmLi44YTk3ODYzZDhmMTUxMjFhNzc3ZDQzNjUxNTE0NzkzZjJkYTM0OWFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCkBAIC03MywxMiArNzMsMTMg
QEAKICNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPENvcmVJ
bWFnZS9Db3JlSW1hZ2UuaD4KICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgotI2ltcG9ydCA8cGFs
L2lvcy9VSUtpdFNvZnRMaW5rLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJ
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KICNpbXBvcnQg
PHd0Zi9SZWZQdHIuaD4KICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbXBvcnQgPHBh
bC9pb3MvVUlLaXRTb2Z0TGluay5oPgogCiBAaW50ZXJmYWNlIFdlYkNvcmVSZW5kZXJUaGVtZUJ1
bmRsZSA6IE5TT2JqZWN0CiBAZW5kCkBAIC0xNDE3LDYgKzE0MTgsMjIgQEAgc3RhdGljIFJldGFp
blB0cjxDVEZvbnRSZWY+IGF0dGFjaG1lbnRUaXRsZUZvbnQoKQogICAgIHJldHVybiBhZG9wdENG
KENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihmb250RGVzY3JpcHRvci5nZXQoKSwgMCwg
bnVsbHB0cikpOwogfQogCitzdGF0aWMgQ0dGbG9hdCBzaG9ydENhcHRpb25Qb2ludFNpemVXaXRo
Q29udGVudFNpemVDYXRlZ29yeShDRlN0cmluZ1JlZiBjb250ZW50U2l6ZUNhdGVnb3J5KQorewor
ICAgIGF1dG8gZGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhU
ZXh0U3R5bGUoa0NUVUlGb250VGV4dFN0eWxlU2hvcnRDYXB0aW9uMSwgY29udGVudFNpemVDYXRl
Z29yeSwgMCkpOworICAgIGF1dG8gcG9pbnRTaXplID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9y
Q29weUF0dHJpYnV0ZShkZXNjcmlwdG9yLmdldCgpLCBrQ1RGb250U2l6ZUF0dHJpYnV0ZSkpOwor
ICAgIHJldHVybiBbZHluYW1pY19vYmpjX2Nhc3Q8TlNOdW1iZXI+KChfX2JyaWRnZSBpZClwb2lu
dFNpemUuZ2V0KCkpIGZsb2F0VmFsdWVdOworfQorCitzdGF0aWMgQ0dGbG9hdCBhdHRhY2htZW50
RHluYW1pY1R5cGVTY2FsZUZhY3RvcigpCit7CisgICAgQ0dGbG9hdCBmaXhlZFBvaW50U2l6ZSA9
IHNob3J0Q2FwdGlvblBvaW50U2l6ZVdpdGhDb250ZW50U2l6ZUNhdGVnb3J5KGtDVEZvbnRDb250
ZW50U2l6ZUNhdGVnb3J5TCk7CisgICAgQ0dGbG9hdCBkeW5hbWljUG9pbnRTaXplID0gc2hvcnRD
YXB0aW9uUG9pbnRTaXplV2l0aENvbnRlbnRTaXplQ2F0ZWdvcnkoUmVuZGVyVGhlbWVJT1M6OnNp
bmdsZXRvbigpLmNvbnRlbnRTaXplQ2F0ZWdvcnkoKSk7CisgICAgaWYgKCFkeW5hbWljUG9pbnRT
aXplIHx8ICFmaXhlZFBvaW50U2l6ZSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIHN0
ZDo6bWF4PENHRmxvYXQ+KDEsIGR5bmFtaWNQb2ludFNpemUgLyBmaXhlZFBvaW50U2l6ZSk7Cit9
CisKIHN0YXRpYyBVSUNvbG9yICphdHRhY2htZW50VGl0bGVDb2xvcigpIHsgcmV0dXJuIFtQQUw6
OmdldFVJQ29sb3JDbGFzcygpIHN5c3RlbUdyYXlDb2xvcl07IH0KIAogc3RhdGljIFJldGFpblB0
cjxDVEZvbnRSZWY+IGF0dGFjaG1lbnRTdWJ0aXRsZUZvbnQoKSB7IHJldHVybiBhdHRhY2htZW50
VGl0bGVGb250KCk7IH0KQEAgLTE0ODAsNyArMTQ5Nyw4IEBAIHZvaWQgUmVuZGVyQXR0YWNobWVu
dEluZm86OmJ1aWxkV3JhcHBlZExpbmVzKGNvbnN0IFN0cmluZyYgdGV4dCwgQ1RGb250UmVmIGZv
bnQsCiAgICAgUmV0YWluUHRyPENURnJhbWVzZXR0ZXJSZWY+IGZyYW1lc2V0dGVyID0gYWRvcHRD
RihDVEZyYW1lc2V0dGVyQ3JlYXRlV2l0aEF0dHJpYnV0ZWRTdHJpbmcoKENGQXR0cmlidXRlZFN0
cmluZ1JlZilhdHRyaWJ1dGVkVGV4dC5nZXQoKSkpOwogCiAgICAgQ0ZSYW5nZSBmaXRSYW5nZTsK
LSAgICBDR1NpemUgdGV4dFNpemUgPSBDVEZyYW1lc2V0dGVyU3VnZ2VzdEZyYW1lU2l6ZVdpdGhD
b25zdHJhaW50cyhmcmFtZXNldHRlci5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgMCksIG51bGxwdHIs
IENHU2l6ZU1ha2UoYXR0YWNobWVudFdyYXBwaW5nVGV4dE1heGltdW1XaWR0aCwgQ0dGTE9BVF9N
QVgpLCAmZml0UmFuZ2UpOworICAgIENHRmxvYXQgd3JhcHBpbmdXaWR0aCA9IGF0dGFjaG1lbnRX
cmFwcGluZ1RleHRNYXhpbXVtV2lkdGggKiBhdHRhY2htZW50RHluYW1pY1R5cGVTY2FsZUZhY3Rv
cigpOworICAgIENHU2l6ZSB0ZXh0U2l6ZSA9IENURnJhbWVzZXR0ZXJTdWdnZXN0RnJhbWVTaXpl
V2l0aENvbnN0cmFpbnRzKGZyYW1lc2V0dGVyLmdldCgpLCBDRlJhbmdlTWFrZSgwLCAwKSwgbnVs
bHB0ciwgQ0dTaXplTWFrZSh3cmFwcGluZ1dpZHRoLCBDR0ZMT0FUX01BWCksICZmaXRSYW5nZSk7
CiAKICAgICBSZXRhaW5QdHI8Q0dQYXRoUmVmPiB0ZXh0UGF0aCA9IGFkb3B0Q0YoQ0dQYXRoQ3Jl
YXRlV2l0aFJlY3QoQ0dSZWN0TWFrZSgwLCAwLCB0ZXh0U2l6ZS53aWR0aCwgdGV4dFNpemUuaGVp
Z2h0KSwgbnVsbHB0cikpOwogICAgIFJldGFpblB0cjxDVEZyYW1lUmVmPiB0ZXh0RnJhbWUgPSBh
ZG9wdENGKENURnJhbWVzZXR0ZXJDcmVhdGVGcmFtZShmcmFtZXNldHRlci5nZXQoKSwgZml0UmFu
Z2UsIHRleHRQYXRoLmdldCgpLCBudWxscHRyKSk7CkBAIC0xNTA5LDcgKzE1MjcsNyBAQCB2b2lk
IFJlbmRlckF0dGFjaG1lbnRJbmZvOjpidWlsZFdyYXBwZWRMaW5lcyhjb25zdCBTdHJpbmcmIHRl
eHQsIENURm9udFJlZiBmb250LAogICAgIFJldGFpblB0cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IGVs
bGlwc2lzU3RyaW5nID0gYWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmluZyBhbGxvY10gaW5pdFdp
dGhTdHJpbmc6QCJcdTIwMjYiIGF0dHJpYnV0ZXM6dGV4dEF0dHJpYnV0ZXNdKTsKICAgICBSZXRh
aW5QdHI8Q1RMaW5lUmVmPiBlbGxpcHNpc0xpbmUgPSBhZG9wdENGKENUTGluZUNyZWF0ZVdpdGhB
dHRyaWJ1dGVkU3RyaW5nKChDRkF0dHJpYnV0ZWRTdHJpbmdSZWYpZWxsaXBzaXNTdHJpbmcuZ2V0
KCkpKTsKICAgICBDVExpbmVSZWYgcmVtYWluaW5nTGluZSA9IChDVExpbmVSZWYpQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleChDVEZyYW1lR2V0TGluZXMocmVtYWluaW5nRnJhbWUuZ2V0KCkpLCAwKTsK
LSAgICBSZXRhaW5QdHI8Q1RMaW5lUmVmPiB0cnVuY2F0ZWRMaW5lID0gYWRvcHRDRihDVExpbmVD
cmVhdGVUcnVuY2F0ZWRMaW5lKHJlbWFpbmluZ0xpbmUsIGF0dGFjaG1lbnRXcmFwcGluZ1RleHRN
YXhpbXVtV2lkdGgsIGtDVExpbmVUcnVuY2F0aW9uTWlkZGxlLCBlbGxpcHNpc0xpbmUuZ2V0KCkp
KTsKKyAgICBSZXRhaW5QdHI8Q1RMaW5lUmVmPiB0cnVuY2F0ZWRMaW5lID0gYWRvcHRDRihDVExp
bmVDcmVhdGVUcnVuY2F0ZWRMaW5lKHJlbWFpbmluZ0xpbmUsIHdyYXBwaW5nV2lkdGgsIGtDVExp
bmVUcnVuY2F0aW9uTWlkZGxlLCBlbGxpcHNpc0xpbmUuZ2V0KCkpKTsKIAogICAgIGlmICghdHJ1
bmNhdGVkTGluZSkKICAgICAgICAgdHJ1bmNhdGVkTGluZSA9IHJlbWFpbmluZ0xpbmU7CkBAIC0x
NjQ2LDcgKzE2NjQsNyBAQCBSZW5kZXJBdHRhY2htZW50SW5mbzo6UmVuZGVyQXR0YWNobWVudElu
Zm8oY29uc3QgUmVuZGVyQXR0YWNobWVudCYgYXR0YWNobWVudCkKIAogTGF5b3V0U2l6ZSBSZW5k
ZXJUaGVtZUlPUzo6YXR0YWNobWVudEludHJpbnNpY1NpemUoY29uc3QgUmVuZGVyQXR0YWNobWVu
dCYpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIExheW91dFNpemUoRmxvYXRTaXplKGF0dGFjaG1lbnRT
aXplKSk7CisgICAgcmV0dXJuIExheW91dFNpemUoRmxvYXRTaXplKGF0dGFjaG1lbnRTaXplKSAq
IGF0dGFjaG1lbnREeW5hbWljVHlwZVNjYWxlRmFjdG9yKCkpOwogfQogCiBpbnQgUmVuZGVyVGhl
bWVJT1M6OmF0dGFjaG1lbnRCYXNlbGluZShjb25zdCBSZW5kZXJBdHRhY2htZW50JiBhdHRhY2ht
ZW50KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDc1OGEzYmVm
N2I0NzQ3YjY4ODMwMjRjYWVmMGY4Yjk3Njg0YThmMTMuLmE4MTEwMTkyODlkZmYwZDhhYjhmMjA1
M2YyMGU5OGJmMmY3ZTMzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTE1OCw2ICsxNTgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKICNpbmNsdWRlICJS
ZW5kZXJNZW51TGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisjaW5jbHVkZSAiUmVu
ZGVyVGhlbWVJT1MuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlbmRlcmVkRG9jdW1lbnRNYXJrZXIuaCIKQEAgLTMz
MCw2ICszMzEsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiU3lzdGVtQmF0
dGVyeS5oIgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4KICNpbmNsdWRl
IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAjZW5kaWYKIApAQCAtNTgxLDYgKzU4Mywx
MCBAQCB2b2lkIEludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShQYWdlJiBwYWdlKQog
CiAgICAgSFRNTENhbnZhc0VsZW1lbnQ6OnNldE1heFBpeGVsTWVtb3J5Rm9yVGVzdGluZygwKTsg
Ly8gVGhpcyBtZWFucyB1c2UgdGhlIGRlZmF1bHQgdmFsdWUuCiAgICAgRE9NV2luZG93OjpvdmVy
cmlkZVRyYW5zaWVudEFjdGl2YXRpb25EdXJhdGlvbkZvclRlc3RpbmcoV1RGOjpudWxsb3B0KTsK
KworI2lmIFBMQVRGT1JNKElPUykKKyAgICBSZW5kZXJUaGVtZUlPUzo6c2V0Q29udGVudFNpemVD
YXRlZ29yeShrQ1RGb250Q29udGVudFNpemVDYXRlZ29yeUwpOworI2VuZGlmCiB9CiAKIEludGVy
bmFsczo6SW50ZXJuYWxzKERvY3VtZW50JiBkb2N1bWVudCkKQEAgLTU4NzgsNCArNTg4NCwyMyBA
QCB1bnNpZ25lZCBJbnRlcm5hbHM6Om1lZGlhS2V5U2Vzc2lvbkludGVybmFsSW5zdGFuY2VTZXNz
aW9uT2JqZWN0UmVmQ291bnQoY29uc3QgTQogfQogI2VuZGlmCiAKK3ZvaWQgSW50ZXJuYWxzOjpz
ZXRDb250ZW50U2l6ZUNhdGVnb3J5KEludGVybmFsczo6Q29udGVudFNpemVDYXRlZ29yeSBjYXRl
Z29yeSkKK3sKKyNpZiBQTEFURk9STShJT1MpCisgICAgQ0ZTdHJpbmdSZWYgY3RDYXRlZ29yeSA9
IG5pbDsKKyAgICBzd2l0Y2ggKGNhdGVnb3J5KSB7CisgICAgY2FzZSBJbnRlcm5hbHM6OkNvbnRl
bnRTaXplQ2F0ZWdvcnk6Okw6CisgICAgICAgIGN0Q2F0ZWdvcnkgPSBrQ1RGb250Q29udGVudFNp
emVDYXRlZ29yeUw7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW50ZXJuYWxzOjpDb250ZW50
U2l6ZUNhdGVnb3J5OjpYWFhMOgorICAgICAgICBjdENhdGVnb3J5ID0ga0NURm9udENvbnRlbnRT
aXplQ2F0ZWdvcnlYWFhMOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgUmVuZGVyVGhlbWVJ
T1M6OnNldENvbnRlbnRTaXplQ2F0ZWdvcnkoY3RDYXRlZ29yeSk7CisgICAgUGFnZTo6dXBkYXRl
U3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5FbnZpcm9ubWVudCgpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0oY2F0ZWdvcnkpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDE4YTllNjQwMDlmOGMx
NGVlNGQyNjY0OWM3MzA3ZGY5ZWIwMjA4ZjkuLmJhYTJjNmIzNzJjZjMzMGY3NjQ0MDhmZDM2OGRh
ZWQ3NjliZjFkOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTAzNiw2ICsx
MDM2LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1lZGlhS2V5U2Vzc2lvbkludGVybmFsSW5z
dGFuY2VTZXNzaW9uT2JqZWN0UmVmQ291bnQoY29uc3QgTWVkaWFLZXlTZXNzaW9uJikgY29uc3Q7
CiAjZW5kaWYKIAorICAgIGVudW0gY2xhc3MgQ29udGVudFNpemVDYXRlZ29yeSB7IEwsIFhYWEwg
fTsKKyAgICB2b2lkIHNldENvbnRlbnRTaXplQ2F0ZWdvcnkoQ29udGVudFNpemVDYXRlZ29yeSk7
CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Jik7CiAgICAgRG9j
dW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IDgyMmVkNWYyNjNlMmY0MmNjODM0ZTFkM2VmODQ4ZmRlMWZhMzZiNzUuLjAz
ZDg2Njk2ZDMyNDJjNmFiZGQ4NjA1YmI2OWE2ZDEzZmNhZDNjMWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTEwMCw2ICsxMDAsMTEgQEAgZW51bSBDb21wb3NpdGluZ1Bv
bGljeSB7CiAgICAgIkludGVycnVwdGVkIgogfTsKIAorZW51bSBDb250ZW50U2l6ZUNhdGVnb3J5
IHsKKyAgICAiTCIsCisgICAgIlhYWEwiCit9OworCiBbCiAgICAgRXhwb3J0TWFjcm89V0VCQ09S
RV9URVNUU1VQUE9SVF9FWFBPUlQsCiAgICAgQ29uZGl0aW9uYWw9VklERU8sCkBAIC05MjYsNCAr
OTMxLDYgQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAKICAgICBbQ29uZGl0aW9uYWw9RU5D
UllQVEVEX01FRElBXSB1bnNpZ25lZCBsb25nIG1lZGlhS2V5c0ludGVybmFsSW5zdGFuY2VPYmpl
Y3RSZWZDb3VudChNZWRpYUtleXMgbWVkaWFLZXlzKTsKICAgICBbQ29uZGl0aW9uYWw9RU5DUllQ
VEVEX01FRElBXSB1bnNpZ25lZCBsb25nIG1lZGlhS2V5U2Vzc2lvbkludGVybmFsSW5zdGFuY2VT
ZXNzaW9uT2JqZWN0UmVmQ291bnQoTWVkaWFLZXlTZXNzaW9uIHNlc3Npb24pOworCisgICAgdm9p
ZCBzZXRDb250ZW50U2l6ZUNhdGVnb3J5KENvbnRlbnRTaXplQ2F0ZWdvcnkgY2F0ZWdvcnkpOwog
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBkYzQwOWIzMzFjYzA0ZjBkNTY0MGNmZWIzYjYwOWYyZDY5ODIwNmY0Li42NjU4
YzFkZjM3MTVlNzQ3MjU2ZDliZDlhNDliYThjMDUyZGRjN2ZiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDctMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgPGF0dGFjaG1lbnQ+IGxheW91dCBkb2VzIG5vdCBzY2FsZSB3aXRoIER5bmFtaWMg
VHlwZSBzaXplIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDAyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjQ5MTQ3NjI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIGZhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlw
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvYXR0YWNobWVudC9hdHRhY2ht
ZW50LWR5bmFtaWMtdHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGVuc3VyZXMgdGhhdCBjaGFu
Z2luZyB0aGUgY29udGVudCBzaXplIHRvIFhYWEwgYWxzbyBpbmNyZWFzZXMgdGhlIHNpemUgb2Yg
dGhlIDxhdHRhY2htZW50Pi4KKwogMjAyMC0wNy0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggY2IwMmVmYTFlYzY2MjI0Y2Vi
NzA5MWZmNDJjYzY2MWYxNTk4OGMyNC4uZTFhYzczMmE1NzY5YTNiZmVkYzUwOTE1OTVhZDA2MGJh
YzVjNjIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODAsNiArMTgwLDcgQEAgZmFzdC9hdHRh
Y2htZW50L2F0dGFjaG1lbnQtc3VidGl0bGUtcmVzaXplLmh0bWwgWyBTa2lwIF0KICMgVGhpcyB0
ZXN0IG9ubHkgbWFrZXMgc2Vuc2Ugb24gaU9TCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC13
cmFwcGluZy1hY3Rpb24uaHRtbCBbIFNraXAgXQogZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQt
Ym9yZGVybGVzcy5odG1sIFsgU2tpcCBdCitmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1keW5h
bWljLXR5cGUuaHRtbCBbIFNraXAgXQogZWRpdGluZy9zZWxlY3Rpb24vY2hhcmFjdGVyLWdyYW51
bGFyaXR5LXNlbGVjdGVkLXJhbmdlLWFmdGVyLWRpc21pc3Npbmctc2VsZWN0aW9uLmh0bWwgWyBT
a2lwIF0KIGVkaXRpbmcvc2VsZWN0aW9uL2NoYXJhY3Rlci1ncmFudWxhcml0eS1zZWxlY3QtdGV4
dC13aXRoLWNsaWNrLWhhbmRsZXIuaHRtbCBbIFNraXAgXQogZWRpdGluZy9zZWxlY3Rpb24vY2Fy
ZXQtYWZ0ZXItdGFwLWluLWVkaXRhYmxlLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1keW5hbWljLXR5cGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtZHlu
YW1pYy10eXBlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjUyYThiOGI3YjI1YWEyZTMwNmUy
OTY2N2VjZWY5OTIxYTE3MjhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9h
dHRhY2htZW50L2F0dGFjaG1lbnQtZHluYW1pYy10eXBlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKKworRGVmYXVsdDogMTYwIHggMTE5CitMYXJnZTogMTYwIHggMTE5CitYWFhMYXJnZTog
MjQwIHggMTc5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYXR0YWNobWVudC9hdHRh
Y2htZW50LWR5bmFtaWMtdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9hdHRhY2htZW50L2F0
dGFjaG1lbnQtZHluYW1pYy10eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJiNmVkYzgyY2YyOWQ2NDMy
ZWIxYzBkNjFiMGRjMWVkMjRkNzI5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvYXR0YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlwZS5odG1sCkBAIC0wLDAgKzEsMjIg
QEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQXR0YWNo
bWVudEVsZW1lbnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8Ym9keT4KKzxhdHRhY2htZW50IGlkPSJh
dHRhY2htZW50IiB0aXRsZT0iICIgdHlwZT0icHVibGljLmpwZWciPjwvYXR0YWNobWVudD4KKzxw
cmUgaWQ9ImxvZyI+PC9wcmU+Cis8c2NyaXB0PgordGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisK
K3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGF0dGFjaG1lbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiYXR0YWNobWVudCIpOworCisgICAgZnVuY3Rpb24gbG9nU2l6
ZShzKSB7IGxvZy5pbm5lclRleHQgKz0gcyArICI6ICIgKyBhdHRhY2htZW50Lm9mZnNldFdpZHRo
ICsgIiB4ICIgKyBhdHRhY2htZW50Lm9mZnNldEhlaWdodCArICJcbiI7IH0KKworICAgIGxvZ1Np
emUoIkRlZmF1bHQiKTsKKyAgICBpbnRlcm5hbHMuc2V0Q29udGVudFNpemVDYXRlZ29yeSgiTCIp
OworICAgIGxvZ1NpemUoIkxhcmdlIik7CisgICAgaW50ZXJuYWxzLnNldENvbnRlbnRTaXplQ2F0
ZWdvcnkoIlhYWEwiKTsKKyAgICBsb2dTaXplKCJYWFhMYXJnZSIpOworfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGZkOTUwN2RmZTZkN2VmOGQ5YzE5NGViNTZiMDI3MjNhYjgwYTZhMjAuLmVkZjVmNTRk
MDNlOGY5OGM1MDdjNjE0ZDVmNDY1N2RlZDBjY2E3ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNTIzLDYgKzI1MjMsNyBAQCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nIFsgUGFzcyBdCiAKIGZhc3Qv
YXR0YWNobWVudC9hdHRhY2htZW50LXdyYXBwaW5nLWFjdGlvbi5odG1sIFsgUGFzcyBdCiBmYXN0
L2F0dGFjaG1lbnQvYXR0YWNobWVudC1ib3JkZXJsZXNzLmh0bWwgWyBQYXNzIF0KK2Zhc3QvYXR0
YWNobWVudC9hdHRhY2htZW50LWR5bmFtaWMtdHlwZS5odG1sIFsgUGFzcyBdCiBmYXN0L2ltYWdl
cy9wZGYtYXMtaW1hZ2UtZGVzdC1yZWN0LWNoYW5nZS5odG1sIFsgUGFzcyBdCiAKIGZhc3QvZXZl
bnRzL3BhZ2UtdmlzaWJpbGl0eS1pZnJhbWUtbW92ZS10ZXN0Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>