<?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>143302</bug_id>
          
          <creation_ts>2015-04-01 04:47:02 -0700</creation_ts>
          <short_desc>Use modern loops in WebProcess</short_desc>
          <delta_ts>2015-04-10 01:13:40 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hunseop Jeong">hs85.jeong</reporter>
          <assigned_to name="Hunseop Jeong">hs85.jeong</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1081970</commentid>
    <comment_count>0</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-04-01 04:47:02 -0700</bug_when>
    <thetext>Use modern range for-loops in WebProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081971</commentid>
    <comment_count>1</comment_count>
      <attachid>249913</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-04-01 04:51:57 -0700</bug_when>
    <thetext>Created attachment 249913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081981</commentid>
    <comment_count>2</comment_count>
      <attachid>249917</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-04-01 06:27:10 -0700</bug_when>
    <thetext>Created attachment 249917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083241</commentid>
    <comment_count>3</comment_count>
      <attachid>249917</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-06 18:35:57 -0700</bug_when>
    <thetext>Comment on attachment 249917
Patch

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

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:542
&gt; +        if (page.get()-&gt;windowAndWebPageAreFocused())

This should just be page-&gt; rather than page.get()-&gt;

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:1146
&gt; -            page-&gt;unmarkAllMisspellings();
&gt; +            page.get()-&gt;unmarkAllMisspellings();

This change should not be needed.

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:1148
&gt; -            page-&gt;unmarkAllBadGrammar();
&gt; +            page.get()-&gt;unmarkAllBadGrammar();

This change should not be needed.

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:1219
&gt; +        if (Frame* mainFrame = page.get()-&gt;mainFrame())

This should be page-&gt; rather than page.get()-&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083249</commentid>
    <comment_count>4</comment_count>
      <attachid>250253</attachid>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-04-06 20:51:21 -0700</bug_when>
    <thetext>Created attachment 250253
Thanks for review, I changed the code to follow your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084198</commentid>
    <comment_count>5</comment_count>
      <attachid>250253</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-09 22:19:33 -0700</bug_when>
    <thetext>Comment on attachment 250253
Thanks for review, I changed the code to follow your comments.

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

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:312
&gt; +    for (auto&amp; scheme : parameters.urlSchemesRegistererdAsEmptyDocument)

After we land this patch we should fix the &quot;Registererd&quot; typo (not just here, but everywhere).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084212</commentid>
    <comment_count>6</comment_count>
      <attachid>250253</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 23:08:53 -0700</bug_when>
    <thetext>Comment on attachment 250253
Thanks for review, I changed the code to follow your comments.

Clearing flags on attachment: 250253

Committed r182622: &lt;http://trac.webkit.org/changeset/182622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084213</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 23:09:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084237</commentid>
    <comment_count>8</comment_count>
    <who name="Hunseop Jeong">hs85.jeong</who>
    <bug_when>2015-04-10 01:13:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 250253 [details]
&gt; Thanks for review, I changed the code to follow your comments.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250253&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebProcess.cpp:312
&gt; &gt; +    for (auto&amp; scheme : parameters.urlSchemesRegistererdAsEmptyDocument)
&gt; 
&gt; After we land this patch we should fix the &quot;Registererd&quot; typo (not just
&gt; here, but everywhere).

I fixed the typos( urlSchemesRegistererdAsEmptyDocument 
                -&gt; urlSchemesRegisteredAsEmptyDocument)
https://bugs.webkit.org/show_bug.cgi?id=143598</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249913</attachid>
            <date>2015-04-01 04:51:57 -0700</date>
            <delta_ts>2015-04-01 06:27:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143302-20150401205124.patch</filename>
            <type>text/plain</type>
            <size>8299</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmQyNmMwZDg0YTAyNzZi
