<?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>53592</bug_id>
          
          <creation_ts>2011-02-02 06:53:54 -0800</creation_ts>
          <short_desc>Web Inspector: Add reporting of JS heap size limit to &apos;console.memory&apos;</short_desc>
          <delta_ts>2011-02-03 12:06:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>53694</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Naganov">mnaganov</reporter>
          <assigned_to name="Mikhail Naganov">mnaganov</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>buildbot</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343964</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 06:53:54 -0800</bug_when>
    <thetext>This helps to evaluate memory impact of a web application.
Also it&apos;s good to know maximum available VM memory size, as it differs between browsers, and their versions (e.g. 32-bit vs. 64-bit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343969</commentid>
    <comment_count>1</comment_count>
    <who name="Patrick Mueller">pmuellr</who>
    <bug_when>2011-02-02 07:12:12 -0800</bug_when>
    <thetext>Any security aspects here?  Seems like I remember there was something similar that was pulled from console last year, due to security concerns.

I&apos;d like to see this implemented though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343971</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 07:15:23 -0800</bug_when>
    <thetext>After discussions, we made memory info available only by explicit user request (preference in Safari, cmdline flag in Chrome). This resolves security concerns, I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343999</commentid>
    <comment_count>3</comment_count>
      <attachid>80919</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 09:14:27 -0800</bug_when>
    <thetext>Created attachment 80919
patch

@JSC developers:
  The MAX_NUM_BLOCKS const (ex. maxNumBlocks) appears to be ridiculously big -- being multiplied by BLOCK_SIZE it exceeds ULONG_MAX. Does it need to be adjusted somehow?
  On a 64-bit platform MAX_NUM_BLOCKS value is 2^59 - 1 (as sizeof(PageAllocationAligned) = 16), and BLOCK_SIZE is 2^18.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344002</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-02 09:17:06 -0800</bug_when>
    <thetext>Attachment 80919 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...&quot; exit_code: 1

Source/JavaScriptCore/runtime/MarkedSpace.cpp:43:  MAX_NUM_BLOCKS is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 16 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>344006</commentid>
    <comment_count>5</comment_count>
      <attachid>80921</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 09:28:48 -0800</bug_when>
    <thetext>Created attachment 80921
fixed style

Renamed the constant back, as the new name introduces style violation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344014</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-02 09:42:52 -0800</bug_when>
    <thetext>Attachment 80919 did not build on win:
Build output: http://queues.webkit.org/results/7683985</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344016</commentid>
    <comment_count>7</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 09:50:12 -0800</bug_when>
    <thetext>...and VC++ confirms that maxNumBlocks is uselessly big. Geoffrey, can you comment on this, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344023</commentid>
    <comment_count>8</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-02 10:06:27 -0800</bug_when>
    <thetext>Attachment 80921 did not build on win:
Build output: http://queues.webkit.org/results/7689214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344061</commentid>
    <comment_count>9</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-02 10:57:36 -0800</bug_when>
    <thetext>What does &quot;limit&quot; mean in this context?

JavaScriptCore doesn&apos;t place a hard limit on the size of the heap -- it will use whatever the OS will give it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344063</commentid>
    <comment_count>10</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 11:00:34 -0800</bug_when>
    <thetext>But there can be other restrictions that prevent VM from allocating new space above a certain limit, e.g. control structures size limits.

Why this maxNumBlocks constant exist at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344067</commentid>
    <comment_count>11</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-02 11:08:11 -0800</bug_when>
    <thetext>&gt; Why this maxNumBlocks constant exist at all?

It seems to exist solely to check for overflow in multiplication. Whatever you&apos;re trying to do, this probably isn&apos;t the best way to do it.

What does &quot;limit&quot; mean in this context? What are you trying to do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344159</commentid>
    <comment_count>12</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-02 13:05:59 -0800</bug_when>
    <thetext>I introduced this change because in V8 there is actually a hard limit on the VM heap size, and its value differs on 32-bit and 64-bit versions, so I didn&apos;t want to hardcode it. But knowing the limit appears to be useful, because when web app memory consumption grows up to the limit, renderer crashes.

If JSC really doesn&apos;t have a limit, I can put something like undefined in this field. I wanted to make sure that both engines are aligned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344394</commentid>
    <comment_count>13</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-02-02 16:36:26 -0800</bug_when>
    <thetext>undefined sounds good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344596</commentid>
    <comment_count>14</comment_count>
      <attachid>81043</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-03 01:49:39 -0800</bug_when>
    <thetext>Created attachment 81043
return &apos;undefined&apos; limit value for JSC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344607</commentid>
    <comment_count>15</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 02:51:05 -0800</bug_when>
    <thetext>Attachment 81043 did not build on win:
Build output: http://queues.webkit.org/results/7692258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344622</commentid>
    <comment_count>16</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-03 03:29:54 -0800</bug_when>
    <thetext>Attachment 81043 did not build on qt:
Build output: http://queues.webkit.org/results/7687838</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344626</commentid>
    <comment_count>17</comment_count>
      <attachid>81049</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-03 04:17:37 -0800</bug_when>
    <thetext>Created attachment 81049
fixed custom getter signature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344732</commentid>
    <comment_count>18</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-02-03 08:34:25 -0800</bug_when>
    <thetext>Manually committed http://trac.webkit.org/changeset/77495


2011-02-03  Mikhail Naganov  &lt;mnaganov@chromium.org&gt;

        Reviewed by Pavel Feldman.

        Web Inspector: Add reporting of JS heap size limit to &apos;console.memory&apos;.
        https://bugs.webkit.org/show_bug.cgi?id=53592

        In JSC there is no limit, thus &apos;undefined&apos; value is returned.
        For V8, the limit reported by the VM is returned.

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSMemoryInfoCustom.cpp: Added.
        * bindings/js/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::getHeapSize):
        * bindings/js/ScriptGCEvent.h:
        * bindings/v8/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::getHeapSize):
        * bindings/v8/ScriptGCEvent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
        * page/MemoryInfo.cpp:
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h:
        (WebCore::MemoryInfo::jsHeapSizeLimit):
        * page/MemoryInfo.idl:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344839</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 10:48:08 -0800</bug_when>
    <thetext>&gt; Manually committed http://trac.webkit.org/changeset/77495

This broke a test on Snow Leopard:

http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r77508%20(24728)/fast/dom/Window/window-properties-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344902</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-03 12:06:03 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77495 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80919</attachid>
            <date>2011-02-02 09:14:27 -0800</date>
            <delta_ts>2011-02-02 09:28:48 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch-53592</filename>
            <type>text/plain</type>
            <size>11178</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDA3MzY2MjEuLjQwZTE5MDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTAyLTAyICBNaWtoYWlsIE5hZ2Fu
