<?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>120964</bug_id>
          
          <creation_ts>2013-09-07 13:30:29 -0700</creation_ts>
          <short_desc>Get rid of PassOwnArrayPtr</short_desc>
          <delta_ts>2013-09-07 15:15:15 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>926254</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-07 13:30:29 -0700</bug_when>
    <thetext>Get rid of PassOwnArrayPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926256</commentid>
    <comment_count>1</comment_count>
      <attachid>210919</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-07 13:33:02 -0700</bug_when>
    <thetext>Created attachment 210919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926261</commentid>
    <comment_count>2</comment_count>
      <attachid>210922</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-07 13:46:43 -0700</bug_when>
    <thetext>Created attachment 210922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926264</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-07 14:34:03 -0700</bug_when>
    <thetext>Attachment 210922 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp&apos;, u&apos;Source/JavaScriptCore/runtime/SymbolTable.h&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/GNUmakefile.list.am&apos;, u&apos;Source/WTF/WTF.pro&apos;, u&apos;Source/WTF/WTF.vcxproj/WTF.vcxproj&apos;, u&apos;Source/WTF/WTF.vcxproj/WTF.vcxproj.filters&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/Assertions.cpp&apos;, u&apos;Source/WTF/wtf/CMakeLists.txt&apos;, u&apos;Source/WTF/wtf/DateMath.h&apos;, u&apos;Source/WTF/wtf/FastBitVector.h&apos;, u&apos;Source/WTF/wtf/Forward.h&apos;, u&apos;Source/WTF/wtf/OwnArrayPtr.h&apos;, u&apos;Source/WTF/wtf/PassOwnArrayPtr.h&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.cpp&apos;, u&apos;Source/WebCore/platform/Length.cpp&apos;, u&apos;Source/WebCore/platform/Length.h&apos;, u&apos;Source/WebCore/platform/audio/FFTFrame.h&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.cpp&apos;, u&apos;Source/WebCore/platform/graphics/GraphicsContext3D.h&apos;, u&apos;Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp&apos;, u&apos;Source/WebCore/platform/graphics/wince/SharedBitmap.cpp&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Shared/ImmutableArray.h&apos;, u&apos;Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp&apos;, u&apos;Tools/TestWebKitAPI/PlatformUtilities.cpp&apos;, u&apos;Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp&apos;, u&apos;Tools/WebKitTestRunner/StringFunctions.h&apos;, u&apos;Tools/WebKitTestRunner/TestInvocation.cpp&apos;, u&apos;Tools/WebKitTestRunner/efl/EventSenderProxyEfl.cpp&apos;, u&apos;Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp&apos;]&quot; exit_code: 1
Source/WTF/wtf/OwnArrayPtr.h:39:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WTF/wtf/OwnArrayPtr.h:61:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Total errors found: 2 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926272</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-07 15:15:15 -0700</bug_when>
    <thetext>Committed r155262: &lt;http://trac.webkit.org/changeset/155262&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210919</attachid>
            <date>2013-09-07 13:33:02 -0700</date>
            <delta_ts>2013-09-07 13:46:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120964-20130907133301.patch</filename>
            <type>text/plain</type>
            <size>30898</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
