<?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>196162</bug_id>
          
          <creation_ts>2019-03-22 15:51:32 -0700</creation_ts>
          <short_desc>Refactor clz/ctz and fix getLSBSet.</short_desc>
          <delta_ts>2019-03-24 19:53:58 -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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1520506</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-22 15:51:32 -0700</bug_when>
    <thetext>Refactor clz/ctz and fix getLSBSet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520513</commentid>
    <comment_count>1</comment_count>
      <attachid>365770</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-22 16:04:38 -0700</bug_when>
    <thetext>Created attachment 365770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520515</commentid>
    <comment_count>2</comment_count>
      <attachid>365770</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-22 16:13:31 -0700</bug_when>
    <thetext>Comment on attachment 365770
Patch

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

&gt; Source/WTF/ChangeLog:12
&gt; +        numeric type. Since these methods work on any type we don&apos;t need
&gt; +        to have an, incorrect, implementation of getLSBSet. This patch
&gt; +        also adds getMSBSet as there may be users who want that in the
&gt; +        future.

I&apos;d explain a bit more here.
- The old implementation of getLSBSet was really getMSBSet

&gt; Tools/TestWebKitAPI/Tests/WTF/MathExtras.cpp:435
&gt;  

nit: I think writing out these numbers in binary would make it easier to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520520</commentid>
    <comment_count>3</comment_count>
      <attachid>365774</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-22 16:21:17 -0700</bug_when>
    <thetext>Created attachment 365774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520522</commentid>
    <comment_count>4</comment_count>
      <attachid>365775</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-22 16:25:28 -0700</bug_when>
    <thetext>Created attachment 365775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520656</commentid>
    <comment_count>5</comment_count>
      <attachid>365822</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-23 17:54:04 -0700</bug_when>
    <thetext>Created attachment 365822
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520662</commentid>
    <comment_count>6</comment_count>
      <attachid>365822</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-23 18:32:12 -0700</bug_when>
    <thetext>Comment on attachment 365822
Patch for landing

Clearing flags on attachment: 365822

Committed r243418: &lt;https://trac.webkit.org/changeset/243418&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520663</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-23 18:32:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520665</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-23 18:34:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/49191697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520768</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-24 19:17:32 -0700</bug_when>
    <thetext>It breaks x64 Windows builds.

https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Debug%20%28Build%29/builds/7601/steps/compile-webkit/logs/stdio

&gt; [21/1544] Building CXX object Tools\TestWebKitAPI\CMakeFiles\TestWTFLib.dir\Tests\WTF\MathExtras.cpp.obj
&gt; FAILED: Tools/TestWebKitAPI/CMakeFiles/TestWTFLib.dir/Tests/WTF/MathExtras.cpp.obj 
&gt; &quot;C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64\cl.exe&quot;  (...) /FdTools\TestWebKitAPI\CMakeFiles\TestWTFLib.dir\ /FS -c ..\..\Tools\TestWebKitAPI\Tests\WTF\MathExtras.cpp
&gt; C:\WebKit-BuildWorker\wincairo-wkl-debug\build\WebKitBuild\Debug\DerivedSources\ForwardingHeaders\wtf/MathExtras.h(636): error C2065: &apos;number&apos;: undeclared identifier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520772</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-24 19:45:43 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 196191</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520775</commentid>
    <comment_count>11</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-24 19:48:42 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #9)
&gt; It breaks x64 Windows builds.
&gt; 
&gt; https://build.webkit.org/builders/WinCairo%2064-
&gt; bit%20WKL%20Debug%20%28Build%29/builds/7601/steps/compile-webkit/logs/stdio
&gt; 
&gt; &gt; [21/1544] Building CXX object Tools\TestWebKitAPI\CMakeFiles\TestWTFLib.dir\Tests\WTF\MathExtras.cpp.obj
&gt; &gt; FAILED: Tools/TestWebKitAPI/CMakeFiles/TestWTFLib.dir/Tests/WTF/MathExtras.cpp.obj 
&gt; &gt; &quot;C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64\cl.exe&quot;  (...) /FdTools\TestWebKitAPI\CMakeFiles\TestWTFLib.dir\ /FS -c ..\..\Tools\TestWebKitAPI\Tests\WTF\MathExtras.cpp
&gt; &gt; C:\WebKit-BuildWorker\wincairo-wkl-debug\build\WebKitBuild\Debug\DerivedSources\ForwardingHeaders\wtf/MathExtras.h(636): error C2065: &apos;number&apos;: undeclared identifier

Whoops, I think it&apos;s a simple fix. I forgot to change the variable name for windows...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520776</commentid>
    <comment_count>12</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-24 19:53:58 -0700</bug_when>
    <thetext>Should hopefully be fixed with: https://trac.webkit.org/changeset/243429</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365770</attachid>
            <date>2019-03-22 16:04:38 -0700</date>
            <delta_ts>2019-03-22 16:21:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196162-20190322160425.patch</filename>
            <type>text/plain</type>
            <size>15991</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZDg1MTY5YmIzN2UzNzY3NDBjN2Y3OTQxZGNjODhiNjE4ODc0YWIwLi44ZDcxM2Q4NDhkZjNhNTcx