b3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHJlcG9ydGluZyBvZiBKUyBo
ZWFwIHNpemUgbGltaXQgdG8gJ2NvbnNvbGUubWVtb3J5Jy4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1OTIKKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIHJ1bnRpbWUvSGVhcC5jcHA6CisgICAg
ICAgIChKU0M6OkhlYXA6OmxpbWl0KTogQWRkIGhlYXAgc2l6ZSBsaW1pdCByZXBvcnRpbmcuCisg
ICAgICAgICogcnVudGltZS9IZWFwLmg6CisgICAgICAgICogcnVudGltZS9NYXJrZWRTcGFjZS5j
cHA6CisgICAgICAgIChKU0M6Ok1hcmtlZFNwYWNlOjphbGxvY2F0ZUJsb2NrKToKKyAgICAgICAg
KEpTQzo6TWFya2VkU3BhY2U6OmxpbWl0KToKKyAgICAgICAgKiBydW50aW1lL01hcmtlZFNwYWNl
Lmg6CisKIDIwMTEtMDItMDIgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggODc1ZTc5Ny4uZjcxMWFmNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC01MjEsNiArNTIxLDcgQEAgX19a
TkszSlNDMjRKU09iamVjdFdpdGhHbG9iYWxPYmplY3QxMmdsb2JhbE9iamVjdEV2CiBfX1pOSzNK
U0M0SGVhcDExb2JqZWN0Q291bnRFdgogX19aTkszSlNDNEhlYXA0c2l6ZUV2CiBfX1pOSzNKU0M0
SGVhcDhjYXBhY2l0eUV2CitfX1pOSzNKU0M0SGVhcDVsaW1pdEV2CiBfX1pOSzNKU0M2SlNDZWxs
MTF0b1ByaW1pdGl2ZUVQTlNfOUV4ZWNTdGF0ZUVOU18yMlByZWZlcnJlZFByaW1pdGl2ZVR5cGVF
CiBfX1pOSzNKU0M2SlNDZWxsMTJ0b1RoaXNPYmplY3RFUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNK
U0M2SlNDZWxsMTRpc0dldHRlclNldHRlckV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmRlZiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDU1MDhjZTEuLmEzNTBkODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBA
IC0yMjIsNiArMjIyLDcgQEAgRVhQT1JUUwogICAgID9qc1JlZ0V4cEZyZWVAQFlBWFBBVUpTUmVn
RXhwQEBAWgogICAgID9qc1N0cmluZ0BKU0NAQFlBUEFWSlNTdHJpbmdAMUBQQVZKU0dsb2JhbERh
dGFAMUBBQlZVU3RyaW5nQDFAQFoKICAgICA/bGVuZ3RoQENTdHJpbmdAV1RGQEBRQkVJWFoKKyAg
ICA/bGltaXRASGVhcEBKU0NAQFFCRUlYWgogICAgID9sb2NrQEpTTG9ja0BKU0NAQFNBWFc0SlNM
b2NrQmVoYXZpb3JAMkBAWgogICAgID9sb2NrQE11dGV4QFdURkBAUUFFWFhaCiAgICAgP2xvY2tB
dG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWNNdXRleEBXVEZAQFlBWFhaCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0hlYXAuY3BwCmluZGV4IGYwMzJlY2EuLjBiYWU2NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuY3BwCkBAIC0yOTMsNiArMjkzLDExIEBAIHNpemVfdCBI
ZWFwOjpjYXBhY2l0eSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbWFya2VkU3BhY2UuY2FwYWNpdHko
KTsKIH0KIAorc2l6ZV90IEhlYXA6OmxpbWl0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tYXJr
ZWRTcGFjZS5saW1pdCgpOworfQorCiBzaXplX3QgSGVhcDo6Z2xvYmFsT2JqZWN0Q291bnQoKQog
ewogICAgIHJldHVybiBtX2dsb2JhbERhdGEtPmdsb2JhbE9iamVjdHMudW5jaGVja2VkU2l6ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oCmluZGV4IDkzZTg0Y2YuLjFkYWUyNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgKQEAgLTgzLDYgKzgzLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc2l6ZV90IHNpemUoKSBjb25zdDsKICAgICAgICAgc2l6
ZV90IGNhcGFjaXR5KCkgY29uc3Q7CisgICAgICAgIHNpemVfdCBsaW1pdCgpIGNvbnN0OwogICAg
ICAgICBzaXplX3Qgb2JqZWN0Q291bnQoKSBjb25zdDsKICAgICAgICAgc2l6ZV90IGdsb2JhbE9i
amVjdENvdW50KCk7CiAgICAgICAgIHNpemVfdCBwcm90ZWN0ZWRPYmplY3RDb3VudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuY3BwCmluZGV4IDZmZjcx
ZjkuLjJkNzJmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtlZFNwYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRT
cGFjZS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAgY29uc3Qgc2l6ZV90IEFMTE9DQVRJT05TX1BFUl9D
T0xMRUNUSU9OID0gMzYwMDsKIC8vIFRoaXMgdmFsdWUgaGFzIHRvIGJlIGEgbWFjcm8gdG8gYmUg
dXNlZCBpbiBtYXgoKSB3aXRob3V0IGludHJvZHVjaW5nCiAvLyBhIFBJQyBicmFuY2ggaW4gTWFj
aC1PIGJpbmFyaWVzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzU5NzEzOTE+LgogI2RlZmluZSBNSU5f
QVJSQVlfU0laRSAoc3RhdGljX2Nhc3Q8c2l6ZV90PigxNCkpCitjb25zdCBzaXplX3QgTUFYX05V
TV9CTE9DS1MgPSBVTE9OR19NQVggLyBzaXplb2YoUGFnZUFsbG9jYXRpb25BbGlnbmVkKSAvIEdS
T1dUSF9GQUNUT1I7CiAKIE1hcmtlZFNwYWNlOjpNYXJrZWRTcGFjZShKU0dsb2JhbERhdGEqIGds
b2JhbERhdGEpCiAgICAgOiBtX2dsb2JhbERhdGEoZ2xvYmFsRGF0YSkKQEAgLTc5LDggKzgwLDcg
QEAgTkVWRVJfSU5MSU5FIENvbGxlY3RvckJsb2NrKiBNYXJrZWRTcGFjZTo6YWxsb2NhdGVCbG9j
aygpCiAKICAgICBzaXplX3QgbnVtQmxvY2tzID0gbV9oZWFwLm51bUJsb2NrczsKICAgICBpZiAo
bV9oZWFwLnVzZWRCbG9ja3MgPT0gbnVtQmxvY2tzKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgbWF4TnVtQmxvY2tzID0gVUxPTkdfTUFYIC8gc2l6ZW9mKFBhZ2VBbGxvY2F0aW9uQWxp
Z25lZCkgLyBHUk9XVEhfRkFDVE9SOwotICAgICAgICBpZiAobnVtQmxvY2tzID4gbWF4TnVtQmxv
Y2tzKQorICAgICAgICBpZiAobnVtQmxvY2tzID4gTUFYX05VTV9CTE9DS1MpCiAgICAgICAgICAg
ICBDUkFTSCgpOwogICAgICAgICBudW1CbG9ja3MgPSBtYXgoTUlOX0FSUkFZX1NJWkUsIG51bUJs
b2NrcyAqIEdST1dUSF9GQUNUT1IpOwogICAgICAgICBtX2hlYXAubnVtQmxvY2tzID0gbnVtQmxv
Y2tzOwpAQCAtMjkwLDYgKzI5MCwxMSBAQCBzaXplX3QgTWFya2VkU3BhY2U6OmNhcGFjaXR5KCkg
Y29uc3QKICAgICByZXR1cm4gbV9oZWFwLnVzZWRCbG9ja3MgKiBCTE9DS19TSVpFOwogfQogCitz
aXplX3QgTWFya2VkU3BhY2U6OmxpbWl0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gTUFYX05VTV9C
TE9DS1MgKiBCTE9DS19TSVpFOworfQorCiB2b2lkIE1hcmtlZFNwYWNlOjpyZXNldCgpCiB7CiAg
ICAgbV9oZWFwLm5leHRDZWxsID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcmtlZFNwYWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXJrZWRTcGFjZS5oCmluZGV4IDVmMTYzM2IuLjgxZWVjOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0OwogICAgICAgICBzaXplX3QgY2Fw
YWNpdHkoKSBjb25zdDsKKyAgICAgICAgc2l6ZV90IGxpbWl0KCkgY29uc3Q7CiAgICAgICAgIHNp
emVfdCBvYmplY3RDb3VudCgpIGNvbnN0OwogCiAgICAgICAgIGJvb2wgY29udGFpbnModm9pZCop
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDQ4YTAzMjcuLjQ5MGI3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NSBAQAorMjAxMS0wMi0wMiAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEFkZCByZXBvcnRpbmcgb2YgSlMgaGVhcCBzaXplIGxpbWl0IHRvICdjb25zb2xl
Lm1lbW9yeScuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzNTkyCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0
R0NFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6
ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OnNldEhlYXBTaXplU3RhdGlzdGljKToKKyAgICAgICAgKiBw
YWdlL01lbW9yeUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5SW5mbzo6TWVtb3J5
SW5mbyk6CisgICAgICAgICogcGFnZS9NZW1vcnlJbmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpN
ZW1vcnlJbmZvOjpqc0hlYXBTaXplTGltaXQpOgorICAgICAgICAqIHBhZ2UvTWVtb3J5SW5mby5p
ZGw6CisKIDIwMTEtMDItMDIgIEFuZHJleSBBZGFpa2luICA8YWFuZHJleUBnb29nbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuY3BwCmluZGV4IDIxYzIxYmQuLmM1MDc0YjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuY3BwCkBAIC00MiwxMSAr
NDIsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCi12
b2lkIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHNpemVfdCYgdXNlZEhlYXBTaXplLCBzaXpl
X3QmIHRvdGFsSGVhcFNpemUpCit2b2lkIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHNpemVf
dCYgdXNlZEhlYXBTaXplLCBzaXplX3QmIHRvdGFsSGVhcFNpemUsIHNpemVfdCYgaGVhcFNpemVM
aW1pdCkKIHsKICAgICBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEgPSBKU0RPTVdpbmRvdzo6Y29t
bW9uSlNHbG9iYWxEYXRhKCk7CiAgICAgdG90YWxIZWFwU2l6ZSA9IGdsb2JhbERhdGEtPmhlYXAu
Y2FwYWNpdHkoKTsKLSAgICB1c2VkSGVhcFNpemUgPSB0b3RhbEhlYXBTaXplOworICAgIHVzZWRI
ZWFwU2l6ZSA9IGdsb2JhbERhdGEtPmhlYXAuc2l6ZSgpOworICAgIGhlYXBTaXplTGltaXQgPSBn
bG9iYWxEYXRhLT5oZWFwLmxpbWl0KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuaAppbmRleCA4NmQ0ZjY4Li42
NjE0YjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHQ0V2
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5oCkBA
IC00Miw3ICs0Miw3IEBAIGNsYXNzIFNjcmlwdEdDRXZlbnQKIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBhZGRFdmVudExpc3RlbmVyKFNjcmlwdEdDRXZlbnRMaXN0ZW5lciopIHsgfQogICAgIHN0
YXRpYyB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKikgeyB9
Ci0gICAgc3RhdGljIHZvaWQgZ2V0SGVhcFNpemUoc2l6ZV90JiB1c2VkSGVhcFNpemUsIHNpemVf
dCYgdG90YWxIZWFwU2l6ZSk7CisgICAgc3RhdGljIHZvaWQgZ2V0SGVhcFNpemUoc2l6ZV90JiB1
c2VkSGVhcFNpemUsIHNpemVfdCYgdG90YWxIZWFwU2l6ZSwgc2l6ZV90JiBoZWFwU2l6ZUxpbWl0
KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0R0NFdmVudC5jcHAKaW5kZXggYTU4YTBjZC4uNTVhODAzZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5jcHAKQEAgLTY2LDEyICs2Niwx
MyBAQCB2b2lkIFNjcmlwdEdDRXZlbnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoU2NyaXB0R0NFdmVu
dExpc3RlbmVyKiBldmVudExpc3RlbmVyKQogICAgIH0KIH0KIAotdm9pZCBTY3JpcHRHQ0V2ZW50
OjpnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXpl
KQordm9pZCBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwg
c2l6ZV90JiB0b3RhbEhlYXBTaXplLCBzaXplX3QmIGhlYXBTaXplTGltaXQpCiB7CiAgICAgdjg6
OkhlYXBTdGF0aXN0aWNzIGhlYXBTdGF0aXN0aWNzOwogICAgIHY4OjpWODo6R2V0SGVhcFN0YXRp
c3RpY3MoJmhlYXBTdGF0aXN0aWNzKTsKICAgICB1c2VkSGVhcFNpemUgPSBoZWFwU3RhdGlzdGlj
cy51c2VkX2hlYXBfc2l6ZSgpOwogICAgIHRvdGFsSGVhcFNpemUgPSBoZWFwU3RhdGlzdGljcy50
b3RhbF9oZWFwX3NpemUoKTsKKyAgICBoZWFwU2l6ZUxpbWl0ID0gaGVhcFN0YXRpc3RpY3MuaGVh
cF9zaXplX2xpbWl0KCk7CiB9CiAKIHNpemVfdCBTY3JpcHRHQ0V2ZW50OjpnZXRVc2VkSGVhcFNp
emUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5oCmluZGV4IDgw
YTVhMzguLjJmZmQ5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdEdDRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2
ZW50LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgU2NyaXB0R0NFdmVudAogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKik7CiAg
ICAgc3RhdGljIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihTY3JpcHRHQ0V2ZW50TGlzdGVuZXIq
KTsKLSAgICBzdGF0aWMgdm9pZCBnZXRIZWFwU2l6ZShzaXplX3QmLCBzaXplX3QmKTsKKyAgICBz
dGF0aWMgdm9pZCBnZXRIZWFwU2l6ZShzaXplX3QmLCBzaXplX3QmLCBzaXplX3QmKTsKIHByaXZh
dGU6CiAgICAgdHlwZWRlZiBWZWN0b3I8U2NyaXB0R0NFdmVudExpc3RlbmVyKj4gR0NFdmVudExp
c3RlbmVyczsKICAgICBzdGF0aWMgR0NFdmVudExpc3RlbmVycyBzX2V2ZW50TGlzdGVuZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCmluZGV4IDA4MWE1ZjAuLjFlMjM2MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTMwMSw3ICszMDEsOCBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnNldEhlYXBTaXplU3RhdGlzdGljKEluc3BlY3Rv
ck9iamVjdCogcmVjb3JkKQogewogICAgIHNpemVfdCB1c2VkSGVhcFNpemUgPSAwOwogICAgIHNp
emVfdCB0b3RhbEhlYXBTaXplID0gMDsKLSAgICBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZSh1
c2VkSGVhcFNpemUsIHRvdGFsSGVhcFNpemUpOworICAgIHNpemVfdCBoZWFwU2l6ZUxpbWl0ID0g
MDsKKyAgICBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZSh1c2VkSGVhcFNpemUsIHRvdGFsSGVh
cFNpemUsIGhlYXBTaXplTGltaXQpOwogICAgIHJlY29yZC0+c2V0TnVtYmVyKCJ1c2VkSGVhcFNp
emUiLCB1c2VkSGVhcFNpemUpOwogICAgIHJlY29yZC0+c2V0TnVtYmVyKCJ0b3RhbEhlYXBTaXpl
IiwgdG90YWxIZWFwU2l6ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01l
bW9yeUluZm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmNwcAppbmRleCBj
MjI0N2I5Li41N2RhZTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUlu
Zm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5jcHAKQEAgLTM5LDEx
ICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE1lbW9yeUluZm86Ok1lbW9yeUluZm8o
RnJhbWUqIGZyYW1lKQogICAgICAgICA6IG1fdG90YWxKU0hlYXBTaXplKDApLAotICAgICAgICAg
IG1fdXNlZEpTSGVhcFNpemUoMCkKKyAgICAgICAgICBtX3VzZWRKU0hlYXBTaXplKDApLAorICAg
ICAgICAgIG1fanNIZWFwU2l6ZUxpbWl0KDApCiB7CiAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5z
ZXR0aW5ncygpICYmIGZyYW1lLT5zZXR0aW5ncygpLT5tZW1vcnlJbmZvRW5hYmxlZCgpKSB7CiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICAgICAgU2NyaXB0R0NFdmVudDo6Z2V0SGVhcFNpemUo
bV91c2VkSlNIZWFwU2l6ZSwgbV90b3RhbEpTSGVhcFNpemUpOworICAgICAgICBTY3JpcHRHQ0V2
ZW50OjpnZXRIZWFwU2l6ZShtX3VzZWRKU0hlYXBTaXplLCBtX3RvdGFsSlNIZWFwU2l6ZSwgbV9q
c0hlYXBTaXplTGltaXQpOwogI2VuZGlmCiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8u
aAppbmRleCA2MTVlOTUyLi4yN2E3MzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lbW9yeUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaApAQCAt
NDQsMTIgKzQ0LDE0IEBAIHB1YmxpYzoKIAogICAgIHNpemVfdCB0b3RhbEpTSGVhcFNpemUoKSBj
b25zdCB7IHJldHVybiBtX3RvdGFsSlNIZWFwU2l6ZTsgfQogICAgIHNpemVfdCB1c2VkSlNIZWFw
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlZEpTSGVhcFNpemU7IH0KKyAgICBzaXplX3QganNI
ZWFwU2l6ZUxpbWl0KCkgY29uc3QgeyByZXR1cm4gbV9qc0hlYXBTaXplTGltaXQ7IH0KIAogcHJp
dmF0ZToKICAgICBNZW1vcnlJbmZvKEZyYW1lKik7CiAKICAgICBzaXplX3QgbV90b3RhbEpTSGVh
cFNpemU7CiAgICAgc2l6ZV90IG1fdXNlZEpTSGVhcFNpemU7CisgICAgc2l6ZV90IG1fanNIZWFw
U2l6ZUxpbWl0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVt
b3J5SW5mby5pZGwKaW5kZXggNTliMDA4MS4uOWFiNTQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NZW1vcnlJbmZvLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9y
eUluZm8uaWRsCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRvdGFsSlNIZWFwU2l6ZTsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdXNlZEpTSGVhcFNpemU7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGpzSGVhcFNpemVMaW1pdDsKIAogICAg
IH07CiAK
</data>
<flag name="commit-queue"
          id="72431"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80921</attachid>
            <date>2011-02-02 09:28:48 -0800</date>
            <delta_ts>2011-02-03 01:49:39 -0800</delta_ts>
            <desc>fixed style</desc>
            <filename>patch-53592</filename>
            <type>text/plain</type>
            <size>11094</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDA3MzY2MjEuLjQwZTE5MDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTAyLTAyICBNaWtoYWlsIE5hZ2Fu
