<?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>85704</bug_id>
          
          <creation_ts>2012-05-05 03:50:14 -0700</creation_ts>
          <short_desc>Bad checkValidity result on recently &quot;enabled&quot; form fields</short_desc>
          <delta_ts>2012-05-25 02:31:12 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://jsfiddle.net/9bsZ9/</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="alexander farkas">info</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>abarth</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>keishi</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>616938</commentid>
    <comment_count>0</comment_count>
    <who name="alexander farkas">info</who>
    <bug_when>2012-05-05 03:50:14 -0700</bug_when>
    <thetext>The native checkValidity() method and jQuery&apos;s is method for the selectors &apos;:valid&apos;/&apos;:invalid&apos; are returning wrong results, if you set an invalid value to a disabled form field and then enabling it.

I created a testcase here: http://jsfiddle.net/9bsZ9/

1. Create a disabled and required form field
2. Set this field to an invalid value through script
3. Set disabled to false

-&gt; checkValidity should return false, but returns true. I&apos;m not sure, why matchesSelector and jQuery.is are returning different values, but should also be looked into.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617254</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-06 18:33:09 -0700</bug_when>
    <thetext>Confirmed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632571</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-24 02:57:58 -0700</bug_when>
    <thetext>Hattori-san, can you handle this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632735</commentid>
    <comment_count>3</comment_count>
      <attachid>143821</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-05-24 06:54:48 -0700</bug_when>
    <thetext>Created attachment 143821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632834</commentid>
    <comment_count>4</comment_count>
      <attachid>143821</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-24 08:36:21 -0700</bug_when>
    <thetext>Comment on attachment 143821
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        willValidate which is const, so I added the member

it&apos;s ok to remove const from willValidate().  Then, we can assume m_willValidateInitialized as willValidate-and-validity-are-initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633563</commentid>
    <comment_count>5</comment_count>
      <attachid>143975</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-05-24 22:15:47 -0700</bug_when>
    <thetext>Created attachment 143975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633565</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 22:19:03 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633568</commentid>
    <comment_count>7</comment_count>
      <attachid>143975</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-24 22:22:22 -0700</bug_when>
    <thetext>Comment on attachment 143975
Patch

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

&gt; Source/WebCore/html/HTMLFormControlElement.h:98
&gt;  
&gt; -    virtual bool willValidate() const;
&gt; +    virtual bool willValidate();
&gt;      void updateVisibleValidationMessage();

should add OVERRIDE.

&gt; Source/WebCore/html/HTMLFormControlElement.h:162
&gt;  
&gt; -    enum DataListAncestorState { Unknown, InsideDataList, NotInsideDataList };
&gt; +    enum DataListAncestorState { Unknown, InsideDataList, NotInsideDataList, DontCare };
&gt;      mutable enum DataListAncestorState m_dataListAncestorState;

This change is unrelated to this bug.

&gt; Source/WebCore/html/HTMLKeygenElement.h:37
&gt; +    virtual bool willValidate() { return false; }

OVERRIDE

&gt; Source/WebCore/html/HTMLOutputElement.h:44
&gt; +    virtual bool willValidate() { return false; }

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633589</commentid>
    <comment_count>8</comment_count>
      <attachid>143982</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-05-24 23:02:01 -0700</bug_when>
    <thetext>Created attachment 143982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633594</commentid>
    <comment_count>9</comment_count>
      <attachid>143982</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-24 23:15:27 -0700</bug_when>
    <thetext>Comment on attachment 143982
Patch

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

&gt; Source/WebKit/chromium/public/WebInputElement.h:93
&gt;          WEBKIT_EXPORT int selectionEnd() const;
&gt; -        WEBKIT_EXPORT bool isValidValue(const WebString&amp;) const;
&gt; +        WEBKIT_EXPORT bool isValidValue(const WebString&amp;);
&gt;          WEBKIT_EXPORT bool isChecked() const;

It&apos;s possible that this change breaks Chromium build.  Please watch the canary bots after landing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633677</commentid>
    <comment_count>10</comment_count>
      <attachid>143998</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-05-25 01:16:55 -0700</bug_when>
    <thetext>Created attachment 143998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633738</commentid>
    <comment_count>11</comment_count>
      <attachid>143998</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 02:31:06 -0700</bug_when>
    <thetext>Comment on attachment 143998
Patch

Clearing flags on attachment: 143998

Committed r118501: &lt;http://trac.webkit.org/changeset/118501&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633742</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-25 02:31:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143821</attachid>
            <date>2012-05-24 06:54:48 -0700</date>
            <delta_ts>2012-05-24 22:15:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85704-20120524225446.patch</filename>
            <type>text/plain</type>
            <size>6721</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIyNjQ2ZTc1MWRkMjUz
ZGQyMTA4OGM4NTJkYTdlOWMxMjQ4NWEwYS4uY2U2MWEwZGZhODEzOWU5MGY4ZTBiMmVjYjBlMGUy
NjA2YzEwNjI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA1LTI0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlk
aXR5IHJlc3VsdCBvbiByZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9kaXNh
YmxlZC1hdHRyLWNoZWNrdmFsaWRpdHkuaHRtbAorCisgICAgICAgIFdlIHdlcmUgdHJpcHBpbmcg
b24gdGhlIGFzc2VydGlvbiBtX2lzVmFsaWQgPT0gdmFsaWRpdHkoKS0+dmFsaWQoKQorICAgICAg
ICBpbnNpZGUgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNWYWxpZEZvcm1Db250cm9sRWxlbWVu
dC4KKyAgICAgICAgbV9pc1ZhbGlkIHdhcyBiZWNvbWluZyBzdGFsZSBiZWNhdXNlIHNldE5lZWRz
VmFsaWRpdHlDaGVjayB3YXNuJ3QgY2FsbGVkCisgICAgICAgIGFmdGVyIG1fd2lsbFZhbGlkYXRl
IGNoYW5nZWQuIFdlIGNhbid0IGNhbGwgc2V0TmVlZHNWYWxpZGl0eUNoZWNrIGZyb20KKyAgICAg
ICAgd2lsbFZhbGlkYXRlIHdoaWNoIGlzIGNvbnN0LCBzbyBJIGFkZGVkIHRoZSBtZW1iZXIKKyAg
ICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6bV9pc1ZhbGlkSW5pdGlhbGl6ZWQuIElmIGl0
IGlzIGZhbHNlIHdlCisgICAgICAgIG5lZWQgdG8gcnVuIHNldE5lZWRzVmFsaWRpdHlDaGVjay4K
KworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OndpbGxWYWxpZGF0ZSk6
ICBTZXQgbV9pc1ZhbGlkSW5pdGlhbGl6ZWQgdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXROZWVkc1dpbGxWYWxpZGF0ZUNoZWNrKTogQ2FsbCBz
ZXROZWVkc1ZhbGlkaXR5Q2hlY2suCisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xF
bGVtZW50Ojppc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KTogQ2hlY2sgbV9pc1ZhbGlkSW5pdGlh
bGl6ZWQgaWYgd2UgbmVlZCB0byBjYWxsIHNldE5lZWRzVmFsaWRpdHlDaGVjay4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldE5lZWRzVmFsaWRpdHlDaGVjayk6
IFNldCBtX2lzVmFsaWRJbml0aWFsaXplZCB0byB0cnVlLgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorCiAyMDEyLTA1LTIyICBLZW50IFRhbXVyYSAgPHRrZW50QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBGaXggYSBjcmFzaCBpbiBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50OjpkaXNhYmxlZCgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHAKaW5kZXggZjE5NWVjMDI3OGQ4ZjA2YjVjNWI3ZDhlNmYxNjFmNGRjZmVjZmI5
OC4uYzIzYzY0YzM3ZTAwNzI0MzkwNzc0MjI4MDMxMDRjZDgwNmM0NmY1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC01OCw2ICs1OCw3
IEBAIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX2RhdGFMaXN0QW5jZXN0b3JTdGF0
ZShVbmtub3duKQogICAgICwgbV93aWxsVmFsaWRhdGVJbml0aWFsaXplZChmYWxzZSkKICAgICAs
IG1fd2lsbFZhbGlkYXRlKHRydWUpCisgICAgLCBtX2lzVmFsaWRJbml0aWFsaXplZChmYWxzZSkK
ICAgICAsIG1faXNWYWxpZCh0cnVlKQogICAgICwgbV93YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNv
bnRyb2xDaGFuZ2VFdmVudChmYWxzZSkKICAgICAsIG1faGFzQXV0b2ZvY3VzZWQoZmFsc2UpCkBA
IC0zNzUsNiArMzc2LDcgQEAgYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojp3aWxsVmFsaWRh
dGUoKSBjb25zdAogICAgIGlmICghbV93aWxsVmFsaWRhdGVJbml0aWFsaXplZCB8fCBtX2RhdGFM
aXN0QW5jZXN0b3JTdGF0ZSA9PSBVbmtub3duKSB7CiAgICAgICAgIG1fd2lsbFZhbGlkYXRlSW5p
dGlhbGl6ZWQgPSB0cnVlOwogICAgICAgICBtX3dpbGxWYWxpZGF0ZSA9IHJlY2FsY1dpbGxWYWxp
ZGF0ZSgpOworICAgICAgICBtX2lzVmFsaWRJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIC8vIElmIHRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIGZhaWxzLCBzZXROZWVk
c1dpbGxWYWxpZGF0ZUNoZWNrKCkgaXMgbm90CiAgICAgICAgIC8vIGNhbGxlZCBjb3JyZWN0bHkg
d2hlbiBzb21ldGhpbmcgd2hpY2ggY2hhbmdlcyByZWNhbGNXaWxsVmFsaWRhdGUoKSByZXN1bHQK
QEAgLTM5Miw2ICszOTQsNyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldE5lZWRz
V2lsbFZhbGlkYXRlQ2hlY2soKQogICAgICAgICByZXR1cm47CiAgICAgbV93aWxsVmFsaWRhdGVJ
bml0aWFsaXplZCA9IHRydWU7CiAgICAgbV93aWxsVmFsaWRhdGUgPSBuZXdXaWxsVmFsaWRhdGU7
CisgICAgc2V0TmVlZHNWYWxpZGl0eUNoZWNrKCk7CiAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygp
OwogICAgIGlmICghbV93aWxsVmFsaWRhdGUpCiAgICAgICAgIGhpZGVWaXNpYmxlVmFsaWRhdGlv
bk1lc3NhZ2UoKTsKQEAgLTQ1NCw2ICs0NTcsOCBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQ6OmNoZWNrVmFsaWRpdHkoVmVjdG9yPFJlZlB0cjxGb3JtQXNzb2NpYXRlZEVsZW1lbnQ+CiAK
IGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNWYWxpZEZvcm1Db250cm9sRWxlbWVudCgp
CiB7CisgICAgaWYgKCFtX2lzVmFsaWRJbml0aWFsaXplZCkKKyAgICAgICAgc2V0TmVlZHNWYWxp
ZGl0eUNoZWNrKCk7CiAgICAgLy8gSWYgdGhlIGZvbGxvd2luZyBhc3NlcnRpb24gZmFpbHMsIHNl
dE5lZWRzVmFsaWRpdHlDaGVjaygpIGlzIG5vdCBjYWxsZWQKICAgICAvLyBjb3JyZWN0bHkgd2hl
biBzb21ldGhpbmcgd2hpY2ggY2hhbmdlcyB2YWxpZGl0eSBpcyB1cGRhdGVkLgogICAgIEFTU0VS
VChtX2lzVmFsaWQgPT0gdmFsaWRpdHkoKS0+dmFsaWQoKSk7CkBAIC00NjgsNiArNDczLDcgQEAg
dm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXROZWVkc1ZhbGlkaXR5Q2hlY2soKQogICAg
ICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgfQogICAgIG1faXNWYWxpZCA9IG5ld0lz
VmFsaWQ7CisgICAgbV9pc1ZhbGlkSW5pdGlhbGl6ZWQgPSB0cnVlOwogCiAgICAgLy8gVXBkYXRl
cyBvbmx5IGlmIHRoaXMgY29udHJvbCBhbHJlYWR5IGhhcyBhIHZhbGlkdGlvbiBtZXNzYWdlLgog
ICAgIGlmICghdmlzaWJsZVZhbGlkYXRpb25NZXNzYWdlKCkuaXNFbXB0eSgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IGQ0YmRkNjc5YmU0
NDk0MTc2YzgwYjQyNWYxYmY0ZGZhMjgzNmRlNTcuLmUwM2ZlNzRmZGQ4MGE3ZjQ4ZWVkOWZlMjc0
NzBhYjI0MTdjMjY5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5oCkBAIC0xNjcsNiArMTY3LDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIGJvb2wg
bV93aWxsVmFsaWRhdGVJbml0aWFsaXplZDogMTsKICAgICBtdXRhYmxlIGJvb2wgbV93aWxsVmFs
aWRhdGUgOiAxOwogCisgICAgLy8gbV9pc1ZhbGlkIG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIGFm
dGVyIG1fd2lsbFZhbGlkYXRlIGhhcyBiZWVuIGluaXRpYWxpemVkLgorICAgIG11dGFibGUgYm9v
bCBtX2lzVmFsaWRJbml0aWFsaXplZDogMTsKICAgICAvLyBDYWNoZSBvZiB2YWxpZGl0eSgpLT52
YWxpZCgpLgogICAgIC8vIEJ1dCAiY2FuZGlkYXRlIGZvciBjb25zdHJhaW50IHZhbGlkYXRpb24i
IGRvZXNuJ3QgYWZmZWN0IG1faXNWYWxpZC4KICAgICBib29sIG1faXNWYWxpZCA6IDE7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggY2RkYjIwMDFmYTExNzUzNzE1YWM4M2E3OGZkZDhmZmQ3MzllZjI4Ni4uOTFkNTM3YTExODA5
YTVlNGVjYzYxMTk5NzE2YTQxNTZjMDljOWUwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEy
LTA1LTI0ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJh
ZCBjaGVja1ZhbGlkaXR5IHJlc3VsdCBvbiByZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGlzYWJsZWQtYXR0ci1jaGVja3ZhbGlkaXR5Lmh0bWw6IEFkZGVk
LgorCiAyMDEyLTA1LTIyICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgQWRkIGEgU2V0dGluZyB0byBtYWtlIHBvc2l0aW9uOmZpeGVkIGZvcm0gYSBuZXcg
c3RhY2tpbmcgY29udGV4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNh
YmxlZC1hdHRyLWNoZWNrdmFsaWRpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kaXNhYmxlZC1hdHRyLWNoZWNrdmFsaWRpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlmZGI1YjcxYzYwNjhkYzE5NzM5M2ExNjBlYTNmNmQ1NmFiOTgyZmQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBpZiBjaGFuZ2luZyBkaXNhYmxlZCB1
cGRhdGVzIGNoZWNrVmFsaWRpdHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGlucHV0LmNoZWNrVmFsaWRpdHkoKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZGlzYWJsZWQtYXR0ci1jaGVja3ZhbGlkaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
MGNhZjFlNWYwNTY2M2QwOTc4ZjZiNzVmOTU3YzE3MjQyZTBhMmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS5odG1s
CkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8aW5wdXQgaWQ9
ImlucHV0IiBkaXNhYmxlZCByZXF1aXJlZCAvPgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rl
c3QgaWYgY2hhbmdpbmcgZGlzYWJsZWQgdXBkYXRlcyBjaGVja1ZhbGlkaXR5LicpOworCit2YXIg
aW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKK2lucHV0LnZhbHVlID0g
IiI7CitpbnB1dC5kaXNhYmxlZCA9IGZhbHNlOworc2hvdWxkQmVGYWxzZSgnaW5wdXQuY2hlY2tW
YWxpZGl0eSgpJyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143975</attachid>
            <date>2012-05-24 22:15:47 -0700</date>
            <delta_ts>2012-05-24 23:01:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85704-20120525141545.patch</filename>
            <type>text/plain</type>
            <size>25379</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIyNjQ2ZTc1MWRkMjUz