YzUyOTQ1OGQ0NjdjNjU0YmNiZWFjMjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOS0wMy0yMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZWZhY3RvciBjbHovY3R6IGFuZCBmaXggZ2V0TFNCU2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3IgcmVm
ZXJlbmNlcyBvZiBjbHozMi82NCBhbmQgY3R6MzIgdG8gdXNlIGNseiBhbmQgY3R6LAorICAgICAg
ICByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25z
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50LmNwcDoKKyAgICAgICAgKEpTQzo6SlNC
aWdJbnQ6OmRpZ2l0RGl2KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmFic29sdXRlRGl2V2l0
aEJpZ0ludERpdmlzb3IpOgorICAgICAgICAoSlNDOjpKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11
bUNoYXJhY3RlcnNSZXF1aXJlZCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0b1N0cmluZ0Jh
c2VQb3dlck9mVHdvKToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmNvbXBhcmVUb0RvdWJsZSk6
CisgICAgICAgICogcnVudGltZS9NYXRoT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6bWF0aFBy
b3RvRnVuY0NsejMyKToKKwogMjAxOS0wMy0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIGFuIGludmFsaWQgYXNzZXJ0aW9uIGluIERGRzo6U3BlY3Vs
YXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlTnVsbE9yVW5kZWZpbmVk
KCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCmluZGV4IGExZTA4MGUzMjIzZDg1ZDczMTZkMjk4NzY3NGVmZjYzZjRjZTQ3YTIuLjllNzg1
NmUxZjcwMDE4ZWMwZmFlODg1MThlNTI2OThkNzZlZGY2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTktMDMtMjIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVmYWN0b3IgY2x6L2N0eiBhbmQgZml4IGdldExTQlNldC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgY2x6MzIv
NjQgYW5kIGN0ejMyIGdlbmVyaWMgc28gdGhleSB3b3JrIG9uIGFueQorICAgICAgICBudW1lcmlj
IHR5cGUuIFNpbmNlIHRoZXNlIG1ldGhvZHMgd29yayBvbiBhbnkgdHlwZSB3ZSBkb24ndCBuZWVk
CisgICAgICAgIHRvIGhhdmUgYW4sIGluY29ycmVjdCwgaW1wbGVtZW50YXRpb24gb2YgZ2V0TFNC
U2V0LiBUaGlzIHBhdGNoCisgICAgICAgIGFsc28gYWRkcyBnZXRNU0JTZXQgYXMgdGhlcmUgbWF5
IGJlIHVzZXJzIHdobyB3YW50IHRoYXQgaW4gdGhlCisgICAgICAgIGZ1dHVyZS4KKworICAgICAg
ICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAgIChXVEY6OmNseik6CisgICAgICAgIChXVEY6
OmN0eik6CisgICAgICAgIChXVEY6OmdldExTQlNldCk6CisgICAgICAgIChXVEY6OmdldE1TQlNl
dCk6CisgICAgICAgIChnZXRMU0JTZXQpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpjbHozMik6
IERlbGV0ZWQuCisgICAgICAgIChXVEY6OmNsejY0KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
Y3R6MzIpOiBEZWxldGVkLgorCiAyMDE5LTAzLTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxz
b25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBVSSBwcm9jZXNzIFdlYlJUQyBydW50aW1lIGxv
Z2dpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggYThjMGRjZDVjNzkzMTZjZDE0YTRiNmM5ZmQ4
MWI4ZDMxMjUyODZlYi4uZTViOTFiZGM0M2E0MjMxYzk0ZWI3MGI2ODcxNjdjMWQyNjBjNmE1NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJl
dGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJ
bnRlcnByZXRlcklubGluZXMuaApAQCAtNzA0LDcgKzcwNCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2Ji
ZXJMaW1pCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB1aW50MzJfdCB2YWx1ZSA9IHRvVUludDMyKCpudW1iZXIpOwotICAgICAgICAgICAgc2V0Q29u
c3RhbnQobm9kZSwganNOdW1iZXIoY2x6MzIodmFsdWUpKSk7CisgICAgICAgICAgICBzZXRDb25z
dGFudChub2RlLCBqc051bWJlcihjbHoodmFsdWUpKSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgICAgICBzd2l0Y2ggKG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXggMGY0Y2IzMDc5
M2IzNjU2MGQ1MWYzNWI1ZGFiNDdjN2FkZmViMDUyNy4uMzRhZWE3Y2M3ZmEwODNiMGEyZDlkMmNl
MjliYmI5Y2U0N2YwZWZjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCkBAIC01NDcsNyArNTQ3LDcgQEAgdWludDMyX3QgSklUX09QRVJBVElPTiBvcGVy
YXRpb25Bcml0aENsejMyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2QKICAg
ICBKU1ZhbHVlIG9wMSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKTsKICAgICB1aW50MzJf
dCB2YWx1ZSA9IG9wMS50b1VJbnQzMihleGVjKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCAwKTsKLSAgICByZXR1cm4gY2x6MzIodmFsdWUpOworICAgIHJldHVybiBjbHoodmFsdWUp
OwogfQogCiBkb3VibGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aEZSb3VuZChFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JpZ0ludC5jcHAKaW5kZXggYzU4OGUzZmUxYjMwOGI1N2EwNmZkZTNmY2Ni
NTNiMGQxOGNhYWRkMy4uN2UzY2NiNDhiYjIyZTYwNzY5ZmE1NTE1ZmMyMTViOTRhYjc1N2E5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcApAQCAtNjQ3LDEx
ICs2NDcsNyBAQCBpbmxpbmUgSlNCaWdJbnQ6OkRpZ2l0IEpTQmlnSW50OjpkaWdpdERpdihEaWdp
dCBoaWdoLCBEaWdpdCBsb3csIERpZ2l0IGRpdmlzb3IsCiAjZWxzZQogICAgIHN0YXRpYyBjb25z
dGV4cHIgRGlnaXQgaGFsZkRpZ2l0QmFzZSA9IDF1bGwgPDwgaGFsZkRpZ2l0Qml0czsKICAgICAv
LyBBZGFwdGVkIGZyb20gV2FycmVuLCBIYWNrZXIncyBEZWxpZ2h0LCBwLiAxNTIuCi0jaWYgVVNF
KEpTVkFMVUU2NCkKLSAgICB1bnNpZ25lZCBzID0gY2x6NjQoZGl2aXNvcik7Ci0jZWxzZQotICAg
IHVuc2lnbmVkIHMgPSBjbHozMihkaXZpc29yKTsKLSNlbmRpZgorICAgIHVuc2lnbmVkIHMgPSBj
bHooZGl2aXNvcik7CiAgICAgLy8gSWYge3N9IGlzIGRpZ2l0Qml0cyBoZXJlLCBpdCBjYXVzZXMg
YW4gdW5kZWZpbmVkIGJlaGF2aW9yLgogICAgIC8vIEJ1dCB7c30gaXMgbmV2ZXIgZGlnaXRCaXRz
IHNpbmNlIHtkaXZpc29yfSBpcyBuZXZlciB6ZXJvIGhlcmUuCiAgICAgQVNTRVJUKHMgIT0gZGln
aXRCaXRzKTsKQEAgLTk4NCw3ICs5ODAsNyBAQCB2b2lkIEpTQmlnSW50OjphYnNvbHV0ZURpdldp
dGhCaWdJbnREaXZpc29yKEV4ZWNTdGF0ZSogZXhlYywgSlNCaWdJbnQqIGRpdmlkZW5kLAogICAg
IC8vIG92ZXJmbG93aW5nICh0aGV5IHRha2UgYSB0d28gZGlnaXRzIHdpZGUgaW5wdXQsIGFuZCBy
ZXR1cm4gYSBvbmUgZGlnaXQKICAgICAvLyByZXN1bHQpLgogICAgIERpZ2l0IGxhc3REaWdpdCA9
IGRpdmlzb3ItPmRpZ2l0KG4gLSAxKTsKLSAgICB1bnNpZ25lZCBzaGlmdCA9IHNpemVvZihsYXN0
RGlnaXQpID09IDggPyBjbHo2NChsYXN0RGlnaXQpIDogY2x6MzIobGFzdERpZ2l0KTsKKyAgICB1
bnNpZ25lZCBzaGlmdCA9IGNseihsYXN0RGlnaXQpOwogCiAgICAgaWYgKHNoaWZ0ID4gMCkgewog
ICAgICAgICBkaXZpc29yID0gYWJzb2x1dGVMZWZ0U2hpZnRBbHdheXNDb3B5KGV4ZWMsIGRpdmlz
b3IsIHNoaWZ0LCBMZWZ0U2hpZnRNb2RlOjpTYW1lU2l6ZVJlc3VsdCk7CkBAIC0xNDQ1LDExICsx
NDQxLDcgQEAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgYml0c1BlckNoYXJUYWJsZU11bHRpcGxp
ZXIgPSAxdSA8PCBiaXRzUGVyQ2hhclRhYmxlU2hpZnQKIC8vIERpdmlkZSBiaXQgbGVuZ3RoIG9m
IHRoZSBCaWdJbnQgYnkgYml0cyByZXByZXNlbnRhYmxlIHBlciBjaGFyYWN0ZXIuCiB1aW50NjRf
dCBKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNoYXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBs
ZW5ndGgsIHVuc2lnbmVkIHJhZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wgc2lnbikKIHsKLSAg
ICB1bnNpZ25lZCBsZWFkaW5nWmVyb3M7Ci0gICAgaWYgKHNpemVvZihsYXN0RGlnaXQpID09IDgp
Ci0gICAgICAgIGxlYWRpbmdaZXJvcyA9IGNsejY0KGxhc3REaWdpdCk7Ci0gICAgZWxzZQotICAg
ICAgICBsZWFkaW5nWmVyb3MgPSBjbHozMihsYXN0RGlnaXQpOworICAgIHVuc2lnbmVkIGxlYWRp
bmdaZXJvcyA9IGNseihsYXN0RGlnaXQpOwogCiAgICAgc2l6ZV90IGJpdExlbmd0aCA9IGxlbmd0
aCAqIGRpZ2l0Qml0cyAtIGxlYWRpbmdaZXJvczsKIApAQCAtMTQ4MiwxOCArMTQ3NCwxNCBAQCBT
dHJpbmcgSlNCaWdJbnQ6OnRvU3RyaW5nQmFzZVBvd2VyT2ZUd28oRXhlY1N0YXRlKiBleGVjLCBK
U0JpZ0ludCogeCwgdW5zaWduZWQgcgogCiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoID0geC0+
bGVuZ3RoKCk7CiAgICAgY29uc3QgYm9vbCBzaWduID0geC0+c2lnbigpOwotICAgIGNvbnN0IHVu
c2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6MzIocmFkaXgpOworICAgIGNvbnN0IHVuc2lnbmVkIGJp
dHNQZXJDaGFyID0gY3R6KHJhZGl4KTsKICAgICBjb25zdCB1bnNpZ25lZCBjaGFyTWFzayA9IHJh
ZGl4IC0gMTsKICAgICAvLyBDb21wdXRlIHRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdGluZyBzdHJp
bmc6IGRpdmlkZSB0aGUgYml0IGxlbmd0aCBvZiB0aGUKICAgICAvLyBCaWdJbnQgYnkgdGhlIG51
bWJlciBvZiBiaXRzIHJlcHJlc2VudGFibGUgcGVyIGNoYXJhY3RlciAocm91bmRpbmcgdXApLgog
ICAgIGNvbnN0IERpZ2l0IG1zZCA9IHgtPmRpZ2l0KGxlbmd0aCAtIDEpOwogCi0jaWYgVVNFKEpT
VkFMVUU2NCkKLSAgICBjb25zdCB1bnNpZ25lZCBtc2RMZWFkaW5nWmVyb3MgPSBjbHo2NChtc2Qp
OwotI2Vsc2UKLSAgICBjb25zdCB1bnNpZ25lZCBtc2RMZWFkaW5nWmVyb3MgPSBjbHozMihtc2Qp
OwotI2VuZGlmCi0gICAgCisgICAgY29uc3QgdW5zaWduZWQgbXNkTGVhZGluZ1plcm9zID0gY2x6
KG1zZCk7CisKICAgICBjb25zdCBzaXplX3QgYml0TGVuZ3RoID0gbGVuZ3RoICogZGlnaXRCaXRz
IC0gbXNkTGVhZGluZ1plcm9zOwogICAgIGNvbnN0IHNpemVfdCBjaGFyc1JlcXVpcmVkID0gKGJp
dExlbmd0aCArIGJpdHNQZXJDaGFyIC0gMSkgLyBiaXRzUGVyQ2hhciArIHNpZ247CiAKQEAgLTE4
NzYsNyArMTg2NCw3IEBAIEpTQmlnSW50OjpDb21wYXJpc29uUmVzdWx0IEpTQmlnSW50Ojpjb21w
YXJlVG9Eb3VibGUoSlNCaWdJbnQqIHgsIGRvdWJsZSB5KQogCiAgICAgaW50IHhMZW5ndGggPSB4
LT5sZW5ndGgoKTsKICAgICBEaWdpdCB4TVNEID0geC0+ZGlnaXQoeExlbmd0aCAtIDEpOwotICAg
IGludCBtc2RMZWFkaW5nWmVyb3MgPSBzaXplb2YoeE1TRCkgPT0gOCAgPyBjbHo2NCh4TVNEKSA6
IGNsejMyKHhNU0QpOworICAgIGludCBtc2RMZWFkaW5nWmVyb3MgPSBjbHooeE1TRCk7CiAKICAg
ICBpbnQgeEJpdExlbmd0aCA9IHhMZW5ndGggKiBkaWdpdEJpdHMgLSBtc2RMZWFkaW5nWmVyb3M7
CiAgICAgaW50IHlCaXRMZW5ndGggPSBleHBvbmVudCArIDE7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmluZGV4IGI0ZjkzYzllNTM3NjZlOTBjZWEyNDc1
ODlkMTA4ZDg1ZWIyNDczYjMuLjcxY2UzOGI4ZWQ1ZmJkYWY0OTYwODcxMDE5ZWUxMWUwZGY4ZmEy
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCkBA
IC0xNjksNyArMTY5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBtYXRoUHJvdG9G
dW5jQ2x6MzIoRXhlY1N0YXRlKiBleGVjKQogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKICAgICB1aW50MzJfdCB2YWx1ZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvVUlu
dDMyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVl
KCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZShjbHozMih2YWx1ZSkpKTsK
KyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoY2x6KHZhbHVlKSkpOwogfQogCiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1hdGhQcm90b0Z1bmNDb3MoRXhlY1N0YXRlKiBl
eGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL1dU
Ri93dGYvTWF0aEV4dHJhcy5oCmluZGV4IDZlMTc3MDA5ZDcyZTdlNzFjYWJjMGI3N2NmZmFkZmY4
YzRiMGJlMzUuLmUwMGIxZDFlZjJlOWNjZTMzMjgzN2FkZDdhNGMxYzVkNjBkNjdlYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9N
YXRoRXh0cmFzLmgKQEAgLTMwMSwyMiArMzAxLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29u
c3RleHByIGJvb2wgaGFzVHdvT3JNb3JlQml0c1NldChUIHZhbHVlKQogICAgIHJldHVybiAhaGFz
WmVyb09yT25lQml0c1NldCh2YWx1ZSk7CiB9CiAKLS8vIEZJWE1FOiBTb21lIERhcndpbiBwcm9q
ZWN0cyBzaGFtZWxlc3NseSBpbmNsdWRlIFdURiBoZWFkZXJzIGFuZCBkb24ndCBidWlsZCB3aXRo
IEMrKzE0Li4uIFNlZTogcmRhcjovL3Byb2JsZW0vNDUzOTU3NjcKLS8vIFNpbmNlIEMrKzExIGFu
ZCBiZWZvcmUgZG9uJ3Qgc3VwcG9ydCBjb25zdGV4cHIgc3RhdGVtZW50cyB3ZSBjYW4ndCBtYXJr
IHRoaXMgZnVuY3Rpb24gY29uc3RleHByLgotI2lmICFkZWZpbmVkKFdURl9DUFBfU1REX1ZFUikg
fHwgV1RGX0NQUF9TVERfVkVSID49IDE0Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY29uc3RleHBy
IHVuc2lnbmVkIGdldExTQlNldChUIHZhbHVlKQotewotICAgIHR5cGVkZWYgdHlwZW5hbWUgc3Rk
OjptYWtlX3Vuc2lnbmVkPFQ+Ojp0eXBlIFVuc2lnbmVkVDsKLSAgICB1bnNpZ25lZCByZXN1bHQg
PSAwOwotCi0gICAgVW5zaWduZWRUIHVuc2lnbmVkVmFsdWUgPSBzdGF0aWNfY2FzdDxVbnNpZ25l
ZFQ+KHZhbHVlKTsKLSAgICB3aGlsZSAodW5zaWduZWRWYWx1ZSA+Pj0gMSkKLSAgICAgICAgKyty
ZXN1bHQ7Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotI2VuZGlmCi0KIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGlubGluZSBUIGRpdmlkZVJvdW5kZWRVcChUIGEsIFQgYikKIHsKICAgICByZXR1cm4g
KGEgKyBiIC0gMSkgLyBiOwpAQCAtNjMwLDQ5ICs2MTQsMzEgQEAgdm9pZCBzaHVmZmxlVmVjdG9y
KFZlY3RvclR5cGUmIHZlY3RvciwgY29uc3QgUmFuZG9tRnVuYyYgcmFuZG9tRnVuYykKICAgICBz
aHVmZmxlVmVjdG9yKHZlY3RvciwgdmVjdG9yLnNpemUoKSwgcmFuZG9tRnVuYyk7CiB9CiAKLWlu
bGluZSB1bnNpZ25lZCBjbHozMih1aW50MzJfdCBudW1iZXIpCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgoraW5saW5lIHVuc2lnbmVkIGNseihUIHZhbHVlKQogewotI2lmIENPTVBJTEVSKEdDQ19DT01Q
QVRJQkxFKQotICAgIGlmIChudW1iZXIpCi0gICAgICAgIHJldHVybiBfX2J1aWx0aW5fY2x6KG51
bWJlcik7Ci0gICAgcmV0dXJuIDMyOwotI2VsaWYgQ09NUElMRVIoTVNWQykKLSAgICAvLyBWaXN1
YWwgU3R1ZGlvIDIwMDggb3IgdXBwZXIgaGF2ZSBfX2x6Y250LCBidXQgd2UgY2FuJ3QgZGV0ZWN0
IEludGVsIEFWWCBhdCBjb21waWxlIHRpbWUuCi0gICAgLy8gU28gd2UgdXNlIGJpdC1zY2FuLXJl
dmVyc2Ugb3BlcmF0aW9uIHRvIGNhbGN1bGF0ZSBjbHouCi0gICAgdW5zaWduZWQgbG9uZyByZXQg
PSAwOwotICAgIGlmIChfQml0U2NhblJldmVyc2UoJnJldCwgbnVtYmVyKSkKLSAgICAgICAgcmV0
dXJuIDMxIC0gcmV0OwotICAgIHJldHVybiAzMjsKLSNlbHNlCi0gICAgdW5zaWduZWQgemVyb0Nv
dW50ID0gMDsKLSAgICBmb3IgKGludCBpID0gMzE7IGkgPj0gMDsgaS0tKSB7Ci0gICAgICAgIGlm
ICghKG51bWJlciA+PiBpKSkKLSAgICAgICAgICAgIHplcm9Db3VudCsrOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0dXJuIHplcm9Db3VudDsKLSNlbmRp
ZgotfQorICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBiaXRTaXplID0gc2l6ZW9mKFQpICogQ0hBUl9C
SVQ7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGJpdFNpemU2NCA9IHNpemVvZih1aW50NjRfdCkg
KiBDSEFSX0JJVDsKKworICAgIHVzaW5nIFVUID0gdHlwZW5hbWUgc3RkOjptYWtlX3Vuc2lnbmVk
PFQ+Ojp0eXBlOworICAgIFVUIHVWYWx1ZSA9IHZhbHVlOwogCi1pbmxpbmUgdW5zaWduZWQgY2x6
NjQodWludDY0X3QgbnVtYmVyKQotewogI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQotICAg
IGlmIChudW1iZXIpCi0gICAgICAgIHJldHVybiBfX2J1aWx0aW5fY2x6bGwobnVtYmVyKTsKLSAg
ICByZXR1cm4gNjQ7CisgICAgaWYgKHVWYWx1ZSkKKyAgICAgICAgcmV0dXJuIF9fYnVpbHRpbl9j
bHpsbCh1VmFsdWUpIC0gKGJpdFNpemU2NCAtIGJpdFNpemUpOworICAgIHJldHVybiBiaXRTaXpl
OwogI2VsaWYgQ09NUElMRVIoTVNWQykgJiYgIUNQVShYODYpCiAgICAgLy8gVmlzdWFsIFN0dWRp
byAyMDA4IG9yIHVwcGVyIGhhdmUgX19semNudCwgYnV0IHdlIGNhbid0IGRldGVjdCBJbnRlbCBB
VlggYXQgY29tcGlsZSB0aW1lLgogICAgIC8vIFNvIHdlIHVzZSBiaXQtc2Nhbi1yZXZlcnNlIG9w
ZXJhdGlvbiB0byBjYWxjdWxhdGUgY2x6LgogICAgIC8vIF9CaXRTY2FuUmV2ZXJzZTY0IGlzIGRl
ZmluZWQgaW4gWDg2XzY0IGFuZCBBUk0gaW4gTVNWQyBzdXBwb3J0ZWQgZW52aXJvbm1lbnRzLgog
ICAgIHVuc2lnbmVkIGxvbmcgcmV0ID0gMDsKICAgICBpZiAoX0JpdFNjYW5SZXZlcnNlNjQoJnJl
dCwgbnVtYmVyKSkKLSAgICAgICAgcmV0dXJuIDYzIC0gcmV0OwotICAgIHJldHVybiA2NDsKKyAg
ICAgICAgcmV0dXJuIGJpdFNpemUgLSByZXQ7CisgICAgcmV0dXJuIGJpdFNpemU7CiAjZWxzZQog
ICAgIHVuc2lnbmVkIHplcm9Db3VudCA9IDA7Ci0gICAgZm9yIChpbnQgaSA9IDYzOyBpID49IDA7
IGktLSkgewotICAgICAgICBpZiAoIShudW1iZXIgPj4gaSkpCisgICAgZm9yIChpbnQgaSA9IGJp
dFNpemU2NCAtIDE7IGkgPj0gMDsgaS0tKSB7CisgICAgICAgIGlmICghKHN0YXRpY19jYXN0PHVp
bnQ2NF90Pih1VmFsdWUpID4+IGkpKQogICAgICAgICAgICAgemVyb0NvdW50Kys7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjgxLDMwICs2NDcsNTEgQEAgaW5saW5lIHVu
c2lnbmVkIGNsejY0KHVpbnQ2NF90IG51bWJlcikKICNlbmRpZgogfQogCi1pbmxpbmUgdW5zaWdu
ZWQgY3R6MzIodWludDMyX3QgbnVtYmVyKQordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSB1
bnNpZ25lZCBjdHooVCB2YWx1ZSkKIHsKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgYml0U2l6ZSA9
IHNpemVvZihUKSAqIENIQVJfQklUOworCisgICAgdXNpbmcgVVQgPSB0eXBlbmFtZSBzdGQ6Om1h
a2VfdW5zaWduZWQ8VD46OnR5cGU7CisgICAgVVQgdVZhbHVlID0gdmFsdWU7CisKICNpZiBDT01Q
SUxFUihHQ0NfQ09NUEFUSUJMRSkKLSAgICBpZiAobnVtYmVyKQotICAgICAgICByZXR1cm4gX19i
dWlsdGluX2N0eihudW1iZXIpOwotICAgIHJldHVybiAzMjsKKyAgICBpZiAodVZhbHVlKQorICAg
ICAgICByZXR1cm4gX19idWlsdGluX2N0emxsKHVWYWx1ZSk7CisgICAgcmV0dXJuIGJpdFNpemU7
CiAjZWxpZiBDT01QSUxFUihNU1ZDKSAmJiAhQ1BVKFg4NikKICAgICB1bnNpZ25lZCBsb25nIHJl
dCA9IDA7Ci0gICAgaWYgKF9CaXRTY2FuRm9yd2FyZCgmcmV0LCBudW1iZXIpKQorICAgIGlmIChf
Qml0U2NhbkZvcndhcmQ2NCgmcmV0LCBudW1iZXIpKQogICAgICAgICByZXR1cm4gcmV0OwotICAg
IHJldHVybiAzMjsKKyAgICByZXR1cm4gYml0U2l6ZTsKICNlbHNlCiAgICAgdW5zaWduZWQgemVy
b0NvdW50ID0gMDsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgMzI7IGkrKykgewotICAg
ICAgICBpZiAobnVtYmVyICYgMSkKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYml0U2l6
ZTsgaSsrKSB7CisgICAgICAgIGlmICh1VmFsdWUgJiAxKQogICAgICAgICAgICAgYnJlYWs7CiAK
ICAgICAgICAgemVyb0NvdW50Kys7Ci0gICAgICAgIG51bWJlciA+Pj0gMTsKKyAgICAgICAgdVZh
bHVlID4+PSAxOwogICAgIH0KICAgICByZXR1cm4gemVyb0NvdW50OwogI2VuZGlmCiB9CiAKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgdW5zaWduZWQgZ2V0TFNCU2V0KFQgdCkKK3sKKyAg
ICBBU1NFUlQodCk7CisgICAgcmV0dXJuIGN0eih0KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUg
VD4KK2lubGluZSB1bnNpZ25lZCBnZXRNU0JTZXQoVCB0KQoreworICAgIGNvbnN0ZXhwciB1bnNp
Z25lZCBiaXRTaXplID0gc2l6ZW9mKFQpICogQ0hBUl9CSVQ7CisgICAgQVNTRVJUKHQpOworICAg
IHJldHVybiBiaXRTaXplIC0gMSAtIGNseih0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAK
IHVzaW5nIFdURjo6b3BhcXVlOwpAQCAtNzEyLDYgKzY5OSw3IEBAIHVzaW5nIFdURjo6cHJlY2lz
ZUluZGV4TWFza1B0cjsKIHVzaW5nIFdURjo6cHJlY2lzZUluZGV4TWFza1NoaWZ0OwogdXNpbmcg
V1RGOjpwcmVjaXNlSW5kZXhNYXNrU2hpZnRGb3JTaXplOwogdXNpbmcgV1RGOjpzaHVmZmxlVmVj
dG9yOwotdXNpbmcgV1RGOjpjbHozMjsKLXVzaW5nIFdURjo6Y2x6NjQ7Ci11c2luZyBXVEY6OmN0
ejMyOwordXNpbmcgV1RGOjpjbHo7Cit1c2luZyBXVEY6OmN0ejsKK3VzaW5nIFdURjo6Z2V0TFNC
U2V0OwordXNpbmcgV1RGOjpnZXRNU0JTZXQ7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTY5OTgxZjhjNzZmZTU5OGM5YjE0ODNmZWE2MmMzMjBi
YjY0MjM5ZC4uNDU3ZWFiYzNmZjkxZTBmODU3YTEzMGEzZGE3NjU4MjU0N2IxYTEzYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE5LTAzLTIyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlZmFjdG9yIGNsei9jdHogYW5kIGZpeCBnZXRMU0JTZXQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTYxNjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIGNseiwg
Y3R6LCBnZXRMU0JTZXQsIGFuZCBnZXRNU0JTZXQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorCiAyMDE5LTAzLTIxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFtpT1MgV0syXSBUdXJuIG9uIGFzeW5jIG92ZXJmbG93IHNjcm9sbGluZyBieSBk
ZWZhdWx0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0
cmFzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01hdGhFeHRyYXMuY3BwCmlu
ZGV4IDEyODBkOGVjZWI1Y2Y3MmVmNmNjNDA2YTNhM2EyZTc0YjFjNTE3MWMuLmQ4Y2M1NDc5ODhm
NTViZTEwNDcxYmU4YWIxYjhlOWQyZjQ5ODNkYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL01hdGhFeHRyYXMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL01hdGhFeHRyYXMuY3BwCkBAIC00MzMsNCArNDMzLDc4IEBAIFRFU1QoV1RGLCBy
b3VuZFVwVG9Qb3dlck9mVHdvKQogICAgIEVYUEVDVF9FUShXVEY6OnJvdW5kVXBUb1Bvd2VyT2ZU
d28oKDFVIDw8IDMxKSArIDEpLCAwVSk7CiB9CiAKK1RFU1QoV1RGLCBjbHopCit7CisgICAgRVhQ
RUNUX0VRKFdURjo6Y2x6PGludDMyX3Q+KDEpLCAzMVUpOworICAgIEVYUEVDVF9FUShXVEY6OmNs
ejxpbnQzMl90Pig0MiksIDI2VSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PHVpbnQzMl90Pigt
MSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDMyX3Q+KHN0YXRpY19jYXN0PHVp
bnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSkgPj4gMSksIDFVKTsK
KyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDMyX3Q+KDApLCAzMlUpOworCisgICAgRVhQRUNU
X0VRKFdURjo6Y2x6PGludDhfdD4oNDIpLCAyVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PGlu
dDhfdD4oMyksIDZVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDhfdD4oLTEpLCAwVSk7
CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PHVpbnQ4X3Q+KDApLCA4VSk7CisKKyAgICBFWFBFQ1Rf
RVEoV1RGOjpjbHo8aW50NjRfdD4oLTEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PGlu
dDY0X3Q+KDEpLCA2M1UpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejxpbnQ2NF90PigzKSwgNjJV
KTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDY0X3Q+KDQyKSwgNThVKTsKKyAgICBFWFBF
Q1RfRVEoV1RGOjpjbHo8dWludDY0X3Q+KDApLCA2NFUpOworfQorCitURVNUKFdURiwgY3R6KQor
eworICAgIEVYUEVDVF9FUShXVEY6OmN0ejxpbnQzMl90PigxKSwgMFUpOworICAgIEVYUEVDVF9F
UShXVEY6OmN0ejxpbnQzMl90Pig0MiksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWlu
dDMyX3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejx1aW50MzJfdD4oc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSA+PiAx
KSwgMzBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDMyX3Q+KDApLCAzMlUpOworCisg
ICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDhfdD4oNDIpLCAxVSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Y3R6PGludDhfdD4oMyksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDhfdD4o
LTEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQ4X3Q+KDApLCA4VSk7CisKKyAg
ICBFWFBFQ1RfRVEoV1RGOjpjdHo8aW50NjRfdD4oLTEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Y3R6PGludDY0X3Q+KDEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDY0X3Q+
KDMpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQ2NF90Pig0MiksIDFVKTsKKyAg
ICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDY0X3Q+KDApLCA2NFUpOworfQorCitURVNUKFdURiwg
Z2V0TFNCU2V0KQoreworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQzMl90PigxKSwg
MFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQzMl90Pig0MiksIDFVKTsKKyAg
ICBFWFBFQ1RfRVEoV1RGOjpnZXRMU0JTZXQ8dWludDMyX3Q+KC0xKSwgMFUpOworICAgIEVYUEVD
VF9FUShXVEY6OmdldExTQlNldDx1aW50MzJfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSA+PiAxKSwgMzBVKTsKKworICAgIEVYUEVD
VF9FUShXVEY6OmdldExTQlNldDxpbnQ4X3Q+KDQyKSwgMVUpOworICAgIEVYUEVDVF9FUShXVEY6
OmdldExTQlNldDxpbnQ4X3Q+KDMpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TFNCU2V0
PHVpbnQ4X3Q+KC0xKSwgMFUpOworCisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TFNCU2V0PGludDY0
X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQ2NF90PigxKSwg
MFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQ2NF90PigzKSwgMFUpOworICAg
IEVYUEVDVF9FUShXVEY6OmdldExTQlNldDx1aW50NjRfdD4oNDIpLCAxVSk7Cit9CisKK1RFU1Qo
V1RGLCBnZXRNU0JTZXQpCit7CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDMyX3Q+
KDEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDMyX3Q+KDQyKSwgNVUp
OworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDx1aW50MzJfdD4oLTEpLCAzMVUpOworICAg
IEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDx1aW50MzJfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+
KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSA+PiAxKSwgMzBVKTsKKworICAg
IEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDxpbnQ4X3Q+KDQyKSwgNVUpOworICAgIEVYUEVDVF9F
UShXVEY6OmdldE1TQlNldDxpbnQ4X3Q+KDMpLCAxVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0
TVNCU2V0PHVpbnQ4X3Q+KC0xKSwgN1UpOworCisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0
PGludDY0X3Q+KC0xKSwgNjNVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JTZXQ8aW50NjRf
dD4oMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JTZXQ8aW50NjRfdD4oMyksIDFV
KTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JTZXQ8dWludDY0X3Q+KDQyKSwgNVUpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365774</attachid>
            <date>2019-03-22 16:21:17 -0700</date>
            <delta_ts>2019-03-22 16:25:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196162-20190322162104.patch</filename>
            <type>text/plain</type>
            <size>16015</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZDg1MTY5YmIzN2UzNzY3NDBjN2Y3OTQxZGNjODhiNjE4ODc0YWIwLi5kM2I4YmEzMjI3M2ZkZmVh