b3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHJlcG9ydGluZyBvZiBKUyBo
ZWFwIHNpemUgbGltaXQgdG8gJ2NvbnNvbGUubWVtb3J5Jy4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1OTIKKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLmV4cDoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZGVmOgorICAgICAgICAqIHJ1bnRpbWUvSGVhcC5jcHA6CisgICAg
ICAgIChKU0M6OkhlYXA6OmxpbWl0KTogQWRkIGhlYXAgc2l6ZSBsaW1pdCByZXBvcnRpbmcuCisg
ICAgICAgICogcnVudGltZS9IZWFwLmg6CisgICAgICAgICogcnVudGltZS9NYXJrZWRTcGFjZS5j
cHA6CisgICAgICAgIChKU0M6Ok1hcmtlZFNwYWNlOjphbGxvY2F0ZUJsb2NrKToKKyAgICAgICAg
KEpTQzo6TWFya2VkU3BhY2U6OmxpbWl0KToKKyAgICAgICAgKiBydW50aW1lL01hcmtlZFNwYWNl
Lmg6CisKIDIwMTEtMDItMDIgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggODc1ZTc5Ny4uZjcxMWFmNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC01MjEsNiArNTIxLDcgQEAgX19a
TkszSlNDMjRKU09iamVjdFdpdGhHbG9iYWxPYmplY3QxMmdsb2JhbE9iamVjdEV2CiBfX1pOSzNK
U0M0SGVhcDExb2JqZWN0Q291bnRFdgogX19aTkszSlNDNEhlYXA0c2l6ZUV2CiBfX1pOSzNKU0M0
SGVhcDhjYXBhY2l0eUV2CitfX1pOSzNKU0M0SGVhcDVsaW1pdEV2CiBfX1pOSzNKU0M2SlNDZWxs
MTF0b1ByaW1pdGl2ZUVQTlNfOUV4ZWNTdGF0ZUVOU18yMlByZWZlcnJlZFByaW1pdGl2ZVR5cGVF
CiBfX1pOSzNKU0M2SlNDZWxsMTJ0b1RoaXNPYmplY3RFUE5TXzlFeGVjU3RhdGVFCiBfX1pOSzNK
U0M2SlNDZWxsMTRpc0dldHRlclNldHRlckV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmRlZiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDU1MDhjZTEuLmEzNTBkODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCkBA
IC0yMjIsNiArMjIyLDcgQEAgRVhQT1JUUwogICAgID9qc1JlZ0V4cEZyZWVAQFlBWFBBVUpTUmVn
RXhwQEBAWgogICAgID9qc1N0cmluZ0BKU0NAQFlBUEFWSlNTdHJpbmdAMUBQQVZKU0dsb2JhbERh
dGFAMUBBQlZVU3RyaW5nQDFAQFoKICAgICA/bGVuZ3RoQENTdHJpbmdAV1RGQEBRQkVJWFoKKyAg
ICA/bGltaXRASGVhcEBKU0NAQFFCRUlYWgogICAgID9sb2NrQEpTTG9ja0BKU0NAQFNBWFc0SlNM
b2NrQmVoYXZpb3JAMkBAWgogICAgID9sb2NrQE11dGV4QFdURkBAUUFFWFhaCiAgICAgP2xvY2tB
dG9taWNhbGx5SW5pdGlhbGl6ZWRTdGF0aWNNdXRleEBXVEZAQFlBWFhaCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0hlYXAuY3BwCmluZGV4IGYwMzJlY2EuLjBiYWU2NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuY3BwCkBAIC0yOTMsNiArMjkzLDExIEBAIHNpemVfdCBI
ZWFwOjpjYXBhY2l0eSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbWFya2VkU3BhY2UuY2FwYWNpdHko
KTsKIH0KIAorc2l6ZV90IEhlYXA6OmxpbWl0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tYXJr
ZWRTcGFjZS5saW1pdCgpOworfQorCiBzaXplX3QgSGVhcDo6Z2xvYmFsT2JqZWN0Q291bnQoKQog
ewogICAgIHJldHVybiBtX2dsb2JhbERhdGEtPmdsb2JhbE9iamVjdHMudW5jaGVja2VkU2l6ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oCmluZGV4IDkzZTg0Y2YuLjFkYWUyNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgKQEAgLTgzLDYgKzgzLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc2l6ZV90IHNpemUoKSBjb25zdDsKICAgICAgICAgc2l6
ZV90IGNhcGFjaXR5KCkgY29uc3Q7CisgICAgICAgIHNpemVfdCBsaW1pdCgpIGNvbnN0OwogICAg
ICAgICBzaXplX3Qgb2JqZWN0Q291bnQoKSBjb25zdDsKICAgICAgICAgc2l6ZV90IGdsb2JhbE9i
amVjdENvdW50KCk7CiAgICAgICAgIHNpemVfdCBwcm90ZWN0ZWRPYmplY3RDb3VudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuY3BwCmluZGV4IDZmZjcx
ZjkuLjQwMzg5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtlZFNwYWNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRT
cGFjZS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAgY29uc3Qgc2l6ZV90IEFMTE9DQVRJT05TX1BFUl9D
T0xMRUNUSU9OID0gMzYwMDsKIC8vIFRoaXMgdmFsdWUgaGFzIHRvIGJlIGEgbWFjcm8gdG8gYmUg
dXNlZCBpbiBtYXgoKSB3aXRob3V0IGludHJvZHVjaW5nCiAvLyBhIFBJQyBicmFuY2ggaW4gTWFj
aC1PIGJpbmFyaWVzLCBzZWUgPHJkYXI6Ly9wcm9ibGVtLzU5NzEzOTE+LgogI2RlZmluZSBNSU5f
QVJSQVlfU0laRSAoc3RhdGljX2Nhc3Q8c2l6ZV90PigxNCkpCitjb25zdCBzaXplX3QgbWF4TnVt
QmxvY2tzID0gVUxPTkdfTUFYIC8gc2l6ZW9mKFBhZ2VBbGxvY2F0aW9uQWxpZ25lZCkgLyBHUk9X
VEhfRkFDVE9SOwogCiBNYXJrZWRTcGFjZTo6TWFya2VkU3BhY2UoSlNHbG9iYWxEYXRhKiBnbG9i
YWxEYXRhKQogICAgIDogbV9nbG9iYWxEYXRhKGdsb2JhbERhdGEpCkBAIC03OSw3ICs4MCw2IEBA
IE5FVkVSX0lOTElORSBDb2xsZWN0b3JCbG9jayogTWFya2VkU3BhY2U6OmFsbG9jYXRlQmxvY2so
KQogCiAgICAgc2l6ZV90IG51bUJsb2NrcyA9IG1faGVhcC5udW1CbG9ja3M7CiAgICAgaWYgKG1f
aGVhcC51c2VkQmxvY2tzID09IG51bUJsb2NrcykgewotICAgICAgICBzdGF0aWMgY29uc3Qgc2l6
ZV90IG1heE51bUJsb2NrcyA9IFVMT05HX01BWCAvIHNpemVvZihQYWdlQWxsb2NhdGlvbkFsaWdu
ZWQpIC8gR1JPV1RIX0ZBQ1RPUjsKICAgICAgICAgaWYgKG51bUJsb2NrcyA+IG1heE51bUJsb2Nr
cykKICAgICAgICAgICAgIENSQVNIKCk7CiAgICAgICAgIG51bUJsb2NrcyA9IG1heChNSU5fQVJS
QVlfU0laRSwgbnVtQmxvY2tzICogR1JPV1RIX0ZBQ1RPUik7CkBAIC0yOTAsNiArMjkwLDExIEBA
IHNpemVfdCBNYXJrZWRTcGFjZTo6Y2FwYWNpdHkoKSBjb25zdAogICAgIHJldHVybiBtX2hlYXAu
dXNlZEJsb2NrcyAqIEJMT0NLX1NJWkU7CiB9CiAKK3NpemVfdCBNYXJrZWRTcGFjZTo6bGltaXQo
KSBjb25zdAoreworICAgIHJldHVybiBtYXhOdW1CbG9ja3MgKiBCTE9DS19TSVpFOworfQorCiB2
b2lkIE1hcmtlZFNwYWNlOjpyZXNldCgpCiB7CiAgICAgbV9oZWFwLm5leHRDZWxsID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFjZS5oCmluZGV4IDVmMTYzM2Iu
LjgxZWVjOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtl
ZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2Uu
aApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBzaXplX3Qgc2l6
ZSgpIGNvbnN0OwogICAgICAgICBzaXplX3QgY2FwYWNpdHkoKSBjb25zdDsKKyAgICAgICAgc2l6
ZV90IGxpbWl0KCkgY29uc3Q7CiAgICAgICAgIHNpemVfdCBvYmplY3RDb3VudCgpIGNvbnN0Owog
CiAgICAgICAgIGJvb2wgY29udGFpbnModm9pZCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ4YTAzMjcuLjQ5
MGI3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0wMi0wMiAgTWlraGFpbCBO
YWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCByZXBvcnRpbmcgb2Yg
SlMgaGVhcCBzaXplIGxpbWl0IHRvICdjb25zb2xlLm1lbW9yeScuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTkyCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEdDRXZl
bnQ6OmdldEhlYXBTaXplKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50Lmg6
CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
U2NyaXB0R0NFdmVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnNldEhl
YXBTaXplU3RhdGlzdGljKToKKyAgICAgICAgKiBwYWdlL01lbW9yeUluZm8uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVtb3J5SW5mbzo6TWVtb3J5SW5mbyk6CisgICAgICAgICogcGFnZS9NZW1v
cnlJbmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbmZvOjpqc0hlYXBTaXplTGltaXQp
OgorICAgICAgICAqIHBhZ2UvTWVtb3J5SW5mby5pZGw6CisKIDIwMTEtMDItMDIgIEFuZHJleSBB
ZGFpa2luICA8YWFuZHJleUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRH
Q0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuY3Bw
CmluZGV4IDIxYzIxYmQuLmM1MDc0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdEdDRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEdDRXZlbnQuY3BwCkBAIC00MiwxMSArNDIsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCi12b2lkIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBT
aXplKHNpemVfdCYgdXNlZEhlYXBTaXplLCBzaXplX3QmIHRvdGFsSGVhcFNpemUpCit2b2lkIFNj
cmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHNpemVfdCYgdXNlZEhlYXBTaXplLCBzaXplX3QmIHRv
dGFsSGVhcFNpemUsIHNpemVfdCYgaGVhcFNpemVMaW1pdCkKIHsKICAgICBKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEgPSBKU0RPTVdpbmRvdzo6Y29tbW9uSlNHbG9iYWxEYXRhKCk7CiAgICAgdG90
YWxIZWFwU2l6ZSA9IGdsb2JhbERhdGEtPmhlYXAuY2FwYWNpdHkoKTsKLSAgICB1c2VkSGVhcFNp
emUgPSB0b3RhbEhlYXBTaXplOworICAgIHVzZWRIZWFwU2l6ZSA9IGdsb2JhbERhdGEtPmhlYXAu
c2l6ZSgpOworICAgIGhlYXBTaXplTGltaXQgPSBnbG9iYWxEYXRhLT5oZWFwLmxpbWl0KCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdEdDRXZlbnQuaAppbmRleCA4NmQ0ZjY4Li42NjE0YjhlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFNjcmlw
dEdDRXZlbnQKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGRFdmVudExpc3RlbmVyKFNjcmlw
dEdDRXZlbnRMaXN0ZW5lciopIHsgfQogICAgIHN0YXRpYyB2b2lkIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKikgeyB9Ci0gICAgc3RhdGljIHZvaWQgZ2V0SGVhcFNp
emUoc2l6ZV90JiB1c2VkSGVhcFNpemUsIHNpemVfdCYgdG90YWxIZWFwU2l6ZSk7CisgICAgc3Rh
dGljIHZvaWQgZ2V0SGVhcFNpemUoc2l6ZV90JiB1c2VkSGVhcFNpemUsIHNpemVfdCYgdG90YWxI
ZWFwU2l6ZSwgc2l6ZV90JiBoZWFwU2l6ZUxpbWl0KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5jcHAKaW5k
ZXggYTU4YTBjZC4uNTVhODAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0R0NFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0R0NFdmVudC5jcHAKQEAgLTY2LDEyICs2NiwxMyBAQCB2b2lkIFNjcmlwdEdDRXZlbnQ6OnJl
bW92ZUV2ZW50TGlzdGVuZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKiBldmVudExpc3RlbmVyKQog
ICAgIH0KIH0KIAotdm9pZCBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRI
ZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplKQordm9pZCBTY3JpcHRHQ0V2ZW50OjpnZXRI
ZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplLCBzaXpl
X3QmIGhlYXBTaXplTGltaXQpCiB7CiAgICAgdjg6OkhlYXBTdGF0aXN0aWNzIGhlYXBTdGF0aXN0
aWNzOwogICAgIHY4OjpWODo6R2V0SGVhcFN0YXRpc3RpY3MoJmhlYXBTdGF0aXN0aWNzKTsKICAg
ICB1c2VkSGVhcFNpemUgPSBoZWFwU3RhdGlzdGljcy51c2VkX2hlYXBfc2l6ZSgpOwogICAgIHRv
dGFsSGVhcFNpemUgPSBoZWFwU3RhdGlzdGljcy50b3RhbF9oZWFwX3NpemUoKTsKKyAgICBoZWFw
U2l6ZUxpbWl0ID0gaGVhcFN0YXRpc3RpY3MuaGVhcF9zaXplX2xpbWl0KCk7CiB9CiAKIHNpemVf
dCBTY3JpcHRHQ0V2ZW50OjpnZXRVc2VkSGVhcFNpemUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0R0NFdmVudC5oCmluZGV4IDgwYTVhMzguLjJmZmQ5NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xh
c3MgU2NyaXB0R0NFdmVudAogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZEV2ZW50TGlzdGVu
ZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKik7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlRXZlbnRM
aXN0ZW5lcihTY3JpcHRHQ0V2ZW50TGlzdGVuZXIqKTsKLSAgICBzdGF0aWMgdm9pZCBnZXRIZWFw
U2l6ZShzaXplX3QmLCBzaXplX3QmKTsKKyAgICBzdGF0aWMgdm9pZCBnZXRIZWFwU2l6ZShzaXpl
X3QmLCBzaXplX3QmLCBzaXplX3QmKTsKIHByaXZhdGU6CiAgICAgdHlwZWRlZiBWZWN0b3I8U2Ny
aXB0R0NFdmVudExpc3RlbmVyKj4gR0NFdmVudExpc3RlbmVyczsKICAgICBzdGF0aWMgR0NFdmVu
dExpc3RlbmVycyBzX2V2ZW50TGlzdGVuZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDA4MWE1ZjAuLjFlMjM2MjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKQEAgLTMwMSw3ICszMDEsOCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OnNldEhlYXBTaXplU3RhdGlzdGljKEluc3BlY3Rvck9iamVjdCogcmVjb3JkKQogewogICAgIHNp
emVfdCB1c2VkSGVhcFNpemUgPSAwOwogICAgIHNpemVfdCB0b3RhbEhlYXBTaXplID0gMDsKLSAg
ICBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZSh1c2VkSGVhcFNpemUsIHRvdGFsSGVhcFNpemUp
OworICAgIHNpemVfdCBoZWFwU2l6ZUxpbWl0ID0gMDsKKyAgICBTY3JpcHRHQ0V2ZW50OjpnZXRI
ZWFwU2l6ZSh1c2VkSGVhcFNpemUsIHRvdGFsSGVhcFNpemUsIGhlYXBTaXplTGltaXQpOwogICAg
IHJlY29yZC0+c2V0TnVtYmVyKCJ1c2VkSGVhcFNpemUiLCB1c2VkSGVhcFNpemUpOwogICAgIHJl
Y29yZC0+c2V0TnVtYmVyKCJ0b3RhbEhlYXBTaXplIiwgdG90YWxIZWFwU2l6ZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9NZW1vcnlJbmZvLmNwcAppbmRleCBjMjI0N2I5Li41N2RhZTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWVtb3J5SW5mby5jcHAKQEAgLTM5LDExICszOSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIE1lbW9yeUluZm86Ok1lbW9yeUluZm8oRnJhbWUqIGZyYW1lKQogICAgICAgICA6IG1f
dG90YWxKU0hlYXBTaXplKDApLAotICAgICAgICAgIG1fdXNlZEpTSGVhcFNpemUoMCkKKyAgICAg
ICAgICBtX3VzZWRKU0hlYXBTaXplKDApLAorICAgICAgICAgIG1fanNIZWFwU2l6ZUxpbWl0KDAp
CiB7CiAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5zZXR0aW5ncygpICYmIGZyYW1lLT5zZXR0aW5n
cygpLT5tZW1vcnlJbmZvRW5hYmxlZCgpKSB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICAg
ICAgU2NyaXB0R0NFdmVudDo6Z2V0SGVhcFNpemUobV91c2VkSlNIZWFwU2l6ZSwgbV90b3RhbEpT
SGVhcFNpemUpOworICAgICAgICBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZShtX3VzZWRKU0hl
YXBTaXplLCBtX3RvdGFsSlNIZWFwU2l6ZSwgbV9qc0hlYXBTaXplTGltaXQpOwogI2VuZGlmCiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaAppbmRleCA2MTVlOTUyLi4yN2E3MzQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaApAQCAtNDQsMTIgKzQ0LDE0IEBAIHB1YmxpYzoKIAog
ICAgIHNpemVfdCB0b3RhbEpTSGVhcFNpemUoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsSlNIZWFw
U2l6ZTsgfQogICAgIHNpemVfdCB1c2VkSlNIZWFwU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNl
ZEpTSGVhcFNpemU7IH0KKyAgICBzaXplX3QganNIZWFwU2l6ZUxpbWl0KCkgY29uc3QgeyByZXR1
cm4gbV9qc0hlYXBTaXplTGltaXQ7IH0KIAogcHJpdmF0ZToKICAgICBNZW1vcnlJbmZvKEZyYW1l
Kik7CiAKICAgICBzaXplX3QgbV90b3RhbEpTSGVhcFNpemU7CiAgICAgc2l6ZV90IG1fdXNlZEpT
SGVhcFNpemU7CisgICAgc2l6ZV90IG1fanNIZWFwU2l6ZUxpbWl0OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZv
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5pZGwKaW5kZXggNTliMDA4MS4u
OWFiNTQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaWRsCkBAIC0zNCw2ICszNCw3IEBA
IG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHRvdGFsSlNIZWFwU2l6ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgdXNlZEpTSGVhcFNpemU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGpzSGVhcFNpemVMaW1pdDsKIAogICAgIH07CiAK
</data>
<flag name="commit-queue"
          id="72434"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81043</attachid>
            <date>2011-02-03 01:49:39 -0800</date>
            <delta_ts>2011-02-03 04:17:37 -0800</delta_ts>
            <desc>return &apos;undefined&apos; limit value for JSC</desc>
            <filename>patch-53592</filename>
            <type>text/plain</type>
            <size>17249</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsgYi9Tb3Vy