ZGQyMTA4OGM4NTJkYTdlOWMxMjQ4NWEwYS4uZTE4NDdlOGIwYzA4ZTJiMGU4ZTkxNWEyZTQzZjBj
MWJkYTBmYmI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDEyLTA1LTI0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlk
aXR5IHJlc3VsdCBvbiByZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9kaXNh
YmxlZC1hdHRyLWNoZWNrdmFsaWRpdHkuaHRtbAorCisgICAgICAgIFdlIHdlcmUgdHJpcHBpbmcg
b24gdGhlIGFzc2VydGlvbiBtX2lzVmFsaWQgPT0gdmFsaWRpdHkoKS0+dmFsaWQoKQorICAgICAg
ICBpbnNpZGUgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNWYWxpZEZvcm1Db250cm9sRWxlbWVu
dC4KKyAgICAgICAgbV9pc1ZhbGlkIHdhcyBiZWNvbWluZyBzdGFsZSBiZWNhdXNlIHNldE5lZWRz
VmFsaWRpdHlDaGVjayB3YXNuJ3QgY2FsbGVkCisgICAgICAgIGFmdGVyIG1fd2lsbFZhbGlkYXRl
IGNoYW5nZWQuIFdlIG5lZWQgdG8gcmVtb3ZlIGNvbnN0IGZyb20KKyAgICAgICAgd2lsbFZhbGlk
YXRlKCkgc28gd2UgY2FuIGNhbGwgc2V0TmVlZHNWYWxpZGl0eUNoZWNrLgorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OndpbGxWYWxpZGF0ZSk6
CisgICAgICAgICogaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50OjpjdXN0b21FcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnJhbmdlT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnN0ZXBNaXNtYXRjaCk6CisgICAgICAg
IChXZWJDb3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnRvb0xvbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp2YWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpG
b3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpG
b3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKToKKyAgICAgICAgKiBodG1s
L0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oOgorICAgICAgICAoRm9ybUFzc29jaWF0ZWRFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKTogd2lsbFZhbGlk
YXRlIGlzIGNhbGxlZAorICAgICAgICBmcm9tIGluc2lkZSBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sg
c28gd2UgbmVlZCB0byBjaGVjayBpZiBtX3dpbGxWYWxpZGF0ZQorICAgICAgICBjaGFuZ2VkIHNv
IHdlIGRvbid0IGVudGVyIGFuIGluZmluaXRlIGxvb3AuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXROZWVkc1dpbGxWYWxpZGF0ZUNoZWNrKToKKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6dG9vTG9uZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50Ojp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6dmFsdWVNaXNzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjpyYW5nZVVuZGVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpy
YW5nZU92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbGlk
YXRpb25NZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBN
aXNtYXRjaCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChI
VE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MS2V5Z2VuRWxlbWVudDo6d2lsbFZhbGlkYXRlKToKKyAgICAg
ICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OndpbGxWYWxp
ZGF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAoSFRNTFNlbGVjdEVsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEFyZWFFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZU1pc3NpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4
dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUpOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5oOgorICAgICAgICAoSFRNTFRleHRBcmVhRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZU1pc3NpbmcpOgorCiAyMDEyLTA1LTIyICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggYSBjcmFzaCBp
biBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaXNhYmxlZCgpLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCBjZDM5NTcxM2JiZDM0NmEyODcxZTQxN2ZjY2IyOWI0MjQyNjk2NjQ5Li42Njg5
NjIwNDI0ZTlmNmQ3ZGY1NmM5MWUzOTBmZDUzY2NhZTQzZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTI0ICBLZWlzaGkgSGF0dG9yaSAgPGtl
aXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlkaXR5IHJlc3VsdCBvbiBy
ZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFbGVtZW50Lmg6CisgICAgICAg
IChXZWJJbnB1dEVsZW1lbnQpOgorICAgICAgICAqIHNyYy9XZWJJbnB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1ZSk6CisKIDIwMTIt
MDUtMjIgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBB
ZGQgYSBTZXR0aW5nIHRvIG1ha2UgcG9zaXRpb246Zml4ZWQgZm9ybSBhIG5ldyBzdGFja2luZyBj
b250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA5MTdjN2VhMDEwY2EwMjJjMmY2YmYwNmUwYTEz
YjJiMzg5ZmQ0NDkxLi4xOWE0NDNkOWYwOTRkZTIwZWRhMmUzNjI3ZjAzYjdhODI5NmIxN2RjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKQEAgLTM2Nyw3ICszNjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwCmluZGV4IDc2ZGQwZDE1OWYwNzVkOWRiNjZmZDdhMWZkZWJlMmRhOTU5
NDlhZjcuLjg1NjlkOTdjYzBlMDEyMGFjZGI1MzdkOGNkMjQ1YjM5OTg2MmE4ZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKQEAgLTE1Nyw1MCAr
MTU3LDUwIEBAIHZvaWQgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojpmb3JtQXR0cmlidXRlQ2hhbmdl
ZCgpCiAgICAgICAgIHJlc2V0Rm9ybU93bmVyKCk7CiB9CiAKLWJvb2wgRm9ybUFzc29jaWF0ZWRF
bGVtZW50OjpjdXN0b21FcnJvcigpIGNvbnN0Citib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6
Y3VzdG9tRXJyb3IoKQogewotICAgIGNvbnN0IEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1M
RWxlbWVudCh0aGlzKTsKKyAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IHRvSFRNTEVsZW1lbnQo
dGhpcyk7CiAgICAgcmV0dXJuIGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFtX2N1c3RvbVZh
bGlkYXRpb25NZXNzYWdlLmlzRW1wdHkoKTsKIH0KIAotYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQ6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Citib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6
cGF0dGVybk1pc21hdGNoKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgRm9ybUFz
c29jaWF0ZWRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkgY29uc3QKK2Jvb2wgRm9ybUFzc29jaWF0
ZWRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJv
b2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdygpIGNvbnN0Citib29sIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKQogewogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0
Citib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6c3RlcE1pc21hdGNoKCkKIHsKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0b29Mb25nKCkgY29u
c3QKK2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0b29Mb25nKCkKIHsKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0eXBlTWlzbWF0Y2goKSBj
b25zdAorYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRjaCgpCiB7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBj
b25zdAorYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbGlkKCkKIHsKICAgICBib29sIHNv
bWVFcnJvciA9IHR5cGVNaXNtYXRjaCgpIHx8IHN0ZXBNaXNtYXRjaCgpIHx8IHJhbmdlVW5kZXJm
bG93KCkgfHwgcmFuZ2VPdmVyZmxvdygpCiAgICAgICAgIHx8IHRvb0xvbmcoKSB8fCBwYXR0ZXJu
TWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3NpbmcoKSB8fCBjdXN0b21FcnJvcigpOwogICAgIHJldHVy
biAhc29tZUVycm9yOwogfQogCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsdWVNaXNz
aW5nKCkgY29uc3QKK2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKQog
ewogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTIxMCw3ICsyMTAsNyBAQCBTdHJpbmcgRm9ybUFz
c29jaWF0ZWRFbGVtZW50OjpjdXN0b21WYWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2U7CiB9CiAKLVN0cmluZyBGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3QKK1N0cmluZyBGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkKIHsKICAgICByZXR1cm4gY3VzdG9tRXJyb3Io
KSA/IG1fY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UgOiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCmluZGV4IDkyZWI4ZDdlZmJlNzgyYTUx
OTUwOGZjM2MzNTJjOTlkNjNiMzNhZGMuLmJhYTFmYjcwMzkxZDRkMGVlYmIzMDU5MTQ2Yzc3ODEx
ODg1NWIwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQu
aApAQCAtNjEsMTkgKzYxLDE5IEBAIHB1YmxpYzoKICAgICB2b2lkIGZvcm1SZW1vdmVkRnJvbVRy
ZWUoY29uc3QgTm9kZSogZm9ybVJvb3QpOwogCiAgICAgLy8gVmFsaWRpdHlTdGF0ZSBhdHRyaWJ1
dGUgaW1wbGVtZW50YXRpb25zCi0gICAgYm9vbCBjdXN0b21FcnJvcigpIGNvbnN0OworICAgIGJv
b2wgY3VzdG9tRXJyb3IoKTsKIAogICAgIC8vIE92ZXJyaWRlIGZ1bmN0aW9ucyBmb3IgcGF0dGVy
TWlzbWF0Y2gsIHJhbmdlT3ZlcmZsb3csIHJhbmdlclVuZGVyZmxvdywKICAgICAvLyBzdGVwTWlz
bWF0Y2gsIHRvb0xvbmcgYW5kIHZhbHVlTWlzc2luZyBtdXN0IGNhbGwgd2lsbFZhbGlkYXRlIG1l
dGhvZC4KLSAgICB2aXJ0dWFsIGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBib29sIHJhbmdlT3ZlcmZsb3coKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VV
bmRlcmZsb3coKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgc3RlcE1pc21hdGNoKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmcoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgdHlw
ZU1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0
OwotICAgIHZpcnR1YWwgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3Q7Ci0gICAgYm9v
bCB2YWxpZCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKTsKKyAg
ICB2aXJ0dWFsIGJvb2wgcmFuZ2VPdmVyZmxvdygpOworICAgIHZpcnR1YWwgYm9vbCByYW5nZVVu
ZGVyZmxvdygpOworICAgIHZpcnR1YWwgYm9vbCBzdGVwTWlzbWF0Y2goKTsKKyAgICB2aXJ0dWFs
IGJvb2wgdG9vTG9uZygpOworICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2goKTsKKyAgICB2
aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCk7CisgICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2UoKTsKKyAgICBib29sIHZhbGlkKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1c3Rv
bVZhbGlkaXR5KGNvbnN0IFN0cmluZyYpOwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBmMTk1ZWMwMjc4ZDhmMDZi
NWM1YjdkOGU2ZjE2MWY0ZGNmZWNmYjk4Li5hOWZmYTNmNDAyOTgxZGY4NDZhYzlhMjA3MDI5ZDcz
YjZjMzdjMTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTM3MCwxMSArMzcwLDE1IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6cmVjYWxjV2lsbFZhbGlkYXRlKCkgY29uc3QKICAgICByZXR1cm4gbV9kYXRhTGlzdEFuY2Vz
dG9yU3RhdGUgPT0gTm90SW5zaWRlRGF0YUxpc3QgJiYgIW1fZGlzYWJsZWQgJiYgIW1fcmVhZE9u
bHk7CiB9CiAKLWJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKCkgY29u
c3QKK2Jvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKCkKIHsKICAgICBp
ZiAoIW1fd2lsbFZhbGlkYXRlSW5pdGlhbGl6ZWQgfHwgbV9kYXRhTGlzdEFuY2VzdG9yU3RhdGUg
PT0gVW5rbm93bikgewogICAgICAgICBtX3dpbGxWYWxpZGF0ZUluaXRpYWxpemVkID0gdHJ1ZTsK
LSAgICAgICAgbV93aWxsVmFsaWRhdGUgPSByZWNhbGNXaWxsVmFsaWRhdGUoKTsKKyAgICAgICAg
Ym9vbCBuZXdXaWxsVmFsaWRhdGUgPSByZWNhbGNXaWxsVmFsaWRhdGUoKTsKKyAgICAgICAgaWYg
KG1fd2lsbFZhbGlkYXRlICE9IG5ld1dpbGxWYWxpZGF0ZSkgeworICAgICAgICAgICAgbV93aWxs
VmFsaWRhdGUgPSBuZXdXaWxsVmFsaWRhdGU7CisgICAgICAgICAgICBzZXROZWVkc1ZhbGlkaXR5
Q2hlY2soKTsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElmIHRoZSBmb2xs
b3dpbmcgYXNzZXJ0aW9uIGZhaWxzLCBzZXROZWVkc1dpbGxWYWxpZGF0ZUNoZWNrKCkgaXMgbm90
CiAgICAgICAgIC8vIGNhbGxlZCBjb3JyZWN0bHkgd2hlbiBzb21ldGhpbmcgd2hpY2ggY2hhbmdl
cyByZWNhbGNXaWxsVmFsaWRhdGUoKSByZXN1bHQKQEAgLTM5Miw2ICszOTYsNyBAQCB2b2lkIEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldE5lZWRzV2lsbFZhbGlkYXRlQ2hlY2soKQogICAgICAg
ICByZXR1cm47CiAgICAgbV93aWxsVmFsaWRhdGVJbml0aWFsaXplZCA9IHRydWU7CiAgICAgbV93
aWxsVmFsaWRhdGUgPSBuZXdXaWxsVmFsaWRhdGU7CisgICAgc2V0TmVlZHNWYWxpZGl0eUNoZWNr
KCk7CiAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwogICAgIGlmICghbV93aWxsVmFsaWRhdGUp
CiAgICAgICAgIGhpZGVWaXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggZDRiZGQ2NzliZTQ0OTQxNzZj
ODBiNDI1ZjFiZjRkZmEyODM2ZGU1Ny4uOTZiM2Y2YzllNDcxMTgzODY3ODcwNjZiZjdlNjQyNWZm
YmYyZmVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmgKQEAgLTk0LDcgKzk0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2YXRl
ZFN1Ym1pdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEFj
dGl2YXRlZFN1Ym1pdChib29sKSB7IH0KIAotICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgd2lsbFZhbGlkYXRlKCk7CiAgICAgdm9pZCB1cGRh
dGVWaXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKTsKICAgICB2b2lkIGhpZGVWaXNpYmxlVmFsaWRh
dGlvbk1lc3NhZ2UoKTsKICAgICBib29sIGNoZWNrVmFsaWRpdHkoVmVjdG9yPFJlZlB0cjxGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQ+ID4qIHVuaGFuZGxlZEludmFsaWRDb250cm9scyA9IDApOwpAQCAt
MTU4LDcgKzE1OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3JlcXVpcmVkIDogMTsKICAgICBi
b29sIG1fdmFsdWVNYXRjaGVzUmVuZGVyZXIgOiAxOwogCi0gICAgZW51bSBEYXRhTGlzdEFuY2Vz
dG9yU3RhdGUgeyBVbmtub3duLCBJbnNpZGVEYXRhTGlzdCwgTm90SW5zaWRlRGF0YUxpc3QgfTsK
KyAgICBlbnVtIERhdGFMaXN0QW5jZXN0b3JTdGF0ZSB7IFVua25vd24sIEluc2lkZURhdGFMaXN0
LCBOb3RJbnNpZGVEYXRhTGlzdCwgRG9udENhcmUgfTsKICAgICBtdXRhYmxlIGVudW0gRGF0YUxp
c3RBbmNlc3RvclN0YXRlIG1fZGF0YUxpc3RBbmNlc3RvclN0YXRlOwogCiAgICAgLy8gVGhlIGlu
aXRpYWwgdmFsdWUgb2YgbV93aWxsVmFsaWRhdGUgZGVwZW5kcyBvbiB0aGUgZGVyaXZlZCBjbGFz
cy4gV2UgY2FuJ3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4
IDQ3OGRlNDM4ZGZjOGI0ZjVkNmQ3ODJiMGU3NDIzZmY5YmMzMzg4YjYuLjM5MWUyMzI3NjgxZmI5
NGRjMzRkNzFkNGIzZjViMzc4NmE2YjAwZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcApAQCAtMTg0LDcgKzE4NCw3IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6
c2hvdWxkQXV0b2NvbXBsZXRlKCkgY29uc3QKICAgICByZXR1cm4gSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQ6OnNob3VsZEF1dG9jb21wbGV0ZSgpOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1l
bnQ6OmlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAorYm9vbCBIVE1MSW5w
dXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAo
IW1faW5wdXRUeXBlLT5jYW5TZXRTdHJpbmdWYWx1ZSgpKSB7CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpAQCAtMTk5LDIyICsxOTksMjIgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpp
c1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICAgICAgJiYgIW1faW5w
dXRUeXBlLT52YWx1ZU1pc3NpbmcodmFsdWUpOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6
OnRvb0xvbmcoKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkKIHsKICAg
ICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgdG9vTG9uZyh2YWx1ZSgpLCBDaGVja0RpcnR5Rmxh
Zyk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6dHlwZU1pc21hdGNoKCkgY29uc3QKK2Jv
b2wgSFRNTElucHV0RWxlbWVudDo6dHlwZU1pc21hdGNoKCkKIHsKICAgICByZXR1cm4gd2lsbFZh
bGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnR5cGVNaXNtYXRjaCgpOwogfQogCi1ib29sIEhUTUxJ
bnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6
OnZhbHVlTWlzc2luZygpCiB7CiAgICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIG1faW5wdXRU
eXBlLT52YWx1ZU1pc3NpbmcodmFsdWUoKSk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6
cGF0dGVybk1pc21hdGNoKCkgY29uc3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1p
c21hdGNoKCkKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnBh
dHRlcm5NaXNtYXRjaCh2YWx1ZSgpKTsKIH0KQEAgLTIzNywxNyArMjM3LDE3IEBAIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6dG9vTG9uZyhjb25zdCBTdHJpbmcmIHZhbHVlLCBOZWVkc1RvQ2hlY2tE
aXJ0eUZsYWcgY2hlY2spCiAgICAgcmV0dXJuIG51bUdyYXBoZW1lQ2x1c3RlcnModmFsdWUpID4g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heCk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6
cmFuZ2VVbmRlcmZsb3coKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZVVuZGVy
ZmxvdygpCiB7CiAgICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIG1faW5wdXRUeXBlLT5yYW5n
ZVVuZGVyZmxvdyh2YWx1ZSgpKTsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92
ZXJmbG93KCkgY29uc3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6cmFuZ2VPdmVyZmxvdygpCiB7
CiAgICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIG1faW5wdXRUeXBlLT5yYW5nZU92ZXJmbG93
KHZhbHVlKCkpOwogfQogCi1TdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3Nh
Z2UoKSBjb25zdAorU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkK
IHsKICAgICBpZiAoIXdpbGxWYWxpZGF0ZSgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CkBA
IC0yNjgsNyArMjY4LDcgQEAgZG91YmxlIEhUTUxJbnB1dEVsZW1lbnQ6Om1heGltdW0oKSBjb25z
dAogICAgIHJldHVybiBtX2lucHV0VHlwZS0+bWF4aW11bSgpOwogfQogCi1ib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpCiB7CiAgICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIG1faW5wdXRUeXBl
LT5zdGVwTWlzbWF0Y2godmFsdWUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCmluZGV4IDY5ZDBmMTdkNjE0ZmE1ODFmZDZjZGJmYzU4ZGZmYjE1NTljNGMwYmQuLjI0
N2VlOWMyN2FhODdhYWQ4OTQ0YjA1ZWE5ODE5Nzk4NjM3MmJhMjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC00OSwxNCArNDksMTQgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRBdXRvY29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxp
ZGl0eVN0YXRlCi0gICAgdmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0IE9WRVJS
SURFOwotICAgIHZpcnR1YWwgYm9vbCByYW5nZVVuZGVyZmxvdygpIGNvbnN0IE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJmbG93KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29s
IHN0ZXBNaXNtYXRjaCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCB0b29Mb25n
KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIHR5cGVNaXNtYXRjaCgpIGNvbnN0
IE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdCBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIGJvb2wgcmFuZ2VVbmRlcmZsb3coKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgcmFu
Z2VPdmVyZmxvdygpOworICAgIHZpcnR1YWwgYm9vbCBzdGVwTWlzbWF0Y2goKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIGJvb2wgdG9vTG9uZygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCB0
eXBlTWlzbWF0Y2goKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBPVkVSUklE
RTsKIAogICAgIC8vIFJldHVybnMgdGhlIG1pbmltdW0gdmFsdWUgZm9yIHR5cGU9ZGF0ZSwgbnVt
YmVyLCBvciByYW5nZS4gIERvbid0IGNhbGwgdGhpcyBmb3Igb3RoZXIgdHlwZXMuCiAgICAgZG91
YmxlIG1pbmltdW0oKSBjb25zdDsKQEAgLTE0Miw3ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRWYWx1ZUZvclVzZXIoY29uc3QgU3RyaW5nJik7CiAgICAgLy8gQ2hlY2tzIGlmIHRoZSBz
cGVjaWZpZWQgc3RyaW5nIHdvdWxkIGJlIGEgdmFsaWQgdmFsdWUuCiAgICAgLy8gV2Ugc2hvdWxk
IG5vdCBjYWxsIHRoaXMgZm9yIHR5cGVzIHdpdGggbm8gc3RyaW5nIHZhbHVlIHN1Y2ggYXMgQ0hF
Q0tCT1ggYW5kIFJBRElPLgotICAgIGJvb2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIGJvb2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgaGFz
RGlydHlWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuICFtX3ZhbHVlSWZEaXJ0eS5pc051bGwoKTsgfTsK
IAogICAgIFN0cmluZyBzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5oCmluZGV4IGEyOGQyNjk5MzUyOTM1ZWEyYjZi
ODljZDZhYmIwMGI1MWQ0YjU1Y2QuLmE1NzA4N2VmNzU3NmFiZGNjZDg3MTU1NGY2OWQ3OTVlZGVi
NDkyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmgKQEAgLTM0LDcg
KzM0LDcgQEAgY2xhc3MgSFRNTEtleWdlbkVsZW1lbnQgOiBwdWJsaWMgSFRNTEZvcm1Db250cm9s
RWxlbWVudFdpdGhTdGF0ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTEtl
eWdlbkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1M
Rm9ybUVsZW1lbnQqKTsKIAotICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSB7IHJldHVy
biBmYWxzZTsgfQogCiBwcml2YXRlOgogICAgIEhUTUxLZXlnZW5FbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCosIEhUTUxGb3JtRWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5oCmluZGV4IDM2YTQxNjA3YjBkNWJjOWQzY2I2OWQ4ZmQ5ZTBi
NzdjMzBmYTk3NjMuLmVlMmE4MDYyM2YwNDkyNzQzMjE3OGMzNTkyY2E3YjkyZWQyYmRkMDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKQEAgLTU0LDcgKzU0LDcgQEAg
cHVibGljOgogCiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIGNvbnN0cmFpbnQgdmFsaWRhdGlv
biBBUEkuCiAgICAgLy8gTm90ZSB0aGF0IHRoZSBvYmplY3QgZWxlbWVudHMgYXJlIGFsd2F5cyBi
YXJyZWQgZnJvbSBjb25zdHJhaW50IHZhbGlkYXRpb24uCi0gICAgdmlydHVhbCBTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2UoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBTdHJpbmcoKTsgfQorICAg
IHZpcnR1YWwgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgT1ZFUlJJREUgeyByZXR1cm4gU3Ry
aW5nKCk7IH0KICAgICBib29sIGNoZWNrVmFsaWRpdHkoKSB7IHJldHVybiB0cnVlOyB9CiAgICAg
dmlydHVhbCB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmluZyYpIE9WRVJSSURFIHsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmgKaW5kZXggZGEyYzhkODk3
MTNhYjEyOWM5NDEyYmRlZGY3OGY5ZDJmN2Y3YzVmNS4uMmU0OWNkZmQzYWFiMTVkY2U4ZDE4MWJh
ODYxMDZjNGE1NTM5MGFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0
cHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQu
aApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBIVE1MT3V0cHV0RWxlbWVudCA6IHB1YmxpYyBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1M
T3V0cHV0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIEhU
TUxGb3JtRWxlbWVudCopOwogCi0gICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIHsgcmV0
dXJuIGZhbHNlOyB9CiAKICAgICBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2b2lkIHNldFZh
bHVlKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmNwcAppbmRleCBiNGVmZWUxMmY5OGVjOWU0MDNlNTlmNjdlZTFiOGNiN2ZjOGMxOTA4Li5hNTU4
YzQ2YjViM2Q4YzZkZGMyZTYyYjFlMjYyMjg3YmYwMTc1ZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMTQ2LDcgKzE0Niw3IEBAIGJvb2wgSFRNTFNl
bGVjdEVsZW1lbnQ6Omhhc1BsYWNlaG9sZGVyTGFiZWxPcHRpb24oKSBjb25zdAogICAgIHJldHVy
biAhbGlzdEluZGV4ICYmIG9wdGlvbi0+dmFsdWUoKS5pc0VtcHR5KCk7CiB9CiAKLVN0cmluZyBI
VE1MU2VsZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAorU3RyaW5nIEhUTUxT
ZWxlY3RFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSgpCiB7CiAgICAgaWYgKCF3aWxsVmFsaWRh
dGUoKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwpAQCAtMTU3LDcgKzE1Nyw3IEBAIFN0cmlu
ZyBIVE1MU2VsZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgIHJldHVy
biB2YWx1ZU1pc3NpbmcoKSA/IHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0
VGV4dCgpIDogU3RyaW5nKCk7CiB9CiAKLWJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6OnZhbHVlTWlz
c2luZygpIGNvbnN0Citib29sIEhUTUxTZWxlY3RFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKQogewog
ICAgIGlmICghd2lsbFZhbGlkYXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCBkYzg5NTRmOTc1MjU3NDhmMzU5ODM3
MmFmYzViODlmMWNjMGExYmY5Li40YWY1MDlmYWQ0OTYxZTA5NTg2NDYyZjYzZjY2YjgwY2Y0OGU1
Y2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC00Niw4ICs0
Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIG9wdGlvblNlbGVjdGVkQnlVc2VyKGludCBpbmRleCwg
Ym9vbCBkaXNwYXRjaENoYW5nZUV2ZW50LCBib29sIGFsbG93TXVsdGlwbGVTZWxlY3Rpb24gPSBm
YWxzZSk7CiAKICAgICAvLyBGb3IgVmFsaWRpdHlTdGF0ZQotICAgIHZpcnR1YWwgU3RyaW5nIHZh
bGlkYXRpb25NZXNzYWdlKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIHZhbHVl
TWlzc2luZygpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgU3RyaW5nIHZhbGlkYXRpb25N
ZXNzYWdlKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHZhbHVlTWlzc2luZygpIE9WRVJS
SURFOwogCiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IDE2NTJjODkxMTJlOTkxZTMzYjY3Y2Jm
NTE2ZTY4M2JiOTc1ODg0NDMuLjQ1ZDFkYTdlZTFkNTg0Mjk1YjRkZmFjMTZiNjliODIyYzU2ODI1
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcApAQCAt
NDI0LDcgKzQyNCw3IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6c2V0TWF4TGVuZ3RoKGlu
dCBuZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHNldEF0dHJpYnV0ZShtYXhs
ZW5ndGhBdHRyLCBTdHJpbmc6Om51bWJlcihuZXdWYWx1ZSkpOwogfQogCi1TdHJpbmcgSFRNTFRl
eHRBcmVhRWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAorU3RyaW5nIEhUTUxUZXh0
QXJlYUVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkKIHsKICAgICBpZiAoIXdpbGxWYWxpZGF0
ZSgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CkBAIC00NDEsMTcgKzQ0MSwxNyBAQCBTdHJp
bmcgSFRNTFRleHRBcmVhRWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZU1pc3Np
bmcoKSBjb25zdAorYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKQogewog
ICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiB2YWx1ZU1pc3NpbmcodmFsdWUoKSk7CiB9CiAK
LWJvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZygpIGNvbnN0Citib29sIEhUTUxUZXh0
QXJlYUVsZW1lbnQ6OnRvb0xvbmcoKQogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiB0
b29Mb25nKHZhbHVlKCksIENoZWNrRGlydHlGbGFnKTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFF
bGVtZW50Ojp0b29Mb25nKGNvbnN0IFN0cmluZyYgdmFsdWUsIE5lZWRzVG9DaGVja0RpcnR5Rmxh
ZyBjaGVjaykgY29uc3QKK2Jvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyhjb25zdCBT
dHJpbmcmIHZhbHVlLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcgY2hlY2spCiB7CiAgICAgLy8gUmV0
dXJuIGZhbHNlIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBvciB2YWx1ZSBzZXQgYnkgc2NyaXB0IGV2
ZW4gaWYgaXQgaXMKICAgICAvLyBsb25nZXIgdGhhbiBtYXhMZW5ndGguCkBAIC00NjQsNyArNDY0
LDcgQEAgYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojp0b29Mb25nKGNvbnN0IFN0cmluZyYgdmFs
dWUsIE5lZWRzVG9DaGVja0RpcnR5RmxhZyBjaGUKICAgICByZXR1cm4gY29tcHV0ZUxlbmd0aEZv
clN1Ym1pc3Npb24odmFsdWUpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heCk7CiB9CiAKLWJv
b2wgSFRNTFRleHRBcmVhRWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYgY2FuZGlk
YXRlKSBjb25zdAorYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3Qg
U3RyaW5nJiBjYW5kaWRhdGUpCiB7CiAgICAgcmV0dXJuICF2YWx1ZU1pc3NpbmcoY2FuZGlkYXRl
KSAmJiAhdG9vTG9uZyhjYW5kaWRhdGUsIElnbm9yZURpcnR5RmxhZyk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmluZGV4IGM0NzVjNzE3ZTlkYzBjODIyZmY4
OGY3ZWZjMWVmOTFlNmZhZTc3NTYuLjFhMDI2YjQxZmQ5YjdhNDQxZTlhZTg0ZGJjZjM2YzQ4MGEy
OGM4YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCkBAIC00
OCwxMCArNDgsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IG1heExlbmd0aCgpIGNvbnN0
OwogICAgIHZvaWQgc2V0TWF4TGVuZ3RoKGludCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIC8vIEZv
ciBWYWxpZGl0eVN0YXRlCi0gICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBj
b25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCkgY29uc3QgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmcoKSBjb25zdCBPVkVSUklERTsKLSAgICBi
b29sIGlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2aXJ0dWFsIFN0cmlu
ZyB2YWxpZGF0aW9uTWVzc2FnZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1p
c3NpbmcoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgdG9vTG9uZygpIE9WRVJSSURFOwor
ICAgIGJvb2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIHZpcnR1YWwg
SFRNTEVsZW1lbnQqIGlubmVyVGV4dEVsZW1lbnQoKSBjb25zdDsKIApAQCAtMTEwLDggKzExMCw4
IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlSW5wdXRNZXRob2QoKTsK
IAotICAgIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0IHsgcmV0
dXJuIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpICYmICFkaXNhYmxlZCgpICYmICFyZWFkT25seSgp
ICYmIHZhbHVlLmlzRW1wdHkoKTsgfQotICAgIGJvb2wgdG9vTG9uZyhjb25zdCBTdHJpbmcmLCBO
ZWVkc1RvQ2hlY2tEaXJ0eUZsYWcpIGNvbnN0OworICAgIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0
IFN0cmluZyYgdmFsdWUpIHsgcmV0dXJuIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpICYmICFkaXNh
YmxlZCgpICYmICFyZWFkT25seSgpICYmIHZhbHVlLmlzRW1wdHkoKTsgfQorICAgIGJvb2wgdG9v
TG9uZyhjb25zdCBTdHJpbmcmLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcpOwogCiAgICAgaW50IG1f
cm93czsKICAgICBpbnQgbV9jb2xzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJbnB1dEVsZW1lbnQuaAppbmRleCAyM2U4NWFhNzMxMTEwOTk3M2ExMzkwYmY4MDdmY2I1
YThhYzE5YmJiLi4yNTE5ZDRhNjlkODdkNWIxNzlkNzBkODc3MmRlNDVlOTdhNjE1NzJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaApAQCAt
ODksNyArODksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHNldFNlbGVjdGlvblJhbmdlKGludCwgaW50KTsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBp
bnQgc2VsZWN0aW9uU3RhcnQoKSBjb25zdDsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBpbnQgc2Vs
ZWN0aW9uRW5kKCkgY29uc3Q7Ci0gICAgICAgIFdFQktJVF9FWFBPUlQgYm9vbCBpc1ZhbGlkVmFs
dWUoY29uc3QgV2ViU3RyaW5nJikgY29uc3Q7CisgICAgICAgIFdFQktJVF9FWFBPUlQgYm9vbCBp
c1ZhbGlkVmFsdWUoY29uc3QgV2ViU3RyaW5nJik7CiAgICAgICAgIFdFQktJVF9FWFBPUlQgYm9v
bCBpc0NoZWNrZWQoKSBjb25zdDsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBib29sIGlzTXVsdGlw
bGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
SW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RWxl
bWVudC5jcHAKaW5kZXggYWRhZTlkYWM4MmQxNzhmZTFiZWRjMGY5YTk1Y2M3MDQzNjc3MmY1Ny4u
ODNlNjBmOWRmMTNmM2ZlMzU0ZmI5Yjk3MjdhYTE1ZjNlZTRmN2EyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwCkBAIC0xNTMsOSArMTUzLDkg
QEAgaW50IFdlYklucHV0RWxlbWVudDo6c2VsZWN0aW9uRW5kKCkgY29uc3QKICAgICByZXR1cm4g
Y29uc3RVbndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+c2VsZWN0aW9uRW5kKCk7CiB9CiAKLWJv
b2wgV2ViSW5wdXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgV2ViU3RyaW5nJiB2YWx1ZSkg
Y29uc3QKK2Jvb2wgV2ViSW5wdXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgV2ViU3RyaW5n
JiB2YWx1ZSkKIHsKLSAgICByZXR1cm4gY29uc3RVbndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+
aXNWYWxpZFZhbHVlKHZhbHVlKTsKKyAgICByZXR1cm4gdW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+
KCktPmlzVmFsaWRWYWx1ZSh2YWx1ZSk7CiB9CiAKIGJvb2wgV2ViSW5wdXRFbGVtZW50Ojppc0No
ZWNrZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkZGIyMDAxZmExMTc1MzcxNWFjODNhNzhmZGQ4ZmZkNzM5
ZWYyODYuLjkxZDUzN2ExMTgwOWE1ZTRlY2M2MTE5OTcxNmE0MTU2YzA5YzllMGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMi0wNS0yNCAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0
Lm9yZz4KKworICAgICAgICBCYWQgY2hlY2tWYWxpZGl0eSByZXN1bHQgb24gcmVjZW50bHkgImVu
YWJsZWQiIGZvcm0gZmllbGRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NTcwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRyLWNoZWNrdmFsaWRpdHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2
YWxpZGl0eS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0yMiAgSmFtZXMgUm9iaW5zb24gIDxqYW1l
c3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBhIFNldHRpbmcgdG8gbWFrZSBwb3NpdGlv
bjpmaXhlZCBmb3JtIGEgbmV3IHN0YWNraW5nIGNvbnRleHQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGlzYWJsZWQtYXR0ci1jaGVja3ZhbGlkaXR5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGlzYWJsZWQtYXR0ci1jaGVja3ZhbGlkaXR5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ZmRiNWI3MWM2MDY4ZGMxOTczOTNhMTYwZWEzZjZkNTZhYjk4
MmZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNhYmxlZC1h
dHRyLWNoZWNrdmFsaWRpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgaWYg
Y2hhbmdpbmcgZGlzYWJsZWQgdXBkYXRlcyBjaGVja1ZhbGlkaXR5LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBpbnB1dC5jaGVja1ZhbGlkaXR5KCkgaXMgZmFsc2UKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRyLWNoZWNrdmFsaWRpdHku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZDBjYWYxZTVmMDU2NjNkMDk3OGY2Yjc1Zjk1N2MxNzI0MmUwYTJm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRy
LWNoZWNrdmFsaWRpdHkuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworPGlucHV0IGlkPSJpbnB1dCIgZGlzYWJsZWQgcmVxdWlyZWQgLz4KKworPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCdUZXN0IGlmIGNoYW5naW5nIGRpc2FibGVkIHVwZGF0ZXMgY2hlY2tW
YWxpZGl0eS4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0
Jyk7CitpbnB1dC52YWx1ZSA9ICIiOworaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKK3Nob3VsZEJl
RmFsc2UoJ2lucHV0LmNoZWNrVmFsaWRpdHkoKScpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143982</attachid>
            <date>2012-05-24 23:02:01 -0700</date>
            <delta_ts>2012-05-25 01:16:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85704-20120525150159.patch</filename>
            <type>text/plain</type>
            <size>25000</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIyNjQ2ZTc1MWRkMjUz