MjBhNTI4ZDdjYjg3ODY2YWI2MTkzMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOS0wMy0yMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZWZhY3RvciBjbHovY3R6IGFuZCBmaXggZ2V0TFNCU2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgUmVmYWN0b3IgcmVmZXJl
bmNlcyBvZiBjbHozMi82NCBhbmQgY3R6MzIgdG8gdXNlIGNseiBhbmQgY3R6LAorICAgICAgICBy
ZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3Rh
dGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50LmNwcDoKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OmRpZ2l0RGl2KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmFic29sdXRlRGl2V2l0aEJp
Z0ludERpdmlzb3IpOgorICAgICAgICAoSlNDOjpKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNo
YXJhY3RlcnNSZXF1aXJlZCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0b1N0cmluZ0Jhc2VQ
b3dlck9mVHdvKToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmNvbXBhcmVUb0RvdWJsZSk6Cisg
ICAgICAgICogcnVudGltZS9NYXRoT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6bWF0aFByb3Rv
RnVuY0NsejMyKToKKwogMjAxOS0wMy0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIGFuIGludmFsaWQgYXNzZXJ0aW9uIGluIERGRzo6U3BlY3VsYXRp
dmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlTnVsbE9yVW5kZWZpbmVkKCku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IGExZTA4MGUzMjIzZDg1ZDczMTZkMjk4NzY3NGVmZjYzZjRjZTQ3YTIuLjJjMjIxNWRh
YmE4ZTE0N2EyMjJlY2VmNGU3MTg3OGU3NWVmYzIxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MTktMDMtMjIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVmYWN0b3IgY2x6L2N0eiBhbmQgZml4IGdldExTQlNldC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgY2x6MzIvNjQgYW5k
IGN0ejMyIGdlbmVyaWMgc28gdGhleSB3b3JrIG9uIGFueQorICAgICAgICBudW1lcmljIHR5cGUu
IFNpbmNlIHRoZXNlIG1ldGhvZHMgd29yayBvbiBhbnkgdHlwZSB3ZSBkb24ndCBuZWVkCisgICAg
ICAgIHRvIGhhdmUgYSBzZXBhcmF0ZSBpbXBsZW1lbnRhdGlvbiBvZiBnZXRMU0JTZXQsIHdoaWNo
IGFsc28KKyAgICAgICAgaGFwcGVuZWQgdG8gYmUgZ2V0TVNCU2V0LiBUaGlzIHBhdGNoIGFsc28g
YWRkcyBnZXRNU0JTZXQgYXMgdGhlcmUKKyAgICAgICAgbWF5IGJlIHVzZXJzIHdobyB3YW50IHRo
YXQgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAg
IChXVEY6OmNseik6CisgICAgICAgIChXVEY6OmN0eik6CisgICAgICAgIChXVEY6OmdldExTQlNl
dCk6CisgICAgICAgIChXVEY6OmdldE1TQlNldCk6CisgICAgICAgIChnZXRMU0JTZXQpOiBEZWxl
dGVkLgorICAgICAgICAoV1RGOjpjbHozMik6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OmNsejY0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Y3R6MzIpOiBEZWxldGVkLgorCiAyMDE5LTAzLTIx
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBV
SSBwcm9jZXNzIFdlYlJUQyBydW50aW1lIGxvZ2dpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXgg
YThjMGRjZDVjNzkzMTZjZDE0YTRiNmM5ZmQ4MWI4ZDMxMjUyODZlYi4uZTViOTFiZGM0M2E0MjMx
Yzk0ZWI3MGI2ODcxNjdjMWQyNjBjNmE1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNzA0LDcg
KzcwNCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4
ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB1aW50MzJfdCB2YWx1ZSA9IHRvVUludDMyKCpu
dW1iZXIpOwotICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNOdW1iZXIoY2x6MzIodmFs
dWUpKSk7CisgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc051bWJlcihjbHoodmFsdWUp
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBzd2l0Y2ggKG5vZGUt
PmNoaWxkMSgpLnVzZUtpbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAKaW5kZXggMGY0Y2IzMDc5M2IzNjU2MGQ1MWYzNWI1ZGFiNDdjN2FkZmViMDUy
Ny4uMzRhZWE3Y2M3ZmEwODNiMGEyZDlkMmNlMjliYmI5Y2U0N2YwZWZjMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC01NDcsNyArNTQ3LDcgQEAg
dWludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aENsejMyKEV4ZWNTdGF0ZSogZXhl
YywgRW5jb2RlZEpTVmFsdWUgZW5jb2QKICAgICBKU1ZhbHVlIG9wMSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkT3AxKTsKICAgICB1aW50MzJfdCB2YWx1ZSA9IG9wMS50b1VJbnQzMihleGVjKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCAwKTsKLSAgICByZXR1cm4gY2x6MzIodmFs
dWUpOworICAgIHJldHVybiBjbHoodmFsdWUpOwogfQogCiBkb3VibGUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25Bcml0aEZSb3VuZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0lu
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAKaW5kZXgg
YzU4OGUzZmUxYjMwOGI1N2EwNmZkZTNmY2NiNTNiMGQxOGNhYWRkMy4uN2UzY2NiNDhiYjIyZTYw
NzY5ZmE1NTE1ZmMyMTViOTRhYjc1N2E5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQmlnSW50LmNwcApAQCAtNjQ3LDExICs2NDcsNyBAQCBpbmxpbmUgSlNCaWdJbnQ6OkRp
Z2l0IEpTQmlnSW50OjpkaWdpdERpdihEaWdpdCBoaWdoLCBEaWdpdCBsb3csIERpZ2l0IGRpdmlz
b3IsCiAjZWxzZQogICAgIHN0YXRpYyBjb25zdGV4cHIgRGlnaXQgaGFsZkRpZ2l0QmFzZSA9IDF1
bGwgPDwgaGFsZkRpZ2l0Qml0czsKICAgICAvLyBBZGFwdGVkIGZyb20gV2FycmVuLCBIYWNrZXIn
cyBEZWxpZ2h0LCBwLiAxNTIuCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICB1bnNpZ25lZCBzID0g
Y2x6NjQoZGl2aXNvcik7Ci0jZWxzZQotICAgIHVuc2lnbmVkIHMgPSBjbHozMihkaXZpc29yKTsK
LSNlbmRpZgorICAgIHVuc2lnbmVkIHMgPSBjbHooZGl2aXNvcik7CiAgICAgLy8gSWYge3N9IGlz
IGRpZ2l0Qml0cyBoZXJlLCBpdCBjYXVzZXMgYW4gdW5kZWZpbmVkIGJlaGF2aW9yLgogICAgIC8v
IEJ1dCB7c30gaXMgbmV2ZXIgZGlnaXRCaXRzIHNpbmNlIHtkaXZpc29yfSBpcyBuZXZlciB6ZXJv
IGhlcmUuCiAgICAgQVNTRVJUKHMgIT0gZGlnaXRCaXRzKTsKQEAgLTk4NCw3ICs5ODAsNyBAQCB2
b2lkIEpTQmlnSW50OjphYnNvbHV0ZURpdldpdGhCaWdJbnREaXZpc29yKEV4ZWNTdGF0ZSogZXhl
YywgSlNCaWdJbnQqIGRpdmlkZW5kLAogICAgIC8vIG92ZXJmbG93aW5nICh0aGV5IHRha2UgYSB0
d28gZGlnaXRzIHdpZGUgaW5wdXQsIGFuZCByZXR1cm4gYSBvbmUgZGlnaXQKICAgICAvLyByZXN1
bHQpLgogICAgIERpZ2l0IGxhc3REaWdpdCA9IGRpdmlzb3ItPmRpZ2l0KG4gLSAxKTsKLSAgICB1
bnNpZ25lZCBzaGlmdCA9IHNpemVvZihsYXN0RGlnaXQpID09IDggPyBjbHo2NChsYXN0RGlnaXQp
IDogY2x6MzIobGFzdERpZ2l0KTsKKyAgICB1bnNpZ25lZCBzaGlmdCA9IGNseihsYXN0RGlnaXQp
OwogCiAgICAgaWYgKHNoaWZ0ID4gMCkgewogICAgICAgICBkaXZpc29yID0gYWJzb2x1dGVMZWZ0
U2hpZnRBbHdheXNDb3B5KGV4ZWMsIGRpdmlzb3IsIHNoaWZ0LCBMZWZ0U2hpZnRNb2RlOjpTYW1l
U2l6ZVJlc3VsdCk7CkBAIC0xNDQ1LDExICsxNDQxLDcgQEAgc3RhdGljIGNvbnN0ZXhwciBzaXpl
X3QgYml0c1BlckNoYXJUYWJsZU11bHRpcGxpZXIgPSAxdSA8PCBiaXRzUGVyQ2hhclRhYmxlU2hp
ZnQKIC8vIERpdmlkZSBiaXQgbGVuZ3RoIG9mIHRoZSBCaWdJbnQgYnkgYml0cyByZXByZXNlbnRh
YmxlIHBlciBjaGFyYWN0ZXIuCiB1aW50NjRfdCBKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNo
YXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHJhZGl4LCBEaWdpdCBs
YXN0RGlnaXQsIGJvb2wgc2lnbikKIHsKLSAgICB1bnNpZ25lZCBsZWFkaW5nWmVyb3M7Ci0gICAg
aWYgKHNpemVvZihsYXN0RGlnaXQpID09IDgpCi0gICAgICAgIGxlYWRpbmdaZXJvcyA9IGNsejY0
KGxhc3REaWdpdCk7Ci0gICAgZWxzZQotICAgICAgICBsZWFkaW5nWmVyb3MgPSBjbHozMihsYXN0
RGlnaXQpOworICAgIHVuc2lnbmVkIGxlYWRpbmdaZXJvcyA9IGNseihsYXN0RGlnaXQpOwogCiAg
ICAgc2l6ZV90IGJpdExlbmd0aCA9IGxlbmd0aCAqIGRpZ2l0Qml0cyAtIGxlYWRpbmdaZXJvczsK
IApAQCAtMTQ4MiwxOCArMTQ3NCwxNCBAQCBTdHJpbmcgSlNCaWdJbnQ6OnRvU3RyaW5nQmFzZVBv
d2VyT2ZUd28oRXhlY1N0YXRlKiBleGVjLCBKU0JpZ0ludCogeCwgdW5zaWduZWQgcgogCiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CiAgICAgY29uc3QgYm9vbCBzaWdu
ID0geC0+c2lnbigpOwotICAgIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6MzIocmFk
aXgpOworICAgIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6KHJhZGl4KTsKICAgICBj
b25zdCB1bnNpZ25lZCBjaGFyTWFzayA9IHJhZGl4IC0gMTsKICAgICAvLyBDb21wdXRlIHRoZSBs
ZW5ndGggb2YgdGhlIHJlc3VsdGluZyBzdHJpbmc6IGRpdmlkZSB0aGUgYml0IGxlbmd0aCBvZiB0
aGUKICAgICAvLyBCaWdJbnQgYnkgdGhlIG51bWJlciBvZiBiaXRzIHJlcHJlc2VudGFibGUgcGVy
IGNoYXJhY3RlciAocm91bmRpbmcgdXApLgogICAgIGNvbnN0IERpZ2l0IG1zZCA9IHgtPmRpZ2l0
KGxlbmd0aCAtIDEpOwogCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdCB1bnNpZ25lZCBt
c2RMZWFkaW5nWmVyb3MgPSBjbHo2NChtc2QpOwotI2Vsc2UKLSAgICBjb25zdCB1bnNpZ25lZCBt
c2RMZWFkaW5nWmVyb3MgPSBjbHozMihtc2QpOwotI2VuZGlmCi0gICAgCisgICAgY29uc3QgdW5z
aWduZWQgbXNkTGVhZGluZ1plcm9zID0gY2x6KG1zZCk7CisKICAgICBjb25zdCBzaXplX3QgYml0
TGVuZ3RoID0gbGVuZ3RoICogZGlnaXRCaXRzIC0gbXNkTGVhZGluZ1plcm9zOwogICAgIGNvbnN0
IHNpemVfdCBjaGFyc1JlcXVpcmVkID0gKGJpdExlbmd0aCArIGJpdHNQZXJDaGFyIC0gMSkgLyBi
aXRzUGVyQ2hhciArIHNpZ247CiAKQEAgLTE4NzYsNyArMTg2NCw3IEBAIEpTQmlnSW50OjpDb21w
YXJpc29uUmVzdWx0IEpTQmlnSW50Ojpjb21wYXJlVG9Eb3VibGUoSlNCaWdJbnQqIHgsIGRvdWJs
ZSB5KQogCiAgICAgaW50IHhMZW5ndGggPSB4LT5sZW5ndGgoKTsKICAgICBEaWdpdCB4TVNEID0g
eC0+ZGlnaXQoeExlbmd0aCAtIDEpOwotICAgIGludCBtc2RMZWFkaW5nWmVyb3MgPSBzaXplb2Yo
eE1TRCkgPT0gOCAgPyBjbHo2NCh4TVNEKSA6IGNsejMyKHhNU0QpOworICAgIGludCBtc2RMZWFk
aW5nWmVyb3MgPSBjbHooeE1TRCk7CiAKICAgICBpbnQgeEJpdExlbmd0aCA9IHhMZW5ndGggKiBk
aWdpdEJpdHMgLSBtc2RMZWFkaW5nWmVyb3M7CiAgICAgaW50IHlCaXRMZW5ndGggPSBleHBvbmVu
dCArIDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmlu
ZGV4IGI0ZjkzYzllNTM3NjZlOTBjZWEyNDc1ODlkMTA4ZDg1ZWIyNDczYjMuLjcxY2UzOGI4ZWQ1
ZmJkYWY0OTYwODcxMDE5ZWUxMWUwZGY4ZmEyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCkBAIC0xNjksNyArMTY5LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBtYXRoUHJvdG9GdW5jQ2x6MzIoRXhlY1N0YXRlKiBleGVjKQogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICB1aW50MzJfdCB2YWx1
ZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvVUludDMyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoSlNWYWx1ZShjbHozMih2YWx1ZSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpT
VmFsdWUoY2x6KHZhbHVlKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1h
dGhQcm90b0Z1bmNDb3MoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCmluZGV4IDZlMTc3
MDA5ZDcyZTdlNzFjYWJjMGI3N2NmZmFkZmY4YzRiMGJlMzUuLmUwMGIxZDFlZjJlOWNjZTMzMjgz
N2FkZDdhNGMxYzVkNjBkNjdlYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTMwMSwyMiArMzAxLDYg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIGJvb2wgaGFzVHdvT3JNb3JlQml0c1Nl
dChUIHZhbHVlKQogICAgIHJldHVybiAhaGFzWmVyb09yT25lQml0c1NldCh2YWx1ZSk7CiB9CiAK
LS8vIEZJWE1FOiBTb21lIERhcndpbiBwcm9qZWN0cyBzaGFtZWxlc3NseSBpbmNsdWRlIFdURiBo
ZWFkZXJzIGFuZCBkb24ndCBidWlsZCB3aXRoIEMrKzE0Li4uIFNlZTogcmRhcjovL3Byb2JsZW0v
NDUzOTU3NjcKLS8vIFNpbmNlIEMrKzExIGFuZCBiZWZvcmUgZG9uJ3Qgc3VwcG9ydCBjb25zdGV4
cHIgc3RhdGVtZW50cyB3ZSBjYW4ndCBtYXJrIHRoaXMgZnVuY3Rpb24gY29uc3RleHByLgotI2lm
ICFkZWZpbmVkKFdURl9DUFBfU1REX1ZFUikgfHwgV1RGX0NQUF9TVERfVkVSID49IDE0Ci10ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY29uc3RleHByIHVuc2lnbmVkIGdldExTQlNldChUIHZhbHVlKQot
ewotICAgIHR5cGVkZWYgdHlwZW5hbWUgc3RkOjptYWtlX3Vuc2lnbmVkPFQ+Ojp0eXBlIFVuc2ln
bmVkVDsKLSAgICB1bnNpZ25lZCByZXN1bHQgPSAwOwotCi0gICAgVW5zaWduZWRUIHVuc2lnbmVk
VmFsdWUgPSBzdGF0aWNfY2FzdDxVbnNpZ25lZFQ+KHZhbHVlKTsKLSAgICB3aGlsZSAodW5zaWdu
ZWRWYWx1ZSA+Pj0gMSkKLSAgICAgICAgKytyZXN1bHQ7Ci0KLSAgICByZXR1cm4gcmVzdWx0Owot
fQotI2VuZGlmCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIGRpdmlkZVJvdW5kZWRV
cChUIGEsIFQgYikKIHsKICAgICByZXR1cm4gKGEgKyBiIC0gMSkgLyBiOwpAQCAtNjMwLDQ5ICs2
MTQsMzEgQEAgdm9pZCBzaHVmZmxlVmVjdG9yKFZlY3RvclR5cGUmIHZlY3RvciwgY29uc3QgUmFu
ZG9tRnVuYyYgcmFuZG9tRnVuYykKICAgICBzaHVmZmxlVmVjdG9yKHZlY3RvciwgdmVjdG9yLnNp
emUoKSwgcmFuZG9tRnVuYyk7CiB9CiAKLWlubGluZSB1bnNpZ25lZCBjbHozMih1aW50MzJfdCBu
dW1iZXIpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIHVuc2lnbmVkIGNseihUIHZhbHVl
KQogewotI2lmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQotICAgIGlmIChudW1iZXIpCi0gICAg
ICAgIHJldHVybiBfX2J1aWx0aW5fY2x6KG51bWJlcik7Ci0gICAgcmV0dXJuIDMyOwotI2VsaWYg
Q09NUElMRVIoTVNWQykKLSAgICAvLyBWaXN1YWwgU3R1ZGlvIDIwMDggb3IgdXBwZXIgaGF2ZSBf
X2x6Y250LCBidXQgd2UgY2FuJ3QgZGV0ZWN0IEludGVsIEFWWCBhdCBjb21waWxlIHRpbWUuCi0g
ICAgLy8gU28gd2UgdXNlIGJpdC1zY2FuLXJldmVyc2Ugb3BlcmF0aW9uIHRvIGNhbGN1bGF0ZSBj
bHouCi0gICAgdW5zaWduZWQgbG9uZyByZXQgPSAwOwotICAgIGlmIChfQml0U2NhblJldmVyc2Uo
JnJldCwgbnVtYmVyKSkKLSAgICAgICAgcmV0dXJuIDMxIC0gcmV0OwotICAgIHJldHVybiAzMjsK
LSNlbHNlCi0gICAgdW5zaWduZWQgemVyb0NvdW50ID0gMDsKLSAgICBmb3IgKGludCBpID0gMzE7
IGkgPj0gMDsgaS0tKSB7Ci0gICAgICAgIGlmICghKG51bWJlciA+PiBpKSkKLSAgICAgICAgICAg
IHplcm9Db3VudCsrOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0g
ICAgcmV0dXJuIHplcm9Db3VudDsKLSNlbmRpZgotfQorICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBi
aXRTaXplID0gc2l6ZW9mKFQpICogQ0hBUl9CSVQ7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGJp
dFNpemU2NCA9IHNpemVvZih1aW50NjRfdCkgKiBDSEFSX0JJVDsKKworICAgIHVzaW5nIFVUID0g
dHlwZW5hbWUgc3RkOjptYWtlX3Vuc2lnbmVkPFQ+Ojp0eXBlOworICAgIFVUIHVWYWx1ZSA9IHZh
bHVlOwogCi1pbmxpbmUgdW5zaWduZWQgY2x6NjQodWludDY0X3QgbnVtYmVyKQotewogI2lmIENP
TVBJTEVSKEdDQ19DT01QQVRJQkxFKQotICAgIGlmIChudW1iZXIpCi0gICAgICAgIHJldHVybiBf
X2J1aWx0aW5fY2x6bGwobnVtYmVyKTsKLSAgICByZXR1cm4gNjQ7CisgICAgaWYgKHVWYWx1ZSkK
KyAgICAgICAgcmV0dXJuIF9fYnVpbHRpbl9jbHpsbCh1VmFsdWUpIC0gKGJpdFNpemU2NCAtIGJp
dFNpemUpOworICAgIHJldHVybiBiaXRTaXplOwogI2VsaWYgQ09NUElMRVIoTVNWQykgJiYgIUNQ
VShYODYpCiAgICAgLy8gVmlzdWFsIFN0dWRpbyAyMDA4IG9yIHVwcGVyIGhhdmUgX19semNudCwg
YnV0IHdlIGNhbid0IGRldGVjdCBJbnRlbCBBVlggYXQgY29tcGlsZSB0aW1lLgogICAgIC8vIFNv
IHdlIHVzZSBiaXQtc2Nhbi1yZXZlcnNlIG9wZXJhdGlvbiB0byBjYWxjdWxhdGUgY2x6LgogICAg
IC8vIF9CaXRTY2FuUmV2ZXJzZTY0IGlzIGRlZmluZWQgaW4gWDg2XzY0IGFuZCBBUk0gaW4gTVNW
QyBzdXBwb3J0ZWQgZW52aXJvbm1lbnRzLgogICAgIHVuc2lnbmVkIGxvbmcgcmV0ID0gMDsKICAg
ICBpZiAoX0JpdFNjYW5SZXZlcnNlNjQoJnJldCwgbnVtYmVyKSkKLSAgICAgICAgcmV0dXJuIDYz
IC0gcmV0OwotICAgIHJldHVybiA2NDsKKyAgICAgICAgcmV0dXJuIGJpdFNpemUgLSByZXQ7Cisg
ICAgcmV0dXJuIGJpdFNpemU7CiAjZWxzZQogICAgIHVuc2lnbmVkIHplcm9Db3VudCA9IDA7Ci0g
ICAgZm9yIChpbnQgaSA9IDYzOyBpID49IDA7IGktLSkgewotICAgICAgICBpZiAoIShudW1iZXIg
Pj4gaSkpCisgICAgZm9yIChpbnQgaSA9IGJpdFNpemU2NCAtIDE7IGkgPj0gMDsgaS0tKSB7Cisg
ICAgICAgIGlmICghKHN0YXRpY19jYXN0PHVpbnQ2NF90Pih1VmFsdWUpID4+IGkpKQogICAgICAg
ICAgICAgemVyb0NvdW50Kys7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
NjgxLDMwICs2NDcsNTEgQEAgaW5saW5lIHVuc2lnbmVkIGNsejY0KHVpbnQ2NF90IG51bWJlcikK
ICNlbmRpZgogfQogCi1pbmxpbmUgdW5zaWduZWQgY3R6MzIodWludDMyX3QgbnVtYmVyKQordGVt
cGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSB1bnNpZ25lZCBjdHooVCB2YWx1ZSkKIHsKKyAgICBj
b25zdGV4cHIgdW5zaWduZWQgYml0U2l6ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworCisgICAg
dXNpbmcgVVQgPSB0eXBlbmFtZSBzdGQ6Om1ha2VfdW5zaWduZWQ8VD46OnR5cGU7CisgICAgVVQg
dVZhbHVlID0gdmFsdWU7CisKICNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSAgICBpZiAo
bnVtYmVyKQotICAgICAgICByZXR1cm4gX19idWlsdGluX2N0eihudW1iZXIpOwotICAgIHJldHVy
biAzMjsKKyAgICBpZiAodVZhbHVlKQorICAgICAgICByZXR1cm4gX19idWlsdGluX2N0emxsKHVW
YWx1ZSk7CisgICAgcmV0dXJuIGJpdFNpemU7CiAjZWxpZiBDT01QSUxFUihNU1ZDKSAmJiAhQ1BV
KFg4NikKICAgICB1bnNpZ25lZCBsb25nIHJldCA9IDA7Ci0gICAgaWYgKF9CaXRTY2FuRm9yd2Fy
ZCgmcmV0LCBudW1iZXIpKQorICAgIGlmIChfQml0U2NhbkZvcndhcmQ2NCgmcmV0LCBudW1iZXIp
KQogICAgICAgICByZXR1cm4gcmV0OwotICAgIHJldHVybiAzMjsKKyAgICByZXR1cm4gYml0U2l6
ZTsKICNlbHNlCiAgICAgdW5zaWduZWQgemVyb0NvdW50ID0gMDsKLSAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgMzI7IGkrKykgewotICAgICAgICBpZiAobnVtYmVyICYgMSkKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgYml0U2l6ZTsgaSsrKSB7CisgICAgICAgIGlmICh1VmFsdWUg
JiAxKQogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgemVyb0NvdW50Kys7Ci0gICAgICAg
IG51bWJlciA+Pj0gMTsKKyAgICAgICAgdVZhbHVlID4+PSAxOwogICAgIH0KICAgICByZXR1cm4g
emVyb0NvdW50OwogI2VuZGlmCiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgdW5z
aWduZWQgZ2V0TFNCU2V0KFQgdCkKK3sKKyAgICBBU1NFUlQodCk7CisgICAgcmV0dXJuIGN0eih0
KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSB1bnNpZ25lZCBnZXRNU0JTZXQo
VCB0KQoreworICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBiaXRTaXplID0gc2l6ZW9mKFQpICogQ0hB
Ul9CSVQ7CisgICAgQVNTRVJUKHQpOworICAgIHJldHVybiBiaXRTaXplIC0gMSAtIGNseih0KTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdURjo6b3BhcXVlOwpAQCAtNzEyLDYg
KzY5OSw3IEBAIHVzaW5nIFdURjo6cHJlY2lzZUluZGV4TWFza1B0cjsKIHVzaW5nIFdURjo6cHJl
Y2lzZUluZGV4TWFza1NoaWZ0OwogdXNpbmcgV1RGOjpwcmVjaXNlSW5kZXhNYXNrU2hpZnRGb3JT
aXplOwogdXNpbmcgV1RGOjpzaHVmZmxlVmVjdG9yOwotdXNpbmcgV1RGOjpjbHozMjsKLXVzaW5n
IFdURjo6Y2x6NjQ7Ci11c2luZyBXVEY6OmN0ejMyOwordXNpbmcgV1RGOjpjbHo7Cit1c2luZyBX
VEY6OmN0ejsKK3VzaW5nIFdURjo6Z2V0TFNCU2V0OwordXNpbmcgV1RGOjpnZXRNU0JTZXQ7CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTY5OTgx
ZjhjNzZmZTU5OGM5YjE0ODNmZWE2MmMzMjBiYjY0MjM5ZC4uYWMwMTZiNzA4YWQ4NTFjOGZkZjVh
YjExNDY2ZmU2ZTQwYmIwZGY4MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAzLTIyICBLZWl0aCBNaWxsZXIg
IDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlZmFjdG9yIGNsei9jdHogYW5k
IGZpeCBnZXRMU0JTZXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTYxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4KKworICAg
ICAgICBBZGQgdGVzdHMgZm9yIGNseiwgY3R6LCBnZXRMU0JTZXQsIGFuZCBnZXRNU0JTZXQuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE5LTAzLTIxICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgV0syXSBUdXJuIG9uIGFzeW5j
IG92ZXJmbG93IHNjcm9sbGluZyBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL01hdGhFeHRyYXMuY3BwCmluZGV4IDEyODBkOGVjZWI1Y2Y3MmVmNmNjNDA2YTNhM2Ey
ZTc0YjFjNTE3MWMuLmQ4Y2M1NDc5ODhmNTViZTEwNDcxYmU4YWIxYjhlOWQyZjQ5ODNkYmUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01hdGhFeHRyYXMuY3BwCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01hdGhFeHRyYXMuY3BwCkBAIC00MzMs
NCArNDMzLDc4IEBAIFRFU1QoV1RGLCByb3VuZFVwVG9Qb3dlck9mVHdvKQogICAgIEVYUEVDVF9F
UShXVEY6OnJvdW5kVXBUb1Bvd2VyT2ZUd28oKDFVIDw8IDMxKSArIDEpLCAwVSk7CiB9CiAKK1RF
U1QoV1RGLCBjbHopCit7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PGludDMyX3Q+KDEpLCAzMVUp
OworICAgIEVYUEVDVF9FUShXVEY6OmNsejxpbnQzMl90Pig0MiksIDI2VSk7CisgICAgRVhQRUNU
X0VRKFdURjo6Y2x6PHVpbnQzMl90PigtMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8
dWludDMyX3Q+KHN0YXRpY19jYXN0PHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptaW4oKSkgPj4gMSksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDMyX3Q+
KDApLCAzMlUpOworCisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PGludDhfdD4oNDIpLCAyVSk7Cisg
ICAgRVhQRUNUX0VRKFdURjo6Y2x6PGludDhfdD4oMyksIDZVKTsKKyAgICBFWFBFQ1RfRVEoV1RG
OjpjbHo8dWludDhfdD4oLTEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PHVpbnQ4X3Q+
KDApLCA4VSk7CisKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8aW50NjRfdD4oLTEpLCAwVSk7Cisg
ICAgRVhQRUNUX0VRKFdURjo6Y2x6PGludDY0X3Q+KDEpLCA2M1UpOworICAgIEVYUEVDVF9FUShX
VEY6OmNsejxpbnQ2NF90PigzKSwgNjJVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDY0
X3Q+KDQyKSwgNThVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDY0X3Q+KDApLCA2NFUp
OworfQorCitURVNUKFdURiwgY3R6KQoreworICAgIEVYUEVDVF9FUShXVEY6OmN0ejxpbnQzMl90
PigxKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejxpbnQzMl90Pig0MiksIDFVKTsKKyAg
ICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDMyX3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShX
VEY6OmN0ejx1aW50MzJfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1p
dHM8aW50MzJfdD46Om1pbigpKSA+PiAxKSwgMzBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8
dWludDMyX3Q+KDApLCAzMlUpOworCisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDhfdD4oNDIp
LCAxVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDhfdD4oMyksIDBVKTsKKyAgICBFWFBF
Q1RfRVEoV1RGOjpjdHo8dWludDhfdD4oLTEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6
PHVpbnQ4X3Q+KDApLCA4VSk7CisKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8aW50NjRfdD4oLTEp
LCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDY0X3Q+KDEpLCAwVSk7CisgICAgRVhQ
RUNUX0VRKFdURjo6Y3R6PGludDY0X3Q+KDMpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6
PHVpbnQ2NF90Pig0MiksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDY0X3Q+KDAp
LCA2NFUpOworfQorCitURVNUKFdURiwgZ2V0TFNCU2V0KQoreworICAgIEVYUEVDVF9FUShXVEY6
OmdldExTQlNldDxpbnQzMl90PigxKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNl
dDxpbnQzMl90Pig0MiksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRMU0JTZXQ8dWludDMy
X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDx1aW50MzJfdD4oc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSA+
PiAxKSwgMzBVKTsKKworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQ4X3Q+KDQyKSwg
MVUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQ4X3Q+KDMpLCAwVSk7CisgICAg
RVhQRUNUX0VRKFdURjo6Z2V0TFNCU2V0PHVpbnQ4X3Q+KC0xKSwgMFUpOworCisgICAgRVhQRUNU
X0VRKFdURjo6Z2V0TFNCU2V0PGludDY0X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6
OmdldExTQlNldDxpbnQ2NF90PigxKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNl
dDxpbnQ2NF90PigzKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDx1aW50NjRf
dD4oNDIpLCAxVSk7Cit9CisKK1RFU1QoV1RGLCBnZXRNU0JTZXQpCit7CisgICAgRVhQRUNUX0VR
KFdURjo6Z2V0TVNCU2V0PGludDMyX3Q+KDEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0
TVNCU2V0PGludDMyX3Q+KDQyKSwgNVUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDx1
aW50MzJfdD4oLTEpLCAzMVUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDx1aW50MzJf
dD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1p
bigpKSA+PiAxKSwgMzBVKTsKKworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDxpbnQ4X3Q+
KDQyKSwgNVUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDxpbnQ4X3Q+KDMpLCAxVSk7
CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0PHVpbnQ4X3Q+KC0xKSwgN1UpOworCisgICAg
RVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDY0X3Q+KC0xKSwgNjNVKTsKKyAgICBFWFBFQ1Rf
RVEoV1RGOjpnZXRNU0JTZXQ8aW50NjRfdD4oMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpn
ZXRNU0JTZXQ8aW50NjRfdD4oMyksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JTZXQ8
dWludDY0X3Q+KDQyKSwgNVUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365775</attachid>
            <date>2019-03-22 16:25:28 -0700</date>
            <delta_ts>2019-03-23 17:54:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196162-20190322162515.patch</filename>
            <type>text/plain</type>
            <size>16148</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZDg1MTY5YmIzN2UzNzY3NDBjN2Y3OTQxZGNjODhiNjE4ODc0YWIwLi5kM2I4YmEzMjI3M2ZkZmVh