Y2UvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCmluZGV4IDhhNjkwZWUuLjI2Y2I0ZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtMTM0LDYgKzEzNCw3IEBA
IExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5j
cHAgXAogCWJpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIFwKKwliaW5kaW5ncy9qcy9KU01lbW9yeUluZm9DdXN0
b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCBcCiAJYmlu
ZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGMyMDM3ZWIuLjQwNmE1
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC02NzUsNiArNjc1LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01haW5UaHJl
YWRFeGVjU3RhdGUuY3BwCisgICAgYmluZGluZ3MvanMvSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9y
dEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwOWI1MTU5Li44M2VjOTYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTEtMDItMDMgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgcmVwb3J0aW5nIG9mIEpTIGhlYXAgc2l6ZSBsaW1pdCB0
byAnY29uc29sZS5tZW1vcnknLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MzU5MgorCisgICAgICAgIEluIEpTQyB0aGVyZSBpcyBubyBsaW1pdCwg
dGh1cyAndW5kZWZpbmVkJyB2YWx1ZSBpcyByZXR1cm5lZC4KKyAgICAgICAgRm9yIFY4LCB0aGUg
bGltaXQgcmVwb3J0ZWQgYnkgdGhlIFZNIGlzIHJldHVybmVkLgorCisgICAgICAgICogQW5kcm9p
ZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZW1v
cnlJbmZvQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpqc01lbW9yeUluZm9K
c0hlYXBTaXplTGltaXQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVudDo6Z2V0SGVhcFNpemUpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1NjcmlwdEdDRXZlbnQuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9T
Y3JpcHRHQ0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEdDRXZlbnQ6OmdldEhl
YXBTaXplKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SGVhcFNpemVTdGF0aXN0aWMpOgorICAgICAg
ICAqIHBhZ2UvTWVtb3J5SW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbmZvOjpN
ZW1vcnlJbmZvKToKKyAgICAgICAgKiBwYWdlL01lbW9yeUluZm8uaDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lbW9yeUluZm86OmpzSGVhcFNpemVMaW1pdCk6CisgICAgICAgICogcGFnZS9NZW1vcnlJ
bmZvLmlkbDoKKwogMjAxMS0wMi0wMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhbmllbCBCYXRlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggN2E1NjI2Ni4uMTY5N2YyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTgyNCw2ICs4MjQs
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TG9jYXRpb25DdXN0b20uaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVtb3J5SW5m
b0N1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5u
ZWxDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVu
dEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRD
dXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjN2UwNmI2Li5iYjU0ZGNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC02NzcsNiArNjc3LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0xvY2F0aW9uQ3VzdG9tLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4
ZWNTdGF0ZS5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lbW9yeUluZm9DdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvCmluZGV4IDI2MWU2MGYuLmNhMmVhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC01ODIsNiAr
NTgyLDcgQEAgdjggewogICAgICAgICBiaW5kaW5ncy9qcy9KU0xhenlFdmVudExpc3RlbmVyLmNw
cCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwIFwKICAgICAgICAg
YmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcCBcCisgICAgICAgIGJpbmRpbmdz
L2pzL0pTTWVtb3J5SW5mb0N1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VDaGFubmVsQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
MmRhOWE1OS4uNDBkM2VlNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTYwMjMzLDYgKzYwMjMzLDU4IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU01lbW9yeUlu
Zm9DdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVh
c2VfTFRDR3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCIKIAkJ
CQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzZmEwZWRiLi44NDI1MTM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0zMTQzLDYgKzMxNDMsNyBAQAogCQk5RkEzN0VGQjExNzJGREE2MDBDNENENTUgLyogSlNTY3Jp
cHRQcm9maWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5RkEzN0VGNzExNzJGRDkzMDBDNENENTUgLyogSlNTY3JpcHRQcm9maWxlLmggKi87IH07CiAJ
CTlGQTM3RUZDMTE3MkZEQTYwMEM0Q0Q1NSAvKiBKU1NjcmlwdFByb2ZpbGVOb2RlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGQTM3RUY4MTE3MkZE
OTMwMEM0Q0Q1NSAvKiBKU1NjcmlwdFByb2ZpbGVOb2RlLmNwcCAqLzsgfTsKIAkJOUZBMzdFRkQx
MTcyRkRBNjAwQzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZU5vZGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGQTM3RUY5MTE3MkZEOTMwMEM0Q0Q1NSAv
KiBKU1NjcmlwdFByb2ZpbGVOb2RlLmggKi87IH07CisJCTlGREM4RkYyMTJGQUIwMDYwMDk5QUIx
QyAvKiBKU01lbW9yeUluZm9DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOUZEQzhGRjExMkZBQjAwNjAwOTlBQjFDIC8qIEpTTWVtb3J5SW5m
b0N1c3RvbS5jcHAgKi87IH07CiAJCTlGRkUzRTdBMTFCNTlDNUQwMDM3ODc0RSAvKiBNZW1vcnlJ
bmZvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlG
RkUzRTc4MTFCNTlDNUQwMDM3ODc0RSAvKiBNZW1vcnlJbmZvLmNwcCAqLzsgfTsKIAkJOUZGRTNF
N0IxMUI1OUM1RDAwMzc4NzRFIC8qIE1lbW9yeUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGRkUzRTc5MTFCNTlDNUQwMDM3ODc0RSAvKiBNZW1v
cnlJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOUZGRTNFQTUxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RkZFM0VBMzExQjVBNDM5MDAz
Nzg3NEUgLyogSlNNZW1vcnlJbmZvLmNwcCAqLzsgfTsKQEAgLTk1NDUsNiArOTU0Niw3IEBACiAJ
CTlGQTM3RUY3MTE3MkZEOTMwMEM0Q0Q1NSAvKiBKU1NjcmlwdFByb2ZpbGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTY3JpcHRQcm9maWxlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTlGQTM3RUY4MTE3MkZEOTMwMEM0Q0Q1NSAvKiBKU1NjcmlwdFByb2Zp
bGVOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU2NyaXB0
UHJvZmlsZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RkEzN0VGOTEx
NzJGRDkzMDBDNENENTUgLyogSlNTY3JpcHRQcm9maWxlTm9kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1NjcmlwdFByb2ZpbGVOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTlGREM4RkYxMTJGQUIwMDYwMDk5QUIxQyAvKiBKU01lbW9yeUluZm9DdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZW1vcnlJbmZv
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUZGRTNFNzgxMUI1OUM1
RDAwMzc4NzRFIC8qIE1lbW9yeUluZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTWVtb3J5SW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlG
RkUzRTc5MTFCNTlDNUQwMDM3ODc0RSAvKiBNZW1vcnlJbmZvLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lbW9yeUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOUZGRTNFN0MxMUI1OUM2RTAwMzc4NzRFIC8qIE1lbW9yeUluZm8uaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE1lbW9yeUluZm8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTc3ODQsNiArMTc3ODYsNyBAQAogCQkJCTMzMTRBQ0VBMTA4OTIwODYwMDBGMEU1NiAvKiBK
U0V4Y2VwdGlvbkJhc2UuaCAqLywKIAkJCQk4RjkzNEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNN
YWluVGhyZWFkRXhlY1N0YXRlLmNwcCAqLywKIAkJCQk4RjkzNEQ4MzExODlGMUVFMDA1MDhENUQg
LyogSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggKi8sCisJCQkJOUZEQzhGRjExMkZBQjAwNjAwOTlB
QjFDIC8qIEpTTWVtb3J5SW5mb0N1c3RvbS5jcHAgKi8sCiAJCQkJOTNCNzBENEYwOUVCMEM3QzAw
OUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgKi8sCiAJCQkJOTNCNzBENTAw
OUVCMEM3QzAwOUQ4NDY4IC8qIEpTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oICovLAogCQkJCTE0
Q0Q4RDgxMTA2QjUyOTAwMEE0NkQyMyAvKiBKU1NoYXJlZFdvcmtlckN1c3RvbS5jcHAgKi8sCkBA
IC0yNTE4Niw2ICsyNTE4OSw3IEBACiAJCQkJQkNFNDQxMzMxMkY3NDhFMjAwOUI4NEI4IC8qIFJl
bmRlckNvbWJpbmVUZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OTQ3RkZEMTJGODBDRDIw
MEEwRjYzMSAvKiBEb2N1bWVudE9yZGVyZWRNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdD
NDcxREIxMkY5MjVCRDAwODYzNTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk5RkRDOEZGMjEyRkFCMDA2MDA5OUFCMUMgLyogSlNNZW1vcnlJbmZvQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggYWY3NGU4Yy4uYmRkNjIzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0x
MDUsNiArMTA1LDcgQEAKICNpbmNsdWRlICJKU0xhenlFdmVudExpc3RlbmVyLmNwcCIKICNpbmNs
dWRlICJKU0xvY2F0aW9uQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU01haW5UaHJlYWRFeGVjU3Rh
dGUuY3BwIgorI2luY2x1ZGUgIkpTTWVtb3J5SW5mb0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNN
ZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTTWVzc2FnZVBvcnRDdXN0b20uY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVtb3J5SW5mb0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWM2M2ZhMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVtb3J5SW5mb0N1c3RvbS5jcHAKQEAgLTAsMCArMSw0MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqICAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogIAor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBs
ZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKiAgCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJKU01lbW9yeUluZm8uaCIK
KwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVl
IGpzTWVtb3J5SW5mb0pzSGVhcFNpemVMaW1pdChFeGVjU3RhdGUqLCBKU1ZhbHVlLCBjb25zdCBJ
ZGVudGlmaWVyJikKK3sKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0R0NFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50
LmNwcAppbmRleCAyMWMyMWJkLi5kZDAyN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRHQ0V2ZW50LmNwcApAQCAtNDIsMTEgKzQyLDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotdm9pZCBTY3JpcHRHQ0V2ZW50OjpnZXRI
ZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplKQordm9p
ZCBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90
JiB0b3RhbEhlYXBTaXplLCBzaXplX3QmIGhlYXBTaXplTGltaXQpCiB7CiAgICAgSlNHbG9iYWxE
YXRhKiBnbG9iYWxEYXRhID0gSlNET01XaW5kb3c6OmNvbW1vbkpTR2xvYmFsRGF0YSgpOwogICAg
IHRvdGFsSGVhcFNpemUgPSBnbG9iYWxEYXRhLT5oZWFwLmNhcGFjaXR5KCk7Ci0gICAgdXNlZEhl
YXBTaXplID0gdG90YWxIZWFwU2l6ZTsKKyAgICB1c2VkSGVhcFNpemUgPSBnbG9iYWxEYXRhLT5o
ZWFwLnNpemUoKTsKKyAgICBoZWFwU2l6ZUxpbWl0ID0gMDsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R0NF
dmVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5oCmluZGV4
IDg2ZDRmNjguLjY2MTRiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEdDRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRH
Q0V2ZW50LmgKQEAgLTQyLDcgKzQyLDcgQEAgY2xhc3MgU2NyaXB0R0NFdmVudAogcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKikg
eyB9CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihTY3JpcHRHQ0V2ZW50TGlz
dGVuZXIqKSB7IH0KLSAgICBzdGF0aWMgdm9pZCBnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFw
U2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplKTsKKyAgICBzdGF0aWMgdm9pZCBnZXRIZWFwU2l6
ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplLCBzaXplX3QmIGhl
YXBTaXplTGltaXQpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcAppbmRleCBhNThhMGNkLi41NWE4MDNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcApAQCAt
NjYsMTIgKzY2LDEzIEBAIHZvaWQgU2NyaXB0R0NFdmVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIqIGV2ZW50TGlzdGVuZXIpCiAgICAgfQogfQogCi12b2lkIFNj
cmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHNpemVfdCYgdXNlZEhlYXBTaXplLCBzaXplX3QmIHRv
dGFsSGVhcFNpemUpCit2b2lkIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHNpemVfdCYgdXNl
ZEhlYXBTaXplLCBzaXplX3QmIHRvdGFsSGVhcFNpemUsIHNpemVfdCYgaGVhcFNpemVMaW1pdCkK
IHsKICAgICB2ODo6SGVhcFN0YXRpc3RpY3MgaGVhcFN0YXRpc3RpY3M7CiAgICAgdjg6OlY4OjpH
ZXRIZWFwU3RhdGlzdGljcygmaGVhcFN0YXRpc3RpY3MpOwogICAgIHVzZWRIZWFwU2l6ZSA9IGhl
YXBTdGF0aXN0aWNzLnVzZWRfaGVhcF9zaXplKCk7CiAgICAgdG90YWxIZWFwU2l6ZSA9IGhlYXBT
dGF0aXN0aWNzLnRvdGFsX2hlYXBfc2l6ZSgpOworICAgIGhlYXBTaXplTGltaXQgPSBoZWFwU3Rh
dGlzdGljcy5oZWFwX3NpemVfbGltaXQoKTsKIH0KIAogc2l6ZV90IFNjcmlwdEdDRXZlbnQ6Omdl
dFVzZWRIZWFwU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRHQ0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50
LmgKaW5kZXggODBhNWEzOC4uMmZmZDk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdEdDRXZlbnQuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBTY3JpcHRHQ0V2ZW50CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihTY3JpcHRHQ0V2ZW50TGlz
dGVuZXIqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKFNjcmlwdEdDRXZl
bnRMaXN0ZW5lciopOwotICAgIHN0YXRpYyB2b2lkIGdldEhlYXBTaXplKHNpemVfdCYsIHNpemVf
dCYpOworICAgIHN0YXRpYyB2b2lkIGdldEhlYXBTaXplKHNpemVfdCYsIHNpemVfdCYsIHNpemVf
dCYpOwogcHJpdmF0ZToKICAgICB0eXBlZGVmIFZlY3RvcjxTY3JpcHRHQ0V2ZW50TGlzdGVuZXIq
PiBHQ0V2ZW50TGlzdGVuZXJzOwogICAgIHN0YXRpYyBHQ0V2ZW50TGlzdGVuZXJzIHNfZXZlbnRM
aXN0ZW5lcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAKaW5kZXggMDgxYTVmMC4uMWUyMzYyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzAxLDcg
KzMwMSw4IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SGVhcFNpemVTdGF0aXN0
aWMoSW5zcGVjdG9yT2JqZWN0KiByZWNvcmQpCiB7CiAgICAgc2l6ZV90IHVzZWRIZWFwU2l6ZSA9
IDA7CiAgICAgc2l6ZV90IHRvdGFsSGVhcFNpemUgPSAwOwotICAgIFNjcmlwdEdDRXZlbnQ6Omdl
dEhlYXBTaXplKHVzZWRIZWFwU2l6ZSwgdG90YWxIZWFwU2l6ZSk7CisgICAgc2l6ZV90IGhlYXBT
aXplTGltaXQgPSAwOworICAgIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHVzZWRIZWFwU2l6
ZSwgdG90YWxIZWFwU2l6ZSwgaGVhcFNpemVMaW1pdCk7CiAgICAgcmVjb3JkLT5zZXROdW1iZXIo
InVzZWRIZWFwU2l6ZSIsIHVzZWRIZWFwU2l6ZSk7CiAgICAgcmVjb3JkLT5zZXROdW1iZXIoInRv
dGFsSGVhcFNpemUiLCB0b3RhbEhlYXBTaXplKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTWVtb3J5SW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8u
Y3BwCmluZGV4IGMyMjQ3YjkuLjU3ZGFlMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVtb3J5SW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmNw
cApAQCAtMzksMTEgKzM5LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTWVtb3J5SW5mbzo6
TWVtb3J5SW5mbyhGcmFtZSogZnJhbWUpCiAgICAgICAgIDogbV90b3RhbEpTSGVhcFNpemUoMCks
Ci0gICAgICAgICAgbV91c2VkSlNIZWFwU2l6ZSgwKQorICAgICAgICAgIG1fdXNlZEpTSGVhcFNp
emUoMCksCisgICAgICAgICAgbV9qc0hlYXBTaXplTGltaXQoMCkKIHsKICAgICBpZiAoZnJhbWUg
JiYgZnJhbWUtPnNldHRpbmdzKCkgJiYgZnJhbWUtPnNldHRpbmdzKCktPm1lbW9yeUluZm9FbmFi
bGVkKCkpIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBTY3JpcHRHQ0V2ZW50Ojpn
ZXRIZWFwU2l6ZShtX3VzZWRKU0hlYXBTaXplLCBtX3RvdGFsSlNIZWFwU2l6ZSk7CisgICAgICAg
IFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKG1fdXNlZEpTSGVhcFNpemUsIG1fdG90YWxKU0hl
YXBTaXplLCBtX2pzSGVhcFNpemVMaW1pdCk7CiAjZW5kaWYKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVtb3J5SW5mby5oCmluZGV4IDYxNWU5NTIuLjI3YTczNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5
SW5mby5oCkBAIC00NCwxMiArNDQsMTQgQEAgcHVibGljOgogCiAgICAgc2l6ZV90IHRvdGFsSlNI
ZWFwU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxKU0hlYXBTaXplOyB9CiAgICAgc2l6ZV90
IHVzZWRKU0hlYXBTaXplKCkgY29uc3QgeyByZXR1cm4gbV91c2VkSlNIZWFwU2l6ZTsgfQorICAg
IHNpemVfdCBqc0hlYXBTaXplTGltaXQoKSBjb25zdCB7IHJldHVybiBtX2pzSGVhcFNpemVMaW1p
dDsgfQogCiBwcml2YXRlOgogICAgIE1lbW9yeUluZm8oRnJhbWUqKTsKIAogICAgIHNpemVfdCBt
X3RvdGFsSlNIZWFwU2l6ZTsKICAgICBzaXplX3QgbV91c2VkSlNIZWFwU2l6ZTsKKyAgICBzaXpl
X3QgbV9qc0hlYXBTaXplTGltaXQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9NZW1vcnlJbmZvLmlkbAppbmRleCA1OWIwMDgxLi4xMzk2NWE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWVtb3J5SW5mby5pZGwKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdG90YWxKU0hlYXBTaXpl
OwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB1c2VkSlNIZWFwU2l6
ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXJdIHVuc2lnbmVk
IGxvbmcganNIZWFwU2l6ZUxpbWl0OwogCiAgICAgfTsKIAo=
</data>
<flag name="commit-queue"
          id="72575"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81049</attachid>
            <date>2011-02-03 04:17:37 -0800</date>
            <delta_ts>2011-02-03 08:12:11 -0800</delta_ts>
            <desc>fixed custom getter signature</desc>
            <filename>patch-53592</filename>
            <type>text/plain</type>
            <size>17180</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsgYi9Tb3Vy