OGY5MjI1ZmI1MmQxNzIzOTNmZmRlNTIzMC4uYTkxNmYxNDQ2OTcwM2VkMWU3ZDY2MWZkMTg1ZTI3
NzA3ZGEyYjNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA0LTAxICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGxvb3BzIGluIFdlYlByb2Nlc3MgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDMzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgbW9kZXJuIHJhbmdlIGZvci1sb29wcyBpbiBXZWJQcm9jZXNzLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmZvY3VzZWRX
ZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VGV4dENoZWNrZXJTdGF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnJlc2V0QWxsR2VvbG9jYXRpb25QZXJtaXNzaW9ucyk6CisK
IDIwMTUtMDMtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIERuRCBpY29uL3dpZGdldCBoYXMgb2RkIGJhY2tncm91bmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGJiZWNlZWMxMjVlMzlkMmEw
YjQ4MTM4N2VkOTI0Mjg2MjI2NDc4MjguLjc4YTE0NzAzYWUxMjE3OTA0OWY0NDMyOTExYzIxZmM3
OGJiNWRjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAt
MjM5LDExICsyMzksOSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKICNpZiBFTkFCTEUoU0VDX0lURU1fU0hJTSkKICAg
ICBTZWNJdGVtU2hpbTo6c2luZ2xldG9uKCkuaW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlv
bik7CiAjZW5kaWYKLSAgICAKLSAgICBXZWJQcm9jZXNzU3VwcGxlbWVudE1hcDo6Y29uc3RfaXRl
cmF0b3IgaXQgPSBtX3N1cHBsZW1lbnRzLmJlZ2luKCk7Ci0gICAgV2ViUHJvY2Vzc1N1cHBsZW1l
bnRNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fc3VwcGxlbWVudHMuZW5kKCk7Ci0gICAgZm9y
ICg7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgaXQtPnZhbHVlLT5pbml0aWFsaXplQ29ubmVj
dGlvbihjb25uZWN0aW9uKTsKKworICAgIGZvciAoYXV0byYgc3VwcGxlbWVudCA6IG1fc3VwcGxl
bWVudHMudmFsdWVzKCkpCisgICAgICAgIHN1cHBsZW1lbnQtPmluaXRpYWxpemVDb25uZWN0aW9u
KGNvbm5lY3Rpb24pOwogCiAgICAgbV93ZWJDb25uZWN0aW9uID0gV2ViQ29ubmVjdGlvblRvVUlQ
cm9jZXNzOjpjcmVhdGUodGhpcyk7CiAKQEAgLTI5NSwxMCArMjkzLDggQEAgdm9pZCBXZWJQcm9j
ZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYg
cGFyYW1ldGVycykKICAgICBpZiAoIXBhcmFtZXRlcnMuaW5qZWN0ZWRCdW5kbGVQYXRoLmlzRW1w
dHkoKSkKICAgICAgICAgbV9pbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpjcmVhdGUo
cGFyYW1ldGVycywgdHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhwYXJhbWV0ZXJzLmluaXRpYWxp
emF0aW9uVXNlckRhdGEub2JqZWN0KCkpLmdldCgpKTsKIAotICAgIFdlYlByb2Nlc3NTdXBwbGVt
ZW50TWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3VwcGxlbWVudHMuYmVnaW4oKTsKLSAgICBX
ZWJQcm9jZXNzU3VwcGxlbWVudE1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9zdXBwbGVtZW50
cy5lbmQoKTsKLSAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBpdC0+dmFsdWUt
PmluaXRpYWxpemUocGFyYW1ldGVycyk7CisgICAgZm9yIChhdXRvJiBzdXBwbGVtZW50IDogbV9z
dXBwbGVtZW50cy52YWx1ZXMoKSkKKyAgICAgICAgc3VwcGxlbWVudC0+aW5pdGlhbGl6ZShwYXJh
bWV0ZXJzKTsKIAogI2lmIEVOQUJMRShJQ09OREFUQUJBU0UpCiAgICAgbV9pY29uRGF0YWJhc2VQ
cm94eS0+c2V0RW5hYmxlZChwYXJhbWV0ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQpOwpAQCAtMzE3
LDI5ICszMTMsMjkgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKIAogICAgIG1fZnVsbEtleWJv
YXJkQWNjZXNzRW5hYmxlZCA9IHBhcmFtZXRlcnMuZnVsbEtleWJvYXJkQWNjZXNzRW5hYmxlZDsK
IAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0
ZXJlcmRBc0VtcHR5RG9jdW1lbnQuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlZ2lzdGVyVVJMU2No
ZW1lQXNFbXB0eURvY3VtZW50KHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZXJkQXNFbXB0
eURvY3VtZW50W2ldKTsKKyAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IHBhcmFtZXRlcnMudXJsU2No
ZW1lc1JlZ2lzdGVyZXJkQXNFbXB0eURvY3VtZW50KQorICAgICAgICByZWdpc3RlclVSTFNjaGVt
ZUFzRW1wdHlEb2N1bWVudChzY2hlbWUpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBw
YXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNTZWN1cmUuc2l6ZSgpOyArK2kpCi0gICAg
ICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0
ZXJlZEFzU2VjdXJlW2ldKTsKKyAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IHBhcmFtZXRlcnMudXJs
U2NoZW1lc1JlZ2lzdGVyZWRBc1NlY3VyZSkKKyAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc1Nl
Y3VyZShzY2hlbWUpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVy
bFNjaGVtZXNSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3kuc2l6ZSgp
OyArK2kpCi0gICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJp
dHlQb2xpY3kocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVu
dFNlY3VyaXR5UG9saWN5W2ldKTsKKyAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IHBhcmFtZXRlcnMu
dXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeSkKKyAg
ICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShz
Y2hlbWUpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVt
ZXNGb3JXaGljaERvbWFpblJlbGF4YXRpb25Jc0ZvcmJpZGRlbi5zaXplKCk7ICsraSkKLSAgICAg
ICAgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShwYXJhbWV0ZXJzLnVy
bFNjaGVtZXNGb3JXaGljaERvbWFpblJlbGF4YXRpb25Jc0ZvcmJpZGRlbltpXSk7CisgICAgZm9y
IChhdXRvJiBzY2hlbWUgOiBwYXJhbWV0ZXJzLnVybFNjaGVtZXNGb3JXaGljaERvbWFpblJlbGF4
YXRpb25Jc0ZvcmJpZGRlbikKKyAgICAgICAgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZv
clVSTFNjaGVtZShzY2hlbWUpOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0
ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNMb2NhbC5zaXplKCk7ICsraSkKLSAgICAgICAgcmVn
aXN0ZXJVUkxTY2hlbWVBc0xvY2FsKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0xv
Y2FsW2ldKTsKKyAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IHBhcmFtZXRlcnMudXJsU2NoZW1lc1Jl
Z2lzdGVyZWRBc0xvY2FsKQorICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoc2NoZW1l
KTsKIAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVn
aXN0ZXJlZEFzTm9BY2Nlc3Muc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1l
QXNOb0FjY2VzcyhwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNOb0FjY2Vzc1tpXSk7
CisgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVk
QXNOb0FjY2VzcykKKyAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc05vQWNjZXNzKHNjaGVtZSk7
CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lz
dGVyZWRBc0Rpc3BsYXlJc29sYXRlZC5zaXplKCk7ICsraSkKLSAgICAgICAgcmVnaXN0ZXJVUkxT
Y2hlbWVBc0Rpc3BsYXlJc29sYXRlZChwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNE
aXNwbGF5SXNvbGF0ZWRbaV0pOworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51
cmxTY2hlbWVzUmVnaXN0ZXJlZEFzRGlzcGxheUlzb2xhdGVkKQorICAgICAgICByZWdpc3RlclVS
TFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKHNjaGVtZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0NPUlNFbmFibGVkLnNpemUo
KTsgKytpKQotICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQocGFyYW1ldGVy
cy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQ09SU0VuYWJsZWRbaV0pOworICAgIGZvciAoYXV0byYg
c2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQ09SU0VuYWJsZWQpCisg
ICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChzY2hlbWUpOwogCiAjaWYgRU5B
QkxFKENBQ0hFX1BBUlRJVElPTklORykKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IHBhcmFtZXRl
cnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0NhY2hlUGFydGl0aW9uZWQpCkBAIC0zNzIsOCArMzY4
LDggQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBzZXRUZXJtaW5hdGlvblRpbWVvdXQo
cGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQpOwogCiAgICAgcmVzZXRQbHVnSW5BdXRvU3Rh
cnRPcmlnaW5IYXNoZXMocGFyYW1ldGVycy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMpOwot
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy5wbHVnSW5BdXRvU3RhcnRPcmln
aW5zLnNpemUoKTsgKytpKQotICAgICAgICBtX3BsdWdJbkF1dG9TdGFydE9yaWdpbnMuYWRkKHBh
cmFtZXRlcnMucGx1Z0luQXV0b1N0YXJ0T3JpZ2luc1tpXSk7CisgICAgZm9yIChhdXRvJiBvcmln
aW4gOiBwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbnMpCisgICAgICAgIG1fcGx1Z0lu
QXV0b1N0YXJ0T3JpZ2lucy5hZGQob3JpZ2luKTsKIAogICAgIHNldE1lbW9yeUNhY2hlRGlzYWJs
ZWQocGFyYW1ldGVycy5tZW1vcnlDYWNoZURpc2FibGVkKTsKIApAQCAtNTQyLDExICs1MzgsOSBA
QCB2b2lkIFdlYlByb2Nlc3M6OnNldENhY2hlTW9kZWwodWludDMyX3QgY20pCiAKIFdlYlBhZ2Uq
IFdlYlByb2Nlc3M6OmZvY3VzZWRXZWJQYWdlKCkgY29uc3QKIHsgICAgCi0gICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2U+Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9wYWdlTWFw
LmVuZCgpOwotICAgIGZvciAoSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2U+Pjo6Y29u
c3RfaXRlcmF0b3IgaXQgPSBtX3BhZ2VNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgIFdlYlBhZ2UqIHBhZ2UgPSAoKml0KS52YWx1ZS5nZXQoKTsKLSAgICAgICAgaWYgKHBh
Z2UtPndpbmRvd0FuZFdlYlBhZ2VBcmVGb2N1c2VkKCkpCi0gICAgICAgICAgICByZXR1cm4gcGFn
ZTsKKyAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKKyAgICAgICAg
aWYgKHBhZ2UuZ2V0KCktPndpbmRvd0FuZFdlYlBhZ2VBcmVGb2N1c2VkKCkpCisgICAgICAgICAg
ICByZXR1cm4gcGFnZS5nZXQoKTsKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9CkBAIC02OTksOSAr
NjkzLDkgQEAgdm9pZCBXZWJQcm9jZXNzOjpyZW1vdmVXZWJGcmFtZSh1aW50NjRfdCBmcmFtZUlE
KQogCiBXZWJQYWdlR3JvdXBQcm94eSogV2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKFBhZ2VHcm91
cCogcGFnZUdyb3VwKQogewotICAgIGZvciAoSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBh
Z2VHcm91cFByb3h5Pj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9wYWdlR3JvdXBNYXAuYmVnaW4o
KSwgZW5kID0gbV9wYWdlR3JvdXBNYXAuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAg
ICBpZiAoaXQtPnZhbHVlLT5jb3JlUGFnZUdyb3VwKCkgPT0gcGFnZUdyb3VwKQotICAgICAgICAg
ICAgcmV0dXJuIGl0LT52YWx1ZS5nZXQoKTsKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHBhZ2UgOiBt
X3BhZ2VHcm91cE1hcC52YWx1ZXMoKSkgeworICAgICAgICBpZiAocGFnZS0+Y29yZVBhZ2VHcm91
cCgpID09IHBhZ2VHcm91cCkKKyAgICAgICAgICAgIHJldHVybiBwYWdlLmdldCgpOwogICAgIH0K
IAogICAgIHJldHVybiAwOwpAQCAtMTE0NywxMyArMTE0MSwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6
OnNldFRleHRDaGVja2VyU3RhdGUoY29uc3QgVGV4dENoZWNrZXJTdGF0ZSYgdGV4dENoZWNrZXJT
dGF0ZSkKICAgICBpZiAoIWNvbnRpbnVvdXNTcGVsbENoZWNraW5nVHVybmVkT2ZmICYmICFncmFt
bWFyQ2hlY2tpbmdUdXJuZWRPZmYpCiAgICAgICAgIHJldHVybjsKIAotICAgIEhhc2hNYXA8dWlu
dDY0X3QsIFJlZlB0cjxXZWJQYWdlPj46Oml0ZXJhdG9yIGVuZCA9IG1fcGFnZU1hcC5lbmQoKTsK
LSAgICBmb3IgKEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJQYWdlPj46Oml0ZXJhdG9yIGl0
ID0gbV9wYWdlTWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBXZWJQYWdl
KiBwYWdlID0gKCppdCkudmFsdWUuZ2V0KCk7CisgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdl
TWFwLnZhbHVlcygpKSB7CiAgICAgICAgIGlmIChjb250aW51b3VzU3BlbGxDaGVja2luZ1R1cm5l
ZE9mZikKLSAgICAgICAgICAgIHBhZ2UtPnVubWFya0FsbE1pc3NwZWxsaW5ncygpOworICAgICAg
ICAgICAgcGFnZS5nZXQoKS0+dW5tYXJrQWxsTWlzc3BlbGxpbmdzKCk7CiAgICAgICAgIGlmIChn
cmFtbWFyQ2hlY2tpbmdUdXJuZWRPZmYpCi0gICAgICAgICAgICBwYWdlLT51bm1hcmtBbGxCYWRH
cmFtbWFyKCk7CisgICAgICAgICAgICBwYWdlLmdldCgpLT51bm1hcmtBbGxCYWRHcmFtbWFyKCk7
CiAgICAgfQogfQogCkBAIC0xMjIzLDkgKzEyMTUsOCBAQCB2b2lkIFdlYlByb2Nlc3M6OnVwZGF0
ZUFjdGl2ZVBhZ2VzKCkKICNpZiBQTEFURk9STShJT1MpCiB2b2lkIFdlYlByb2Nlc3M6OnJlc2V0
QWxsR2VvbG9jYXRpb25QZXJtaXNzaW9ucygpCiB7Ci0gICAgZm9yIChhdXRvIGl0ID0gbV9wYWdl
TWFwLmJlZ2luKCksIGVuZCA9IG1fcGFnZU1hcC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0g
ICAgICAgIFdlYlBhZ2UqIHBhZ2UgPSAoKml0KS52YWx1ZS5nZXQoKTsKLSAgICAgICAgaWYgKEZy
YW1lKiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKSkKKyAgICBmb3IgKGF1dG8mIHBhZ2Ug
OiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKEZyYW1lKiBtYWluRnJhbWUgPSBw
YWdlLmdldCgpLT5tYWluRnJhbWUoKSkKICAgICAgICAgICAgIG1haW5GcmFtZS0+cmVzZXRBbGxH
ZW9sb2NhdGlvblBlcm1pc3Npb24oKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249917</attachid>
            <date>2015-04-01 06:27:10 -0700</date>
            <delta_ts>2015-04-06 20:51:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143302-20150401222637.patch</filename>
            <type>text/plain</type>
            <size>8334</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjRkNDdiNGI2NGNhNWYz