MjBhNTI4ZDdjYjg3ODY2YWI2MTkzMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOS0wMy0yMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZWZhY3RvciBjbHovY3R6IGFuZCBmaXggZ2V0TFNCU2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgUmVmYWN0b3IgcmVmZXJl
bmNlcyBvZiBjbHozMi82NCBhbmQgY3R6MzIgdG8gdXNlIGNseiBhbmQgY3R6LAorICAgICAgICBy
ZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3Rh
dGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50LmNwcDoKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OmRpZ2l0RGl2KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmFic29sdXRlRGl2V2l0aEJp
Z0ludERpdmlzb3IpOgorICAgICAgICAoSlNDOjpKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNo
YXJhY3RlcnNSZXF1aXJlZCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0b1N0cmluZ0Jhc2VQ
b3dlck9mVHdvKToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmNvbXBhcmVUb0RvdWJsZSk6Cisg
ICAgICAgICogcnVudGltZS9NYXRoT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6bWF0aFByb3Rv
RnVuY0NsejMyKToKKwogMjAxOS0wMy0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIGFuIGludmFsaWQgYXNzZXJ0aW9uIGluIERGRzo6U3BlY3VsYXRp
dmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlTnVsbE9yVW5kZWZpbmVkKCku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IGExZTA4MGUzMjIzZDg1ZDczMTZkMjk4NzY3NGVmZjYzZjRjZTQ3YTIuLjJjMjIxNWRh
YmE4ZTE0N2EyMjJlY2VmNGU3MTg3OGU3NWVmYzIxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MTktMDMtMjIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVmYWN0b3IgY2x6L2N0eiBhbmQgZml4IGdldExTQlNldC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgY2x6MzIvNjQgYW5k
IGN0ejMyIGdlbmVyaWMgc28gdGhleSB3b3JrIG9uIGFueQorICAgICAgICBudW1lcmljIHR5cGUu
IFNpbmNlIHRoZXNlIG1ldGhvZHMgd29yayBvbiBhbnkgdHlwZSB3ZSBkb24ndCBuZWVkCisgICAg
ICAgIHRvIGhhdmUgYSBzZXBhcmF0ZSBpbXBsZW1lbnRhdGlvbiBvZiBnZXRMU0JTZXQsIHdoaWNo
IGFsc28KKyAgICAgICAgaGFwcGVuZWQgdG8gYmUgZ2V0TVNCU2V0LiBUaGlzIHBhdGNoIGFsc28g
YWRkcyBnZXRNU0JTZXQgYXMgdGhlcmUKKyAgICAgICAgbWF5IGJlIHVzZXJzIHdobyB3YW50IHRo
YXQgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAg
IChXVEY6OmNseik6CisgICAgICAgIChXVEY6OmN0eik6CisgICAgICAgIChXVEY6OmdldExTQlNl
dCk6CisgICAgICAgIChXVEY6OmdldE1TQlNldCk6CisgICAgICAgIChnZXRMU0JTZXQpOiBEZWxl
dGVkLgorICAgICAgICAoV1RGOjpjbHozMik6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OmNsejY0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Y3R6MzIpOiBEZWxldGVkLgorCiAyMDE5LTAzLTIx
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBV
SSBwcm9jZXNzIFdlYlJUQyBydW50aW1lIGxvZ2dpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXgg
YThjMGRjZDVjNzkzMTZjZDE0YTRiNmM5ZmQ4MWI4ZDMxMjUyODZlYi4uZTViOTFiZGM0M2E0MjMx
Yzk0ZWI3MGI2ODcxNjdjMWQyNjBjNmE1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNzA0LDcg
KzcwNCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4
ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB1aW50MzJfdCB2YWx1ZSA9IHRvVUludDMyKCpu
dW1iZXIpOwotICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNOdW1iZXIoY2x6MzIodmFs
dWUpKSk7CisgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc051bWJlcihjbHoodmFsdWUp
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBzd2l0Y2ggKG5vZGUt
PmNoaWxkMSgpLnVzZUtpbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAKaW5kZXggMGY0Y2IzMDc5M2IzNjU2MGQ1MWYzNWI1ZGFiNDdjN2FkZmViMDUy
Ny4uMzRhZWE3Y2M3ZmEwODNiMGEyZDlkMmNlMjliYmI5Y2U0N2YwZWZjMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC01NDcsNyArNTQ3LDcgQEAg
dWludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aENsejMyKEV4ZWNTdGF0ZSogZXhl
YywgRW5jb2RlZEpTVmFsdWUgZW5jb2QKICAgICBKU1ZhbHVlIG9wMSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkT3AxKTsKICAgICB1aW50MzJfdCB2YWx1ZSA9IG9wMS50b1VJbnQzMihleGVjKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCAwKTsKLSAgICByZXR1cm4gY2x6MzIodmFs
dWUpOworICAgIHJldHVybiBjbHoodmFsdWUpOwogfQogCiBkb3VibGUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25Bcml0aEZSb3VuZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0lu
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAKaW5kZXgg
YzU4OGUzZmUxYjMwOGI1N2EwNmZkZTNmY2NiNTNiMGQxOGNhYWRkMy4uN2UzY2NiNDhiYjIyZTYw
NzY5ZmE1NTE1ZmMyMTViOTRhYjc1N2E5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQmlnSW50LmNwcApAQCAtNjQ3LDExICs2NDcsNyBAQCBpbmxpbmUgSlNCaWdJbnQ6OkRp
Z2l0IEpTQmlnSW50OjpkaWdpdERpdihEaWdpdCBoaWdoLCBEaWdpdCBsb3csIERpZ2l0IGRpdmlz
b3IsCiAjZWxzZQogICAgIHN0YXRpYyBjb25zdGV4cHIgRGlnaXQgaGFsZkRpZ2l0QmFzZSA9IDF1
bGwgPDwgaGFsZkRpZ2l0Qml0czsKICAgICAvLyBBZGFwdGVkIGZyb20gV2FycmVuLCBIYWNrZXIn
cyBEZWxpZ2h0LCBwLiAxNTIuCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICB1bnNpZ25lZCBzID0g
Y2x6NjQoZGl2aXNvcik7Ci0jZWxzZQotICAgIHVuc2lnbmVkIHMgPSBjbHozMihkaXZpc29yKTsK
LSNlbmRpZgorICAgIHVuc2lnbmVkIHMgPSBjbHooZGl2aXNvcik7CiAgICAgLy8gSWYge3N9IGlz
IGRpZ2l0Qml0cyBoZXJlLCBpdCBjYXVzZXMgYW4gdW5kZWZpbmVkIGJlaGF2aW9yLgogICAgIC8v
IEJ1dCB7c30gaXMgbmV2ZXIgZGlnaXRCaXRzIHNpbmNlIHtkaXZpc29yfSBpcyBuZXZlciB6ZXJv
IGhlcmUuCiAgICAgQVNTRVJUKHMgIT0gZGlnaXRCaXRzKTsKQEAgLTk4NCw3ICs5ODAsNyBAQCB2
b2lkIEpTQmlnSW50OjphYnNvbHV0ZURpdldpdGhCaWdJbnREaXZpc29yKEV4ZWNTdGF0ZSogZXhl
YywgSlNCaWdJbnQqIGRpdmlkZW5kLAogICAgIC8vIG92ZXJmbG93aW5nICh0aGV5IHRha2UgYSB0
d28gZGlnaXRzIHdpZGUgaW5wdXQsIGFuZCByZXR1cm4gYSBvbmUgZGlnaXQKICAgICAvLyByZXN1
bHQpLgogICAgIERpZ2l0IGxhc3REaWdpdCA9IGRpdmlzb3ItPmRpZ2l0KG4gLSAxKTsKLSAgICB1
bnNpZ25lZCBzaGlmdCA9IHNpemVvZihsYXN0RGlnaXQpID09IDggPyBjbHo2NChsYXN0RGlnaXQp
IDogY2x6MzIobGFzdERpZ2l0KTsKKyAgICB1bnNpZ25lZCBzaGlmdCA9IGNseihsYXN0RGlnaXQp
OwogCiAgICAgaWYgKHNoaWZ0ID4gMCkgewogICAgICAgICBkaXZpc29yID0gYWJzb2x1dGVMZWZ0
U2hpZnRBbHdheXNDb3B5KGV4ZWMsIGRpdmlzb3IsIHNoaWZ0LCBMZWZ0U2hpZnRNb2RlOjpTYW1l
U2l6ZVJlc3VsdCk7CkBAIC0xNDQ1LDExICsxNDQxLDcgQEAgc3RhdGljIGNvbnN0ZXhwciBzaXpl
X3QgYml0c1BlckNoYXJUYWJsZU11bHRpcGxpZXIgPSAxdSA8PCBiaXRzUGVyQ2hhclRhYmxlU2hp
ZnQKIC8vIERpdmlkZSBiaXQgbGVuZ3RoIG9mIHRoZSBCaWdJbnQgYnkgYml0cyByZXByZXNlbnRh
YmxlIHBlciBjaGFyYWN0ZXIuCiB1aW50NjRfdCBKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNo
YXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHJhZGl4LCBEaWdpdCBs
YXN0RGlnaXQsIGJvb2wgc2lnbikKIHsKLSAgICB1bnNpZ25lZCBsZWFkaW5nWmVyb3M7Ci0gICAg
aWYgKHNpemVvZihsYXN0RGlnaXQpID09IDgpCi0gICAgICAgIGxlYWRpbmdaZXJvcyA9IGNsejY0
KGxhc3REaWdpdCk7Ci0gICAgZWxzZQotICAgICAgICBsZWFkaW5nWmVyb3MgPSBjbHozMihsYXN0
RGlnaXQpOworICAgIHVuc2lnbmVkIGxlYWRpbmdaZXJvcyA9IGNseihsYXN0RGlnaXQpOwogCiAg
ICAgc2l6ZV90IGJpdExlbmd0aCA9IGxlbmd0aCAqIGRpZ2l0Qml0cyAtIGxlYWRpbmdaZXJvczsK
IApAQCAtMTQ4MiwxOCArMTQ3NCwxNCBAQCBTdHJpbmcgSlNCaWdJbnQ6OnRvU3RyaW5nQmFzZVBv
d2VyT2ZUd28oRXhlY1N0YXRlKiBleGVjLCBKU0JpZ0ludCogeCwgdW5zaWduZWQgcgogCiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CiAgICAgY29uc3QgYm9vbCBzaWdu
ID0geC0+c2lnbigpOwotICAgIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6MzIocmFk
aXgpOworICAgIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6KHJhZGl4KTsKICAgICBj
b25zdCB1bnNpZ25lZCBjaGFyTWFzayA9IHJhZGl4IC0gMTsKICAgICAvLyBDb21wdXRlIHRoZSBs
ZW5ndGggb2YgdGhlIHJlc3VsdGluZyBzdHJpbmc6IGRpdmlkZSB0aGUgYml0IGxlbmd0aCBvZiB0
aGUKICAgICAvLyBCaWdJbnQgYnkgdGhlIG51bWJlciBvZiBiaXRzIHJlcHJlc2VudGFibGUgcGVy
IGNoYXJhY3RlciAocm91bmRpbmcgdXApLgogICAgIGNvbnN0IERpZ2l0IG1zZCA9IHgtPmRpZ2l0
KGxlbmd0aCAtIDEpOwogCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdCB1bnNpZ25lZCBt
c2RMZWFkaW5nWmVyb3MgPSBjbHo2NChtc2QpOwotI2Vsc2UKLSAgICBjb25zdCB1bnNpZ25lZCBt
c2RMZWFkaW5nWmVyb3MgPSBjbHozMihtc2QpOwotI2VuZGlmCi0gICAgCisgICAgY29uc3QgdW5z
aWduZWQgbXNkTGVhZGluZ1plcm9zID0gY2x6KG1zZCk7CisKICAgICBjb25zdCBzaXplX3QgYml0
TGVuZ3RoID0gbGVuZ3RoICogZGlnaXRCaXRzIC0gbXNkTGVhZGluZ1plcm9zOwogICAgIGNvbnN0
IHNpemVfdCBjaGFyc1JlcXVpcmVkID0gKGJpdExlbmd0aCArIGJpdHNQZXJDaGFyIC0gMSkgLyBi
aXRzUGVyQ2hhciArIHNpZ247CiAKQEAgLTE4NzYsNyArMTg2NCw3IEBAIEpTQmlnSW50OjpDb21w
YXJpc29uUmVzdWx0IEpTQmlnSW50Ojpjb21wYXJlVG9Eb3VibGUoSlNCaWdJbnQqIHgsIGRvdWJs
ZSB5KQogCiAgICAgaW50IHhMZW5ndGggPSB4LT5sZW5ndGgoKTsKICAgICBEaWdpdCB4TVNEID0g
eC0+ZGlnaXQoeExlbmd0aCAtIDEpOwotICAgIGludCBtc2RMZWFkaW5nWmVyb3MgPSBzaXplb2Yo
eE1TRCkgPT0gOCAgPyBjbHo2NCh4TVNEKSA6IGNsejMyKHhNU0QpOworICAgIGludCBtc2RMZWFk
aW5nWmVyb3MgPSBjbHooeE1TRCk7CiAKICAgICBpbnQgeEJpdExlbmd0aCA9IHhMZW5ndGggKiBk
aWdpdEJpdHMgLSBtc2RMZWFkaW5nWmVyb3M7CiAgICAgaW50IHlCaXRMZW5ndGggPSBleHBvbmVu
dCArIDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmlu
ZGV4IGI0ZjkzYzllNTM3NjZlOTBjZWEyNDc1ODlkMTA4ZDg1ZWIyNDczYjMuLjcxY2UzOGI4ZWQ1
ZmJkYWY0OTYwODcxMDE5ZWUxMWUwZGY4ZmEyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCkBAIC0xNjksNyArMTY5LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBtYXRoUHJvdG9GdW5jQ2x6MzIoRXhlY1N0YXRlKiBleGVjKQogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICB1aW50MzJfdCB2YWx1
ZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvVUludDMyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoSlNWYWx1ZShjbHozMih2YWx1ZSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpT
VmFsdWUoY2x6KHZhbHVlKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1h
dGhQcm90b0Z1bmNDb3MoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCmluZGV4IDZlMTc3
MDA5ZDcyZTdlNzFjYWJjMGI3N2NmZmFkZmY4YzRiMGJlMzUuLmEzZWRkMmE4ODkyZTM4NTI5OTdl
Yzk5ODRmMzJkYjk5YTA0ODg2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTI2LDYgKzI2LDcgQEAK
ICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPGNsaW1pdHM+
CiAjaW5jbHVkZSA8Y21hdGg+CiAjaW5jbHVkZSA8ZmxvYXQuaD4KICNpbmNsdWRlIDxsaW1pdHM+
CkBAIC0zMDEsMjIgKzMwMiw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciBib29s
IGhhc1R3b09yTW9yZUJpdHNTZXQoVCB2YWx1ZSkKICAgICByZXR1cm4gIWhhc1plcm9Pck9uZUJp
dHNTZXQodmFsdWUpOwogfQogCi0vLyBGSVhNRTogU29tZSBEYXJ3aW4gcHJvamVjdHMgc2hhbWVs
ZXNzbHkgaW5jbHVkZSBXVEYgaGVhZGVycyBhbmQgZG9uJ3QgYnVpbGQgd2l0aCBDKysxNC4uLiBT
ZWU6IHJkYXI6Ly9wcm9ibGVtLzQ1Mzk1NzY3Ci0vLyBTaW5jZSBDKysxMSBhbmQgYmVmb3JlIGRv
bid0IHN1cHBvcnQgY29uc3RleHByIHN0YXRlbWVudHMgd2UgY2FuJ3QgbWFyayB0aGlzIGZ1bmN0
aW9uIGNvbnN0ZXhwci4KLSNpZiAhZGVmaW5lZChXVEZfQ1BQX1NURF9WRVIpIHx8IFdURl9DUFBf
U1REX1ZFUiA+PSAxNAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciB1bnNpZ25lZCBn
ZXRMU0JTZXQoVCB2YWx1ZSkKLXsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6bWFrZV91bnNp
Z25lZDxUPjo6dHlwZSBVbnNpZ25lZFQ7Ci0gICAgdW5zaWduZWQgcmVzdWx0ID0gMDsKLQotICAg
IFVuc2lnbmVkVCB1bnNpZ25lZFZhbHVlID0gc3RhdGljX2Nhc3Q8VW5zaWduZWRUPih2YWx1ZSk7
Ci0gICAgd2hpbGUgKHVuc2lnbmVkVmFsdWUgPj49IDEpCi0gICAgICAgICsrcmVzdWx0OwotCi0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNlbmRpZgotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgVCBkaXZpZGVSb3VuZGVkVXAoVCBhLCBUIGIpCiB7CiAgICAgcmV0dXJuIChhICsgYiAtIDEp
IC8gYjsKQEAgLTYzMCw0OSArNjE1LDMxIEBAIHZvaWQgc2h1ZmZsZVZlY3RvcihWZWN0b3JUeXBl
JiB2ZWN0b3IsIGNvbnN0IFJhbmRvbUZ1bmMmIHJhbmRvbUZ1bmMpCiAgICAgc2h1ZmZsZVZlY3Rv
cih2ZWN0b3IsIHZlY3Rvci5zaXplKCksIHJhbmRvbUZ1bmMpOwogfQogCi1pbmxpbmUgdW5zaWdu
ZWQgY2x6MzIodWludDMyX3QgbnVtYmVyKQordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSB1
bnNpZ25lZCBjbHooVCB2YWx1ZSkKIHsKLSNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSAg
ICBpZiAobnVtYmVyKQotICAgICAgICByZXR1cm4gX19idWlsdGluX2NseihudW1iZXIpOwotICAg
IHJldHVybiAzMjsKLSNlbGlmIENPTVBJTEVSKE1TVkMpCi0gICAgLy8gVmlzdWFsIFN0dWRpbyAy
MDA4IG9yIHVwcGVyIGhhdmUgX19semNudCwgYnV0IHdlIGNhbid0IGRldGVjdCBJbnRlbCBBVlgg
YXQgY29tcGlsZSB0aW1lLgotICAgIC8vIFNvIHdlIHVzZSBiaXQtc2Nhbi1yZXZlcnNlIG9wZXJh
dGlvbiB0byBjYWxjdWxhdGUgY2x6LgotICAgIHVuc2lnbmVkIGxvbmcgcmV0ID0gMDsKLSAgICBp
ZiAoX0JpdFNjYW5SZXZlcnNlKCZyZXQsIG51bWJlcikpCi0gICAgICAgIHJldHVybiAzMSAtIHJl
dDsKLSAgICByZXR1cm4gMzI7Ci0jZWxzZQotICAgIHVuc2lnbmVkIHplcm9Db3VudCA9IDA7Ci0g
ICAgZm9yIChpbnQgaSA9IDMxOyBpID49IDA7IGktLSkgewotICAgICAgICBpZiAoIShudW1iZXIg
Pj4gaSkpCi0gICAgICAgICAgICB6ZXJvQ291bnQrKzsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIHJldHVybiB6ZXJvQ291bnQ7Ci0jZW5kaWYKLX0KKyAgICBj
b25zdGV4cHIgdW5zaWduZWQgYml0U2l6ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworICAgIGNv
bnN0ZXhwciB1bnNpZ25lZCBiaXRTaXplNjQgPSBzaXplb2YodWludDY0X3QpICogQ0hBUl9CSVQ7
CisKKyAgICB1c2luZyBVVCA9IHR5cGVuYW1lIHN0ZDo6bWFrZV91bnNpZ25lZDxUPjo6dHlwZTsK
KyAgICBVVCB1VmFsdWUgPSB2YWx1ZTsKIAotaW5saW5lIHVuc2lnbmVkIGNsejY0KHVpbnQ2NF90
IG51bWJlcikKLXsKICNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSAgICBpZiAobnVtYmVy
KQotICAgICAgICByZXR1cm4gX19idWlsdGluX2NsemxsKG51bWJlcik7Ci0gICAgcmV0dXJuIDY0
OworICAgIGlmICh1VmFsdWUpCisgICAgICAgIHJldHVybiBfX2J1aWx0aW5fY2x6bGwodVZhbHVl
KSAtIChiaXRTaXplNjQgLSBiaXRTaXplKTsKKyAgICByZXR1cm4gYml0U2l6ZTsKICNlbGlmIENP
TVBJTEVSKE1TVkMpICYmICFDUFUoWDg2KQogICAgIC8vIFZpc3VhbCBTdHVkaW8gMjAwOCBvciB1
cHBlciBoYXZlIF9fbHpjbnQsIGJ1dCB3ZSBjYW4ndCBkZXRlY3QgSW50ZWwgQVZYIGF0IGNvbXBp
bGUgdGltZS4KICAgICAvLyBTbyB3ZSB1c2UgYml0LXNjYW4tcmV2ZXJzZSBvcGVyYXRpb24gdG8g
Y2FsY3VsYXRlIGNsei4KICAgICAvLyBfQml0U2NhblJldmVyc2U2NCBpcyBkZWZpbmVkIGluIFg4
Nl82NCBhbmQgQVJNIGluIE1TVkMgc3VwcG9ydGVkIGVudmlyb25tZW50cy4KICAgICB1bnNpZ25l
ZCBsb25nIHJldCA9IDA7CiAgICAgaWYgKF9CaXRTY2FuUmV2ZXJzZTY0KCZyZXQsIG51bWJlcikp
Ci0gICAgICAgIHJldHVybiA2MyAtIHJldDsKLSAgICByZXR1cm4gNjQ7CisgICAgICAgIHJldHVy
biBiaXRTaXplIC0gcmV0OworICAgIHJldHVybiBiaXRTaXplOwogI2Vsc2UKICAgICB1bnNpZ25l
ZCB6ZXJvQ291bnQgPSAwOwotICAgIGZvciAoaW50IGkgPSA2MzsgaSA+PSAwOyBpLS0pIHsKLSAg
ICAgICAgaWYgKCEobnVtYmVyID4+IGkpKQorICAgIGZvciAoaW50IGkgPSBiaXRTaXplNjQgLSAx
OyBpID49IDA7IGktLSkgeworICAgICAgICBpZiAoIShzdGF0aWNfY2FzdDx1aW50NjRfdD4odVZh
bHVlKSA+PiBpKSkKICAgICAgICAgICAgIHplcm9Db3VudCsrOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBicmVhazsKQEAgLTY4MSwzMCArNjQ4LDUxIEBAIGlubGluZSB1bnNpZ25lZCBjbHo2
NCh1aW50NjRfdCBudW1iZXIpCiAjZW5kaWYKIH0KIAotaW5saW5lIHVuc2lnbmVkIGN0ejMyKHVp
bnQzMl90IG51bWJlcikKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgdW5zaWduZWQgY3R6
KFQgdmFsdWUpCiB7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGJpdFNpemUgPSBzaXplb2YoVCkg
KiBDSEFSX0JJVDsKKworICAgIHVzaW5nIFVUID0gdHlwZW5hbWUgc3RkOjptYWtlX3Vuc2lnbmVk
PFQ+Ojp0eXBlOworICAgIFVUIHVWYWx1ZSA9IHZhbHVlOworCiAjaWYgQ09NUElMRVIoR0NDX0NP
TVBBVElCTEUpCi0gICAgaWYgKG51bWJlcikKLSAgICAgICAgcmV0dXJuIF9fYnVpbHRpbl9jdHoo
bnVtYmVyKTsKLSAgICByZXR1cm4gMzI7CisgICAgaWYgKHVWYWx1ZSkKKyAgICAgICAgcmV0dXJu
IF9fYnVpbHRpbl9jdHpsbCh1VmFsdWUpOworICAgIHJldHVybiBiaXRTaXplOwogI2VsaWYgQ09N
UElMRVIoTVNWQykgJiYgIUNQVShYODYpCiAgICAgdW5zaWduZWQgbG9uZyByZXQgPSAwOwotICAg
IGlmIChfQml0U2NhbkZvcndhcmQoJnJldCwgbnVtYmVyKSkKKyAgICBpZiAoX0JpdFNjYW5Gb3J3
YXJkNjQoJnJldCwgbnVtYmVyKSkKICAgICAgICAgcmV0dXJuIHJldDsKLSAgICByZXR1cm4gMzI7
CisgICAgcmV0dXJuIGJpdFNpemU7CiAjZWxzZQogICAgIHVuc2lnbmVkIHplcm9Db3VudCA9IDA7
Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDMyOyBpKyspIHsKLSAgICAgICAgaWYgKG51
bWJlciAmIDEpCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJpdFNpemU7IGkrKykgewor
ICAgICAgICBpZiAodVZhbHVlICYgMSkKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIHpl
cm9Db3VudCsrOwotICAgICAgICBudW1iZXIgPj49IDE7CisgICAgICAgIHVWYWx1ZSA+Pj0gMTsK
ICAgICB9CiAgICAgcmV0dXJuIHplcm9Db3VudDsKICNlbmRpZgogfQogCit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgoraW5saW5lIHVuc2lnbmVkIGdldExTQlNldChUIHQpCit7CisgICAgQVNTRVJUKHQp
OworICAgIHJldHVybiBjdHoodCk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUg
dW5zaWduZWQgZ2V0TVNCU2V0KFQgdCkKK3sKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgYml0U2l6
ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworICAgIEFTU0VSVCh0KTsKKyAgICByZXR1cm4gYml0
U2l6ZSAtIDEgLSBjbHoodCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6
Om9wYXF1ZTsKQEAgLTcxMiw2ICs3MDAsNyBAQCB1c2luZyBXVEY6OnByZWNpc2VJbmRleE1hc2tQ
dHI7CiB1c2luZyBXVEY6OnByZWNpc2VJbmRleE1hc2tTaGlmdDsKIHVzaW5nIFdURjo6cHJlY2lz
ZUluZGV4TWFza1NoaWZ0Rm9yU2l6ZTsKIHVzaW5nIFdURjo6c2h1ZmZsZVZlY3RvcjsKLXVzaW5n
IFdURjo6Y2x6MzI7Ci11c2luZyBXVEY6OmNsejY0OwotdXNpbmcgV1RGOjpjdHozMjsKK3VzaW5n
IFdURjo6Y2x6OwordXNpbmcgV1RGOjpjdHo7Cit1c2luZyBXVEY6OmdldExTQlNldDsKK3VzaW5n
IFdURjo6Z2V0TVNCU2V0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDU2OTk4MWY4Yzc2ZmU1OThjOWIxNDgzZmVhNjJjMzIwYmI2NDIzOWQuLmFj
MDE2YjcwOGFkODUxYzhmZGY1YWIxMTQ2NmZlNmU0MGJiMGRmODMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0w
My0yMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBjbHovY3R6IGFuZCBmaXggZ2V0TFNCU2V0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2FhbSBCYXJhdGkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBjbHosIGN0eiwgZ2V0TFNCU2V0
LCBhbmQgZ2V0TVNCU2V0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWF0
aEV4dHJhcy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0wMy0y
MSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
IFdLMl0gVHVybiBvbiBhc3luYyBvdmVyZmxvdyBzY3JvbGxpbmcgYnkgZGVmYXVsdApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWF0aEV4dHJhcy5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcAppbmRleCAxMjgwZDhlY2Vi
NWNmNzJlZjZjYzQwNmEzYTNhMmU3NGIxYzUxNzFjLi5kOGNjNTQ3OTg4ZjU1YmUxMDQ3MWJlOGFi
MWI4ZTlkMmY0OTgzZGJlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9NYXRoRXh0cmFzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRo
RXh0cmFzLmNwcApAQCAtNDMzLDQgKzQzMyw3OCBAQCBURVNUKFdURiwgcm91bmRVcFRvUG93ZXJP
ZlR3bykKICAgICBFWFBFQ1RfRVEoV1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKCgxVSA8PCAzMSkg
KyAxKSwgMFUpOwogfQogCitURVNUKFdURiwgY2x6KQoreworICAgIEVYUEVDVF9FUShXVEY6OmNs
ejxpbnQzMl90PigxKSwgMzFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8aW50MzJfdD4oNDIp
LCAyNlUpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejx1aW50MzJfdD4oLTEpLCAwVSk7CisgICAg
RVhQRUNUX0VRKFdURjo6Y2x6PHVpbnQzMl90PihzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3RkOjpu
dW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWluKCkpID4+IDEpLCAxVSk7CisgICAgRVhQRUNUX0VR
KFdURjo6Y2x6PHVpbnQzMl90PigwKSwgMzJVKTsKKworICAgIEVYUEVDVF9FUShXVEY6OmNsejxp
bnQ4X3Q+KDQyKSwgMlUpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejxpbnQ4X3Q+KDMpLCA2VSk7
CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PHVpbnQ4X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9F
UShXVEY6OmNsejx1aW50OF90PigwKSwgOFUpOworCisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PGlu
dDY0X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejxpbnQ2NF90PigxKSwgNjNV
KTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8aW50NjRfdD4oMyksIDYyVSk7CisgICAgRVhQRUNU
X0VRKFdURjo6Y2x6PHVpbnQ2NF90Pig0MiksIDU4VSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6
PHVpbnQ2NF90PigwKSwgNjRVKTsKK30KKworVEVTVChXVEYsIGN0eikKK3sKKyAgICBFWFBFQ1Rf
RVEoV1RGOjpjdHo8aW50MzJfdD4oMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8aW50
MzJfdD4oNDIpLCAxVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQzMl90PigtMSksIDBV
KTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDMyX3Q+KHN0YXRpY19jYXN0PHVpbnQzMl90
PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSkgPj4gMSksIDMwVSk7CisgICAg
RVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQzMl90PigwKSwgMzJVKTsKKworICAgIEVYUEVDVF9FUShX
VEY6OmN0ejxpbnQ4X3Q+KDQyKSwgMVUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejxpbnQ4X3Q+
KDMpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQ4X3Q+KC0xKSwgMFUpOworICAg
IEVYUEVDVF9FUShXVEY6OmN0ejx1aW50OF90PigwKSwgOFUpOworCisgICAgRVhQRUNUX0VRKFdU
Rjo6Y3R6PGludDY0X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejxpbnQ2NF90
PigxKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejxpbnQ2NF90PigzKSwgMFUpOworICAg
IEVYUEVDVF9FUShXVEY6OmN0ejx1aW50NjRfdD4oNDIpLCAxVSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Y3R6PHVpbnQ2NF90PigwKSwgNjRVKTsKK30KKworVEVTVChXVEYsIGdldExTQlNldCkKK3sK
KyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRMU0JTZXQ8aW50MzJfdD4oMSksIDBVKTsKKyAgICBFWFBF
Q1RfRVEoV1RGOjpnZXRMU0JTZXQ8aW50MzJfdD4oNDIpLCAxVSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Z2V0TFNCU2V0PHVpbnQzMl90PigtMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRM
U0JTZXQ8dWludDMyX3Q+KHN0YXRpY19jYXN0PHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRz
PGludDMyX3Q+OjptaW4oKSkgPj4gMSksIDMwVSk7CisKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRM
U0JTZXQ8aW50OF90Pig0MiksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRMU0JTZXQ8aW50
OF90PigzKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDx1aW50OF90PigtMSks
IDBVKTsKKworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQ2NF90PigtMSksIDBVKTsK
KyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRMU0JTZXQ8aW50NjRfdD4oMSksIDBVKTsKKyAgICBFWFBF
Q1RfRVEoV1RGOjpnZXRMU0JTZXQ8aW50NjRfdD4oMyksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RG
OjpnZXRMU0JTZXQ8dWludDY0X3Q+KDQyKSwgMVUpOworfQorCitURVNUKFdURiwgZ2V0TVNCU2V0
KQoreworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDxpbnQzMl90PigxKSwgMFUpOworICAg
IEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDxpbnQzMl90Pig0MiksIDVVKTsKKyAgICBFWFBFQ1Rf
RVEoV1RGOjpnZXRNU0JTZXQ8dWludDMyX3Q+KC0xKSwgMzFVKTsKKyAgICBFWFBFQ1RfRVEoV1RG
OjpnZXRNU0JTZXQ8dWludDMyX3Q+KHN0YXRpY19jYXN0PHVpbnQzMl90PihzdGQ6Om51bWVyaWNf
bGltaXRzPGludDMyX3Q+OjptaW4oKSkgPj4gMSksIDMwVSk7CisKKyAgICBFWFBFQ1RfRVEoV1RG
OjpnZXRNU0JTZXQ8aW50OF90Pig0MiksIDVVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JT
ZXQ8aW50OF90PigzKSwgMVUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDx1aW50OF90
PigtMSksIDdVKTsKKworICAgIEVYUEVDVF9FUShXVEY6OmdldE1TQlNldDxpbnQ2NF90PigtMSks
IDYzVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDY0X3Q+KDEpLCAwVSk7Cisg
ICAgRVhQRUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDY0X3Q+KDMpLCAxVSk7CisgICAgRVhQRUNU
X0VRKFdURjo6Z2V0TVNCU2V0PHVpbnQ2NF90Pig0MiksIDVVKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365822</attachid>
            <date>2019-03-23 17:54:04 -0700</date>
            <delta_ts>2019-03-23 18:32:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-196162-20190323205354.patch</filename>
            <type>text/plain</type>
            <size>16351</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZDg1MTY5YmIzN2UzNzY3NDBjN2Y3OTQxZGNjODhiNjE4ODc0YWIwLi5kM2I4YmEzMjI3M2ZkZmVh
