<?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>90544</bug_id>
          
          <creation_ts>2012-07-04 04:44:45 -0700</creation_ts>
          <short_desc>Stop tracking line number in tokenizer</short_desc>
          <delta_ts>2012-07-04 08:32:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>662860</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-04 04:44:45 -0700</bug_when>
    <thetext>Because SegmentedString knows how to track the current line and column, a tokenizer does not need to keep track of the current line by itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662863</commentid>
    <comment_count>1</comment_count>
      <attachid>150771</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-04 04:48:11 -0700</bug_when>
    <thetext>Created attachment 150771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662870</commentid>
    <comment_count>2</comment_count>
      <attachid>150771</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-04 04:53:33 -0700</bug_when>
    <thetext>Comment on attachment 150771
Patch

Attachment 150771 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13139491</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662872</commentid>
    <comment_count>3</comment_count>
      <attachid>150771</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-04 04:55:31 -0700</bug_when>
    <thetext>Comment on attachment 150771
Patch

Attachment 150771 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13131774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662873</commentid>
    <comment_count>4</comment_count>
      <attachid>150771</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-07-04 04:56:23 -0700</bug_when>
    <thetext>Comment on attachment 150771
Patch

Attachment 150771 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13134749</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662878</commentid>
    <comment_count>5</comment_count>
      <attachid>150775</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-04 05:11:25 -0700</bug_when>
    <thetext>Created attachment 150775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662880</commentid>
    <comment_count>6</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-04 05:13:02 -0700</bug_when>
    <thetext>Fix build break with ENABLE_VIDEO_TRACK guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662971</commentid>
    <comment_count>7</comment_count>
      <attachid>150775</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-04 08:20:37 -0700</bug_when>
    <thetext>Comment on attachment 150775
Patch

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

This looks great.

&gt; Source/WebCore/html/parser/HTMLDocumentParser.cpp:452
&gt; +    const SegmentedString&amp; currentString = m_input.current();
&gt; +    return currentString.currentLine();

I would just combine these two lines to avoid having the temporary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662979</commentid>
    <comment_count>8</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-04 08:32:07 -0700</bug_when>
    <thetext>Committed r121858: &lt;http://trac.webkit.org/changeset/121858&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662981</commentid>
    <comment_count>9</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-04 08:32:56 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 150775 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=150775&amp;action=review
&gt; 
&gt; This looks great.
&gt; 
&gt; &gt; Source/WebCore/html/parser/HTMLDocumentParser.cpp:452
&gt; &gt; +    const SegmentedString&amp; currentString = m_input.current();
&gt; &gt; +    return currentString.currentLine();
&gt; 
&gt; I would just combine these two lines to avoid having the temporary.

Thanks. I combined the two lines and landed the patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150771</attachid>
            <date>2012-07-04 04:48:11 -0700</date>
            <delta_ts>2012-07-04 05:11:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90544-20120704204756.patch</filename>
            <type>text/plain</type>
            <size>15985</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNmODc5NTIwYWE0Y2Q5