ZDJhOTQ0NjVhYjBhZDVmYzIxZWJhZDJlNC4uZjg5MDJjYTIyZWE3YjVmNDZiMWM1MTBiZmVhOGQw
YjliZjE2OTk5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA0LTAxICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGxvb3BzIGluIFdlYlByb2Nlc3MgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDMzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgbW9kZXJuIHJhbmdlIGZvci1sb29wcyBpbiBXZWJQcm9jZXNzLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0
aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmZvY3VzZWRX
ZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VGV4dENoZWNrZXJTdGF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnJlc2V0QWxsR2VvbG9jYXRpb25QZXJtaXNzaW9ucyk6CisK
IDIwMTUtMDMtMzEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMjAzNjU2NzU+IFtpT1NdIEluY2x1ZGUgQWRkIHRvIFJlYWRpbmcgTGlz
dCBsaW5rIGFjdGlvbiBvbmx5IHdoZXJlIHN1cHBvcnRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYmJlY2VlYzEyNWUzOWQyYTBiNDgxMzg3ZWQ5MjQyODYy
MjY0NzgyOC4uNjgyZjY5ODJiNjM0YTcxNGQzZjY2NzNmN2ZlMmVmOGMwN2M0NmFhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0yMzksMTEgKzIzOSw5IEBA
IHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBj
b25uZWN0aW9uKQogI2lmIEVOQUJMRShTRUNfSVRFTV9TSElNKQogICAgIFNlY0l0ZW1TaGltOjpz
aW5nbGV0b24oKS5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKICNlbmRpZgotICAg
IAotICAgIFdlYlByb2Nlc3NTdXBwbGVtZW50TWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3Vw
cGxlbWVudHMuYmVnaW4oKTsKLSAgICBXZWJQcm9jZXNzU3VwcGxlbWVudE1hcDo6Y29uc3RfaXRl
cmF0b3IgZW5kID0gbV9zdXBwbGVtZW50cy5lbmQoKTsKLSAgICBmb3IgKDsgaXQgIT0gZW5kOyAr
K2l0KQotICAgICAgICBpdC0+dmFsdWUtPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24p
OworCisgICAgZm9yIChhdXRvJiBzdXBwbGVtZW50IDogbV9zdXBwbGVtZW50cy52YWx1ZXMoKSkK
KyAgICAgICAgc3VwcGxlbWVudC0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29ubmVjdGlvbik7CiAK
ICAgICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M6OmNyZWF0ZSh0
aGlzKTsKIApAQCAtMjk1LDEwICsyOTMsOCBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVX
ZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAg
IGlmICghcGFyYW1ldGVycy5pbmplY3RlZEJ1bmRsZVBhdGguaXNFbXB0eSgpKQogICAgICAgICBt
X2luamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OmNyZWF0ZShwYXJhbWV0ZXJzLCB0cmFu
c2Zvcm1IYW5kbGVzVG9PYmplY3RzKHBhcmFtZXRlcnMuaW5pdGlhbGl6YXRpb25Vc2VyRGF0YS5v
YmplY3QoKSkuZ2V0KCkpOwogCi0gICAgV2ViUHJvY2Vzc1N1cHBsZW1lbnRNYXA6OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gbV9zdXBwbGVtZW50cy5iZWdpbigpOwotICAgIFdlYlByb2Nlc3NTdXBwbGVt
ZW50TWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3N1cHBsZW1lbnRzLmVuZCgpOwotICAgIGZv
ciAoOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGl0LT52YWx1ZS0+aW5pdGlhbGl6ZShwYXJh
bWV0ZXJzKTsKKyAgICBmb3IgKGF1dG8mIHN1cHBsZW1lbnQgOiBtX3N1cHBsZW1lbnRzLnZhbHVl
cygpKQorICAgICAgICBzdXBwbGVtZW50LT5pbml0aWFsaXplKHBhcmFtZXRlcnMpOwogCiAjaWYg
RU5BQkxFKElDT05EQVRBQkFTRSkKICAgICBtX2ljb25EYXRhYmFzZVByb3h5LT5zZXRFbmFibGVk
KHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCk7CkBAIC0zMTcsMjkgKzMxMywyOSBAQCB2
b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogCiAgICAgbV9mdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVk
ID0gcGFyYW1ldGVycy5mdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkOwogCi0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVyZEFzRW1wdHlEb2N1
bWVudC5zaXplKCk7ICsraSkKLSAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1l
bnQocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlcmRBc0VtcHR5RG9jdW1lbnRbaV0pOwor
ICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlcmRB
c0VtcHR5RG9jdW1lbnQpCisgICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50
KHNjaGVtZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2No
ZW1lc1JlZ2lzdGVyZWRBc1NlY3VyZS5zaXplKCk7ICsraSkKLSAgICAgICAgcmVnaXN0ZXJVUkxT
Y2hlbWVBc1NlY3VyZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNTZWN1cmVbaV0p
OworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJl
ZEFzU2VjdXJlKQorICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKHNjaGVtZSk7CiAK
LSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVy
ZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeS5zaXplKCk7ICsraSkKLSAgICAgICAg
cmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeShwYXJhbWV0
ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3lb
aV0pOworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0
ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KQorICAgICAgICByZWdpc3RlclVS
TFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KHNjaGVtZSk7CiAKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc0ZvcldoaWNoRG9tYWlu
UmVsYXhhdGlvbklzRm9yYmlkZGVuLnNpemUoKTsgKytpKQotICAgICAgICBzZXREb21haW5SZWxh
eGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKHBhcmFtZXRlcnMudXJsU2NoZW1lc0ZvcldoaWNo
RG9tYWluUmVsYXhhdGlvbklzRm9yYmlkZGVuW2ldKTsKKyAgICBmb3IgKGF1dG8mIHNjaGVtZSA6
IHBhcmFtZXRlcnMudXJsU2NoZW1lc0ZvcldoaWNoRG9tYWluUmVsYXhhdGlvbklzRm9yYmlkZGVu
KQorICAgICAgICBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKHNjaGVt
ZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc1Jl
Z2lzdGVyZWRBc0xvY2FsLnNpemUoKTsgKytpKQotICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFz
TG9jYWwocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzTG9jYWxbaV0pOworICAgIGZv
ciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzTG9jYWwp
CisgICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbChzY2hlbWUpOwogCi0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNOb0FjY2Vz
cy5zaXplKCk7ICsraSkKLSAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc05vQWNjZXNzKHBhcmFt
ZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc05vQWNjZXNzW2ldKTsKKyAgICBmb3IgKGF1dG8m
IHNjaGVtZSA6IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc05vQWNjZXNzKQorICAg
ICAgICByZWdpc3RlclVSTFNjaGVtZUFzTm9BY2Nlc3Moc2NoZW1lKTsKIAotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzRGlzcGxheUlz
b2xhdGVkLnNpemUoKTsgKytpKQotICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFzRGlzcGxheUlz
b2xhdGVkKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0Rpc3BsYXlJc29sYXRlZFtp
XSk7CisgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3Rl
cmVkQXNEaXNwbGF5SXNvbGF0ZWQpCisgICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNEaXNwbGF5
SXNvbGF0ZWQoc2NoZW1lKTsKIAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVy
cy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQ09SU0VuYWJsZWQuc2l6ZSgpOyArK2kpCi0gICAgICAg
IHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdp
c3RlcmVkQXNDT1JTRW5hYmxlZFtpXSk7CisgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBwYXJhbWV0
ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNDT1JTRW5hYmxlZCkKKyAgICAgICAgcmVnaXN0ZXJV
UkxTY2hlbWVBc0NPUlNFbmFibGVkKHNjaGVtZSk7CiAKICNpZiBFTkFCTEUoQ0FDSEVfUEFSVElU
SU9OSU5HKQogICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVn
aXN0ZXJlZEFzQ2FjaGVQYXJ0aXRpb25lZCkKQEAgLTM3Miw4ICszNjgsOCBAQCB2b2lkIFdlYlBy
b2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
JiBwYXJhbWV0ZXJzKQogICAgIHNldFRlcm1pbmF0aW9uVGltZW91dChwYXJhbWV0ZXJzLnRlcm1p
bmF0aW9uVGltZW91dCk7CiAKICAgICByZXNldFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcyhw
YXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcyk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbnMuc2l6ZSgpOyArK2kp
Ci0gICAgICAgIG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2lucy5hZGQocGFyYW1ldGVycy5wbHVnSW5B
dXRvU3RhcnRPcmlnaW5zW2ldKTsKKyAgICBmb3IgKGF1dG8mIG9yaWdpbiA6IHBhcmFtZXRlcnMu
cGx1Z0luQXV0b1N0YXJ0T3JpZ2lucykKKyAgICAgICAgbV9wbHVnSW5BdXRvU3RhcnRPcmlnaW5z
LmFkZChvcmlnaW4pOwogCiAgICAgc2V0TWVtb3J5Q2FjaGVEaXNhYmxlZChwYXJhbWV0ZXJzLm1l
bW9yeUNhY2hlRGlzYWJsZWQpOwogCkBAIC01NDIsMTEgKzUzOCw5IEBAIHZvaWQgV2ViUHJvY2Vz
czo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKIAogV2ViUGFnZSogV2ViUHJvY2Vzczo6Zm9j
dXNlZFdlYlBhZ2UoKSBjb25zdAogeyAgICAKLSAgICBIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8
V2ViUGFnZT4+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BhZ2VNYXAuZW5kKCk7Ci0gICAgZm9y
IChIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViUGFnZT4+Ojpjb25zdF9pdGVyYXRvciBpdCA9
IG1fcGFnZU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgV2ViUGFnZSog
cGFnZSA9ICgqaXQpLnZhbHVlLmdldCgpOwotICAgICAgICBpZiAocGFnZS0+d2luZG93QW5kV2Vi
UGFnZUFyZUZvY3VzZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBwYWdlOworICAgIGZvciAoYXV0
byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkgeworICAgICAgICBpZiAocGFnZS5nZXQoKS0+
d2luZG93QW5kV2ViUGFnZUFyZUZvY3VzZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBwYWdlLmdl
dCgpOwogICAgIH0KICAgICByZXR1cm4gMDsKIH0KQEAgLTY5OSw5ICs2OTMsOSBAQCB2b2lkIFdl
YlByb2Nlc3M6OnJlbW92ZVdlYkZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKIFdlYlBhZ2VHcm91
cFByb3h5KiBXZWJQcm9jZXNzOjp3ZWJQYWdlR3JvdXAoUGFnZUdyb3VwKiBwYWdlR3JvdXApCiB7
Ci0gICAgZm9yIChIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViUGFnZUdyb3VwUHJveHk+Pjo6
Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3BhZ2VHcm91cE1hcC5iZWdpbigpLCBlbmQgPSBtX3BhZ2VH
cm91cE1hcC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGlmIChpdC0+dmFsdWUt
PmNvcmVQYWdlR3JvdXAoKSA9PSBwYWdlR3JvdXApCi0gICAgICAgICAgICByZXR1cm4gaXQtPnZh
bHVlLmdldCgpOworICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZUdyb3VwTWFwLnZhbHVlcygp
KSB7CisgICAgICAgIGlmIChwYWdlLT5jb3JlUGFnZUdyb3VwKCkgPT0gcGFnZUdyb3VwKQorICAg
ICAgICAgICAgcmV0dXJuIHBhZ2UuZ2V0KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0x
MTQ3LDEzICsxMTQxLDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VGV4dENoZWNrZXJTdGF0ZShj
b25zdCBUZXh0Q2hlY2tlclN0YXRlJiB0ZXh0Q2hlY2tlclN0YXRlKQogICAgIGlmICghY29udGlu
dW91c1NwZWxsQ2hlY2tpbmdUdXJuZWRPZmYgJiYgIWdyYW1tYXJDaGVja2luZ1R1cm5lZE9mZikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2U+
Pjo6aXRlcmF0b3IgZW5kID0gbV9wYWdlTWFwLmVuZCgpOwotICAgIGZvciAoSGFzaE1hcDx1aW50
NjRfdCwgUmVmUHRyPFdlYlBhZ2U+Pjo6aXRlcmF0b3IgaXQgPSBtX3BhZ2VNYXAuYmVnaW4oKTsg
aXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFdlYlBhZ2UqIHBhZ2UgPSAoKml0KS52YWx1ZS5n
ZXQoKTsKKyAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKICAgICAg
ICAgaWYgKGNvbnRpbnVvdXNTcGVsbENoZWNraW5nVHVybmVkT2ZmKQotICAgICAgICAgICAgcGFn
ZS0+dW5tYXJrQWxsTWlzc3BlbGxpbmdzKCk7CisgICAgICAgICAgICBwYWdlLmdldCgpLT51bm1h
cmtBbGxNaXNzcGVsbGluZ3MoKTsKICAgICAgICAgaWYgKGdyYW1tYXJDaGVja2luZ1R1cm5lZE9m
ZikKLSAgICAgICAgICAgIHBhZ2UtPnVubWFya0FsbEJhZEdyYW1tYXIoKTsKKyAgICAgICAgICAg
IHBhZ2UuZ2V0KCktPnVubWFya0FsbEJhZEdyYW1tYXIoKTsKICAgICB9CiB9CiAKQEAgLTEyMjMs
OSArMTIxNSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlQWN0aXZlUGFnZXMoKQogI2lmIFBM
QVRGT1JNKElPUykKIHZvaWQgV2ViUHJvY2Vzczo6cmVzZXRBbGxHZW9sb2NhdGlvblBlcm1pc3Np
b25zKCkKIHsKLSAgICBmb3IgKGF1dG8gaXQgPSBtX3BhZ2VNYXAuYmVnaW4oKSwgZW5kID0gbV9w
YWdlTWFwLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgV2ViUGFnZSogcGFnZSA9
ICgqaXQpLnZhbHVlLmdldCgpOwotICAgICAgICBpZiAoRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2Ut
Pm1haW5GcmFtZSgpKQorICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkg
eworICAgICAgICBpZiAoRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UuZ2V0KCktPm1haW5GcmFtZSgp
KQogICAgICAgICAgICAgbWFpbkZyYW1lLT5yZXNldEFsbEdlb2xvY2F0aW9uUGVybWlzc2lvbigp
OwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250253</attachid>
            <date>2015-04-06 20:51:21 -0700</date>
            <delta_ts>2015-04-09 23:08:53 -0700</delta_ts>
            <desc>Thanks for review, I changed the code to follow your comments.</desc>
            <filename>bug-143302-20150407125024.patch</filename>
            <type>text/plain</type>
            <size>8020</size>
            <attacher name="Hunseop Jeong">hs85.jeong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTg0Njk0MTFlNWRjNjBi