ZGQyMTA4OGM4NTJkYTdlOWMxMjQ4NWEwYS4uZTE4NDdlOGIwYzA4ZTJiMGU4ZTkxNWEyZTQzZjBj
MWJkYTBmYmI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDEyLTA1LTI0ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlk
aXR5IHJlc3VsdCBvbiByZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9kaXNh
YmxlZC1hdHRyLWNoZWNrdmFsaWRpdHkuaHRtbAorCisgICAgICAgIFdlIHdlcmUgdHJpcHBpbmcg
b24gdGhlIGFzc2VydGlvbiBtX2lzVmFsaWQgPT0gdmFsaWRpdHkoKS0+dmFsaWQoKQorICAgICAg
ICBpbnNpZGUgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNWYWxpZEZvcm1Db250cm9sRWxlbWVu
dC4KKyAgICAgICAgbV9pc1ZhbGlkIHdhcyBiZWNvbWluZyBzdGFsZSBiZWNhdXNlIHNldE5lZWRz
VmFsaWRpdHlDaGVjayB3YXNuJ3QgY2FsbGVkCisgICAgICAgIGFmdGVyIG1fd2lsbFZhbGlkYXRl
IGNoYW5nZWQuIFdlIG5lZWQgdG8gcmVtb3ZlIGNvbnN0IGZyb20KKyAgICAgICAgd2lsbFZhbGlk
YXRlKCkgc28gd2UgY2FuIGNhbGwgc2V0TmVlZHNWYWxpZGl0eUNoZWNrLgorCisgICAgICAgICog
ZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OndpbGxWYWxpZGF0ZSk6
CisgICAgICAgICogaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50OjpjdXN0b21FcnJvcik6CisgICAgICAgIChXZWJD
b3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnJhbmdlT3ZlcmZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdyk6CisgICAgICAg
IChXZWJDb3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnN0ZXBNaXNtYXRjaCk6CisgICAgICAg
IChXZWJDb3JlOjpGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnRvb0xvbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp2YWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpG
b3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpG
b3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKToKKyAgICAgICAgKiBodG1s
L0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oOgorICAgICAgICAoRm9ybUFzc29jaWF0ZWRFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKTogd2lsbFZhbGlk
YXRlIGlzIGNhbGxlZAorICAgICAgICBmcm9tIGluc2lkZSBzZXROZWVkc1ZhbGlkaXR5Q2hlY2sg
c28gd2UgbmVlZCB0byBjaGVjayBpZiBtX3dpbGxWYWxpZGF0ZQorICAgICAgICBjaGFuZ2VkIHNv
IHdlIGRvbid0IGVudGVyIGFuIGluZmluaXRlIGxvb3AuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50OjpzZXROZWVkc1dpbGxWYWxpZGF0ZUNoZWNrKToKKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTElucHV0RWxlbWVudDo6dG9vTG9uZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50Ojp0eXBlTWlzbWF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6dmFsdWVNaXNzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQ6OnBhdHRlcm5NaXNtYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjpyYW5nZVVuZGVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojpy
YW5nZU92ZXJmbG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnZhbGlk
YXRpb25NZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnN0ZXBN
aXNtYXRjaCk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChI
VE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxLZXlnZW5FbGVtZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MS2V5Z2VuRWxlbWVudDo6d2lsbFZhbGlkYXRlKToKKyAgICAg
ICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3V0cHV0
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE91dHB1dEVsZW1lbnQ6OndpbGxWYWxp
ZGF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAoSFRNTFNlbGVjdEVsZW1lbnQpOgorICAg
ICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEFyZWFFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZU1pc3NpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4
dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUpOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5oOgorICAgICAgICAoSFRNTFRleHRBcmVhRWxlbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZU1pc3NpbmcpOgorCiAyMDEyLTA1LTIyICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggYSBjcmFzaCBp
biBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaXNhYmxlZCgpLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCBjZDM5NTcxM2JiZDM0NmEyODcxZTQxN2ZjY2IyOWI0MjQyNjk2NjQ5Li42Njg5
NjIwNDI0ZTlmNmQ3ZGY1NmM5MWUzOTBmZDUzY2NhZTQzZDU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTI0ICBLZWlzaGkgSGF0dG9yaSAgPGtl
aXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlkaXR5IHJlc3VsdCBvbiBy
ZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFbGVtZW50Lmg6CisgICAgICAg
IChXZWJJbnB1dEVsZW1lbnQpOgorICAgICAgICAqIHNyYy9XZWJJbnB1dEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1ZSk6CisKIDIwMTIt
MDUtMjIgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBB
ZGQgYSBTZXR0aW5nIHRvIG1ha2UgcG9zaXRpb246Zml4ZWQgZm9ybSBhIG5ldyBzdGFja2luZyBj
b250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA5MTdjN2VhMDEwY2EwMjJjMmY2YmYwNmUwYTEz
YjJiMzg5ZmQ0NDkxLi4xOWE0NDNkOWYwOTRkZTIwZWRhMmUzNjI3ZjAzYjdhODI5NmIxN2RjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKQEAgLTM2Nyw3ICszNjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0oKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUoKSB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzVW5hY2NlcHRhYmxlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0luUmFuZ2UoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuY3BwCmluZGV4IDc2ZGQwZDE1OWYwNzVkOWRiNjZmZDdhMWZkZWJlMmRhOTU5
NDlhZjcuLjg1NjlkOTdjYzBlMDEyMGFjZGI1MzdkOGNkMjQ1YjM5OTg2MmE4ZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKQEAgLTE1Nyw1MCAr
MTU3LDUwIEBAIHZvaWQgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojpmb3JtQXR0cmlidXRlQ2hhbmdl
ZCgpCiAgICAgICAgIHJlc2V0Rm9ybU93bmVyKCk7CiB9CiAKLWJvb2wgRm9ybUFzc29jaWF0ZWRF
bGVtZW50OjpjdXN0b21FcnJvcigpIGNvbnN0Citib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6
Y3VzdG9tRXJyb3IoKQogewotICAgIGNvbnN0IEhUTUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1M
RWxlbWVudCh0aGlzKTsKKyAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IHRvSFRNTEVsZW1lbnQo
dGhpcyk7CiAgICAgcmV0dXJuIGVsZW1lbnQtPndpbGxWYWxpZGF0ZSgpICYmICFtX2N1c3RvbVZh
bGlkYXRpb25NZXNzYWdlLmlzRW1wdHkoKTsKIH0KIAotYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQ6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Citib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6
cGF0dGVybk1pc21hdGNoKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgRm9ybUFz
c29jaWF0ZWRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkgY29uc3QKK2Jvb2wgRm9ybUFzc29jaWF0
ZWRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJv
b2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdygpIGNvbnN0Citib29sIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKQogewogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0
Citib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6c3RlcE1pc21hdGNoKCkKIHsKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0b29Mb25nKCkgY29u
c3QKK2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0b29Mb25nKCkKIHsKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp0eXBlTWlzbWF0Y2goKSBj
b25zdAorYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnR5cGVNaXNtYXRjaCgpCiB7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWQoKSBj
b25zdAorYm9vbCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbGlkKCkKIHsKICAgICBib29sIHNv
bWVFcnJvciA9IHR5cGVNaXNtYXRjaCgpIHx8IHN0ZXBNaXNtYXRjaCgpIHx8IHJhbmdlVW5kZXJm
bG93KCkgfHwgcmFuZ2VPdmVyZmxvdygpCiAgICAgICAgIHx8IHRvb0xvbmcoKSB8fCBwYXR0ZXJu
TWlzbWF0Y2goKSB8fCB2YWx1ZU1pc3NpbmcoKSB8fCBjdXN0b21FcnJvcigpOwogICAgIHJldHVy
biAhc29tZUVycm9yOwogfQogCi1ib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsdWVNaXNz
aW5nKCkgY29uc3QKK2Jvb2wgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp2YWx1ZU1pc3NpbmcoKQog
ewogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTIxMCw3ICsyMTAsNyBAQCBTdHJpbmcgRm9ybUFz
c29jaWF0ZWRFbGVtZW50OjpjdXN0b21WYWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2U7CiB9CiAKLVN0cmluZyBGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3QKK1N0cmluZyBGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkKIHsKICAgICByZXR1cm4gY3VzdG9tRXJyb3Io
KSA/IG1fY3VzdG9tVmFsaWRhdGlvbk1lc3NhZ2UgOiBTdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCmluZGV4IDkyZWI4ZDdlZmJlNzgyYTUx
OTUwOGZjM2MzNTJjOTlkNjNiMzNhZGMuLmJhYTFmYjcwMzkxZDRkMGVlYmIzMDU5MTQ2Yzc3ODEx
ODg1NWIwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQu
aApAQCAtNjEsMTkgKzYxLDE5IEBAIHB1YmxpYzoKICAgICB2b2lkIGZvcm1SZW1vdmVkRnJvbVRy
ZWUoY29uc3QgTm9kZSogZm9ybVJvb3QpOwogCiAgICAgLy8gVmFsaWRpdHlTdGF0ZSBhdHRyaWJ1
dGUgaW1wbGVtZW50YXRpb25zCi0gICAgYm9vbCBjdXN0b21FcnJvcigpIGNvbnN0OworICAgIGJv
b2wgY3VzdG9tRXJyb3IoKTsKIAogICAgIC8vIE92ZXJyaWRlIGZ1bmN0aW9ucyBmb3IgcGF0dGVy
TWlzbWF0Y2gsIHJhbmdlT3ZlcmZsb3csIHJhbmdlclVuZGVyZmxvdywKICAgICAvLyBzdGVwTWlz
bWF0Y2gsIHRvb0xvbmcgYW5kIHZhbHVlTWlzc2luZyBtdXN0IGNhbGwgd2lsbFZhbGlkYXRlIG1l
dGhvZC4KLSAgICB2aXJ0dWFsIGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBib29sIHJhbmdlT3ZlcmZsb3coKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgcmFuZ2VV
bmRlcmZsb3coKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgc3RlcE1pc21hdGNoKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmcoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgdHlw
ZU1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0
OwotICAgIHZpcnR1YWwgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3Q7Ci0gICAgYm9v
bCB2YWxpZCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKTsKKyAg
ICB2aXJ0dWFsIGJvb2wgcmFuZ2VPdmVyZmxvdygpOworICAgIHZpcnR1YWwgYm9vbCByYW5nZVVu
ZGVyZmxvdygpOworICAgIHZpcnR1YWwgYm9vbCBzdGVwTWlzbWF0Y2goKTsKKyAgICB2aXJ0dWFs
IGJvb2wgdG9vTG9uZygpOworICAgIHZpcnR1YWwgYm9vbCB0eXBlTWlzbWF0Y2goKTsKKyAgICB2
aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCk7CisgICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlv
bk1lc3NhZ2UoKTsKKyAgICBib29sIHZhbGlkKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1c3Rv
bVZhbGlkaXR5KGNvbnN0IFN0cmluZyYpOwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBmMTk1ZWMwMjc4ZDhmMDZi
NWM1YjdkOGU2ZjE2MWY0ZGNmZWNmYjk4Li5hOWZmYTNmNDAyOTgxZGY4NDZhYzlhMjA3MDI5ZDcz
YjZjMzdjMTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTM3MCwxMSArMzcwLDE1IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVu
dDo6cmVjYWxjV2lsbFZhbGlkYXRlKCkgY29uc3QKICAgICByZXR1cm4gbV9kYXRhTGlzdEFuY2Vz
dG9yU3RhdGUgPT0gTm90SW5zaWRlRGF0YUxpc3QgJiYgIW1fZGlzYWJsZWQgJiYgIW1fcmVhZE9u
bHk7CiB9CiAKLWJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKCkgY29u
c3QKK2Jvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKCkKIHsKICAgICBp
ZiAoIW1fd2lsbFZhbGlkYXRlSW5pdGlhbGl6ZWQgfHwgbV9kYXRhTGlzdEFuY2VzdG9yU3RhdGUg
PT0gVW5rbm93bikgewogICAgICAgICBtX3dpbGxWYWxpZGF0ZUluaXRpYWxpemVkID0gdHJ1ZTsK
LSAgICAgICAgbV93aWxsVmFsaWRhdGUgPSByZWNhbGNXaWxsVmFsaWRhdGUoKTsKKyAgICAgICAg
Ym9vbCBuZXdXaWxsVmFsaWRhdGUgPSByZWNhbGNXaWxsVmFsaWRhdGUoKTsKKyAgICAgICAgaWYg
KG1fd2lsbFZhbGlkYXRlICE9IG5ld1dpbGxWYWxpZGF0ZSkgeworICAgICAgICAgICAgbV93aWxs
VmFsaWRhdGUgPSBuZXdXaWxsVmFsaWRhdGU7CisgICAgICAgICAgICBzZXROZWVkc1ZhbGlkaXR5
Q2hlY2soKTsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElmIHRoZSBmb2xs
b3dpbmcgYXNzZXJ0aW9uIGZhaWxzLCBzZXROZWVkc1dpbGxWYWxpZGF0ZUNoZWNrKCkgaXMgbm90
CiAgICAgICAgIC8vIGNhbGxlZCBjb3JyZWN0bHkgd2hlbiBzb21ldGhpbmcgd2hpY2ggY2hhbmdl
cyByZWNhbGNXaWxsVmFsaWRhdGUoKSByZXN1bHQKQEAgLTM5Miw2ICszOTYsNyBAQCB2b2lkIEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ6OnNldE5lZWRzV2lsbFZhbGlkYXRlQ2hlY2soKQogICAgICAg
ICByZXR1cm47CiAgICAgbV93aWxsVmFsaWRhdGVJbml0aWFsaXplZCA9IHRydWU7CiAgICAgbV93
aWxsVmFsaWRhdGUgPSBuZXdXaWxsVmFsaWRhdGU7CisgICAgc2V0TmVlZHNWYWxpZGl0eUNoZWNr
KCk7CiAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwogICAgIGlmICghbV93aWxsVmFsaWRhdGUp
CiAgICAgICAgIGhpZGVWaXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggZDRiZGQ2NzliZTQ0OTQxNzZj
ODBiNDI1ZjFiZjRkZmEyODM2ZGU1Ny4uMTFjZTQ5ZGFiZjJkYTM4NWE4YTk2NTdjYWU1MDRjMTE3
ODBlNTAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmgKQEAgLTk0LDcgKzk0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2YXRl
ZFN1Ym1pdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEFj
dGl2YXRlZFN1Ym1pdChib29sKSB7IH0KIAotICAgIHZpcnR1YWwgYm9vbCB3aWxsVmFsaWRhdGUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgd2lsbFZhbGlkYXRlKCkgT1ZFUlJJREU7CiAgICAg
dm9pZCB1cGRhdGVWaXNpYmxlVmFsaWRhdGlvbk1lc3NhZ2UoKTsKICAgICB2b2lkIGhpZGVWaXNp
YmxlVmFsaWRhdGlvbk1lc3NhZ2UoKTsKICAgICBib29sIGNoZWNrVmFsaWRpdHkoVmVjdG9yPFJl
ZlB0cjxGb3JtQXNzb2NpYXRlZEVsZW1lbnQ+ID4qIHVuaGFuZGxlZEludmFsaWRDb250cm9scyA9
IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNDc4ZGU0
MzhkZmM4YjRmNWQ2ZDc4MmIwZTc0MjNmZjliYzMzODhiNi4uMzkxZTIzMjc2ODFmYjk0ZGMzNGQ3
MWQ0YjNmNWIzNzg2YTZiMDBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCkBAIC0xODQsNyArMTg0LDcgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzaG91bGRB
dXRvY29tcGxldGUoKSBjb25zdAogICAgIHJldHVybiBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dDo6c2hvdWxkQXV0b2NvbXBsZXRlKCk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNW
YWxpZFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1l
bnQ6OmlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIGlmICghbV9pbnB1
dFR5cGUtPmNhblNldFN0cmluZ1ZhbHVlKCkpIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CkBAIC0xOTksMjIgKzE5OSwyMiBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzVmFsaWRW
YWx1ZShjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgICAgICAmJiAhbV9pbnB1dFR5cGUt
PnZhbHVlTWlzc2luZyh2YWx1ZSk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6dG9vTG9u
ZygpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnRvb0xvbmcoKQogewogICAgIHJldHVy
biB3aWxsVmFsaWRhdGUoKSAmJiB0b29Mb25nKHZhbHVlKCksIENoZWNrRGlydHlGbGFnKTsKIH0K
IAotYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0eXBlTWlzbWF0Y2goKSBjb25zdAorYm9vbCBIVE1M
SW5wdXRFbGVtZW50Ojp0eXBlTWlzbWF0Y2goKQogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUo
KSAmJiBtX2lucHV0VHlwZS0+dHlwZU1pc21hdGNoKCk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxl
bWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVN
aXNzaW5nKCkKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnZh
bHVlTWlzc2luZyh2YWx1ZSgpKTsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJu
TWlzbWF0Y2goKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2go
KQogewogICAgIHJldHVybiB3aWxsVmFsaWRhdGUoKSAmJiBtX2lucHV0VHlwZS0+cGF0dGVybk1p
c21hdGNoKHZhbHVlKCkpOwogfQpAQCAtMjM3LDE3ICsyMzcsMTcgQEAgYm9vbCBIVE1MSW5wdXRF
bGVtZW50Ojp0b29Mb25nKGNvbnN0IFN0cmluZyYgdmFsdWUsIE5lZWRzVG9DaGVja0RpcnR5Rmxh
ZyBjaGVjaykKICAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVzdGVycyh2YWx1ZSkgPiBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4obWF4KTsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZVVu
ZGVyZmxvdygpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkK
IHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnJhbmdlVW5kZXJm
bG93KHZhbHVlKCkpOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlT3ZlcmZsb3co
KSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92ZXJmbG93KCkKIHsKICAgICBy
ZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnJhbmdlT3ZlcmZsb3codmFsdWUo
KSk7CiB9CiAKLVN0cmluZyBIVE1MSW5wdXRFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSgpIGNv
bnN0CitTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKQogewogICAg
IGlmICghd2lsbFZhbGlkYXRlKCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTI2OCw3
ICsyNjgsNyBAQCBkb3VibGUgSFRNTElucHV0RWxlbWVudDo6bWF4aW11bSgpIGNvbnN0CiAgICAg
cmV0dXJuIG1faW5wdXRUeXBlLT5tYXhpbXVtKCk7CiB9CiAKLWJvb2wgSFRNTElucHV0RWxlbWVu
dDo6c3RlcE1pc21hdGNoKCkgY29uc3QKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6c3RlcE1pc21h
dGNoKCkKIHsKICAgICByZXR1cm4gd2lsbFZhbGlkYXRlKCkgJiYgbV9pbnB1dFR5cGUtPnN0ZXBN
aXNtYXRjaCh2YWx1ZSgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgK
aW5kZXggNjlkMGYxN2Q2MTRmYTU4MWZkNmNkYmZjNThkZmZiMTU1OWM0YzBiZC4uZjE2OWZkYmE3
YzA0ZWI2NDc4N2ZiYWY3MmUzYzM5ZTMzMzg3NTUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKQEAgLTQ5LDE0ICs0OSwxNCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIHNob3VsZEF1dG9jb21wbGV0ZSgpIGNvbnN0OwogCiAgICAgLy8gRm9yIFZhbGlkaXR5U3Rh
dGUKLSAgICB2aXJ0dWFsIGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3QgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCBib29sIHJhbmdlVW5kZXJmbG93KCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmly
dHVhbCBib29sIHJhbmdlT3ZlcmZsb3coKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgc3RlcE1p
c21hdGNoKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmcoKSBjb25z
dCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3QgT1ZFUlJJ
REU7Ci0gICAgdmlydHVhbCBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0IE9WRVJSSURFOwotICAg
IHZpcnR1YWwgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBib29sIHBhdHRlcm5NaXNtYXRjaCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9v
bCByYW5nZVVuZGVyZmxvdygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCByYW5nZU92ZXJm
bG93KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIHN0ZXBNaXNtYXRjaCgpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgYm9vbCB0b29Mb25nKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29s
IHR5cGVNaXNtYXRjaCgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3Npbmco
KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIE9WRVJS
SURFOwogCiAgICAgLy8gUmV0dXJucyB0aGUgbWluaW11bSB2YWx1ZSBmb3IgdHlwZT1kYXRlLCBu
dW1iZXIsIG9yIHJhbmdlLiAgRG9uJ3QgY2FsbCB0aGlzIGZvciBvdGhlciB0eXBlcy4KICAgICBk
b3VibGUgbWluaW11bSgpIGNvbnN0OwpAQCAtMTQyLDcgKzE0Miw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsKICAgICAvLyBDaGVja3MgaWYgdGhl
IHNwZWNpZmllZCBzdHJpbmcgd291bGQgYmUgYSB2YWxpZCB2YWx1ZS4KICAgICAvLyBXZSBzaG91
bGQgbm90IGNhbGwgdGhpcyBmb3IgdHlwZXMgd2l0aCBubyBzdHJpbmcgdmFsdWUgc3VjaCBhcyBD
SEVDS0JPWCBhbmQgUkFESU8uCi0gICAgYm9vbCBpc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJikg
Y29uc3Q7CisgICAgYm9vbCBpc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBo
YXNEaXJ0eVZhbHVlKCkgY29uc3QgeyByZXR1cm4gIW1fdmFsdWVJZkRpcnR5LmlzTnVsbCgpOyB9
OwogCiAgICAgU3RyaW5nIHNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmgKaW5kZXggYTI4ZDI2OTkzNTI5MzVlYTJi
NmI4OWNkNmFiYjAwYjUxZDRiNTVjZC4uMGE4YzRjMTAyYWM2YzU2MmEyMzM5MTZhZTJmYTdmYzMz
YWVjZmQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaApAQCAtMzQs
NyArMzQsNyBAQCBjbGFzcyBIVE1MS2V5Z2VuRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50V2l0aFN0YXRlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1M
S2V5Z2VuRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIEhU
TUxGb3JtRWxlbWVudCopOwogCi0gICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIHdpbGxWYWxpZGF0ZSgpIE9WRVJS
SURFIHsgcmV0dXJuIGZhbHNlOyB9CiAKIHByaXZhdGU6CiAgICAgSFRNTEtleWdlbkVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50Kik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKaW5kZXggMzZhNDE2MDdiMGQ1YmM5ZDNj
YjY5ZDhmZDllMGI3N2MzMGZhOTc2My4uZWUyYTgwNjIzZjA0OTI3NDMyMTc4YzM1OTJjYTdiOTJl
ZDJiZGQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaApAQCAtNTQs
NyArNTQsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgY29uc3RyYWlu
dCB2YWxpZGF0aW9uIEFQSS4KICAgICAvLyBOb3RlIHRoYXQgdGhlIG9iamVjdCBlbGVtZW50cyBh
cmUgYWx3YXlzIGJhcnJlZCBmcm9tIGNvbnN0cmFpbnQgdmFsaWRhdGlvbi4KLSAgICB2aXJ0dWFs
IFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFN0cmlu
ZygpOyB9CisgICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBPVkVSUklERSB7
IHJldHVybiBTdHJpbmcoKTsgfQogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpIHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJikg
T1ZFUlJJREUgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1
dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaAppbmRl
eCBkYTJjOGQ4OTcxM2FiMTI5Yzk0MTJiZGVkZjc4ZjlkMmY3ZjdjNWY1Li5jNGE0ZTE4ZTBiMWFm
MTQ4OTk5YmUyNGQ4NGZjZDFkYzRjODM5NGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPdXRwdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0
cHV0RWxlbWVudC5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEhUTUxPdXRwdXRFbGVtZW50IDog
cHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEhUTUxPdXRwdXRFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50KiwgSFRNTEZvcm1FbGVtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgd2lsbFZhbGlk
YXRlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgd2lsbFZhbGlk
YXRlKCkgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFN0cmluZyB2YWx1ZSgpIGNv
bnN0OwogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IGI0ZWZlZTEyZjk4ZWM5ZTQwM2U1OWY2N2Vl
MWI4Y2I3ZmM4YzE5MDguLmE1NThjNDZiNWIzZDhjNmRkYzJlNjJiMWUyNjIyODdiZjAxNzVmNTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0xNDYsNyAr
MTQ2LDcgQEAgYm9vbCBIVE1MU2VsZWN0RWxlbWVudDo6aGFzUGxhY2Vob2xkZXJMYWJlbE9wdGlv
bigpIGNvbnN0CiAgICAgcmV0dXJuICFsaXN0SW5kZXggJiYgb3B0aW9uLT52YWx1ZSgpLmlzRW1w
dHkoKTsKIH0KIAotU3RyaW5nIEhUTUxTZWxlY3RFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSgp
IGNvbnN0CitTdHJpbmcgSFRNTFNlbGVjdEVsZW1lbnQ6OnZhbGlkYXRpb25NZXNzYWdlKCkKIHsK
ICAgICBpZiAoIXdpbGxWYWxpZGF0ZSgpKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CkBAIC0x
NTcsNyArMTU3LDcgQEAgU3RyaW5nIEhUTUxTZWxlY3RFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2Fn
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHZhbHVlTWlzc2luZygpID8gdmFsaWRhdGlvbk1lc3NhZ2VW
YWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCkgOiBTdHJpbmcoKTsKIH0KIAotYm9vbCBIVE1MU2Vs
ZWN0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKK2Jvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6
OnZhbHVlTWlzc2luZygpCiB7CiAgICAgaWYgKCF3aWxsVmFsaWRhdGUoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmluZGV4IGRj
ODk1NGY5NzUyNTc0OGYzNTk4MzcyYWZjNWI4OWYxY2MwYTFiZjkuLjRhZjUwOWZhZDQ5NjFlMDk1
ODY0NjJmNjNmNjZiODBjZjQ4ZTVjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmgKQEAgLTQ2LDggKzQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgb3B0aW9uU2VsZWN0
ZWRCeVVzZXIoaW50IGluZGV4LCBib29sIGRpc3BhdGNoQ2hhbmdlRXZlbnQsIGJvb2wgYWxsb3dN
dWx0aXBsZVNlbGVjdGlvbiA9IGZhbHNlKTsKIAogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlCi0g
ICAgdmlydHVhbCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdCBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIGJvb2wgdmFsdWVNaXNzaW5nKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2UoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wg
dmFsdWVNaXNzaW5nKCkgT1ZFUlJJREU7CiAKICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggMTY1
MmM4OTExMmU5OTFlMzNiNjdjYmY1MTZlNjgzYmI5NzU4ODQ0My4uNDVkMWRhN2VlMWQ1ODQyOTVi
NGRmYWMxNmI2OWI4MjJjNTY4MjU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGV4dEFyZWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwCkBAIC00MjQsNyArNDI0LDcgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVt
ZW50OjpzZXRNYXhMZW5ndGgoaW50IG5ld1ZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAg
ICAgc2V0QXR0cmlidXRlKG1heGxlbmd0aEF0dHIsIFN0cmluZzo6bnVtYmVyKG5ld1ZhbHVlKSk7
CiB9CiAKLVN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSgpIGNv
bnN0CitTdHJpbmcgSFRNTFRleHRBcmVhRWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2UoKQogewog
ICAgIGlmICghd2lsbFZhbGlkYXRlKCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTQ0
MSwxNyArNDQxLDE3IEBAIFN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWxpZGF0aW9uTWVz
c2FnZSgpIGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1ib29sIEhUTUxUZXh0QXJl
YUVsZW1lbnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0Citib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6
OnZhbHVlTWlzc2luZygpCiB7CiAgICAgcmV0dXJuIHdpbGxWYWxpZGF0ZSgpICYmIHZhbHVlTWlz
c2luZyh2YWx1ZSgpKTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojp0b29Mb25nKCkg
Y29uc3QKK2Jvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZygpCiB7CiAgICAgcmV0dXJu
IHdpbGxWYWxpZGF0ZSgpICYmIHRvb0xvbmcodmFsdWUoKSwgQ2hlY2tEaXJ0eUZsYWcpOwogfQog
Ci1ib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnRvb0xvbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSwg
TmVlZHNUb0NoZWNrRGlydHlGbGFnIGNoZWNrKSBjb25zdAorYm9vbCBIVE1MVGV4dEFyZWFFbGVt
ZW50Ojp0b29Mb25nKGNvbnN0IFN0cmluZyYgdmFsdWUsIE5lZWRzVG9DaGVja0RpcnR5RmxhZyBj
aGVjaykKIHsKICAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIG9yIHZh
bHVlIHNldCBieSBzY3JpcHQgZXZlbiBpZiBpdCBpcwogICAgIC8vIGxvbmdlciB0aGFuIG1heExl
bmd0aC4KQEAgLTQ2NCw3ICs0NjQsNyBAQCBib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnRvb0xv
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSwgTmVlZHNUb0NoZWNrRGlydHlGbGFnIGNoZQogICAgIHJl
dHVybiBjb21wdXRlTGVuZ3RoRm9yU3VibWlzc2lvbih2YWx1ZSkgPiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4obWF4KTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUo
Y29uc3QgU3RyaW5nJiBjYW5kaWRhdGUpIGNvbnN0Citib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6
OmlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSkKIHsKICAgICByZXR1cm4gIXZh
bHVlTWlzc2luZyhjYW5kaWRhdGUpICYmICF0b29Mb25nKGNhbmRpZGF0ZSwgSWdub3JlRGlydHlG
bGFnKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKaW5kZXgg
YzQ3NWM3MTdlOWRjMGM4MjJmZjg4ZjdlZmMxZWY5MWU2ZmFlNzc1Ni4uMWEwMjZiNDFmZDliN2E0
NDFlOWFlODRkYmNmMzZjNDgwYTI4YzhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmgKQEAgLTQ4LDEwICs0OCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBp
bnQgbWF4TGVuZ3RoKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRNYXhMZW5ndGgoaW50LCBFeGNlcHRp
b25Db2RlJik7CiAgICAgLy8gRm9yIFZhbGlkaXR5U3RhdGUKLSAgICB2aXJ0dWFsIFN0cmluZyB2
YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCB2YWx1
ZU1pc3NpbmcoKSBjb25zdCBPVkVSUklERTsKLSAgICB2aXJ0dWFsIGJvb2wgdG9vTG9uZygpIGNv
bnN0IE9WRVJSSURFOwotICAgIGJvb2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0
OworICAgIHZpcnR1YWwgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlKCkgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBib29sIHZhbHVlTWlzc2luZygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCB0
b29Mb25nKCkgT1ZFUlJJREU7CisgICAgYm9vbCBpc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJik7
CiAgICAgCiAgICAgdmlydHVhbCBIVE1MRWxlbWVudCogaW5uZXJUZXh0RWxlbWVudCgpIGNvbnN0
OwogCkBAIC0xMTAsOCArMTEwLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91
bGRVc2VJbnB1dE1ldGhvZCgpOwogCi0gICAgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5n
JiB2YWx1ZSkgY29uc3QgeyByZXR1cm4gaXNSZXF1aXJlZEZvcm1Db250cm9sKCkgJiYgIWRpc2Fi
bGVkKCkgJiYgIXJlYWRPbmx5KCkgJiYgdmFsdWUuaXNFbXB0eSgpOyB9Ci0gICAgYm9vbCB0b29M
b25nKGNvbnN0IFN0cmluZyYsIE5lZWRzVG9DaGVja0RpcnR5RmxhZykgY29uc3Q7CisgICAgYm9v
bCB2YWx1ZU1pc3NpbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkgeyByZXR1cm4gaXNSZXF1aXJlZEZv
cm1Db250cm9sKCkgJiYgIWRpc2FibGVkKCkgJiYgIXJlYWRPbmx5KCkgJiYgdmFsdWUuaXNFbXB0
eSgpOyB9CisgICAgYm9vbCB0b29Mb25nKGNvbnN0IFN0cmluZyYsIE5lZWRzVG9DaGVja0RpcnR5
RmxhZyk7CiAKICAgICBpbnQgbV9yb3dzOwogICAgIGludCBtX2NvbHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5oCmluZGV4IDIzZTg1YWE3MzEx
MTA5OTczYTEzOTBiZjgwN2ZjYjVhOGFjMTliYmIuLjI1MTlkNGE2OWQ4N2Q1YjE3OWQ3MGQ4Nzcy
ZGU0NWU5N2E2MTU3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YklucHV0RWxlbWVudC5oCkBAIC04OSw3ICs4OSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAg
ICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UoaW50LCBpbnQpOwogICAg
ICAgICBXRUJLSVRfRVhQT1JUIGludCBzZWxlY3Rpb25TdGFydCgpIGNvbnN0OwogICAgICAgICBX
RUJLSVRfRVhQT1JUIGludCBzZWxlY3Rpb25FbmQoKSBjb25zdDsKLSAgICAgICAgV0VCS0lUX0VY
UE9SVCBib29sIGlzVmFsaWRWYWx1ZShjb25zdCBXZWJTdHJpbmcmKSBjb25zdDsKKyAgICAgICAg
V0VCS0lUX0VYUE9SVCBib29sIGlzVmFsaWRWYWx1ZShjb25zdCBXZWJTdHJpbmcmKTsKICAgICAg
ICAgV0VCS0lUX0VYUE9SVCBib29sIGlzQ2hlY2tlZCgpIGNvbnN0OwogICAgICAgICBXRUJLSVRf
RVhQT1JUIGJvb2wgaXNNdWx0aXBsZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50LmNwcAppbmRleCBhZGFlOWRhYzgyZDE3OGZlMWJlZGMw
ZjlhOTVjYzcwNDM2NzcyZjU3Li44M2U2MGY5ZGYxM2YzZmUzNTRmYjliOTcyN2FhMTVmM2VlNGY3
YTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RWxlbWVudC5j
cHAKQEAgLTE1Myw5ICsxNTMsOSBAQCBpbnQgV2ViSW5wdXRFbGVtZW50OjpzZWxlY3Rpb25FbmQo
KSBjb25zdAogICAgIHJldHVybiBjb25zdFVud3JhcDxIVE1MSW5wdXRFbGVtZW50PigpLT5zZWxl
Y3Rpb25FbmQoKTsKIH0KIAotYm9vbCBXZWJJbnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1ZShjb25z
dCBXZWJTdHJpbmcmIHZhbHVlKSBjb25zdAorYm9vbCBXZWJJbnB1dEVsZW1lbnQ6OmlzVmFsaWRW
YWx1ZShjb25zdCBXZWJTdHJpbmcmIHZhbHVlKQogewotICAgIHJldHVybiBjb25zdFVud3JhcDxI
VE1MSW5wdXRFbGVtZW50PigpLT5pc1ZhbGlkVmFsdWUodmFsdWUpOworICAgIHJldHVybiB1bndy
YXA8SFRNTElucHV0RWxlbWVudD4oKS0+aXNWYWxpZFZhbHVlKHZhbHVlKTsKIH0KIAogYm9vbCBX
ZWJJbnB1dEVsZW1lbnQ6OmlzQ2hlY2tlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2RkYjIwMDFmYTExNzUz
NzE1YWM4M2E3OGZkZDhmZmQ3MzllZjI4Ni4uOTFkNTM3YTExODA5YTVlNGVjYzYxMTk5NzE2YTQx
NTZjMDljOWUwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTI0ICBLZWlzaGkgSGF0
dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlkaXR5IHJl
c3VsdCBvbiByZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHIt
Y2hlY2t2YWxpZGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMv
ZGlzYWJsZWQtYXR0ci1jaGVja3ZhbGlkaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTIyICBK
YW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIGEgU2V0
dGluZyB0byBtYWtlIHBvc2l0aW9uOmZpeGVkIGZvcm0gYSBuZXcgc3RhY2tpbmcgY29udGV4dApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRyLWNoZWNrdmFs
aWRpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRy
LWNoZWNrdmFsaWRpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZGI1YjcxYzYwNjhkYzE5
NzM5M2ExNjBlYTNmNmQ1NmFiOTgyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMCBAQAorVGVzdCBpZiBjaGFuZ2luZyBkaXNhYmxlZCB1cGRhdGVzIGNoZWNrVmFsaWRp
dHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGlucHV0LmNoZWNrVmFs
aWRpdHkoKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGlzYWJsZWQt
YXR0ci1jaGVja3ZhbGlkaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rpc2FibGVk
LWF0dHItY2hlY2t2YWxpZGl0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkMGNhZjFlNWYwNTY2M2QwOTc4
ZjZiNzVmOTU3YzE3MjQyZTBhMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2Rpc2FibGVkLWF0dHItY2hlY2t2YWxpZGl0eS5odG1sCkBAIC0wLDAgKzEsMjMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8aW5wdXQgaWQ9ImlucHV0IiBkaXNhYmxlZCBy
ZXF1aXJlZCAvPgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgaWYgY2hhbmdpbmcgZGlz
YWJsZWQgdXBkYXRlcyBjaGVja1ZhbGlkaXR5LicpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKK2lucHV0LnZhbHVlID0gIiI7CitpbnB1dC5kaXNhYmxl
ZCA9IGZhbHNlOworc2hvdWxkQmVGYWxzZSgnaW5wdXQuY2hlY2tWYWxpZGl0eSgpJyk7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143998</attachid>
            <date>2012-05-25 01:16:55 -0700</date>
            <delta_ts>2012-05-25 02:31:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85704-20120525171654.patch</filename>
            <type>text/plain</type>
            <size>4703</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIyNjQ2ZTc1MWRkMjUz