NGEzZjBlNjczMmZiMDRiYzliNjY4NzM2ZS4uYTk1NDJmZDE3MGY4OTZiOWNjZDgzODM4NjA4ZDBm
OTBiY2RiYWI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA3LTA0ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgU3RvcCB0cmFja2lu
ZyBsaW5lIG51bWJlciBpbiB0b2tlbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwNTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQmVjYXVzZSBTZWdtZW50ZWRTdHJpbmcga25vd3MgaG93IHRvIHRy
YWNrIHRoZSBjdXJyZW50IGxpbmUgYW5kIGNvbHVtbiwKKyAgICAgICAgYSB0b2tlbml6ZXIgZG9l
cyBub3QgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IGxpbmUgYnkgaXRzZWxmLgor
ICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UsIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBUb2tlbml6ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpsaW5lTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1
bWVudFBhcnNlcjo6dGV4dFBvc2l0aW9uKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9r
ZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OnJlc2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OmZsdXNoQnVmZmVyZWRFbmRUYWcpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpuZXh0VG9r
ZW4pOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTY3JpcHRTdGFydFRhZyk6CisgICAg
ICAgICogcGxhdGZvcm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VnbWVudGVkU3RyaW5nOjphZHZhbmNlQW5kVXBkYXRlTGluZU51bWJlclNsb3dDYXNlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1NlZ21lbnRlZFN0cmluZy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2VnbWVudGVkU3RyaW5nOjphZHZhbmNlUGFzdE5ld2xpbmVBbmRVcGRhdGVMaW5lTnVt
YmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlZ21lbnRlZFN0cmluZzo6YWR2YW5jZUFuZFVwZGF0
ZUxpbmVOdW1iZXIpOgorICAgICAgICAoU2VnbWVudGVkU3RyaW5nKToKKyAgICAgICAgKiB4bWwv
cGFyc2VyL01hcmt1cFRva2VuaXplckJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cFRv
a2VuaXplckJhc2U6OklucHV0U3RyZWFtUHJlcHJvY2Vzc29yOjpwZWVrKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1hcmt1cFRva2VuaXplckJhc2U6OklucHV0U3RyZWFtUHJlcHJvY2Vzc29yOjphZHZh
bmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cFRva2VuaXplckJhc2U6OmVtaXRBbmRSZXN1
bWVJbik6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBUb2tlbml6ZXJCYXNlOjplbWl0RW5kT2ZG
aWxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cFRva2VuaXplckJhc2U6OnJlc2V0KToKKyAg
ICAgICAgKE1hcmt1cFRva2VuaXplckJhc2UpOgorICAgICAgICAqIHhtbC9wYXJzZXIvTWFya3Vw
VG9rZW5pemVySW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
eG1sL3BhcnNlci9YTUxUb2tlbml6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MVG9rZW5p
emVyOjpuZXh0VG9rZW4pOgorCiAyMDEyLTA3LTA0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIx
ODEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5jcHAKaW5kZXggN2EwNmI0MjM5NjkxM2Q5ZDk2ZDRlNTcxZDViMjMzYTkyMzcwNDI5NS4uMDMz
MDVhMWNjOGY2MzRiNGU3MGE3NTQ0MWFhNzhlNWRlZTc1ZThiMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCkBAIC0yNTgsNyArMjU4
LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBUb2tlbml6ZXIoU3luY2hyb25vdXNN
b2RlIG1vZGUpCiAgICAgLy8gRklYTUU6IG1faW5wdXQuY3VycmVudCgpLmxlbmd0aCgpIGlzIG9u
bHkgYWNjdXJhdGUgaWYgd2UKICAgICAvLyBlbmQgdXAgcGFyc2luZyB0aGUgd2hvbGUgYnVmZmVy
IGluIHRoaXMgcHVtcC4gIFdlIHNob3VsZCBwYXNzIGhvdwogICAgIC8vIG11Y2ggd2UgcGFyc2Vk
IGFzIHBhcnQgb2YgZGlkV3JpdGVIVE1MIGluc3RlYWQgb2Ygd2lsbFdyaXRlSFRNTC4KLSAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIG1faW5wdXQuY3VycmVudCgpLmxlbmd0
aCgpLCBtX3Rva2VuaXplci0+bGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsKKyAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIG1faW5wdXQuY3VycmVudCgpLmxlbmd0aCgp
LCBtX2lucHV0LmN1cnJlbnQoKS5jdXJyZW50TGluZSgpLnplcm9CYXNlZEludCgpKTsKIAogICAg
IHdoaWxlIChjYW5UYWtlTmV4dFRva2VuKG1vZGUsIHNlc3Npb24pICYmICFzZXNzaW9uLm5lZWRz
WWllbGQpIHsKICAgICAgICAgaWYgKCFpc1BhcnNpbmdGcmFnbWVudCgpKQpAQCAtMjk4LDcgKzI5
OCw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1wVG9rZW5pemVyKFN5bmNocm9ub3Vz
TW9kZSBtb2RlKQogICAgICAgICBtX3ByZWxvYWRTY2FubmVyLT5zY2FuKCk7CiAgICAgfQogCi0g
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29va2llLCBtX3Rva2Vu
aXplci0+bGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFdyaXRlSFRNTChjb29raWUsIG1faW5wdXQuY3VycmVudCgpLmN1cnJlbnRM
aW5lKCkuemVyb0Jhc2VkSW50KCkpOwogfQogCiBib29sIEhUTUxEb2N1bWVudFBhcnNlcjo6aGFz
SW5zZXJ0aW9uUG9pbnQoKQpAQCAtNDQ4LDcgKzQ0OCw4IEBAIFN0cmluZyBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnNvdXJjZUZvclRva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCiAKIE9yZGluYWxO
dW1iZXIgSFRNTERvY3VtZW50UGFyc2VyOjpsaW5lTnVtYmVyKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gbV90b2tlbml6ZXItPmxpbmVOdW1iZXIoKTsKKyAgICBjb25zdCBTZWdtZW50ZWRTdHJpbmcm
IGN1cnJlbnRTdHJpbmcgPSBtX2lucHV0LmN1cnJlbnQoKTsKKyAgICByZXR1cm4gY3VycmVudFN0
cmluZy5jdXJyZW50TGluZSgpOwogfQogCiBUZXh0UG9zaXRpb24gSFRNTERvY3VtZW50UGFyc2Vy
Ojp0ZXh0UG9zaXRpb24oKSBjb25zdApAQCAtNDU2LDcgKzQ1Nyw2IEBAIFRleHRQb3NpdGlvbiBI
VE1MRG9jdW1lbnRQYXJzZXI6OnRleHRQb3NpdGlvbigpIGNvbnN0CiAgICAgY29uc3QgU2VnbWVu
dGVkU3RyaW5nJiBjdXJyZW50U3RyaW5nID0gbV9pbnB1dC5jdXJyZW50KCk7CiAgICAgT3JkaW5h
bE51bWJlciBsaW5lID0gY3VycmVudFN0cmluZy5jdXJyZW50TGluZSgpOwogICAgIE9yZGluYWxO
dW1iZXIgY29sdW1uID0gY3VycmVudFN0cmluZy5jdXJyZW50Q29sdW1uKCk7Ci0gICAgQVNTRVJU
KG1fdG9rZW5pemVyLT5saW5lTnVtYmVyKCkgPT0gbGluZSk7CiAKICAgICByZXR1cm4gVGV4dFBv
c2l0aW9uKGxpbmUsIGNvbHVtbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuY3BwCmluZGV4IGVmZTBkNTQ1ZmE5ZWE5NmIwY2VhM2ZjMWQ2ODI4YzdhMmNi
MjRkODguLmQ3MDMxMjllNzYwNzA1ZDVmZjA3ODllOGRlNGQ5NzYyNmNjYzk3YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCkBAIC0xMzQsNyArMTM0
LDYgQEAgdm9pZCBIVE1MVG9rZW5pemVyOjpyZXNldCgpCiB7CiAgICAgbV9zdGF0ZSA9IEhUTUxU
b2tlbml6ZXJTdGF0ZTo6RGF0YVN0YXRlOwogICAgIG1fdG9rZW4gPSAwOwotICAgIG1fbGluZU51
bWJlciA9IDA7CiAgICAgbV9mb3JjZU51bGxDaGFyYWN0ZXJSZXBsYWNlbWVudCA9IGZhbHNlOwog
ICAgIG1fc2hvdWxkQWxsb3dDREFUQSA9IGZhbHNlOwogICAgIG1fYWRkaXRpb25hbEFsbG93ZWRD
aGFyYWN0ZXIgPSAnXDAnOwpAQCAtMTYwLDcgKzE1OSw3IEBAIGlubGluZSBib29sIEhUTUxUb2tl
bml6ZXI6OnByb2Nlc3NFbnRpdHkoU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCiBib29sIEhUTUxU
b2tlbml6ZXI6OmZsdXNoQnVmZmVyZWRFbmRUYWcoU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCiB7
CiAgICAgQVNTRVJUKG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW5UeXBlczo6Q2hhcmFjdGVy
IHx8IG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW5UeXBlczo6VW5pbml0aWFsaXplZCk7Ci0g
ICAgc291cmNlLmFkdmFuY2UobV9saW5lTnVtYmVyKTsKKyAgICBzb3VyY2UuYWR2YW5jZUFuZFVw
ZGF0ZUxpbmVOdW1iZXIoKTsKICAgICBpZiAobV90b2tlbi0+dHlwZSgpID09IEhUTUxUb2tlblR5
cGVzOjpDaGFyYWN0ZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIG1fdG9rZW4tPmJlZ2lu
RW5kVGFnKG1fYnVmZmVyZWRFbmRUYWdOYW1lKTsKQEAgLTE3NSw3ICsxNzQsNyBAQCBib29sIEhU
TUxUb2tlbml6ZXI6OmZsdXNoQnVmZmVyZWRFbmRUYWcoU2VnbWVudGVkU3RyaW5nJiBzb3VyY2Up
CiAgICAgICAgIGlmIChmbHVzaEJ1ZmZlcmVkRW5kVGFnKHNvdXJjZSkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGlmIChz
b3VyY2UuaXNFbXB0eSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICB8fCAhbV9pbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5wZWVrKHNv
dXJjZSwgbV9saW5lTnVtYmVyKSkgICAgICBcCisgICAgICAgICAgICB8fCAhbV9pbnB1dFN0cmVh
bVByZXByb2Nlc3Nvci5wZWVrKHNvdXJjZSkpICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg
ICAgICByZXR1cm4gaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9rZW4oKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgICAgIGNjID0gbV9pbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5uZXh0
SW5wdXRDaGFyYWN0ZXIoKTsgICAgICAgICAgICAgICBcCiAgICAgICAgIGdvdG8gc3RhdGVOYW1l
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBA
IC0yMDcsNyArMjA2LDcgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVk
U3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBpZiAoc291cmNlLmlzRW1wdHkoKSB8fCAhbV9pbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5wZWVr
KHNvdXJjZSwgbV9saW5lTnVtYmVyKSkKKyAgICBpZiAoc291cmNlLmlzRW1wdHkoKSB8fCAhbV9p
bnB1dFN0cmVhbVByZXByb2Nlc3Nvci5wZWVrKHNvdXJjZSkpCiAgICAgICAgIHJldHVybiBoYXZl
QnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOwogICAgIFVDaGFyIGNjID0gbV9pbnB1dFN0cmVhbVBy
ZXByb2Nlc3Nvci5uZXh0SW5wdXRDaGFyYWN0ZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggZmQwZDAwM2Y1YmFlMzFhMjg1NDVl
NTg5NzUwNmIyMzI2ZDUyNmYxNS4uNGFkNTA2ZWJiYjJjM2JkMDcxMWU2NWM1Y2FhNGYyOGE3OTRl
ZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWls
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIu
Y3BwCkBAIC0yNjQ2LDggKzI2NDYsNiBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1Nj
cmlwdFN0YXJ0VGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAKICAgICBUZXh0UG9zaXRpb24g
cG9zaXRpb24gPSBtX3BhcnNlci0+dGV4dFBvc2l0aW9uKCk7CiAKLSAgICBBU1NFUlQocG9zaXRp
b24ubV9saW5lID09IG1fcGFyc2VyLT50b2tlbml6ZXIoKS0+bGluZU51bWJlcigpKTsKLQogICAg
IG1fbGFzdFNjcmlwdEVsZW1lbnRTdGFydFBvc2l0aW9uID0gcG9zaXRpb247CiAKICAgICBzZXRJ
bnNlcnRpb25Nb2RlKFRleHRNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvU2VnbWVudGVkU3RyaW5nLmNwcAppbmRleCBjMTg1MjcxODdiMThjMTk0OTQ3ZTFhNjcyMWE0
M2RmMDZmNmM2MjQ0Li42MzM3M2JhN2EzYzEzZTdmNmQ2OTIyNDhiZmI5YTIyMTMxNjI2ZTI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1NlZ21lbnRlZFN0cmluZy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcuY3Bw
CkBAIC0yMjIsMTQgKzIyMiwxMyBAQCB2b2lkIFNlZ21lbnRlZFN0cmluZzo6YWR2YW5jZVNsb3dD
YXNlKCkKICAgICBtX2N1cnJlbnRDaGFyID0gbV9wdXNoZWRDaGFyMSA/ICZtX3B1c2hlZENoYXIx
IDogbV9jdXJyZW50U3RyaW5nLm1fY3VycmVudDsKIH0KIAotdm9pZCBTZWdtZW50ZWRTdHJpbmc6
OmFkdmFuY2VTbG93Q2FzZShpbnQmIGxpbmVOdW1iZXIpCit2b2lkIFNlZ21lbnRlZFN0cmluZzo6
YWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXJTbG93Q2FzZSgpCiB7CiAgICAgaWYgKG1fcHVzaGVk
Q2hhcjEpIHsKICAgICAgICAgbV9wdXNoZWRDaGFyMSA9IG1fcHVzaGVkQ2hhcjI7CiAgICAgICAg
IG1fcHVzaGVkQ2hhcjIgPSAwOwogICAgIH0gZWxzZSBpZiAobV9jdXJyZW50U3RyaW5nLm1fY3Vy
cmVudCkgewogICAgICAgICBpZiAoKm1fY3VycmVudFN0cmluZy5tX2N1cnJlbnQrKyA9PSAnXG4n
ICYmIG1fY3VycmVudFN0cmluZy5kb05vdEV4Y2x1ZGVMaW5lTnVtYmVycygpKSB7Ci0gICAgICAg
ICAgICArK2xpbmVOdW1iZXI7CiAgICAgICAgICAgICArK21fY3VycmVudExpbmU7CiAgICAgICAg
ICAgICAvLyBQbHVzIDEgYmVjYXVzZSBudW1iZXJPZkNoYXJhY3RlcnNDb25zdW1lZCB2YWx1ZSBo
YXNuJ3QgaW5jcmVtZW50ZWQgeWV0OyBpdCBkb2VzIHdpdGggbV9sZW5ndGggZGVjcmVtZW50IGJl
bG93LgogICAgICAgICAgICAgbV9udW1iZXJPZkNoYXJhY3RlcnNDb25zdW1lZFByaW9yVG9DdXJy
ZW50TGluZSA9IG51bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCkgKyAxOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmgKaW5kZXggNWUwYjU5MWZmNThm
ZDQwODEyNGVkMWUzNGZmYWY2ZjI3ZWU1YjAyMy4uNzc3YTY1ZTdhYTFmNDQ1NDI2ZjZjNzE2MmUy
YTk0YmEyNGFiMTcyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9T
ZWdtZW50ZWRTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1NlZ21l
bnRlZFN0cmluZy5oCkBAIC0xNTcsMTIgKzE1NywxMSBAQCBwdWJsaWM6CiAgICAgICAgIGFkdmFu
Y2UoKTsKICAgICB9CiAKLSAgICB2b2lkIGFkdmFuY2VQYXN0TmV3bGluZShpbnQmIGxpbmVOdW1i
ZXIpCisgICAgdm9pZCBhZHZhbmNlUGFzdE5ld2xpbmVBbmRVcGRhdGVMaW5lTnVtYmVyKCkKICAg
ICB7CiAgICAgICAgIEFTU0VSVCgqY3VycmVudCgpID09ICdcbicpOwogICAgICAgICBpZiAoIW1f
cHVzaGVkQ2hhcjEgJiYgbV9jdXJyZW50U3RyaW5nLm1fbGVuZ3RoID4gMSkgewogICAgICAgICAg
ICAgaW50IG5ld0xpbmVGbGFnID0gbV9jdXJyZW50U3RyaW5nLmRvTm90RXhjbHVkZUxpbmVOdW1i
ZXJzKCk7Ci0gICAgICAgICAgICBsaW5lTnVtYmVyICs9IG5ld0xpbmVGbGFnOwogICAgICAgICAg
ICAgbV9jdXJyZW50TGluZSArPSBuZXdMaW5lRmxhZzsKICAgICAgICAgICAgIGlmIChuZXdMaW5l
RmxhZykKICAgICAgICAgICAgICAgICBtX251bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkUHJpb3JU
b0N1cnJlbnRMaW5lID0gbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKSArIDE7CkBAIC0xNzAs
NyArMTY5LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbV9jdXJyZW50Q2hhciA9ICsrbV9jdXJy
ZW50U3RyaW5nLm1fY3VycmVudDsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAg
ICAgICBhZHZhbmNlU2xvd0Nhc2UobGluZU51bWJlcik7CisgICAgICAgIGFkdmFuY2VBbmRVcGRh
dGVMaW5lTnVtYmVyU2xvd0Nhc2UoKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBhZHZhbmNlUGFz
dE5vbk5ld2xpbmUoKQpAQCAtMTg0LDExICsxODMsMTAgQEAgcHVibGljOgogICAgICAgICBhZHZh
bmNlU2xvd0Nhc2UoKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBhZHZhbmNlKGludCYgbGluZU51
bWJlcikKKyAgICB2b2lkIGFkdmFuY2VBbmRVcGRhdGVMaW5lTnVtYmVyKCkKICAgICB7CiAgICAg
ICAgIGlmICghbV9wdXNoZWRDaGFyMSAmJiBtX2N1cnJlbnRTdHJpbmcubV9sZW5ndGggPiAxKSB7
CiAgICAgICAgICAgICBpbnQgbmV3TGluZUZsYWcgPSAoKm1fY3VycmVudFN0cmluZy5tX2N1cnJl
bnQgPT0gJ1xuJykgJiBtX2N1cnJlbnRTdHJpbmcuZG9Ob3RFeGNsdWRlTGluZU51bWJlcnMoKTsK
LSAgICAgICAgICAgIGxpbmVOdW1iZXIgKz0gbmV3TGluZUZsYWc7CiAgICAgICAgICAgICBtX2N1
cnJlbnRMaW5lICs9IG5ld0xpbmVGbGFnOwogICAgICAgICAgICAgaWYgKG5ld0xpbmVGbGFnKQog
ICAgICAgICAgICAgICAgIG1fbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWRQcmlvclRvQ3VycmVu
dExpbmUgPSBudW1iZXJPZkNoYXJhY3RlcnNDb25zdW1lZCgpICsgMTsKQEAgLTE5Niw3ICsxOTQs
NyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyID0gKyttX2N1cnJlbnRTdHJp
bmcubV9jdXJyZW50OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGFk
dmFuY2VTbG93Q2FzZShsaW5lTnVtYmVyKTsKKyAgICAgICAgYWR2YW5jZUFuZFVwZGF0ZUxpbmVO
dW1iZXJTbG93Q2FzZSgpOwogICAgIH0KIAogICAgIC8vIFdyaXRlcyB0aGUgY29uc3VtZWQgY2hh
cmFjdGVycyBpbnRvIGNvbnN1bWVkQ2hhcmFjdGVycywgd2hpY2ggbXVzdApAQCAtMjM0LDcgKzIz
Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFNlZ21lbnRlZFN1YnN0cmlu
ZyYpOwogCiAgICAgdm9pZCBhZHZhbmNlU2xvd0Nhc2UoKTsKLSAgICB2b2lkIGFkdmFuY2VTbG93
Q2FzZShpbnQmIGxpbmVOdW1iZXIpOworICAgIHZvaWQgYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1i
ZXJTbG93Q2FzZSgpOwogICAgIHZvaWQgYWR2YW5jZVN1YnN0cmluZygpOwogICAgIGNvbnN0IFVD
aGFyKiBjdXJyZW50KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50Q2hhcjsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL01hcmt1cFRva2VuaXplckJhc2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvTWFya3VwVG9rZW5pemVyQmFzZS5oCmluZGV4IGI4Zjk3
NTZjYWQ2YzVhODM1ZTRjYjYzMTliMmQ4OTJmOTVmODI3MmMuLjBhM2NhZGFmZmExOTc4YjI0M2Fk
YjcxZTM1YTdhYzA5OWRmMmQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJz
ZXIvTWFya3VwVG9rZW5pemVyQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIv
TWFya3VwVG9rZW5pemVyQmFzZS5oCkBAIC00NSw4ICs0NSw2IEBAIGNsYXNzIE1hcmt1cFRva2Vu
aXplckJhc2UgewogcHVibGljOgogICAgIHZpcnR1YWwgfk1hcmt1cFRva2VuaXplckJhc2UoKSB7
IH0KIAotICAgIE9yZGluYWxOdW1iZXIgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIE9yZGlu
YWxOdW1iZXI6OmZyb21aZXJvQmFzZWRJbnQobV9saW5lTnVtYmVyKTsgfQotCiAgICAgdHlwZW5h
bWUgU3RhdGU6OlN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogICAgIHZv
aWQgc2V0U3RhdGUodHlwZW5hbWUgU3RhdGU6OlN0YXRlIHN0YXRlKSB7IG1fc3RhdGUgPSBzdGF0
ZTsgfQogCkBAIC03Myw3ICs3MSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgLy8gUmV0dXJucyB3
aGV0aGVyIHdlIHN1Y2NlZWRlZCBpbiBwZWVraW5nIGF0IHRoZSBuZXh0IGNoYXJhY3Rlci4KICAg
ICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNhbiBmYWlsIHRvIHBlZWsgaXMgaWYgdGhlcmUgYXJl
IG5vIG1vcmUKICAgICAgICAgLy8gY2hhcmFjdGVycyBpbiB8c291cmNlfCAoYWZ0ZXIgY29sbGFw
c2luZyBcclxuLCBldGMpLgotICAgICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgcGVlayhTZWdtZW50
ZWRTdHJpbmcmIHNvdXJjZSwgaW50JiBsaW5lTnVtYmVyKQorICAgICAgICBBTFdBWVNfSU5MSU5F
IGJvb2wgcGVlayhTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSkKICAgICAgICAgewogICAgICAgICBQ
ZWVrQWdhaW46CiAgICAgICAgICAgICBtX25leHRJbnB1dENoYXJhY3RlciA9ICpzb3VyY2U7CkBA
IC05MCw3ICs4OCw3IEBAIHByb3RlY3RlZDoKIAogICAgICAgICAgICAgaWYgKG1fbmV4dElucHV0
Q2hhcmFjdGVyID09ICdcbicgJiYgbV9za2lwTmV4dE5ld0xpbmUpIHsKICAgICAgICAgICAgICAg
ICBtX3NraXBOZXh0TmV3TGluZSA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHNvdXJjZS5hZHZh
bmNlUGFzdE5ld2xpbmUobGluZU51bWJlcik7CisgICAgICAgICAgICAgICAgc291cmNlLmFkdmFu
Y2VQYXN0TmV3bGluZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKICAgICAgICAgICAgICAgICBpZiAo
c291cmNlLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAgICAgICAgIG1fbmV4dElucHV0Q2hhcmFjdGVyID0gKnNvdXJjZTsKQEAgLTExOCwxMiAr
MTE2LDEyIEBAIHByb3RlY3RlZDoKICAgICAgICAgfQogCiAgICAgICAgIC8vIFJldHVybnMgd2hl
dGhlciB0aGVyZSBhcmUgbW9yZSBjaGFyYWN0ZXJzIGluIHxzb3VyY2V8IGFmdGVyIGFkdmFuY2lu
Zy4KLSAgICAgICAgYm9vbCBhZHZhbmNlKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBpbnQmIGxp
bmVOdW1iZXIpCisgICAgICAgIGJvb2wgYWR2YW5jZShTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSkK
ICAgICAgICAgewotICAgICAgICAgICAgc291cmNlLmFkdmFuY2UobGluZU51bWJlcik7CisgICAg
ICAgICAgICBzb3VyY2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKICAgICAgICAgICAg
IGlmIChzb3VyY2UuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgIHJldHVybiBwZWVrKHNvdXJjZSwgbGluZU51bWJlcik7CisgICAgICAgICAgICBy
ZXR1cm4gcGVlayhzb3VyY2UpOwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIGNvbnN0IFVD
aGFyIGVuZE9mRmlsZU1hcmtlciA9IDA7CkBAIC0xNTYsNyArMTU0LDcgQEAgcHJvdGVjdGVkOgog
ICAgIGlubGluZSBib29sIGVtaXRBbmRSZXN1bWVJbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwg
dHlwZW5hbWUgU3RhdGU6OlN0YXRlIHN0YXRlKQogICAgIHsKICAgICAgICAgbV9zdGF0ZSA9IHN0
YXRlOwotICAgICAgICBzb3VyY2UuYWR2YW5jZShtX2xpbmVOdW1iZXIpOworICAgICAgICBzb3Vy
Y2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogICAgIApAQCAtMTcyLDcgKzE3MCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgaWYgKGhh
dmVCdWZmZXJlZENoYXJhY3RlclRva2VuKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgbV9zdGF0ZSA9IFN0YXRlOjpEYXRhU3RhdGU7Ci0gICAgICAgIHNvdXJjZS5hZHZhbmNl
KG1fbGluZU51bWJlcik7CisgICAgICAgIHNvdXJjZS5hZHZhbmNlQW5kVXBkYXRlTGluZU51bWJl
cigpOwogICAgICAgICBtX3Rva2VuLT5jbGVhcigpOwogICAgICAgICBtX3Rva2VuLT5tYWtlRW5k
T2ZGaWxlKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTgyLDcgKzE4MCw2IEBAIHByb3Rl
Y3RlZDoKICAgICB7CiAgICAgICAgIG1fc3RhdGUgPSBTdGF0ZTo6RGF0YVN0YXRlOwogICAgICAg
ICBtX3Rva2VuID0gMDsKLSAgICAgICAgbV9saW5lTnVtYmVyID0gMDsKICAgICB9CiAKICAgICBp
bmxpbmUgYm9vbCBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpCkBAIC0xOTUsNyArMTkyLDYg
QEAgcHJvdGVjdGVkOgogICAgIC8vIG1fdG9rZW4gaXMgb3duZWQgYnkgdGhlIGNhbGxlci4gSWYg
bmV4dFRva2VuIGlzIG5vdCBvbiB0aGUgc3RhY2ssCiAgICAgLy8gdGhpcyBtZW1iZXIgbWlnaHQg
YmUgcG9pbnRpbmcgdG8gdW5hbGxvY2F0ZWQgbWVtb3J5LgogICAgIFRva2VuKiBtX3Rva2VuOwot
ICAgIGludCBtX2xpbmVOdW1iZXI7CiAKICAgICBib29sIG1fZm9yY2VOdWxsQ2hhcmFjdGVyUmVw
bGFjZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvTWFya3Vw
VG9rZW5pemVySW5saW5lTWV0aG9kcy5oIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJr
dXBUb2tlbml6ZXJJbmxpbmVNZXRob2RzLmgKaW5kZXggOWUzMTMxNTc3ZmI4N2NmM2Y3ZjUwNmIy
MTVhOGM0MTljMTAzNTA2ZC4uODE0YjhmMjE2N2Y3NmQyMjI4ODdiYjI3OGI3NzcwZmZlMjNjOTY3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJrdXBUb2tlbml6ZXJJ
bmxpbmVNZXRob2RzLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJrdXBUb2tl
bml6ZXJJbmxpbmVNZXRob2RzLmgKQEAgLTcxLDcgKzcxLDcgQEAgaW5saW5lIHZvaWQgYWR2YW5j
ZVN0cmluZ0FuZEFTU0VSVChTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgY29uc3QgY2hhciogZXhw
ZWN0ZWQKICNkZWZpbmUgQURWQU5DRV9UTyhwcmVmaXgsIHN0YXRlTmFtZSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg
bV9zdGF0ZSA9IHByZWZpeDo6c3RhdGVOYW1lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgaWYgKCFtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLmFkdmFu
Y2Uoc291cmNlLCBtX2xpbmVOdW1iZXIpKSAgICAgIFwKKyAgICAgICAgaWYgKCFtX2lucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yLmFkdmFuY2Uoc291cmNlKSkgICAgICAgICAgICAgICAgICAgIFwKICAg
ICAgICAgICAgIHJldHVybiBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICAgICAgY2MgPSBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29y
Lm5leHRJbnB1dENoYXJhY3RlcigpOyAgICAgICAgICAgICAgIFwKICAgICAgICAgZ290byBzdGF0
ZU5hbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKQEAgLTg0LDcgKzg0LDcgQEAgaW5saW5lIHZvaWQgYWR2YW5jZVN0cmluZ0FuZEFTU0VSVChT
ZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgY29uc3QgY2hhciogZXhwZWN0ZWQKICNkZWZpbmUgU1dJ
VENIX1RPKHByZWZpeCwgc3RhdGVOYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgbV9zdGF0ZSA9IHByZWZpeDo6
c3RhdGVOYW1lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAg
ICAgaWYgKHNvdXJjZS5pc0VtcHR5KCkgfHwgIW1faW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IucGVl
ayhzb3VyY2UsIG1fbGluZU51bWJlcikpIFwKKyAgICAgICAgaWYgKHNvdXJjZS5pc0VtcHR5KCkg
fHwgIW1faW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IucGVlayhzb3VyY2UpKSAgIFwKICAgICAgICAg
ICAgIHJldHVybiBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICAgICAgY2MgPSBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLm5leHRJ
bnB1dENoYXJhY3RlcigpOyAgICAgICAgICAgICAgIFwKICAgICAgICAgZ290byBzdGF0ZU5hbWU7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MVG9rZW5pemVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MVG9rZW5pemVyLmNwcAppbmRleCBhMWQ4NWI3NTI5
M2NhMTYzYjQ0NTE1MGE0NDk4MTYwODAyMjk4OTgzLi45ZTYyZTc0M2NlNzdjMTkwYTM3YjBjM2Rk
ODU0YTcxM2ZhMjU5NDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hN
TFRva2VuaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxUb2tlbml6
ZXIuY3BwCkBAIC0yMjUsNyArMjI1LDcgQEAgYm9vbCBYTUxUb2tlbml6ZXI6Om5leHRUb2tlbihT
ZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgWE1MVG9rZW4mIHRva2VuKQogICAgIEFTU0VSVCghbV90
b2tlbiB8fCBtX3Rva2VuID09ICZ0b2tlbiB8fCB0b2tlbi50eXBlKCkgPT0gWE1MVG9rZW5UeXBl
czo6VW5pbml0aWFsaXplZCk7CiAgICAgbV90b2tlbiA9ICZ0b2tlbjsKIAotICAgIGlmIChzb3Vy
Y2UuaXNFbXB0eSgpIHx8ICFtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLnBlZWsoc291cmNlLCBt
X2xpbmVOdW1iZXIpKQorICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpIHx8ICFtX2lucHV0U3RyZWFt
UHJlcHJvY2Vzc29yLnBlZWsoc291cmNlKSkKICAgICAgICAgcmV0dXJuIGhhdmVCdWZmZXJlZENo
YXJhY3RlclRva2VuKCk7CiAgICAgVUNoYXIgY2MgPSBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29y
Lm5leHRJbnB1dENoYXJhY3RlcigpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150775</attachid>
            <date>2012-07-04 05:11:25 -0700</date>
            <delta_ts>2012-07-04 08:20:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90544-20120704211110.patch</filename>
            <type>text/plain</type>
            <size>17080</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNmODc5NTIwYWE0Y2Q5
