<?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>69390</bug_id>
          
          <creation_ts>2011-10-04 18:17:20 -0700</creation_ts>
          <short_desc>JSC objects need to know their own cell size at runtime.</short_desc>
          <delta_ts>2011-10-06 10:42:02 -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>JavaScriptCore</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="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>478100</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-04 18:17:20 -0700</bug_when>
    <thetext>This information is necessary for the GC work that Oliver is doing.  We&apos;ll add the relevant information to the ClassInfo struct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478538</commentid>
    <comment_count>1</comment_count>
      <attachid>109828</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-05 11:28:48 -0700</bug_when>
    <thetext>Created attachment 109828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478540</commentid>
    <comment_count>2</comment_count>
      <attachid>109828</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-05 11:30:00 -0700</bug_when>
    <thetext>Comment on attachment 109828
Patch

I think a simpler approach would just be to make the method table contain this information, as CREATE_METHOD_TABLE  already has the class name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478541</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-05 11:31:26 -0700</bug_when>
    <thetext>&gt; I think a simpler approach would just be to make the method table contain this information, as CREATE_METHOD_TABLE  already has the class name

:-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478564</commentid>
    <comment_count>4</comment_count>
      <attachid>109834</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-05 12:07:28 -0700</bug_when>
    <thetext>Created attachment 109834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478566</commentid>
    <comment_count>5</comment_count>
      <attachid>109834</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-05 12:11:01 -0700</bug_when>
    <thetext>Comment on attachment 109834
Patch

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

&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:50
&gt; +    ASSERT(WTF::RemovePointer&lt;T&gt;::Type::s_info.cellSize == sizeof(typename WTF::RemovePointer&lt;T&gt;::Type));

This isn&apos;t a safe assertion

class A {
 ...
}

class B : A {
  int aNewField;
}

validateCell&lt;A*&gt;(&amp;someB)

would fail this assertion as B&apos;s classinfo will (correctly) report a larger cell size than A&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478587</commentid>
    <comment_count>6</comment_count>
      <attachid>109834</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 12:38:27 -0700</bug_when>
    <thetext>Comment on attachment 109834
Patch

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

&gt; Source/JavaScriptCore/runtime/JSCell.h:66
&gt; +        size_t cellSize() const;

I don&apos;t think JSCell needs this helper function. We can write classInfo()-&gt;cellSize at the call site.

&gt;&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:50
&gt;&gt; +    ASSERT(WTF::RemovePointer&lt;T&gt;::Type::s_info.cellSize == sizeof(typename WTF::RemovePointer&lt;T&gt;::Type));
&gt; 
&gt; This isn&apos;t a safe assertion
&gt; 
&gt; class A {
&gt;  ...
&gt; }
&gt; 
&gt; class B : A {
&gt;   int aNewField;
&gt; }
&gt; 
&gt; validateCell&lt;A*&gt;(&amp;someB)
&gt; 
&gt; would fail this assertion as B&apos;s classinfo will (correctly) report a larger cell size than A&apos;s.

Maybe you can turn this ASSERT into &gt;=? That would still catch some bugs.