N2QyMWM5MDUwZGVjNDRjOTAxYmNiYzJhODEwMTJhMWU4Y2ZlYjlhLi4wY2QwNTBhMTUyZTVjNzFl
MGJmZGYzYWU0NmUzYzVlZDcwNzBhZGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOSBAQAogMjAxMy0wOS0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgogCisgICAgICAgIEdldCByaWQgb2YgUGFzc093bkFycmF5UHRyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA5NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgT3duQXJyYXlQdHIgaW5zdGVh
ZCBvZiBQYXNzT3duQXJyYXlQdHIuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVH
ZW5lcmF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAgICAgICAgKEpT
Qzo6U2hhcmVkU3ltYm9sVGFibGU6OnNldFNsb3dBcmd1bWVudHMpOgorCisyMDEzLTA5LTA3ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgVmVjdG9yTW92
ZXIgc2hvdWxkIHVzZSBzdGQ6Om1vdmUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMDk1OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJkZjM0MzFmODAzNDllMTYzNWJkYWJlNDVh
ODkwMTBiYjVmMDJmYzAuLmFkYzIwNDY2YTcwOGE0YjI0NmJmNmYxY2Y2NTA5ZDgzNjhkYjk0NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTMtMDktMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBHZXQgcmlkIG9mIFBhc3NPd25BcnJheVB0cgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwOTY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBPd25BcnJh
eVB0ciBhIHByb3BlciBtb3ZlLW9ubHkgdHlwZSBhbmQgZ2V0IHJpZCBvZiBQYXNzT3duQXJyYXlQ
dHIuCisgICAgICAgIAorICAgICAgICBVbHRpbWF0ZWx5IEknZCBsaWtlIHRvIGdldCByaWQgb2Yg
T3duQXJyYXlQdHIgYXMgd2VsbCBhbmQganVzdCBoYXZlIGl0IGJlIGEgc3BlY2lhbGl6YXRpb24K
KyAgICAgICAgb2YgT3duUHRyPFRbXT4sIGJ1dCB0aGlzIGlzIGEgc3RlcCBpbiB0aGUgcmlnaHQg
ZGlyZWN0aW9uLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBX
VEYucHJvOgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qOgorICAgICAgICAqIFdU
Ri52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0Fzc2VydGlvbnMuY3BwOgorICAgICAgICAq
IHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvRGF0ZU1hdGguaDoKKyAgICAgICAg
KiB3dGYvRmFzdEJpdFZlY3Rvci5oOgorICAgICAgICAqIHd0Zi9Gb3J3YXJkLmg6CisgICAgICAg
ICogd3RmL093bkFycmF5UHRyLmg6CisgICAgICAgICogd3RmL1Bhc3NPd25BcnJheVB0ci5oOiBS
ZW1vdmVkLgorCisyMDEzLTA5LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CisKICAgICAgICAgVmVjdG9yTW92ZXIgc2hvdWxkIHVzZSBzdGQ6Om1vdmUKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDk1OQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggOGJlODg4ZDUxZjhmMGI0Yjg0MGRlYzkzMjY4NzQ5NzllZTc0MzRhYy4uOWFhNWRkMjRj
MGQwODkwOThlNzVhYzA2NzVkY2JjZTNmN2NlZGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEzLTA5LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisK
KyAgICAgICAgR2V0IHJpZCBvZiBQYXNzT3duQXJyYXlQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDk2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBPd25BcnJheVB0ciBpbnN0ZWFkIG9mIFBh
c3NPd25BcnJheVB0ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om5ld0Nvb3Jkc0FycmF5KToKKyAgICAgICAgKFdlYkNvcmU6Om5ld0xlbmd0aEFycmF5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9G
RlRGcmFtZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NoYXJlZEJpdG1hcC5jcHA6CisKIDIw
MTMtMDktMDcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSB1bm5lY2Vzc2FyeSBzaWJsaW5nIHRleHQgcmVuZGVyZXJzIGFmdGVyIGF0dGFjaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDA1MjQ5MDhjNTU5ZjRmMDIzNGQ5MjkzOWE3YzRlNzM5NWMxNWFiMTguLjk1NzNh
MDRkZDlkZjk2YmI1MTMxYTk2OWNkNmM2ZjhkZjM2ZDc3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMy0wOS0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29t
PgorCisgICAgICAgIEdldCByaWQgb2YgUGFzc093bkFycmF5UHRyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA5NjQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdW5uZWVkZWQgaW5jbHVkZXMu
CisKKyAgICAgICAgKiBTaGFyZWQvSW1tdXRhYmxlQXJyYXkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKwogMjAxMy0wOS0wNiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSYW5nZTo6b3duZXJEb2N1
bWVudCBzaG91bGQgcmV0dXJuIERvY3VtZW50JgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBiNDdjNmY3
MjBmOWFhYWMzZmI1MmUxZGE1MTM1ZWRhMzc3YWRjNGM2Li5mNTAwNjVkNjc0ZTU1YmVjY2E0ZTVh
YjZiYWYyYjY2N2VlYTdkY2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjgwLDcgKzI4MCw3IEBA
IEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihWTSYgdm0sIEZ1bmN0aW9uQm9k
eU5vZGUqIGZ1bmN0aW9uQm9keSwgVW5sCiAgICAgICAgICAgICBzbG93QXJndW1lbnRzW2ldLnN0
YXR1cyA9IFNsb3dBcmd1bWVudDo6Q2FwdHVyZWQ7CiAgICAgICAgICAgICBzbG93QXJndW1lbnRz
W2ldLmluZGV4ID0gY2FwdHVyZWRBcmd1bWVudHNbaV0tPmluZGV4KCk7CiAgICAgICAgIH0KLSAg
ICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0U2xvd0FyZ3VtZW50cyhzbG93QXJndW1lbnRzLnJlbGVh
c2UoKSk7CisgICAgICAgIG1fc3ltYm9sVGFibGUtPnNldFNsb3dBcmd1bWVudHMoc3RkOjptb3Zl
KHNsb3dBcmd1bWVudHMpKTsKICAgICB9CiAKICAgICBSZWdpc3RlcklEKiBjYWxsZWVSZWdpc3Rl
ciA9IHJlc29sdmVDYWxsZWUoZnVuY3Rpb25Cb2R5KTsgLy8gTWF5IHB1c2ggdG8gdGhlIHNjb3Bl
IGNoYWluIGFuZC9vciBhZGQgYSBjYXB0dXJlZCB2YXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA0N2U4YTMyOWIyYjhmNjY4MTE0MjA3ODAzNmQ3
OGFlMDJhNGNjYzY2Li43NDgzMTJjNWMyYzJhYzQ2Nzk4MDdiZDRjNDNkMGYyNjVmZDhmZWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTQ3Miw3
ICs0NzIsNyBAQCBwdWJsaWM6CiAKICAgICAvLyAwIGlmIHdlIGRvbid0IGNhcHR1cmUgYW55IGFy
Z3VtZW50czsgcGFyYW1ldGVyQ291bnQoKSBpbiBsZW5ndGggaWYgd2UgZG8uCiAgICAgY29uc3Qg
U2xvd0FyZ3VtZW50KiBzbG93QXJndW1lbnRzKCkgeyByZXR1cm4gbV9zbG93QXJndW1lbnRzLmdl
dCgpOyB9Ci0gICAgdm9pZCBzZXRTbG93QXJndW1lbnRzKFBhc3NPd25BcnJheVB0cjxTbG93QXJn
dW1lbnQ+IHNsb3dBcmd1bWVudHMpIHsgbV9zbG93QXJndW1lbnRzID0gc2xvd0FyZ3VtZW50czsg
fQorICAgIHZvaWQgc2V0U2xvd0FyZ3VtZW50cyhPd25BcnJheVB0cjxTbG93QXJndW1lbnQ+IHNs
b3dBcmd1bWVudHMpIHsgbV9zbG93QXJndW1lbnRzID0gc3RkOjptb3ZlKHNsb3dBcmd1bWVudHMp
OyB9CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggYjNjOTk4OGJmNGQyNjk1NWNmMGM3ZDhlNDI0Y2Q1NGIzZDFiY2FhMy4uNjcyMDMxZjRmMjNl
YWFiYTllZTg1YjIyZjI1ZWIyZWI3OWE4NzA2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MTIwLDcgKzEyMCw2IEBAIHd0Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9QYXJh
bGxlbEpvYnNHZW5lcmljLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSm9ic0xpYmRp
c3BhdGNoLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSm9ic09wZW5NUC5oIFwKLSAg
ICBTb3VyY2UvV1RGL3d0Zi9QYXNzT3duQXJyYXlQdHIuaCBcCiAgICAgU291cmNlL1dURi93dGYv
UGFzc093blB0ci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9QYXNzUmVmUHRyLmggXAogICAgIFNv
dXJjZS9XVEYvd3RmL1Bhc3NUcmFpdHMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5w
cm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggY2M5ZDhlZWRiMTM5MDVmYTc0NGNjZjM4OGRk
ZWRmNTI5YjUzZDg4NS4uNjU5M2E0ZjA0ZWZmMDc4MWRlMGIwZTdmNTZlYjE3OTgyY2JmNDNhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpA
QCAtMTA3LDcgKzEwNyw2IEBAIEhFQURFUlMgKz0gXAogICAgIFBhcmFsbGVsSm9ic0dlbmVyaWMu
aCBcCiAgICAgUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaCBcCiAgICAgUGFyYWxsZWxKb2JzT3Bl
bk1QLmggXAotICAgIFBhc3NPd25BcnJheVB0ci5oIFwKICAgICBQYXNzT3duUHRyLmggXAogICAg
IFBhc3NSZWZQdHIuaCBcCiAgICAgUGFzc1RyYWl0cy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ogYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52
Y3hwcm9qCmluZGV4IDAwMDI1MGFjN2Y3ODZjYWY4NmE0ZWE2ZjdhMzc0MWMwZDkzMjU3MGUuLmFm
ZGY2OGJjN2YxZmM5MmEyNmIwM2VkOGNjZjIwODA5M2Q2ZjBmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJv
ai9XVEYudmN4cHJvagpAQCAtMjA5LDcgKzIwOSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlx3dGZcUGFyYWxsZWxKb2JzR2VuZXJpYy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHd0ZlxQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oIiAvPg0KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHd0ZlxQYXJhbGxlbEpvYnNPcGVuTVAuaCIgLz4NCi0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlx3dGZcUGFzc093bkFycmF5UHRyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cd3RmXFBhc3NPd25QdHIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlx3dGZcUGFzc1JlZlB0ci5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0
ZlxQYXNzVHJhaXRzLmgiIC8+DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9X
VEYudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5m
aWx0ZXJzCmluZGV4IDQzZjQwYmY1MWM1ZDE1ZDhkOGY4ZTQzMTc5YTJmNDljNDg4YWJlZDMuLmJk
ZjI3NjQ3OGVjMGM5MmQ0ZDEzMGM0MzQ5OGRlNmZjYWEzYmNmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV1RGL1dU
Ri52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKQEAgLTU1MSw5ICs1NTEsNiBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFBhcmFsbGVsSm9ic09wZW5NUC5oIj4NCiAgICAgICA8
RmlsdGVyPnd0ZjwvRmlsdGVyPg0KICAgICA8L0NsSW5jbHVkZT4NCi0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlx3dGZcUGFzc093bkFycmF5UHRyLmgiPg0KLSAgICAgIDxGaWx0ZXI+d3RmPC9G
aWx0ZXI+DQotICAgIDwvQ2xJbmNsdWRlPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0
ZlxQYXNzT3duUHRyLmgiPg0KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+DQogICAgIDwvQ2xJ
bmNsdWRlPg0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZj
NTYwNzlhMjc2NWM0NWJmNzlhNzcxNzJlYjY3NjMwZGE1ZDdhMDQuLjBhMmZlYTA5ZWUzYTM2ZjIx
MGIxMjE2MDkwNjMyMDJhNWJiOGZlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTc5LDcgKzE3OSw2IEBACiAJCUE4QTQ3NDA0MTUxQTgyNUIwMDQxMjNG
RiAvKiBQYWdlUmVzZXJ2YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4QTQ3MkU1MTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlUmVzZXJ2YXRpb24u
aCAqLzsgfTsKIAkJQThBNDc0MDUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyRTYxNTFB
ODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oICovOyB9OwogCQlBOEE0NzQwODE1MUE4MjVC
MDA0MTIzRkYgLyogUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MkU5MTUxQTgyNUIwMDQxMjNGRiAvKiBQ
YXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oICovOyB9OwotCQlBOEE0NzQwQTE1MUE4MjVCMDA0MTIz
RkYgLyogUGFzc093bkFycmF5UHRyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBOEE0NzJFQjE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc093bkFycmF5UHRy
LmggKi87IH07CiAJCUE4QTQ3NDBCMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duUHRyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzJFQzE1MUE4
MjVCMDA0MTIzRkYgLyogUGFzc093blB0ci5oICovOyB9OwogCQlBOEE0NzQwQzE1MUE4MjVCMDA0
MTIzRkYgLyogUGFzc1JlZlB0ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThBNDcyRUQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NSZWZQdHIuaCAqLzsg
fTsKIAkJQThBNDc0MEQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NUcmFpdHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MkVFMTUxQTgyNUIwMDQx
MjNGRiAvKiBQYXNzVHJhaXRzLmggKi87IH07CkBAIC00NTUsNyArNDU0LDYgQEAKIAkJQThBNDcy
RTUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhZ2VSZXNlcnZhdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQYWdlUmVzZXJ2YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQThBNDcyRTYxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJhbGxlbEpvYnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQThBNDcyRTkxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9i
c0xpYmRpc3BhdGNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcmFsbGVs
Sm9ic0xpYmRpc3BhdGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4QTQ3MkVC
MTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGFzc093bkFycmF5UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4QTQ3MkVDMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duUHRyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3NPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQThBNDcyRUQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NSZWZQdHIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzc1JlZlB0ci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBOEE0NzJFRTE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc1RyYWl0cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXNzVHJhaXRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQsNyArNzMyLDYgQEAKIAkJCQlBOEE0NzJFNTE1MUE4
MjVCMDA0MTIzRkYgLyogUGFnZVJlc2VydmF0aW9uLmggKi8sCiAJCQkJQThBNDcyRTYxNTFBODI1
QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oICovLAogCQkJCUE4QTQ3MkU5MTUxQTgyNUIwMDQx
MjNGRiAvKiBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oICovLAotCQkJCUE4QTQ3MkVCMTUxQTgy
NUIwMDQxMjNGRiAvKiBQYXNzT3duQXJyYXlQdHIuaCAqLywKIAkJCQlBOEE0NzJFQzE1MUE4MjVC
MDA0MTIzRkYgLyogUGFzc093blB0ci5oICovLAogCQkJCUE4QTQ3MkVEMTUxQTgyNUIwMDQxMjNG
RiAvKiBQYXNzUmVmUHRyLmggKi8sCiAJCQkJQThBNDcyRUUxNTFBODI1QjAwNDEyM0ZGIC8qIFBh
c3NUcmFpdHMuaCAqLywKQEAgLTEwMzMsNyArMTAzMCw2IEBACiAJCQkJQThBNDc0MDQxNTFBODI1
QjAwNDEyM0ZGIC8qIFBhZ2VSZXNlcnZhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0
MDUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDc0MDgxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmggaW4g
SGVhZGVycyAqLywKLQkJCQlBOEE0NzQwQTE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc093bkFycmF5
UHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQwQjE1MUE4MjVCMDA0MTIzRkYgLyogUGFz
c093blB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MEMxNTFBODI1QjAwNDEyM0ZGIC8q
IFBhc3NSZWZQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDBEMTUxQTgyNUIwMDQxMjNG
RiAvKiBQYXNzVHJhaXRzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0Fzc2VydGlvbnMuY3BwIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXgg
MGI1MWI0NDEwMWZkZTQ4NjQ3ZTRlYWM2ZTk3ZTZmODQwMzBiY2UwNy4uMTcyMDIxM2I4ZThiZTVh
ZjE4ZGRmZDA0MDljYmM5NDYxMDEwNWMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNz
ZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTM1LDcg
KzM1LDcgQEAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCiAKICNpbmNsdWRlICJDb21waWxlci5o
IgotI2luY2x1ZGUgIk93bkFycmF5UHRyLmgiCisjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
aW5kZXggMzk4YzljZmVmMGFhM2Y0NTgwMDlhNTRiNTM2OWU2NDNiYWZiMzExYS4uYzAxNTUzMWY0
ZDgzN2E5ZGExZWNkNWRkMjI0OWFmOTI2ODI2YTAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAg
LTcwLDcgKzcwLDYgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgUGFnZUFsbG9jYXRpb25BbGlnbmVk
LmgKICAgICBQYWdlQmxvY2suaAogICAgIFBhZ2VSZXNlcnZhdGlvbi5oCi0gICAgUGFzc093bkFy
cmF5UHRyLmgKICAgICBQYXNzT3duUHRyLmgKICAgICBQYXNzUmVmUHRyLmgKICAgICBQYXNzVHJh
aXRzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvV1RG
L3d0Zi9EYXRlTWF0aC5oCmluZGV4IGNlZjhiMDliMmViOTQ1MTk2NTIzNjRhNjNkM2UyM2Q2MDZk
MzcxN2UuLjUwMWVkZDc5ZDBiMzlhNGNjNzM1MGM3NjE2NzYyZjgxMWNmMzIwOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmgKKysrIGIvU291cmNlL1dURi93dGYvRGF0ZU1h
dGguaApAQCAtNTAsNyArNTAsNiBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgot
I2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9G
YXN0Qml0VmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0Qml0VmVjdG9yLmgKaW5kZXggYzM0
ZGNmNTEzYWI1NDZkYjQ2NWJkMDE1ZmZmNThlN2UwMjU1YmNkMy4uZjQ1YWRmYzUxMTVhMWY1N2Fm
NjE2OWVlODFlZjU5NzYyZjJjNTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdEJp
dFZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuaApAQCAtMjgsNyAr
MjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvT3du
QXJyYXlQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0ZvcndhcmQuaCBiL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaAppbmRleCA1OWE1
ZGMwNTBlNTFlY2QyNzhjOTM4ODA3NWZhZGM3Yjk4M2M1YjA3Li5hY2E0ZWRmMGE2YmMzNTQ4NTZi
Yjk3YWIxODVmMWI3MDM5YzdlZGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJk
LmgKKysrIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCkBAIC0yOCw3ICsyOCw2IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIEZ1bmN0aW9uOwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyOwogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIE93blB0cjsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duQXJyYXlQdHI7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0
cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzUmVmUHRyOwogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0cjsKQEAgLTUyLDcgKzUxLDYgQEAgbmFtZXNwYWNl
IFdURiB7CiB1c2luZyBXVEY6OkZ1bmN0aW9uOwogdXNpbmcgV1RGOjpPd25BcnJheVB0cjsKIHVz
aW5nIFdURjo6T3duUHRyOwotdXNpbmcgV1RGOjpQYXNzT3duQXJyYXlQdHI7CiB1c2luZyBXVEY6
OlBhc3NPd25QdHI7CiB1c2luZyBXVEY6OlBhc3NSZWZQdHI7CiB1c2luZyBXVEY6OlJlZlB0cjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL093bkFycmF5UHRyLmggYi9Tb3VyY2UvV1RGL3d0
Zi9Pd25BcnJheVB0ci5oCmluZGV4IGIzZDcyZGZkYjBmYjJjYjY4ODM1YWMxMGJmNTAzNTgyNjJj
NDZhNzYuLjY1Yjk4YzdhOTg0YjVkZDk3ODY4MTAxYTBhMTRlMjE1NjAwNDc2NjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvT3du
QXJyYXlQdHIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTI0LDM1ICsyNCwyNiBAQAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL051bGxQdHIu
aD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8YWxnb3JpdGht
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093
bkFycmF5UHRyOwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0
QXJyYXlQdHIoVCopOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgZGVsZXRlT3du
ZWRBcnJheVB0cihUKik7CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0
ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCi0gICAgT3duQXJyYXlQdHIo
KSA6IG1fcHRyKDApIHsgfQotCi0gICAgLy8gU2VlIGNvbW1lbnQgaW4gUGFzc093bkFycmF5UHRy
LmggZm9yIHdoeSB0aGlzIHRha2VzIGEgY29uc3QgcmVmZXJlbmNlLgotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFU+IE93bkFycmF5UHRyKGNvbnN0IFBhc3NPd25BcnJheVB0cjxVPiYgbyk7Ci0KLSAg
ICAvLyBUaGlzIGNvcHkgY29uc3RydWN0b3IgaXMgdXNlZCBpbXBsaWNpdGx5IGJ5IGdjYyB3aGVu
IGl0IGdlbmVyYXRlcwotICAgIC8vIHRyYW5zaWVudHMgZm9yIGFzc2lnbmluZyBhIFBhc3NPd25B
cnJheVB0cjxUPiBvYmplY3QgdG8gYSBzdGFjay1hbGxvY2F0ZWQKLSAgICAvLyBPd25BcnJheVB0
cjxUPiBvYmplY3QuIEl0IHNob3VsZCBuZXZlciBiZSBjYWxsZWQgZXhwbGljaXRseSBhbmQgZ2Nj
Ci0gICAgLy8gc2hvdWxkIG9wdGltaXplIGF3YXkgdGhlIGNvbnN0cnVjdG9yIHdoZW4gZ2VuZXJh
dGluZyBjb2RlLgotICAgIE93bkFycmF5UHRyKGNvbnN0IE93bkFycmF5UHRyPFQ+Jik7CisgICAg
T3duQXJyYXlQdHIoKSA6IG1fcHRyKG51bGxwdHIpIHsgfQorICAgIE93bkFycmF5UHRyKHN0ZDo6
bnVsbHB0cl90KSA6IG1fcHRyKG51bGxwdHIpIHsgfQorICAgIE93bkFycmF5UHRyKE93bkFycmF5
UHRyJiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IE93bkFycmF5UHRyKE93bkFycmF5UHRy
PFU+JiYpOwogCiAgICAgfk93bkFycmF5UHRyKCkgeyBkZWxldGVPd25lZEFycmF5UHRyKG1fcHRy
KTsgfQogCiAgICAgUHRyVHlwZSBnZXQoKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQogCiAgICAg
dm9pZCBjbGVhcigpOwotICAgIFBhc3NPd25BcnJheVB0cjxUPiByZWxlYXNlKCk7CiAgICAgUHRy
VHlwZSBsZWFrUHRyKCkgV0FSTl9VTlVTRURfUkVUVVJOOwogCiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyBBU1NFUlQobV9wdHIpOyByZXR1cm4gKm1fcHRyOyB9CkBAIC02Niw1NyArNTcsNjAg
QEAgcHVibGljOgogICAgIHR5cGVkZWYgVCogT3duQXJyYXlQdHI6OipVbnNwZWNpZmllZEJvb2xU
eXBlOwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3B0ciA/ICZPd25BcnJheVB0cjo6bV9wdHIgOiAwOyB9CiAKLSAgICBPd25BcnJheVB0ciYgb3Bl
cmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxUPiYpOwogICAgIE93bkFycmF5UHRyJiBvcGVy
YXRvcj0oc3RkOjpudWxscHRyX3QpIHsgY2xlYXIoKTsgcmV0dXJuICp0aGlzOyB9Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gT3duQXJyYXlQdHImIG9wZXJhdG9yPShjb25zdCBQYXNzT3duQXJy
YXlQdHI8VT4mKTsKKyAgICBPd25BcnJheVB0ciYgb3BlcmF0b3I9KE93bkFycmF5UHRyJiYpOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IE93bkFycmF5UHRyJiBvcGVyYXRvcj0oT3duQXJyYXlQ
dHI8VT4mJik7CiAKICAgICB2b2lkIHN3YXAoT3duQXJyYXlQdHImIG8pIHsgc3RkOjpzd2FwKG1f
cHRyLCBvLm1fcHRyKTsgfQogCiBwcml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZy
aWVuZCBPd25BcnJheVB0cjxVPiBhZG9wdEFycmF5UHRyKFUqKTsKKyAgICBleHBsaWNpdCBPd25B
cnJheVB0cihQdHJUeXBlIHB0cikgOiBtX3B0cihwdHIpIHsgfQorCiAgICAgUHRyVHlwZSBtX3B0
cjsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGlu
ZSBPd25BcnJheVB0cjxUPjo6T3duQXJyYXlQdHIoY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBv
KQotICAgIDogbV9wdHIoby5sZWFrUHRyKCkpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5l
IE93bkFycmF5UHRyPFQ+OjpPd25BcnJheVB0cihPd25BcnJheVB0ciYmIG90aGVyKQorICAgIDog
bV9wdHIob3RoZXIubGVha1B0cigpKQogewogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgdm9pZCBPd25BcnJheVB0cjxUPjo6Y2xlYXIoKQordGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVt
cGxhdGU8dHlwZW5hbWUgVT4KK2lubGluZSBPd25BcnJheVB0cjxUPjo6T3duQXJyYXlQdHIoT3du
QXJyYXlQdHI8VT4mJiBvdGhlcikKKyAgICA6IG1fcHRyKG90aGVyLmxlYWtQdHIoKSkKIHsKLSAg
ICBQdHJUeXBlIHB0ciA9IG1fcHRyOwotICAgIG1fcHRyID0gMDsKLSAgICBkZWxldGVPd25lZEFy
cmF5UHRyKHB0cik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBQYXNzT3duQXJy
YXlQdHI8VD4gT3duQXJyYXlQdHI8VD46OnJlbGVhc2UoKQordGVtcGxhdGU8dHlwZW5hbWUgVD4K
K2lubGluZSB2b2lkIE93bkFycmF5UHRyPFQ+OjpjbGVhcigpCiB7CiAgICAgUHRyVHlwZSBwdHIg
PSBtX3B0cjsKICAgICBtX3B0ciA9IDA7Ci0gICAgcmV0dXJuIGFkb3B0QXJyYXlQdHIocHRyKTsK
KyAgICBkZWxldGVPd25lZEFycmF5UHRyKHB0cik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGlubGluZSB0eXBlbmFtZSBPd25BcnJheVB0cjxUPjo6UHRyVHlwZSBPd25BcnJheVB0cjxUPjo6
bGVha1B0cigpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIHR5cGVuYW1lIE93bkFycmF5
UHRyPFQ+OjpQdHJUeXBlIE93bkFycmF5UHRyPFQ+OjpsZWFrUHRyKCkKIHsKICAgICBQdHJUeXBl
IHB0ciA9IG1fcHRyOwogICAgIG1fcHRyID0gMDsKICAgICByZXR1cm4gcHRyOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT3duQXJyYXlQdHI8VD4mIE93bkFycmF5UHRyPFQ+Ojpv
cGVyYXRvcj0oY29uc3QgUGFzc093bkFycmF5UHRyPFQ+JiBvKQordGVtcGxhdGU8dHlwZW5hbWUg
VD4KK2lubGluZSBPd25BcnJheVB0cjxUPiYgT3duQXJyYXlQdHI8VD46Om9wZXJhdG9yPShPd25B
cnJheVB0ciYmIG90aGVyKQogewotICAgIFB0clR5cGUgcHRyID0gbV9wdHI7Ci0gICAgbV9wdHIg
PSBvLmxlYWtQdHIoKTsKLSAgICBBU1NFUlQoIXB0ciB8fCBtX3B0ciAhPSBwdHIpOwotICAgIGRl
bGV0ZU93bmVkQXJyYXlQdHIocHRyKTsKKyAgICBhdXRvIHB0ciA9IHN0ZDo6bW92ZShvdGhlcik7
CisgICAgc3dhcChwdHIpOwogICAgIHJldHVybiAqdGhpczsKIH0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIE93bkFycmF5UHRyPFQ+JiBPd25BcnJh
eVB0cjxUPjo6b3BlcmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxVPiYgbykKK3RlbXBsYXRl
PHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+CitpbmxpbmUgT3duQXJyYXlQdHI8VD4m
IE93bkFycmF5UHRyPFQ+OjpvcGVyYXRvcj0oT3duQXJyYXlQdHI8VT4mJiBvdGhlcikKIHsKLSAg
ICBQdHJUeXBlIHB0ciA9IG1fcHRyOwotICAgIG1fcHRyID0gby5sZWFrUHRyKCk7Ci0gICAgQVNT
RVJUKCFwdHIgfHwgbV9wdHIgIT0gcHRyKTsKLSAgICBkZWxldGVPd25lZEFycmF5UHRyKHB0cik7
CisgICAgYXV0byBwdHIgPSBzdGQ6Om1vdmUob3RoZXIpOworICAgIHN3YXAocHRyKTsKICAgICBy
ZXR1cm4gKnRoaXM7CiB9CiAKQEAgLTE1MCw4ICsxNDQsMjEgQEAgdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IGlubGluZSBUKiBnZXRQdHIoY29uc3QgT3duQXJyYXlQdHI8VD4mIHApCiAgICAgcmV0dXJu
IHAuZ2V0KCk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBPd25BcnJheVB0cjxU
PiBhZG9wdEFycmF5UHRyKFQqIHB0cikKK3sKKyAgICByZXR1cm4gT3duQXJyYXlQdHI8VD4ocHRy
KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgZGVsZXRlT3duZWRBcnJh
eVB0cihUKiBwdHIpCit7CisgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkgPiAwLCAiZGVsZXRl
T3duZWRBcnJheVB0ciBjYW4gbm90IGRlbGV0ZSBpbmNvbXBsZXRlIHR5cGVzIik7CisKKyAgICBk
ZWxldGVbXSBwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6Ok93bkFy
cmF5UHRyOwordXNpbmcgV1RGOjphZG9wdEFycmF5UHRyOwogCiAjZW5kaWYgLy8gV1RGX093bkFy
cmF5UHRyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Bhc3NPd25BcnJheVB0ci5oIGIv
U291cmNlL1dURi93dGYvUGFzc093bkFycmF5UHRyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDFkYjczNDNkZTJkZDQzNGZiNWU0NTY2MGEzMGFhNjBlZDk4OGVjYzQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvUGFz
c093bkFycmF5UHRyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFdURl9QYXNzT3du
QXJyYXlQdHJfaAotI2RlZmluZSBXVEZfUGFzc093bkFycmF5UHRyX2gKLQotI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL051bGxQdHIuaD4KLSNpbmNsdWRlIDx3dGYv
VHlwZVRyYWl0cy5oPgotCi1uYW1lc3BhY2UgV1RGIHsKLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgT3duQXJyYXlQdHI7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duQXJy
YXlQdHI7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4gYWRvcHRBcnJh
eVB0cihUKik7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGRlbGV0ZU93bmVkQXJyYXlQdHIo
VCogcHRyKTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyIHsK
LXB1YmxpYzoKLSAgICB0eXBlZGVmIFQqIFB0clR5cGU7Ci0KLSAgICBQYXNzT3duQXJyYXlQdHIo
KSA6IG1fcHRyKDApIHsgfQotICAgIFBhc3NPd25BcnJheVB0cihzdGQ6Om51bGxwdHJfdCkgOiBt
X3B0cigwKSB7IH0KLQotICAgIC8vIEl0IHNvbWV3aGF0IGJyZWFrcyB0aGUgdHlwZSBzeXN0ZW0g
dG8gYWxsb3cgdHJhbnNmZXIgb2Ygb3duZXJzaGlwIG91dCBvZgotICAgIC8vIGEgY29uc3QgUGFz
c093bkFycmF5UHRyLiBIb3dldmVyLCBpdCBtYWtlcyBpdCBtdWNoIGVhc2llciB0byB3b3JrIHdp
dGggUGFzc093bkFycmF5UHRyCi0gICAgLy8gdGVtcG9yYXJpZXMsIGFuZCB3ZSBkb24ndCBoYXZl
IGEgbmVlZCB0byB1c2UgcmVhbCBjb25zdCBQYXNzT3duQXJyYXlQdHJzIGFueXdheS4KLSAgICBQ
YXNzT3duQXJyYXlQdHIoY29uc3QgUGFzc093bkFycmF5UHRyJiBvKSA6IG1fcHRyKG8ubGVha1B0
cigpKSB7IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBQYXNzT3duQXJyYXlQdHIoY29uc3Qg
UGFzc093bkFycmF5UHRyPFU+JiBvKSA6IG1fcHRyKG8ubGVha1B0cigpKSB7IH0KLQotICAgIH5Q
YXNzT3duQXJyYXlQdHIoKSB7IGRlbGV0ZU93bmVkQXJyYXlQdHIobV9wdHIpOyB9Ci0KLSAgICBQ
dHJUeXBlIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9Ci0KLSAgICBQdHJUeXBlIGxlYWtQ
dHIoKSBjb25zdCBXQVJOX1VOVVNFRF9SRVRVUk47Ci0KLSAgICBUJiBvcGVyYXRvciooKSBjb25z
dCB7IEFTU0VSVChtX3B0cik7IHJldHVybiAqbV9wdHI7IH0KLSAgICBQdHJUeXBlIG9wZXJhdG9y
LT4oKSBjb25zdCB7IEFTU0VSVChtX3B0cik7IHJldHVybiBtX3B0cjsgfQotCi0gICAgYm9vbCBv
cGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9wdHI7IH0KLQotICAgIC8vIFRoaXMgY29udmVy
c2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3Qg
dG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSAgICB0eXBlZGVmIFB0clR5cGUgUGFzc093bkFycmF5
UHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKLSAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xU
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUGFzc093bkFycmF5UHRyOjptX3B0ciA6IDA7
IH0KLQotICAgIFBhc3NPd25BcnJheVB0ciYgb3BlcmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0
ciYpIHsgQ09NUElMRV9BU1NFUlQoIXNpemVvZihUKiksIFBhc3NPd25BcnJheVB0cl9zaG91bGRf
bmV2ZXJfYmVfYXNzaWduZWRfdG8pOyByZXR1cm4gKnRoaXM7IH0KLQotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFU+IGZyaWVuZCBQYXNzT3duQXJyYXlQdHI8VT4gYWRvcHRBcnJheVB0cihVKik7Ci0K
LXByaXZhdGU6Ci0gICAgZXhwbGljaXQgUGFzc093bkFycmF5UHRyKFB0clR5cGUgcHRyKSA6IG1f
cHRyKHB0cikgeyB9Ci0KLSAgICBtdXRhYmxlIFB0clR5cGUgbV9wdHI7Ci19OwotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUGFzc093bkFycmF5UHRyPFQ+OjpQdHJUeXBl
IFBhc3NPd25BcnJheVB0cjxUPjo6bGVha1B0cigpIGNvbnN0Ci17Ci0gICAgUHRyVHlwZSBwdHIg
PSBtX3B0cjsKLSAgICBtX3B0ciA9IDA7Ci0gICAgcmV0dXJuIHB0cjsKLX0KLQotdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQYXNz
T3duQXJyYXlQdHI8VD4mIGEsIGNvbnN0IFBhc3NPd25BcnJheVB0cjxVPiYgYikgCi17Ci0gICAg
cmV0dXJuIGEuZ2V0KCkgPT0gYi5nZXQoKTsgCi19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUGFzc093bkFycmF5UHRyPFQ+
JiBhLCBjb25zdCBPd25BcnJheVB0cjxVPiYgYikgCi17Ci0gICAgcmV0dXJuIGEuZ2V0KCkgPT0g
Yi5nZXQoKTsgCi19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgT3duQXJyYXlQdHI8VD4mIGEsIGNvbnN0IFBhc3NPd25BcnJh
eVB0cjxVPiYgYikgCi17Ci0gICAgcmV0dXJuIGEuZ2V0KCkgPT0gYi5nZXQoKTsgCi19Ci0KLXRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29u
c3QgUGFzc093bkFycmF5UHRyPFQ+JiBhLCBVKiBiKSAKLXsKLSAgICByZXR1cm4gYS5nZXQoKSA9
PSBiOyAKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShUKiBhLCBjb25zdCBQYXNzT3duQXJyYXlQdHI8VT4mIGIpIAotewotICAgIHJl
dHVybiBhID09IGIuZ2V0KCk7IAotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxUPiYgYSwgY29u
c3QgUGFzc093bkFycmF5UHRyPFU+JiBiKSAKLXsKLSAgICByZXR1cm4gYS5nZXQoKSAhPSBiLmdl
dCgpOyAKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
b3BlcmF0b3IhPShjb25zdCBQYXNzT3duQXJyYXlQdHI8VD4mIGEsIGNvbnN0IE93bkFycmF5UHRy
PFU+JiBiKSAKLXsKLSAgICByZXR1cm4gYS5nZXQoKSAhPSBiLmdldCgpOyAKLX0KLQotdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBP
d25BcnJheVB0cjxUPiYgYSwgY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBiKSAKLXsKLSAgICBy
ZXR1cm4gYS5nZXQoKSAhPSBiLmdldCgpOyAKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBQYXNzT3duQXJyYXlQdHI8VD4m
IGEsIFUqIGIpCi17Ci0gICAgcmV0dXJuIGEuZ2V0KCkgIT0gYjsgCi19Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yIT0oVCogYSwgY29uc3Qg
UGFzc093bkFycmF5UHRyPFU+JiBiKSAKLXsKLSAgICByZXR1cm4gYSAhPSBiLmdldCgpOyAKLX0K
LQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFBhc3NPd25BcnJheVB0cjxUPiBhZG9wdEFy
cmF5UHRyKFQqIHB0cikKLXsKLSAgICByZXR1cm4gUGFzc093bkFycmF5UHRyPFQ+KHB0cik7Ci19
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIGRlbGV0ZU93bmVkQXJyYXlQdHIo
VCogcHRyKQotewotICAgIHR5cGVkZWYgY2hhciBrbm93bltzaXplb2YoVCkgPyAxIDogLTFdOwot
ICAgIGlmIChzaXplb2Yoa25vd24pKQotICAgICAgICBkZWxldGUgW10gcHRyOwotfQotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgUGFzc093bkFycmF5UHRyPFQ+IHN0
YXRpY19wb2ludGVyX2Nhc3QoY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBwKSAKLXsKLSAgICBy
ZXR1cm4gYWRvcHRBcnJheVB0cihzdGF0aWNfY2FzdDxUKj4ocC5sZWFrUHRyKCkpKTsKLX0KLQot
dGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIFBhc3NPd25BcnJheVB0cjxU
PiBjb25zdF9wb2ludGVyX2Nhc3QoY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBwKSAKLXsKLSAg
ICByZXR1cm4gYWRvcHRBcnJheVB0cihjb25zdF9jYXN0PFQqPihwLmxlYWtQdHIoKSkpOwotfQot
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgVCogZ2V0UHRyKGNvbnN0IFBhc3NPd25BcnJh
eVB0cjxUPiYgcCkKLXsKLSAgICByZXR1cm4gcC5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V1RGCi0KLXVzaW5nIFdURjo6UGFzc093bkFycmF5UHRyOwotdXNpbmcgV1RGOjphZG9wdEFycmF5
UHRyOwotdXNpbmcgV1RGOjpjb25zdF9wb2ludGVyX2Nhc3Q7Ci11c2luZyBXVEY6OnN0YXRpY19w
b2ludGVyX2Nhc3Q7Ci0KLSNlbmRpZiAvLyBXVEZfUGFzc093bkFycmF5UHRyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IDM4OWE0NGI0NTAzYTkwYjJkZmI5OWY0ZDYzYjA2Mzk1NzgxNmY5NTEuLjQ5OWFlMjRiY2Fl
MzdkY2IzMzc4ZWVmODczMzlmNGM3YThlNmVhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNzgsNyArNzgsNiBA
QAogI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlubGluZXMuaD4KICNpbmNsdWRlIDxydW50
aW1lL1VpbnQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL1Bhc3NPd25BcnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguY3BwCmluZGV4IGI1M2Y4ZmFkOTQwM2Q4MmI5YTQ2Mjc4NDNmMTM2MDEzN2Q0NjdlOWQu
LmZkMDQ5MWQ0OTAzNjhiMDcxMjNiZjE2MDhiZWZmNTQ5Y2EwYmE5OTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmNwcApAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgaW50IGNvdW50Q2hhcmFj
dGVyKGNvbnN0IFVDaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgsIFVDaGFyIGNoYXJhY3RlcikK
ICAgICByZXR1cm4gY291bnQ7CiB9CiAKLVBhc3NPd25BcnJheVB0cjxMZW5ndGg+IG5ld0Nvb3Jk
c0FycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIGxlbikKK093bkFycmF5UHRyPExlbmd0
aD4gbmV3Q29vcmRzQXJyYXkoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbGVuKQogewogICAg
IHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKICAgICBjb25zdCBVQ2hhciogZGF0
YSA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7CkBAIC0xMTYsMTAgKzExNiwxMCBAQCBQYXNzT3duQXJy
YXlQdHI8TGVuZ3RoPiBuZXdDb29yZHNBcnJheShjb25zdCBTdHJpbmcmIHN0cmluZywgaW50JiBs
ZW4pCiAKICAgICBBU1NFUlQoaSA9PSBsZW4gLSAxKTsKIAotICAgIHJldHVybiByLnJlbGVhc2Uo
KTsKKyAgICByZXR1cm4gcjsKIH0KIAotUGFzc093bkFycmF5UHRyPExlbmd0aD4gbmV3TGVuZ3Ro
QXJyYXkoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbGVuKQorT3duQXJyYXlQdHI8TGVuZ3Ro
PiBuZXdMZW5ndGhBcnJheShjb25zdCBTdHJpbmcmIHN0cmluZywgaW50JiBsZW4pCiB7CiAgICAg
UmVmUHRyPFN0cmluZ0ltcGw+IHN0ciA9IHN0cmluZy5pbXBsKCktPnNpbXBsaWZ5V2hpdGVTcGFj
ZSgpOwogICAgIGlmICghc3RyLT5sZW5ndGgoKSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBAIFBhc3NP
d25BcnJheVB0cjxMZW5ndGg+IG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBp
bnQmIGxlbikKICAgICBlbHNlCiAgICAgICAgIGxlbi0tOwogCi0gICAgcmV0dXJuIHIucmVsZWFz
ZSgpOworICAgIHJldHVybiByOwogfQogICAgICAgICAKIGNsYXNzIENhbGN1bGF0aW9uVmFsdWVI
YW5kbGVNYXAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCAxMWFkZGQxNjAyMGM5YjA4
NzY2NjViNmU0ODRmZGMyN2JmMTQ3ZTgxLi5hZjFlNjUzNDQ5ZGQ5YThhODdhMDZjNGVjMTg1OTVl
ZDRiYTk2NDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMzAsNyArMzAsNiBAQAog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMDYsOCArMzA1LDggQEAgcHJpdmF0ZToKICAg
ICBib29sIG1faXNGbG9hdDsKIH07CiAKLVBhc3NPd25BcnJheVB0cjxMZW5ndGg+IG5ld0Nvb3Jk
c0FycmF5KGNvbnN0IFN0cmluZyYsIGludCYgbGVuKTsKLVBhc3NPd25BcnJheVB0cjxMZW5ndGg+
IG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYsIGludCYgbGVuKTsKK093bkFycmF5UHRyPExl
bmd0aD4gbmV3Q29vcmRzQXJyYXkoY29uc3QgU3RyaW5nJiwgaW50JiBsZW4pOworT3duQXJyYXlQ
dHI8TGVuZ3RoPiBuZXdMZW5ndGhBcnJheShjb25zdCBTdHJpbmcmLCBpbnQmIGxlbik7CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vRkZURnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZy
YW1lLmgKaW5kZXggZmM0MWNmYmI5MjdiYmIyMTJiYzBmMTI3ZjgzZDg1MmZiZDcwOTE2Zi4uZDk4
ZGJhNTZmYzA1M2IwYTMyYjc0NDk4ZjNiNDEwMTZmNTYwMzVjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5oCkBAIC02OCw3ICs2OCw2IEBAIHN0cnVjdCBSREZUQ29u
dGV4dDsKICNlbmRpZiAvLyBVU0UoV0VCQVVESU9fSVBQKQogCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAppbmRl
eCBjMzVjMGEzMTZiODg0Mzk3OTdlM2MyYTU3MmI2NmU4YjgwNTY5NzllLi44ZTI5ODFhMGU3MDFh
YzdhZWViODMxMjg4YzM5M2MxNjE5MDM2ODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCkBAIC00Miw3ICs0Miw2
IEBACiAKICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25BcnJheVB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCBjY2ZiOWY3NWMzZTdjMWE2NTFiMzBjZTVm
M2Q1NmVmM2EwNzk1MjhhLi44MDAwY2IzYjZlOGViMTMyODc4YzI2ZTEwMjY4M2QyYTEyYTY2YTE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJH
TC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcAppbmRleCA1NWMwYjZhY2E1ODZmNGNmZWFhMGQyZGM0ODMxMzc5ZDBjYjVhMDJk
Li5jZTg0Yzk0NjgwYzU3ODdiMTliNTU1Yzc3NzhkYWI3ZWM5M2I5YTNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2Uu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1No
YXJlZEJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9T
aGFyZWRCaXRtYXAuY3BwCmluZGV4IDI4NzE5NmU4ZWMxOWE3NDI5ZDY4NjViMTM4ZmZlZTJiY2Qw
NGU2N2IuLjk4NDAxYTEzMzFkNGE4OWIzNmM2Y2Y5MTYyNGRkZDJkMDU0YWM2MDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NoYXJlZEJpdG1hcC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2hhcmVkQml0
bWFwLmNwcApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIldpbkNFR3JhcGhpY3NFeHRyYXMu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVh
a0NvdW50ZXIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8
d3RmL093blB0ci5oPgogCiAjaW5jbHVkZSA8d2luZG93cy5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
SW1tdXRhYmxlQXJyYXkuaAppbmRleCA2ZmZlOWQwZjJmZmIzNzZlNTY2NDgxMDQ5ZTc3OWVjMGU4
MWViZjg4Li44MmE5NmMwNGQzMDk5MjVhYjhiZWZlYzg4N2I1OTNkNDJjYzQ0MGQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmlu
ZSBJbW11dGFibGVBcnJheV9oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlIDx3
dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggNTdmMTYxODdm
MzdiNjY1NzkwZDdlNzRhMjk2MWY2MDFmMjk1ZTVhMy4uZDQxNjE3MWMwZmIyMWJiNTExOWU3MzMx
ZjhjODBiZTVkMTA3YjJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTcwLDcgKzcwLDYg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2Vy
R2VzdHVyZUluZGljYXRvci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KIAogI2lmIEVOQUJMRShTSEFET1dfRE9NKSB8fCBF
TkFCTEUoQ1NTX1JFR0lPTlMpIHx8IEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpIHx8IEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210922</attachid>
            <date>2013-09-07 13:46:43 -0700</date>
            <delta_ts>2013-09-07 15:07:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120964-20130907134642.patch</filename>
            <type>text/plain</type>
            <size>33998</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