ZWE5MjNmYWNlOTlkNWVlYjI0YTViY2M2Ni4uMDY3ZGRmMjYwOGFkNGJlYThjNTk0NmNlMDYzZTVk
ZWE5NmFiNzM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA0LTA2ICBIdW5z
ZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgbW9kZXJu
IGxvb3BzIGluIFdlYlByb2Nlc3MgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDMzMDIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBVc2UgbW9kZXJuIHJhbmdlIGZvci1sb29wcyBpbiBXZWJQcm9jZXNzLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5p
dGlhbGl6ZUNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFs
aXplV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmZvY3VzZWRXZWJQ
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6d2ViUGFnZUdyb3VwKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0VGV4dENoZWNrZXJTdGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OnJlc2V0QWxsR2VvbG9jYXRpb25QZXJtaXNzaW9ucyk6CisKIDIw
MTUtMDQtMDYgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDcmVhdGUgdGhlIHdlYiBpbnNwZWN0b3IgcHJvY2VzcyBwb29sIGxhemlseQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggOTA4YjIwMWZiODYwZjVlZjZkNDZk
MjBkOTc5ZTIyYTJlNWM1MTkzZC4uMjNhYmZhYmRlN2MzMGI3NjJhYmQyYjVkMDg4YTM4NDlmYzYx
ODY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0yMzUs
MTEgKzIzNSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oSVBDOjpD
b25uZWN0aW9uKiBjb25uZWN0aW9uKQogI2lmIEVOQUJMRShTRUNfSVRFTV9TSElNKQogICAgIFNl
Y0l0ZW1TaGltOjpzaW5nbGV0b24oKS5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsK
ICNlbmRpZgotICAgIAotICAgIFdlYlByb2Nlc3NTdXBwbGVtZW50TWFwOjpjb25zdF9pdGVyYXRv
ciBpdCA9IG1fc3VwcGxlbWVudHMuYmVnaW4oKTsKLSAgICBXZWJQcm9jZXNzU3VwcGxlbWVudE1h
cDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9zdXBwbGVtZW50cy5lbmQoKTsKLSAgICBmb3IgKDsg
aXQgIT0gZW5kOyArK2l0KQotICAgICAgICBpdC0+dmFsdWUtPmluaXRpYWxpemVDb25uZWN0aW9u
KGNvbm5lY3Rpb24pOworCisgICAgZm9yIChhdXRvJiBzdXBwbGVtZW50IDogbV9zdXBwbGVtZW50
cy52YWx1ZXMoKSkKKyAgICAgICAgc3VwcGxlbWVudC0+aW5pdGlhbGl6ZUNvbm5lY3Rpb24oY29u
bmVjdGlvbik7CiAKICAgICBtX3dlYkNvbm5lY3Rpb24gPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3M6OmNyZWF0ZSh0aGlzKTsKIApAQCAtMjkxLDEwICsyODksOCBAQCB2b2lkIFdlYlByb2Nlc3M6
OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJh
bWV0ZXJzKQogICAgIGlmICghcGFyYW1ldGVycy5pbmplY3RlZEJ1bmRsZVBhdGguaXNFbXB0eSgp
KQogICAgICAgICBtX2luamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OmNyZWF0ZShwYXJh
bWV0ZXJzLCB0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHBhcmFtZXRlcnMuaW5pdGlhbGl6YXRp
b25Vc2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogCi0gICAgV2ViUHJvY2Vzc1N1cHBsZW1lbnRN
YXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdXBwbGVtZW50cy5iZWdpbigpOwotICAgIFdlYlBy
b2Nlc3NTdXBwbGVtZW50TWFwOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3N1cHBsZW1lbnRzLmVu
ZCgpOwotICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGl0LT52YWx1ZS0+aW5p
dGlhbGl6ZShwYXJhbWV0ZXJzKTsKKyAgICBmb3IgKGF1dG8mIHN1cHBsZW1lbnQgOiBtX3N1cHBs
ZW1lbnRzLnZhbHVlcygpKQorICAgICAgICBzdXBwbGVtZW50LT5pbml0aWFsaXplKHBhcmFtZXRl
cnMpOwogCiAjaWYgRU5BQkxFKElDT05EQVRBQkFTRSkKICAgICBtX2ljb25EYXRhYmFzZVByb3h5
LT5zZXRFbmFibGVkKHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCk7CkBAIC0zMTMsMjkg
KzMwOSwyOSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogCiAgICAgbV9mdWxsS2V5Ym9hcmRB
Y2Nlc3NFbmFibGVkID0gcGFyYW1ldGVycy5mdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkOwogCi0g
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVy
ZEFzRW1wdHlEb2N1bWVudC5zaXplKCk7ICsraSkKLSAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVB
c0VtcHR5RG9jdW1lbnQocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlcmRBc0VtcHR5RG9j
dW1lbnRbaV0pOworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVz
UmVnaXN0ZXJlcmRBc0VtcHR5RG9jdW1lbnQpCisgICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNF
bXB0eURvY3VtZW50KHNjaGVtZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFt
ZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc1NlY3VyZS5zaXplKCk7ICsraSkKLSAgICAgICAg
cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVk
QXNTZWN1cmVbaV0pOworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hl
bWVzUmVnaXN0ZXJlZEFzU2VjdXJlKQorICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJl
KHNjaGVtZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2No
ZW1lc1JlZ2lzdGVyZWRBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBvbGljeS5zaXplKCk7ICsr
aSkKLSAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc0J5cGFzc2luZ0NvbnRlbnRTZWN1cml0eVBv
bGljeShwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2Vj
dXJpdHlQb2xpY3lbaV0pOworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxT
Y2hlbWVzUmVnaXN0ZXJlZEFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KQorICAgICAg
ICByZWdpc3RlclVSTFNjaGVtZUFzQnlwYXNzaW5nQ29udGVudFNlY3VyaXR5UG9saWN5KHNjaGVt
ZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMudXJsU2NoZW1lc0Zv
cldoaWNoRG9tYWluUmVsYXhhdGlvbklzRm9yYmlkZGVuLnNpemUoKTsgKytpKQotICAgICAgICBz
ZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKHBhcmFtZXRlcnMudXJsU2No
ZW1lc0ZvcldoaWNoRG9tYWluUmVsYXhhdGlvbklzRm9yYmlkZGVuW2ldKTsKKyAgICBmb3IgKGF1
dG8mIHNjaGVtZSA6IHBhcmFtZXRlcnMudXJsU2NoZW1lc0ZvcldoaWNoRG9tYWluUmVsYXhhdGlv
bklzRm9yYmlkZGVuKQorICAgICAgICBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJM
U2NoZW1lKHNjaGVtZSk7CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhcmFtZXRlcnMu
dXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0xvY2FsLnNpemUoKTsgKytpKQotICAgICAgICByZWdpc3Rl
clVSTFNjaGVtZUFzTG9jYWwocGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzTG9jYWxb
aV0pOworICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0
ZXJlZEFzTG9jYWwpCisgICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbChzY2hlbWUpOwog
Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3Rl
cmVkQXNOb0FjY2Vzcy5zaXplKCk7ICsraSkKLSAgICAgICAgcmVnaXN0ZXJVUkxTY2hlbWVBc05v
QWNjZXNzKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc05vQWNjZXNzW2ldKTsKKyAg
ICBmb3IgKGF1dG8mIHNjaGVtZSA6IHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc05v
QWNjZXNzKQorICAgICAgICByZWdpc3RlclVSTFNjaGVtZUFzTm9BY2Nlc3Moc2NoZW1lKTsKIAot
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJl
ZEFzRGlzcGxheUlzb2xhdGVkLnNpemUoKTsgKytpKQotICAgICAgICByZWdpc3RlclVSTFNjaGVt
ZUFzRGlzcGxheUlzb2xhdGVkKHBhcmFtZXRlcnMudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc0Rpc3Bs
YXlJc29sYXRlZFtpXSk7CisgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBwYXJhbWV0ZXJzLnVybFNj
aGVtZXNSZWdpc3RlcmVkQXNEaXNwbGF5SXNvbGF0ZWQpCisgICAgICAgIHJlZ2lzdGVyVVJMU2No
ZW1lQXNEaXNwbGF5SXNvbGF0ZWQoc2NoZW1lKTsKIAotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgcGFyYW1ldGVycy51cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQ09SU0VuYWJsZWQuc2l6ZSgpOyAr
K2kpCi0gICAgICAgIHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChwYXJhbWV0ZXJzLnVy
bFNjaGVtZXNSZWdpc3RlcmVkQXNDT1JTRW5hYmxlZFtpXSk7CisgICAgZm9yIChhdXRvJiBzY2hl
bWUgOiBwYXJhbWV0ZXJzLnVybFNjaGVtZXNSZWdpc3RlcmVkQXNDT1JTRW5hYmxlZCkKKyAgICAg
ICAgcmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKHNjaGVtZSk7CiAKICNpZiBFTkFCTEUo
Q0FDSEVfUEFSVElUSU9OSU5HKQogICAgIGZvciAoYXV0byYgc2NoZW1lIDogcGFyYW1ldGVycy51
cmxTY2hlbWVzUmVnaXN0ZXJlZEFzQ2FjaGVQYXJ0aXRpb25lZCkKQEAgLTM2OCw4ICszNjQsOCBA
QCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIHNldFRlcm1pbmF0aW9uVGltZW91dChwYXJh
bWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCk7CiAKICAgICByZXNldFBsdWdJbkF1dG9TdGFydE9y
aWdpbkhhc2hlcyhwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcyk7Ci0gICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLnBsdWdJbkF1dG9TdGFydE9yaWdpbnMu
c2l6ZSgpOyArK2kpCi0gICAgICAgIG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2lucy5hZGQocGFyYW1l
dGVycy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5zW2ldKTsKKyAgICBmb3IgKGF1dG8mIG9yaWdpbiA6
IHBhcmFtZXRlcnMucGx1Z0luQXV0b1N0YXJ0T3JpZ2lucykKKyAgICAgICAgbV9wbHVnSW5BdXRv
U3RhcnRPcmlnaW5zLmFkZChvcmlnaW4pOwogCiAgICAgc2V0TWVtb3J5Q2FjaGVEaXNhYmxlZChw
YXJhbWV0ZXJzLm1lbW9yeUNhY2hlRGlzYWJsZWQpOwogCkBAIC01MzgsMTEgKzUzNCw5IEBAIHZv
aWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKIAogV2ViUGFnZSogV2Vi
UHJvY2Vzczo6Zm9jdXNlZFdlYlBhZ2UoKSBjb25zdAogeyAgICAKLSAgICBIYXNoTWFwPHVpbnQ2
NF90LCBSZWZQdHI8V2ViUGFnZT4+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3BhZ2VNYXAuZW5k
KCk7Ci0gICAgZm9yIChIYXNoTWFwPHVpbnQ2NF90LCBSZWZQdHI8V2ViUGFnZT4+Ojpjb25zdF9p
dGVyYXRvciBpdCA9IG1fcGFnZU1hcC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgV2ViUGFnZSogcGFnZSA9ICgqaXQpLnZhbHVlLmdldCgpOworICAgIGZvciAoYXV0byYgcGFn
ZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkgewogICAgICAgICBpZiAocGFnZS0+d2luZG93QW5kV2Vi
UGFnZUFyZUZvY3VzZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBwYWdlOworICAgICAgICAgICAg
cmV0dXJuIHBhZ2UuZ2V0KCk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQpAQCAtNjk1LDkgKzY4
OSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6cmVtb3ZlV2ViRnJhbWUodWludDY0X3QgZnJhbWVJRCkK
IAogV2ViUGFnZUdyb3VwUHJveHkqIFdlYlByb2Nlc3M6OndlYlBhZ2VHcm91cChQYWdlR3JvdXAq
IHBhZ2VHcm91cCkKIHsKLSAgICBmb3IgKEhhc2hNYXA8dWludDY0X3QsIFJlZlB0cjxXZWJQYWdl
R3JvdXBQcm94eT4+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fcGFnZUdyb3VwTWFwLmJlZ2luKCks
IGVuZCA9IG1fcGFnZUdyb3VwTWFwLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAg
aWYgKGl0LT52YWx1ZS0+Y29yZVBhZ2VHcm91cCgpID09IHBhZ2VHcm91cCkKLSAgICAgICAgICAg
IHJldHVybiBpdC0+dmFsdWUuZ2V0KCk7CisgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlR3Jv
dXBNYXAudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKHBhZ2UtPmNvcmVQYWdlR3JvdXAoKSA9PSBw
YWdlR3JvdXApCisgICAgICAgICAgICByZXR1cm4gcGFnZS5nZXQoKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gMDsKQEAgLTExNDMsOSArMTEzNyw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VGV4dENo
ZWNrZXJTdGF0ZShjb25zdCBUZXh0Q2hlY2tlclN0YXRlJiB0ZXh0Q2hlY2tlclN0YXRlKQogICAg
IGlmICghY29udGludW91c1NwZWxsQ2hlY2tpbmdUdXJuZWRPZmYgJiYgIWdyYW1tYXJDaGVja2lu
Z1R1cm5lZE9mZikKICAgICAgICAgcmV0dXJuOwogCi0gICAgSGFzaE1hcDx1aW50NjRfdCwgUmVm
UHRyPFdlYlBhZ2U+Pjo6aXRlcmF0b3IgZW5kID0gbV9wYWdlTWFwLmVuZCgpOwotICAgIGZvciAo
SGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2U+Pjo6aXRlcmF0b3IgaXQgPSBtX3BhZ2VN
YXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFdlYlBhZ2UqIHBhZ2UgPSAo
Kml0KS52YWx1ZS5nZXQoKTsKKyAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVz
KCkpIHsKICAgICAgICAgaWYgKGNvbnRpbnVvdXNTcGVsbENoZWNraW5nVHVybmVkT2ZmKQogICAg
ICAgICAgICAgcGFnZS0+dW5tYXJrQWxsTWlzc3BlbGxpbmdzKCk7CiAgICAgICAgIGlmIChncmFt
bWFyQ2hlY2tpbmdUdXJuZWRPZmYpCkBAIC0xMjE5LDggKzEyMTEsNyBAQCB2b2lkIFdlYlByb2Nl
c3M6OnVwZGF0ZUFjdGl2ZVBhZ2VzKCkKICNpZiBQTEFURk9STShJT1MpCiB2b2lkIFdlYlByb2Nl
c3M6OnJlc2V0QWxsR2VvbG9jYXRpb25QZXJtaXNzaW9ucygpCiB7Ci0gICAgZm9yIChhdXRvIGl0
ID0gbV9wYWdlTWFwLmJlZ2luKCksIGVuZCA9IG1fcGFnZU1hcC5lbmQoKTsgaXQgIT0gZW5kOyAr
K2l0KSB7Ci0gICAgICAgIFdlYlBhZ2UqIHBhZ2UgPSAoKml0KS52YWx1ZS5nZXQoKTsKKyAgICBm
b3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpIHsKICAgICAgICAgaWYgKEZyYW1l
KiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKSkKICAgICAgICAgICAgIG1haW5GcmFtZS0+
cmVzZXRBbGxHZW9sb2NhdGlvblBlcm1pc3Npb24oKTsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>