A better place for an ASSERT might be allocateCell&lt;T&gt;: ASSERT(T::s_info.cellSize == sizeof(T)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478588</commentid>
    <comment_count>7</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-05 12:41:50 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 109834 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109834&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/JSCell.h:66
&gt; &gt; +        size_t cellSize() const;
&gt; 
&gt; I don&apos;t think JSCell needs this helper function. We can write classInfo()-&gt;cellSize at the call site.
&gt; 
&gt; &gt;&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:50
&gt; &gt;&gt; +    ASSERT(WTF::RemovePointer&lt;T&gt;::Type::s_info.cellSize == sizeof(typename WTF::RemovePointer&lt;T&gt;::Type));
&gt; &gt; 
&gt; &gt; This isn&apos;t a safe assertion
&gt; &gt; 
&gt; &gt; class A {
&gt; &gt;  ...
&gt; &gt; }
&gt; &gt; 
&gt; &gt; class B : A {
&gt; &gt;   int aNewField;
&gt; &gt; }
&gt; &gt; 
&gt; &gt; validateCell&lt;A*&gt;(&amp;someB)
&gt; &gt; 
&gt; &gt; would fail this assertion as B&apos;s classinfo will (correctly) report a larger cell size than A&apos;s.
&gt; 
&gt; Maybe you can turn this ASSERT into &gt;=? That would still catch some bugs.
&gt; 
&gt; A better place for an ASSERT might be allocateCell&lt;T&gt;: ASSERT(T::s_info.cellSize == sizeof(T)).
Yeah i spoke to mark and that&apos;s what he&apos;s doing :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478654</commentid>
    <comment_count>8</comment_count>
      <attachid>109855</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-05 13:52:10 -0700</bug_when>
    <thetext>Created attachment 109855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478659</commentid>
    <comment_count>9</comment_count>
      <attachid>109855</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 13:56:25 -0700</bug_when>
    <thetext>Comment on attachment 109855
Patch

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

&gt; Source/JavaScriptCore/runtime/JSObject.h:494
&gt; +inline size_t JSCell::cellSize() const
&gt; +{
&gt; +    return classInfo()-&gt;cellSize;
&gt; +}

This function is unused. I still think it can be inlined at the call site when used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478678</commentid>
    <comment_count>10</comment_count>
      <attachid>109860</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-05 14:17:18 -0700</bug_when>
    <thetext>Created attachment 109860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478680</commentid>
    <comment_count>11</comment_count>
      <attachid>109860</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 14:22:06 -0700</bug_when>
    <thetext>Comment on attachment 109860
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478873</commentid>
    <comment_count>12</comment_count>
      <attachid>109904</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-05 19:05:00 -0700</bug_when>
    <thetext>Created attachment 109904
Fixing windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478875</commentid>
    <comment_count>13</comment_count>
      <attachid>109904</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-05 19:06:38 -0700</bug_when>
    <thetext>Comment on attachment 109904
Fixing windows

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479270</commentid>
    <comment_count>14</comment_count>
      <attachid>109904</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 10:41:58 -0700</bug_when>
    <thetext>Comment on attachment 109904
Fixing windows

Clearing flags on attachment: 109904

Committed r96831: &lt;http://trac.webkit.org/changeset/96831&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479271</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-06 10:42:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109828</attachid>
            <date>2011-10-05 11:28:48 -0700</date>
            <delta_ts>2011-10-05 12:07:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69390-20111005112846.patch</filename>
            <type>text/plain</type>
            <size>80900</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5ZDcyNDcwM2M0YjQ2ZWU1MGZl
MWY4NWJjZDg2YzhmNmJiY2FjMjE3Li4zNDg2MTFhNWU2MTg1MjZiYjEyYjJmYmRhMjRiYjZmYWIw
Y2EwZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1j
b25zdCBDbGFzc0luZm8gSlNDYWxsYmFja0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJDYWxsYmFj
a0NvbnN0cnVjdG9yIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShKU0NhbGxiYWNrQ29uc3RydWN0b3IpIH07Citjb25zdCBDbGFzc0luZm8gSlND
YWxsYmFja0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJDYWxsYmFja0NvbnN0cnVjdG9yIiwgJkpT
Tm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxi
YWNrQ29uc3RydWN0b3IpLCBzaXplb2YoSlNDYWxsYmFja0NvbnN0cnVjdG9yKSB9OwogCiBKU0Nh
bGxiYWNrQ29uc3RydWN0b3I6OkpTQ2FsbGJhY2tDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDbGFzc1JlZiBqc0NsYXNzLCBK
U09iamVjdENhbGxBc0NvbnN0cnVjdG9yQ2FsbGJhY2sgY2FsbGJhY2spCiAgICAgOiBKU05vbkZp
bmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5jcHAKaW5kZXggZmMw
NzRmZTUxYzRhNzFkNDYzNDFkZDg3MTRkMDUzYTc4NGQwMDkzNi4uMTU2YjhlNTA1MDQ5MzU5Mzg1
MTNmYzA4OWFmNTVhNmMyZjIwY2FhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU0NhbGxiYWNrRnVuY3Rpb24pOwogCi1j
b25zdCBDbGFzc0luZm8gSlNDYWxsYmFja0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJDYWxsYmFja0Z1
bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU0NhbGxiYWNrRnVuY3Rpb24pIH07Citjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja0Z1
bmN0aW9uOjpzX2luZm8gPSB7ICJDYWxsYmFja0Z1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrRnVuY3Rpb24pLCBz
aXplb2YoSlNDYWxsYmFja0Z1bmN0aW9uKSB9OwogCiBKU0NhbGxiYWNrRnVuY3Rpb246OkpTQ2Fs
bGJhY2tGdW5jdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdENhbGxB
c0Z1bmN0aW9uQ2FsbGJhY2sgY2FsbGJhY2spCiAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcAppbmRleCA3MDBl
YjNjY2U0NGFmZGQ5ZDEyOWMyZGUxY2JlNTJlMDc3MzZiZWRiLi5kOWM4MWI3NTMyZDM3MjZkYTE2
ZWVmMjVmYzUxNzEyZTBjZWQ2YTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL0pTQ2FsbGJhY2tPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdC5jcHAKQEAgLTM2LDggKzM2LDggQEAgQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChKU0NhbGxiYWNrT2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+KTsKIEFTU0VSVF9DTEFT
U19GSVRTX0lOX0NFTEwoSlNDYWxsYmFja09iamVjdDxKU0dsb2JhbE9iamVjdD4pOwogCiAvLyBE
ZWZpbmUgdGhlIHR3byB0eXBlcyBvZiBKU0NhbGxiYWNrT2JqZWN0cyB3ZSBzdXBwb3J0LgotdGVt
cGxhdGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVj
dD46OnNfaW5mbyA9IHsgIkNhbGxiYWNrT2JqZWN0IiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5m
bywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSB9OwotdGVtcGxh
dGUgPD4gY29uc3QgQ2xhc3NJbmZvIEpTQ2FsbGJhY2tPYmplY3Q8SlNHbG9iYWxPYmplY3Q+Ojpz
X2luZm8gPSB7ICJDYWxsYmFja0dsb2JhbE9iamVjdCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZv
LCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpIH07Cit0ZW1wbGF0
ZSA8PiBjb25zdCBDbGFzc0luZm8gSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0Pjo6
c19pbmZvID0geyAiQ2FsbGJhY2tPYmplY3QiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAw
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQ2FsbGJhY2tPYmplY3QpLCBzaXplb2YoSlNDYWxs
YmFja09iamVjdDxKU05vbkZpbmFsT2JqZWN0PikgfTsKK3RlbXBsYXRlIDw+IGNvbnN0IENsYXNz
SW5mbyBKU0NhbGxiYWNrT2JqZWN0PEpTR2xvYmFsT2JqZWN0Pjo6c19pbmZvID0geyAiQ2FsbGJh
Y2tHbG9iYWxPYmplY3QiLCAmSlNHbG9iYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShKU0NhbGxiYWNrT2JqZWN0KSwgc2l6ZW9mKEpTQ2FsbGJhY2tPYmplY3Q8SlNH
bG9iYWxPYmplY3Q+KSB9OwogCiB2b2lkIEpTQ2FsbGJhY2tPYmplY3REYXRhOjpmaW5hbGl6ZShI
YW5kbGU8VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKaW5kZXggNTgwNDU1MGVlMmY5NGI4ODZiNTM5NDUzN2RhODIxZjgwNDczMTllMC4uMjli
YzJmMGQ2MDM0YjdkMzQ2YzQwM2M2MjlkYzkyZDBhOGFmYmE4ZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMTEtMTAtMDUgIE1hcmsgSGFobmVuYmVyZyAgPG1o
YWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBKU0Mgb2JqZWN0cyBuZWVkIHRvIGtub3cg
dGhlaXIgb3duIGNlbGwgc2l6ZSBhdCBydW50aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBKU0Mgb2JqZWN0cyBuZWVkIHRvIGtub3cgdGhlaXIgY2Vs
bCBzaXplIGF0IHJ1bnRpbWUgZm9yIHNvbWUgb2YgdGhlIAorICAgICAgICBuZXcgR0Mgd29yayB0
aGF0IHdlJ3JlIGRvaW5nLiAgVGhpcyBwYXRjaGVzIGdpdmVzIAorICAgICAgICBKU0NlbGwgYSBj
ZWxsU2l6ZSgpIG1ldGhvZCB0byBsb29rIHVwIHRoZSBjZWxsIHNpemUgb2YgdGhlIGN1cnJlbnQg
b2JqZWN0LAorICAgICAgICB3aGljaCBpcyBpbiB0dXJuIHN0b3JlZCBpbiB0aGUgQ2xhc3NJbmZv
IHN0cnVjdCBmb3IgZWFjaCBjbGFzcy4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrQ29uc3Ry
dWN0b3IuY3BwOgorICAgICAgICAqIEFQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwOgorICAgICAg
ICAqIEFQSS9KU0NhbGxiYWNrT2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0FyZ3VtZW50
cy5jcHA6CisgICAgICAgICogcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAg
KiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Jvb2xlYW5D
b25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9Cb29sZWFuT2JqZWN0LmNwcDoKKyAg
ICAgICAgKiBydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwOgorICAgICAgICAqIHJ1bnRpbWUv
Q2xhc3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvRGF0ZUluc3RhbmNlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3IuY3BwOgorICAgICAgICAqIHJ1
bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogcnVudGltZS9FcnJvckluc3Rh
bmNlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0Vycm9yUHJvdG90eXBlLmNwcDoKKyAgICAgICAg
KiBydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0
YWJsZS5jcHA6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKiBydW50aW1l
L0dldHRlclNldHRlci5jcHA6CisgICAgICAgICogcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL0pTQVBJVmFsdWVXcmFwcGVyLmNwcDoKKyAgICAgICAgKiBy
dW50aW1lL0pTQWN0aXZhdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoK
KyAgICAgICAgKiBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGlt
ZS9KU0J5dGVBcnJheS5jcHA6CisgICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNPTk9iamVjdC5jcHA6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAg
ICAoSlNDOjpKU0NlbGw6OmNlbGxTaXplKToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlO
YW1lSXRlcmF0b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdHJpbmcuY3BwOgorICAgICAg
ICAqIHJ1bnRpbWUvTWF0aE9iamVjdC5jcHA6CisgICAgICAgICogcnVudGltZS9OYXRpdmVFcnJv
ckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL051bWJlck9iamVjdC5jcHA6CisgICAgICAgICogcnVudGlt
ZS9OdW1iZXJQcm90b3R5cGUuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0
b3IuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcDoKKyAgICAgICAg
KiBydW50aW1lL1JlZ0V4cC5jcHA6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3QuY3BwOgorICAgICAgICAqIHJ1
bnRpbWUvUmVnRXhwUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKiBydW50aW1lL1Njb3BlQ2hhaW4u
Y3BwOgorICAgICAgICAqIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAq
IHJ1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3Rv
dHlwZS5jcHA6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAgICAqIHJ1
bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwOgorCisgICAgICAgIEFkZGVkIGFuIGFzc2VydGlvbiB0
byBtYWtlIHN1cmUgdGhhdCB0aGUgc2l6ZSB0aGF0IGlzIHN0b3JlZCBpbiBhIGNsYXNzZXMgQ2xh
c3NJbmZvIAorICAgICAgICBpcyBpZGVudGljYWwgdG8gdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBj
bGFzcy4KKyAgICAgICAgKiBydW50aW1lL1dyaXRlQmFycmllci5oOgorICAgICAgICAoSlNDOjp2
YWxpZGF0ZUNlbGwpOgorCiAyMDExLTEwLTA1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3
ZWJraXQub3JnPgogCiAgICAgICAgIEdldCByaWQgb2YgcG9zaXhUaHJlYWQgaW4gTWFjaGluZVN0
YWNrTWFya2VyOjpUaHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVu
dHMuY3BwCmluZGV4IGY1M2I5YmRjYjZiODgxMjhhNjEzY2E1ZGU1MzNjODU2ZmNkYWI0M2MuLmVm
YTZhN2E2N2Q0Y2VlZjQ2M2E0OTM2NjY1NjA3Y2U3MGUzNjFjMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmNwcApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChBcmd1bWVudHMpOwogCi1jb25z
dCBDbGFzc0luZm8gQXJndW1lbnRzOjpzX2luZm8gPSB7ICJBcmd1bWVudHMiLCAmSlNOb25GaW5h
bE9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEFyZ3VtZW50cykgfTsK
K2NvbnN0IENsYXNzSW5mbyBBcmd1bWVudHM6OnNfaW5mbyA9IHsgIkFyZ3VtZW50cyIsICZKU05v
bkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoQXJndW1lbnRz
KSwgc2l6ZW9mKEFyZ3VtZW50cykgfTsKIAogQXJndW1lbnRzOjp+QXJndW1lbnRzKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggNDUzOGNiODQzOTQ4NDM1YmZjNmQ3ZmJmNjljZGI0YWY1YzRkNDhiOS4uOWJhNTI5MTM3
NzliNmMzODQ0ODI4YzA3MjNjYzk5ZDRiMmJlNmE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKQEAgLTQxLDcgKzQxLDcgQEAg
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlDb25zdHJ1Y3RvcklzQXJy
YXkoRXhlY1N0YXRlKik7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jb25zdCBDbGFzc0luZm8gQXJy
YXlDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6
c19pbmZvLCAwLCBFeGVjU3RhdGU6OmFycmF5Q29uc3RydWN0b3JUYWJsZSwgQ1JFQVRFX01FVEhP
RF9UQUJMRShBcnJheUNvbnN0cnVjdG9yKSB9OworY29uc3QgQ2xhc3NJbmZvIEFycmF5Q29uc3Ry
dWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywg
MCwgRXhlY1N0YXRlOjphcnJheUNvbnN0cnVjdG9yVGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUo
QXJyYXlDb25zdHJ1Y3RvciksIHNpemVvZihBcnJheUNvbnN0cnVjdG9yKSB9OwogCiAvKiBTb3Vy
Y2UgZm9yIEFycmF5Q29uc3RydWN0b3IubHV0LmgKIEBiZWdpbiBhcnJheUNvbnN0cnVjdG9yVGFi
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNw
cAppbmRleCBkNGI5MzM0ZjU4Y2FkOWI0NjQ2ZTJkNmZlYzIzZTBlNTYwNjI5MGI2Li4yMWMyNTk2
MjRkZmQwNDRhNGVhODg2M2NmMGQ0NDIzYWU4MTliZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC04NSw3ICs4NSw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc051bWVyaWNDb21wYXJlRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVj
LCBDYWxsVHlwZSBjYWxsVHlwZSwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IEFycmF5UHJvdG90eXBlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotY29uc3QgQ2xh
c3NJbmZvIEFycmF5UHJvdG90eXBlOjpzX2luZm8gPSB7IkFycmF5IiwgJkpTQXJyYXk6OnNfaW5m
bywgMCwgRXhlY1N0YXRlOjphcnJheVByb3RvdHlwZVRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KEFycmF5UHJvdG90eXBlKX07Citjb25zdCBDbGFzc0luZm8gQXJyYXlQcm90b3R5cGU6OnNfaW5m
byA9IHsiQXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCBFeGVjU3RhdGU6OmFycmF5UHJvdG90
eXBlVGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUoQXJyYXlQcm90b3R5cGUpLCBzaXplb2YoQXJy
YXlQcm90b3R5cGUpfTsKIAogLyogU291cmNlIGZvciBBcnJheVByb3RvdHlwZS5sdXQuaAogQGJl
Z2luIGFycmF5UHJvdG90eXBlVGFibGUgMTYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCmluZGV4IDdjYmRlYjM2OGU2ZTdmZTI2
NzdhZGVjMGU2Y2Y1MTBlZjMyNjExMjAuLjJkNzQyM2EyYzQyZmE3YTY0OTc1Mjc5ZmQxYTJmNjE2
ODE4YThlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xl
YW5Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9v
bGVhbkNvbnN0cnVjdG9yLmNwcApAQCAtMjgsNyArMjgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
QVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChCb29sZWFuQ29uc3RydWN0b3IpOwogCi1jb25zdCBD
bGFzc0luZm8gQm9vbGVhbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNl
OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoQm9vbGVhbkNvbnN0cnVjdG9yKSB9
OworY29uc3QgQ2xhc3NJbmZvIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rp
b24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEJvb2xlYW5Db25z
dHJ1Y3RvciksIHNpemVvZihCb29sZWFuQ29uc3RydWN0b3IpIH07CiAKIEJvb2xlYW5Db25zdHJ1
Y3Rvcjo6Qm9vbGVhbkNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSW50ZXJuYWxGdW5jdGlvbihnbG9iYWxPYmplY3Qs
IHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9i
amVjdC5jcHAKaW5kZXggNWE0NDljMDYzOTM3NTc1MjUzODEyMWE5MTQ2OGIxNzk1NTc4MjI3My4u
OWM0OTViYTk1YmEzNWI3NjEwZmI2MTRhZTY5ZjVlNWY2ZmNjMjMzNSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbk9iamVjdC5jcHAKQEAgLTI1LDcgKzI1LDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoQm9vbGVhbk9i
amVjdCk7CiAKLWNvbnN0IENsYXNzSW5mbyBCb29sZWFuT2JqZWN0OjpzX2luZm8gPSB7ICJCb29s
ZWFuIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KEJvb2xlYW5PYmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gQm9vbGVhbk9iamVjdDo6c19pbmZv
ID0geyAiQm9vbGVhbiIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShCb29sZWFuT2JqZWN0KSwgc2l6ZW9mKEJvb2xlYW5PYmplY3QpIH07CiAKIEJv
b2xlYW5PYmplY3Q6OkJvb2xlYW5PYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1
Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Cb29sZWFu
UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90
b3R5cGUuY3BwCmluZGV4IGJiOTMwNmQ5YzgxNGFiNWJmNGI1NmRmMjQ4YjI2NzcyNDVlNzAwOTAu
LmE3MjVkMjdlNDk0NWZhMTRmNjI5ZWVjYjEyZjE1OTM1OGM3MmJjYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Qcm90b3R5cGUuY3BwCkBAIC0zOCw3
ICszOCw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGJvb2xlYW5Qcm90
b0Z1bmNWYWx1ZU9mKEV4ZWNTdGF0ZSopOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotY29uc3QgQ2xh
c3NJbmZvIEJvb2xlYW5Qcm90b3R5cGU6OnNfaW5mbyA9IHsgIkJvb2xlYW4iLCAmQm9vbGVhbk9i
amVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6OmJvb2xlYW5Qcm90b3R5cGVUYWJsZSwgQ1JFQVRF
X01FVEhPRF9UQUJMRShCb29sZWFuUHJvdG90eXBlKSB9OworY29uc3QgQ2xhc3NJbmZvIEJvb2xl
YW5Qcm90b3R5cGU6OnNfaW5mbyA9IHsgIkJvb2xlYW4iLCAmQm9vbGVhbk9iamVjdDo6c19pbmZv
LCAwLCBFeGVjU3RhdGU6OmJvb2xlYW5Qcm90b3R5cGVUYWJsZSwgQ1JFQVRFX01FVEhPRF9UQUJM
RShCb29sZWFuUHJvdG90eXBlKSwgc2l6ZW9mKEJvb2xlYW5Qcm90b3R5cGUpIH07CiAKIC8qIFNv
dXJjZSBmb3IgQm9vbGVhblByb3RvdHlwZS5sdXQuaAogQGJlZ2luIGJvb2xlYW5Qcm90b3R5cGVU
YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZv
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaAppbmRleCAwOGQ5
YzYwYzc1MDZmNzUxMDU2NmNlYmZmZWMzY2I5YWMyNTcyZDMwLi4zNmQ3MTRjNmZmOWQ3YjQ0ZGMy
NjJkZTkxYjY1OWE0ZTBkNDg3MGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9DbGFzc0luZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bGFzc0luZm8uaApAQCAtNzksNiArNzksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgY29u
c3QgQ2xhc3NQcm9wSGFzaFRhYmxlR2V0dGVyRnVuY3Rpb24gY2xhc3NQcm9wSGFzaFRhYmxlR2V0
dGVyRnVuY3Rpb247CiAKICAgICAgICAgTWV0aG9kVGFibGUgbWV0aG9kVGFibGU7CisgCisgICAg
ICAgIHNpemVfdCBjZWxsU2l6ZTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCmluZGV4
IDNlYTE2MzdkYmQ1MWNmYjE4ZWYwYzcwZGY4NTI4M2M4ZjM5YjA5NGMuLjg0N2M2MGUxYjU2YjU0
NzY3Y2YwMTJiMzZhZDgxMjYwNDBiOGU5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcApAQCAtNjEsNyArNjEsNyBAQCBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlVVRDKEV4ZWNTdGF0ZSopOwogCiBuYW1l
c3BhY2UgSlNDIHsKIAotY29uc3QgQ2xhc3NJbmZvIERhdGVDb25zdHJ1Y3Rvcjo6c19pbmZvID0g
eyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbmZvLCAwLCBFeGVjU3RhdGU6OmRh
dGVDb25zdHJ1Y3RvclRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERhdGVDb25zdHJ1Y3Rvcikg
fTsKK2NvbnN0IENsYXNzSW5mbyBEYXRlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9u
IiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpkYXRlQ29uc3RydWN0
b3JUYWJsZSwgQ1JFQVRFX01FVEhPRF9UQUJMRShEYXRlQ29uc3RydWN0b3IpLCBzaXplb2YoRGF0
ZUNvbnN0cnVjdG9yKSB9OwogCiAvKiBTb3VyY2UgZm9yIERhdGVDb25zdHJ1Y3Rvci5sdXQuaAog
QGJlZ2luIGRhdGVDb25zdHJ1Y3RvclRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRGF0ZUluc3RhbmNlLmNwcAppbmRleCBlMDlhOWU4N2VjNzg0YTBlZDI2NDY1YWVhMzUy
N2UwZjZjOTZiNzBjLi44Yzc2NmJmNzA2NTkxN2Q0NWRiOGNmNTJjODhmNmNiMjJjNGRjZjAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5jZS5jcHAKQEAg
LTMyLDcgKzMyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LWNvbnN0IENsYXNzSW5mbyBEYXRlSW5zdGFuY2U6OnNfaW5mbyA9IHsiRGF0ZSIsICZKU1dyYXBw
ZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShEYXRlSW5zdGFuY2Up
fTsKK2NvbnN0IENsYXNzSW5mbyBEYXRlSW5zdGFuY2U6OnNfaW5mbyA9IHsiRGF0ZSIsICZKU1dy
YXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShEYXRlSW5zdGFu
Y2UpLCBzaXplb2YoRGF0ZUluc3RhbmNlKX07CiAKIERhdGVJbnN0YW5jZTo6RGF0ZUluc3RhbmNl
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBKU1dyYXBwZXJP
YmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDlmZjQ0ZjI4NjgwMzQwMGZl
ZjM2MjhiYmUzNWE1OWUwNzA2ZDIwMjAuLmIyZWFmNGE4Y2MyOTdkOTdmYTFiMGMwMjNjYjQ4MGVh
MTJhZDA2MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90
b3R5cGUuY3BwCkBAIC0zNzUsNyArMzc1LDcgQEAgc3RhdGljIGJvb2wgZmlsbFN0cnVjdHVyZXNV
c2luZ0RhdGVBcmdzKEV4ZWNTdGF0ZSAqZXhlYywgaW50IG1heEFyZ3MsIGRvdWJsZSAqbXMKICAg
ICByZXR1cm4gb2s7CiB9CiAKLWNvbnN0IENsYXNzSW5mbyBEYXRlUHJvdG90eXBlOjpzX2luZm8g
PSB7IkRhdGUiLCAmRGF0ZUluc3RhbmNlOjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6ZGF0ZVRhYmxl
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKERhdGVQcm90b3R5cGUpfTsKK2NvbnN0IENsYXNzSW5mbyBE
YXRlUHJvdG90eXBlOjpzX2luZm8gPSB7IkRhdGUiLCAmRGF0ZUluc3RhbmNlOjpzX2luZm8sIDAs
IEV4ZWNTdGF0ZTo6ZGF0ZVRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERhdGVQcm90b3R5cGUp
LCBzaXplb2YoRGF0ZVByb3RvdHlwZSl9OwogCiAvKiBTb3VyY2UgZm9yIERhdGVQcm90b3R5cGUu
bHV0LmgKIEBiZWdpbiBkYXRlVGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
LmNwcAppbmRleCAwZWQ3MDc1ODkzZDE2MjRjNTBlM2E0ZDNlNzdlMjg4OWI1ZWFiNDIyLi5mMDU1
ZjRjNDIyMTZjYzBiMWRhMWM4M2E3NGQ2NWRkNjc3MDZiMjZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3IuY3BwCkBAIC0yMjUsNyArMjI1LDcgQEAgcHJpdmF0ZToKIAogQVNT
RVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pOwogCi1j
b25zdCBDbGFzc0luZm8gU3RyaWN0TW9kZVR5cGVFcnJvckZ1bmN0aW9uOjpzX2luZm8gPSB7ICJG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RyaWN0
TW9kZVR5cGVFcnJvckZ1bmN0aW9uKSB9OworY29uc3QgQ2xhc3NJbmZvIFN0cmljdE1vZGVUeXBl
RXJyb3JGdW5jdGlvbjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cmljdE1vZGVUeXBlRXJyb3JGdW5jdGlvbiksIHNpemVv
ZihTdHJpY3RNb2RlVHlwZUVycm9yRnVuY3Rpb24pIH07CiAKIEpTVmFsdWUgY3JlYXRlVHlwZUVy
cm9yRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBVU3RyaW5nJiBtZXNzYWdlKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNw
cAppbmRleCA3YTAwMmJhMTMzN2IwMmZhOWMzMzAzMzFhZGVkMDM0OTAyYThhNWUwLi43NzNlZjBm
NTBkZmYyOTFhYzJmMDcxYTAyNTk5NTAxMjFhYWNkMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcApAQCAtMjksNyArMjksNyBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChFcnJvckNvbnN0
cnVjdG9yKTsKIAotY29uc3QgQ2xhc3NJbmZvIEVycm9yQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsg
IkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShFcnJv
ckNvbnN0cnVjdG9yKSB9OworY29uc3QgQ2xhc3NJbmZvIEVycm9yQ29uc3RydWN0b3I6OnNfaW5m
byA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShFcnJvckNvbnN0cnVjdG9yKSwgc2l6ZW9mKEVycm9yQ29uc3RydWN0b3IpIH07CiAKIEVycm9y
Q29uc3RydWN0b3I6OkVycm9yQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgOiBJbnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JJbnN0YW5jZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckluc3RhbmNlLmNwcAppbmRleCA4M2FiZTVjMjYwMDY1MDYwNTdjMjAzM2Y2Y2JhMjg4MjJlZmRk
ZWM3Li43MTA5NDA4YjA5ZmZkZmNmZThmOTdiOWRkZWE4MWNhYjYyYzNhM2U2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcApAQCAtMjMsNyAr
MjMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotY29uc3QgQ2xhc3NJbmZvIEVycm9ySW5zdGFu
Y2U6OnNfaW5mbyA9IHsgIkVycm9yIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShFcnJvckluc3RhbmNlKSB9OworY29uc3QgQ2xhc3NJbmZvIEVy
cm9ySW5zdGFuY2U6OnNfaW5mbyA9IHsgIkVycm9yIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5m
bywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShFcnJvckluc3RhbmNlKSwgc2l6ZW9mKEVycm9y
SW5zdGFuY2UpIH07CiAKIEVycm9ySW5zdGFuY2U6OkVycm9ySW5zdGFuY2UoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTTm9uRmluYWxPYmpl
Y3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JQcm90b3R5cGUuY3BwCmluZGV4IDllYTEyOTA2NGMwNmJmZTI0OTI1OGFkZjgy
ZTFkNDgzMzI1MGQ3ZmEuLjQ5ODVkZTlkNjMxNTU5YTU0NjdmZDZjMGNiZGUzZDA2ZTlkMjVkZmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yUHJvdG90eXBl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZXJyb3JQcm90b0Z1bmNUb1N0cmluZyhFeGVjU3RhdGUqKTsKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LWNvbnN0IENsYXNzSW5mbyBFcnJvclByb3RvdHlwZTo6c19pbmZvID0geyAiRXJyb3IiLCAmRXJy
b3JJbnN0YW5jZTo6c19pbmZvLCAwLCBFeGVjU3RhdGU6OmVycm9yUHJvdG90eXBlVGFibGUsIENS
RUFURV9NRVRIT0RfVEFCTEUoRXJyb3JQcm90b3R5cGUpIH07Citjb25zdCBDbGFzc0luZm8gRXJy
b3JQcm90b3R5cGU6OnNfaW5mbyA9IHsgIkVycm9yIiwgJkVycm9ySW5zdGFuY2U6OnNfaW5mbywg
MCwgRXhlY1N0YXRlOjplcnJvclByb3RvdHlwZVRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVy
cm9yUHJvdG90eXBlKSwgc2l6ZW9mKEVycm9yUHJvdG90eXBlKSB9OwogCiAvKiBTb3VyY2UgZm9y
IEVycm9yUHJvdG90eXBlLmx1dC5oCiBAYmVnaW4gZXJyb3JQcm90b3R5cGVUYWJsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcAppbmRl
eCAxMTA2NGQxMjhkMzU1OGY3ZGM2OTgxZjI0YTg5MjY5ZmRlZmFmM2U2Li5jNTZhOTNiYWMwMGYz
OTY2ZWU0ZjcyMGI4M2NlMjgzYjRkMGI2NWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcApAQCAtNDEsNyArNDEsNyBAQAogCiBu
YW1lc3BhY2UgSlNDIHsKIAotY29uc3QgQ2xhc3NJbmZvIEludGVycnVwdGVkRXhlY3V0aW9uRXJy
b3I6OnNfaW5mbyA9IHsgIkludGVycnVwdGVkRXhlY3V0aW9uRXJyb3IiLCAmQmFzZTo6c19pbmZv
LCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEludGVycnVwdGVkRXhlY3V0aW9uRXJyb3IpIH07
Citjb25zdCBDbGFzc0luZm8gSW50ZXJydXB0ZWRFeGVjdXRpb25FcnJvcjo6c19pbmZvID0geyAi
SW50ZXJydXB0ZWRFeGVjdXRpb25FcnJvciIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSW50ZXJydXB0ZWRFeGVjdXRpb25FcnJvciksIHNpemVvZihJbnRlcnJ1cHRl
ZEV4ZWN1dGlvbkVycm9yKSB9OwogCiBVU3RyaW5nIEludGVycnVwdGVkRXhlY3V0aW9uRXJyb3I6
OnRvU3RyaW5nKEV4ZWNTdGF0ZSopIGNvbnN0CiB7CkBAIC02NCw3ICs2NCw3IEBAIGJvb2wgaXNJ
bnRlcnJ1cHRlZEV4ZWN1dGlvbkV4Y2VwdGlvbihKU1ZhbHVlIHZhbHVlKQogfQogCiAKLWNvbnN0
IENsYXNzSW5mbyBUZXJtaW5hdGVkRXhlY3V0aW9uRXJyb3I6OnNfaW5mbyA9IHsgIlRlcm1pbmF0
ZWRFeGVjdXRpb25FcnJvciIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoVGVybWluYXRlZEV4ZWN1dGlvbkVycm9yKSB9OworY29uc3QgQ2xhc3NJbmZvIFRlcm1pbmF0
ZWRFeGVjdXRpb25FcnJvcjo6c19pbmZvID0geyAiVGVybWluYXRlZEV4ZWN1dGlvbkVycm9yIiwg
JkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShUZXJtaW5hdGVkRXhlY3V0
aW9uRXJyb3IpLCBzaXplb2YoVGVybWluYXRlZEV4ZWN1dGlvbkVycm9yKSB9OwogCiBVU3RyaW5n
IFRlcm1pbmF0ZWRFeGVjdXRpb25FcnJvcjo6dG9TdHJpbmcoRXhlY1N0YXRlKikgY29uc3QKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5kZXggM2Ji
YWUxYjM4MDE4OTdkNWU0MmQ1ZmFiZGI5YTA5NjJkMzU5NDIzZC4uYWUzMGI0NTk3ODlmYThlZjg1
OGEyNTkxNDc3N2U5MDExZDA3MDM0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXhlY3V0YWJsZS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LWNvbnN0IENsYXNzSW5mbyBFeGVjdXRhYmxlQmFzZTo6c19pbmZvID0geyAiRXhlY3V0YWJsZSIs
IDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRXhlY3V0YWJsZUJhc2UpIH07Citjb25zdCBD
bGFzc0luZm8gRXhlY3V0YWJsZUJhc2U6OnNfaW5mbyA9IHsgIkV4ZWN1dGFibGUiLCAwLCAwLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEV4ZWN1dGFibGVCYXNlKSwgc2l6ZW9mKEV4ZWN1dGFibGVC
YXNlKSB9OwogCiB2b2lkIEV4ZWN1dGFibGVCYXNlOjpjbGVhckNvZGUoKQogewpAQCAtNzEsNyAr
NzEsNyBAQCBXZWFrSGFuZGxlT3duZXIqIEV4ZWN1dGFibGVCYXNlOjpleGVjdXRhYmxlRmluYWxp
emVyKCkKICAgICByZXR1cm4gJmZpbmFsaXplcjsKIH0KIAotY29uc3QgQ2xhc3NJbmZvIE5hdGl2
ZUV4ZWN1dGFibGU6OnNfaW5mbyA9IHsgIk5hdGl2ZUV4ZWN1dGFibGUiLCAmRXhlY3V0YWJsZUJh
c2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShOYXRpdmVFeGVjdXRhYmxlKSB9
OworY29uc3QgQ2xhc3NJbmZvIE5hdGl2ZUV4ZWN1dGFibGU6OnNfaW5mbyA9IHsgIk5hdGl2ZUV4
ZWN1dGFibGUiLCAmRXhlY3V0YWJsZUJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShOYXRpdmVFeGVjdXRhYmxlKSwgc2l6ZW9mKE5hdGl2ZUV4ZWN1dGFibGUpIH07CiAKIE5h
dGl2ZUV4ZWN1dGFibGU6On5OYXRpdmVFeGVjdXRhYmxlKCkKIHsKQEAgLTk4LDkgKzk4LDkgQEAg
c3RhdGljIHZvaWQgamV0dGlzb25Db2RlQmxvY2soSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBP
d25QdHI8VD4mIGNvZGVCbG9jaykKIH0KICNlbmRpZgogCi1jb25zdCBDbGFzc0luZm8gU2NyaXB0
RXhlY3V0YWJsZTo6c19pbmZvID0geyAiU2NyaXB0RXhlY3V0YWJsZSIsICZFeGVjdXRhYmxlQmFz
ZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFNjcmlwdEV4ZWN1dGFibGUpIH07
Citjb25zdCBDbGFzc0luZm8gU2NyaXB0RXhlY3V0YWJsZTo6c19pbmZvID0geyAiU2NyaXB0RXhl
Y3V0YWJsZSIsICZFeGVjdXRhYmxlQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKFNjcmlwdEV4ZWN1dGFibGUpLCBzaXplb2YoU2NyaXB0RXhlY3V0YWJsZSkgfTsKIAotY29u
c3QgQ2xhc3NJbmZvIEV2YWxFeGVjdXRhYmxlOjpzX2luZm8gPSB7ICJFdmFsRXhlY3V0YWJsZSIs
ICZTY3JpcHRFeGVjdXRhYmxlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRXZh
bEV4ZWN1dGFibGUpIH07Citjb25zdCBDbGFzc0luZm8gRXZhbEV4ZWN1dGFibGU6OnNfaW5mbyA9
IHsgIkV2YWxFeGVjdXRhYmxlIiwgJlNjcmlwdEV4ZWN1dGFibGU6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShFdmFsRXhlY3V0YWJsZSksIHNpemVvZihFdmFsRXhlY3V0YWJsZSkg
fTsKIAogRXZhbEV4ZWN1dGFibGU6OkV2YWxFeGVjdXRhYmxlKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgU291cmNlQ29kZSYgc291cmNlLCBib29sIGluU3RyaWN0Q29udGV4dCkKICAgICA6IFNjcmlw
dEV4ZWN1dGFibGUoZXhlYy0+Z2xvYmFsRGF0YSgpLmV2YWxFeGVjdXRhYmxlU3RydWN0dXJlLmdl
dCgpLCBleGVjLCBzb3VyY2UsIGluU3RyaWN0Q29udGV4dCkKQEAgLTExMSw3ICsxMTEsNyBAQCBF
dmFsRXhlY3V0YWJsZTo6fkV2YWxFeGVjdXRhYmxlKCkKIHsKIH0KIAotY29uc3QgQ2xhc3NJbmZv
IFByb2dyYW1FeGVjdXRhYmxlOjpzX2luZm8gPSB7ICJQcm9ncmFtRXhlY3V0YWJsZSIsICZTY3Jp
cHRFeGVjdXRhYmxlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUHJvZ3JhbUV4
ZWN1dGFibGUpIH07Citjb25zdCBDbGFzc0luZm8gUHJvZ3JhbUV4ZWN1dGFibGU6OnNfaW5mbyA9
IHsgIlByb2dyYW1FeGVjdXRhYmxlIiwgJlNjcmlwdEV4ZWN1dGFibGU6OnNfaW5mbywgMCwgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShQcm9ncmFtRXhlY3V0YWJsZSksIHNpemVvZihQcm9ncmFtRXhl
Y3V0YWJsZSkgfTsKIAogUHJvZ3JhbUV4ZWN1dGFibGU6OlByb2dyYW1FeGVjdXRhYmxlKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgU291cmNlQ29kZSYgc291cmNlKQogICAgIDogU2NyaXB0RXhlY3V0
YWJsZShleGVjLT5nbG9iYWxEYXRhKCkucHJvZ3JhbUV4ZWN1dGFibGVTdHJ1Y3R1cmUuZ2V0KCks
IGV4ZWMsIHNvdXJjZSwgZmFsc2UpCkBAIC0xMjIsNyArMTIyLDcgQEAgUHJvZ3JhbUV4ZWN1dGFi
bGU6On5Qcm9ncmFtRXhlY3V0YWJsZSgpCiB7CiB9CiAKLWNvbnN0IENsYXNzSW5mbyBGdW5jdGlv
bkV4ZWN1dGFibGU6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uRXhlY3V0YWJsZSIsICZTY3JpcHRFeGVj
dXRhYmxlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25FeGVjdXRh
YmxlKSB9OworY29uc3QgQ2xhc3NJbmZvIEZ1bmN0aW9uRXhlY3V0YWJsZTo6c19pbmZvID0geyAi
RnVuY3Rpb25FeGVjdXRhYmxlIiwgJlNjcmlwdEV4ZWN1dGFibGU6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShGdW5jdGlvbkV4ZWN1dGFibGUpLCBzaXplb2YoRnVuY3Rpb25FeGVj
dXRhYmxlKSB9OwogCiBGdW5jdGlvbkV4ZWN1dGFibGU6OkZ1bmN0aW9uRXhlY3V0YWJsZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgYm9vbCBmb3JjZVVzZXNBcmd1bWVudHMsIEZ1bmN0aW9uUGFyYW1ldGVy
cyogcGFyYW1ldGVycywgYm9vbCBpblN0cmljdENvbnRleHQpCiAgICAgOiBTY3JpcHRFeGVjdXRh
YmxlKGdsb2JhbERhdGEuZnVuY3Rpb25FeGVjdXRhYmxlU3RydWN0dXJlLmdldCgpLCBnbG9iYWxE
YXRhLCBzb3VyY2UsIGluU3RyaWN0Q29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggNzY3ODIyNDY2ZmE3
MTQ5MmQ3Nzk3MTg5MTc0MGJiNzU4MjJlNzJjMC4uOTEzODM3NzBjNTM5NTBhYmQ4ZDY2MjVhNGQ3
MGI5ZjU5ZGM2ZmRhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoRnVuY3Rpb25Db25zdHJ1Y3Rvcik7CiAK
LWNvbnN0IENsYXNzSW5mbyBGdW5jdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlv
biIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25Db25z
dHJ1Y3RvcikgfTsKK2NvbnN0IENsYXNzSW5mbyBGdW5jdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8g
PSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
RnVuY3Rpb25Db25zdHJ1Y3RvciksIHNpemVvZihGdW5jdGlvbkNvbnN0cnVjdG9yKSB9OwogCiBG
dW5jdGlvbkNvbnN0cnVjdG9yOjpGdW5jdGlvbkNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogSW50ZXJuYWxGdW5jdGlv
bihnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmNwcAppbmRleCBjMDJlNjc1ZTRmYzY1NzRiOTIw
ODQ5MmQyYWIzYmE3ZTQ4N2U4NGZiLi5kZmYxZDZmOGU2NTgyZTAyYWFmY2JlNmNkY2QxMDA3M2Y4
ZWQ5MjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25Qcm90b3R5cGUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJvdG9GdW5jQXBwbHkoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3RvRnVuY0NhbGwoRXhlY1N0
YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblByb3Rv
RnVuY0JpbmQoRXhlY1N0YXRlKik7CiAKLWNvbnN0IENsYXNzSW5mbyBGdW5jdGlvblByb3RvdHlw
ZTo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEZ1bmN0aW9uUHJvdG90eXBlKSB9OworY29uc3QgQ2xhc3NJbmZvIEZ1bmN0aW9u
UHJvdG90eXBlOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoRnVuY3Rpb25Qcm90b3R5cGUpLCBzaXplb2YoRnVuY3Rpb25Qcm90
b3R5cGUpIH07CiAKIEZ1bmN0aW9uUHJvdG90eXBlOjpGdW5jdGlvblByb3RvdHlwZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEludGVy
bmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9HZXR0ZXJTZXR0ZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR2V0dGVyU2V0dGVyLmNwcAppbmRleCBiZWY5ODdmNmE3NzE2Y2E2Yzli
MWNkMGUzNjE3Y2ViZDIxMzFiMjQ1Li5hZThiZWFkY2M0Yjk5N2ZiZDYwNzRmZWQ2NTNjZjg2NDNk
YWUyMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HZXR0ZXJT
ZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dldHRlclNldHRl
ci5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IENsYXNz
SW5mbyBHZXR0ZXJTZXR0ZXI6OnNfaW5mbyA9IHsgIkdldHRlclNldHRlciIsIDAsIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoR2V0dGVyU2V0dGVyKSB9OworY29uc3QgQ2xhc3NJbmZvIEdldHRl
clNldHRlcjo6c19pbmZvID0geyAiR2V0dGVyU2V0dGVyIiwgMCwgMCwgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShHZXR0ZXJTZXR0ZXIpLCBzaXplb2YoR2V0dGVyU2V0dGVyKSB9OwogCiB2b2lkIEdl
dHRlclNldHRlcjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNp
dG9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmNwcAppbmRleCAxN2M3MjY1Yzc4MTdiZDg3NmVlZjhmOTEzZjA3YzkxYzVhMjBhZDc3
Li5iMTg1MTJhNGQzNGI1OTgxZmFmMDU5ODBmMjY0MjNkMjE4NWI3MWJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcApAQCAtMzQs
NyArMzQsNyBAQCB2b2lkIEludGVybmFsRnVuY3Rpb246OnZ0YWJsZUFuY2hvcigpIHt9CiAKIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSW50ZXJuYWxGdW5jdGlvbik7CiAKLWNvbnN0IENsYXNz
SW5mbyBJbnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZKU05vbkZpbmFs
T2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSW50ZXJuYWxGdW5jdGlv
bikgfTsKK2NvbnN0IENsYXNzSW5mbyBJbnRlcm5hbEZ1bmN0aW9uOjpzX2luZm8gPSB7ICJGdW5j
dGlvbiIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoSW50ZXJuYWxGdW5jdGlvbiksIHNpemVvZihJbnRlcm5hbEZ1bmN0aW9uKSB9OwogCiBJbnRl
cm5hbEZ1bmN0aW9uOjpJbnRlcm5hbEZ1bmN0aW9uKFZQdHJTdGVhbGluZ0hhY2tUeXBlKQogICAg
IDogSlNOb25GaW5hbE9iamVjdChWUHRyU3RlYWxpbmdIYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBUElWYWx1ZVdyYXBwZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBUElWYWx1ZVdyYXBwZXIuY3BwCmluZGV4IGIxYjMzZjVk
N2JhYTRlYzlkNmU5ZjRlOTMzZDc0MjEwOWM4NDQ0ZDMuLmVlMGIwZWRiMTA2ODljNzdlOWE2MWY3
ZWIzMmQwODUxN2I5OTE1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQVBJVmFsdWVXcmFwcGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FQSVZhbHVlV3JhcHBlci5jcHAKQEAgLTI4LDYgKzI4LDYgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLWNvbnN0IENsYXNzSW5mbyBKU0FQSVZhbHVlV3JhcHBlcjo6c19pbmZvID0geyAi
QVBJIFdyYXBwZXIiLCAwLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQVBJVmFsdWVXcmFw
cGVyKSB9OworY29uc3QgQ2xhc3NJbmZvIEpTQVBJVmFsdWVXcmFwcGVyOjpzX2luZm8gPSB7ICJB
UEkgV3JhcHBlciIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBUElWYWx1ZVdyYXBw
ZXIpLCBzaXplb2YoSlNBUElWYWx1ZVdyYXBwZXIpIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKaW5kZXgg
ODIyNjlhNTU1YWEyNWY3MmNjMTVjMjc1N2E3MDYwN2RmYzgxODdhYi4uYjQ4YmNkNTVmMDg1OWFl
MTY0ZTc0NDdmMDcwMWU5NTU0ODAwNjgzYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FjdGl2YXRpb24uY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTQWN0aXZhdGlvbik7CiAKLWNvbnN0IENs
YXNzSW5mbyBKU0FjdGl2YXRpb246OnNfaW5mbyA9IHsgIkpTQWN0aXZhdGlvbiIsICZCYXNlOjpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBY3RpdmF0aW9uKSB9OworY29uc3Qg
Q2xhc3NJbmZvIEpTQWN0aXZhdGlvbjo6c19pbmZvID0geyAiSlNBY3RpdmF0aW9uIiwgJkJhc2U6
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0FjdGl2YXRpb24pLCBzaXplb2Yo
SlNBY3RpdmF0aW9uKSB9OwogCiBKU0FjdGl2YXRpb246OkpTQWN0aXZhdGlvbihDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUpCiAgICAg
OiBCYXNlKGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5h
Y3RpdmF0aW9uU3RydWN0dXJlLmdldCgpLCBmdW5jdGlvbkV4ZWN1dGFibGUtPnN5bWJvbFRhYmxl
KCksIGNhbGxGcmFtZS0+cmVnaXN0ZXJzKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCmluZGV4IDljZDA3OTVmMDZlYWY1MGFjZTk0MWE2YTIyMTMzZGRiMTRjMzg4
MTguLjk1OTE5ODcxNjcwNjQ4YjJjZTMzYmQ0NDMxZTQzYzZjY2FkYzc1OGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCkBAIC05Miw3ICs5Miw3IEBAIEFTU0VS
VF9DTEFTU19GSVRTX0lOX0NFTEwoSlNBcnJheSk7CiAvLyBhcyBsb25nIGFzIGl0IGlzIDEvOCBm
dWxsLiBJZiBtb3JlIHNwYXJzZSB0aGFuIHRoYXQsIHdlIHVzZSBhIG1hcC4KIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBtaW5EZW5zaXR5TXVsdGlwbGllciA9IDg7CiAKLWNvbnN0IENsYXNzSW5mbyBK
U0FycmF5OjpzX2luZm8gPSB7IkFycmF5IiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0FycmF5KX07Citjb25zdCBDbGFzc0luZm8gSlNBcnJh
eTo6c19pbmZvID0geyJBcnJheSIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNBcnJheSksIHNpemVvZihKU0FycmF5KX07CiAKIC8vIFdlIGtl
ZXAgdHJhY2sgb2YgdGhlIHNpemUgb2YgdGhlIGxhc3QgYXJyYXkgYWZ0ZXIgaXQgd2FzIGdyb3du
LiAgV2UgdXNlIHRoaXMKIC8vIGFzIGEgc2ltcGxlIGhldXJpc3RpYyBmb3IgYXMgdGhlIHZhbHVl
IHRvIGdyb3cgdGhlIG5leHQgYXJyYXkgZnJvbSBzaXplIDAuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAppbmRleCBmZDMxYmNkZDYzNjU0
Njc4MDA1OGYyNmVmNTU5ZWI0NDgyMGIyZGU5Li43ZTlhZTk1YjFjNDRiMDY5MjY1NDI1N2QzZjhh
ZDMxN2Q4NmY5NjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0JvdW5kRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Qm91bmRGdW5jdGlvbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFT
U0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNCb3VuZEZ1bmN0aW9uKTsKIAotY29uc3QgQ2xhc3NJ
bmZvIEpTQm91bmRGdW5jdGlvbjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZv
LCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQm91bmRGdW5jdGlvbikgfTsKK2NvbnN0IENs
YXNzSW5mbyBKU0JvdW5kRnVuY3Rpb246OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkJhc2U6OnNf
aW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0JvdW5kRnVuY3Rpb24pLCBzaXplb2Yo
SlNCb3VuZEZ1bmN0aW9uKSB9OwogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGJvdW5k
RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSogZXhlYykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcAppbmRleCA1Y2VlODNjNTU4MGUwMTZmYmU4ZDhiYjVi
OWQwODg3ODk2NTI2MzhhLi5lNDEyZDgzZThiOTM3Y2I1YmQ0YTI4ZjgyODBmMjUxNTI0NTMwNWI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwCkBA
IC0zMyw3ICszMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci1jb25zdCBDbGFzc0luZm8gSlNCeXRlQXJyYXk6OnNfZGVmYXVsdEluZm8gPSB7ICJCeXRlQXJy
YXkiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQnl0ZUFycmF5
KSB9OworY29uc3QgQ2xhc3NJbmZvIEpTQnl0ZUFycmF5OjpzX2RlZmF1bHRJbmZvID0geyAiQnl0
ZUFycmF5IiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0J5dGVB
cnJheSksIHNpemVvZihKU0J5dGVBcnJheSkgfTsKIAogSlNCeXRlQXJyYXk6OkpTQnl0ZUFycmF5
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEJ5dGVBcnJheSogc3RvcmFn
ZSkKICAgICA6IEpTTm9uRmluYWxPYmplY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDk3OGY5OWM4MzgxNDZi
NTNhNTkxOTk3MTc0NzgwMDBiYWQwN2U3YzYuLjY0YWU0NDA0YWIyYTRiMDlmNzM1N2EzYzE0OGZm
ZjJhMjgxY2I2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q2VsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC02
Myw2ICs2Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGlzR2V0dGVyU2V0dGVy
KCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaW5oZXJpdHMoY29uc3QgQ2xhc3NJbmZvKikgY29uc3Q7
CiAgICAgICAgIGJvb2wgaXNBUElWYWx1ZVdyYXBwZXIoKSBjb25zdDsKKyAgICAgICAgc2l6ZV90
IGNlbGxTaXplKCkgY29uc3Q7CiAKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKSBjb25z
dDsKICAgICAgICAgdm9pZCBzZXRTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiwgU3RydWN0dXJlKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCmluZGV4IGZi
ZWRkZWQ4MWMyOTI4YWI1ZTBmMjU0ZmQxM2UwMTc1NDcwMzkxM2MuLmQzMGY2OTY1ZDhkNWQwYmUz
NmU1M2ExN2JjYjM0ZGMwMmZjMGZjMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uY3BwCkBAIC01MCw3ICs1MCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjKQog
CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTRnVuY3Rpb24pOwogCi1jb25zdCBDbGFzc0lu
Zm8gSlNGdW5jdGlvbjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRnVuY3Rpb24pIH07Citjb25zdCBDbGFzc0luZm8gSlNG
dW5jdGlvbjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEpTRnVuY3Rpb24pLCBzaXplb2YoSlNGdW5jdGlvbikgfTsKIAogYm9v
bCBKU0Z1bmN0aW9uOjppc0hvc3RGdW5jdGlvbk5vbklubGluZSgpIGNvbnN0CiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggOTk2
ZmMyOTIxMmE1MDg1Mjg2ZDVlMjIwNDVkNzMxOTI2Y2RhMTM0My4uZGNiMTU5YWNmZjI4ZWYxOTE5
ZDMzOTk0OTZjMTBiYWY4ZDc3YTc4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNzQsNyArNzQsNyBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotY29uc3QgQ2xhc3NJbmZvIEpTR2xvYmFsT2JqZWN0OjpzX2luZm8gPSB7ICJHbG9i
YWxPYmplY3QiLCAmSlNWYXJpYWJsZU9iamVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2Jh
bE9iamVjdFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTR2xvYmFsT2JqZWN0KSB9OworY29u
c3QgQ2xhc3NJbmZvIEpTR2xvYmFsT2JqZWN0OjpzX2luZm8gPSB7ICJHbG9iYWxPYmplY3QiLCAm
SlNWYXJpYWJsZU9iamVjdDo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Omdsb2JhbE9iamVjdFRhYmxl
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTR2xvYmFsT2JqZWN0KSwgc2l6ZW9mKEpTR2xvYmFsT2Jq
ZWN0KSB9OwogCiAvKiBTb3VyY2UgZm9yIEpTR2xvYmFsT2JqZWN0Lmx1dC5oCiBAYmVnaW4gZ2xv
YmFsT2JqZWN0VGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT05PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVj
dC5jcHAKaW5kZXggZjRlOGI4ZTEwYzk3MzU5NjYwMzc1MTcwNGZmMmNmMzhhMWY5YzJjNC4uZjg0
NjAwZGI3NGE5ZmY5Njg0NjlhODczOTMzZDU4OTYzYTdkNjAwNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKQEAgLTU4Nyw3ICs1ODcsNyBAQCBib29s
IFN0cmluZ2lmaWVyOjpIb2xkZXI6OmFwcGVuZE5leHRQcm9wZXJ0eShTdHJpbmdpZmllciYgc3Ry
aW5naWZpZXIsIFVTdHJpbmdCdQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
SlNPTk9iamVjdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1jb25zdCBDbGFz
c0luZm8gSlNPTk9iamVjdDo6c19pbmZvID0geyAiSlNPTiIsICZKU05vbkZpbmFsT2JqZWN0Ojpz
X2luZm8sIDAsIEV4ZWNTdGF0ZTo6anNvblRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTT05P
YmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gSlNPTk9iamVjdDo6c19pbmZvID0geyAiSlNPTiIs
ICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6anNvblRhYmxlLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEpTT05PYmplY3QpLCBzaXplb2YoSlNPTk9iamVjdCkgfTsKIAogLyog
U291cmNlIGZvciBKU09OT2JqZWN0Lmx1dC5oCiBAYmVnaW4ganNvblRhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggNjQ1ZDk1OTM2N2JmMDFhYzNl
YzU1YTJlYjEwMTA0Njk4N2UzZGQ4MC4uZGY4NDM1OTNhYTk0MGY1NmQ4MDNlZjIyZWIxZWYzZjY3
NTQ3YTc2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApA
QCAtNDcsNyArNDcsNyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTRmluYWxPYmplY3Qp
OwogCiBjb25zdCBjaGFyKiBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IgPSAi
QXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4iOwogCi1jb25zdCBDbGFz
c0luZm8gSlNPYmplY3Q6OnNfaW5mbyA9IHsgIk9iamVjdCIsIDAsIDAsIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNPYmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gSlNPYmplY3Q6OnNfaW5mbyA9
IHsgIk9iamVjdCIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNPYmplY3QpLCBzaXpl
b2YoSlNPYmplY3QpIH07CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFt
ZXMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgUHJvcGVydHlO
YW1lQXJyYXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKaW5kZXggYjNhNWE4ZGJmNmEyZWE2Zjk0
MWUyZGZkNjdhZjlhNGVjODJkODE4YS4uMmZlYWQzNWU1ODM2NTExYWRjZTllM2RlNWY2MzUxZmE2
OTdjMjE5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC00
ODEsNiArNDgxLDExIEBAIGlubGluZSBib29sIEpTQ2VsbDo6aW5oZXJpdHMoY29uc3QgQ2xhc3NJ
bmZvKiBpbmZvKSBjb25zdAogICAgIHJldHVybiBjbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKGlu
Zm8pOwogfQogCitpbmxpbmUgc2l6ZV90IEpTQ2VsbDo6Y2VsbFNpemUoKSBjb25zdAoreworICAg
IHJldHVybiBjbGFzc0luZm8oKS0+Y2VsbFNpemU7Cit9CisKIGlubGluZSBjb25zdCBNZXRob2RU
YWJsZSogSlNDZWxsOjptZXRob2RUYWJsZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuICZjbGFzc0lu
Zm8oKS0+bWV0aG9kVGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwCmluZGV4IGFiYWI3OWVmN2RlZjM0MGM3
N2U3MGY3OTU4ZjM4YTJhNzllNGU4MDAuLjVjOTU5MDBkZTNmOTRiNjAyY2QyNzIwM2RhOTcwZTY0
NmQxNGY0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTUHJvcGVydHlOYW1lSXRlcmF0b3Ip
OwogCi1jb25zdCBDbGFzc0luZm8gSlNQcm9wZXJ0eU5hbWVJdGVyYXRvcjo6c19pbmZvID0geyAi
SlNQcm9wZXJ0eU5hbWVJdGVyYXRvciIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNQ
cm9wZXJ0eU5hbWVJdGVyYXRvcikgfTsKK2NvbnN0IENsYXNzSW5mbyBKU1Byb3BlcnR5TmFtZUl0
ZXJhdG9yOjpzX2luZm8gPSB7ICJKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yIiwgMCwgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKSwgc2l6ZW9mKEpTUHJvcGVy
dHlOYW1lSXRlcmF0b3IpIH07CiAKIGlubGluZSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjpKU1By
b3BlcnR5TmFtZUl0ZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lQXJyYXlEYXRh
KiBwcm9wZXJ0eU5hbWVBcnJheURhdGEsIHNpemVfdCBudW1DYWNoZWFibGVTbG90cykKICAgICA6
IEpTQ2VsbChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMtPmdsb2JhbERhdGEoKS5wcm9wZXJ0eU5h
bWVJdGVyYXRvclN0cnVjdHVyZS5nZXQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RyaW5nLmNwcAppbmRleCAzZjgyOTNkMTY1OTljMmI4YmFiNjk1YmY5YTYzMWEzNjBlNWNh
OGQ1Li45OGE0NWVmZDY4MTdkNzEyOGIyNjM2NDZlN2EwODliNGIxNTE2ZjgzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuY3BwCkBAIC0zNCw3ICszNCw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIHN1YnN0cmluZ0Zyb21S
b3BlQ3V0b2ZmID0gNDsKIAotY29uc3QgQ2xhc3NJbmZvIEpTU3RyaW5nOjpzX2luZm8gPSB7ICJz
dHJpbmciLCAwLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTU3RyaW5nKSB9OworY29uc3Qg
Q2xhc3NJbmZvIEpTU3RyaW5nOjpzX2luZm8gPSB7ICJzdHJpbmciLCAwLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTU3RyaW5nKSwgc2l6ZW9mKEpTU3RyaW5nKSB9OwogCiB2b2lkIEpTU3Ry
aW5nOjpyZXNvbHZlUm9wZShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3QuY3BwCmluZGV4IDRlYjBmNzhjMzgyMDc2Y2Zj
YzE4ZDU1MzcxNjYzMmFmNTZiMDE5YmMuLjc2MjY5ZDEzMzZlMDQ1MTA3ZTdjODMyMTJkZjEzNmYw
ZTIzN2QxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhPYmplY3Qu
Y3BwCkBAIC01OSw3ICs1OSw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IG1hdGhQcm90b0Z1bmNUYW4oRXhlY1N0YXRlKik7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jb25z
dCBDbGFzc0luZm8gTWF0aE9iamVjdDo6c19pbmZvID0geyAiTWF0aCIsICZKU05vbkZpbmFsT2Jq
ZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6bWF0aFRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KE1hdGhPYmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gTWF0aE9iamVjdDo6c19pbmZvID0geyAi
TWF0aCIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6bWF0aFRhYmxl
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hdGhPYmplY3QpLCBzaXplb2YoTWF0aE9iamVjdCkgfTsK
IAogLyogU291cmNlIGZvciBNYXRoT2JqZWN0Lmx1dC5oCiBAYmVnaW4gbWF0aFRhYmxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IuY3BwCmluZGV4IGYyZTZiY2NmNzEwODNmZjI0ZjNhZDU1OTY4ZGY5ZjliYzliNTk5ZGUu
LjliMGYwNjBkN2RlYzFiZWVkMjM2MzBhYThkNmFhZGZmMWRlMTA4NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3Iu
Y3BwCkBAIC0zMCw3ICszMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xBU1NfRklU
U19JTl9DRUxMKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpOwogCi1jb25zdCBDbGFzc0luZm8gTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5j
dGlvbjo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE5hdGl2ZUVycm9yQ29uc3Ry
dWN0b3IpIH07Citjb25zdCBDbGFzc0luZm8gTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6c19pbmZv
ID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKE5hdGl2ZUVycm9yQ29uc3RydWN0b3IpLCBzaXplb2YoTmF0aXZlRXJyb3JD
b25zdHJ1Y3RvcikgfTsKIAogTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvcjo6TmF0aXZlRXJyb3JDb25z
dHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKICAgICA6IEludGVybmFsRnVuY3Rpb24oZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggZmNhMDIyYjE0ZjkwNzVjOWUyMzIyNDNhMTM0ODQwNjMwNzQyYzA5OC4uZGQ4YTBkNDUz
Y2UxNWEwYmM5YjhlZTg5YjQ3MTRlNmJmODJiMzhjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcApAQCAtNDIsNyArNDIsNyBA
QCBzdGF0aWMgSlNWYWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck1pblZhbHVlKEV4ZWNTdGF0ZSosIEpT
VmFsdWUsIGNvbnN0IElkZW50aWZpZXImKQogCiBuYW1lc3BhY2UgSlNDIHsKIAotY29uc3QgQ2xh
c3NJbmZvIE51bWJlckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5h
bEZ1bmN0aW9uOjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6bnVtYmVyQ29uc3RydWN0b3JUYWJsZSwg
Q1JFQVRFX01FVEhPRF9UQUJMRShOdW1iZXJDb25zdHJ1Y3RvcikgfTsKK2NvbnN0IENsYXNzSW5m
byBOdW1iZXJDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5j
dGlvbjo6c19pbmZvLCAwLCBFeGVjU3RhdGU6Om51bWJlckNvbnN0cnVjdG9yVGFibGUsIENSRUFU
RV9NRVRIT0RfVEFCTEUoTnVtYmVyQ29uc3RydWN0b3IpLCBzaXplb2YoTnVtYmVyQ29uc3RydWN0
b3IpIH07CiAKIC8qIFNvdXJjZSBmb3IgTnVtYmVyQ29uc3RydWN0b3IubHV0LmgKIEBiZWdpbiBu
dW1iZXJDb25zdHJ1Y3RvclRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OdW1iZXJPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyT2JqZWN0LmNwcAppbmRleCBiNzUxMDUzZmI5NjZiZGU4MmMwY2RhYmVlODQxNGJjNTA5
YTg1ZjIxLi4xNGYxNGVkOGEwZmU5MWJkMTViOWE5MzVmNzE2ZmI1ODJmOTQ3MGEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAKQEAgLTI5LDcg
KzI5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoTnVt
YmVyT2JqZWN0KTsKIAotY29uc3QgQ2xhc3NJbmZvIE51bWJlck9iamVjdDo6c19pbmZvID0geyAi
TnVtYmVyIiwgJkpTV3JhcHBlck9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKE51bWJlck9iamVjdCkgfTsKK2NvbnN0IENsYXNzSW5mbyBOdW1iZXJPYmplY3Q6OnNfaW5m
byA9IHsgIk51bWJlciIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShOdW1iZXJPYmplY3QpLCBzaXplb2YoTnVtYmVyT2JqZWN0KSB9OwogCiBOdW1i
ZXJPYmplY3Q6Ok51bWJlck9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQogICAgIDogSlNXcmFwcGVyT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVy
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUu
Y3BwCmluZGV4IGM3OTQyZWZjODllODU1NzNjMTUzZGUxYWU1ZjkyOTI2NGI5YmE0ODAuLjFhMDY3
NTRjNGZiY2Q2ZWNmNTkyN2ZjMjAyYTY2ODgzNmM1YWJlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcApAQCAtNTUsNyArNTUsNyBA
QCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBudW1iZXJQcm90b0Z1bmNUb1By
ZWNpc2lvbihFeGVjU3RhdGUqKTsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IENsYXNzSW5m
byBOdW1iZXJQcm90b3R5cGU6OnNfaW5mbyA9IHsgIk51bWJlciIsICZOdW1iZXJPYmplY3Q6OnNf
aW5mbywgMCwgRXhlY1N0YXRlOjpudW1iZXJQcm90b3R5cGVUYWJsZSwgQ1JFQVRFX01FVEhPRF9U
QUJMRShOdW1iZXJQcm90b3R5cGUpIH07Citjb25zdCBDbGFzc0luZm8gTnVtYmVyUHJvdG90eXBl
OjpzX2luZm8gPSB7ICJOdW1iZXIiLCAmTnVtYmVyT2JqZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0
ZTo6bnVtYmVyUHJvdG90eXBlVGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUoTnVtYmVyUHJvdG90
eXBlKSwgc2l6ZW9mKE51bWJlclByb3RvdHlwZSkgfTsKIAogLyogU291cmNlIGZvciBOdW1iZXJQ
cm90b3R5cGUubHV0LmgKIEBiZWdpbiBudW1iZXJQcm90b3R5cGVUYWJsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCmluZGV4IDFh
MzljMTg5ZGM3YmMyNzY1NWU3OTg5ODQzNjMxNDc5NDEzNGE1M2UuLjc2OWRkNWIyY2NkYzkxM2Nm
MTk4OWM1NmNhMmQ3NzViY2MwNzE3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKQEAgLTU1LDcgKzU1LDcgQEAgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0Q29uc3RydWN0b3JJc0V4dGVuc2li
bGUoRXhlY1N0YXRlKik7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jb25zdCBDbGFzc0luZm8gT2Jq
ZWN0Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246
OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpvYmplY3RDb25zdHJ1Y3RvclRhYmxlLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKE9iamVjdENvbnN0cnVjdG9yKSB9OworY29uc3QgQ2xhc3NJbmZvIE9iamVjdENv
bnN0cnVjdG9yOjpzX2luZm8gPSB7ICJGdW5jdGlvbiIsICZJbnRlcm5hbEZ1bmN0aW9uOjpzX2lu
Zm8sIDAsIEV4ZWNTdGF0ZTo6b2JqZWN0Q29uc3RydWN0b3JUYWJsZSwgQ1JFQVRFX01FVEhPRF9U
QUJMRShPYmplY3RDb25zdHJ1Y3RvciksIHNpemVvZihPYmplY3RDb25zdHJ1Y3RvcikgfTsKIAog
LyogU291cmNlIGZvciBPYmplY3RDb25zdHJ1Y3Rvci5sdXQuaAogQGJlZ2luIG9iamVjdENvbnN0
cnVjdG9yVGFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09i
amVjdFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuY3BwCmluZGV4IDg0NmMxMmUzZTdjZTg4MmYxZTgyOWI0MmI1ZDRkYTA1NzkyYzJh
NzguLjBhMGIzZDg5YzdkMWZjYmM5MzQzNWQyMDY3MTUxOGYwNTM0NDgzM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcApAQCAtNDQs
NyArNDQsNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBvYmplY3RQcm90
b0Z1bmNUb0xvY2FsZVN0cmluZyhFeGVjU3RhdGUqKTsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNv
bnN0IENsYXNzSW5mbyBPYmplY3RQcm90b3R5cGU6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZKU05v
bkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6b2JqZWN0UHJvdG90eXBlVGFibGUs
IENSRUFURV9NRVRIT0RfVEFCTEUoT2JqZWN0UHJvdG90eXBlKSB9OworY29uc3QgQ2xhc3NJbmZv
IE9iamVjdFByb3RvdHlwZTo6c19pbmZvID0geyAiT2JqZWN0IiwgJkpTTm9uRmluYWxPYmplY3Q6
OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpvYmplY3RQcm90b3R5cGVUYWJsZSwgQ1JFQVRFX01FVEhP
RF9UQUJMRShPYmplY3RQcm90b3R5cGUpLCBzaXplb2YoT2JqZWN0UHJvdG90eXBlKSB9OwogCiAv
KiBTb3VyY2UgZm9yIE9iamVjdFByb3RvdHlwZS5sdXQuaAogQGJlZ2luIG9iamVjdFByb3RvdHlw
ZVRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAppbmRleCA5ZjI4
YzdjMjBhNjRiOWE1NDcyMDgyYjNkYzkxNzI4YTU5ZDk4ZDhhLi43MDdlOTBhMmZlMTc3NDc0NGVk
NDE5NDM4NjFhNjVjYmVlNzEyZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
Z0V4cC5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IENs
YXNzSW5mbyBSZWdFeHA6OnNfaW5mbyA9IHsgIlJlZ0V4cCIsIDAsIDAsIDAsIENSRUFURV9NRVRI
T0RfVEFCTEUoUmVnRXhwKSB9OworY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cDo6c19pbmZvID0geyAi
UmVnRXhwIiwgMCwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShSZWdFeHApLCBzaXplb2YoUmVn
RXhwKSB9OwogCiBSZWdFeHBGbGFncyByZWdFeHBGbGFncyhjb25zdCBVU3RyaW5nJiBzdHJpbmcp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggZDBlYTlhMTBkZGUyMmNlZGRkN2M4MmExY2ZiZTYwZDc1ZGM2NzMwOC4u
MDFiOWY4NmFiMTRhNDU1ZTQ0NDUwMzkxY2NkNmYwMjJkMTY4NjQ3NiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAtNjcs
NyArNjcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChS
ZWdFeHBDb25zdHJ1Y3Rvcik7CiAKLWNvbnN0IENsYXNzSW5mbyBSZWdFeHBDb25zdHJ1Y3Rvcjo6
c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbmZvLCAwLCBFeGVj
U3RhdGU6OnJlZ0V4cENvbnN0cnVjdG9yVGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUoUmVnRXhw
Q29uc3RydWN0b3IpIH07Citjb25zdCBDbGFzc0luZm8gUmVnRXhwQ29uc3RydWN0b3I6OnNfaW5m
byA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgRXhlY1N0YXRl
OjpyZWdFeHBDb25zdHJ1Y3RvclRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cENvbnN0
cnVjdG9yKSwgc2l6ZW9mKFJlZ0V4cENvbnN0cnVjdG9yKSB9OwogCiAvKiBTb3VyY2UgZm9yIFJl
Z0V4cENvbnN0cnVjdG9yLmx1dC5oCiBAYmVnaW4gcmVnRXhwQ29uc3RydWN0b3JUYWJsZQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5jcHAKaW5kZXggMmI4
NDMyNGZmZTg5MTdkNTMxYzhjNzczM2ZhNTAxNGNmODFiNTAzNC4uNmU5MzBmYzA4NWUwMzdjODVm
ZjE4MGE5NzQ5MDY1ZDUxYjg0YzU0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWdFeHBPYmplY3QuY3BwCkBAIC01MCw3ICs1MCw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFJlZ0V4cE9iamVjdCk7CiAKLWNvbnN0IENsYXNz
SW5mbyBSZWdFeHBPYmplY3Q6OnNfaW5mbyA9IHsgIlJlZ0V4cCIsICZKU05vbkZpbmFsT2JqZWN0
OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6cmVnRXhwVGFibGUsIENSRUFURV9NRVRIT0RfVEFCTEUo
UmVnRXhwT2JqZWN0KSB9OworY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cE9iamVjdDo6c19pbmZvID0g
eyAiUmVnRXhwIiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpyZWdF
eHBUYWJsZSwgQ1JFQVRFX01FVEhPRF9UQUJMRShSZWdFeHBPYmplY3QpLCBzaXplb2YoUmVnRXhw
T2JqZWN0KSB9OwogCiAvKiBTb3VyY2UgZm9yIFJlZ0V4cE9iamVjdC5sdXQuaAogQGJlZ2luIHJl
Z0V4cFRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJv
dG90eXBlLmNwcAppbmRleCBiMWM0NDdhZTgxODVkYTQ5Njg5ZjZjZjhmNTA4MmJkYTllODRiNzkw
Li5kYWUwYmY5NWJjM2FiODFhYTM5N2Y2ODEyYjg4NWJmZGM5M2I5NzJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKQEAgLTQ5LDcg
KzQ5LDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgcmVnRXhwUHJvdG9G
dW5jVG9TdHJpbmcoRXhlY1N0YXRlKik7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jb25zdCBDbGFz
c0luZm8gUmVnRXhwUHJvdG90eXBlOjpzX2luZm8gPSB7ICJSZWdFeHAiLCAmUmVnRXhwT2JqZWN0
OjpzX2luZm8sIDAsIEV4ZWNTdGF0ZTo6cmVnRXhwUHJvdG90eXBlVGFibGUsIENSRUFURV9NRVRI
T0RfVEFCTEUoUmVnRXhwUHJvdG90eXBlKSB9OworY29uc3QgQ2xhc3NJbmZvIFJlZ0V4cFByb3Rv
dHlwZTo6c19pbmZvID0geyAiUmVnRXhwIiwgJlJlZ0V4cE9iamVjdDo6c19pbmZvLCAwLCBFeGVj
U3RhdGU6OnJlZ0V4cFByb3RvdHlwZVRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZ0V4cFBy
b3RvdHlwZSksIHNpemVvZihSZWdFeHBQcm90b3R5cGUpIH07CiAKIC8qIFNvdXJjZSBmb3IgUmVn
RXhwUHJvdG90eXBlLmx1dC5oCiBAYmVnaW4gcmVnRXhwUHJvdG90eXBlVGFibGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5jcHAKaW5kZXggNmUyZTAzNGFmNmQ3
ZmUxNzNiZGM2NDlmNWI5NTgyYjlmY2QzODg2MS4uZTMxNGRhYWRkNzJlY2E2ZmE4MjEyOGMwNGRk
MmRjYTEwZDBkYTAwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2NvcGVDaGFpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVD
aGFpbi5jcHAKQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBTY29wZUNoYWluTm9kZTo6cHJpbnQoKQog
CiAjZW5kaWYKIAotY29uc3QgQ2xhc3NJbmZvIFNjb3BlQ2hhaW5Ob2RlOjpzX2luZm8gPSB7ICJT
Y29wZUNoYWluTm9kZSIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU2NvcGVDaGFpbk5v
ZGUpIH07Citjb25zdCBDbGFzc0luZm8gU2NvcGVDaGFpbk5vZGU6OnNfaW5mbyA9IHsgIlNjb3Bl
Q2hhaW5Ob2RlIiwgMCwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShTY29wZUNoYWluTm9kZSks
IHNpemVvZihTY29wZUNoYWluTm9kZSkgfTsKIAogaW50IFNjb3BlQ2hhaW5Ob2RlOjpsb2NhbERl
cHRoKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmlu
Z0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0Nv
bnN0cnVjdG9yLmNwcAppbmRleCBjMTM3Y2NiMWQ3M2EwNzVkZTY4NjNhZGJiZGE0MzI1NjA0ZTM3
MzVlLi5mOWQ2OGZhNDM4ODIzNTZmMzdlYjY5ZDhkNTViYmY3ZTk4ZTYzMmYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCkBA
IC0zNyw3ICszNyw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmlu
Z0Zyb21DaGFyQ29kZShFeGVjU3RhdGUqKTsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IENs
YXNzSW5mbyBTdHJpbmdDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiRnVuY3Rpb24iLCAmSW50ZXJu
YWxGdW5jdGlvbjo6c19pbmZvLCAwLCBFeGVjU3RhdGU6OnN0cmluZ0NvbnN0cnVjdG9yVGFibGUs
IENSRUFURV9NRVRIT0RfVEFCTEUoU3RyaW5nQ29uc3RydWN0b3IpIH07Citjb25zdCBDbGFzc0lu
Zm8gU3RyaW5nQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkZ1bmN0aW9uIiwgJkludGVybmFsRnVu
Y3Rpb246OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpzdHJpbmdDb25zdHJ1Y3RvclRhYmxlLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKFN0cmluZ0NvbnN0cnVjdG9yKSwgc2l6ZW9mKFN0cmluZ0NvbnN0cnVj
dG9yKSB9OwogCiAvKiBTb3VyY2UgZm9yIFN0cmluZ0NvbnN0cnVjdG9yLmx1dC5oCiBAYmVnaW4g
c3RyaW5nQ29uc3RydWN0b3JUYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cmluZ09iamVjdC5jcHAKaW5kZXggYTY0OTk5ZWFjN2FkNmYwZTNhMTExNWM3ODRmNDBiYzFh
ZjUwZGY1Ni4uYjA1Y2M3NmQxZGE5Njk4M2U3ODM4YmU2NzE1ZTIyNjJlNTkzMTRhMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdPYmplY3QuY3BwCkBAIC0yNyw3
ICsyNyw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKFN0
cmluZ09iamVjdCk7CiAKLWNvbnN0IENsYXNzSW5mbyBTdHJpbmdPYmplY3Q6OnNfaW5mbyA9IHsg
IlN0cmluZyIsICZKU1dyYXBwZXJPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShTdHJpbmdPYmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gU3RyaW5nT2JqZWN0OjpzX2lu
Zm8gPSB7ICJTdHJpbmciLCAmSlNXcmFwcGVyT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoU3RyaW5nT2JqZWN0KSwgc2l6ZW9mKFN0cmluZ09iamVjdCkgfTsKIAogU3Ry
aW5nT2JqZWN0OjpTdHJpbmdPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTV3JhcHBlck9iamVjdChnbG9iYWxEYXRhLCBzdHJ1Y3R1
cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90
b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBl
LmNwcAppbmRleCA1MjFkMzBhODNlMzNjMjc0NmYzNjZjNTg1ODkwZTAwNDQyZDg2ZDVlLi40ODdi
OTU5MWU3OTA3NzJkYWI4NGE0YzVhZjQ4Y2FmNjRiYjRlMThiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKQEAgLTg1LDcgKzg1LDcg
QEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jVHJp
bVJpZ2h0KEV4ZWNTdGF0ZSopOwogCiBuYW1lc3BhY2UgSlNDIHsKIAotY29uc3QgQ2xhc3NJbmZv
IFN0cmluZ1Byb3RvdHlwZTo6c19pbmZvID0geyAiU3RyaW5nIiwgJlN0cmluZ09iamVjdDo6c19p
bmZvLCAwLCBFeGVjU3RhdGU6OnN0cmluZ1RhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cmlu
Z1Byb3RvdHlwZSkgfTsKK2NvbnN0IENsYXNzSW5mbyBTdHJpbmdQcm90b3R5cGU6OnNfaW5mbyA9
IHsgIlN0cmluZyIsICZTdHJpbmdPYmplY3Q6OnNfaW5mbywgMCwgRXhlY1N0YXRlOjpzdHJpbmdU
YWJsZSwgQ1JFQVRFX01FVEhPRF9UQUJMRShTdHJpbmdQcm90b3R5cGUpLCBzaXplb2YoU3RyaW5n
UHJvdG90eXBlKSB9OwogCiAvKiBTb3VyY2UgZm9yIFN0cmluZ1Byb3RvdHlwZS5sdXQuaAogQGJl
Z2luIHN0cmluZ1RhYmxlIDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmNwcAppbmRleCA2ODA1NzhmNTU1YjNlMDRjZGNhOGRhYTViZGUwMjI4NTM0YmEwNGU0Li5h
MWIzMThiOWU1NjFhNzRhYmM2NWE3YzNhMThhYmU3MjI0MDY2OWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKQEAgLTE3NSw3ICsxNzUsNyBAQCBTdHJ1
Y3R1cmU6OlN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTVgogewogfQogCi1jb25zdCBDbGFzc0luZm8gU3RydWN0dXJlOjpz
X2luZm8gPSB7ICJTdHJ1Y3R1cmUiLCAwLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cnVj
dHVyZSkgfTsKK2NvbnN0IENsYXNzSW5mbyBTdHJ1Y3R1cmU6OnNfaW5mbyA9IHsgIlN0cnVjdHVy
ZSIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RydWN0dXJlKSwgc2l6ZW9mKFN0cnVj
dHVyZSkgfTsKIAogU3RydWN0dXJlOjpTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
KQogICAgIDogSlNDZWxsKENyZWF0aW5nRWFybHlDZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCmluZGV4IDJiZDc4MWQ0YmU2OGYzOGI3
YzRmYTk4ODhkMjczMDUxNDFhNzM5M2MuLjAxM2E5NDA1OWRjYjdiNWUxODAyMWRlNzAzOGE3MGZj
MTRiMWJhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUNoYWluLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVDaGFpbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgCi1D
bGFzc0luZm8gU3RydWN0dXJlQ2hhaW46OnNfaW5mbyA9IHsgIlN0cnVjdHVyZUNoYWluIiwgMCwg
MCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShTdHJ1Y3R1cmVDaGFpbikgfTsKK0NsYXNzSW5mbyBT
dHJ1Y3R1cmVDaGFpbjo6c19pbmZvID0geyAiU3RydWN0dXJlQ2hhaW4iLCAwLCAwLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKFN0cnVjdHVyZUNoYWluKSwgc2l6ZW9mKFN0cnVjdHVyZUNoYWluKSB9
OwogCiBTdHJ1Y3R1cmVDaGFpbjo6U3RydWN0dXJlQ2hhaW4oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAgICA6IEpTQ2VsbChnbG9iYWxEYXRhLCBzdHJ1
Y3R1cmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJh
cnJpZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCmlu
ZGV4IDYyMjNkOWEzYjEwMTMzNzUyNGVjYTUxNzdiZGQ0MDgwZTg3ZGVmNmYuLmU3NmJhYWQ1ZGFj
MjFiMWY4ZDExOTk3NjkwYjU1NWY3M2E4M2FjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dyaXRlQmFycmllci5oCkBAIC00Nyw2ICs0Nyw3IEBAIHZvaWQgc2xvd1ZhbGlk
YXRlQ2VsbChKU0dsb2JhbE9iamVjdCopOwogdGVtcGxhdGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQg
dmFsaWRhdGVDZWxsKFQgY2VsbCkKIHsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNl
bGwsICZXVEY6OlJlbW92ZVBvaW50ZXI8VD46OlR5cGU6OnNfaW5mbyk7CisgICAgQVNTRVJUKFdU
Rjo6UmVtb3ZlUG9pbnRlcjxUPjo6VHlwZTo6c19pbmZvLmNlbGxTaXplID09IHNpemVvZih0eXBl
bmFtZSBXVEY6OlJlbW92ZVBvaW50ZXI8VD46OlR5cGUpKTsKIH0KIAogdGVtcGxhdGU8PiBpbmxp
bmUgdm9pZCB2YWxpZGF0ZUNlbGw8SlNDZWxsKj4oSlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0R2x1ZS9D
aGFuZ2VMb2cKaW5kZXggOTk5MzNmZWQ0MThiYjhhNGZmZWQ1ZGU5ODkzYWYwNTViM2VhN2VmNC4u
ZTA5MWJlNTBlMWVlNDkyNzYwYjhiMjc0OGZiYWQ4ZmQ2YmYzYzUyZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTAtMDUgIE1hcmsgSGFobmVuYmVyZyAg
PG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBKU0Mgb2JqZWN0cyBuZWVkIHRvIGtu
b3cgdGhlaXIgb3duIGNlbGwgc2l6ZSBhdCBydW50aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0Mgb2JqZWN0cyBuZWVkIHRvIGtub3cgdGhlaXIg
Y2VsbCBzaXplIGF0IHJ1bnRpbWUgZm9yIHNvbWUgb2YgdGhlIAorICAgICAgICBuZXcgR0Mgd29y
ayB0aGF0IHdlJ3JlIGRvaW5nLiAgVGhpcyBwYXRjaGVzIGdpdmVzIAorICAgICAgICBKU0NlbGwg
YSBjZWxsU2l6ZSgpIG1ldGhvZCB0byBsb29rIHVwIHRoZSBjZWxsIHNpemUgb2YgdGhlIGN1cnJl
bnQgb2JqZWN0LAorICAgICAgICB3aGljaCBpcyBpbiB0dXJuIHN0b3JlZCBpbiB0aGUgQ2xhc3NJ
bmZvIHN0cnVjdCBmb3IgZWFjaCBjbGFzcy4KKworICAgICAgICAqIFVzZXJPYmplY3RJbXAuY3Bw
OgorCiAyMDExLTEwLTAxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlZCByZWR1bmRhbnQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgYWxsb2NhdGluZyBT
dHJvbmcgaGFuZGxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRHbHVlL1VzZXJPYmpl
Y3RJbXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRHbHVlL1VzZXJPYmplY3RJbXAuY3BwCmluZGV4
IDYzMjU5OTRmMWUxY2Y5YzIwOTBmZDgyZjZhMDIzYzk1YjQwMTJkMmEuLjE2ZDI1NmNjZGIwMjY2
NzFhODY0Y2MzNzA1ZjUyNDBmYzk2YTA4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
R2x1ZS9Vc2VyT2JqZWN0SW1wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdEdsdWUvVXNlck9i
amVjdEltcC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9K
U1N0cmluZy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Byb3BlcnR5TmFtZUFycmF5Lmg+
CiAKLWNvbnN0IENsYXNzSW5mbyBVc2VyT2JqZWN0SW1wOjpzX2luZm8gPSB7ICJVc2VyT2JqZWN0
IiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShV
c2VyT2JqZWN0SW1wKSB9OworY29uc3QgQ2xhc3NJbmZvIFVzZXJPYmplY3RJbXA6OnNfaW5mbyA9
IHsgIlVzZXJPYmplY3QiLCAmSlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKFVzZXJPYmplY3RJbXApLCBzaXplb2YoVXNlck9iamVjdEltcCkgfTsKIAog
VXNlck9iamVjdEltcDo6VXNlck9iamVjdEltcChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU1VzZXJPYmplY3QqIHVzZXJPYmplY3QpCiAgICAgOiBKU05v
bkZpbmFsT2JqZWN0KGdsb2JhbERhdGEsIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjZGIwNzRl
NWRhNmE2ZmMwYmIwYzBmZDI0NDRlMjY3YThkNThlMGYzLi41ODFiOGY2ZTIyZjQxYzlmOTA3NGY3
ZDE2MjMyYzhmZmE1ODczZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMTAt
MDUgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBK
U0Mgb2JqZWN0cyBuZWVkIHRvIGtub3cgdGhlaXIgb3duIGNlbGwgc2l6ZSBhdCBydW50aW1lLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuCisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRoZWlyIGNlbGwgc2l6ZSBh
dCBydW50aW1lIGZvciBzb21lIG9mIHRoZSAKKyAgICAgICAgbmV3IEdDIHdvcmsgdGhhdCB3ZSdy
ZSBkb2luZy4gIFRoaXMgcGF0Y2hlcyBnaXZlcyAKKyAgICAgICAgSlNDZWxsIGEgY2VsbFNpemUo
KSBtZXRob2QgdG8gbG9vayB1cCB0aGUgY2VsbCBzaXplIG9mIHRoZSBjdXJyZW50IG9iamVjdCwK
KyAgICAgICAgd2hpY2ggaXMgaW4gdHVybiBzdG9yZWQgaW4gdGhlIENsYXNzSW5mbyBzdHJ1Y3Qg
Zm9yIGVhY2ggY2xhc3MuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0
b3IuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW1h
Z2VDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNPcHRpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJD
b250ZXh0QmFzZS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKEdlbmVy
YXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAgKiBicmlkZ2UvYy9DUnVudGltZU9i
amVjdC5jcHA6CisgICAgICAgICogYnJpZGdlL2MvY19pbnN0YW5jZS5jcHA6CisgICAgICAgICog
YnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcDoKKyAgICAgICAgKiBicmlkZ2Uvam5p
L2pzYy9KYXZhUnVudGltZU9iamVjdC5jcHA6CisgICAgICAgICogYnJpZGdlL29iamMvT2JqQ1J1
bnRpbWVPYmplY3QubW06CisgICAgICAgICogYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5tbToK
KyAgICAgICAgKiBicmlkZ2Uvb2JqYy9vYmpjX3J1bnRpbWUubW06CisgICAgICAgICogYnJpZGdl
L3F0L3F0X2luc3RhbmNlLmNwcDoKKyAgICAgICAgKiBicmlkZ2UvcXQvcXRfcGl4bWFwcnVudGlt
ZS5jcHA6CisgICAgICAgICogYnJpZGdlL3F0L3F0X3J1bnRpbWUuY3BwOgorICAgICAgICAqIGJy
aWRnZS9ydW50aW1lX2FycmF5LmNwcDoKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9tZXRob2Qu
Y3BwOgorICAgICAgICAqIGJyaWRnZS9ydW50aW1lX29iamVjdC5jcHA6CisKIDIwMTEtMTAtMDUg
IFNhY2hpbiBQdXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBTcGVjIGNo
YW5nZSAtIG9wdGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmNw
cAppbmRleCA1NjRkNGQ3NDIzNWY0MTEzODU1ZGFhNzU5Yzg3ZDc1N2RhN2RlNDE1Li5jMGJhNmY4
OGQyNWNmZGJkZWE5NWY4ZDM4NTMzYWIxNGI2MzVlOGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAKQEAgLTM3LDcgKzM3LDcgQEAg
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBDbGFz
c0luZm8gSlNBdWRpb0NvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJBdWRpb0NvbnN0cnVjdG9yIiwg
JkRPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNBdWRpb0NvbnN0cnVjdG9yKSB9OworY29uc3QgQ2xhc3NJbmZvIEpTQXVkaW9Db25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiQXVkaW9Db25zdHJ1Y3RvciIsICZET01Db25zdHJ1Y3Rvcldp
dGhEb2N1bWVudDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXVkaW9Db25z
dHJ1Y3RvciksIHNpemVvZihKU0F1ZGlvQ29uc3RydWN0b3IpIH07CiAKIEpTQXVkaW9Db25zdHJ1
Y3Rvcjo6SlNBdWRpb0NvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIDogRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQo
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5kZXggNDVhZGI3YmJkOGY4ODVkNzczYjY5ZDIzYzkx
MDBhZDRmMzc0ZjAzMC4uYjMwZjdmODFlYjBiNDY2ZTAwMDFmNDFlYzYxYzkyYTQ4ZmQ2YmM1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cApAQCAtNDAsNyArNDAsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNvbnN0IENsYXNzSW5mbyBKU0RPTUdsb2JhbE9iamVjdDo6c19pbmZvID0geyAi
RE9NR2xvYmFsT2JqZWN0IiwgJkpTR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNET01HbG9iYWxPYmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gSlNET01H
bG9iYWxPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUdsb2JhbE9iamVjdCIsICZKU0dsb2JhbE9iamVj
dDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NR2xvYmFsT2JqZWN0KSwg
c2l6ZW9mKEpTRE9NR2xvYmFsT2JqZWN0KSB9OwogCiBKU0RPTUdsb2JhbE9iamVjdDo6SlNET01H
bG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgUGFzc1JlZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkKQogICAgIDogSlNHbG9iYWxPYmpl
Y3QoZ2xvYmFsRGF0YSwgc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggZDUwYTBhMjZkNGZlODIxMWI2OWIzOGEyMGE1Mjk2
NGJiM2I2MWYwMy4uOTRjOTMzNzM4NjNhM2FiYWJiNTBjNDAyMTM4YTA5OTJkMjRiZDRhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC00
MSw3ICs0MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93QmFzZTo6c19pbmZvID0geyAiV2luZG93Iiwg
JkpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNE
T01XaW5kb3dCYXNlKSB9OworY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93QmFzZTo6c19pbmZv
ID0geyAiV2luZG93IiwgJkpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNET01XaW5kb3dCYXNlKSwgc2l6ZW9mKEpTRE9NV2luZG93QmFzZSkgfTsK
IAogSlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2UoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdywg
SlNET01XaW5kb3dTaGVsbCogc2hlbGwpCiAgICAgOiBKU0RPTUdsb2JhbE9iamVjdChnbG9iYWxE
YXRhLCBzdHJ1Y3R1cmUsIHNoZWxsLT53b3JsZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcAppbmRleCBmYmI0NmZlODJjNmQ2YzkyYjI0NTMx
NDE5NzhmNzg1ODUwZGI5ZTBmLi40MTA0YjUwN2ZiNjUzYjRkMzgxMDViYjExZjUzMDQ4ZmFjMmFl
NzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1No
ZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
LmNwcApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEFTU0VSVF9DTEFT
U19GSVRTX0lOX0NFTEwoSlNET01XaW5kb3dTaGVsbCk7CiAKLWNvbnN0IENsYXNzSW5mbyBKU0RP
TVdpbmRvd1NoZWxsOjpzX2luZm8gPSB7ICJKU0RPTVdpbmRvd1NoZWxsIiwgJkJhc2U6OnNfaW5m
bywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0RPTVdpbmRvd1NoZWxsKSB9OworY29uc3Qg
Q2xhc3NJbmZvIEpTRE9NV2luZG93U2hlbGw6OnNfaW5mbyA9IHsgIkpTRE9NV2luZG93U2hlbGwi
LCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRE9NV2luZG93U2hl
bGwpLCBzaXplb2YoSlNET01XaW5kb3dTaGVsbCkgfTsKIAogSlNET01XaW5kb3dTaGVsbDo6SlNE
T01XaW5kb3dTaGVsbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRE9NV3JhcHBlcldvcmxkKiB3b3Js
ZCkKICAgICA6IEJhc2UoKndvcmxkLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3IuY3BwCmluZGV4IGNj
N2Q1YzcxYzY5NzRjOTE0YjRkYmU2ZGRkOGVmYTFmNjc5NWJkNzYuLmMyMGQ3NTZmMzY5YjZhOTk4
YWFhZDU0NzMxNjE2YWI0OGJiMWZjYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NFTEwoSlNJbWFnZUNvbnN0cnVjdG9y
KTsKIAotY29uc3QgQ2xhc3NJbmZvIEpTSW1hZ2VDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiSW1h
Z2VDb25zdHJ1Y3RvciIsICZET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudDo6c19pbmZvLCAwLCAw
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTSW1hZ2VDb25zdHJ1Y3RvcikgfTsKK2NvbnN0IENsYXNz
SW5mbyBKU0ltYWdlQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIkltYWdlQ29uc3RydWN0b3IiLCAm
RE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQ6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU0ltYWdlQ29uc3RydWN0b3IpLCBzaXplb2YoSlNJbWFnZUNvbnN0cnVjdG9yKSB9Owog
CiBKU0ltYWdlQ29uc3RydWN0b3I6OkpTSW1hZ2VDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICA6IERPTUNvbnN0cnVj
dG9yV2l0aERvY3VtZW50KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwCmluZGV4IDlhZTQ5ZjE3N2Yz
NzEyNTkyODI0OTk2YWRlYjcyMmZiZTBhZTA3Y2QuLmExMjRiZjgzNTQyMzE0MTBlNTQ0NWE1NGM1
ZTFlMjU0YzYxY2Y4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SW1hZ2VEYXRhQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lt
YWdlRGF0YUN1c3RvbS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSW1hZ2VEYXRhKiBpbWFn
ZUQKICAgICAKICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9i
amVjdCwgSW1hZ2VEYXRhLCBpbWFnZURhdGEpOwogICAgIElkZW50aWZpZXIgZGF0YU5hbWUoZXhl
YywgImRhdGEiKTsKLSAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIGNwYUNsYXNzSW5mbyA9IHsg
IkNhbnZhc1BpeGVsQXJyYXkiLCAmSlNCeXRlQXJyYXk6OkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU0J5dGVBcnJheSkgfTsKKyAgICBzdGF0aWMgY29uc3QgQ2xhc3NJ
bmZvIGNwYUNsYXNzSW5mbyA9IHsgIkNhbnZhc1BpeGVsQXJyYXkiLCAmSlNCeXRlQXJyYXk6OkJh
c2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0J5dGVBcnJheSksIHNpemVv
ZihKU0J5dGVBcnJheSkgfTsKICAgICBTdHJ1Y3R1cmUqIGNwYVN0cnVjdHVyZSA9IGdldENhY2hl
ZERPTVN0cnVjdHVyZShnbG9iYWxPYmplY3QsICZjcGFDbGFzc0luZm8pOwogICAgIGlmICghY3Bh
U3RydWN0dXJlKQogICAgICAgICBjcGFTdHJ1Y3R1cmUgPSBjYWNoZURPTVN0cnVjdHVyZShnbG9i
YWxPYmplY3QsIEpTQnl0ZUFycmF5OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgp
LCBnbG9iYWxPYmplY3QsIGpzTnVsbCgpLCAmY3BhQ2xhc3NJbmZvKSwgJmNwYUNsYXNzSW5mbyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU09wdGlvbkNvbnN0cnVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3Iu
Y3BwCmluZGV4IDQ0OWIyOTJlODI3NmZjZmRkYjg1MjNhYzBhZTM1YWZlMjEyZjEzOWUuLjFhMDIw
NDUwYzA1MDA2ZGY4YjcwZTkwNTAyYjVhYTgyNzJjNDMzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTT3B0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC0zMyw3ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQVNTRVJUX0NMQVNTX0ZJVFNfSU5fQ0VMTChKU09w
dGlvbkNvbnN0cnVjdG9yKTsKIAotY29uc3QgQ2xhc3NJbmZvIEpTT3B0aW9uQ29uc3RydWN0b3I6
OnNfaW5mbyA9IHsgIk9wdGlvbkNvbnN0cnVjdG9yIiwgJkRPTUNvbnN0cnVjdG9yV2l0aERvY3Vt
ZW50OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNPcHRpb25Db25zdHJ1Y3Rv
cikgfTsKK2NvbnN0IENsYXNzSW5mbyBKU09wdGlvbkNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJP
cHRpb25Db25zdHJ1Y3RvciIsICZET01Db25zdHJ1Y3RvcldpdGhEb2N1bWVudDo6c19pbmZvLCAw
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTT3B0aW9uQ29uc3RydWN0b3IpLCBzaXplb2YoSlNP
cHRpb25Db25zdHJ1Y3RvcikgfTsKIAogSlNPcHRpb25Db25zdHJ1Y3Rvcjo6SlNPcHRpb25Db25z
dHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKICAgICA6IERPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50KHN0cnVjdHVyZSwgZ2xvYmFs
T2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJD
b250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRl
eHRCYXNlLmNwcAppbmRleCA5MzcyZmU5ZWY0ZWQ4NjQ4MzFmMWUxZjEzOGJiY2IzZmViYzBhYjU5
Li40MjkxZWM4OWY4MTkyMzdkOWNhZDFmM2FkY2EzYTFmNmI2MTNhNzcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHRCYXNlLmNwcApAQCAtNDYs
NyArNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NF
TEwoSlNXb3JrZXJDb250ZXh0QmFzZSk7CiAKLWNvbnN0IENsYXNzSW5mbyBKU1dvcmtlckNvbnRl
eHRCYXNlOjpzX2luZm8gPSB7ICJXb3JrZXJDb250ZXh0IiwgJkpTRE9NR2xvYmFsT2JqZWN0Ojpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNXb3JrZXJDb250ZXh0QmFzZSkgfTsK
K2NvbnN0IENsYXNzSW5mbyBKU1dvcmtlckNvbnRleHRCYXNlOjpzX2luZm8gPSB7ICJXb3JrZXJD
b250ZXh0IiwgJkpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNXb3JrZXJDb250ZXh0QmFzZSksIHNpemVvZihKU1dvcmtlckNvbnRleHRCYXNlKSB9
OwogCiBKU1dvcmtlckNvbnRleHRCYXNlOjpKU1dvcmtlckNvbnRleHRCYXNlKEpTQzo6SlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhLCBKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRy
PFdvcmtlckNvbnRleHQ+IGltcGwpCiAgICAgOiBKU0RPTUdsb2JhbE9iamVjdChnbG9iYWxEYXRh
LCBzdHJ1Y3R1cmUsIG5vcm1hbFdvcmxkKGdsb2JhbERhdGEpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAwYWU3ZTJjNGY3
NGYzZWQ1ZjE4YTQxMGEyNDZkNTQ3YWRmNmFmNTY5Li4xMDE5MGM4ODU4MTE5MDIzNzAzOWM1NGUw
NGY0MTBkYjg1NjJjMmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTQyMSw5ICsxNDIxLDkgQEAgc3ViIEdlbmVyYXRl
SW1wbGVtZW50YXRpb24KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuIGdldEhhc2hUYWJsZUZvckdsb2JhbERh
dGEoZXhlYy0+Z2xvYmFsRGF0YSgpLCAmJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUpO1xuIik7
CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKLSAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJjb25zdCBDbGFzc0luZm8gJHtjbGFzc05hbWV9UHJvdG90eXBlOjpzX2luZm8g
PSB7IFwiJHt2aXNpYmxlQ2xhc3NOYW1lfVByb3RvdHlwZVwiLCAmSlNDOjpKU05vbkZpbmFsT2Jq
ZWN0OjpzX2luZm8sIDAsIGdldCR7Y2xhc3NOYW1lfVByb3RvdHlwZVRhYmxlLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKCR7Y2xhc3NOYW1lfVByb3RvdHlwZSkgfTtcblxuIik7CisgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiY29uc3QgQ2xhc3NJbmZvICR7Y2xhc3NOYW1lfVByb3RvdHlwZTo6c19p
bmZvID0geyBcIiR7dmlzaWJsZUNsYXNzTmFtZX1Qcm90b3R5cGVcIiwgJkpTQzo6SlNOb25GaW5h
bE9iamVjdDo6c19pbmZvLCAwLCBnZXQke2NsYXNzTmFtZX1Qcm90b3R5cGVUYWJsZSwgQ1JFQVRF
X01FVEhPRF9UQUJMRSgke2NsYXNzTmFtZX1Qcm90b3R5cGUpLCBzaXplb2YoJHtjbGFzc05hbWV9
UHJvdG90eXBlKSB9O1xuXG4iKTsKICAgICB9IGVsc2UgewotICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgImNvbnN0IENsYXNzSW5mbyAke2NsYXNzTmFtZX1Qcm90b3R5cGU6OnNfaW5mbyA9IHsg
XCIke3Zpc2libGVDbGFzc05hbWV9UHJvdG90eXBlXCIsICZKU0M6OkpTTm9uRmluYWxPYmplY3Q6
OnNfaW5mbywgJiR7Y2xhc3NOYW1lfVByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKCR7Y2xhc3NOYW1lfVByb3RvdHlwZSkgfTtcblxuIik7CisgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiY29uc3QgQ2xhc3NJbmZvICR7Y2xhc3NOYW1lfVByb3RvdHlwZTo6c19pbmZvID0g
eyBcIiR7dmlzaWJsZUNsYXNzTmFtZX1Qcm90b3R5cGVcIiwgJkpTQzo6SlNOb25GaW5hbE9iamVj
dDo6c19pbmZvLCAmJHtjbGFzc05hbWV9UHJvdG90eXBlVGFibGUsIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoJHtjbGFzc05hbWV9UHJvdG90eXBlKSwgc2l6ZW9mKCR7Y2xhc3NOYW1lfVByb3RvdHlw
ZSkgfTtcblxuIik7CiAgICAgfQogICAgIGlmICgkaW50ZXJmYWNlTmFtZSBuZSAiRE9NV2luZG93
IiAmJiAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNXb3JrZXJDb250ZXh0In0p
IHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJKU09iamVjdCogJHtjbGFzc05hbWV9UHJv
dG90eXBlOjpzZWxmKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dClcbiIpOwpAQCAtMTUwMCw3ICsxNTAwLDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24K
ICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiwgMCAiKTsKICAgICB9
Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICIsIENSRUFURV9NRVRIT0RfVEFCTEUoJGNsYXNzTmFt
ZSkgfTtcblxuIik7CisgICAgcHVzaChAaW1wbENvbnRlbnQsICIsIENSRUFURV9NRVRIT0RfVEFC
TEUoJGNsYXNzTmFtZSksIHNpemVvZigkY2xhc3NOYW1lKSB9O1xuXG4iKTsKIAogICAgIG15ICRp
bXBsVHlwZSA9ICRpbXBsQ2xhc3NOYW1lOwogICAgIG15ICgkc3ZnUHJvcGVydHlUeXBlLCAkc3Zn
TGlzdFByb3BlcnR5VHlwZSwgJHN2Z05hdGl2ZVR5cGUpID0gR2V0U1ZHUHJvcGVydHlUeXBlcygk
aW1wbFR5cGUpOwpAQCAtMzE3NCw3ICszMTc0LDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JE
ZWZpbml0aW9uCiAgICAgbXkgJGNhbGxXaXRoID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ2FsbFdpdGgifTsKICAgICBteSAkbnVtYmVyT2Zjb25zdHJ1Y3RQYXJhbWV0ZXJzID0g
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JQYXJhbWV0ZXJzIn07
CiAKLSAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJjb25zdCBDbGFzc0luZm8gJHtjb25zdHJ1Y3Rv
ckNsYXNzTmFtZX06OnNfaW5mbyA9IHsgXCIke3Zpc2libGVDbGFzc05hbWV9Q29uc3RydWN0b3Jc
IiwgJkRPTUNvbnN0cnVjdG9yT2JqZWN0OjpzX2luZm8sICYke2NvbnN0cnVjdG9yQ2xhc3NOYW1l
fVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKCRjb25zdHJ1Y3RvckNsYXNzTmFtZSkgfTtc
blxuIik7CisgICAgcHVzaChAJG91dHB1dEFycmF5LCAiY29uc3QgQ2xhc3NJbmZvICR7Y29uc3Ry
dWN0b3JDbGFzc05hbWV9OjpzX2luZm8gPSB7IFwiJHt2aXNpYmxlQ2xhc3NOYW1lfUNvbnN0cnVj
dG9yXCIsICZET01Db25zdHJ1Y3Rvck9iamVjdDo6c19pbmZvLCAmJHtjb25zdHJ1Y3RvckNsYXNz
TmFtZX1UYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRSgkY29uc3RydWN0b3JDbGFzc05hbWUp
LCBzaXplb2YoJGNvbnN0cnVjdG9yQ2xhc3NOYW1lKSB9O1xuXG4iKTsKIAogICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiR7Y29uc3RydWN0b3JDbGFzc05hbWV9Ojoke2NvbnN0cnVjdG9yQ2xhc3NO
YW1lfShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dClcbiIpOwogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICA6IERPTUNvbnN0cnVjdG9yT2Jq
ZWN0KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0KVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvYy9DUnVudGltZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
Yy9DUnVudGltZU9iamVjdC5jcHAKaW5kZXggNDAyMzgzZTg4Mzg5NzMyZGIyY2U2OGQ2MmQ0NjAz
YzE0YmY4YmM4ZS4uMzExN2EyMGE1MTRkMTRjZDA3YWYzNDliYmU4YjliODU2YzYyYjJkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2MvQ1J1bnRpbWVPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL0NSdW50aW1lT2JqZWN0LmNwcApAQCAtMzUsNyArMzUs
NyBAQAogbmFtZXNwYWNlIEpTQyB7CiBuYW1lc3BhY2UgQmluZGluZ3MgewogCi1jb25zdCBDbGFz
c0luZm8gQ1J1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIkNSdW50aW1lT2JqZWN0IiwgJlJ1bnRp
bWVPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShDUnVudGltZU9iamVj
dCkgfTsKK2NvbnN0IENsYXNzSW5mbyBDUnVudGltZU9iamVjdDo6c19pbmZvID0geyAiQ1J1bnRp
bWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKENSdW50aW1lT2JqZWN0KSwgc2l6ZW9mKENSdW50aW1lT2JqZWN0KSB9OwogCiBDUnVudGlt
ZU9iamVjdDo6Q1J1bnRpbWVPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxDSW5zdGFuY2U+
IGluc3RhbmNlKQogICAgIDogUnVudGltZU9iamVjdChleGVjLCBnbG9iYWxPYmplY3QsIHN0cnVj
dHVyZSwgaW5zdGFuY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvYy9jX2lu
c3RhbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5zdGFuY2UuY3BwCmluZGV4
IDRhNTRiZmY1MDY4NzJlZmU4ZjE2OGFhMGZhMjkzYTU4OTA2OTQ4YjUuLmEzZmM5ZTk0NTIxYTQ1
YTgxODkxZDk3NmVlZDdjMmZkZDk1NWQ2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9jL2NfaW5zdGFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9jL2NfaW5z
dGFuY2UuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHJpdmF0ZToKIAogfTsKIAotY29uc3QgQ2xh
c3NJbmZvIENSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJDUnVudGltZU1ldGhvZCIsICZSdW50
aW1lTWV0aG9kOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoQ1J1bnRpbWVNZXRo
b2QpIH07Citjb25zdCBDbGFzc0luZm8gQ1J1bnRpbWVNZXRob2Q6OnNfaW5mbyA9IHsgIkNSdW50
aW1lTWV0aG9kIiwgJlJ1bnRpbWVNZXRob2Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShDUnVudGltZU1ldGhvZCksIHNpemVvZihDUnVudGltZU1ldGhvZCkgfTsKIAogSlNWYWx1
ZSBDSW5zdGFuY2U6OmdldE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5TmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
anNjL0phdmFJbnN0YW5jZUpTQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
YXZhSW5zdGFuY2VKU0MuY3BwCmluZGV4IDUwMjBiYWRkZTgwZmVkYWFiMjhiNGZhMDcwMWFjZDAy
ZjBmNDBiNGUuLjYyMjg1YzA2NWMxNmM2NGIyY2RjNzgxMzY1NDdiNGY5MTEwMTBkMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcApA
QCAtMTQ4LDcgKzE0OCw3IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotY29uc3QgQ2xhc3NJbmZv
IEphdmFSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJKYXZhUnVudGltZU1ldGhvZCIsICZSdW50
aW1lTWV0aG9kOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSmF2YVJ1bnRpbWVN
ZXRob2QpIH07Citjb25zdCBDbGFzc0luZm8gSmF2YVJ1bnRpbWVNZXRob2Q6OnNfaW5mbyA9IHsg
IkphdmFSdW50aW1lTWV0aG9kIiwgJlJ1bnRpbWVNZXRob2Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKYXZhUnVudGltZU1ldGhvZCksIHNpemVvZihKYXZhUnVudGltZU1ldGhv
ZCkgfTsKIAogSlNWYWx1ZSBKYXZhSW5zdGFuY2U6OmdldE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qbmkvanNjL0phdmFSdW50aW1lT2JqZWN0LmNwcAppbmRleCA5ZDUxN2UzOTgw
OTg5MDc0YTU4YWQ0MDBkNzI0NDllMjhjMmIxMzAyLi44OThiOTEyYjIxODYxY2U4ZTI5ZTFkNmY4
NWM2MjZmM2MxZDM5MzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pz
Yy9KYXZhUnVudGltZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9q
c2MvSmF2YVJ1bnRpbWVPYmplY3QuY3BwCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlND
IHsKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNvbnN0IENsYXNzSW5mbyBKYXZhUnVudGltZU9i
amVjdDo6c19pbmZvID0geyAiSmF2YVJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9iamVjdDo6c19p
bmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEphdmFSdW50aW1lT2JqZWN0KSB9OworY29u
c3QgQ2xhc3NJbmZvIEphdmFSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJKYXZhUnVudGltZU9i
amVjdCIsICZSdW50aW1lT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
SmF2YVJ1bnRpbWVPYmplY3QpLCBzaXplb2YoSmF2YVJ1bnRpbWVPYmplY3QpIH07CiAKIEphdmFS
dW50aW1lT2JqZWN0OjpKYXZhUnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEph
dmFJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBSdW50aW1lT2JqZWN0KGV4ZWMsIGdsb2JhbE9i
amVjdCwgc3RydWN0dXJlLCBpbnN0YW5jZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9vYmpjL09iakNSdW50aW1lT2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29i
amMvT2JqQ1J1bnRpbWVPYmplY3QubW0KaW5kZXggYjkyNGZhZDMzYzhjY2QxMGU4NDUyMmI2MTY2
OGJhMDNkYWVmNTRlNi4uN2MxNTFkYTAyNzRmYWVjNWU2NTNjZDM5MzRlNDMyZTBjMjQzMDZkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3Qu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvT2JqQ1J1bnRpbWVPYmplY3QubW0K
QEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogbmFtZXNwYWNlIEJpbmRpbmdzIHsK
IAotY29uc3QgQ2xhc3NJbmZvIE9iakNSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJPYmpDUnVu
dGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoT2JqQ1J1bnRpbWVPYmplY3QpIH07Citjb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVP
YmplY3Q6OnNfaW5mbyA9IHsgIk9iakNSdW50aW1lT2JqZWN0IiwgJlJ1bnRpbWVPYmplY3Q6OnNf
aW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShPYmpDUnVudGltZU9iamVjdCksIHNpemVv
ZihPYmpDUnVudGltZU9iamVjdCkgfTsKIAogT2JqQ1J1bnRpbWVPYmplY3Q6Ok9iakNSdW50aW1l
T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFz
c1JlZlB0cjxPYmpjSW5zdGFuY2U+IGluc3RhbmNlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKICAg
ICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19pbnN0YW5jZS5t
bSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29iamNfaW5zdGFuY2UubW0KaW5kZXggZjlh
ZGQ3OGI1MWI2ZDZmODQyOTZkOTRkZjUzMDYwYWQyYTY1ODkzNC4uN2Y4YmYyNGM3MDY5ODRmMzA2
OTViNmYxODFmZWJmNDVmYjFmMDAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L29iamMvb2JqY19pbnN0YW5jZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9v
YmpjX2luc3RhbmNlLm1tCkBAIC0yMDQsNyArMjA0LDcgQEAgcHJpdmF0ZToKICAgICB9CiB9Owog
Ci1jb25zdCBDbGFzc0luZm8gT2JqQ1J1bnRpbWVNZXRob2Q6OnNfaW5mbyA9IHsgIk9iakNSdW50
aW1lTWV0aG9kIiwgJlJ1bnRpbWVNZXRob2Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShPYmpDUnVudGltZU1ldGhvZCkgfTsKK2NvbnN0IENsYXNzSW5mbyBPYmpDUnVudGltZU1l
dGhvZDo6c19pbmZvID0geyAiT2JqQ1J1bnRpbWVNZXRob2QiLCAmUnVudGltZU1ldGhvZDo6c19p
bmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE9iakNSdW50aW1lTWV0aG9kKSwgc2l6ZW9m
KE9iakNSdW50aW1lTWV0aG9kKSB9OwogCiBKU1ZhbHVlIE9iamNJbnN0YW5jZTo6Z2V0TWV0aG9k
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvb2JqY19ydW50aW1lLm1tCmluZGV4IGNmN2YyMmU4YTdk
NWFlOTc5ZDRmZDFkOTc5YjA5NmFiNzJhYTQ5MjkuLmJkOTRkMmUxMzEyOGFjYTAyNWZlNDlhZDU2
NTY0NmNiNTczMjAxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL29i
amNfcnVudGltZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9vYmpjX3J1bnRp
bWUubW0KQEAgLTE5MCw3ICsxOTAsNyBAQCB1bnNpZ25lZCBpbnQgT2JqY0FycmF5OjpnZXRMZW5n
dGgoKSBjb25zdAogICAgIHJldHVybiBbX2FycmF5LmdldCgpIGNvdW50XTsKIH0KIAotY29uc3Qg
Q2xhc3NJbmZvIE9iamNGYWxsYmFja09iamVjdEltcDo6c19pbmZvID0geyAiT2JqY0ZhbGxiYWNr
T2JqZWN0IiwgJkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShPYmpjRmFsbGJhY2tPYmplY3RJbXApIH07Citjb25zdCBDbGFzc0luZm8gT2JqY0ZhbGxi
YWNrT2JqZWN0SW1wOjpzX2luZm8gPSB7ICJPYmpjRmFsbGJhY2tPYmplY3QiLCAmSlNOb25GaW5h
bE9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE9iamNGYWxsYmFja09i
amVjdEltcCksIHNpemVvZihPYmpjRmFsbGJhY2tPYmplY3RJbXApIH07CiAKIE9iamNGYWxsYmFj
a09iamVjdEltcDo6T2JqY0ZhbGxiYWNrT2JqZWN0SW1wKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBPYmpjSW5zdGFuY2UqIGksIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSkKICAgICA6IEpTTm9uRmluYWxPYmplY3QoZ2xvYmFsT2JqZWN0
LT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfaW5z
dGFuY2UuY3BwCmluZGV4IDBkNjFhNjAyMjkwMmIwY2M2ZjU2NDkwMjI2ZTY0OTA1OWVhMzNiYjQu
LjZmZThlNTAwMzg0NzFhYTQ5ZGFkMDYwNjIzY2Q4OWQ3N2IwZDFlYmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9pbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3F0L3F0X2luc3RhbmNlLmNwcApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgog
ICAgIFF0UnVudGltZU9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSosIFBhc3NSZWZQdHI8SW5zdGFuY2U+KTsKIH07CiAKLWNvbnN0IENsYXNzSW5mbyBRdFJ1bnRp
bWVPYmplY3Q6OnNfaW5mbyA9IHsgIlF0UnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0Ojpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUXRSdW50aW1lT2JqZWN0KSB9OworY29u
c3QgQ2xhc3NJbmZvIFF0UnVudGltZU9iamVjdDo6c19pbmZvID0geyAiUXRSdW50aW1lT2JqZWN0
IiwgJlJ1bnRpbWVPYmplY3Q6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShRdFJ1
bnRpbWVPYmplY3QpLCBzaXplb2YoUXRSdW50aW1lT2JqZWN0KSB9OwogCiBRdFJ1bnRpbWVPYmpl
Y3Q6OlF0UnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPEluc3RhbmNlPiBpbnN0
YW5jZSkKICAgICA6IFJ1bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUs
IGluc3RhbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1h
cHJ1bnRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUu
Y3BwCmluZGV4IGViMTdmZGI4N2JkNTljZTc1MWRhNDY3ZTBmNDA2ZWMxNzhhODljZjYuLmY0NTk0
MjA5OWE4YzIwZTEwZDM1NWRiNmNjYzE4MmU0MzhmMTE5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9xdC9xdF9waXhtYXBydW50aW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKQEAgLTIyOCw3ICsyMjgsNyBAQCBRdFBp
eG1hcFJ1bnRpbWVPYmplY3Q6OlF0UGl4bWFwUnVudGltZU9iamVjdChFeGVjU3RhdGUqIGV4ZWMs
IEpTR2xvYmFsT2JqZWN0KiBnbAogewogfQogCi1jb25zdCBDbGFzc0luZm8gUXRQaXhtYXBSdW50
aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJRdFBpeG1hcFJ1bnRpbWVPYmplY3QiLCAmUnVudGltZU9i
amVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFF0UGl4bWFwUnVudGltZU9i
amVjdCkgfTsKK2NvbnN0IENsYXNzSW5mbyBRdFBpeG1hcFJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9
IHsgIlF0UGl4bWFwUnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0OjpzX2luZm8sIDAsIDAs
IENSRUFURV9NRVRIT0RfVEFCTEUoUXRQaXhtYXBSdW50aW1lT2JqZWN0KSwgc2l6ZW9mKFF0UGl4
bWFwUnVudGltZU9iamVjdCkgfTsKIAogUXRQaXhtYXBDbGFzczo6UXRQaXhtYXBDbGFzcygpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcnVudGltZS5jcHAKaW5kZXggZDk2NWU5NGUzZDMx
NGVmODc4NGMwYWY5YTkyYTNiNTlkYTkxZjYyMy4uZjc3NDRjODBhOWVjNTdhOThhNzQyMWMxNzk0
NzBhNzQ5NTAwODg5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3J1
bnRpbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9xdC9xdF9ydW50aW1lLmNwcApA
QCAtMTAwNCw3ICsxMDA0LDcgQEAgSlNWYWx1ZSBjb252ZXJ0UVZhcmlhbnRUb1ZhbHVlKEV4ZWNT
dGF0ZSogZXhlYywgUGFzc1JlZlB0cjxSb290T2JqZWN0PiByb290LCBjb24KICNkZWZpbmUgUVdf
RChDbGFzcykgQ2xhc3MjI0RhdGEqIGQgPSBkX2Z1bmMoKQogI2RlZmluZSBRV19EUyhDbGFzcyxJ
bnN0YW5jZSkgQ2xhc3MjI0RhdGEqIGQgPSBJbnN0YW5jZS0+ZF9mdW5jKCkKIAotY29uc3QgQ2xh
c3NJbmZvIFF0UnVudGltZU1ldGhvZDo6c19pbmZvID0geyAiUXRSdW50aW1lTWV0aG9kIiwgJklu
dGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShRdFJ1bnRp
bWVNZXRob2QpIH07Citjb25zdCBDbGFzc0luZm8gUXRSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7
ICJRdFJ1bnRpbWVNZXRob2QiLCAmSW50ZXJuYWxGdW5jdGlvbjo6c19pbmZvLCAwLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKFF0UnVudGltZU1ldGhvZCksIHNpemVvZihRdFJ1bnRpbWVNZXRob2Qp
IH07CiAKIFF0UnVudGltZU1ldGhvZDo6UXRSdW50aW1lTWV0aG9kKFF0UnVudGltZU1ldGhvZERh
dGEqIGRkLCBFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVu
dGlmaWVyJiBpZGVudGlmaWVyKQogICAgIDogSW50ZXJuYWxGdW5jdGlvbihleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCksIHN0cnVjdHVyZSkKQEAgLTE0MjUsNyArMTQyNSw3IEBAIHN0YXRpYyBp
bnQgZmluZFNpZ25hbEluZGV4KGNvbnN0IFFNZXRhT2JqZWN0KiBtZXRhLCBpbnQgaW5pdGlhbElu
ZGV4LCBRQnl0ZUFycmF5CiAgICAgcmV0dXJuIGluZGV4OwogfQogCi1jb25zdCBDbGFzc0luZm8g
UXRSdW50aW1lTWV0YU1ldGhvZDo6c19pbmZvID0geyAiUXRSdW50aW1lTWV0aG9kIiwgJkJhc2U6
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShRdFJ1bnRpbWVNZXRhTWV0aG9kKSB9
OworY29uc3QgQ2xhc3NJbmZvIFF0UnVudGltZU1ldGFNZXRob2Q6OnNfaW5mbyA9IHsgIlF0UnVu
dGltZU1ldGhvZCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUXRS
dW50aW1lTWV0YU1ldGhvZCksIHNpemVvZihRdFJ1bnRpbWVNZXRhTWV0aG9kKSB9OwogCiBRdFJ1
bnRpbWVNZXRhTWV0aG9kOjpRdFJ1bnRpbWVNZXRhTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiAgICAgOiBR
dFJ1bnRpbWVNZXRob2QgKG5ldyBRdFJ1bnRpbWVNZXRhTWV0aG9kRGF0YSgpLCBleGVjLCBzdHJ1
Y3R1cmUsIGlkZW50aWZpZXIpCkBAIC0xNTgyLDcgKzE1ODIsNyBAQCBKU1ZhbHVlIFF0UnVudGlt
ZU1ldGFNZXRob2Q6OmRpc2Nvbm5lY3RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNs
b3RCYXNlLAogCiBRTXVsdGlNYXA8UU9iamVjdCosIFF0Q29ubmVjdGlvbk9iamVjdCo+IFF0UnVu
dGltZUNvbm5lY3Rpb25NZXRob2Q6OmNvbm5lY3Rpb25zOwogCi1jb25zdCBDbGFzc0luZm8gUXRS
dW50aW1lQ29ubmVjdGlvbk1ldGhvZDo6c19pbmZvID0geyAiUXRSdW50aW1lTWV0aG9kIiwgJkJh
c2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShRdFJ1bnRpbWVDb25uZWN0aW9u
TWV0aG9kKSB9OworY29uc3QgQ2xhc3NJbmZvIFF0UnVudGltZUNvbm5lY3Rpb25NZXRob2Q6OnNf
aW5mbyA9IHsgIlF0UnVudGltZU1ldGhvZCIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoUXRSdW50aW1lQ29ubmVjdGlvbk1ldGhvZCksIHNpemVvZihRdFJ1bnRpbWVD
b25uZWN0aW9uTWV0aG9kKSB9OwogCiBRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kOjpRdFJ1bnRp
bWVDb25uZWN0aW9uTWV0aG9kKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCiAgICAgOiBRdFJ1bnRpbWVNZXRob2QgKG5l
dyBRdFJ1bnRpbWVDb25uZWN0aW9uTWV0aG9kRGF0YSgpLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50
aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKaW5kZXggYjY4ODJl
ZGZlMDc1NTFlNmJjMDRlYWNmMjJmZGUzN2JjN2QxMTJkOS4uODRlMjcwYjQ5ZmJhNDVkNTMzOGNi
MTk2ZWRiMjI5NTQ2YzA1MjZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfYXJyYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5
LmNwcApAQCAtMzUsNyArMzUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLWNvbnN0IENsYXNzSW5mbyBSdW50aW1lQXJyYXk6OnNfaW5mbyA9IHsgIlJ1
bnRpbWVBcnJheSIsICZKU0FycmF5OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
UnVudGltZUFycmF5KSB9OworY29uc3QgQ2xhc3NJbmZvIFJ1bnRpbWVBcnJheTo6c19pbmZvID0g
eyAiUnVudGltZUFycmF5IiwgJkpTQXJyYXk6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShSdW50aW1lQXJyYXkpLCBzaXplb2YoUnVudGltZUFycmF5KSB9OwogCiBSdW50aW1lQXJy
YXk6OlJ1bnRpbWVBcnJheShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ICAgIDogSlNBcnJheShleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2UvcnVudGltZV9tZXRob2QuY3BwCmluZGV4IDBlNTVjMTY0Y2I0ZDcyZWI1NzM2OWJi
OTZlZjhlMTI3ZTMwYTdlNTguLmVkMDk5M2E3ODg5NjJkNmYwNThiODJkMjNkZmMyNTgwY2Q5YTZh
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmNwcApAQCAtNDEsNyAr
NDEsNyBAQCB1c2luZyBuYW1lc3BhY2UgQmluZGluZ3M7CiAKIEFTU0VSVF9DTEFTU19GSVRTX0lO
X0NFTEwoUnVudGltZU1ldGhvZCk7CiAKLWNvbnN0IENsYXNzSW5mbyBSdW50aW1lTWV0aG9kOjpz
X2luZm8gPSB7ICJSdW50aW1lTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRShSdW50aW1lTWV0aG9kKSB9OworY29uc3QgQ2xhc3NJbmZv
IFJ1bnRpbWVNZXRob2Q6OnNfaW5mbyA9IHsgIlJ1bnRpbWVNZXRob2QiLCAmSW50ZXJuYWxGdW5j
dGlvbjo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJ1bnRpbWVNZXRob2QpLCBz
aXplb2YoUnVudGltZU1ldGhvZCkgfTsKIAogUnVudGltZU1ldGhvZDo6UnVudGltZU1ldGhvZChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQmluZGlu
Z3M6Ok1ldGhvZExpc3QmIG0pCiAgICAgLy8gQ2FsbGVycyB3aWxsIG5lZWQgdG8gcGFzcyBpbiB0
aGUgcmlnaHQgZ2xvYmFsIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoaXMgbmF0aXZlIG9iamVj
dCAibSIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAppbmRleCBkZjEx
ZmViNmNhOThlYWM5MjJhOGEwZjM2YzNiMDc5ZDNkYzVjZjVlLi4zMTE3MjhiNjRjNWQ5YjY5NWJl
OWQwYThjMTUyN2UyMTg3NGFiMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29i
amVjdC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1l
c3BhY2UgSlNDIHsKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNvbnN0IENsYXNzSW5mbyBSdW50
aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJSdW50aW1lT2JqZWN0IiwgJkpTTm9uRmluYWxPYmplY3Q6
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShSdW50aW1lT2JqZWN0KSB9OworY29u
c3QgQ2xhc3NJbmZvIFJ1bnRpbWVPYmplY3Q6OnNfaW5mbyA9IHsgIlJ1bnRpbWVPYmplY3QiLCAm
SlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJ1bnRp
bWVPYmplY3QpLCBzaXplb2YoUnVudGltZU9iamVjdCkgfTsKIAogUnVudGltZU9iamVjdDo6UnVu
dGltZU9iamVjdChFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxJbnN0YW5jZT4gaW5zdGFuY2UpCiAgICAgOiBK
U05vbkZpbmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpLCBzdHJ1Y3R1cmUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggOWQ2NDFjNjdiNjlhNjY5NTEyNWQ0OTJkNWI2Y2FjZDhlOWRhMTRh
ZS4uMTk2YWFkMzIxOGYzMmMyYjYyYTI5YTljYTdlNjAyYWVmMTQ3MmQwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTEwLTA1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFo
bmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRo
ZWlyIG93biBjZWxsIHNpemUgYXQgcnVudGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRoZWlyIGNlbGwg
c2l6ZSBhdCBydW50aW1lIGZvciBzb21lIG9mIHRoZSAKKyAgICAgICAgbmV3IEdDIHdvcmsgdGhh
dCB3ZSdyZSBkb2luZy4gIFRoaXMgcGF0Y2hlcyBnaXZlcyAKKyAgICAgICAgSlNDZWxsIGEgY2Vs
bFNpemUoKSBtZXRob2QgdG8gbG9vayB1cCB0aGUgY2VsbCBzaXplIG9mIHRoZSBjdXJyZW50IG9i
amVjdCwKKyAgICAgICAgd2hpY2ggaXMgaW4gdHVybiBzdG9yZWQgaW4gdGhlIENsYXNzSW5mbyBz
dHJ1Y3QgZm9yIGVhY2ggY2xhc3MuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9Qcm94eUlu
c3RhbmNlLm1tOgorICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5t
bToKKwogMjAxMS0xMC0wNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSW50cm9kdWNlIGZlYXR1cmUgZmxhZ3MgZm9yIGluY29tcGxldGUgaW5wdXQgdHlwZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5SW5zdGFu
Y2UubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLm1t
CmluZGV4IGEzOTY2OWNhNTAzZDNjZDdjYzg3ODgwMmVjYmMzYmZhOGEyODFhNTkuLmVmZmY3Yjk1
NTgyOGQ5ZGRkYzc3OTljZjQyMzRjNTgxMDVhNzUyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5SW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvUHJveHlJbnN0YW5jZS5tbQpAQCAtMjExLDcgKzIxMSw3IEBA
IHByaXZhdGU6CiAgICAgfQogfTsKIAotY29uc3QgQ2xhc3NJbmZvIFByb3h5UnVudGltZU1ldGhv
ZDo6c19pbmZvID0geyAiUHJveHlSdW50aW1lTWV0aG9kIiwgJlJ1bnRpbWVNZXRob2Q6OnNfaW5m
bywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShQcm94eVJ1bnRpbWVNZXRob2QpIH07Citjb25z
dCBDbGFzc0luZm8gUHJveHlSdW50aW1lTWV0aG9kOjpzX2luZm8gPSB7ICJQcm94eVJ1bnRpbWVN
ZXRob2QiLCAmUnVudGltZU1ldGhvZDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KFByb3h5UnVudGltZU1ldGhvZCksIHNpemVvZihQcm94eVJ1bnRpbWVNZXRob2QpIH07CiAKIEpT
VmFsdWUgUHJveHlJbnN0YW5jZTo6Z2V0TWV0aG9kKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBjb25z
dCBKU0M6OklkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5UnVudGltZU9iamVjdC5tbQppbmRleCBmNTMx
OTI0OWNiOGNmZWZiZTA1MmMzMTU1ZDFjOWIwNmRkYjQ3MzU5Li4xZjgyOThjMzJlY2E3NDVmMjk0
NjZkZjA5ZmYyYzI2MTIzOTljNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9Qcm94eVJ1bnRpbWVPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9Ib3N0ZWQvUHJveHlSdW50aW1lT2JqZWN0Lm1tCkBAIC0zNCw3ICszNCw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogCi1jb25zdCBDbGFzc0lu
Zm8gUHJveHlSdW50aW1lT2JqZWN0OjpzX2luZm8gPSB7ICJQcm94eVJ1bnRpbWVPYmplY3QiLCAm
UnVudGltZU9iamVjdDo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFByb3h5UnVu
dGltZU9iamVjdCkgfTsKK2NvbnN0IENsYXNzSW5mbyBQcm94eVJ1bnRpbWVPYmplY3Q6OnNfaW5m
byA9IHsgIlByb3h5UnVudGltZU9iamVjdCIsICZSdW50aW1lT2JqZWN0OjpzX2luZm8sIDAsIDAs
IENSRUFURV9NRVRIT0RfVEFCTEUoUHJveHlSdW50aW1lT2JqZWN0KSwgc2l6ZW9mKFByb3h5UnVu
dGltZU9iamVjdCkgfTsKIAogUHJveHlSdW50aW1lT2JqZWN0OjpQcm94eVJ1bnRpbWVPYmplY3Qo
RXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxQcm94eUluc3RhbmNlPiBpbnN0YW5jZSkKICAgICA6IFJ1
bnRpbWVPYmplY3QoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIGluc3RhbmNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDk2ZjE3NDdhZDNkNDY5NmQ4NGMxMGI2YjU5MWVlOTVlNjlkNTY5NGEuLmM3MTg4
MGVkNmQxMjQ4OWY3YWJlMTMyYmFiOWI2MzE3N2U2MTA1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxMS0xMC0wNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUu
Y29tPgorCisgICAgICAgIEpTQyBvYmplY3RzIG5lZWQgdG8ga25vdyB0aGVpciBvd24gY2VsbCBz
aXplIGF0IHJ1bnRpbWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02OTM5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEpTQyBvYmplY3RzIG5lZWQgdG8ga25vdyB0aGVpciBjZWxsIHNpemUgYXQgcnVudGlt
ZSBmb3Igc29tZSBvZiB0aGUgCisgICAgICAgIG5ldyBHQyB3b3JrIHRoYXQgd2UncmUgZG9pbmcu
ICBUaGlzIHBhdGNoZXMgZ2l2ZXMgCisgICAgICAgIEpTQ2VsbCBhIGNlbGxTaXplKCkgbWV0aG9k
IHRvIGxvb2sgdXAgdGhlIGNlbGwgc2l6ZSBvZiB0aGUgY3VycmVudCBvYmplY3QsCisgICAgICAg
IHdoaWNoIGlzIGluIHR1cm4gc3RvcmVkIGluIHRoZSBDbGFzc0luZm8gc3RydWN0IGZvciBlYWNo
IGNsYXNzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRo
b2QuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmNwcDoKKwogMjAxMS0xMC0wNSAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBbUXRdW1dLMl0gRGVmYXVsdCBkaXJlY3RvcmllcyBhbmQgcGF0
aHMgYXJlIG1pc3NpbmcgZm9yIExvY2FsU3RvcmFnZSwgRGF0YWJhc2UgYW5kIEljb25EYXRhYmFz
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9KU05QTWV0aG9kLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9KU05QTWV0aG9kLmNwcAppbmRleCBmYTg4ZmU1ZTBjOGUwMTU0ZmM1NmFiMTFhODgzYWI2
YmRlMzA4OWIxLi41NzU3NWUyZGNhYzk3NzFkMjgzMjM0ODBmN2MzNWNlZTc3MWZmNGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1l
dGhvZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L0pTTlBNZXRob2QuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY29uc3QgQ2xhc3NJbmZvIEpTTlBNZXRob2Q6OnNf
aW5mbyA9IHsgIk5QTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU05QTWV0aG9kKSB9OworY29uc3QgQ2xhc3NJbmZvIEpTTlBNZXRo
b2Q6OnNfaW5mbyA9IHsgIk5QTWV0aG9kIiwgJkludGVybmFsRnVuY3Rpb246OnNfaW5mbywgMCwg
MCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU05QTWV0aG9kKSwgc2l6ZW9mKEpTTlBNZXRob2QpIH07
CiAKIEpTTlBNZXRob2Q6OkpTTlBNZXRob2QoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIE5QSWRlbnRpZmllciBucElkZW50aWZpZXIpCiAgICAgOiBJ
bnRlcm5hbEZ1bmN0aW9uKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3Bw
CmluZGV4IGFlOWI5ZTg0NWEyYzEyZjAwOWZkYTY3YmJmODU1MDhiNzRjM2QxZDAuLmFhNGRkYTQz
OWRhYzU4MjA4ZTdjNTEwN2I0ZWZmOTFmMzIxYWIxOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKQEAg
LTQ4LDcgKzQ4LDcgQEAgc3RhdGljIE5QSWRlbnRpZmllciBucElkZW50aWZpZXJGcm9tSWRlbnRp
Zmllcihjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyKQogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxOUElkZW50aWZpZXI+KElkZW50aWZpZXJSZXA6OmdldChpZGVudGlmaWVyLnVzdHJpbmcoKS51
dGY4KCkuZGF0YSgpKSk7CiB9CiAKLWNvbnN0IENsYXNzSW5mbyBKU05QT2JqZWN0OjpzX2luZm8g
PSB7ICJOUE9iamVjdCIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNOUE9iamVjdCkgfTsKK2NvbnN0IENsYXNzSW5mbyBKU05QT2JqZWN0Ojpz
X2luZm8gPSB7ICJOUE9iamVjdCIsICZKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sIDAsIDAsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNOUE9iamVjdCksIHNpemVvZihKU05QT2JqZWN0KSB9OwogCiBK
U05QT2JqZWN0OjpKU05QT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgTlBPYmplY3Qq
IG5wT2JqZWN0KQogICAgIDogSlNOb25GaW5hbE9iamVjdChnbG9iYWxPYmplY3QtPmdsb2JhbERh
dGEoKSwgc3RydWN0dXJlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109834</attachid>
            <date>2011-10-05 12:07:28 -0700</date>
            <delta_ts>2011-10-05 13:52:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69390-20111005120724.patch</filename>
            <type>text/plain</type>
            <size>3743</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDU4
MDQ1NTBlZTJmOTRiODg2YjUzOTQ1MzdkYTgyMWY4MDQ3MzE5ZTAuLmYxOGUzMGRhOTZmOWU1ZTg2
NjIzZDU0MzVlMzYxN2E0NmNlYjRmNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIyIEBACisyMDExLTEwLTA1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRoZWlyIG93biBjZWxs
IHNpemUgYXQgcnVudGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY5MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgdGhlIGNlbGxTaXplIGZpZWxkIHRvIENsYXNzSW5mbywgdGhlIGNlbGxT
aXplKCkgbWV0aG9kIHRvIEpTQ2VsbCAKKyAgICAgICAgd2hpY2ggbG9va3MgdXAgdGhlIG5ldyBm
aWVsZCBpbiBDbGFzc0luZm8sIGFuZCB0aGUgc3RhdGljIGNhbGN1bGF0aW9uIG9mIAorICAgICAg
ICBzaXplIG9mIGVhY2ggY2xhc3MgdG8gdGhlIENSRUFURV9NRVRIT0RfVEFCTEUgbWFjcm8sIHdo
aWNoIHdpbGwgYmUgCisgICAgICAgIHJlbmFtZWQgaW4gYSBmb2xsb3d1cCBwYXRjaCB0byBtYWtl
IGl0cyBuYW1lIG1hdGNoIGl0cyBicm9hZGVyIHVzZS4KKworICAgICAgICAqIHJ1bnRpbWUvQ2xh
c3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1l
L0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6Y2VsbFNpemUpOgorICAgICAgICAq
IHJ1bnRpbWUvV3JpdGVCYXJyaWVyLmg6CisgICAgICAgIChKU0M6OnZhbGlkYXRlQ2VsbCk6CisK
IDIwMTEtMTAtMDUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgR2V0IHJpZCBvZiBwb3NpeFRocmVhZCBpbiBNYWNoaW5lU3RhY2tNYXJrZXI6OlRocmVh
ZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8uaAppbmRleCAwOGQ5YzYw
Yzc1MDZmNzUxMDU2NmNlYmZmZWMzY2I5YWMyNTcyZDMwLi5mMDc2YTc5NDU0NWU2ZjVmMjQ1YWI1
ZjhkYzM3YTlkMDY3MThkNTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9DbGFzc0luZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFz
c0luZm8uaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICNkZWZpbmUgQ1JFQVRF
X01FVEhPRF9UQUJMRShDbGFzc05hbWUpIHsgXAogICAgICAgICAmQ2xhc3NOYW1lOjp2aXNpdENo
aWxkcmVuLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldENhbGxEYXRhIFwKLSAgICB9CisgICAg
fSwgXAorICAgIHNpemVvZihDbGFzc05hbWUpCiAKICAgICBzdHJ1Y3QgQ2xhc3NJbmZvIHsKICAg
ICAgICAgLyoqCkBAIC03OSw2ICs4MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBjb25z
dCBDbGFzc1Byb3BIYXNoVGFibGVHZXR0ZXJGdW5jdGlvbiBjbGFzc1Byb3BIYXNoVGFibGVHZXR0
ZXJGdW5jdGlvbjsKIAogICAgICAgICBNZXRob2RUYWJsZSBtZXRob2RUYWJsZTsKKworICAgICAg
ICBzaXplX3QgY2VsbFNpemU7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDk3OGY5OWM4MzgxNDZiNTNhNTkxOTk3
MTc0NzgwMDBiYWQwN2U3YzYuLjY0YWU0NDA0YWIyYTRiMDlmNzM1N2EzYzE0OGZmZjJhMjgxY2I2
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC02Myw2ICs2Myw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3Q7
CiAgICAgICAgIGJvb2wgaW5oZXJpdHMoY29uc3QgQ2xhc3NJbmZvKikgY29uc3Q7CiAgICAgICAg
IGJvb2wgaXNBUElWYWx1ZVdyYXBwZXIoKSBjb25zdDsKKyAgICAgICAgc2l6ZV90IGNlbGxTaXpl
KCkgY29uc3Q7CiAKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKSBjb25zdDsKICAgICAg
ICAgdm9pZCBzZXRTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiwgU3RydWN0dXJlKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAppbmRleCBiM2E1YThkYmY2YTJlYTZmOTQx
ZTJkZmQ2N2FmOWE0ZWM4MmQ4MThhLi5mNWE3NDAwMjFiMzRjM2NmY2IxNWQyYzdiYTRiMmM4ZGI5
ODNiYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKQEAgLTQ4
Niw2ICs0ODYsMTEgQEAgaW5saW5lIGNvbnN0IE1ldGhvZFRhYmxlKiBKU0NlbGw6Om1ldGhvZFRh
YmxlKCkgY29uc3QKICAgICByZXR1cm4gJmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZTsKIH0KIAor
aW5saW5lIHNpemVfdCBKU0NlbGw6OmNlbGxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2xh
c3NJbmZvKCktPmNlbGxTaXplOworfQorCiAvLyB0aGlzIG1ldGhvZCBpcyBoZXJlIHRvIGJlIGFm
dGVyIHRoZSBpbmxpbmUgZGVjbGFyYXRpb24gb2YgSlNDZWxsOjppbmhlcml0cwogaW5saW5lIGJv
b2wgSlNWYWx1ZTo6aW5oZXJpdHMoY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8pIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCmluZGV4IDYy
MjNkOWEzYjEwMTMzNzUyNGVjYTUxNzdiZGQ0MDgwZTg3ZGVmNmYuLmU3NmJhYWQ1ZGFjMjFiMWY4
ZDExOTk3NjkwYjU1NWY3M2E4M2FjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dyaXRlQmFycmllci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllci5oCkBAIC00Nyw2ICs0Nyw3IEBAIHZvaWQgc2xvd1ZhbGlkYXRlQ2Vs
bChKU0dsb2JhbE9iamVjdCopOwogdGVtcGxhdGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQgdmFsaWRh
dGVDZWxsKFQgY2VsbCkKIHsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNlbGwsICZX
VEY6OlJlbW92ZVBvaW50ZXI8VD46OlR5cGU6OnNfaW5mbyk7CisgICAgQVNTRVJUKFdURjo6UmVt
b3ZlUG9pbnRlcjxUPjo6VHlwZTo6c19pbmZvLmNlbGxTaXplID09IHNpemVvZih0eXBlbmFtZSBX
VEY6OlJlbW92ZVBvaW50ZXI8VD46OlR5cGUpKTsKIH0KIAogdGVtcGxhdGU8PiBpbmxpbmUgdm9p
ZCB2YWxpZGF0ZUNlbGw8SlNDZWxsKj4oSlNDZWxsKiBjZWxsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109855</attachid>
            <date>2011-10-05 13:52:10 -0700</date>
            <delta_ts>2011-10-05 14:17:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69390-20111005135208.patch</filename>
            <type>text/plain</type>
            <size>12954</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDU4
MDQ1NTBlZTJmOTRiODg2YjUzOTQ1MzdkYTgyMWY4MDQ3MzE5ZTAuLjE2ZTY0ZWIyNjQyNDIyMjA2
Nzg1MDM3OTZkNGI5NDUzOTdmODcwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM3IEBACisyMDExLTEwLTA1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRoZWlyIG93biBjZWxs
IHNpemUgYXQgcnVudGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY5MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgdGhlIGNlbGxTaXplIGZpZWxkIHRvIENsYXNzSW5mbywgdGhlIGNlbGxT
aXplKCkgbWV0aG9kIHRvIEpTQ2VsbCAKKyAgICAgICAgd2hpY2ggbG9va3MgdXAgdGhlIG5ldyBm
aWVsZCBpbiBDbGFzc0luZm8sIGFuZCB0aGUgc3RhdGljIGNhbGN1bGF0aW9uIG9mIAorICAgICAg
ICBzaXplIG9mIGVhY2ggY2xhc3MgdG8gdGhlIENSRUFURV9NRVRIT0RfVEFCTEUgbWFjcm8sIHdo
aWNoIHdpbGwgYmUgCisgICAgICAgIHJlbmFtZWQgaW4gYSBmb2xsb3d1cCBwYXRjaCB0byBtYWtl
IGl0cyBuYW1lIG1hdGNoIGl0cyBicm9hZGVyIHVzZS4KKworICAgICAgICBBbHNvIGFkZGVkIGEg
ZmV3IENsYXNzSW5mbyBzdHJ1Y3RzIHNvIHRoYXQgZWFjaCBvYmplY3QgdGhhdCBpcyBhbGxvY2F0
ZWQgaGFzIGl0cyAKKyAgICAgICAgY29ycmVjdCBzaXplLiAgCisKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS5leHA6CisgICAgICAgICogcnVudGltZS9DbGFzc0luZm8uaDoKKworICAgICAgICBD
aGFuZ2VkIEpTQnl0ZUFycmF5IHNfZGVmYXVsdEluZm8gdG8gc19pbmZvIHNvIHRoYXQgdGhlIHRl
bXBsYXRlIHdpbGwgZ2V0IHRoZSAKKyAgICAgICAgY29ycmVjdCBDbGFzc0luZm8gc3RydWN0IGZy
b20gaXQgd2hlbiBpdCdzIGFsbG9jYXRlZC4KKyAgICAgICAgKiBydW50aW1lL0pTQnl0ZUFycmF5
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTQnl0ZUFycmF5Lmg6CisgICAgICAgICogcnVudGlt
ZS9KU0NlbGwuaDoKKyAgICAgICAgKEpTQzo6YWxsb2NhdGVDZWxsKToKKyAgICAgICAgKiBydW50
aW1lL0pTTm90QW5PYmplY3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNOb3RBbk9iamVjdC5o
OgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNDZWxsOjpjZWxsU2l6ZSk6CisgICAgICAgICogcnVu
dGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTU3RhdGlj
U2NvcGVPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmNw
cDoKKyAgICAgICAgKiBydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmg6CisKIDIwMTEtMTAt
MDUgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR2V0
IHJpZCBvZiBwb3NpeFRocmVhZCBpbiBNYWNoaW5lU3RhY2tNYXJrZXI6OlRocmVhZApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggZmM4Y2QyMTliNDUyNmFjNDA4
ZjE1NGYyZGU2ZmI0N2E4YmQ0ZjlmMC4uOTNjNjEyYzFiNzdmZWRmZDcyZTFiZmVmZDkyNzA2NWUx
ZmM5ZTBiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0x
MTQsOCArMTE0LDggQEAgX19aTjNKU0MxMEpTRnVuY3Rpb242c19pbmZvRQogX19aTjNKU0MxMEpT
RnVuY3Rpb25DMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNfOVN0cnVj
dHVyZUUKIF9fWk4zSlNDMTB0aHJvd0Vycm9yRVBOU185RXhlY1N0YXRlRU5TXzdKU1ZhbHVlRQog
X19aTjNKU0MxMHRocm93RXJyb3JFUE5TXzlFeGVjU3RhdGVFUE5TXzhKU09iamVjdEUKLV9fWk4z
SlNDMTFKU0J5dGVBcnJheTEzc19kZWZhdWx0SW5mb0UKIF9fWk4zSlNDMTFKU0J5dGVBcnJheTE1
Y3JlYXRlU3RydWN0dXJlRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfMTRKU0dsb2JhbE9iamVjdEVO
U183SlNWYWx1ZUVQS05TXzlDbGFzc0luZm9FCitfX1pOM0pTQzExSlNCeXRlQXJyYXk2c19pbmZv
RQogX19aTjNKU0MxMUpTQnl0ZUFycmF5QzFFUE5TXzlFeGVjU3RhdGVFUE5TXzlTdHJ1Y3R1cmVF
UE4zV1RGOUJ5dGVBcnJheUUKIF9fWk4zSlNDMTVBbGxvY2F0aW9uU3BhY2UxNmFsbG9jYXRlU2xv
d0Nhc2VFUk5TXzExTWFya2VkU3BhY2U5U2l6ZUNsYXNzRQogX19aTjNKU0MxMVBhcnNlckFyZW5h
NXJlc2V0RXYKQEAgLTE1NSw2ICsxNTUsNyBAQCBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0MjRnZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZQogX19a
TjNKU0MxMlN0cmluZ09iamVjdDNwdXRFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJF
TlNfN0pTVmFsdWVFUk5TXzE1UHV0UHJvcGVydHlTbG90RQogX19aTjNKU0MxMlN0cmluZ09iamVj
dDZzX2luZm9FCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0QzJFUk5TXzEySlNHbG9iYWxEYXRhRVBO
U185U3RydWN0dXJlRQorX19aTjNKU0MxM0pTRmluYWxPYmplY3Q2c19pbmZvRQogX19aTjNKU0Mx
M1NhbXBsaW5nRmxhZ3M0c3RvcEV2CiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczVzdGFydEV2CiBf
X1pOM0pTQzEzU2FtcGxpbmdGbGFnczdzX2ZsYWdzRQpAQCAtMzI3LDYgKzMyOCw3IEBAIF9fWk4z
SlNDOEpTT2JqZWN0MjRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktO
U18xMElkZW50aWZpZXJFUk5TCiBfX1pOM0pTQzhKU09iamVjdDNwdXRFUE5TXzlFeGVjU3RhdGVF
UktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVFUk5TXzE1UHV0UHJvcGVydHlTbG90RQogX19a
TjNKU0M4SlNPYmplY3QzcHV0RVBOU185RXhlY1N0YXRlRWpOU183SlNWYWx1ZUUKIF9fWk4zSlND
OEpTT2JqZWN0NnNfaW5mb0UKK19fWk4zSlNDOEpTU3RyaW5nNnNfaW5mb0UKIF9fWk4zSlNDOFBy
b2ZpbGVyMTNzdG9wUHJvZmlsaW5nRVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCiBfX1pO
M0pTQzhQcm9maWxlcjE0c3RhcnRQcm9maWxpbmdFUE5TXzlFeGVjU3RhdGVFUktOU183VVN0cmlu
Z0UKIF9fWk4zSlNDOFByb2ZpbGVyOHByb2ZpbGVyRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ2xhc3NJbmZvLmgKaW5kZXggMDhkOWM2MGM3NTA2Zjc1MTA1NjZjZWJmZmVjM2NiOWFj
MjU3MmQzMC4uZjA3NmE3OTQ1NDVlNmY1ZjI0NWFiNWY4ZGMzN2E5ZDA2NzE4ZDUxYSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKQEAgLTQxLDcgKzQxLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAjZGVmaW5lIENSRUFURV9NRVRIT0RfVEFCTEUoQ2xhc3NOYW1lKSB7
IFwKICAgICAgICAgJkNsYXNzTmFtZTo6dmlzaXRDaGlsZHJlbiwgXAogICAgICAgICAmQ2xhc3NO
YW1lOjpnZXRDYWxsRGF0YSBcCi0gICAgfQorICAgIH0sIFwKKyAgICBzaXplb2YoQ2xhc3NOYW1l
KQogCiAgICAgc3RydWN0IENsYXNzSW5mbyB7CiAgICAgICAgIC8qKgpAQCAtNzksNiArODAsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgY29uc3QgQ2xhc3NQcm9wSGFzaFRhYmxlR2V0dGVy
RnVuY3Rpb24gY2xhc3NQcm9wSGFzaFRhYmxlR2V0dGVyRnVuY3Rpb247CiAKICAgICAgICAgTWV0
aG9kVGFibGUgbWV0aG9kVGFibGU7CisKKyAgICAgICAgc2l6ZV90IGNlbGxTaXplOwogICAgIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNCeXRlQXJyYXkuY3BwCmluZGV4IDVjZWU4M2M1NTgwZTAxNmZiZThkOGJiNWI5ZDA4ODc4OTY1
MjYzOGEuLjI3NTk3YmExN2Q4N2FmMmY2Y2MwN2MzMWM4OWVlYzg4ZmM0YjQ3MDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5jcHAKQEAgLTMzLDcgKzMz
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNvbnN0IENs
YXNzSW5mbyBKU0J5dGVBcnJheTo6c19kZWZhdWx0SW5mbyA9IHsgIkJ5dGVBcnJheSIsICZCYXNl
OjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNCeXRlQXJyYXkpIH07Citjb25z
dCBDbGFzc0luZm8gSlNCeXRlQXJyYXk6OnNfaW5mbyA9IHsgIkJ5dGVBcnJheSIsICZCYXNlOjpz
X2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNCeXRlQXJyYXkpIH07CiAKIEpTQnl0
ZUFycmF5OjpKU0J5dGVBcnJheShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBCeXRlQXJyYXkqIHN0b3JhZ2UpCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNCeXRlQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0
ZUFycmF5LmgKaW5kZXggMWNhNGVjN2RmYzY4NjJhYzBjZTdjNDQyNzMwODkzNWY5ODQ2YTRkZS4u
MjQyNDhjMjhmOGI0ZTVmNjRhMzNmYWE5OWNhZjRiODE0ZDVkNTc5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5oCkBAIC04Niw3ICs4Niw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICAgICB9CiAKLSAgICAg
ICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiA9ICZz
X2RlZmF1bHRJbmZvKTsKKyAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KEpTR2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0
IEpTQzo6Q2xhc3NJbmZvKiA9ICZzX2luZm8pOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRP
d25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50aWZpZXImIHBy
b3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIGdl
dE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwg
SlNDOjpQcm9wZXJ0eVNsb3QmKTsKQEAgLTk2LDcgKzk2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OlByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRl
RG9udEVudW1Qcm9wZXJ0aWVzKTsKIAotICAgICAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNf
ZGVmYXVsdEluZm87CisgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOwogICAg
ICAgICAKICAgICAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmFnZS0+
bGVuZ3RoKCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA5
NzhmOTljODM4MTQ2YjUzYTU5MTk5NzE3NDc4MDAwYmFkMDdlN2M2Li45ZGQ0ODE3YWE0OTU1ZmNl
OWI5NWZlNjgzZDkwYTEwODg5M2UzNGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaApAQCAtNjMsNiArNjMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBp
c0dldHRlclNldHRlcigpIGNvbnN0OwogICAgICAgICBib29sIGluaGVyaXRzKGNvbnN0IENsYXNz
SW5mbyopIGNvbnN0OwogICAgICAgICBib29sIGlzQVBJVmFsdWVXcmFwcGVyKCkgY29uc3Q7Cisg
ICAgICAgIHNpemVfdCBjZWxsU2l6ZSgpIGNvbnN0OwogCiAgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYs
IFN0cnVjdHVyZSopOwpAQCAtMzE5LDYgKzMyMCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkKiBhbGxvY2F0ZUNlbGwoSGVhcCYgaGVhcCkKICAgICB7
CiAjaWYgRU5BQkxFKEdDX1ZBTElEQVRJT04pCisgICAgICAgIEFTU0VSVChzaXplb2YoVCkgPT0g
VDo6c19pbmZvLmNlbGxTaXplKTsKICAgICAgICAgQVNTRVJUKCFoZWFwLmdsb2JhbERhdGEoKS0+
aXNJbml0aWFsaXppbmdPYmplY3QoKSk7CiAgICAgICAgIGhlYXAuZ2xvYmFsRGF0YSgpLT5zZXRJ
bml0aWFsaXppbmdPYmplY3QodHJ1ZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKaW5kZXggOWFlNzk2NGZmNTM0YzY4ZDNjNGQ3
NjFhOGY1ZmU0MjFmM2U0YjdmYy4uMGQ1ODliZjJmYTIzZjc3YmU0ODUwZjdlOGQ4ZmEwNjhjN2E4
ZTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9i
amVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVj
dC5jcHAKQEAgLTM2LDYgKzM2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VSVF9DTEFTU19G
SVRTX0lOX0NFTEwoSlNOb3RBbk9iamVjdCk7CiAKK2NvbnN0IENsYXNzSW5mbyBKU05vdEFuT2Jq
ZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKEpTTm90QW5PYmplY3QpIH07CisKIC8vIEpTVmFsdWUgbWV0aG9kcwogSlNWYWx1
ZSBKU05vdEFuT2JqZWN0OjpkZWZhdWx0VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQcmVmZXJyZWRQ
cmltaXRpdmVUeXBlKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNOb3RBbk9iamVjdC5oCmluZGV4IDAzZTU1MTg0YjMzMGM1Y2EyZWYxOGUyZTJkMTNiYmJjZGNj
NGZmZGEuLmFkYWZlYmU0OWJhMDBjZWM5N2FkMjY5ZDlkYzY2MzU1NzZiZjNhMmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmgKQEAgLTU4LDYgKzU4
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVh
dGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5
cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAorICAgICAgICBzdGF0
aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKKwogICAgICBwcml2YXRlOgogICAgICAgICAKICAg
ICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0
T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpT
dHJ1Y3R1cmVGbGFnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAppbmRleCA2NDVkOTU5MzY3YmYwMWFjM2VjNTVhMmViMTAxMDQ2OTg3ZTNkZDgwLi40YmE2Zjhh
NmVhMGYwZmUwYTQ3MDQ3ZmJiZWQ0M2E5MGNkMjQ4Njg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC00OSw2ICs0OSw4IEBAIGNvbnN0IGNoYXIqIFN0
cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvciA9ICJBdHRlbXB0ZWQgdG8gYXNzaWdu
IHRvIHJlYWRvCiAKIGNvbnN0IENsYXNzSW5mbyBKU09iamVjdDo6c19pbmZvID0geyAiT2JqZWN0
IiwgMCwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09iamVjdCkgfTsKIAorY29uc3QgQ2xh
c3NJbmZvIEpTRmluYWxPYmplY3Q6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZCYXNlOjpzX2luZm8s
IDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNGaW5hbE9iamVjdCkgfTsKKwogc3RhdGljIGlu
bGluZSB2b2lkIGdldENsYXNzUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENs
YXNzSW5mbyogY2xhc3NJbmZvLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51
bWVyYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgLy8gQWRkIHByb3BlcnRpZXMgZnJvbSB0aGUgc3Rh
dGljIGhhc2h0YWJsZXMgb2YgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgKaW5kZXggYjNhNWE4ZGJmNmEyZWE2Zjk0MWUyZGZkNjdhZjlhNGVjODJkODE4
YS4uOGJmNmI2MjhiZTVkNjNhNmZhNTE0ZDYyMTU0MWUzODJkYmEwYjI4NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0zNzAsNiArMzcwLDggQEAgQ09NUElM
RV9BU1NFUlQoKEpTRmluYWxPYmplY3RfaW5saW5lU3RvcmFnZUNhcGFjaXR5ID49IEpTTm9uRmlu
YWxPYmplY3RfaW5saW5lU3QKICAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShn
bG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oRmluYWxPYmplY3RU
eXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAgICAgICB9CiAKKyAgICAgICAgc3Rh
dGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogICAgICAgICB7CkBA
IC00ODYsNiArNDg4LDExIEBAIGlubGluZSBjb25zdCBNZXRob2RUYWJsZSogSlNDZWxsOjptZXRo
b2RUYWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuICZjbGFzc0luZm8oKS0+bWV0aG9kVGFibGU7CiB9
CiAKK2lubGluZSBzaXplX3QgSlNDZWxsOjpjZWxsU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGNsYXNzSW5mbygpLT5jZWxsU2l6ZTsKK30KKwogLy8gdGhpcyBtZXRob2QgaXMgaGVyZSB0byBi
ZSBhZnRlciB0aGUgaW5saW5lIGRlY2xhcmF0aW9uIG9mIEpTQ2VsbDo6aW5oZXJpdHMKIGlubGlu
ZSBib29sIEpTVmFsdWU6OmluaGVyaXRzKGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKSBjb25z
dAogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNT
Y29wZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Nj
b3BlT2JqZWN0LmNwcAppbmRleCBhMzQ4YzljZjVlYzU1ZTQyNTBlOGE3OTVlM2UwMzA4MzNkMGQ0
MjU5Li41NjE1YzExNjc4M2U2OTg4NzQ3Zjc3ZjIxMWQ4MDIyZjZhMWU5MDE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmNw
cApAQCAtMzIsNiArMzIsOCBAQAogbmFtZXNwYWNlIEpTQyB7CiBBU1NFUlRfQ0xBU1NfRklUU19J
Tl9DRUxMKEpTU3RhdGljU2NvcGVPYmplY3QpOwogCitjb25zdCBDbGFzc0luZm8gSlNTdGF0aWNT
Y29wZU9iamVjdDo6c19pbmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU1N0YXRpY1Njb3BlT2JqZWN0KSB9OworCiB2b2lkIEpTU3RhdGlj
U2NvcGVPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlz
aXRvcikKIHsKICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nh
c3Q8SlNTdGF0aWNTY29wZU9iamVjdCo+KGNlbGwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oCmluZGV4IGFiYWMwZmQxODUyNGRl
MGJmMWU0ZWRkNzgyMTRkYjYxYTg4ZGU5OWUuLjBmOTNjZTdmODRhZTg4MDM2ZGQ3YTk4MjQyYTNi
OGFlZGVmZDRlY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U3RhdGljU2NvcGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1N0YXRpY1Njb3BlT2JqZWN0LmgKQEAgLTUwLDYgKzUwLDggQEAgbmFtZXNwYWNlIEpTQ3sKIAog
ICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKSB7
IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3Rv
LCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOyB9CiAKKyAg
ICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAgICBwcm90ZWN0ZWQ6CiAg
ICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RF
dmFsQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RF
dmFsQWN0aXZhdGlvbi5jcHAKaW5kZXggYWY2MGRkZmVlM2Y2Y2QwY2JlNjc2Yjg4MTZmNGNkNDlk
MDcxMGU5Mi4uM2Q2MmUxNGM5YTA4YjRmMDNkOGYzN2IxZDk1YWQ1NmMzMmYxYjUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0
aW9uLmNwcApAQCAtMjgsNiArMjgsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY29uc3QgQ2xh
c3NJbmZvIFN0cmljdEV2YWxBY3RpdmF0aW9uOjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6
c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cmljdEV2YWxBY3RpdmF0aW9uKSB9
OworCiBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6U3RyaWN0RXZhbEFjdGl2YXRpb24oRXhlY1N0YXRl
KiBleGVjKQogICAgIDogSlNOb25GaW5hbE9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIGV4ZWMt
Pmdsb2JhbERhdGEoKS5zdHJpY3RFdmFsQWN0aXZhdGlvblN0cnVjdHVyZS5nZXQoKSkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0
aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlv
bi5oCmluZGV4IGY3NTI4MjQ5NGNmYjZlNjJiYjcwNDQ5ZDQ3YmQ3NjlhYWFhMjAwODAuLjA4NzQ0
MmYyNzdiZTFmMTA4MzY2NzlmYWU1MmI4ZTUxMmYyZmQ1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uaApAQCAtNDksNiAr
NDksOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxE
YXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCAmc19pbmZvKTsKICAgICB9CiAgICAgCisgICAgc3RhdGljIGNvbnN0IENsYXNz
SW5mbyBzX2luZm87CisKIHByb3RlY3RlZDoKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgSlNOb25GaW5hbE9iamVjdDo6U3Ry
dWN0dXJlRmxhZ3M7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109860</attachid>
            <date>2011-10-05 14:17:18 -0700</date>
            <delta_ts>2011-10-05 19:04:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69390-20111005141717.patch</filename>
            <type>text/plain</type>
            <size>12228</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDU4
MDQ1NTBlZTJmOTRiODg2YjUzOTQ1MzdkYTgyMWY4MDQ3MzE5ZTAuLjgxZTQxMTQ3OThmNzcwYjNi
MDdmMjQxMzM4ZDcyNzFiMGRkOGE3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM2IEBACisyMDExLTEwLTA1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRoZWlyIG93biBjZWxs
IHNpemUgYXQgcnVudGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY5MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgdGhlIGNlbGxTaXplIGZpZWxkIHRvIENsYXNzSW5mbyBhbmQgdGhlIHN0
YXRpYyBjYWxjdWxhdGlvbiBvZiAKKyAgICAgICAgc2l6ZSBvZiBlYWNoIGNsYXNzIHRvIHRoZSBD
UkVBVEVfTUVUSE9EX1RBQkxFIG1hY3JvLCB3aGljaCB3aWxsIGJlIAorICAgICAgICByZW5hbWVk
IGluIGEgZm9sbG93dXAgcGF0Y2ggdG8gbWFrZSBpdHMgbmFtZSBtYXRjaCBpdHMgYnJvYWRlciB1
c2UuCisKKyAgICAgICAgQWxzbyBhZGRlZCBhIGZldyBDbGFzc0luZm8gc3RydWN0cyBzbyB0aGF0
IGVhY2ggb2JqZWN0IHRoYXQgaXMgYWxsb2NhdGVkIGhhcyBpdHMgCisgICAgICAgIGNvcnJlY3Qg
c2l6ZS4gIAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIHJ1bnRp
bWUvQ2xhc3NJbmZvLmg6CisKKyAgICAgICAgQ2hhbmdlZCBKU0J5dGVBcnJheSBzX2RlZmF1bHRJ
bmZvIHRvIHNfaW5mbyBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB3aWxsIGdldCB0aGUgCisgICAgICAg
IGNvcnJlY3QgQ2xhc3NJbmZvIHN0cnVjdCBmcm9tIGl0IHdoZW4gaXQncyBhbGxvY2F0ZWQuCisg
ICAgICAgICogcnVudGltZS9KU0J5dGVBcnJheS5jcHA6CisgICAgICAgICogcnVudGltZS9KU0J5
dGVBcnJheS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgIChKU0M6OmFs
bG9jYXRlQ2VsbCk6CisgICAgICAgICogcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcDoKKyAgICAg
ICAgKiBydW50aW1lL0pTTm90QW5PYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTQ2Vs
bDo6Y2VsbFNpemUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5jcHA6
CisgICAgICAgICogcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0Lmg6CisgICAgICAgICogcnVu
dGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9TdHJpY3RF
dmFsQWN0aXZhdGlvbi5oOgorCiAyMDExLTEwLTA1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEdldCByaWQgb2YgcG9zaXhUaHJlYWQgaW4gTWFjaGlu
ZVN0YWNrTWFya2VyOjpUaHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwCmluZGV4IGZjOGNkMjE5YjQ1MjZhYzQwOGYxNTRmMmRlNmZiNDdhOGJkNGY5ZjAuLjkzYzYx
MmMxYjc3ZmVkZmQ3MmUxYmZlZmQ5MjcwNjVlMWZjOWUwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTE0LDggKzExNCw4IEBAIF9fWk4zSlNDMTBKU0Z1
bmN0aW9uNnNfaW5mb0UKIF9fWk4zSlNDMTBKU0Z1bmN0aW9uQzFFUE5TXzlFeGVjU3RhdGVFUE5T
XzE0SlNHbG9iYWxPYmplY3RFUE5TXzlTdHJ1Y3R1cmVFCiBfX1pOM0pTQzEwdGhyb3dFcnJvckVQ
TlNfOUV4ZWNTdGF0ZUVOU183SlNWYWx1ZUUKIF9fWk4zSlNDMTB0aHJvd0Vycm9yRVBOU185RXhl
Y1N0YXRlRVBOU184SlNPYmplY3RFCi1fX1pOM0pTQzExSlNCeXRlQXJyYXkxM3NfZGVmYXVsdElu
Zm9FCiBfX1pOM0pTQzExSlNCeXRlQXJyYXkxNWNyZWF0ZVN0cnVjdHVyZUVSTlNfMTJKU0dsb2Jh
bERhdGFFUE5TXzE0SlNHbG9iYWxPYmplY3RFTlNfN0pTVmFsdWVFUEtOU185Q2xhc3NJbmZvRQor
X19aTjNKU0MxMUpTQnl0ZUFycmF5NnNfaW5mb0UKIF9fWk4zSlNDMTFKU0J5dGVBcnJheUMxRVBO
U185RXhlY1N0YXRlRVBOU185U3RydWN0dXJlRVBOM1dURjlCeXRlQXJyYXlFCiBfX1pOM0pTQzE1
QWxsb2NhdGlvblNwYWNlMTZhbGxvY2F0ZVNsb3dDYXNlRVJOU18xMU1hcmtlZFNwYWNlOVNpemVD
bGFzc0UKIF9fWk4zSlNDMTFQYXJzZXJBcmVuYTVyZXNldEV2CkBAIC0xNTUsNiArMTU1LDcgQEAg
X19aTjNKU0MxMlN0cmluZ09iamVjdDI0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhl
Y1N0YXRlRVJLTlNfMTBJZGVudGlmaWUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3QzcHV0RVBOU185
RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRVJOU18xNVB1dFByb3BlcnR5
U2xvdEUKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3Q2c19pbmZvRQogX19aTjNKU0MxMlN0cmluZ09i
amVjdEMyRVJOU18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0cnVjdHVyZUUKK19fWk4zSlNDMTNKU0Zp
bmFsT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzNHN0b3BFdgogX19aTjNK
U0MxM1NhbXBsaW5nRmxhZ3M1c3RhcnRFdgogX19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M3c19mbGFn
c0UKQEAgLTMyNyw2ICszMjgsNyBAQCBfX1pOM0pTQzhKU09iamVjdDI0Z2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJOUwogX19aTjNKU0M4
SlNPYmplY3QzcHV0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVl
RVJOU18xNVB1dFByb3BlcnR5U2xvdEUKIF9fWk4zSlNDOEpTT2JqZWN0M3B1dEVQTlNfOUV4ZWNT
dGF0ZUVqTlNfN0pTVmFsdWVFCiBfX1pOM0pTQzhKU09iamVjdDZzX2luZm9FCitfX1pOM0pTQzhK
U1N0cmluZzZzX2luZm9FCiBfX1pOM0pTQzhQcm9maWxlcjEzc3RvcFByb2ZpbGluZ0VQTlNfOUV4
ZWNTdGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0M4UHJvZmlsZXIxNHN0YXJ0UHJvZmlsaW5n
RVBOU185RXhlY1N0YXRlRVJLTlNfN1VTdHJpbmdFCiBfX1pOM0pTQzhQcm9maWxlcjhwcm9maWxl
ckV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0luZm8u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmluZGV4IDA4ZDlj
NjBjNzUwNmY3NTEwNTY2Y2ViZmZlYzNjYjlhYzI1NzJkMzAuLmYwNzZhNzk0NTQ1ZTZmNWYyNDVh
YjVmOGRjMzdhOWQwNjcxOGQ1MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Ns
YXNzSW5mby5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBKU0MgewogI2RlZmluZSBDUkVB
VEVfTUVUSE9EX1RBQkxFKENsYXNzTmFtZSkgeyBcCiAgICAgICAgICZDbGFzc05hbWU6OnZpc2l0
Q2hpbGRyZW4sIFwKICAgICAgICAgJkNsYXNzTmFtZTo6Z2V0Q2FsbERhdGEgXAotICAgIH0KKyAg
ICB9LCBcCisgICAgc2l6ZW9mKENsYXNzTmFtZSkKIAogICAgIHN0cnVjdCBDbGFzc0luZm8gewog
ICAgICAgICAvKioKQEAgLTc5LDYgKzgwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGNv
bnN0IENsYXNzUHJvcEhhc2hUYWJsZUdldHRlckZ1bmN0aW9uIGNsYXNzUHJvcEhhc2hUYWJsZUdl
dHRlckZ1bmN0aW9uOwogCiAgICAgICAgIE1ldGhvZFRhYmxlIG1ldGhvZFRhYmxlOworCisgICAg
ICAgIHNpemVfdCBjZWxsU2l6ZTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNwcAppbmRleCA1Y2VlODNj
NTU4MGUwMTZmYmU4ZDhiYjViOWQwODg3ODk2NTI2MzhhLi4yNzU5N2JhMTdkODdhZjJmNmNjMDdj
MzFjODllZWM4OGZjNGI0NzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0J5dGVBcnJheS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNCeXRlQXJyYXkuY3BwCkBAIC0zMyw3ICszMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAK
IG5hbWVzcGFjZSBKU0MgewogCi1jb25zdCBDbGFzc0luZm8gSlNCeXRlQXJyYXk6OnNfZGVmYXVs
dEluZm8gPSB7ICJCeXRlQXJyYXkiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEpTQnl0ZUFycmF5KSB9OworY29uc3QgQ2xhc3NJbmZvIEpTQnl0ZUFycmF5OjpzX2lu
Zm8gPSB7ICJCeXRlQXJyYXkiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTQnl0ZUFycmF5KSB9OwogCiBKU0J5dGVBcnJheTo6SlNCeXRlQXJyYXkoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQnl0ZUFycmF5KiBzdG9yYWdlKQogICAgIDog
SlNOb25GaW5hbE9iamVjdChleGVjLT5nbG9iYWxEYXRhKCksIHN0cnVjdHVyZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5oCmluZGV4IDFjYTRlYzdkZmM2ODYy
YWMwY2U3YzQ0MjczMDg5MzVmOTg0NmE0ZGUuLjI0MjQ4YzI4ZjhiNGU1ZjY0YTMzZmFhOTljYWY0
YjgxNGQ1ZDU3OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Qnl0ZUFycmF5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJy
YXkuaApAQCAtODYsNyArODYsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHJldHVy
biBhcnJheTsKICAgICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShKU0dsb2JhbERhdGEmLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBl
LCBjb25zdCBKU0M6OkNsYXNzSW5mbyogPSAmc19kZWZhdWx0SW5mbyk7CisgICAgICAgIHN0YXRp
YyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmLCBKU0dsb2JhbE9iamVj
dCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBKU0M6OkNsYXNzSW5mbyogPSAmc19pbmZvKTsK
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6RXhlY1N0YXRl
KiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90
Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3Rh
dGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlTbG90Jik7CkBAIC05Niw3
ICs5Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Q
cm9wZXJ0eU5hbWVzKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYsIEVu
dW1lcmF0aW9uTW9kZSBtb2RlID0gRXhjbHVkZURvbnRFbnVtUHJvcGVydGllcyk7CiAKLSAgICAg
ICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2RlZmF1bHRJbmZvOworICAgICAgICBzdGF0aWMg
Y29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKICAgICAgICAgCiAgICAgICAgIHNpemVfdCBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX3N0b3JhZ2UtPmxlbmd0aCgpOyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXggOTc4Zjk5YzgzODE0NmI1M2E1OTE5OTcxNzQ3ODAw
MGJhZDA3ZTdjNi4uY2NjMWU5OTBlOGI4YmVmNGM1OWI4ODFiYTViZWJmMjk2ZmM0OGJlZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKQEAgLTMxOSw2ICszMTksNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCogYWxsb2NhdGVD
ZWxsKEhlYXAmIGhlYXApCiAgICAgewogI2lmIEVOQUJMRShHQ19WQUxJREFUSU9OKQorICAgICAg
ICBBU1NFUlQoc2l6ZW9mKFQpID09IFQ6OnNfaW5mby5jZWxsU2l6ZSk7CiAgICAgICAgIEFTU0VS
VCghaGVhcC5nbG9iYWxEYXRhKCktPmlzSW5pdGlhbGl6aW5nT2JqZWN0KCkpOwogICAgICAgICBo
ZWFwLmdsb2JhbERhdGEoKS0+c2V0SW5pdGlhbGl6aW5nT2JqZWN0KHRydWUpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCmluZGV4
IDlhZTc5NjRmZjUzNGM2OGQzYzRkNzYxYThmNWZlNDIxZjNlNGI3ZmMuLjBkNTg5YmYyZmEyM2Y3
N2JlNDg1MGY3ZThkOGZhMDY4YzdhOGUwZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwCkBAIC0zNiw2ICszNiw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTTm90QW5PYmplY3QpOwogCitjb25z
dCBDbGFzc0luZm8gSlNOb3RBbk9iamVjdDo6c19pbmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNf
aW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU05vdEFuT2JqZWN0KSB9OworCiAvLyBK
U1ZhbHVlIG1ldGhvZHMKIEpTVmFsdWUgSlNOb3RBbk9iamVjdDo6ZGVmYXVsdFZhbHVlKEV4ZWNT
dGF0ZSogZXhlYywgUHJlZmVycmVkUHJpbWl0aXZlVHlwZSkgY29uc3QKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaAppbmRleCAwM2U1NTE4NGIzMzBj
NWNhMmVmMThlMmUyZDEzYmJiY2RjYzRmZmRhLi5hZGFmZWJlNDliYTAwY2VjOTdhZDI2OWQ5ZGM2
NjM1NTc2YmYzYTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U05vdEFuT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RB
bk9iamVjdC5oCkBAIC01OCw2ICs1OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
cmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAg
ICAgICB9CiAKKyAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAgICAg
cHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMgfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5jcHAKaW5kZXggNjQ1ZDk1OTM2N2JmMDFhYzNlYzU1YTJlYjEw
MTA0Njk4N2UzZGQ4MC4uNGJhNmY4YTZlYTBmMGZlMGE0NzA0N2ZiYmVkNDNhOTBjZDI0ODY4NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtNDksNiAr
NDksOCBAQCBjb25zdCBjaGFyKiBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ig
PSAiQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkbwogCiBjb25zdCBDbGFzc0luZm8gSlNPYmpl
Y3Q6OnNfaW5mbyA9IHsgIk9iamVjdCIsIDAsIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNP
YmplY3QpIH07CiAKK2NvbnN0IENsYXNzSW5mbyBKU0ZpbmFsT2JqZWN0OjpzX2luZm8gPSB7ICJP
YmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRmluYWxP
YmplY3QpIH07CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBnZXRDbGFzc1Byb3BlcnR5TmFtZXMoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgUHJvcGVydHlOYW1lQXJy
YXkmIHByb3BlcnR5TmFtZXMsIEVudW1lcmF0aW9uTW9kZSBtb2RlKQogewogICAgIC8vIEFkZCBw
cm9wZXJ0aWVzIGZyb20gdGhlIHN0YXRpYyBoYXNodGFibGVzIG9mIHByb3BlcnRpZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IGIzYTVhOGRiZjZhMmVhNmY5
NDFlMmRmZDY3YWY5YTRlYzgyZDgxOGEuLjJjYWJiZWI4NTNiMTZlMjFjNGY4ODMyMTdjNjRjMmVm
NDdjNjI2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAt
MzcwLDYgKzM3MCw4IEBAIENPTVBJTEVfQVNTRVJUKChKU0ZpbmFsT2JqZWN0X2lubGluZVN0b3Jh
Z2VDYXBhY2l0eSA+PSBKU05vbkZpbmFsT2JqZWN0X2lubGluZVN0CiAgICAgICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IFR5cGVJbmZvKEZpbmFsT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsKICAg
ICAgICAgfQogCisgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19pbmZvOworCiAgICAg
cHJvdGVjdGVkOgogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmNwcAppbmRleCBhMzQ4YzljZjVlYzU1ZTQyNTBlOGE3
OTVlM2UwMzA4MzNkMGQ0MjU5Li41NjE1YzExNjc4M2U2OTg4NzQ3Zjc3ZjIxMWQ4MDIyZjZhMWU5
MDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Nj
b3BlT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRp
Y1Njb3BlT2JqZWN0LmNwcApAQCAtMzIsNiArMzIsOCBAQAogbmFtZXNwYWNlIEpTQyB7CiBBU1NF
UlRfQ0xBU1NfRklUU19JTl9DRUxMKEpTU3RhdGljU2NvcGVPYmplY3QpOwogCitjb25zdCBDbGFz
c0luZm8gSlNTdGF0aWNTY29wZU9iamVjdDo6c19pbmZvID0geyAiT2JqZWN0IiwgJkJhc2U6OnNf
aW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1N0YXRpY1Njb3BlT2JqZWN0KSB9Owor
CiB2b2lkIEpTU3RhdGljU2NvcGVPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBKU1N0YXRpY1Njb3BlT2JqZWN0KiB0aGlzT2Jq
ZWN0ID0gc3RhdGljX2Nhc3Q8SlNTdGF0aWNTY29wZU9iamVjdCo+KGNlbGwpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5oCmluZGV4
IGFiYWMwZmQxODUyNGRlMGJmMWU0ZWRkNzgyMTRkYjYxYTg4ZGU5OWUuLjBmOTNjZTdmODRhZTg4
MDM2ZGQ3YTk4MjQyYTNiOGFlZGVmZDRlY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKQEAgLTUwLDYgKzUwLDggQEAgbmFt
ZXNwYWNlIEpTQ3sKIAogICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U1ZhbHVlIHByb3RvKSB7IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9i
YWxPYmplY3QsIHByb3RvLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZz
X2luZm8pOyB9CiAKKyAgICAgICAgc3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAg
ICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAKaW5kZXggYWY2MGRkZmVlM2Y2Y2QwY2Jl
Njc2Yjg4MTZmNGNkNDlkMDcxMGU5Mi4uM2Q2MmUxNGM5YTA4YjRmMDNkOGYzN2IxZDk1YWQ1NmMz
MmYxYjUyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0
RXZhbEFjdGl2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmljdEV2YWxBY3RpdmF0aW9uLmNwcApAQCAtMjgsNiArMjgsOCBAQAogCiBuYW1lc3BhY2UgSlND
IHsKIAorY29uc3QgQ2xhc3NJbmZvIFN0cmljdEV2YWxBY3RpdmF0aW9uOjpzX2luZm8gPSB7ICJP
YmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cmljdEV2
YWxBY3RpdmF0aW9uKSB9OworCiBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6U3RyaWN0RXZhbEFjdGl2
YXRpb24oRXhlY1N0YXRlKiBleGVjKQogICAgIDogSlNOb25GaW5hbE9iamVjdChleGVjLT5nbG9i
YWxEYXRhKCksIGV4ZWMtPmdsb2JhbERhdGEoKS5zdHJpY3RFdmFsQWN0aXZhdGlvblN0cnVjdHVy
ZS5nZXQoKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cmljdEV2YWxBY3RpdmF0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJp
Y3RFdmFsQWN0aXZhdGlvbi5oCmluZGV4IGY3NTI4MjQ5NGNmYjZlNjJiYjcwNDQ5ZDQ3YmQ3Njlh
YWFhMjAwODAuLjA4NzQ0MmYyNzdiZTFmMTA4MzY2NzlmYWU1MmI4ZTUxMmYyZmQ1NzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9u
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRp
b24uaApAQCAtNDksNiArNDksOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2Jq
ZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvKTsKICAgICB9CiAgICAgCisgICAgc3Rh
dGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKIHByb3RlY3RlZDoKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBJc0Vudmlyb25tZW50UmVjb3JkIHwgSlNOb25G
aW5hbE9iamVjdDo6U3RydWN0dXJlRmxhZ3M7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109904</attachid>
            <date>2011-10-05 19:05:00 -0700</date>
            <delta_ts>2011-10-06 10:41:58 -0700</delta_ts>
            <desc>Fixing windows</desc>
            <filename>bug-69390-20111005190459.patch</filename>
            <type>text/plain</type>
            <size>13235</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3NzkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDAz
OWNlZjU0NDY3ZDk1MDZiZWY4YmZkN2Q2NWUzZWQyMzE2ZmQzYWUuLjA5OWIxMGM4ZTg2NmQ0M2I0
N2ZjMTE2NWI3NDQwZTNjZmY1NzEwM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM2IEBACisyMDExLTEwLTA1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgSlNDIG9iamVjdHMgbmVlZCB0byBrbm93IHRoZWlyIG93biBjZWxs
IHNpemUgYXQgcnVudGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY5MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgdGhlIGNlbGxTaXplIGZpZWxkIHRvIENsYXNzSW5mbyBhbmQgdGhlIHN0
YXRpYyBjYWxjdWxhdGlvbiBvZiAKKyAgICAgICAgc2l6ZSBvZiBlYWNoIGNsYXNzIHRvIHRoZSBD
UkVBVEVfTUVUSE9EX1RBQkxFIG1hY3JvLCB3aGljaCB3aWxsIGJlIAorICAgICAgICByZW5hbWVk
IGluIGEgZm9sbG93dXAgcGF0Y2ggdG8gbWFrZSBpdHMgbmFtZSBtYXRjaCBpdHMgYnJvYWRlciB1
c2UuCisKKyAgICAgICAgQWxzbyBhZGRlZCBhIGZldyBDbGFzc0luZm8gc3RydWN0cyBzbyB0aGF0
IGVhY2ggb2JqZWN0IHRoYXQgaXMgYWxsb2NhdGVkIGhhcyBpdHMgCisgICAgICAgIGNvcnJlY3Qg
c2l6ZS4gIAorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIHJ1bnRp
bWUvQ2xhc3NJbmZvLmg6CisKKyAgICAgICAgQ2hhbmdlZCBKU0J5dGVBcnJheSBzX2RlZmF1bHRJ
bmZvIHRvIHNfaW5mbyBzbyB0aGF0IHRoZSB0ZW1wbGF0ZSB3aWxsIGdldCB0aGUgCisgICAgICAg
IGNvcnJlY3QgQ2xhc3NJbmZvIHN0cnVjdCBmcm9tIGl0IHdoZW4gaXQncyBhbGxvY2F0ZWQuCisg
ICAgICAgICogcnVudGltZS9KU0J5dGVBcnJheS5jcHA6CisgICAgICAgICogcnVudGltZS9KU0J5
dGVBcnJheS5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAgICAgIChKU0M6OmFs
bG9jYXRlQ2VsbCk6CisgICAgICAgICogcnVudGltZS9KU05vdEFuT2JqZWN0LmNwcDoKKyAgICAg
ICAgKiBydW50aW1lL0pTTm90QW5PYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTQ2Vs
bDo6Y2VsbFNpemUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVjdC5jcHA6
CisgICAgICAgICogcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0Lmg6CisgICAgICAgICogcnVu
dGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9TdHJpY3RF
dmFsQWN0aXZhdGlvbi5oOgorCiAyMDExLTEwLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIEVuYWJsZSBXRUJfQVVESU8gYnkgZGVmYXVsdCBpbiB0aGUgV2Vi
S2l0L21hYyBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5k
ZXggYTRiMzJkNDg1YjQxMjMyMjM3ZWU0ODE5OWYwZWU2NmQ4MzFkMmM2MC4uMWI3ZGE0MTg0Y2Rj
OGNmN2Y1ZjhiYjQ1NGFhZDRkY2I1Zjk4YTI1MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZXhwCkBAIC0xMTQsOCArMTE0LDggQEAgX19aTjNKU0MxMEpTRnVuY3Rpb242
c19pbmZvRQogX19aTjNKU0MxMEpTRnVuY3Rpb25DMUVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0ds
b2JhbE9iamVjdEVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDMTB0aHJvd0Vycm9yRVBOU185RXhl
Y1N0YXRlRU5TXzdKU1ZhbHVlRQogX19aTjNKU0MxMHRocm93RXJyb3JFUE5TXzlFeGVjU3RhdGVF
UE5TXzhKU09iamVjdEUKLV9fWk4zSlNDMTFKU0J5dGVBcnJheTEzc19kZWZhdWx0SW5mb0UKIF9f
Wk4zSlNDMTFKU0J5dGVBcnJheTE1Y3JlYXRlU3RydWN0dXJlRVJOU18xMkpTR2xvYmFsRGF0YUVQ
TlNfMTRKU0dsb2JhbE9iamVjdEVOU183SlNWYWx1ZUVQS05TXzlDbGFzc0luZm9FCitfX1pOM0pT
QzExSlNCeXRlQXJyYXk2c19pbmZvRQogX19aTjNKU0MxMUpTQnl0ZUFycmF5QzFFUE5TXzlFeGVj
U3RhdGVFUE5TXzlTdHJ1Y3R1cmVFUE4zV1RGOUJ5dGVBcnJheUUKIF9fWk4zSlNDMTFQYXJzZXJB
cmVuYTVyZXNldEV2CiBfX1pOM0pTQzExY2hlY2tTeW50YXhFUE5TXzlFeGVjU3RhdGVFUktOU18x
MFNvdXJjZUNvZGVFUE5TXzdKU1ZhbHVlRQpAQCAtMTU0LDYgKzE1NCw3IEBAIF9fWk4zSlNDMTJT
dHJpbmdPYmplY3QyNGdldE93blByb3BlcnR5RGVzY3JpcHRvckVQTlNfOUV4ZWNTdGF0ZUVSS05T
XzEwSWRlbnRpZmllCiBfX1pOM0pTQzEyU3RyaW5nT2JqZWN0M3B1dEVQTlNfOUV4ZWNTdGF0ZUVS
S05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pO
M0pTQzEyU3RyaW5nT2JqZWN0NnNfaW5mb0UKIF9fWk4zSlNDMTJTdHJpbmdPYmplY3RDMkVSTlNf
MTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVFCitfX1pOM0pTQzEzSlNGaW5hbE9iamVjdDZz
X2luZm9FCiBfX1pOM0pTQzEzU2FtcGxpbmdGbGFnczRzdG9wRXYKIF9fWk4zSlNDMTNTYW1wbGlu
Z0ZsYWdzNXN0YXJ0RXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzN3NfZmxhZ3NFCkBAIC0zMjks
NiArMzMwLDcgQEAgX19aTjNKU0M4SlNPYmplY3QyNGdldE93blByb3BlcnR5RGVzY3JpcHRvckVQ
TlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlMKIF9fWk4zSlNDOEpTT2JqZWN0M3B1
dEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVSTlNfMTVQdXRQ
cm9wZXJ0eVNsb3RFCiBfX1pOM0pTQzhKU09iamVjdDNwdXRFUE5TXzlFeGVjU3RhdGVFak5TXzdK
U1ZhbHVlRQogX19aTjNKU0M4SlNPYmplY3Q2c19pbmZvRQorX19aTjNKU0M4SlNTdHJpbmc2c19p
bmZvRQogX19aTjNKU0M4UHJvZmlsZXIxM3N0b3BQcm9maWxpbmdFUE5TXzlFeGVjU3RhdGVFUktO
U183VVN0cmluZ0UKIF9fWk4zSlNDOFByb2ZpbGVyMTRzdGFydFByb2ZpbGluZ0VQTlNfOUV4ZWNT
dGF0ZUVSS05TXzdVU3RyaW5nRQogX19aTjNKU0M4UHJvZmlsZXI4cHJvZmlsZXJFdgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgppbmRleCAx
MzI4ODYxMWVmYmZhMzc4Njc1ODUzZGZlYTkzZTRhMWYyZjk5MWY3Li44MTA2MWY0ODhkNmExNzdl
MTUwNzkzZTNjNzBhZWI0NGUwOTM4NmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRl
ZgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgpAQCAtMzAxLDYgKzMwMSw5IEBAIEVYUE9SVFMK
ICAgICA/cmVzdG9yZUFsbEBQcm9maWxlQEpTQ0BAUUFFWFhaCiAgICAgP3JldHJpZXZlQ2FsbGVy
QEludGVycHJldGVyQEpTQ0BAUUJFP0FWSlNWYWx1ZUAyQFBBVkV4ZWNTdGF0ZUAyQFBBVkpTRnVu
Y3Rpb25AMkBAWgogICAgID9yZXRyaWV2ZUxhc3RDYWxsZXJASW50ZXJwcmV0ZXJASlNDQEBRQkVY
UEFWRXhlY1N0YXRlQDJAQUFIMUFBVlVTdHJpbmdAMkBBQVZKU1ZhbHVlQDJAQFoKKyAgICA/c19p
bmZvQEpTQVBJVmFsdWVXcmFwcGVyQEpTQ0BAMlVDbGFzc0luZm9AMkBCCisgICAgP3NfaW5mb0BK
U0J5dGVBcnJheUBKU0NAQDJVQ2xhc3NJbmZvQDJAQgorICAgID9zX2luZm9ASlNGaW5hbE9iamVj
dEBKU0NAQDJVQ2xhc3NJbmZvQDJAQgogICAgID9zZXRBY2Nlc3NvckRlc2NyaXB0b3JAUHJvcGVy
dHlEZXNjcmlwdG9yQEpTQ0BAUUFFWFZKU1ZhbHVlQDJAMElAWgogICAgID9zZXRDb25maWd1cmFi
bGVAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BAUUFFWF9OQFoKICAgICA/c2V0RGVzY3JpcHRvckBQ
cm9wZXJ0eURlc2NyaXB0b3JASlNDQEBRQUVYVkpTVmFsdWVAMkBJQFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKaW5kZXggMDhkOWM2MGM3NTA2Zjc1MTA1NjZjZWJm
ZmVjM2NiOWFjMjU3MmQzMC4uZjA3NmE3OTQ1NDVlNmY1ZjI0NWFiNWY4ZGMzN2E5ZDA2NzE4ZDUx
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xhc3NJbmZvLmgKQEAgLTQxLDcg
KzQxLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAjZGVmaW5lIENSRUFURV9NRVRIT0RfVEFCTEUoQ2xh
c3NOYW1lKSB7IFwKICAgICAgICAgJkNsYXNzTmFtZTo6dmlzaXRDaGlsZHJlbiwgXAogICAgICAg
ICAmQ2xhc3NOYW1lOjpnZXRDYWxsRGF0YSBcCi0gICAgfQorICAgIH0sIFwKKyAgICBzaXplb2Yo
Q2xhc3NOYW1lKQogCiAgICAgc3RydWN0IENsYXNzSW5mbyB7CiAgICAgICAgIC8qKgpAQCAtNzks
NiArODAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgY29uc3QgQ2xhc3NQcm9wSGFzaFRh
YmxlR2V0dGVyRnVuY3Rpb24gY2xhc3NQcm9wSGFzaFRhYmxlR2V0dGVyRnVuY3Rpb247CiAKICAg
ICAgICAgTWV0aG9kVGFibGUgbWV0aG9kVGFibGU7CisKKyAgICAgICAgc2l6ZV90IGNlbGxTaXpl
OwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNCeXRlQXJyYXkuY3BwCmluZGV4IDVjZWU4M2M1NTgwZTAxNmZiZThkOGJiNWI5
ZDA4ODc4OTY1MjYzOGEuLjI3NTk3YmExN2Q4N2FmMmY2Y2MwN2MzMWM4OWVlYzg4ZmM0YjQ3MDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQnl0ZUFycmF5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5jcHAKQEAg
LTMzLDcgKzMzLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LWNvbnN0IENsYXNzSW5mbyBKU0J5dGVBcnJheTo6c19kZWZhdWx0SW5mbyA9IHsgIkJ5dGVBcnJh
eSIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNCeXRlQXJyYXkp
IH07Citjb25zdCBDbGFzc0luZm8gSlNCeXRlQXJyYXk6OnNfaW5mbyA9IHsgIkJ5dGVBcnJheSIs
ICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNCeXRlQXJyYXkpIH07
CiAKIEpTQnl0ZUFycmF5OjpKU0J5dGVBcnJheShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBCeXRlQXJyYXkqIHN0b3JhZ2UpCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgc3RydWN0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQnl0ZUFycmF5LmgKaW5kZXggMWNhNGVjN2RmYzY4NjJhYzBjZTdjNDQyNzMwODkzNWY5
ODQ2YTRkZS4uMjQyNDhjMjhmOGI0ZTVmNjRhMzNmYWE5OWNhZjRiODE0ZDVkNTc5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCeXRlQXJyYXkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0J5dGVBcnJheS5oCkBAIC04Niw3ICs4Niw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICAgICB9
CiAKLSAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0
YSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IEpTQzo6Q2xhc3NJ
bmZvKiA9ICZzX2RlZmF1bHRJbmZvKTsKKyAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
U3RydWN0dXJlKEpTR2xvYmFsRGF0YSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5
cGUsIGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiA9ICZzX2luZm8pOwogCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBKU0M6OklkZW50
aWZpZXImIHByb3BlcnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAgdmlydHVh
bCBib29sIGdldE93blByb3BlcnR5U2xvdChKU0M6OkV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSwgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKQEAgLTk2LDcgKzk2LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OlByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUg
PSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0aWVzKTsKIAotICAgICAgICBzdGF0aWMgY29uc3QgQ2xh
c3NJbmZvIHNfZGVmYXVsdEluZm87CisgICAgICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gc19p
bmZvOwogICAgICAgICAKICAgICAgICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RvcmFnZS0+bGVuZ3RoKCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwu
aAppbmRleCA5NzhmOTljODM4MTQ2YjUzYTU5MTk5NzE3NDc4MDAwYmFkMDdlN2M2Li5jY2MxZTk5
MGU4YjhiZWY0YzU5Yjg4MWJhNWJlYmYyOTZmYzQ4YmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaApAQCAtMzE5LDYgKzMxOSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkKiBhbGxvY2F0ZUNlbGwoSGVhcCYgaGVhcCkKICAg
ICB7CiAjaWYgRU5BQkxFKEdDX1ZBTElEQVRJT04pCisgICAgICAgIEFTU0VSVChzaXplb2YoVCkg
PT0gVDo6c19pbmZvLmNlbGxTaXplKTsKICAgICAgICAgQVNTRVJUKCFoZWFwLmdsb2JhbERhdGEo
KS0+aXNJbml0aWFsaXppbmdPYmplY3QoKSk7CiAgICAgICAgIGhlYXAuZ2xvYmFsRGF0YSgpLT5z
ZXRJbml0aWFsaXppbmdPYmplY3QodHJ1ZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5jcHAKaW5kZXggOWFlNzk2NGZmNTM0YzY4ZDNj
NGQ3NjFhOGY1ZmU0MjFmM2U0YjdmYy4uMGQ1ODliZjJmYTIzZjc3YmU0ODUwZjdlOGQ4ZmEwNjhj
N2E4ZTBmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RB
bk9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNOb3RBbk9i
amVjdC5jcHAKQEAgLTM2LDYgKzM2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIEFTU0VSVF9DTEFT
U19GSVRTX0lOX0NFTEwoSlNOb3RBbk9iamVjdCk7CiAKK2NvbnN0IENsYXNzSW5mbyBKU05vdEFu
T2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTTm90QW5PYmplY3QpIH07CisKIC8vIEpTVmFsdWUgbWV0aG9kcwogSlNW
YWx1ZSBKU05vdEFuT2JqZWN0OjpkZWZhdWx0VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBQcmVmZXJy
ZWRQcmltaXRpdmVUeXBlKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNOb3RBbk9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNOb3RBbk9iamVjdC5oCmluZGV4IDAzZTU1MTg0YjMzMGM1Y2EyZWYxOGUyZTJkMTNiYmJj
ZGNjNGZmZGEuLmFkYWZlYmU0OWJhMDBjZWM5N2FkMjY5ZDlkYzY2MzU1NzZiZjNhMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTm90QW5PYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU05vdEFuT2JqZWN0LmgKQEAgLTU4LDYg
KzU4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpj
cmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVj
dFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7CiAgICAgICAgIH0KIAorICAgICAgICBz
dGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKKwogICAgICBwcml2YXRlOgogICAgICAgICAK
ICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVz
R2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0
OjpTdHJ1Y3R1cmVGbGFnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAppbmRleCA2NDVkOTU5MzY3YmYwMWFjM2VjNTVhMmViMTAxMDQ2OTg3ZTNkZDgwLi40YmE2
ZjhhNmVhMGYwZmUwYTQ3MDQ3ZmJiZWQ0M2E5MGNkMjQ4Njg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC00OSw2ICs0OSw4IEBAIGNvbnN0IGNoYXIq
IFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvciA9ICJBdHRlbXB0ZWQgdG8gYXNz
aWduIHRvIHJlYWRvCiAKIGNvbnN0IENsYXNzSW5mbyBKU09iamVjdDo6c19pbmZvID0geyAiT2Jq
ZWN0IiwgMCwgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU09iamVjdCkgfTsKIAorY29uc3Qg
Q2xhc3NJbmZvIEpTRmluYWxPYmplY3Q6OnNfaW5mbyA9IHsgIk9iamVjdCIsICZCYXNlOjpzX2lu
Zm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNGaW5hbE9iamVjdCkgfTsKKwogc3RhdGlj
IGlubGluZSB2b2lkIGdldENsYXNzUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IENsYXNzSW5mbyogY2xhc3NJbmZvLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywg
RW51bWVyYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgLy8gQWRkIHByb3BlcnRpZXMgZnJvbSB0aGUg
c3RhdGljIGhhc2h0YWJsZXMgb2YgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKaW5kZXggMjRiMDMxZTdjMDE0N2MzZDc2ZTU1ZDQ0Zjc2NDg2MmUzMGIy
MDA4OS4uMzA5NjFkNmFmYjYyMjEyNDQzZTI0ZjFkMjA0NjVkYzY1YWNhOWI3ZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0zNjUsNiArMzY1LDggQEAgQ09N
UElMRV9BU1NFUlQoKEpTRmluYWxPYmplY3RfaW5saW5lU3RvcmFnZUNhcGFjaXR5ID49IEpTTm9u
RmluYWxPYmplY3RfaW5saW5lU3QKICAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oRmluYWxPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOwogICAgICAgICB9CiAKKyAgICAgICAg
c3RhdGljIGNvbnN0IENsYXNzSW5mbyBzX2luZm87CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3Bl
T2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVP
YmplY3QuY3BwCmluZGV4IGEzNDhjOWNmNWVjNTVlNDI1MGU4YTc5NWUzZTAzMDgzM2QwZDQyNTku
LjU2MTVjMTE2NzgzZTY5ODg3NDdmNzdmMjExZDgwMjJmNmExZTkwMTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuY3BwCkBA
IC0zMiw2ICszMiw4IEBACiBuYW1lc3BhY2UgSlNDIHsKIEFTU0VSVF9DTEFTU19GSVRTX0lOX0NF
TEwoSlNTdGF0aWNTY29wZU9iamVjdCk7CiAKK2NvbnN0IENsYXNzSW5mbyBKU1N0YXRpY1Njb3Bl
T2JqZWN0OjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCAwLCAwLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTU3RhdGljU2NvcGVPYmplY3QpIH07CisKIHZvaWQgSlNTdGF0aWNTY29w
ZU9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQogewogICAgIEpTU3RhdGljU2NvcGVPYmplY3QqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxK
U1N0YXRpY1Njb3BlT2JqZWN0Kj4oY2VsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKaW5kZXggYWJhYzBmZDE4NTI0ZGUwYmYx
ZTRlZGQ3ODIxNGRiNjFhODhkZTk5ZS4uMGY5M2NlN2Y4NGFlODgwMzZkZDdhOTgyNDJhM2I4YWVk
ZWZkNGVjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0
aWNTY29wZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3Rh
dGljU2NvcGVPYmplY3QuaApAQCAtNTAsNiArNTAsOCBAQCBuYW1lc3BhY2UgSlNDewogCiAgICAg
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG8pIHsgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5
cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7IH0KIAorICAgICAg
ICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIHNfaW5mbzsKKwogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50aWZpZXIsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCiAgICAgICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxB
Y3RpdmF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxB
Y3RpdmF0aW9uLmNwcAppbmRleCBhZjYwZGRmZWUzZjZjZDBjYmU2NzZiODgxNmY0Y2Q0OWQwNzEw
ZTkyLi4zZDYyZTE0YzlhMDhiNGYwM2Q4ZjM3YjFkOTVhZDU2YzMyZjFiNTJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24u
Y3BwCkBAIC0yOCw2ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjb25zdCBDbGFzc0lu
Zm8gU3RyaWN0RXZhbEFjdGl2YXRpb246OnNfaW5mbyA9IHsgIk9iamVjdCIsICZCYXNlOjpzX2lu
Zm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RyaWN0RXZhbEFjdGl2YXRpb24pIH07CisK
IFN0cmljdEV2YWxBY3RpdmF0aW9uOjpTdHJpY3RFdmFsQWN0aXZhdGlvbihFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgOiBKU05vbkZpbmFsT2JqZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgZXhlYy0+Z2xv
YmFsRGF0YSgpLnN0cmljdEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlLmdldCgpKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmgK
aW5kZXggZjc1MjgyNDk0Y2ZiNmU2MmJiNzA0NDlkNDdiZDc2OWFhYWEyMDA4MC4uMDg3NDQyZjI3
N2JlMWYxMDgzNjY3OWZhZTUyYjhlNTEyZjJmZDU3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5oCkBAIC00OSw2ICs0OSw4
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEs
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksICZzX2luZm8pOwogICAgIH0KICAgICAKKyAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZv
IHNfaW5mbzsKKwogcHJvdGVjdGVkOgogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IElzRW52aXJvbm1lbnRSZWNvcmQgfCBKU05vbkZpbmFsT2JqZWN0OjpTdHJ1Y3R1
cmVGbGFnczsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>