ZGQyMTA4OGM4NTJkYTdlOWMxMjQ4NWEwYS4uODAxNGQ4YWI5NjA5OTIxOTEwZGUwNDIwZTcxNzM4
MDgzZDJiMzFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTI1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEJhZCBjaGVja1ZhbGlk
aXR5IHJlc3VsdCBvbiByZWNlbnRseSAiZW5hYmxlZCIgZm9ybSBmaWVsZHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9kaXNh
YmxlZC1hdHRyLWNoZWNrdmFsaWRpdHkuaHRtbAorCisgICAgICAgIFdlIHdlcmUgdHJpcHBpbmcg
b24gdGhlIGFzc2VydGlvbiBtX2lzVmFsaWQgPT0gdmFsaWRpdHkoKS0+dmFsaWQoKQorICAgICAg
ICBpbnNpZGUgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNWYWxpZEZvcm1Db250cm9sRWxlbWVu
dC4KKyAgICAgICAgbV9pc1ZhbGlkIHdhcyBiZWNvbWluZyBzdGFsZSBiZWNhdXNlIHNldE5lZWRz
VmFsaWRpdHlDaGVjayB3YXNuJ3QgY2FsbGVkCisgICAgICAgIGFmdGVyIG1fd2lsbFZhbGlkYXRl
IGNoYW5nZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6d2lsbFZhbGlkYXRlKTog
V2UgdXNlZCBjb25zdF9jYXN0CisgICAgICAgIGJlY2F1c2UgaXQgd2FzIHRvbyBkaWZmaWN1bHQg
dG8gcmVtb3ZlIGNvbnN0LiBXZSBhcmUgY2hlY2tpbmcgaWYgdGhlCisgICAgICAgIHZhbHVlIGZy
b20gd2lsbFZhbGlkYXRlIGhhcyBjaGFuZ2VkIHRvIGF2b2lkIGFuIGluZmluaXRlIGxvb3AuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpzZXROZWVkc1dpbGxWYWxp
ZGF0ZUNoZWNrKToKKwogMjAxMi0wNS0yMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgRml4IGEgY3Jhc2ggaW4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlz
YWJsZWQoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9s
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwCmluZGV4IGYxOTVlYzAyNzhkOGYwNmI1YzViN2Q4ZTZmMTYxZjRkY2ZlY2ZiOTguLjRmNTY5
OTVlMmIwYTE3YjE5OTU3NTY4NTYxOTJjNDBhZWQxOTBhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtMzc0LDcgKzM3NCwxMSBAQCBi
b29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OndpbGxWYWxpZGF0ZSgpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX3dpbGxWYWxpZGF0ZUluaXRpYWxpemVkIHx8IG1fZGF0YUxpc3RBbmNlc3RvclN0YXRl
ID09IFVua25vd24pIHsKICAgICAgICAgbV93aWxsVmFsaWRhdGVJbml0aWFsaXplZCA9IHRydWU7
Ci0gICAgICAgIG1fd2lsbFZhbGlkYXRlID0gcmVjYWxjV2lsbFZhbGlkYXRlKCk7CisgICAgICAg
IGJvb2wgbmV3V2lsbFZhbGlkYXRlID0gcmVjYWxjV2lsbFZhbGlkYXRlKCk7CisgICAgICAgIGlm
IChtX3dpbGxWYWxpZGF0ZSAhPSBuZXdXaWxsVmFsaWRhdGUpIHsKKyAgICAgICAgICAgIG1fd2ls
bFZhbGlkYXRlID0gbmV3V2lsbFZhbGlkYXRlOworICAgICAgICAgICAgY29uc3RfY2FzdDxIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Kj4odGhpcyktPnNldE5lZWRzVmFsaWRpdHlDaGVjaygpOworICAg
ICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gSWYgdGhlIGZvbGxvd2luZyBhc3NlcnRp
b24gZmFpbHMsIHNldE5lZWRzV2lsbFZhbGlkYXRlQ2hlY2soKSBpcyBub3QKICAgICAgICAgLy8g
Y2FsbGVkIGNvcnJlY3RseSB3aGVuIHNvbWV0aGluZyB3aGljaCBjaGFuZ2VzIHJlY2FsY1dpbGxW
YWxpZGF0ZSgpIHJlc3VsdApAQCAtMzkyLDYgKzM5Niw3IEBAIHZvaWQgSFRNTEZvcm1Db250cm9s
RWxlbWVudDo6c2V0TmVlZHNXaWxsVmFsaWRhdGVDaGVjaygpCiAgICAgICAgIHJldHVybjsKICAg
ICBtX3dpbGxWYWxpZGF0ZUluaXRpYWxpemVkID0gdHJ1ZTsKICAgICBtX3dpbGxWYWxpZGF0ZSA9
IG5ld1dpbGxWYWxpZGF0ZTsKKyAgICBzZXROZWVkc1ZhbGlkaXR5Q2hlY2soKTsKICAgICBzZXRO
ZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgaWYgKCFtX3dpbGxWYWxpZGF0ZSkKICAgICAgICAgaGlk
ZVZpc2libGVWYWxpZGF0aW9uTWVzc2FnZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkZGIyMDAxZmExMTc1MzcxNWFj
ODNhNzhmZGQ4ZmZkNzM5ZWYyODYuLmI4NjRmZjBjY2UyNTNlNzkzMjg2ZmY4MDM2YzZlODc2YzZh
MGMwYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0yNSAgS2Vpc2hpIEhhdHRvcmkg
IDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBCYWQgY2hlY2tWYWxpZGl0eSByZXN1bHQg
b24gcmVjZW50bHkgImVuYWJsZWQiIGZvcm0gZmllbGRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTcwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRyLWNoZWNr
dmFsaWRpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rpc2Fi
bGVkLWF0dHItY2hlY2t2YWxpZGl0eS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0yMiAgSmFtZXMg
Um9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBhIFNldHRpbmcg
dG8gbWFrZSBwb3NpdGlvbjpmaXhlZCBmb3JtIGEgbmV3IHN0YWNraW5nIGNvbnRleHQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGlzYWJsZWQtYXR0ci1jaGVja3ZhbGlkaXR5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGlzYWJsZWQtYXR0ci1jaGVj
a3ZhbGlkaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmRiNWI3MWM2MDY4ZGMxOTczOTNh
MTYwZWEzZjZkNTZhYjk4MmZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kaXNhYmxlZC1hdHRyLWNoZWNrdmFsaWRpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK1Rlc3QgaWYgY2hhbmdpbmcgZGlzYWJsZWQgdXBkYXRlcyBjaGVja1ZhbGlkaXR5Lgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnB1dC5jaGVja1ZhbGlkaXR5
KCkgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Rpc2FibGVkLWF0dHIt
Y2hlY2t2YWxpZGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kaXNhYmxlZC1hdHRy
LWNoZWNrdmFsaWRpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDBjYWYxZTVmMDU2NjNkMDk3OGY2Yjc1
Zjk1N2MxNzI0MmUwYTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kaXNhYmxlZC1hdHRyLWNoZWNrdmFsaWRpdHkuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPGlucHV0IGlkPSJpbnB1dCIgZGlzYWJsZWQgcmVxdWly
ZWQgLz4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IGlmIGNoYW5naW5nIGRpc2FibGVk
IHVwZGF0ZXMgY2hlY2tWYWxpZGl0eS4nKTsKKwordmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2lucHV0Jyk7CitpbnB1dC52YWx1ZSA9ICIiOworaW5wdXQuZGlzYWJsZWQgPSBm
YWxzZTsKK3Nob3VsZEJlRmFsc2UoJ2lucHV0LmNoZWNrVmFsaWRpdHkoKScpOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>