Y2UvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCmluZGV4IDhhNjkwZWUuLjI2Y2I0ZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIv
U291cmNlL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtMTM0LDYgKzEzNCw3IEBA
IExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5j
cHAgXAogCWJpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIFwKKwliaW5kaW5ncy9qcy9KU01lbW9yeUluZm9DdXN0
b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCBcCiAJYmlu
ZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU01lc3Nh
Z2VQb3J0Q3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGMyMDM3ZWIuLjQwNmE1
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC02NzUsNiArNjc1LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01haW5UaHJl
YWRFeGVjU3RhdGUuY3BwCisgICAgYmluZGluZ3MvanMvSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
anMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9y
dEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwOWI1MTU5Li5mODhiYWM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzcgQEAKKzIwMTEtMDItMDMgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgcmVwb3J0aW5nIG9mIEpTIGhlYXAgc2l6ZSBsaW1pdCB0
byAnY29uc29sZS5tZW1vcnknLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MzU5MgorCisgICAgICAgIEluIEpTQyB0aGVyZSBpcyBubyBsaW1pdCwg
dGh1cyAndW5kZWZpbmVkJyB2YWx1ZSBpcyByZXR1cm5lZC4KKyAgICAgICAgRm9yIFY4LCB0aGUg
bGltaXQgcmVwb3J0ZWQgYnkgdGhlIFZNIGlzIHJldHVybmVkLgorCisgICAgICAgICogQW5kcm9p
ZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZW1v
cnlJbmZvQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0R0NF
dmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZSk6
CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5oOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1NjcmlwdEdDRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R0NFdmVu
dDo6Z2V0SGVhcFNpemUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdEdDRXZlbnQuaDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzZXRIZWFwU2l6ZVN0YXRpc3RpYyk6
CisgICAgICAgICogcGFnZS9NZW1vcnlJbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eUluZm86Ok1lbW9yeUluZm8pOgorICAgICAgICAqIHBhZ2UvTWVtb3J5SW5mby5oOgorICAgICAg
ICAoV2ViQ29yZTo6TWVtb3J5SW5mbzo6anNIZWFwU2l6ZUxpbWl0KToKKyAgICAgICAgKiBwYWdl
L01lbW9yeUluZm8uaWRsOgorCiAyMDExLTAyLTAzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCA3YTU2MjY2Li4xNjk3ZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtODI0
LDYgKzgyNCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNMb2NhdGlvbkN1c3RvbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuaCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNN
ZW1vcnlJbmZvQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNz
YWdlQ2hhbm5lbEN1c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVz
c2FnZUV2ZW50Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNz
YWdlUG9ydEN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGM3ZTA2YjYuLmJiNTRkY2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTY3Nyw2ICs2NzcsNyBAQAogICAgICAgICAgICAgJ2JpbmRp
bmdzL2pzL0pTTG9jYXRpb25DdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNN
YWluVGhyZWFkRXhlY1N0YXRlLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTWVtb3J5SW5m
b0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggMjYxZTYwZi4uY2EyZWE0YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAg
LTU4Miw2ICs1ODIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlz
dGVuZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwIFwKKyAgICAgICAg
YmluZGluZ3MvanMvSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pz
L0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNNZXNz
YWdlRXZlbnRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1
c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCAyZGE5YTU5Li40MGQzZWU0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjAyMzMsNiArNjAyMzMsNTggQEAKIAkJCQkJPgogCQkJ
CTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpT
TWVtb3J5SW5mb0N1c3RvbS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRv
b2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQog
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTWVzc2FnZUNoYW5uZWxDdXN0b20u
Y3BwIgogCQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNmYTBlZGIuLjg0MjUx
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTMxNDMsNiArMzE0Myw3IEBACiAJCTlGQTM3RUZCMTE3MkZEQTYwMEM0Q0Q1NSAv
KiBKU1NjcmlwdFByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlGQTM3RUY3MTE3MkZEOTMwMEM0Q0Q1NSAvKiBKU1NjcmlwdFByb2ZpbGUuaCAq
LzsgfTsKIAkJOUZBMzdFRkMxMTcyRkRBNjAwQzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZU5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZBMzdF
RjgxMTcyRkQ5MzAwQzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZU5vZGUuY3BwICovOyB9OwogCQk5
RkEzN0VGRDExNzJGREE2MDBDNENENTUgLyogSlNTY3JpcHRQcm9maWxlTm9kZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZBMzdFRjkxMTcyRkQ5MzAw
QzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZU5vZGUuaCAqLzsgfTsKKwkJOUZEQzhGRjIxMkZBQjAw
NjAwOTlBQjFDIC8qIEpTTWVtb3J5SW5mb0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RkRDOEZGMTEyRkFCMDA2MDA5OUFCMUMgLyogSlNN
ZW1vcnlJbmZvQ3VzdG9tLmNwcCAqLzsgfTsKIAkJOUZGRTNFN0ExMUI1OUM1RDAwMzc4NzRFIC8q
IE1lbW9yeUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOUZGRTNFNzgxMUI1OUM1RDAwMzc4NzRFIC8qIE1lbW9yeUluZm8uY3BwICovOyB9Owog
CQk5RkZFM0U3QjExQjU5QzVEMDAzNzg3NEUgLyogTWVtb3J5SW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZGRTNFNzkxMUI1OUM1RDAwMzc4NzRF
IC8qIE1lbW9yeUluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk5RkZFM0VBNTExQjVBNDM5MDAzNzg3NEUgLyogSlNNZW1vcnlJbmZvLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlGRkUzRUEzMTFC
NUE0MzkwMDM3ODc0RSAvKiBKU01lbW9yeUluZm8uY3BwICovOyB9OwpAQCAtOTU0NSw2ICs5NTQ2
LDcgQEAKIAkJOUZBMzdFRjcxMTcyRkQ5MzAwQzRDRDU1IC8qIEpTU2NyaXB0UHJvZmlsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NjcmlwdFByb2ZpbGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUZBMzdFRjgxMTcyRkQ5MzAwQzRDRDU1IC8qIEpTU2Ny
aXB0UHJvZmlsZU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTY3JpcHRQcm9maWxlTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlG
QTM3RUY5MTE3MkZEOTMwMEM0Q0Q1NSAvKiBKU1NjcmlwdFByb2ZpbGVOb2RlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU2NyaXB0UHJvZmlsZU5vZGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUZEQzhGRjExMkZBQjAwNjAwOTlBQjFDIC8qIEpTTWVtb3J5
SW5mb0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01l
bW9yeUluZm9DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5RkZFM0U3
ODExQjU5QzVEMDAzNzg3NEUgLyogTWVtb3J5SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZW1vcnlJbmZvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOUZGRTNFNzkxMUI1OUM1RDAwMzc4NzRFIC8qIE1lbW9yeUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5RkZFM0U3QzExQjU5QzZFMDAzNzg3NEUgLyogTWVtb3J5SW5mby5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVtb3J5SW5mby5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNzc4NCw2ICsxNzc4Niw3IEBACiAJCQkJMzMxNEFDRUExMDg5MjA4NjAwMEYw
RTU2IC8qIEpTRXhjZXB0aW9uQmFzZS5oICovLAogCQkJCThGOTM0RDg0MTE4OUYxRUUwMDUwOEQ1
RCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuY3BwICovLAogCQkJCThGOTM0RDgzMTE4OUYxRUUw
MDUwOEQ1RCAvKiBKU01haW5UaHJlYWRFeGVjU3RhdGUuaCAqLywKKwkJCQk5RkRDOEZGMTEyRkFC
MDA2MDA5OUFCMUMgLyogSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcCAqLywKIAkJCQk5M0I3MEQ0RjA5
RUIwQzdDMDA5RDg0NjggLyogSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCAqLywKIAkJCQk5
M0I3MEQ1MDA5RUIwQzdDMDA5RDg0NjggLyogSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmggKi8s
CiAJCQkJMTRDRDhEODExMDZCNTI5MDAwQTQ2RDIzIC8qIEpTU2hhcmVkV29ya2VyQ3VzdG9tLmNw
cCAqLywKQEAgLTI1MTg2LDYgKzI1MTg5LDcgQEAKIAkJCQlCQ0U0NDEzMzEyRjc0OEUyMDA5Qjg0
QjggLyogUmVuZGVyQ29tYmluZVRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ5NDdGRkQx
MkY4MENEMjAwQTBGNjMxIC8qIERvY3VtZW50T3JkZXJlZE1hcC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5N0M0NzFEQjEyRjkyNUJEMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTlGREM4RkYyMTJGQUIwMDYwMDk5QUIxQyAvKiBKU01lbW9y
eUluZm9DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRleCBhZjc0ZThjLi5iZGQ2MjM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKQEAgLTEwNSw2ICsxMDUsNyBAQAogI2luY2x1ZGUgIkpTTGF6eUV2ZW50TGlzdGVuZXIuY3Bw
IgogI2luY2x1ZGUgIkpTTG9jYXRpb25DdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5jcHAiCisjaW5jbHVkZSAiSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcCIKICNpbmNs
dWRlICJKU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU01lc3NhZ2VFdmVu
dEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lbW9yeUluZm9DdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDViZDdlCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcApAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAgCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqICAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkpTTWVtb3J5
SW5mby5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K0pTVmFsdWUgSlNNZW1vcnlJbmZvOjpqc0hlYXBTaXplTGltaXQoRXhlY1N0YXRlKikgY29uc3QK
K3sKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmNwcAppbmRleCAy
MWMyMWJkLi5kZDAyN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRHQ0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRH
Q0V2ZW50LmNwcApAQCAtNDIsMTEgKzQyLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNp
bmcgbmFtZXNwYWNlIEpTQzsKIAotdm9pZCBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZShzaXpl
X3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplKQordm9pZCBTY3JpcHRHQ0V2
ZW50OjpnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBT
aXplLCBzaXplX3QmIGhlYXBTaXplTGltaXQpCiB7CiAgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhID0gSlNET01XaW5kb3c6OmNvbW1vbkpTR2xvYmFsRGF0YSgpOwogICAgIHRvdGFsSGVhcFNp
emUgPSBnbG9iYWxEYXRhLT5oZWFwLmNhcGFjaXR5KCk7Ci0gICAgdXNlZEhlYXBTaXplID0gdG90
YWxIZWFwU2l6ZTsKKyAgICB1c2VkSGVhcFNpemUgPSBnbG9iYWxEYXRhLT5oZWFwLnNpemUoKTsK
KyAgICBoZWFwU2l6ZUxpbWl0ID0gMDsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R0NFdmVudC5oCmluZGV4IDg2ZDRmNjguLjY2
MTRiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdDRXZl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHQ0V2ZW50LmgKQEAg
LTQyLDcgKzQyLDcgQEAgY2xhc3MgU2NyaXB0R0NFdmVudAogcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGFkZEV2ZW50TGlzdGVuZXIoU2NyaXB0R0NFdmVudExpc3RlbmVyKikgeyB9CiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihTY3JpcHRHQ0V2ZW50TGlzdGVuZXIqKSB7IH0K
LSAgICBzdGF0aWMgdm9pZCBnZXRIZWFwU2l6ZShzaXplX3QmIHVzZWRIZWFwU2l6ZSwgc2l6ZV90
JiB0b3RhbEhlYXBTaXplKTsKKyAgICBzdGF0aWMgdm9pZCBnZXRIZWFwU2l6ZShzaXplX3QmIHVz
ZWRIZWFwU2l6ZSwgc2l6ZV90JiB0b3RhbEhlYXBTaXplLCBzaXplX3QmIGhlYXBTaXplTGltaXQp
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0R0NFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRHQ0V2ZW50LmNwcAppbmRleCBhNThhMGNkLi41NWE4MDNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmNwcApAQCAtNjYsMTIgKzY2LDEz
IEBAIHZvaWQgU2NyaXB0R0NFdmVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihTY3JpcHRHQ0V2ZW50
TGlzdGVuZXIqIGV2ZW50TGlzdGVuZXIpCiAgICAgfQogfQogCi12b2lkIFNjcmlwdEdDRXZlbnQ6
OmdldEhlYXBTaXplKHNpemVfdCYgdXNlZEhlYXBTaXplLCBzaXplX3QmIHRvdGFsSGVhcFNpemUp
Cit2b2lkIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHNpemVfdCYgdXNlZEhlYXBTaXplLCBz
aXplX3QmIHRvdGFsSGVhcFNpemUsIHNpemVfdCYgaGVhcFNpemVMaW1pdCkKIHsKICAgICB2ODo6
SGVhcFN0YXRpc3RpY3MgaGVhcFN0YXRpc3RpY3M7CiAgICAgdjg6OlY4OjpHZXRIZWFwU3RhdGlz
dGljcygmaGVhcFN0YXRpc3RpY3MpOwogICAgIHVzZWRIZWFwU2l6ZSA9IGhlYXBTdGF0aXN0aWNz
LnVzZWRfaGVhcF9zaXplKCk7CiAgICAgdG90YWxIZWFwU2l6ZSA9IGhlYXBTdGF0aXN0aWNzLnRv
dGFsX2hlYXBfc2l6ZSgpOworICAgIGhlYXBTaXplTGltaXQgPSBoZWFwU3RhdGlzdGljcy5oZWFw
X3NpemVfbGltaXQoKTsKIH0KIAogc2l6ZV90IFNjcmlwdEdDRXZlbnQ6OmdldFVzZWRIZWFwU2l6
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRHQ0V2ZW50LmgKaW5kZXggODBh
NWEzOC4uMmZmZDk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0R0NFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEdDRXZl
bnQuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBTY3JpcHRHQ0V2ZW50CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihTY3JpcHRHQ0V2ZW50TGlzdGVuZXIqKTsKICAg
ICBzdGF0aWMgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKFNjcmlwdEdDRXZlbnRMaXN0ZW5lciop
OwotICAgIHN0YXRpYyB2b2lkIGdldEhlYXBTaXplKHNpemVfdCYsIHNpemVfdCYpOworICAgIHN0
YXRpYyB2b2lkIGdldEhlYXBTaXplKHNpemVfdCYsIHNpemVfdCYsIHNpemVfdCYpOwogcHJpdmF0
ZToKICAgICB0eXBlZGVmIFZlY3RvcjxTY3JpcHRHQ0V2ZW50TGlzdGVuZXIqPiBHQ0V2ZW50TGlz
dGVuZXJzOwogICAgIHN0YXRpYyBHQ0V2ZW50TGlzdGVuZXJzIHNfZXZlbnRMaXN0ZW5lcnM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5j
cHAKaW5kZXggMDgxYTVmMC4uMWUyMzYyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzAxLDcgKzMwMSw4IEBAIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c2V0SGVhcFNpemVTdGF0aXN0aWMoSW5zcGVjdG9y
T2JqZWN0KiByZWNvcmQpCiB7CiAgICAgc2l6ZV90IHVzZWRIZWFwU2l6ZSA9IDA7CiAgICAgc2l6
ZV90IHRvdGFsSGVhcFNpemUgPSAwOwotICAgIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHVz
ZWRIZWFwU2l6ZSwgdG90YWxIZWFwU2l6ZSk7CisgICAgc2l6ZV90IGhlYXBTaXplTGltaXQgPSAw
OworICAgIFNjcmlwdEdDRXZlbnQ6OmdldEhlYXBTaXplKHVzZWRIZWFwU2l6ZSwgdG90YWxIZWFw
U2l6ZSwgaGVhcFNpemVMaW1pdCk7CiAgICAgcmVjb3JkLT5zZXROdW1iZXIoInVzZWRIZWFwU2l6
ZSIsIHVzZWRIZWFwU2l6ZSk7CiAgICAgcmVjb3JkLT5zZXROdW1iZXIoInRvdGFsSGVhcFNpemUi
LCB0b3RhbEhlYXBTaXplKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVt
b3J5SW5mby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uY3BwCmluZGV4IGMy
MjQ3YjkuLjU3ZGFlMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5SW5m
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1vcnlJbmZvLmNwcApAQCAtMzksMTEg
KzM5LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTWVtb3J5SW5mbzo6TWVtb3J5SW5mbyhG
cmFtZSogZnJhbWUpCiAgICAgICAgIDogbV90b3RhbEpTSGVhcFNpemUoMCksCi0gICAgICAgICAg
bV91c2VkSlNIZWFwU2l6ZSgwKQorICAgICAgICAgIG1fdXNlZEpTSGVhcFNpemUoMCksCisgICAg
ICAgICAgbV9qc0hlYXBTaXplTGltaXQoMCkKIHsKICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPnNl
dHRpbmdzKCkgJiYgZnJhbWUtPnNldHRpbmdzKCktPm1lbW9yeUluZm9FbmFibGVkKCkpIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBTY3JpcHRHQ0V2ZW50OjpnZXRIZWFwU2l6ZSht
X3VzZWRKU0hlYXBTaXplLCBtX3RvdGFsSlNIZWFwU2l6ZSk7CisgICAgICAgIFNjcmlwdEdDRXZl
bnQ6OmdldEhlYXBTaXplKG1fdXNlZEpTSGVhcFNpemUsIG1fdG90YWxKU0hlYXBTaXplLCBtX2pz
SGVhcFNpemVMaW1pdCk7CiAjZW5kaWYKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lbW9yeUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5o
CmluZGV4IDYxNWU5NTIuLjI3YTczNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWVtb3J5SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5SW5mby5oCkBAIC00
NCwxMiArNDQsMTQgQEAgcHVibGljOgogCiAgICAgc2l6ZV90IHRvdGFsSlNIZWFwU2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdG90YWxKU0hlYXBTaXplOyB9CiAgICAgc2l6ZV90IHVzZWRKU0hlYXBT
aXplKCkgY29uc3QgeyByZXR1cm4gbV91c2VkSlNIZWFwU2l6ZTsgfQorICAgIHNpemVfdCBqc0hl
YXBTaXplTGltaXQoKSBjb25zdCB7IHJldHVybiBtX2pzSGVhcFNpemVMaW1pdDsgfQogCiBwcml2
YXRlOgogICAgIE1lbW9yeUluZm8oRnJhbWUqKTsKIAogICAgIHNpemVfdCBtX3RvdGFsSlNIZWFw
U2l6ZTsKICAgICBzaXplX3QgbV91c2VkSlNIZWFwU2l6ZTsKKyAgICBzaXplX3QgbV9qc0hlYXBT
aXplTGltaXQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lbW9yeUluZm8uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZW1v
cnlJbmZvLmlkbAppbmRleCA1OWIwMDgxLi4xMzk2NWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lbW9yeUluZm8uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5
SW5mby5pZGwKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdG90YWxKU0hlYXBTaXplOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB1c2VkSlNIZWFwU2l6ZTsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXJdIHVuc2lnbmVkIGxvbmcganNIZWFw
U2l6ZUxpbWl0OwogCiAgICAgfTsKIAo=
</data>
<flag name="review"
          id="72581"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="72582"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
      

    </bug>

</bugzilla>