NGEzZjBlNjczMmZiMDRiYzliNjY4NzM2ZS4uYjQ5NzJjZmY0MjkyYmRiZjFlNDQ2NDI0NmMxNDlm
MDkxMDMxNGRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA3LTA0ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgU3RvcCB0cmFja2lu
ZyBsaW5lIG51bWJlciBpbiB0b2tlbml6ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwNTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQmVjYXVzZSBTZWdtZW50ZWRTdHJpbmcga25vd3MgaG93IHRvIHRy
YWNrIHRoZSBjdXJyZW50IGxpbmUgYW5kIGNvbHVtbiwKKyAgICAgICAgYSB0b2tlbml6ZXIgZG9l
cyBub3QgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IGxpbmUgYnkgaXRzZWxmLgor
ICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UsIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAq
IGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBUb2tlbml6ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpsaW5lTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1
bWVudFBhcnNlcjo6dGV4dFBvc2l0aW9uKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9r
ZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OnJlc2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OmZsdXNoQnVmZmVyZWRFbmRUYWcpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpuZXh0VG9r
ZW4pOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTY3JpcHRTdGFydFRhZyk6CisgICAg
ICAgICogaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViVlRUVG9rZW5pemVyOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJWVFRUb2tlbml6
ZXI6Om5leHRUb2tlbik6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VnbWVudGVkU3RyaW5nOjphZHZhbmNlQW5kVXBkYXRl
TGluZU51bWJlclNsb3dDYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1NlZ21lbnRlZFN0
cmluZy5oOgorICAgICAgICAoV2ViQ29yZTo6U2VnbWVudGVkU3RyaW5nOjphZHZhbmNlUGFzdE5l
d2xpbmVBbmRVcGRhdGVMaW5lTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlZ21lbnRlZFN0
cmluZzo6YWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIpOgorICAgICAgICAoU2VnbWVudGVkU3Ry
aW5nKToKKyAgICAgICAgKiB4bWwvcGFyc2VyL01hcmt1cFRva2VuaXplckJhc2UuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1hcmt1cFRva2VuaXplckJhc2U6OklucHV0U3RyZWFtUHJlcHJvY2Vzc29y
OjpwZWVrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cFRva2VuaXplckJhc2U6OklucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yOjphZHZhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cFRva2Vu
aXplckJhc2U6OmVtaXRBbmRSZXN1bWVJbik6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBUb2tl
bml6ZXJCYXNlOjplbWl0RW5kT2ZGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cFRva2Vu
aXplckJhc2U6OnJlc2V0KToKKyAgICAgICAgKE1hcmt1cFRva2VuaXplckJhc2UpOgorICAgICAg
ICAqIHhtbC9wYXJzZXIvTWFya3VwVG9rZW5pemVySW5saW5lTWV0aG9kcy5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxUb2tlbml6ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MVG9rZW5pemVyOjpuZXh0VG9rZW4pOgorCiAyMDEyLTA3LTA0ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTIxODEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXggN2EwNmI0MjM5NjkxM2Q5ZDk2ZDRlNTcx
ZDViMjMzYTkyMzcwNDI5NS4uMDMzMDVhMWNjOGY2MzRiNGU3MGE3NTQ0MWFhNzhlNWRlZTc1ZThi
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJz
ZXIuY3BwCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBU
b2tlbml6ZXIoU3luY2hyb25vdXNNb2RlIG1vZGUpCiAgICAgLy8gRklYTUU6IG1faW5wdXQuY3Vy
cmVudCgpLmxlbmd0aCgpIGlzIG9ubHkgYWNjdXJhdGUgaWYgd2UKICAgICAvLyBlbmQgdXAgcGFy
c2luZyB0aGUgd2hvbGUgYnVmZmVyIGluIHRoaXMgcHVtcC4gIFdlIHNob3VsZCBwYXNzIGhvdwog
ICAgIC8vIG11Y2ggd2UgcGFyc2VkIGFzIHBhcnQgb2YgZGlkV3JpdGVIVE1MIGluc3RlYWQgb2Yg
d2lsbFdyaXRlSFRNTC4KLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2ll
ID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIG1f
aW5wdXQuY3VycmVudCgpLmxlbmd0aCgpLCBtX3Rva2VuaXplci0+bGluZU51bWJlcigpLnplcm9C
YXNlZEludCgpKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIG1faW5w
dXQuY3VycmVudCgpLmxlbmd0aCgpLCBtX2lucHV0LmN1cnJlbnQoKS5jdXJyZW50TGluZSgpLnpl
cm9CYXNlZEludCgpKTsKIAogICAgIHdoaWxlIChjYW5UYWtlTmV4dFRva2VuKG1vZGUsIHNlc3Np
b24pICYmICFzZXNzaW9uLm5lZWRzWWllbGQpIHsKICAgICAgICAgaWYgKCFpc1BhcnNpbmdGcmFn
bWVudCgpKQpAQCAtMjk4LDcgKzI5OCw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1w
VG9rZW5pemVyKFN5bmNocm9ub3VzTW9kZSBtb2RlKQogICAgICAgICBtX3ByZWxvYWRTY2FubmVy
LT5zY2FuKCk7CiAgICAgfQogCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0
ZUhUTUwoY29va2llLCBtX3Rva2VuaXplci0+bGluZU51bWJlcigpLnplcm9CYXNlZEludCgpKTsK
KyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChjb29raWUsIG1faW5w
dXQuY3VycmVudCgpLmN1cnJlbnRMaW5lKCkuemVyb0Jhc2VkSW50KCkpOwogfQogCiBib29sIEhU
TUxEb2N1bWVudFBhcnNlcjo6aGFzSW5zZXJ0aW9uUG9pbnQoKQpAQCAtNDQ4LDcgKzQ0OCw4IEBA
IFN0cmluZyBIVE1MRG9jdW1lbnRQYXJzZXI6OnNvdXJjZUZvclRva2VuKGNvbnN0IEhUTUxUb2tl
biYgdG9rZW4pCiAKIE9yZGluYWxOdW1iZXIgSFRNTERvY3VtZW50UGFyc2VyOjpsaW5lTnVtYmVy
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV90b2tlbml6ZXItPmxpbmVOdW1iZXIoKTsKKyAgICBj
b25zdCBTZWdtZW50ZWRTdHJpbmcmIGN1cnJlbnRTdHJpbmcgPSBtX2lucHV0LmN1cnJlbnQoKTsK
KyAgICByZXR1cm4gY3VycmVudFN0cmluZy5jdXJyZW50TGluZSgpOwogfQogCiBUZXh0UG9zaXRp
b24gSFRNTERvY3VtZW50UGFyc2VyOjp0ZXh0UG9zaXRpb24oKSBjb25zdApAQCAtNDU2LDcgKzQ1
Nyw2IEBAIFRleHRQb3NpdGlvbiBIVE1MRG9jdW1lbnRQYXJzZXI6OnRleHRQb3NpdGlvbigpIGNv
bnN0CiAgICAgY29uc3QgU2VnbWVudGVkU3RyaW5nJiBjdXJyZW50U3RyaW5nID0gbV9pbnB1dC5j
dXJyZW50KCk7CiAgICAgT3JkaW5hbE51bWJlciBsaW5lID0gY3VycmVudFN0cmluZy5jdXJyZW50
TGluZSgpOwogICAgIE9yZGluYWxOdW1iZXIgY29sdW1uID0gY3VycmVudFN0cmluZy5jdXJyZW50
Q29sdW1uKCk7Ci0gICAgQVNTRVJUKG1fdG9rZW5pemVyLT5saW5lTnVtYmVyKCkgPT0gbGluZSk7
CiAKICAgICByZXR1cm4gVGV4dFBvc2l0aW9uKGxpbmUsIGNvbHVtbik7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCmluZGV4IGVmZTBkNTQ1ZmE5ZWE5
NmIwY2VhM2ZjMWQ2ODI4YzdhMmNiMjRkODguLmQ3MDMxMjllNzYwNzA1ZDVmZjA3ODllOGRlNGQ5
NzYyNmNjYzk3YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbml6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6
ZXIuY3BwCkBAIC0xMzQsNyArMTM0LDYgQEAgdm9pZCBIVE1MVG9rZW5pemVyOjpyZXNldCgpCiB7
CiAgICAgbV9zdGF0ZSA9IEhUTUxUb2tlbml6ZXJTdGF0ZTo6RGF0YVN0YXRlOwogICAgIG1fdG9r
ZW4gPSAwOwotICAgIG1fbGluZU51bWJlciA9IDA7CiAgICAgbV9mb3JjZU51bGxDaGFyYWN0ZXJS
ZXBsYWNlbWVudCA9IGZhbHNlOwogICAgIG1fc2hvdWxkQWxsb3dDREFUQSA9IGZhbHNlOwogICAg
IG1fYWRkaXRpb25hbEFsbG93ZWRDaGFyYWN0ZXIgPSAnXDAnOwpAQCAtMTYwLDcgKzE1OSw3IEBA
IGlubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OnByb2Nlc3NFbnRpdHkoU2VnbWVudGVkU3RyaW5n
JiBzb3VyY2UpCiBib29sIEhUTUxUb2tlbml6ZXI6OmZsdXNoQnVmZmVyZWRFbmRUYWcoU2VnbWVu
dGVkU3RyaW5nJiBzb3VyY2UpCiB7CiAgICAgQVNTRVJUKG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1M
VG9rZW5UeXBlczo6Q2hhcmFjdGVyIHx8IG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW5UeXBl
czo6VW5pbml0aWFsaXplZCk7Ci0gICAgc291cmNlLmFkdmFuY2UobV9saW5lTnVtYmVyKTsKKyAg
ICBzb3VyY2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKICAgICBpZiAobV90b2tlbi0+
dHlwZSgpID09IEhUTUxUb2tlblR5cGVzOjpDaGFyYWN0ZXIpCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIG1fdG9rZW4tPmJlZ2luRW5kVGFnKG1fYnVmZmVyZWRFbmRUYWdOYW1lKTsKQEAgLTE3
NSw3ICsxNzQsNyBAQCBib29sIEhUTUxUb2tlbml6ZXI6OmZsdXNoQnVmZmVyZWRFbmRUYWcoU2Vn
bWVudGVkU3RyaW5nJiBzb3VyY2UpCiAgICAgICAgIGlmIChmbHVzaEJ1ZmZlcmVkRW5kVGFnKHNv
dXJjZSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICB8fCAhbV9pbnB1dFN0cmVh
bVByZXByb2Nlc3Nvci5wZWVrKHNvdXJjZSwgbV9saW5lTnVtYmVyKSkgICAgICBcCisgICAgICAg
ICAgICB8fCAhbV9pbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5wZWVrKHNvdXJjZSkpICAgICAgICAg
ICAgICAgICAgICBcCiAgICAgICAgICAgICByZXR1cm4gaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9r
ZW4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGNjID0gbV9pbnB1dFN0
cmVhbVByZXByb2Nlc3Nvci5uZXh0SW5wdXRDaGFyYWN0ZXIoKTsgICAgICAgICAgICAgICBcCiAg
ICAgICAgIGdvdG8gc3RhdGVOYW1lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCkBAIC0yMDcsNyArMjA2LDcgQEAgYm9vbCBIVE1MVG9rZW5pemVy
OjpuZXh0VG9rZW4oU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UsIEhUTUxUb2tlbiYgdG9rZW4pCiAg
ICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoc291cmNlLmlzRW1wdHkoKSB8fCAhbV9pbnB1dFN0
cmVhbVByZXByb2Nlc3Nvci5wZWVrKHNvdXJjZSwgbV9saW5lTnVtYmVyKSkKKyAgICBpZiAoc291
cmNlLmlzRW1wdHkoKSB8fCAhbV9pbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5wZWVrKHNvdXJjZSkp
CiAgICAgICAgIHJldHVybiBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOwogICAgIFVDaGFy
IGNjID0gbV9pbnB1dFN0cmVhbVByZXByb2Nlc3Nvci5uZXh0SW5wdXRDaGFyYWN0ZXIoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXgg
ZmQwZDAwM2Y1YmFlMzFhMjg1NDVlNTg5NzUwNmIyMzI2ZDUyNmYxNS4uNGFkNTA2ZWJiYjJjM2Jk
MDcxMWU2NWM1Y2FhNGYyOGE3OTRlZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNjQ2LDggKzI2NDYsNiBAQCB2b2lkIEhUTUxU
cmVlQnVpbGRlcjo6cHJvY2Vzc1NjcmlwdFN0YXJ0VGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4p
CiAKICAgICBUZXh0UG9zaXRpb24gcG9zaXRpb24gPSBtX3BhcnNlci0+dGV4dFBvc2l0aW9uKCk7
CiAKLSAgICBBU1NFUlQocG9zaXRpb24ubV9saW5lID09IG1fcGFyc2VyLT50b2tlbml6ZXIoKS0+
bGluZU51bWJlcigpKTsKLQogICAgIG1fbGFzdFNjcmlwdEVsZW1lbnRTdGFydFBvc2l0aW9uID0g
cG9zaXRpb247CiAKICAgICBzZXRJbnNlcnRpb25Nb2RlKFRleHRNb2RlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUVG9rZW5pemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUVG9rZW5pemVyLmNwcAppbmRleCA5NDYxOGFiNjM5MDNj
MWMzMjE5OTc1MDUwMGNhYzFjM2ZiODQ1Njg3Li5lNDVmMWVkNmQ4MWVlYmFjNzEzYzVkYzA5Yzg5
NDJlM2FlNzg4Y2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZU
VFRva2VuaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRUb2tl
bml6ZXIuY3BwCkBAIC02NSw3ICs2NSw2IEBAIHZvaWQgV2ViVlRUVG9rZW5pemVyOjpyZXNldCgp
CiB7CiAgICAgbV9zdGF0ZSA9IFdlYlZUVFRva2VuaXplclN0YXRlOjpEYXRhU3RhdGU7CiAgICAg
bV90b2tlbiA9IDA7Ci0gICAgbV9saW5lTnVtYmVyID0gMDsKICAgICBtX2J1ZmZlci5jbGVhcigp
OwogfQogICAgIApAQCAtNzYsNyArNzUsNyBAQCBib29sIFdlYlZUVFRva2VuaXplcjo6bmV4dFRv
a2VuKFNlZ21lbnRlZFN0cmluZyYgc291cmNlLCBXZWJWVFRUb2tlbiYgdG9rZW4pCiAgICAgQVNT
RVJUKCFtX3Rva2VuIHx8IG1fdG9rZW4gPT0gJnRva2VuIHx8IHRva2VuLnR5cGUoKSA9PSBXZWJW
VFRUb2tlblR5cGVzOjpVbmluaXRpYWxpemVkKTsKICAgICBtX3Rva2VuID0gJnRva2VuOwogCi0g
ICAgaWYgKHNvdXJjZS5pc0VtcHR5KCkgfHwgIW1faW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IucGVl
ayhzb3VyY2UsIG1fbGluZU51bWJlcikpCisgICAgaWYgKHNvdXJjZS5pc0VtcHR5KCkgfHwgIW1f
aW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IucGVlayhzb3VyY2UpKQogICAgICAgICByZXR1cm4gaGF2
ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9rZW4oKTsKIAogICAgIFVDaGFyIGNjID0gbV9pbnB1dFN0cmVh
bVByZXByb2Nlc3Nvci5uZXh0SW5wdXRDaGFyYWN0ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmNwcAppbmRleCBjMTg1MjcxODdiMThjMTk0
OTQ3ZTFhNjcyMWE0M2RmMDZmNmM2MjQ0Li42MzM3M2JhN2EzYzEzZTdmNmQ2OTIyNDhiZmI5YTIy
MTMxNjI2ZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1NlZ21l
bnRlZFN0cmluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TZWdtZW50
ZWRTdHJpbmcuY3BwCkBAIC0yMjIsMTQgKzIyMiwxMyBAQCB2b2lkIFNlZ21lbnRlZFN0cmluZzo6
YWR2YW5jZVNsb3dDYXNlKCkKICAgICBtX2N1cnJlbnRDaGFyID0gbV9wdXNoZWRDaGFyMSA/ICZt
X3B1c2hlZENoYXIxIDogbV9jdXJyZW50U3RyaW5nLm1fY3VycmVudDsKIH0KIAotdm9pZCBTZWdt
ZW50ZWRTdHJpbmc6OmFkdmFuY2VTbG93Q2FzZShpbnQmIGxpbmVOdW1iZXIpCit2b2lkIFNlZ21l
bnRlZFN0cmluZzo6YWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXJTbG93Q2FzZSgpCiB7CiAgICAg
aWYgKG1fcHVzaGVkQ2hhcjEpIHsKICAgICAgICAgbV9wdXNoZWRDaGFyMSA9IG1fcHVzaGVkQ2hh
cjI7CiAgICAgICAgIG1fcHVzaGVkQ2hhcjIgPSAwOwogICAgIH0gZWxzZSBpZiAobV9jdXJyZW50
U3RyaW5nLm1fY3VycmVudCkgewogICAgICAgICBpZiAoKm1fY3VycmVudFN0cmluZy5tX2N1cnJl
bnQrKyA9PSAnXG4nICYmIG1fY3VycmVudFN0cmluZy5kb05vdEV4Y2x1ZGVMaW5lTnVtYmVycygp
KSB7Ci0gICAgICAgICAgICArK2xpbmVOdW1iZXI7CiAgICAgICAgICAgICArK21fY3VycmVudExp
bmU7CiAgICAgICAgICAgICAvLyBQbHVzIDEgYmVjYXVzZSBudW1iZXJPZkNoYXJhY3RlcnNDb25z
dW1lZCB2YWx1ZSBoYXNuJ3QgaW5jcmVtZW50ZWQgeWV0OyBpdCBkb2VzIHdpdGggbV9sZW5ndGgg
ZGVjcmVtZW50IGJlbG93LgogICAgICAgICAgICAgbV9udW1iZXJPZkNoYXJhY3RlcnNDb25zdW1l
ZFByaW9yVG9DdXJyZW50TGluZSA9IG51bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCkgKyAxOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU2VnbWVudGVkU3RyaW5nLmgKaW5kZXgg
NWUwYjU5MWZmNThmZDQwODEyNGVkMWUzNGZmYWY2ZjI3ZWU1YjAyMy4uNzc3YTY1ZTdhYTFmNDQ1
NDI2ZjZjNzE2MmUyYTk0YmEyNGFiMTcyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9TZWdtZW50ZWRTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1NlZ21lbnRlZFN0cmluZy5oCkBAIC0xNTcsMTIgKzE1NywxMSBAQCBwdWJsaWM6CiAg
ICAgICAgIGFkdmFuY2UoKTsKICAgICB9CiAKLSAgICB2b2lkIGFkdmFuY2VQYXN0TmV3bGluZShp
bnQmIGxpbmVOdW1iZXIpCisgICAgdm9pZCBhZHZhbmNlUGFzdE5ld2xpbmVBbmRVcGRhdGVMaW5l
TnVtYmVyKCkKICAgICB7CiAgICAgICAgIEFTU0VSVCgqY3VycmVudCgpID09ICdcbicpOwogICAg
ICAgICBpZiAoIW1fcHVzaGVkQ2hhcjEgJiYgbV9jdXJyZW50U3RyaW5nLm1fbGVuZ3RoID4gMSkg
ewogICAgICAgICAgICAgaW50IG5ld0xpbmVGbGFnID0gbV9jdXJyZW50U3RyaW5nLmRvTm90RXhj
bHVkZUxpbmVOdW1iZXJzKCk7Ci0gICAgICAgICAgICBsaW5lTnVtYmVyICs9IG5ld0xpbmVGbGFn
OwogICAgICAgICAgICAgbV9jdXJyZW50TGluZSArPSBuZXdMaW5lRmxhZzsKICAgICAgICAgICAg
IGlmIChuZXdMaW5lRmxhZykKICAgICAgICAgICAgICAgICBtX251bWJlck9mQ2hhcmFjdGVyc0Nv
bnN1bWVkUHJpb3JUb0N1cnJlbnRMaW5lID0gbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKSAr
IDE7CkBAIC0xNzAsNyArMTY5LDcgQEAgcHVibGljOgogICAgICAgICAgICAgbV9jdXJyZW50Q2hh
ciA9ICsrbV9jdXJyZW50U3RyaW5nLm1fY3VycmVudDsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQotICAgICAgICBhZHZhbmNlU2xvd0Nhc2UobGluZU51bWJlcik7CisgICAgICAgIGFk
dmFuY2VBbmRVcGRhdGVMaW5lTnVtYmVyU2xvd0Nhc2UoKTsKICAgICB9CiAgICAgCiAgICAgdm9p
ZCBhZHZhbmNlUGFzdE5vbk5ld2xpbmUoKQpAQCAtMTg0LDExICsxODMsMTAgQEAgcHVibGljOgog
ICAgICAgICBhZHZhbmNlU2xvd0Nhc2UoKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBhZHZhbmNl
KGludCYgbGluZU51bWJlcikKKyAgICB2b2lkIGFkdmFuY2VBbmRVcGRhdGVMaW5lTnVtYmVyKCkK
ICAgICB7CiAgICAgICAgIGlmICghbV9wdXNoZWRDaGFyMSAmJiBtX2N1cnJlbnRTdHJpbmcubV9s
ZW5ndGggPiAxKSB7CiAgICAgICAgICAgICBpbnQgbmV3TGluZUZsYWcgPSAoKm1fY3VycmVudFN0
cmluZy5tX2N1cnJlbnQgPT0gJ1xuJykgJiBtX2N1cnJlbnRTdHJpbmcuZG9Ob3RFeGNsdWRlTGlu
ZU51bWJlcnMoKTsKLSAgICAgICAgICAgIGxpbmVOdW1iZXIgKz0gbmV3TGluZUZsYWc7CiAgICAg
ICAgICAgICBtX2N1cnJlbnRMaW5lICs9IG5ld0xpbmVGbGFnOwogICAgICAgICAgICAgaWYgKG5l
d0xpbmVGbGFnKQogICAgICAgICAgICAgICAgIG1fbnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWRQ
cmlvclRvQ3VycmVudExpbmUgPSBudW1iZXJPZkNoYXJhY3RlcnNDb25zdW1lZCgpICsgMTsKQEAg
LTE5Niw3ICsxOTQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2N1cnJlbnRDaGFyID0gKytt
X2N1cnJlbnRTdHJpbmcubV9jdXJyZW50OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
Ci0gICAgICAgIGFkdmFuY2VTbG93Q2FzZShsaW5lTnVtYmVyKTsKKyAgICAgICAgYWR2YW5jZUFu
ZFVwZGF0ZUxpbmVOdW1iZXJTbG93Q2FzZSgpOwogICAgIH0KIAogICAgIC8vIFdyaXRlcyB0aGUg
Y29uc3VtZWQgY2hhcmFjdGVycyBpbnRvIGNvbnN1bWVkQ2hhcmFjdGVycywgd2hpY2ggbXVzdApA
QCAtMjM0LDcgKzIzMiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFNlZ21l
bnRlZFN1YnN0cmluZyYpOwogCiAgICAgdm9pZCBhZHZhbmNlU2xvd0Nhc2UoKTsKLSAgICB2b2lk
IGFkdmFuY2VTbG93Q2FzZShpbnQmIGxpbmVOdW1iZXIpOworICAgIHZvaWQgYWR2YW5jZUFuZFVw
ZGF0ZUxpbmVOdW1iZXJTbG93Q2FzZSgpOwogICAgIHZvaWQgYWR2YW5jZVN1YnN0cmluZygpOwog
ICAgIGNvbnN0IFVDaGFyKiBjdXJyZW50KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50Q2hhcjsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL01hcmt1cFRva2VuaXpl
ckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvTWFya3VwVG9rZW5pemVyQmFzZS5o
CmluZGV4IGI4Zjk3NTZjYWQ2YzVhODM1ZTRjYjYzMTliMmQ4OTJmOTVmODI3MmMuLjBhM2NhZGFm
ZmExOTc4YjI0M2FkYjcxZTM1YTdhYzA5OWRmMmQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9wYXJzZXIvTWFya3VwVG9rZW5pemVyQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9wYXJzZXIvTWFya3VwVG9rZW5pemVyQmFzZS5oCkBAIC00NSw4ICs0NSw2IEBAIGNsYXNz
IE1hcmt1cFRva2VuaXplckJhc2UgewogcHVibGljOgogICAgIHZpcnR1YWwgfk1hcmt1cFRva2Vu
aXplckJhc2UoKSB7IH0KIAotICAgIE9yZGluYWxOdW1iZXIgbGluZU51bWJlcigpIGNvbnN0IHsg
cmV0dXJuIE9yZGluYWxOdW1iZXI6OmZyb21aZXJvQmFzZWRJbnQobV9saW5lTnVtYmVyKTsgfQot
CiAgICAgdHlwZW5hbWUgU3RhdGU6OlN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0
ZTsgfQogICAgIHZvaWQgc2V0U3RhdGUodHlwZW5hbWUgU3RhdGU6OlN0YXRlIHN0YXRlKSB7IG1f
c3RhdGUgPSBzdGF0ZTsgfQogCkBAIC03Myw3ICs3MSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
Ly8gUmV0dXJucyB3aGV0aGVyIHdlIHN1Y2NlZWRlZCBpbiBwZWVraW5nIGF0IHRoZSBuZXh0IGNo
YXJhY3Rlci4KICAgICAgICAgLy8gVGhlIG9ubHkgd2F5IHdlIGNhbiBmYWlsIHRvIHBlZWsgaXMg
aWYgdGhlcmUgYXJlIG5vIG1vcmUKICAgICAgICAgLy8gY2hhcmFjdGVycyBpbiB8c291cmNlfCAo
YWZ0ZXIgY29sbGFwc2luZyBcclxuLCBldGMpLgotICAgICAgICBBTFdBWVNfSU5MSU5FIGJvb2wg
cGVlayhTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgaW50JiBsaW5lTnVtYmVyKQorICAgICAgICBB
TFdBWVNfSU5MSU5FIGJvb2wgcGVlayhTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSkKICAgICAgICAg
ewogICAgICAgICBQZWVrQWdhaW46CiAgICAgICAgICAgICBtX25leHRJbnB1dENoYXJhY3RlciA9
ICpzb3VyY2U7CkBAIC05MCw3ICs4OCw3IEBAIHByb3RlY3RlZDoKIAogICAgICAgICAgICAgaWYg
KG1fbmV4dElucHV0Q2hhcmFjdGVyID09ICdcbicgJiYgbV9za2lwTmV4dE5ld0xpbmUpIHsKICAg
ICAgICAgICAgICAgICBtX3NraXBOZXh0TmV3TGluZSA9IGZhbHNlOwotICAgICAgICAgICAgICAg
IHNvdXJjZS5hZHZhbmNlUGFzdE5ld2xpbmUobGluZU51bWJlcik7CisgICAgICAgICAgICAgICAg
c291cmNlLmFkdmFuY2VQYXN0TmV3bGluZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKICAgICAgICAg
ICAgICAgICBpZiAoc291cmNlLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgICAgIG1fbmV4dElucHV0Q2hhcmFjdGVyID0gKnNvdXJjZTsK
QEAgLTExOCwxMiArMTE2LDEyIEBAIHByb3RlY3RlZDoKICAgICAgICAgfQogCiAgICAgICAgIC8v
IFJldHVybnMgd2hldGhlciB0aGVyZSBhcmUgbW9yZSBjaGFyYWN0ZXJzIGluIHxzb3VyY2V8IGFm
dGVyIGFkdmFuY2luZy4KLSAgICAgICAgYm9vbCBhZHZhbmNlKFNlZ21lbnRlZFN0cmluZyYgc291
cmNlLCBpbnQmIGxpbmVOdW1iZXIpCisgICAgICAgIGJvb2wgYWR2YW5jZShTZWdtZW50ZWRTdHJp
bmcmIHNvdXJjZSkKICAgICAgICAgewotICAgICAgICAgICAgc291cmNlLmFkdmFuY2UobGluZU51
bWJlcik7CisgICAgICAgICAgICBzb3VyY2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsK
ICAgICAgICAgICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIHJldHVybiBwZWVrKHNvdXJjZSwgbGluZU51bWJlcik7Cisg
ICAgICAgICAgICByZXR1cm4gcGVlayhzb3VyY2UpOwogICAgICAgICB9CiAKICAgICAgICAgc3Rh
dGljIGNvbnN0IFVDaGFyIGVuZE9mRmlsZU1hcmtlciA9IDA7CkBAIC0xNTYsNyArMTU0LDcgQEAg
cHJvdGVjdGVkOgogICAgIGlubGluZSBib29sIGVtaXRBbmRSZXN1bWVJbihTZWdtZW50ZWRTdHJp
bmcmIHNvdXJjZSwgdHlwZW5hbWUgU3RhdGU6OlN0YXRlIHN0YXRlKQogICAgIHsKICAgICAgICAg
bV9zdGF0ZSA9IHN0YXRlOwotICAgICAgICBzb3VyY2UuYWR2YW5jZShtX2xpbmVOdW1iZXIpOwor
ICAgICAgICBzb3VyY2UuYWR2YW5jZUFuZFVwZGF0ZUxpbmVOdW1iZXIoKTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogICAgIApAQCAtMTcyLDcgKzE3MCw3IEBAIHByb3RlY3RlZDoKICAg
ICAgICAgaWYgKGhhdmVCdWZmZXJlZENoYXJhY3RlclRva2VuKCkpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgbV9zdGF0ZSA9IFN0YXRlOjpEYXRhU3RhdGU7Ci0gICAgICAgIHNv
dXJjZS5hZHZhbmNlKG1fbGluZU51bWJlcik7CisgICAgICAgIHNvdXJjZS5hZHZhbmNlQW5kVXBk
YXRlTGluZU51bWJlcigpOwogICAgICAgICBtX3Rva2VuLT5jbGVhcigpOwogICAgICAgICBtX3Rv
a2VuLT5tYWtlRW5kT2ZGaWxlKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTgyLDcgKzE4
MCw2IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIG1fc3RhdGUgPSBTdGF0ZTo6RGF0YVN0
YXRlOwogICAgICAgICBtX3Rva2VuID0gMDsKLSAgICAgICAgbV9saW5lTnVtYmVyID0gMDsKICAg
ICB9CiAKICAgICBpbmxpbmUgYm9vbCBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpCkBAIC0x
OTUsNyArMTkyLDYgQEAgcHJvdGVjdGVkOgogICAgIC8vIG1fdG9rZW4gaXMgb3duZWQgYnkgdGhl
IGNhbGxlci4gSWYgbmV4dFRva2VuIGlzIG5vdCBvbiB0aGUgc3RhY2ssCiAgICAgLy8gdGhpcyBt
ZW1iZXIgbWlnaHQgYmUgcG9pbnRpbmcgdG8gdW5hbGxvY2F0ZWQgbWVtb3J5LgogICAgIFRva2Vu
KiBtX3Rva2VuOwotICAgIGludCBtX2xpbmVOdW1iZXI7CiAKICAgICBib29sIG1fZm9yY2VOdWxs
Q2hhcmFjdGVyUmVwbGFjZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9w
YXJzZXIvTWFya3VwVG9rZW5pemVySW5saW5lTWV0aG9kcy5oIGIvU291cmNlL1dlYkNvcmUveG1s
L3BhcnNlci9NYXJrdXBUb2tlbml6ZXJJbmxpbmVNZXRob2RzLmgKaW5kZXggOWUzMTMxNTc3ZmI4
N2NmM2Y3ZjUwNmIyMTVhOGM0MTljMTAzNTA2ZC4uODE0YjhmMjE2N2Y3NmQyMjI4ODdiYjI3OGI3
NzcwZmZlMjNjOTY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9NYXJr
dXBUb2tlbml6ZXJJbmxpbmVNZXRob2RzLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNl
ci9NYXJrdXBUb2tlbml6ZXJJbmxpbmVNZXRob2RzLmgKQEAgLTcxLDcgKzcxLDcgQEAgaW5saW5l
IHZvaWQgYWR2YW5jZVN0cmluZ0FuZEFTU0VSVChTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgY29u
c3QgY2hhciogZXhwZWN0ZWQKICNkZWZpbmUgQURWQU5DRV9UTyhwcmVmaXgsIHN0YXRlTmFtZSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBkbyB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICAgICAgbV9zdGF0ZSA9IHByZWZpeDo6c3RhdGVOYW1lOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaWYgKCFtX2lucHV0U3RyZWFtUHJlcHJv
Y2Vzc29yLmFkdmFuY2Uoc291cmNlLCBtX2xpbmVOdW1iZXIpKSAgICAgIFwKKyAgICAgICAgaWYg
KCFtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLmFkdmFuY2Uoc291cmNlKSkgICAgICAgICAgICAg
ICAgICAgIFwKICAgICAgICAgICAgIHJldHVybiBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgY2MgPSBtX2lucHV0U3RyZWFt
UHJlcHJvY2Vzc29yLm5leHRJbnB1dENoYXJhY3RlcigpOyAgICAgICAgICAgICAgIFwKICAgICAg
ICAgZ290byBzdGF0ZU5hbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKQEAgLTg0LDcgKzg0LDcgQEAgaW5saW5lIHZvaWQgYWR2YW5jZVN0cmlu
Z0FuZEFTU0VSVChTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgY29uc3QgY2hhciogZXhwZWN0ZWQK
ICNkZWZpbmUgU1dJVENIX1RPKHByZWZpeCwgc3RhdGVOYW1lKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgbV9zdGF0
ZSA9IHByZWZpeDo6c3RhdGVOYW1lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgaWYgKHNvdXJjZS5pc0VtcHR5KCkgfHwgIW1faW5wdXRTdHJlYW1QcmVw
cm9jZXNzb3IucGVlayhzb3VyY2UsIG1fbGluZU51bWJlcikpIFwKKyAgICAgICAgaWYgKHNvdXJj
ZS5pc0VtcHR5KCkgfHwgIW1faW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IucGVlayhzb3VyY2UpKSAg
IFwKICAgICAgICAgICAgIHJldHVybiBoYXZlQnVmZmVyZWRDaGFyYWN0ZXJUb2tlbigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgY2MgPSBtX2lucHV0U3RyZWFtUHJlcHJv
Y2Vzc29yLm5leHRJbnB1dENoYXJhY3RlcigpOyAgICAgICAgICAgICAgIFwKICAgICAgICAgZ290
byBzdGF0ZU5hbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MVG9rZW5p
emVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MVG9rZW5pemVyLmNwcAppbmRl
eCBhMWQ4NWI3NTI5M2NhMTYzYjQ0NTE1MGE0NDk4MTYwODAyMjk4OTgzLi45ZTYyZTc0M2NlNzdj
MTkwYTM3YjBjM2RkODU0YTcxM2ZhMjU5NDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvcGFyc2VyL1hNTFRva2VuaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNl
ci9YTUxUb2tlbml6ZXIuY3BwCkBAIC0yMjUsNyArMjI1LDcgQEAgYm9vbCBYTUxUb2tlbml6ZXI6
Om5leHRUb2tlbihTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgWE1MVG9rZW4mIHRva2VuKQogICAg
IEFTU0VSVCghbV90b2tlbiB8fCBtX3Rva2VuID09ICZ0b2tlbiB8fCB0b2tlbi50eXBlKCkgPT0g
WE1MVG9rZW5UeXBlczo6VW5pbml0aWFsaXplZCk7CiAgICAgbV90b2tlbiA9ICZ0b2tlbjsKIAot
ICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpIHx8ICFtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLnBl
ZWsoc291cmNlLCBtX2xpbmVOdW1iZXIpKQorICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpIHx8ICFt
X2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yLnBlZWsoc291cmNlKSkKICAgICAgICAgcmV0dXJuIGhh
dmVCdWZmZXJlZENoYXJhY3RlclRva2VuKCk7CiAgICAgVUNoYXIgY2MgPSBtX2lucHV0U3RyZWFt
UHJlcHJvY2Vzc29yLm5leHRJbnB1dENoYXJhY3RlcigpOwogCg==
</data>
<flag name="review"
          id="159073"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>