MjBhNTI4ZDdjYjg3ODY2YWI2MTkzMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOS0wMy0yMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZWZhY3RvciBjbHovY3R6IGFuZCBmaXggZ2V0TFNCU2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgUmVmYWN0b3IgcmVmZXJl
bmNlcyBvZiBjbHozMi82NCBhbmQgY3R6MzIgdG8gdXNlIGNseiBhbmQgY3R6LAorICAgICAgICBy
ZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3Rh
dGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50LmNwcDoKKyAgICAgICAgKEpTQzo6SlNCaWdJ
bnQ6OmRpZ2l0RGl2KToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmFic29sdXRlRGl2V2l0aEJp
Z0ludERpdmlzb3IpOgorICAgICAgICAoSlNDOjpKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNo
YXJhY3RlcnNSZXF1aXJlZCk6CisgICAgICAgIChKU0M6OkpTQmlnSW50Ojp0b1N0cmluZ0Jhc2VQ
b3dlck9mVHdvKToKKyAgICAgICAgKEpTQzo6SlNCaWdJbnQ6OmNvbXBhcmVUb0RvdWJsZSk6Cisg
ICAgICAgICogcnVudGltZS9NYXRoT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6bWF0aFByb3Rv
RnVuY0NsejMyKToKKwogMjAxOS0wMy0yMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIGFuIGludmFsaWQgYXNzZXJ0aW9uIGluIERGRzo6U3BlY3VsYXRp
dmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlTnVsbE9yVW5kZWZpbmVkKCku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IGExZTA4MGUzMjIzZDg1ZDczMTZkMjk4NzY3NGVmZjYzZjRjZTQ3YTIuLjJjMjIxNWRh
YmE4ZTE0N2EyMjJlY2VmNGU3MTg3OGU3NWVmYzIxZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MTktMDMtMjIgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVmYWN0b3IgY2x6L2N0eiBhbmQgZml4IGdldExTQlNldC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjE2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNhYW0gQmFyYXRpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgY2x6MzIvNjQgYW5k
IGN0ejMyIGdlbmVyaWMgc28gdGhleSB3b3JrIG9uIGFueQorICAgICAgICBudW1lcmljIHR5cGUu
IFNpbmNlIHRoZXNlIG1ldGhvZHMgd29yayBvbiBhbnkgdHlwZSB3ZSBkb24ndCBuZWVkCisgICAg
ICAgIHRvIGhhdmUgYSBzZXBhcmF0ZSBpbXBsZW1lbnRhdGlvbiBvZiBnZXRMU0JTZXQsIHdoaWNo
IGFsc28KKyAgICAgICAgaGFwcGVuZWQgdG8gYmUgZ2V0TVNCU2V0LiBUaGlzIHBhdGNoIGFsc28g
YWRkcyBnZXRNU0JTZXQgYXMgdGhlcmUKKyAgICAgICAgbWF5IGJlIHVzZXJzIHdobyB3YW50IHRo
YXQgaW4gdGhlIGZ1dHVyZS4KKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAg
IChXVEY6OmNseik6CisgICAgICAgIChXVEY6OmN0eik6CisgICAgICAgIChXVEY6OmdldExTQlNl
dCk6CisgICAgICAgIChXVEY6OmdldE1TQlNldCk6CisgICAgICAgIChnZXRMU0JTZXQpOiBEZWxl
dGVkLgorICAgICAgICAoV1RGOjpjbHozMik6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OmNsejY0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Y3R6MzIpOiBEZWxldGVkLgorCiAyMDE5LTAzLTIx
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBV
SSBwcm9jZXNzIFdlYlJUQyBydW50aW1lIGxvZ2dpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXgg
YThjMGRjZDVjNzkzMTZjZDE0YTRiNmM5ZmQ4MWI4ZDMxMjUyODZlYi4uZTViOTFiZGM0M2E0MjMx
Yzk0ZWI3MGI2ODcxNjdjMWQyNjBjNmE1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtNzA0LDcg
KzcwNCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4
ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB1aW50MzJfdCB2YWx1ZSA9IHRvVUludDMyKCpu
dW1iZXIpOwotICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNOdW1iZXIoY2x6MzIodmFs
dWUpKSk7CisgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc051bWJlcihjbHoodmFsdWUp
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBzd2l0Y2ggKG5vZGUt
PmNoaWxkMSgpLnVzZUtpbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAKaW5kZXggMGY0Y2IzMDc5M2IzNjU2MGQ1MWYzNWI1ZGFiNDdjN2FkZmViMDUy
Ny4uMzRhZWE3Y2M3ZmEwODNiMGEyZDlkMmNlMjliYmI5Y2U0N2YwZWZjMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC01NDcsNyArNTQ3LDcgQEAg
dWludDMyX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Bcml0aENsejMyKEV4ZWNTdGF0ZSogZXhl
YywgRW5jb2RlZEpTVmFsdWUgZW5jb2QKICAgICBKU1ZhbHVlIG9wMSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkT3AxKTsKICAgICB1aW50MzJfdCB2YWx1ZSA9IG9wMS50b1VJbnQzMihleGVjKTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCAwKTsKLSAgICByZXR1cm4gY2x6MzIodmFs
dWUpOworICAgIHJldHVybiBjbHoodmFsdWUpOwogfQogCiBkb3VibGUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25Bcml0aEZSb3VuZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0lu
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAKaW5kZXgg
YzU4OGUzZmUxYjMwOGI1N2EwNmZkZTNmY2NiNTNiMGQxOGNhYWRkMy4uN2UzY2NiNDhiYjIyZTYw
NzY5ZmE1NTE1ZmMyMTViOTRhYjc1N2E5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQmlnSW50LmNwcApAQCAtNjQ3LDExICs2NDcsNyBAQCBpbmxpbmUgSlNCaWdJbnQ6OkRp
Z2l0IEpTQmlnSW50OjpkaWdpdERpdihEaWdpdCBoaWdoLCBEaWdpdCBsb3csIERpZ2l0IGRpdmlz
b3IsCiAjZWxzZQogICAgIHN0YXRpYyBjb25zdGV4cHIgRGlnaXQgaGFsZkRpZ2l0QmFzZSA9IDF1
bGwgPDwgaGFsZkRpZ2l0Qml0czsKICAgICAvLyBBZGFwdGVkIGZyb20gV2FycmVuLCBIYWNrZXIn
cyBEZWxpZ2h0LCBwLiAxNTIuCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICB1bnNpZ25lZCBzID0g
Y2x6NjQoZGl2aXNvcik7Ci0jZWxzZQotICAgIHVuc2lnbmVkIHMgPSBjbHozMihkaXZpc29yKTsK
LSNlbmRpZgorICAgIHVuc2lnbmVkIHMgPSBjbHooZGl2aXNvcik7CiAgICAgLy8gSWYge3N9IGlz
IGRpZ2l0Qml0cyBoZXJlLCBpdCBjYXVzZXMgYW4gdW5kZWZpbmVkIGJlaGF2aW9yLgogICAgIC8v
IEJ1dCB7c30gaXMgbmV2ZXIgZGlnaXRCaXRzIHNpbmNlIHtkaXZpc29yfSBpcyBuZXZlciB6ZXJv
IGhlcmUuCiAgICAgQVNTRVJUKHMgIT0gZGlnaXRCaXRzKTsKQEAgLTk4NCw3ICs5ODAsNyBAQCB2
b2lkIEpTQmlnSW50OjphYnNvbHV0ZURpdldpdGhCaWdJbnREaXZpc29yKEV4ZWNTdGF0ZSogZXhl
YywgSlNCaWdJbnQqIGRpdmlkZW5kLAogICAgIC8vIG92ZXJmbG93aW5nICh0aGV5IHRha2UgYSB0
d28gZGlnaXRzIHdpZGUgaW5wdXQsIGFuZCByZXR1cm4gYSBvbmUgZGlnaXQKICAgICAvLyByZXN1
bHQpLgogICAgIERpZ2l0IGxhc3REaWdpdCA9IGRpdmlzb3ItPmRpZ2l0KG4gLSAxKTsKLSAgICB1
bnNpZ25lZCBzaGlmdCA9IHNpemVvZihsYXN0RGlnaXQpID09IDggPyBjbHo2NChsYXN0RGlnaXQp
IDogY2x6MzIobGFzdERpZ2l0KTsKKyAgICB1bnNpZ25lZCBzaGlmdCA9IGNseihsYXN0RGlnaXQp
OwogCiAgICAgaWYgKHNoaWZ0ID4gMCkgewogICAgICAgICBkaXZpc29yID0gYWJzb2x1dGVMZWZ0
U2hpZnRBbHdheXNDb3B5KGV4ZWMsIGRpdmlzb3IsIHNoaWZ0LCBMZWZ0U2hpZnRNb2RlOjpTYW1l
U2l6ZVJlc3VsdCk7CkBAIC0xNDQ1LDExICsxNDQxLDcgQEAgc3RhdGljIGNvbnN0ZXhwciBzaXpl
X3QgYml0c1BlckNoYXJUYWJsZU11bHRpcGxpZXIgPSAxdSA8PCBiaXRzUGVyQ2hhclRhYmxlU2hp
ZnQKIC8vIERpdmlkZSBiaXQgbGVuZ3RoIG9mIHRoZSBCaWdJbnQgYnkgYml0cyByZXByZXNlbnRh
YmxlIHBlciBjaGFyYWN0ZXIuCiB1aW50NjRfdCBKU0JpZ0ludDo6Y2FsY3VsYXRlTWF4aW11bUNo
YXJhY3RlcnNSZXF1aXJlZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHJhZGl4LCBEaWdpdCBs
YXN0RGlnaXQsIGJvb2wgc2lnbikKIHsKLSAgICB1bnNpZ25lZCBsZWFkaW5nWmVyb3M7Ci0gICAg
aWYgKHNpemVvZihsYXN0RGlnaXQpID09IDgpCi0gICAgICAgIGxlYWRpbmdaZXJvcyA9IGNsejY0
KGxhc3REaWdpdCk7Ci0gICAgZWxzZQotICAgICAgICBsZWFkaW5nWmVyb3MgPSBjbHozMihsYXN0
RGlnaXQpOworICAgIHVuc2lnbmVkIGxlYWRpbmdaZXJvcyA9IGNseihsYXN0RGlnaXQpOwogCiAg
ICAgc2l6ZV90IGJpdExlbmd0aCA9IGxlbmd0aCAqIGRpZ2l0Qml0cyAtIGxlYWRpbmdaZXJvczsK
IApAQCAtMTQ4MiwxOCArMTQ3NCwxNCBAQCBTdHJpbmcgSlNCaWdJbnQ6OnRvU3RyaW5nQmFzZVBv
d2VyT2ZUd28oRXhlY1N0YXRlKiBleGVjLCBKU0JpZ0ludCogeCwgdW5zaWduZWQgcgogCiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CiAgICAgY29uc3QgYm9vbCBzaWdu
ID0geC0+c2lnbigpOwotICAgIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6MzIocmFk
aXgpOworICAgIGNvbnN0IHVuc2lnbmVkIGJpdHNQZXJDaGFyID0gY3R6KHJhZGl4KTsKICAgICBj
b25zdCB1bnNpZ25lZCBjaGFyTWFzayA9IHJhZGl4IC0gMTsKICAgICAvLyBDb21wdXRlIHRoZSBs
ZW5ndGggb2YgdGhlIHJlc3VsdGluZyBzdHJpbmc6IGRpdmlkZSB0aGUgYml0IGxlbmd0aCBvZiB0
aGUKICAgICAvLyBCaWdJbnQgYnkgdGhlIG51bWJlciBvZiBiaXRzIHJlcHJlc2VudGFibGUgcGVy
IGNoYXJhY3RlciAocm91bmRpbmcgdXApLgogICAgIGNvbnN0IERpZ2l0IG1zZCA9IHgtPmRpZ2l0
KGxlbmd0aCAtIDEpOwogCi0jaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBjb25zdCB1bnNpZ25lZCBt
c2RMZWFkaW5nWmVyb3MgPSBjbHo2NChtc2QpOwotI2Vsc2UKLSAgICBjb25zdCB1bnNpZ25lZCBt
c2RMZWFkaW5nWmVyb3MgPSBjbHozMihtc2QpOwotI2VuZGlmCi0gICAgCisgICAgY29uc3QgdW5z
aWduZWQgbXNkTGVhZGluZ1plcm9zID0gY2x6KG1zZCk7CisKICAgICBjb25zdCBzaXplX3QgYml0
TGVuZ3RoID0gbGVuZ3RoICogZGlnaXRCaXRzIC0gbXNkTGVhZGluZ1plcm9zOwogICAgIGNvbnN0
IHNpemVfdCBjaGFyc1JlcXVpcmVkID0gKGJpdExlbmd0aCArIGJpdHNQZXJDaGFyIC0gMSkgLyBi
aXRzUGVyQ2hhciArIHNpZ247CiAKQEAgLTE4NzYsNyArMTg2NCw3IEBAIEpTQmlnSW50OjpDb21w
YXJpc29uUmVzdWx0IEpTQmlnSW50Ojpjb21wYXJlVG9Eb3VibGUoSlNCaWdJbnQqIHgsIGRvdWJs
ZSB5KQogCiAgICAgaW50IHhMZW5ndGggPSB4LT5sZW5ndGgoKTsKICAgICBEaWdpdCB4TVNEID0g
eC0+ZGlnaXQoeExlbmd0aCAtIDEpOwotICAgIGludCBtc2RMZWFkaW5nWmVyb3MgPSBzaXplb2Yo
eE1TRCkgPT0gOCAgPyBjbHo2NCh4TVNEKSA6IGNsejMyKHhNU0QpOworICAgIGludCBtc2RMZWFk
aW5nWmVyb3MgPSBjbHooeE1TRCk7CiAKICAgICBpbnQgeEJpdExlbmd0aCA9IHhMZW5ndGggKiBk
aWdpdEJpdHMgLSBtc2RMZWFkaW5nWmVyb3M7CiAgICAgaW50IHlCaXRMZW5ndGggPSBleHBvbmVu
dCArIDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmlu
ZGV4IGI0ZjkzYzllNTM3NjZlOTBjZWEyNDc1ODlkMTA4ZDg1ZWIyNDczYjMuLjcxY2UzOGI4ZWQ1
ZmJkYWY0OTYwODcxMDE5ZWUxMWUwZGY4ZmEyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCkBAIC0xNjksNyArMTY5LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBtYXRoUHJvdG9GdW5jQ2x6MzIoRXhlY1N0YXRlKiBleGVjKQogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICB1aW50MzJfdCB2YWx1
ZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvVUludDMyKGV4ZWMpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoSlNWYWx1ZShjbHozMih2YWx1ZSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpT
VmFsdWUoY2x6KHZhbHVlKSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG1h
dGhQcm90b0Z1bmNDb3MoRXhlY1N0YXRlKiBleGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCmluZGV4IDZlMTc3
MDA5ZDcyZTdlNzFjYWJjMGI3N2NmZmFkZmY4YzRiMGJlMzUuLmEzZWRkMmE4ODkyZTM4NTI5OTdl
Yzk5ODRmMzJkYjk5YTA0ODg2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTI2LDYgKzI2LDcgQEAK
ICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPGNsaW1pdHM+
CiAjaW5jbHVkZSA8Y21hdGg+CiAjaW5jbHVkZSA8ZmxvYXQuaD4KICNpbmNsdWRlIDxsaW1pdHM+
CkBAIC0zMDEsMjIgKzMwMiw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciBib29s
IGhhc1R3b09yTW9yZUJpdHNTZXQoVCB2YWx1ZSkKICAgICByZXR1cm4gIWhhc1plcm9Pck9uZUJp
dHNTZXQodmFsdWUpOwogfQogCi0vLyBGSVhNRTogU29tZSBEYXJ3aW4gcHJvamVjdHMgc2hhbWVs
ZXNzbHkgaW5jbHVkZSBXVEYgaGVhZGVycyBhbmQgZG9uJ3QgYnVpbGQgd2l0aCBDKysxNC4uLiBT
ZWU6IHJkYXI6Ly9wcm9ibGVtLzQ1Mzk1NzY3Ci0vLyBTaW5jZSBDKysxMSBhbmQgYmVmb3JlIGRv
bid0IHN1cHBvcnQgY29uc3RleHByIHN0YXRlbWVudHMgd2UgY2FuJ3QgbWFyayB0aGlzIGZ1bmN0
aW9uIGNvbnN0ZXhwci4KLSNpZiAhZGVmaW5lZChXVEZfQ1BQX1NURF9WRVIpIHx8IFdURl9DUFBf
U1REX1ZFUiA+PSAxNAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciB1bnNpZ25lZCBn
ZXRMU0JTZXQoVCB2YWx1ZSkKLXsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6bWFrZV91bnNp
Z25lZDxUPjo6dHlwZSBVbnNpZ25lZFQ7Ci0gICAgdW5zaWduZWQgcmVzdWx0ID0gMDsKLQotICAg
IFVuc2lnbmVkVCB1bnNpZ25lZFZhbHVlID0gc3RhdGljX2Nhc3Q8VW5zaWduZWRUPih2YWx1ZSk7
Ci0gICAgd2hpbGUgKHVuc2lnbmVkVmFsdWUgPj49IDEpCi0gICAgICAgICsrcmVzdWx0OwotCi0g
ICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNlbmRpZgotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgVCBkaXZpZGVSb3VuZGVkVXAoVCBhLCBUIGIpCiB7CiAgICAgcmV0dXJuIChhICsgYiAtIDEp
IC8gYjsKQEAgLTYzMCw0OSArNjE1LDMxIEBAIHZvaWQgc2h1ZmZsZVZlY3RvcihWZWN0b3JUeXBl
JiB2ZWN0b3IsIGNvbnN0IFJhbmRvbUZ1bmMmIHJhbmRvbUZ1bmMpCiAgICAgc2h1ZmZsZVZlY3Rv
cih2ZWN0b3IsIHZlY3Rvci5zaXplKCksIHJhbmRvbUZ1bmMpOwogfQogCi1pbmxpbmUgdW5zaWdu
ZWQgY2x6MzIodWludDMyX3QgbnVtYmVyKQordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSB1
bnNpZ25lZCBjbHooVCB2YWx1ZSkKIHsKLSNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSAg
ICBpZiAobnVtYmVyKQotICAgICAgICByZXR1cm4gX19idWlsdGluX2NseihudW1iZXIpOwotICAg
IHJldHVybiAzMjsKLSNlbGlmIENPTVBJTEVSKE1TVkMpCi0gICAgLy8gVmlzdWFsIFN0dWRpbyAy
MDA4IG9yIHVwcGVyIGhhdmUgX19semNudCwgYnV0IHdlIGNhbid0IGRldGVjdCBJbnRlbCBBVlgg
YXQgY29tcGlsZSB0aW1lLgotICAgIC8vIFNvIHdlIHVzZSBiaXQtc2Nhbi1yZXZlcnNlIG9wZXJh
dGlvbiB0byBjYWxjdWxhdGUgY2x6LgotICAgIHVuc2lnbmVkIGxvbmcgcmV0ID0gMDsKLSAgICBp
ZiAoX0JpdFNjYW5SZXZlcnNlKCZyZXQsIG51bWJlcikpCi0gICAgICAgIHJldHVybiAzMSAtIHJl
dDsKLSAgICByZXR1cm4gMzI7Ci0jZWxzZQotICAgIHVuc2lnbmVkIHplcm9Db3VudCA9IDA7Ci0g
ICAgZm9yIChpbnQgaSA9IDMxOyBpID49IDA7IGktLSkgewotICAgICAgICBpZiAoIShudW1iZXIg
Pj4gaSkpCi0gICAgICAgICAgICB6ZXJvQ291bnQrKzsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgfQotICAgIHJldHVybiB6ZXJvQ291bnQ7Ci0jZW5kaWYKLX0KKyAgICBj
b25zdGV4cHIgdW5zaWduZWQgYml0U2l6ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworICAgIGNv
bnN0ZXhwciB1bnNpZ25lZCBiaXRTaXplNjQgPSBzaXplb2YodWludDY0X3QpICogQ0hBUl9CSVQ7
CisKKyAgICB1c2luZyBVVCA9IHR5cGVuYW1lIHN0ZDo6bWFrZV91bnNpZ25lZDxUPjo6dHlwZTsK
KyAgICBVVCB1VmFsdWUgPSB2YWx1ZTsKIAotaW5saW5lIHVuc2lnbmVkIGNsejY0KHVpbnQ2NF90
IG51bWJlcikKLXsKICNpZiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKLSAgICBpZiAobnVtYmVy
KQotICAgICAgICByZXR1cm4gX19idWlsdGluX2NsemxsKG51bWJlcik7Ci0gICAgcmV0dXJuIDY0
OworICAgIGlmICh1VmFsdWUpCisgICAgICAgIHJldHVybiBfX2J1aWx0aW5fY2x6bGwodVZhbHVl
KSAtIChiaXRTaXplNjQgLSBiaXRTaXplKTsKKyAgICByZXR1cm4gYml0U2l6ZTsKICNlbGlmIENP
TVBJTEVSKE1TVkMpICYmICFDUFUoWDg2KQogICAgIC8vIFZpc3VhbCBTdHVkaW8gMjAwOCBvciB1
cHBlciBoYXZlIF9fbHpjbnQsIGJ1dCB3ZSBjYW4ndCBkZXRlY3QgSW50ZWwgQVZYIGF0IGNvbXBp
bGUgdGltZS4KICAgICAvLyBTbyB3ZSB1c2UgYml0LXNjYW4tcmV2ZXJzZSBvcGVyYXRpb24gdG8g
Y2FsY3VsYXRlIGNsei4KICAgICAvLyBfQml0U2NhblJldmVyc2U2NCBpcyBkZWZpbmVkIGluIFg4
Nl82NCBhbmQgQVJNIGluIE1TVkMgc3VwcG9ydGVkIGVudmlyb25tZW50cy4KICAgICB1bnNpZ25l
ZCBsb25nIHJldCA9IDA7CiAgICAgaWYgKF9CaXRTY2FuUmV2ZXJzZTY0KCZyZXQsIG51bWJlcikp
Ci0gICAgICAgIHJldHVybiA2MyAtIHJldDsKLSAgICByZXR1cm4gNjQ7CisgICAgICAgIHJldHVy
biBiaXRTaXplIC0gcmV0OworICAgIHJldHVybiBiaXRTaXplOwogI2Vsc2UKICAgICB1bnNpZ25l
ZCB6ZXJvQ291bnQgPSAwOwotICAgIGZvciAoaW50IGkgPSA2MzsgaSA+PSAwOyBpLS0pIHsKLSAg
ICAgICAgaWYgKCEobnVtYmVyID4+IGkpKQorICAgIGZvciAoaW50IGkgPSBiaXRTaXplNjQgLSAx
OyBpID49IDA7IGktLSkgeworICAgICAgICBpZiAoIShzdGF0aWNfY2FzdDx1aW50NjRfdD4odVZh
bHVlKSA+PiBpKSkKICAgICAgICAgICAgIHplcm9Db3VudCsrOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBicmVhazsKQEAgLTY4MSwzMCArNjQ4LDUxIEBAIGlubGluZSB1bnNpZ25lZCBjbHo2
NCh1aW50NjRfdCBudW1iZXIpCiAjZW5kaWYKIH0KIAotaW5saW5lIHVuc2lnbmVkIGN0ejMyKHVp
bnQzMl90IG51bWJlcikKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgdW5zaWduZWQgY3R6
KFQgdmFsdWUpCiB7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGJpdFNpemUgPSBzaXplb2YoVCkg
KiBDSEFSX0JJVDsKKworICAgIHVzaW5nIFVUID0gdHlwZW5hbWUgc3RkOjptYWtlX3Vuc2lnbmVk
PFQ+Ojp0eXBlOworICAgIFVUIHVWYWx1ZSA9IHZhbHVlOworCiAjaWYgQ09NUElMRVIoR0NDX0NP
TVBBVElCTEUpCi0gICAgaWYgKG51bWJlcikKLSAgICAgICAgcmV0dXJuIF9fYnVpbHRpbl9jdHoo
bnVtYmVyKTsKLSAgICByZXR1cm4gMzI7CisgICAgaWYgKHVWYWx1ZSkKKyAgICAgICAgcmV0dXJu
IF9fYnVpbHRpbl9jdHpsbCh1VmFsdWUpOworICAgIHJldHVybiBiaXRTaXplOwogI2VsaWYgQ09N
UElMRVIoTVNWQykgJiYgIUNQVShYODYpCiAgICAgdW5zaWduZWQgbG9uZyByZXQgPSAwOwotICAg
IGlmIChfQml0U2NhbkZvcndhcmQoJnJldCwgbnVtYmVyKSkKKyAgICBpZiAoX0JpdFNjYW5Gb3J3
YXJkNjQoJnJldCwgbnVtYmVyKSkKICAgICAgICAgcmV0dXJuIHJldDsKLSAgICByZXR1cm4gMzI7
CisgICAgcmV0dXJuIGJpdFNpemU7CiAjZWxzZQogICAgIHVuc2lnbmVkIHplcm9Db3VudCA9IDA7
Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDMyOyBpKyspIHsKLSAgICAgICAgaWYgKG51
bWJlciAmIDEpCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJpdFNpemU7IGkrKykgewor
ICAgICAgICBpZiAodVZhbHVlICYgMSkKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIHpl
cm9Db3VudCsrOwotICAgICAgICBudW1iZXIgPj49IDE7CisgICAgICAgIHVWYWx1ZSA+Pj0gMTsK
ICAgICB9CiAgICAgcmV0dXJuIHplcm9Db3VudDsKICNlbmRpZgogfQogCit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgoraW5saW5lIHVuc2lnbmVkIGdldExTQlNldChUIHQpCit7CisgICAgQVNTRVJUKHQp
OworICAgIHJldHVybiBjdHoodCk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUg
dW5zaWduZWQgZ2V0TVNCU2V0KFQgdCkKK3sKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgYml0U2l6
ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworICAgIEFTU0VSVCh0KTsKKyAgICByZXR1cm4gYml0
U2l6ZSAtIDEgLSBjbHoodCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6
Om9wYXF1ZTsKQEAgLTcxMiw2ICs3MDAsNyBAQCB1c2luZyBXVEY6OnByZWNpc2VJbmRleE1hc2tQ
dHI7CiB1c2luZyBXVEY6OnByZWNpc2VJbmRleE1hc2tTaGlmdDsKIHVzaW5nIFdURjo6cHJlY2lz
ZUluZGV4TWFza1NoaWZ0Rm9yU2l6ZTsKIHVzaW5nIFdURjo6c2h1ZmZsZVZlY3RvcjsKLXVzaW5n
IFdURjo6Y2x6MzI7Ci11c2luZyBXVEY6OmNsejY0OwotdXNpbmcgV1RGOjpjdHozMjsKK3VzaW5n
IFdURjo6Y2x6OwordXNpbmcgV1RGOjpjdHo7Cit1c2luZyBXVEY6OmdldExTQlNldDsKK3VzaW5n
IFdURjo6Z2V0TVNCU2V0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDU2OTk4MWY4Yzc2ZmU1OThjOWIxNDgzZmVhNjJjMzIwYmI2NDIzOWQuLmFj
MDE2YjcwOGFkODUxYzhmZGY1YWIxMTQ2NmZlNmU0MGJiMGRmODMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0w
My0yMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZWZhY3RvciBjbHovY3R6IGFuZCBmaXggZ2V0TFNCU2V0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2MTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
U2FhbSBCYXJhdGkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBjbHosIGN0eiwgZ2V0TFNCU2V0
LCBhbmQgZ2V0TVNCU2V0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWF0
aEV4dHJhcy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOS0wMy0y
MSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
IFdLMl0gVHVybiBvbiBhc3luYyBvdmVyZmxvdyBzY3JvbGxpbmcgYnkgZGVmYXVsdApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWF0aEV4dHJhcy5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcAppbmRleCAxMjgwZDhlY2Vi
NWNmNzJlZjZjYzQwNmEzYTNhMmU3NGIxYzUxNzFjLi43ZTY2MjY2ZDY5ZDZjZWIwNDZhYzQ5ZDQ0
N2M1YTMzY2NkNGQ2MmY0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9NYXRoRXh0cmFzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRo
RXh0cmFzLmNwcApAQCAtNDMzLDQgKzQzMyw3OCBAQCBURVNUKFdURiwgcm91bmRVcFRvUG93ZXJP
ZlR3bykKICAgICBFWFBFQ1RfRVEoV1RGOjpyb3VuZFVwVG9Qb3dlck9mVHdvKCgxVSA8PCAzMSkg
KyAxKSwgMFUpOwogfQogCitURVNUKFdURiwgY2x6KQoreworICAgIEVYUEVDVF9FUShXVEY6OmNs
ejxpbnQzMl90PigxKSwgMzFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8aW50MzJfdD4oNDIp
LCAyNlUpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejx1aW50MzJfdD4oc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KC0xKSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDMyX3Q+KHN0YXRp
Y19jYXN0PHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSkgPj4g
MSksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDMyX3Q+KDApLCAzMlUpOworCisg
ICAgRVhQRUNUX0VRKFdURjo6Y2x6PGludDhfdD4oNDIpLCAyVSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Y2x6PGludDhfdD4oMyksIDZVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjbHo8dWludDhfdD4o
c3RhdGljX2Nhc3Q8dWludDhfdD4oLTEpKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejx1
aW50OF90PigwKSwgOFUpOworCisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PGludDY0X3Q+KC0xKSwg
MFUpOworICAgIEVYUEVDVF9FUShXVEY6OmNsejxpbnQ2NF90PigxKSwgNjNVKTsKKyAgICBFWFBF
Q1RfRVEoV1RGOjpjbHo8aW50NjRfdD4oMyksIDYyVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6
PHVpbnQ2NF90Pig0MiksIDU4VSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y2x6PHVpbnQ2NF90Pigw
KSwgNjRVKTsKK30KKworVEVTVChXVEYsIGN0eikKK3sKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8
aW50MzJfdD4oMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8aW50MzJfdD4oNDIpLCAx
VSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQzMl90PihzdGF0aWNfY2FzdDx1aW50MzJf
dD4oLTEpKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejx1aW50MzJfdD4oc3RhdGljX2Nh
c3Q8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSA+PiAxKSwg
MzBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDMyX3Q+KDApLCAzMlUpOworCisgICAg
RVhQRUNUX0VRKFdURjo6Y3R6PGludDhfdD4oNDIpLCAxVSk7CisgICAgRVhQRUNUX0VRKFdURjo6
Y3R6PGludDhfdD4oMyksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpjdHo8dWludDhfdD4oc3Rh
dGljX2Nhc3Q8dWludDhfdD4oLTEpKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmN0ejx1aW50
OF90PigwKSwgOFUpOworCisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDY0X3Q+KHN0YXRpY19j
YXN0PHVpbnQzMl90PigtMSkpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDY0X3Q+
KDEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdURjo6Y3R6PGludDY0X3Q+KDMpLCAwVSk7CisgICAg
RVhQRUNUX0VRKFdURjo6Y3R6PHVpbnQ2NF90Pig0MiksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RG
OjpjdHo8dWludDY0X3Q+KDApLCA2NFUpOworfQorCitURVNUKFdURiwgZ2V0TFNCU2V0KQorewor
ICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDxpbnQzMl90PigxKSwgMFUpOworICAgIEVYUEVD
VF9FUShXVEY6OmdldExTQlNldDxpbnQzMl90Pig0MiksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RG
OjpnZXRMU0JTZXQ8dWludDMyX3Q+KHN0YXRpY19jYXN0PHVpbnQzMl90PigtMSkpLCAwVSk7Cisg
ICAgRVhQRUNUX0VRKFdURjo6Z2V0TFNCU2V0PHVpbnQzMl90PihzdGF0aWNfY2FzdDx1aW50MzJf
dD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWluKCkpID4+IDEpLCAzMFUpOworCisg
ICAgRVhQRUNUX0VRKFdURjo6Z2V0TFNCU2V0PGludDhfdD4oNDIpLCAxVSk7CisgICAgRVhQRUNU
X0VRKFdURjo6Z2V0TFNCU2V0PGludDhfdD4oMyksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpn
ZXRMU0JTZXQ8dWludDhfdD4oc3RhdGljX2Nhc3Q8dWludDhfdD4oLTEpKSwgMFUpOworCisgICAg
RVhQRUNUX0VRKFdURjo6Z2V0TFNCU2V0PGludDY0X3Q+KC0xKSwgMFUpOworICAgIEVYUEVDVF9F
UShXVEY6OmdldExTQlNldDxpbnQ2NF90PigxKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6Omdl
dExTQlNldDxpbnQ2NF90PigzKSwgMFUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldExTQlNldDx1
aW50NjRfdD4oNDIpLCAxVSk7Cit9CisKK1RFU1QoV1RGLCBnZXRNU0JTZXQpCit7CisgICAgRVhQ
RUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDMyX3Q+KDEpLCAwVSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Z2V0TVNCU2V0PGludDMyX3Q+KDQyKSwgNVUpOworICAgIEVYUEVDVF9FUShXVEY6OmdldE1T
QlNldDx1aW50MzJfdD4oc3RhdGljX2Nhc3Q8dWludDMyX3Q+KC0xKSksIDMxVSk7CisgICAgRVhQ
RUNUX0VRKFdURjo6Z2V0TVNCU2V0PHVpbnQzMl90PihzdGF0aWNfY2FzdDx1aW50MzJfdD4oc3Rk
OjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWluKCkpID4+IDEpLCAzMFUpOworCisgICAgRVhQ
RUNUX0VRKFdURjo6Z2V0TVNCU2V0PGludDhfdD4oNDIpLCA1VSk7CisgICAgRVhQRUNUX0VRKFdU
Rjo6Z2V0TVNCU2V0PGludDhfdD4oMyksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JT
ZXQ8dWludDhfdD4oc3RhdGljX2Nhc3Q8dWludDhfdD4oLTEpKSwgN1UpOworCisgICAgRVhQRUNU
X0VRKFdURjo6Z2V0TVNCU2V0PGludDY0X3Q+KC0xKSwgNjNVKTsKKyAgICBFWFBFQ1RfRVEoV1RG
OjpnZXRNU0JTZXQ8aW50NjRfdD4oMSksIDBVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JT
ZXQ8aW50NjRfdD4oMyksIDFVKTsKKyAgICBFWFBFQ1RfRVEoV1RGOjpnZXRNU0JTZXQ8dWludDY0
X3Q+KDQyKSwgNVUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>