N2QyMWM5MDUwZGVjNDRjOTAxYmNiYzJhODEwMTJhMWU4Y2ZlYjlhLi4wY2QwNTBhMTUyZTVjNzFl
MGJmZGYzYWU0NmUzYzVlZDcwNzBhZGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOSBAQAogMjAxMy0wOS0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgogCisgICAgICAgIEdldCByaWQgb2YgUGFzc093bkFycmF5UHRyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA5NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgT3duQXJyYXlQdHIgaW5zdGVh
ZCBvZiBQYXNzT3duQXJyYXlQdHIuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVH
ZW5lcmF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAgICAgICAgKEpT
Qzo6U2hhcmVkU3ltYm9sVGFibGU6OnNldFNsb3dBcmd1bWVudHMpOgorCisyMDEzLTA5LTA3ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgVmVjdG9yTW92
ZXIgc2hvdWxkIHVzZSBzdGQ6Om1vdmUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyMDk1OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJkZjM0MzFmODAzNDllMTYzNWJkYWJlNDVh
ODkwMTBiYjVmMDJmYzAuLmFkYzIwNDY2YTcwOGE0YjI0NmJmNmYxY2Y2NTA5ZDgzNjhkYjk0NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTMtMDktMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBHZXQgcmlkIG9mIFBhc3NPd25BcnJheVB0cgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwOTY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBPd25BcnJh
eVB0ciBhIHByb3BlciBtb3ZlLW9ubHkgdHlwZSBhbmQgZ2V0IHJpZCBvZiBQYXNzT3duQXJyYXlQ
dHIuCisgICAgICAgIAorICAgICAgICBVbHRpbWF0ZWx5IEknZCBsaWtlIHRvIGdldCByaWQgb2Yg
T3duQXJyYXlQdHIgYXMgd2VsbCBhbmQganVzdCBoYXZlIGl0IGJlIGEgc3BlY2lhbGl6YXRpb24K
KyAgICAgICAgb2YgT3duUHRyPFRbXT4sIGJ1dCB0aGlzIGlzIGEgc3RlcCBpbiB0aGUgcmlnaHQg
ZGlyZWN0aW9uLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBX
VEYucHJvOgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qOgorICAgICAgICAqIFdU
Ri52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0Fzc2VydGlvbnMuY3BwOgorICAgICAgICAq
IHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvRGF0ZU1hdGguaDoKKyAgICAgICAg
KiB3dGYvRmFzdEJpdFZlY3Rvci5oOgorICAgICAgICAqIHd0Zi9Gb3J3YXJkLmg6CisgICAgICAg
ICogd3RmL093bkFycmF5UHRyLmg6CisgICAgICAgICogd3RmL1Bhc3NPd25BcnJheVB0ci5oOiBS
ZW1vdmVkLgorCisyMDEzLTA5LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CisKICAgICAgICAgVmVjdG9yTW92ZXIgc2hvdWxkIHVzZSBzdGQ6Om1vdmUKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDk1OQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggOGJlODg4ZDUxZjhmMGI0Yjg0MGRlYzkzMjY4NzQ5NzllZTc0MzRhYy4uOWFhNWRkMjRj
MGQwODkwOThlNzVhYzA2NzVkY2JjZTNmN2NlZGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEzLTA5LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisK
KyAgICAgICAgR2V0IHJpZCBvZiBQYXNzT3duQXJyYXlQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDk2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBPd25BcnJheVB0ciBpbnN0ZWFkIG9mIFBh
c3NPd25BcnJheVB0ci4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om5ld0Nvb3Jkc0FycmF5KToKKyAgICAgICAgKFdlYkNvcmU6Om5ld0xlbmd0aEFycmF5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9G
RlRGcmFtZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NoYXJlZEJpdG1hcC5jcHA6CisKIDIw
MTMtMDktMDcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSB1bm5lY2Vzc2FyeSBzaWJsaW5nIHRleHQgcmVuZGVyZXJzIGFmdGVyIGF0dGFjaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDA1MjQ5MDhjNTU5ZjRmMDIzNGQ5MjkzOWE3YzRlNzM5NWMxNWFiMTguLjk1NzNh
MDRkZDlkZjk2YmI1MTMxYTk2OWNkNmM2ZjhkZjM2ZDc3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMy0wOS0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29t
PgorCisgICAgICAgIEdldCByaWQgb2YgUGFzc093bkFycmF5UHRyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA5NjQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdW5uZWVkZWQgaW5jbHVkZXMu
CisKKyAgICAgICAgKiBTaGFyZWQvSW1tdXRhYmxlQXJyYXkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKwogMjAxMy0wOS0wNiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSYW5nZTo6b3duZXJEb2N1
bWVudCBzaG91bGQgcmV0dXJuIERvY3VtZW50JgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBiNDdjNmY3
MjBmOWFhYWMzZmI1MmUxZGE1MTM1ZWRhMzc3YWRjNGM2Li5mNTAwNjVkNjc0ZTU1YmVjY2E0ZTVh
YjZiYWYyYjY2N2VlYTdkY2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMjgwLDcgKzI4MCw3IEBA
IEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihWTSYgdm0sIEZ1bmN0aW9uQm9k
eU5vZGUqIGZ1bmN0aW9uQm9keSwgVW5sCiAgICAgICAgICAgICBzbG93QXJndW1lbnRzW2ldLnN0
YXR1cyA9IFNsb3dBcmd1bWVudDo6Q2FwdHVyZWQ7CiAgICAgICAgICAgICBzbG93QXJndW1lbnRz
W2ldLmluZGV4ID0gY2FwdHVyZWRBcmd1bWVudHNbaV0tPmluZGV4KCk7CiAgICAgICAgIH0KLSAg
ICAgICAgbV9zeW1ib2xUYWJsZS0+c2V0U2xvd0FyZ3VtZW50cyhzbG93QXJndW1lbnRzLnJlbGVh
c2UoKSk7CisgICAgICAgIG1fc3ltYm9sVGFibGUtPnNldFNsb3dBcmd1bWVudHMoc3RkOjptb3Zl
KHNsb3dBcmd1bWVudHMpKTsKICAgICB9CiAKICAgICBSZWdpc3RlcklEKiBjYWxsZWVSZWdpc3Rl
ciA9IHJlc29sdmVDYWxsZWUoZnVuY3Rpb25Cb2R5KTsgLy8gTWF5IHB1c2ggdG8gdGhlIHNjb3Bl
IGNoYWluIGFuZC9vciBhZGQgYSBjYXB0dXJlZCB2YXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCA0N2U4YTMyOWIyYjhmNjY4MTE0MjA3ODAzNmQ3
OGFlMDJhNGNjYzY2Li43NDgzMTJjNWMyYzJhYzQ2Nzk4MDdiZDRjNDNkMGYyNjVmZDhmZWE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTQ3Miw3
ICs0NzIsNyBAQCBwdWJsaWM6CiAKICAgICAvLyAwIGlmIHdlIGRvbid0IGNhcHR1cmUgYW55IGFy
Z3VtZW50czsgcGFyYW1ldGVyQ291bnQoKSBpbiBsZW5ndGggaWYgd2UgZG8uCiAgICAgY29uc3Qg
U2xvd0FyZ3VtZW50KiBzbG93QXJndW1lbnRzKCkgeyByZXR1cm4gbV9zbG93QXJndW1lbnRzLmdl
dCgpOyB9Ci0gICAgdm9pZCBzZXRTbG93QXJndW1lbnRzKFBhc3NPd25BcnJheVB0cjxTbG93QXJn
dW1lbnQ+IHNsb3dBcmd1bWVudHMpIHsgbV9zbG93QXJndW1lbnRzID0gc2xvd0FyZ3VtZW50czsg
fQorICAgIHZvaWQgc2V0U2xvd0FyZ3VtZW50cyhPd25BcnJheVB0cjxTbG93QXJndW1lbnQ+IHNs
b3dBcmd1bWVudHMpIHsgbV9zbG93QXJndW1lbnRzID0gc3RkOjptb3ZlKHNsb3dBcmd1bWVudHMp
OyB9CiAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggYjNjOTk4OGJmNGQyNjk1NWNmMGM3ZDhlNDI0Y2Q1NGIzZDFiY2FhMy4uNjcyMDMxZjRmMjNl
YWFiYTllZTg1YjIyZjI1ZWIyZWI3OWE4NzA2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MTIwLDcgKzEyMCw2IEBAIHd0Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9QYXJh
bGxlbEpvYnNHZW5lcmljLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSm9ic0xpYmRp
c3BhdGNoLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSm9ic09wZW5NUC5oIFwKLSAg
ICBTb3VyY2UvV1RGL3d0Zi9QYXNzT3duQXJyYXlQdHIuaCBcCiAgICAgU291cmNlL1dURi93dGYv
UGFzc093blB0ci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9QYXNzUmVmUHRyLmggXAogICAgIFNv
dXJjZS9XVEYvd3RmL1Bhc3NUcmFpdHMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi5w
cm8gYi9Tb3VyY2UvV1RGL1dURi5wcm8KaW5kZXggY2M5ZDhlZWRiMTM5MDVmYTc0NGNjZjM4OGRk
ZWRmNTI5YjUzZDg4NS4uNjU5M2E0ZjA0ZWZmMDc4MWRlMGIwZTdmNTZlYjE3OTgyY2JmNDNhZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYucHJvCisrKyBiL1NvdXJjZS9XVEYvV1RGLnBybwpA
QCAtMTA3LDcgKzEwNyw2IEBAIEhFQURFUlMgKz0gXAogICAgIFBhcmFsbGVsSm9ic0dlbmVyaWMu
aCBcCiAgICAgUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaCBcCiAgICAgUGFyYWxsZWxKb2JzT3Bl
bk1QLmggXAotICAgIFBhc3NPd25BcnJheVB0ci5oIFwKICAgICBQYXNzT3duUHRyLmggXAogICAg
IFBhc3NSZWZQdHIuaCBcCiAgICAgUGFzc1RyYWl0cy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ogYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52
Y3hwcm9qCmluZGV4IDAwMDI1MGFjN2Y3ODZjYWY4NmE0ZWE2ZjdhMzc0MWMwZDkzMjU3MGUuLmFm
ZGY2OGJjN2YxZmM5MmEyNmIwM2VkOGNjZjIwODA5M2Q2ZjBmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKKysrIGIvU291cmNlL1dURi9XVEYudmN4cHJv
ai9XVEYudmN4cHJvagpAQCAtMjA5LDcgKzIwOSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlx3dGZcUGFyYWxsZWxKb2JzR2VuZXJpYy5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHd0ZlxQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oIiAvPg0KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHd0ZlxQYXJhbGxlbEpvYnNPcGVuTVAuaCIgLz4NCi0gICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlx3dGZcUGFzc093bkFycmF5UHRyLmgiIC8+DQogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cd3RmXFBhc3NPd25QdHIuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlx3dGZcUGFzc1JlZlB0ci5oIiAvPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0
ZlxQYXNzVHJhaXRzLmgiIC8+DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9X
VEYudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5m
aWx0ZXJzCmluZGV4IDQzZjQwYmY1MWM1ZDE1ZDhkOGY4ZTQzMTc5YTJmNDljNDg4YWJlZDMuLmJk
ZjI3NjQ3OGVjMGM5MmQ0ZDEzMGM0MzQ5OGRlNmZjYWEzYmNmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV1RGL1dU
Ri52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKQEAgLTU1MSw5ICs1NTEsNiBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFBhcmFsbGVsSm9ic09wZW5NUC5oIj4NCiAgICAgICA8
RmlsdGVyPnd0ZjwvRmlsdGVyPg0KICAgICA8L0NsSW5jbHVkZT4NCi0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlx3dGZcUGFzc093bkFycmF5UHRyLmgiPg0KLSAgICAgIDxGaWx0ZXI+d3RmPC9G
aWx0ZXI+DQotICAgIDwvQ2xJbmNsdWRlPg0KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0
ZlxQYXNzT3duUHRyLmgiPg0KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+DQogICAgIDwvQ2xJ
bmNsdWRlPg0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZj
NTYwNzlhMjc2NWM0NWJmNzlhNzcxNzJlYjY3NjMwZGE1ZDdhMDQuLjBhMmZlYTA5ZWUzYTM2ZjIx
MGIxMjE2MDkwNjMyMDJhNWJiOGZlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTc5LDcgKzE3OSw2IEBACiAJCUE4QTQ3NDA0MTUxQTgyNUIwMDQxMjNG
RiAvKiBQYWdlUmVzZXJ2YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4QTQ3MkU1MTUxQTgyNUIwMDQxMjNGRiAvKiBQYWdlUmVzZXJ2YXRpb24u
aCAqLzsgfTsKIAkJQThBNDc0MDUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyRTYxNTFB
ODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oICovOyB9OwogCQlBOEE0NzQwODE1MUE4MjVC
MDA0MTIzRkYgLyogUGFyYWxsZWxKb2JzTGliZGlzcGF0Y2guaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MkU5MTUxQTgyNUIwMDQxMjNGRiAvKiBQ
YXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oICovOyB9OwotCQlBOEE0NzQwQTE1MUE4MjVCMDA0MTIz
RkYgLyogUGFzc093bkFycmF5UHRyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBOEE0NzJFQjE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc093bkFycmF5UHRy
LmggKi87IH07CiAJCUE4QTQ3NDBCMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duUHRyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzJFQzE1MUE4
MjVCMDA0MTIzRkYgLyogUGFzc093blB0ci5oICovOyB9OwogCQlBOEE0NzQwQzE1MUE4MjVCMDA0
MTIzRkYgLyogUGFzc1JlZlB0ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThBNDcyRUQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NSZWZQdHIuaCAqLzsg
fTsKIAkJQThBNDc0MEQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NUcmFpdHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MkVFMTUxQTgyNUIwMDQx
MjNGRiAvKiBQYXNzVHJhaXRzLmggKi87IH07CkBAIC00NTUsNyArNDU0LDYgQEAKIAkJQThBNDcy
RTUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhZ2VSZXNlcnZhdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQYWdlUmVzZXJ2YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQThBNDcyRTYxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJhbGxlbEpvYnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQThBNDcyRTkxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9i
c0xpYmRpc3BhdGNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcmFsbGVs
Sm9ic0xpYmRpc3BhdGNoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4QTQ3MkVC
MTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGFzc093bkFycmF5UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4QTQ3MkVDMTUxQTgyNUIwMDQxMjNGRiAvKiBQYXNzT3duUHRyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhc3NPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQThBNDcyRUQxNTFBODI1QjAwNDEyM0ZGIC8qIFBhc3NSZWZQdHIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFzc1JlZlB0ci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBOEE0NzJFRTE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc1RyYWl0cy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXNzVHJhaXRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQsNyArNzMyLDYgQEAKIAkJCQlBOEE0NzJFNTE1MUE4
MjVCMDA0MTIzRkYgLyogUGFnZVJlc2VydmF0aW9uLmggKi8sCiAJCQkJQThBNDcyRTYxNTFBODI1
QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oICovLAogCQkJCUE4QTQ3MkU5MTUxQTgyNUIwMDQx
MjNGRiAvKiBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oICovLAotCQkJCUE4QTQ3MkVCMTUxQTgy
NUIwMDQxMjNGRiAvKiBQYXNzT3duQXJyYXlQdHIuaCAqLywKIAkJCQlBOEE0NzJFQzE1MUE4MjVC
MDA0MTIzRkYgLyogUGFzc093blB0ci5oICovLAogCQkJCUE4QTQ3MkVEMTUxQTgyNUIwMDQxMjNG
RiAvKiBQYXNzUmVmUHRyLmggKi8sCiAJCQkJQThBNDcyRUUxNTFBODI1QjAwNDEyM0ZGIC8qIFBh
c3NUcmFpdHMuaCAqLywKQEAgLTEwMzMsNyArMTAzMCw2IEBACiAJCQkJQThBNDc0MDQxNTFBODI1
QjAwNDEyM0ZGIC8qIFBhZ2VSZXNlcnZhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0
MDUxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9icy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDc0MDgxNTFBODI1QjAwNDEyM0ZGIC8qIFBhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmggaW4g
SGVhZGVycyAqLywKLQkJCQlBOEE0NzQwQTE1MUE4MjVCMDA0MTIzRkYgLyogUGFzc093bkFycmF5
UHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQwQjE1MUE4MjVCMDA0MTIzRkYgLyogUGFz
c093blB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDc0MEMxNTFBODI1QjAwNDEyM0ZGIC8q
IFBhc3NSZWZQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDBEMTUxQTgyNUIwMDQxMjNG
RiAvKiBQYXNzVHJhaXRzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0Fzc2VydGlvbnMuY3BwIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXgg
MGI1MWI0NDEwMWZkZTQ4NjQ3ZTRlYWM2ZTk3ZTZmODQwMzBiY2UwNy4uMTcyMDIxM2I4ZThiZTVh
ZjE4ZGRmZDA0MDljYmM5NDYxMDEwNWMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQXNz
ZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHAKQEAgLTM1LDcg
KzM1LDcgQEAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCiAKICNpbmNsdWRlICJDb21waWxlci5o
IgotI2luY2x1ZGUgIk93bkFycmF5UHRyLmgiCisjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
aW5kZXggMzk4YzljZmVmMGFhM2Y0NTgwMDlhNTRiNTM2OWU2NDNiYWZiMzExYS4uYzAxNTUzMWY0
ZDgzN2E5ZGExZWNkNWRkMjI0OWFmOTI2ODI2YTAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAg
LTcwLDcgKzcwLDYgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgUGFnZUFsbG9jYXRpb25BbGlnbmVk
LmgKICAgICBQYWdlQmxvY2suaAogICAgIFBhZ2VSZXNlcnZhdGlvbi5oCi0gICAgUGFzc093bkFy
cmF5UHRyLmgKICAgICBQYXNzT3duUHRyLmgKICAgICBQYXNzUmVmUHRyLmgKICAgICBQYXNzVHJh
aXRzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvV1RG
L3d0Zi9EYXRlTWF0aC5oCmluZGV4IGNlZjhiMDliMmViOTQ1MTk2NTIzNjRhNjNkM2UyM2Q2MDZk
MzcxN2UuLjUwMWVkZDc5ZDBiMzlhNGNjNzM1MGM3NjE2NzYyZjgxMWNmMzIwOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmgKKysrIGIvU291cmNlL1dURi93dGYvRGF0ZU1h
dGguaApAQCAtNTAsNyArNTAsNiBAQAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgot
I2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9G
YXN0Qml0VmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0Qml0VmVjdG9yLmgKaW5kZXggYzM0
ZGNmNTEzYWI1NDZkYjQ2NWJkMDE1ZmZmNThlN2UwMjU1YmNkMy4uZjQ1YWRmYzUxMTVhMWY1N2Fm
NjE2OWVlODFlZjU5NzYyZjJjNTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdEJp
dFZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuaApAQCAtMjgsNyAr
MjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvT3du
QXJyYXlQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0ZvcndhcmQuaCBiL1NvdXJjZS9XVEYvd3RmL0ZvcndhcmQuaAppbmRleCA1OWE1
ZGMwNTBlNTFlY2QyNzhjOTM4ODA3NWZhZGM3Yjk4M2M1YjA3Li5hY2E0ZWRmMGE2YmMzNTQ4NTZi
Yjk3YWIxODVmMWI3MDM5YzdlZGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Gb3J3YXJk
LmgKKysrIGIvU291cmNlL1dURi93dGYvRm9yd2FyZC5oCkBAIC0yOCw3ICsyOCw2IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIEZ1bmN0aW9uOwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyOwogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIE93blB0cjsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duQXJyYXlQdHI7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0
cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzUmVmUHRyOwogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0cjsKQEAgLTUyLDcgKzUxLDYgQEAgbmFtZXNwYWNl
IFdURiB7CiB1c2luZyBXVEY6OkZ1bmN0aW9uOwogdXNpbmcgV1RGOjpPd25BcnJheVB0cjsKIHVz
aW5nIFdURjo6T3duUHRyOwotdXNpbmcgV1RGOjpQYXNzT3duQXJyYXlQdHI7CiB1c2luZyBXVEY6
OlBhc3NPd25QdHI7CiB1c2luZyBXVEY6OlBhc3NSZWZQdHI7CiB1c2luZyBXVEY6OlJlZlB0cjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL093bkFycmF5UHRyLmggYi9Tb3VyY2UvV1RGL3d0
Zi9Pd25BcnJheVB0ci5oCmluZGV4IGIzZDcyZGZkYjBmYjJjYjY4ODM1YWMxMGJmNTAzNTgyNjJj
NDZhNzYuLjY1Yjk4YzdhOTg0YjVkZDk3ODY4MTAxYTBhMTRlMjE1NjAwNDc2NjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvT3du
QXJyYXlQdHIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTI0LDM1ICsyNCwyNiBAQAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL051bGxQdHIu
aD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8YWxnb3JpdGht
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093
bkFycmF5UHRyOwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0
QXJyYXlQdHIoVCopOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgZGVsZXRlT3du
ZWRBcnJheVB0cihUKik7CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0
ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCi0gICAgT3duQXJyYXlQdHIo
KSA6IG1fcHRyKDApIHsgfQotCi0gICAgLy8gU2VlIGNvbW1lbnQgaW4gUGFzc093bkFycmF5UHRy
LmggZm9yIHdoeSB0aGlzIHRha2VzIGEgY29uc3QgcmVmZXJlbmNlLgotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFU+IE93bkFycmF5UHRyKGNvbnN0IFBhc3NPd25BcnJheVB0cjxVPiYgbyk7Ci0KLSAg
ICAvLyBUaGlzIGNvcHkgY29uc3RydWN0b3IgaXMgdXNlZCBpbXBsaWNpdGx5IGJ5IGdjYyB3aGVu
IGl0IGdlbmVyYXRlcwotICAgIC8vIHRyYW5zaWVudHMgZm9yIGFzc2lnbmluZyBhIFBhc3NPd25B
cnJheVB0cjxUPiBvYmplY3QgdG8gYSBzdGFjay1hbGxvY2F0ZWQKLSAgICAvLyBPd25BcnJheVB0
cjxUPiBvYmplY3QuIEl0IHNob3VsZCBuZXZlciBiZSBjYWxsZWQgZXhwbGljaXRseSBhbmQgZ2Nj
Ci0gICAgLy8gc2hvdWxkIG9wdGltaXplIGF3YXkgdGhlIGNvbnN0cnVjdG9yIHdoZW4gZ2VuZXJh
dGluZyBjb2RlLgotICAgIE93bkFycmF5UHRyKGNvbnN0IE93bkFycmF5UHRyPFQ+Jik7CisgICAg
T3duQXJyYXlQdHIoKSA6IG1fcHRyKG51bGxwdHIpIHsgfQorICAgIE93bkFycmF5UHRyKHN0ZDo6
bnVsbHB0cl90KSA6IG1fcHRyKG51bGxwdHIpIHsgfQorICAgIE93bkFycmF5UHRyKE93bkFycmF5
UHRyJiYpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IE93bkFycmF5UHRyKE93bkFycmF5UHRy
PFU+JiYpOwogCiAgICAgfk93bkFycmF5UHRyKCkgeyBkZWxldGVPd25lZEFycmF5UHRyKG1fcHRy
KTsgfQogCiAgICAgUHRyVHlwZSBnZXQoKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQogCiAgICAg
dm9pZCBjbGVhcigpOwotICAgIFBhc3NPd25BcnJheVB0cjxUPiByZWxlYXNlKCk7CiAgICAgUHRy
VHlwZSBsZWFrUHRyKCkgV0FSTl9VTlVTRURfUkVUVVJOOwogCiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyBBU1NFUlQobV9wdHIpOyByZXR1cm4gKm1fcHRyOyB9CkBAIC02Niw1NyArNTcsNjAg
QEAgcHVibGljOgogICAgIHR5cGVkZWYgVCogT3duQXJyYXlQdHI6OipVbnNwZWNpZmllZEJvb2xU
eXBlOwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJldHVybiBt
X3B0ciA/ICZPd25BcnJheVB0cjo6bV9wdHIgOiAwOyB9CiAKLSAgICBPd25BcnJheVB0ciYgb3Bl
cmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxUPiYpOwogICAgIE93bkFycmF5UHRyJiBvcGVy
YXRvcj0oc3RkOjpudWxscHRyX3QpIHsgY2xlYXIoKTsgcmV0dXJuICp0aGlzOyB9Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVT4gT3duQXJyYXlQdHImIG9wZXJhdG9yPShjb25zdCBQYXNzT3duQXJy
YXlQdHI8VT4mKTsKKyAgICBPd25BcnJheVB0ciYgb3BlcmF0b3I9KE93bkFycmF5UHRyJiYpOwor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IE93bkFycmF5UHRyJiBvcGVyYXRvcj0oT3duQXJyYXlQ
dHI8VT4mJik7CiAKICAgICB2b2lkIHN3YXAoT3duQXJyYXlQdHImIG8pIHsgc3RkOjpzd2FwKG1f
cHRyLCBvLm1fcHRyKTsgfQogCiBwcml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZy
aWVuZCBPd25BcnJheVB0cjxVPiBhZG9wdEFycmF5UHRyKFUqKTsKKyAgICBleHBsaWNpdCBPd25B
cnJheVB0cihQdHJUeXBlIHB0cikgOiBtX3B0cihwdHIpIHsgfQorCiAgICAgUHRyVHlwZSBtX3B0
cjsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGlu
ZSBPd25BcnJheVB0cjxUPjo6T3duQXJyYXlQdHIoY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBv
KQotICAgIDogbV9wdHIoby5sZWFrUHRyKCkpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5l
IE93bkFycmF5UHRyPFQ+OjpPd25BcnJheVB0cihPd25BcnJheVB0ciYmIG90aGVyKQorICAgIDog
bV9wdHIob3RoZXIubGVha1B0cigpKQogewogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgdm9pZCBPd25BcnJheVB0cjxUPjo6Y2xlYXIoKQordGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVt
cGxhdGU8dHlwZW5hbWUgVT4KK2lubGluZSBPd25BcnJheVB0cjxUPjo6T3duQXJyYXlQdHIoT3du
QXJyYXlQdHI8VT4mJiBvdGhlcikKKyAgICA6IG1fcHRyKG90aGVyLmxlYWtQdHIoKSkKIHsKLSAg
ICBQdHJUeXBlIHB0ciA9IG1fcHRyOwotICAgIG1fcHRyID0gMDsKLSAgICBkZWxldGVPd25lZEFy
cmF5UHRyKHB0cik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBQYXNzT3duQXJy
YXlQdHI8VD4gT3duQXJyYXlQdHI8VD46OnJlbGVhc2UoKQordGVtcGxhdGU8dHlwZW5hbWUgVD4K
K2lubGluZSB2b2lkIE93bkFycmF5UHRyPFQ+OjpjbGVhcigpCiB7CiAgICAgUHRyVHlwZSBwdHIg
PSBtX3B0cjsKICAgICBtX3B0ciA9IDA7Ci0gICAgcmV0dXJuIGFkb3B0QXJyYXlQdHIocHRyKTsK
KyAgICBkZWxldGVPd25lZEFycmF5UHRyKHB0cik7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGlubGluZSB0eXBlbmFtZSBPd25BcnJheVB0cjxUPjo6UHRyVHlwZSBPd25BcnJheVB0cjxUPjo6
bGVha1B0cigpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIHR5cGVuYW1lIE93bkFycmF5
UHRyPFQ+OjpQdHJUeXBlIE93bkFycmF5UHRyPFQ+OjpsZWFrUHRyKCkKIHsKICAgICBQdHJUeXBl
IHB0ciA9IG1fcHRyOwogICAgIG1fcHRyID0gMDsKICAgICByZXR1cm4gcHRyOwogfQogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT3duQXJyYXlQdHI8VD4mIE93bkFycmF5UHRyPFQ+Ojpv
cGVyYXRvcj0oY29uc3QgUGFzc093bkFycmF5UHRyPFQ+JiBvKQordGVtcGxhdGU8dHlwZW5hbWUg
VD4KK2lubGluZSBPd25BcnJheVB0cjxUPiYgT3duQXJyYXlQdHI8VD46Om9wZXJhdG9yPShPd25B
cnJheVB0ciYmIG90aGVyKQogewotICAgIFB0clR5cGUgcHRyID0gbV9wdHI7Ci0gICAgbV9wdHIg
PSBvLmxlYWtQdHIoKTsKLSAgICBBU1NFUlQoIXB0ciB8fCBtX3B0ciAhPSBwdHIpOwotICAgIGRl
bGV0ZU93bmVkQXJyYXlQdHIocHRyKTsKKyAgICBhdXRvIHB0ciA9IHN0ZDo6bW92ZShvdGhlcik7
CisgICAgc3dhcChwdHIpOwogICAgIHJldHVybiAqdGhpczsKIH0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIE93bkFycmF5UHRyPFQ+JiBPd25BcnJh
eVB0cjxUPjo6b3BlcmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxVPiYgbykKK3RlbXBsYXRl
PHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+CitpbmxpbmUgT3duQXJyYXlQdHI8VD4m
IE93bkFycmF5UHRyPFQ+OjpvcGVyYXRvcj0oT3duQXJyYXlQdHI8VT4mJiBvdGhlcikKIHsKLSAg
ICBQdHJUeXBlIHB0ciA9IG1fcHRyOwotICAgIG1fcHRyID0gby5sZWFrUHRyKCk7Ci0gICAgQVNT
RVJUKCFwdHIgfHwgbV9wdHIgIT0gcHRyKTsKLSAgICBkZWxldGVPd25lZEFycmF5UHRyKHB0cik7
CisgICAgYXV0byBwdHIgPSBzdGQ6Om1vdmUob3RoZXIpOworICAgIHN3YXAocHRyKTsKICAgICBy
ZXR1cm4gKnRoaXM7CiB9CiAKQEAgLTE1MCw4ICsxNDQsMjEgQEAgdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IGlubGluZSBUKiBnZXRQdHIoY29uc3QgT3duQXJyYXlQdHI8VD4mIHApCiAgICAgcmV0dXJu
IHAuZ2V0KCk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBPd25BcnJheVB0cjxU
PiBhZG9wdEFycmF5UHRyKFQqIHB0cikKK3sKKyAgICByZXR1cm4gT3duQXJyYXlQdHI8VD4ocHRy
KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgZGVsZXRlT3duZWRBcnJh
eVB0cihUKiBwdHIpCit7CisgICAgc3RhdGljX2Fzc2VydChzaXplb2YoVCkgPiAwLCAiZGVsZXRl
T3duZWRBcnJheVB0ciBjYW4gbm90IGRlbGV0ZSBpbmNvbXBsZXRlIHR5cGVzIik7CisKKyAgICBk
ZWxldGVbXSBwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6Ok93bkFy
cmF5UHRyOwordXNpbmcgV1RGOjphZG9wdEFycmF5UHRyOwogCiAjZW5kaWYgLy8gV1RGX093bkFy
cmF5UHRyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Bhc3NPd25BcnJheVB0ci5oIGIv
U291cmNlL1dURi93dGYvUGFzc093bkFycmF5UHRyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDFkYjczNDNkZTJkZDQzNGZiNWU0NTY2MGEzMGFhNjBlZDk4OGVjYzQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvUGFz
c093bkFycmF5UHRyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIFdURl9QYXNzT3du
QXJyYXlQdHJfaAotI2RlZmluZSBXVEZfUGFzc093bkFycmF5UHRyX2gKLQotI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL051bGxQdHIuaD4KLSNpbmNsdWRlIDx3dGYv
VHlwZVRyYWl0cy5oPgotCi1uYW1lc3BhY2UgV1RGIHsKLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4g
Y2xhc3MgT3duQXJyYXlQdHI7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duQXJy
YXlQdHI7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4gYWRvcHRBcnJh
eVB0cihUKik7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGRlbGV0ZU93bmVkQXJyYXlQdHIo
VCogcHRyKTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyIHsK
LXB1YmxpYzoKLSAgICB0eXBlZGVmIFQqIFB0clR5cGU7Ci0KLSAgICBQYXNzT3duQXJyYXlQdHIo
KSA6IG1fcHRyKDApIHsgfQotICAgIFBhc3NPd25BcnJheVB0cihzdGQ6Om51bGxwdHJfdCkgOiBt
X3B0cigwKSB7IH0KLQotICAgIC8vIEl0IHNvbWV3aGF0IGJyZWFrcyB0aGUgdHlwZSBzeXN0ZW0g
dG8gYWxsb3cgdHJhbnNmZXIgb2Ygb3duZXJzaGlwIG91dCBvZgotICAgIC8vIGEgY29uc3QgUGFz
c093bkFycmF5UHRyLiBIb3dldmVyLCBpdCBtYWtlcyBpdCBtdWNoIGVhc2llciB0byB3b3JrIHdp
dGggUGFzc093bkFycmF5UHRyCi0gICAgLy8gdGVtcG9yYXJpZXMsIGFuZCB3ZSBkb24ndCBoYXZl
IGEgbmVlZCB0byB1c2UgcmVhbCBjb25zdCBQYXNzT3duQXJyYXlQdHJzIGFueXdheS4KLSAgICBQ
YXNzT3duQXJyYXlQdHIoY29uc3QgUGFzc093bkFycmF5UHRyJiBvKSA6IG1fcHRyKG8ubGVha1B0
cigpKSB7IH0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBQYXNzT3duQXJyYXlQdHIoY29uc3Qg
UGFzc093bkFycmF5UHRyPFU+JiBvKSA6IG1fcHRyKG8ubGVha1B0cigpKSB7IH0KLQotICAgIH5Q
YXNzT3duQXJyYXlQdHIoKSB7IGRlbGV0ZU93bmVkQXJyYXlQdHIobV9wdHIpOyB9Ci0KLSAgICBQ
dHJUeXBlIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9Ci0KLSAgICBQdHJUeXBlIGxlYWtQ
dHIoKSBjb25zdCBXQVJOX1VOVVNFRF9SRVRVUk47Ci0KLSAgICBUJiBvcGVyYXRvciooKSBjb25z
dCB7IEFTU0VSVChtX3B0cik7IHJldHVybiAqbV9wdHI7IH0KLSAgICBQdHJUeXBlIG9wZXJhdG9y
LT4oKSBjb25zdCB7IEFTU0VSVChtX3B0cik7IHJldHVybiBtX3B0cjsgfQotCi0gICAgYm9vbCBv
cGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9wdHI7IH0KLQotICAgIC8vIFRoaXMgY29udmVy
c2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3Qg
dG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSAgICB0eXBlZGVmIFB0clR5cGUgUGFzc093bkFycmF5
UHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKLSAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xU
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUGFzc093bkFycmF5UHRyOjptX3B0ciA6IDA7
IH0KLQotICAgIFBhc3NPd25BcnJheVB0ciYgb3BlcmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0
ciYpIHsgQ09NUElMRV9BU1NFUlQoIXNpemVvZihUKiksIFBhc3NPd25BcnJheVB0cl9zaG91bGRf
bmV2ZXJfYmVfYXNzaWduZWRfdG8pOyByZXR1cm4gKnRoaXM7IH0KLQotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFU+IGZyaWVuZCBQYXNzT3duQXJyYXlQdHI8VT4gYWRvcHRBcnJheVB0cihVKik7Ci0K
LXByaXZhdGU6Ci0gICAgZXhwbGljaXQgUGFzc093bkFycmF5UHRyKFB0clR5cGUgcHRyKSA6IG1f
cHRyKHB0cikgeyB9Ci0KLSAgICBtdXRhYmxlIFB0clR5cGUgbV9wdHI7Ci19OwotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUGFzc093bkFycmF5UHRyPFQ+OjpQdHJUeXBl
IFBhc3NPd25BcnJheVB0cjxUPjo6bGVha1B0cigpIGNvbnN0Ci17Ci0gICAgUHRyVHlwZSBwdHIg
PSBtX3B0cjsKLSAgICBtX3B0ciA9IDA7Ci0gICAgcmV0dXJuIHB0cjsKLX0KLQotdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQYXNz
T3duQXJyYXlQdHI8VD4mIGEsIGNvbnN0IFBhc3NPd25BcnJheVB0cjxVPiYgYikgCi17Ci0gICAg
cmV0dXJuIGEuZ2V0KCkgPT0gYi5nZXQoKTsgCi19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUGFzc093bkFycmF5UHRyPFQ+
JiBhLCBjb25zdCBPd25BcnJheVB0cjxVPiYgYikgCi17Ci0gICAgcmV0dXJuIGEuZ2V0KCkgPT0g
Yi5nZXQoKTsgCi19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgT3duQXJyYXlQdHI8VD4mIGEsIGNvbnN0IFBhc3NPd25BcnJh
eVB0cjxVPiYgYikgCi17Ci0gICAgcmV0dXJuIGEuZ2V0KCkgPT0gYi5nZXQoKTsgCi19Ci0KLXRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29u
c3QgUGFzc093bkFycmF5UHRyPFQ+JiBhLCBVKiBiKSAKLXsKLSAgICByZXR1cm4gYS5nZXQoKSA9
PSBiOyAKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
b3BlcmF0b3I9PShUKiBhLCBjb25zdCBQYXNzT3duQXJyYXlQdHI8VT4mIGIpIAotewotICAgIHJl
dHVybiBhID09IGIuZ2V0KCk7IAotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxUPiYgYSwgY29u
c3QgUGFzc093bkFycmF5UHRyPFU+JiBiKSAKLXsKLSAgICByZXR1cm4gYS5nZXQoKSAhPSBiLmdl
dCgpOyAKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
b3BlcmF0b3IhPShjb25zdCBQYXNzT3duQXJyYXlQdHI8VD4mIGEsIGNvbnN0IE93bkFycmF5UHRy
PFU+JiBiKSAKLXsKLSAgICByZXR1cm4gYS5nZXQoKSAhPSBiLmdldCgpOyAKLX0KLQotdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBP
d25BcnJheVB0cjxUPiYgYSwgY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBiKSAKLXsKLSAgICBy
ZXR1cm4gYS5nZXQoKSAhPSBiLmdldCgpOyAKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBQYXNzT3duQXJyYXlQdHI8VD4m
IGEsIFUqIGIpCi17Ci0gICAgcmV0dXJuIGEuZ2V0KCkgIT0gYjsgCi19Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBib29sIG9wZXJhdG9yIT0oVCogYSwgY29uc3Qg
UGFzc093bkFycmF5UHRyPFU+JiBiKSAKLXsKLSAgICByZXR1cm4gYSAhPSBiLmdldCgpOyAKLX0K
LQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFBhc3NPd25BcnJheVB0cjxUPiBhZG9wdEFy
cmF5UHRyKFQqIHB0cikKLXsKLSAgICByZXR1cm4gUGFzc093bkFycmF5UHRyPFQ+KHB0cik7Ci19
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSB2b2lkIGRlbGV0ZU93bmVkQXJyYXlQdHIo
VCogcHRyKQotewotICAgIHR5cGVkZWYgY2hhciBrbm93bltzaXplb2YoVCkgPyAxIDogLTFdOwot
ICAgIGlmIChzaXplb2Yoa25vd24pKQotICAgICAgICBkZWxldGUgW10gcHRyOwotfQotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgUGFzc093bkFycmF5UHRyPFQ+IHN0
YXRpY19wb2ludGVyX2Nhc3QoY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBwKSAKLXsKLSAgICBy
ZXR1cm4gYWRvcHRBcnJheVB0cihzdGF0aWNfY2FzdDxUKj4ocC5sZWFrUHRyKCkpKTsKLX0KLQot
dGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIFBhc3NPd25BcnJheVB0cjxU
PiBjb25zdF9wb2ludGVyX2Nhc3QoY29uc3QgUGFzc093bkFycmF5UHRyPFU+JiBwKSAKLXsKLSAg
ICByZXR1cm4gYWRvcHRBcnJheVB0cihjb25zdF9jYXN0PFQqPihwLmxlYWtQdHIoKSkpOwotfQot
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgVCogZ2V0UHRyKGNvbnN0IFBhc3NPd25BcnJh
eVB0cjxUPiYgcCkKLXsKLSAgICByZXR1cm4gcC5nZXQoKTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V1RGCi0KLXVzaW5nIFdURjo6UGFzc093bkFycmF5UHRyOwotdXNpbmcgV1RGOjphZG9wdEFycmF5
UHRyOwotdXNpbmcgV1RGOjpjb25zdF9wb2ludGVyX2Nhc3Q7Ci11c2luZyBXVEY6OnN0YXRpY19w
b2ludGVyX2Nhc3Q7Ci0KLSNlbmRpZiAvLyBXVEZfUGFzc093bkFycmF5UHRyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IDM4OWE0NGI0NTAzYTkwYjJkZmI5OWY0ZDYzYjA2Mzk1NzgxNmY5NTEuLjQ5OWFlMjRiY2Fl
MzdkY2IzMzc4ZWVmODczMzlmNGM3YThlNmVhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNzgsNyArNzgsNiBA
QAogI2luY2x1ZGUgPHJ1bnRpbWUvVHlwZWRBcnJheUlubGluZXMuaD4KICNpbmNsdWRlIDxydW50
aW1lL1VpbnQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL1Bhc3NPd25BcnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguY3BwCmluZGV4IGI1M2Y4ZmFkOTQwM2Q4MmI5YTQ2Mjc4NDNmMTM2MDEzN2Q0NjdlOWQu
LmZkMDQ5MWQ0OTAzNjhiMDcxMjNiZjE2MDhiZWZmNTQ5Y2EwYmE5OTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmNwcApAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgaW50IGNvdW50Q2hhcmFj
dGVyKGNvbnN0IFVDaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgsIFVDaGFyIGNoYXJhY3RlcikK
ICAgICByZXR1cm4gY291bnQ7CiB9CiAKLVBhc3NPd25BcnJheVB0cjxMZW5ndGg+IG5ld0Nvb3Jk
c0FycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIGxlbikKK093bkFycmF5UHRyPExlbmd0
aD4gbmV3Q29vcmRzQXJyYXkoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbGVuKQogewogICAg
IHVuc2lnbmVkIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKICAgICBjb25zdCBVQ2hhciogZGF0
YSA9IHN0cmluZy5jaGFyYWN0ZXJzKCk7CkBAIC0xMTYsMTAgKzExNiwxMCBAQCBQYXNzT3duQXJy
YXlQdHI8TGVuZ3RoPiBuZXdDb29yZHNBcnJheShjb25zdCBTdHJpbmcmIHN0cmluZywgaW50JiBs
ZW4pCiAKICAgICBBU1NFUlQoaSA9PSBsZW4gLSAxKTsKIAotICAgIHJldHVybiByLnJlbGVhc2Uo
KTsKKyAgICByZXR1cm4gcjsKIH0KIAotUGFzc093bkFycmF5UHRyPExlbmd0aD4gbmV3TGVuZ3Ro
QXJyYXkoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbGVuKQorT3duQXJyYXlQdHI8TGVuZ3Ro
PiBuZXdMZW5ndGhBcnJheShjb25zdCBTdHJpbmcmIHN0cmluZywgaW50JiBsZW4pCiB7CiAgICAg
UmVmUHRyPFN0cmluZ0ltcGw+IHN0ciA9IHN0cmluZy5pbXBsKCktPnNpbXBsaWZ5V2hpdGVTcGFj
ZSgpOwogICAgIGlmICghc3RyLT5sZW5ndGgoKSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBAIFBhc3NP
d25BcnJheVB0cjxMZW5ndGg+IG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBp
bnQmIGxlbikKICAgICBlbHNlCiAgICAgICAgIGxlbi0tOwogCi0gICAgcmV0dXJuIHIucmVsZWFz
ZSgpOworICAgIHJldHVybiByOwogfQogICAgICAgICAKIGNsYXNzIENhbGN1bGF0aW9uVmFsdWVI
YW5kbGVNYXAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCAxMWFkZGQxNjAyMGM5YjA4
NzY2NjViNmU0ODRmZGMyN2JmMTQ3ZTgxLi5hZjFlNjUzNDQ5ZGQ5YThhODdhMDZjNGVjMTg1OTVl
ZDRiYTk2NDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMzAsNyArMzAsNiBAQAog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMDYsOCArMzA1LDggQEAgcHJpdmF0ZToKICAg
ICBib29sIG1faXNGbG9hdDsKIH07CiAKLVBhc3NPd25BcnJheVB0cjxMZW5ndGg+IG5ld0Nvb3Jk
c0FycmF5KGNvbnN0IFN0cmluZyYsIGludCYgbGVuKTsKLVBhc3NPd25BcnJheVB0cjxMZW5ndGg+
IG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYsIGludCYgbGVuKTsKK093bkFycmF5UHRyPExl
bmd0aD4gbmV3Q29vcmRzQXJyYXkoY29uc3QgU3RyaW5nJiwgaW50JiBsZW4pOworT3duQXJyYXlQ
dHI8TGVuZ3RoPiBuZXdMZW5ndGhBcnJheShjb25zdCBTdHJpbmcmLCBpbnQmIGxlbik7CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vRkZURnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZy
YW1lLmgKaW5kZXggZmM0MWNmYmI5MjdiYmIyMTJiYzBmMTI3ZjgzZDg1MmZiZDcwOTE2Zi4uZDk4
ZGJhNTZmYzA1M2IwYTMyYjc0NDk4ZjNiNDEwMTZmNTYwMzVjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5oCkBAIC02OCw3ICs2OCw2IEBAIHN0cnVjdCBSREZUQ29u
dGV4dDsKICNlbmRpZiAvLyBVU0UoV0VCQVVESU9fSVBQKQogCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAppbmRl
eCBjMzVjMGEzMTZiODg0Mzk3OTdlM2MyYTU3MmI2NmU4YjgwNTY5NzllLi44ZTI5ODFhMGU3MDFh
YzdhZWViODMxMjg4YzM5M2MxNjE5MDM2ODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCkBAIC00Miw3ICs0Miw2
IEBACiAKICNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyVmlldy5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25BcnJheVB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCBjY2ZiOWY3NWMzZTdjMWE2NTFiMzBjZTVm
M2Q1NmVmM2EwNzk1MjhhLi44MDAwY2IzYjZlOGViMTMyODc4YzI2ZTEwMjY4M2QyYTEyYTY2YTE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJH
TC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcAppbmRleCA1NWMwYjZhY2E1ODZmNGNmZWFhMGQyZGM0ODMxMzc5ZDBjYjVhMDJk
Li5jZTg0Yzk0NjgwYzU3ODdiMTliNTU1Yzc3NzhkYWI3ZWM5M2I5YTNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2Uu
aD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1No
YXJlZEJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9T
aGFyZWRCaXRtYXAuY3BwCmluZGV4IDI4NzE5NmU4ZWMxOWE3NDI5ZDY4NjViMTM4ZmZlZTJiY2Qw
NGU2N2IuLjk4NDAxYTEzMzFkNGE4OWIzNmM2Y2Y5MTYyNGRkZDJkMDU0YWM2MDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NoYXJlZEJpdG1hcC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2hhcmVkQml0
bWFwLmNwcApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIldpbkNFR3JhcGhpY3NFeHRyYXMu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVh
a0NvdW50ZXIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8
d3RmL093blB0ci5oPgogCiAjaW5jbHVkZSA8d2luZG93cy5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
SW1tdXRhYmxlQXJyYXkuaAppbmRleCA2ZmZlOWQwZjJmZmIzNzZlNTY2NDgxMDQ5ZTc3OWVjMGU4
MWViZjg4Li44MmE5NmMwNGQzMDk5MjVhYjhiZWZlYzg4N2I1OTNkNDJjYzQ0MGQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmlu
ZSBJbW11dGFibGVBcnJheV9oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlIDx3
dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggNTdmMTYxODdm
MzdiNjY1NzkwZDdlNzRhMjk2MWY2MDFmMjk1ZTVhMy4uZDQxNjE3MWMwZmIyMWJiNTExOWU3MzMx
ZjhjODBiZTVkMTA3YjJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTcwLDcgKzcwLDYg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2Vy
R2VzdHVyZUluZGljYXRvci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KIAogI2lmIEVOQUJMRShTSEFET1dfRE9NKSB8fCBF
TkFCTEUoQ1NTX1JFR0lPTlMpIHx8IEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpIHx8IEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVz
Lmg+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtVXRpbGl0aWVzLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1VdGlsaXRpZXMuY3BwCmluZGV4IDFkZWQy
YTk0Y2YzMjQzZTFhOWExODMzYTFmMzkwNDhmN2E3YjIyNjAuLmUzODc0N2M1YTk5YzU4YzZhMzc2
OTFjZTI4Nzc2NzczYmZhMjQxZDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxh
dGZvcm1VdGlsaXRpZXMuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1VdGls
aXRpZXMuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1VdGlsaXRpZXMu
aCIKIAogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
QXJyYXlQdHIuaD4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogbmFtZXNwYWNlIFV0aWwg
ewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAKaW5kZXggNDMxZWUyNGI1YTNkOWRlZDU5MmQxZDY1M2UxYTg1MzFiZjY3YTgwOS4u
YzkwYjIxMDBhZmY5Yjc4NGE4OWQ2ZGZjYTI4ZjVkODFkYzJkMDgzMyAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC01
MCw3ICs1MCw2IEBACiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KLSNpbmNsdWRlIDx3dGYv
UGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9TdHJpbmdGdW5jdGlvbnMuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvU3Ry
aW5nRnVuY3Rpb25zLmgKaW5kZXggMTNmNmU1ODUzNmMzMjFhZWExMTNiZGM0YzY4NWZiYzBkZjIz
NTMxMC4uN2I4ZmQ0ZWJiYTQyNjFmMzU1YzdkNzQ3Y2Q4OTJjYzJhNThkNjc4YiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9TdHJpbmdGdW5jdGlvbnMuaAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1N0cmluZ0Z1bmN0aW9ucy5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS1N0cmluZ1ByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJM
Lmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25B
cnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggZWJkNmMyZmFhM2QxNTU5ZjQ2MDk0
NDZjY2YxYWRkNzQ2OWZlNTQwOS4uOTg0MjQzNDMyZTRhMTYyNTVkNDE4ZWNkZmQzNDgxNjEzNjNm
MjE5NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTM4
LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxXZWJLaXQyL1dLSW5zcGVjdG9yLmg+CiAjaW5jbHVkZSA8
V2ViS2l0Mi9XS1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9lZmwvRXZlbnRTZW5kZXJQcm94eUVmbC5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2VmbC9FdmVudFNlbmRlclByb3h5RWZsLmNwcAppbmRleCA0MjQ5NzRkN2UxMTVi
MjNiZjNlYTcxY2IxYWRkNjdiNDQ4NDgyYzZiLi43NjY0YzVhNmM1ZjEzNTZkNzcwODVkNjc0MmJi
MTFiZTE3YjNmYzY1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9FdmVu
dFNlbmRlclByb3h5RWZsLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9FdmVu
dFNlbmRlclByb3h5RWZsLmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgPEVjb3JlX0V2
YXMuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4K
LSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvZ3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwCmluZGV4IDhkMDhl
NDAyYWEzZDI1Mzk5MTFmYmNiNGU4Mzk2MmE0Nzg0YTMwZDguLjM3MzJmODMwYzQ3NzkxY2NkMzZj
MzY4NjNiOTQxZjg0ZjYyMzk3YzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Z3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Z3RrL0V2ZW50U2VuZGVyUHJveHlHdGsuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAi
UGxhdGZvcm1XZWJWaWV3LmgiCiAjaW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRl
IDx3dGYvT3duQXJyYXlQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAj
aW5jbHVkZSA8Z2RrL2dka2tleXN5bXMuaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVk
ZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgo=
</data>
<flag name="review"
          id="232954"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>