<?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>139983</bug_id>
          
          <creation_ts>2014-12-28 22:40:54 -0800</creation_ts>
          <short_desc>Change to return a unique_ptr&lt;&gt; in fooCreate()</short_desc>
          <delta_ts>2015-01-01 17:13:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>139621</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1058074</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-12-28 22:40:54 -0800</bug_when>
    <thetext>As suggested in https://bugs.webkit.org/show_bug.cgi?id=139621#c8, fooCreate() needs to return std::unique_ptr&lt;&gt; in YarrPattern.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058182</commentid>
    <comment_count>1</comment_count>
      <attachid>243824</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-12-30 08:00:21 -0800</bug_when>
    <thetext>Created attachment 243824
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058224</commentid>
    <comment_count>2</comment_count>
      <attachid>243834</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-12-30 23:35:33 -0800</bug_when>
    <thetext>Created attachment 243834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058274</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-12-31 13:06:25 -0800</bug_when>
    <thetext>This seems to also remove the caching. Is that intentional? If so, why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058304</commentid>
    <comment_count>4</comment_count>
      <attachid>243834</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-12-31 20:44:55 -0800</bug_when>
    <thetext>Comment on attachment 243834
Patch

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

&gt; Source/JavaScriptCore/yarr/YarrPattern.h:-320
&gt; -        newlineCached = 0;
&gt; -        digitsCached = 0;
&gt; -        spacesCached = 0;
&gt; -        wordcharCached = 0;
&gt; -        nondigitsCached = 0;
&gt; -        nonspacesCached = 0;
&gt; -        nonwordcharCached = 0;

These should not be deleted.

&gt; Source/JavaScriptCore/yarr/YarrPattern.h:331
&gt; -        if (!newlineCached)
&gt; -            m_userCharacterClasses.append(std::unique_ptr&lt;CharacterClass&gt;(newlineCached = newlineCreate()));
&gt; -        return newlineCached;
&gt; +        m_userCharacterClasses.append(newlineCreate());
&gt; +        return m_userCharacterClasses.last().get();

This is wrong. It gets rid of the caching and creates a new character class every time this function is called. We still want the caching. The code should be:

    if (!newlineCached) {
        m_userCharacterClasses.append(newlineCreate());
        newlineCached = m_userCharacterClasses.last().get();
    }
    return newlineCached;

Same for the other functions below.

&gt; Source/JavaScriptCore/yarr/YarrPattern.h:-399
&gt; -    CharacterClass* newlineCached;
&gt; -    CharacterClass* digitsCached;
&gt; -    CharacterClass* spacesCached;
&gt; -    CharacterClass* wordcharCached;
&gt; -    CharacterClass* nondigitsCached;
&gt; -    CharacterClass* nonspacesCached;
&gt; -    CharacterClass* nonwordcharCached;

These must not be deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058320</commentid>
    <comment_count>5</comment_count>
      <attachid>243859</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-01 00:47:41 -0800</bug_when>
    <thetext>Created attachment 243859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058321</commentid>
    <comment_count>6</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-01 00:48:47 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 243834 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=243834&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/yarr/YarrPattern.h:-320
&gt; &gt; -        newlineCached = 0;
&gt; &gt; -        digitsCached = 0;
&gt; &gt; -        spacesCached = 0;
&gt; &gt; -        wordcharCached = 0;
&gt; &gt; -        nondigitsCached = 0;
&gt; &gt; -        nonspacesCached = 0;
&gt; &gt; -        nonwordcharCached = 0;
&gt; 
&gt; These should not be deleted.
&gt; 
&gt; &gt; Source/JavaScriptCore/yarr/YarrPattern.h:331
&gt; &gt; -        if (!newlineCached)
&gt; &gt; -            m_userCharacterClasses.append(std::unique_ptr&lt;CharacterClass&gt;(newlineCached = newlineCreate()));
&gt; &gt; -        return newlineCached;
&gt; &gt; +        m_userCharacterClasses.append(newlineCreate());
&gt; &gt; +        return m_userCharacterClasses.last().get();
&gt; 
&gt; This is wrong. It gets rid of the caching and creates a new character class
&gt; every time this function is called. We still want the caching. The code
&gt; should be:
&gt; 
&gt;     if (!newlineCached) {
&gt;         m_userCharacterClasses.append(newlineCreate());
&gt;         newlineCached = m_userCharacterClasses.last().get();
&gt;     }
&gt;     return newlineCached;
&gt; 
&gt; Same for the other functions below.
&gt; 
&gt; &gt; Source/JavaScriptCore/yarr/YarrPattern.h:-399
&gt; &gt; -    CharacterClass* newlineCached;
&gt; &gt; -    CharacterClass* digitsCached;
&gt; &gt; -    CharacterClass* spacesCached;
&gt; &gt; -    CharacterClass* wordcharCached;
&gt; &gt; -    CharacterClass* nondigitsCached;
&gt; &gt; -    CharacterClass* nonspacesCached;
&gt; &gt; -    CharacterClass* nonwordcharCached;
&gt; 
&gt; These must not be deleted.

I&apos;m sorry to miss the caching. Fixed all. Thanks a lot !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058331</commentid>
    <comment_count>7</comment_count>
      <attachid>243859</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-01-01 11:04:08 -0800</bug_when>
    <thetext>Comment on attachment 243859
Patch

Looks good. I’d still like to optimize the last().get() idiom here by adding a return value to Vector::append; it would also make all those if statement bodies be single lines. Did you file a bug about doing that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058367</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-01 16:31:59 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 243859 [details]
&gt; Patch
&gt; 
&gt; Looks good. I’d still like to optimize the last().get() idiom here by adding
&gt; a return value to Vector::append; it would also make all those if statement
&gt; bodies be single lines. Did you file a bug about doing that?

Not yet. I&apos;m going to file a bug for it. Let me CC you the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058369</commentid>
    <comment_count>9</comment_count>
      <attachid>243859</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-01 16:32:48 -0800</bug_when>
    <thetext>Comment on attachment 243859
Patch

efl-ews was false alarm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058378</commentid>
    <comment_count>10</comment_count>
      <attachid>243859</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-01 17:13:23 -0800</bug_when>
    <thetext>Comment on attachment 243859
Patch

Clearing flags on attachment: 243859

Committed r177854: &lt;http://trac.webkit.org/changeset/177854&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058379</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-01 17:13:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243824</attachid>
            <date>2014-12-30 08:00:21 -0800</date>
            <delta_ts>2014-12-30 23:35:27 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-139983-20141231010022.patch</filename>
            <type>text/plain</type>
            <size>8230</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZWQzYzQwMjkzZjJmZWNkYTllNmI3MjY5NTgyYTE1MDk1MWY4NThlLi40N2Y0NTNjZTg1MjhiOTli
OWQ4MzljOTI2MTI3NWVjMzM1NTg1NDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNC0xMi0zMCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIENoYW5nZSB0byByZXR1cm4gYSB1bmlxdWVfcHRyPD4gaW4gZm9v
Q3JlYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzOTk4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogY3JlYXRlX3JlZ2V4X3RhYmxlczoKKyAgICAgICAgKiB5YXJyL1lhcnJQYXR0ZXJuLmNwcDoK
KyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46OllhcnJQYXR0ZXJuKToKKyAgICAgICAg
KiB5YXJyL1lhcnJQYXR0ZXJuLmg6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpy
ZXNldCk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpuZXdsaW5lQ2hhcmFjdGVy
Q2xhc3MpOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyUGF0dGVybjo6ZGlnaXRzQ2hhcmFjdGVy
Q2xhc3MpOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyUGF0dGVybjo6c3BhY2VzQ2hhcmFjdGVy
Q2xhc3MpOgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyUGF0dGVybjo6d29yZGNoYXJDaGFyYWN0
ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpub25kaWdpdHNDaGFy
YWN0ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpub25zcGFjZXND
aGFyYWN0ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpub253b3Jk
Y2hhckNoYXJhY3RlckNsYXNzKToKKwogMjAxNC0xMi0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91
bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIE1vdmUgSmF2YVNjcmlwdENvcmUveWFyciB0
byBzdGQ6OnVuaXF1ZV9wdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9jcmVh
dGVfcmVnZXhfdGFibGVzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9yZWdleF90YWJs
ZXMKaW5kZXggNzU0NGI3NWNkOWMxZGY0M2M3N2IzZTU5Y2JjOWMzNGIxODE4ZGVhNC4uYzZmZDZl
YjdmM2UzNDg1YTNjODIzY2RiMDFjYjIyMTA4MzI0N2U3MyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2NyZWF0ZV9yZWdleF90YWJsZXMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2NyZWF0ZV9yZWdleF90YWJsZXMKQEAgLTg2LDE1ICs4NiwxNSBAQCBmb3IgbmFtZSwgY2xh
c3NlcyBpbiB0eXBlcy5pdGVtcygpOgogICAgIAogICAgICMgR2VuZXJhdGUgY3JlYXRlRnVuY3Rp
b246CiAgICAgZnVuY3Rpb24gPSAiIjsKLSAgICBmdW5jdGlvbiArPSAoIkNoYXJhY3RlckNsYXNz
KiAlc0NyZWF0ZSgpXG4iICUgbmFtZSkKKyAgICBmdW5jdGlvbiArPSAoInN0ZDo6dW5pcXVlX3B0
cjxDaGFyYWN0ZXJDbGFzcz4gJXNDcmVhdGUoKVxuIiAlIG5hbWUpCiAgICAgZnVuY3Rpb24gKz0g
KCJ7XG4iKQogICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNsYXNzZXNbIlVzZVRhYmxlIl06CiAgICAg
ICAgIGlmICJJbnZlcnNlIiBpbiBjbGFzc2VzOgotICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIg
ICAgQ2hhcmFjdGVyQ2xhc3MqIGNoYXJhY3RlckNsYXNzID0gbmV3IENoYXJhY3RlckNsYXNzKF8l
c0RhdGEsIHRydWUpO1xuIiAlIChjbGFzc2VzWyJJbnZlcnNlIl0pKQorICAgICAgICAgICAgZnVu
Y3Rpb24gKz0gKCIgICAgYXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hh
cmFjdGVyQ2xhc3M+KF8lc0RhdGEsIHRydWUpO1xuIiAlIChjbGFzc2VzWyJJbnZlcnNlIl0pKQog
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgQ2hhcmFjdGVyQ2xh
c3MqIGNoYXJhY3RlckNsYXNzID0gbmV3IENoYXJhY3RlckNsYXNzKF8lc0RhdGEsIGZhbHNlKTtc
biIgJSAobmFtZSkpCisgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3Rl
ckNsYXNzID0gc3RkOjptYWtlX3VuaXF1ZTxDaGFyYWN0ZXJDbGFzcz4oXyVzRGF0YSwgZmFsc2Up
O1xuIiAlIChuYW1lKSkKICAgICBlbHNlOgotICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBDaGFy
YWN0ZXJDbGFzcyogY2hhcmFjdGVyQ2xhc3MgPSBuZXcgQ2hhcmFjdGVyQ2xhc3M7XG4iKQorICAg
ICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3RlckNsYXNzID0gc3RkOjptYWtlX3Vu
aXF1ZTxDaGFyYWN0ZXJDbGFzcz4oKTtcbiIpCiAgICAgZm9yIChtaW4sIG1heCkgaW4gcmFuZ2Vz
OgogICAgICAgICBpZiAobWluID09IG1heCk6CiAgICAgICAgICAgICBpZiAobWluID4gMTI3KToK
QEAgLTEwNiw3ICsxMDYsNyBAQCBmb3IgbmFtZSwgY2xhc3NlcyBpbiB0eXBlcy5pdGVtcygpOgog
ICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1fcmFuZ2VzVW5p
Y29kZS5hcHBlbmQoQ2hhcmFjdGVyUmFuZ2UoMHglMDR4LCAweCUwNHgpKTtcbiIgJSAobWluLCBt
YXgpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFj
dGVyQ2xhc3MtPm1fcmFuZ2VzLmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwMngsIDB4JTAyeCkp
O1xuIiAlIChtaW4sIG1heCkpCi0gICAgZnVuY3Rpb24gKz0gKCIgICAgcmV0dXJuIGNoYXJhY3Rl
ckNsYXNzO1xuIikKKyAgICBmdW5jdGlvbiArPSAoIiAgICByZXR1cm4gV1RGOjptb3ZlKGNoYXJh
Y3RlckNsYXNzKTtcbiIpCiAgICAgZnVuY3Rpb24gKz0gKCJ9XG5cbiIpCiAgICAgZnVuY3Rpb25z
ICs9IGZ1bmN0aW9uCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lh
cnJQYXR0ZXJuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmNw
cAppbmRleCAzNGMzNzdhNTQ5M2NiOGJlYzgxMjI5Mjk5ZWNhNDI0YzkzNDMzNzc5Li45YzM1ODMx
OWVkZDc4NzIxNWU4ZTY5ZjIwNDI1MjBjMGEzNmUyZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVybi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvWWFyclBhdHRlcm4uY3BwCkBAIC04NjksMTMgKzg2OSw2IEBAIFlhcnJQYXR0ZXJu
OjpZYXJyUGF0dGVybihjb25zdCBTdHJpbmcmIHBhdHRlcm4sIGJvb2wgaWdub3JlQ2FzZSwgYm9v
bCBtdWx0aWxpbmUsCiAgICAgLCBtX2NvbnRhaW5zVW5zaWduZWRMZW5ndGhQYXR0ZXJuKGZhbHNl
KQogICAgICwgbV9udW1TdWJwYXR0ZXJucygwKQogICAgICwgbV9tYXhCYWNrUmVmZXJlbmNlKDAp
Ci0gICAgLCBuZXdsaW5lQ2FjaGVkKDApCi0gICAgLCBkaWdpdHNDYWNoZWQoMCkKLSAgICAsIHNw
YWNlc0NhY2hlZCgwKQotICAgICwgd29yZGNoYXJDYWNoZWQoMCkKLSAgICAsIG5vbmRpZ2l0c0Nh
Y2hlZCgwKQotICAgICwgbm9uc3BhY2VzQ2FjaGVkKDApCi0gICAgLCBub253b3JkY2hhckNhY2hl
ZCgwKQogewogICAgICplcnJvciA9IGNvbXBpbGUocGF0dGVybik7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVybi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaAppbmRleCA0OWIxYjAxNTg3Zjg2ZTU2Yjk1ZDA1NTA4
YmY0ODE2OWNmZmRjZWFjLi5kMzkyYTY5OTg0ZDkyZGFlMzM3YWRlZGU3NDM0NmYwYjY1NjMwNzA2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVybi5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKQEAgLTI4MiwxMyAr
MjgyLDEzIEBAIHB1YmxpYzoKIC8vIChwbGVhc2UgdG8gYmUgY2FsbGluZyBuZXdsaW5lQ2hhcmFj
dGVyQ2xhc3MoKSBldCBhbCBvbiB5b3VyCiAvLyBmcmllbmRseSBuZWlnaGJvcmhvb2QgWWFyclBh
dHRlcm4gaW5zdGFuY2UgdG8gZ2V0IG5pY2VseQogLy8gY2FjaGVkIGNvcGllcykuCi1DaGFyYWN0
ZXJDbGFzcyogbmV3bGluZUNyZWF0ZSgpOwotQ2hhcmFjdGVyQ2xhc3MqIGRpZ2l0c0NyZWF0ZSgp
OwotQ2hhcmFjdGVyQ2xhc3MqIHNwYWNlc0NyZWF0ZSgpOwotQ2hhcmFjdGVyQ2xhc3MqIHdvcmRj
aGFyQ3JlYXRlKCk7Ci1DaGFyYWN0ZXJDbGFzcyogbm9uZGlnaXRzQ3JlYXRlKCk7Ci1DaGFyYWN0
ZXJDbGFzcyogbm9uc3BhY2VzQ3JlYXRlKCk7Ci1DaGFyYWN0ZXJDbGFzcyogbm9ud29yZGNoYXJD
cmVhdGUoKTsKK3N0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gbmV3bGluZUNyZWF0ZSgp
Oworc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiBkaWdpdHNDcmVhdGUoKTsKK3N0ZDo6
dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gc3BhY2VzQ3JlYXRlKCk7CitzdGQ6OnVuaXF1ZV9w
dHI8Q2hhcmFjdGVyQ2xhc3M+IHdvcmRjaGFyQ3JlYXRlKCk7CitzdGQ6OnVuaXF1ZV9wdHI8Q2hh
cmFjdGVyQ2xhc3M+IG5vbmRpZ2l0c0NyZWF0ZSgpOworc3RkOjp1bmlxdWVfcHRyPENoYXJhY3Rl
ckNsYXNzPiBub25zcGFjZXNDcmVhdGUoKTsKK3N0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFz
cz4gbm9ud29yZGNoYXJDcmVhdGUoKTsKIAogc3RydWN0IFRlcm1DaGFpbiB7CiAgICAgVGVybUNo
YWluKFBhdHRlcm5UZXJtIHRlcm0pCkBAIC0zMTEsMTQgKzMxMSw2IEBAIHN0cnVjdCBZYXJyUGF0
dGVybiB7CiAgICAgICAgIG1fY29udGFpbnNCT0wgPSBmYWxzZTsKICAgICAgICAgbV9jb250YWlu
c1Vuc2lnbmVkTGVuZ3RoUGF0dGVybiA9IGZhbHNlOwogCi0gICAgICAgIG5ld2xpbmVDYWNoZWQg
PSAwOwotICAgICAgICBkaWdpdHNDYWNoZWQgPSAwOwotICAgICAgICBzcGFjZXNDYWNoZWQgPSAw
OwotICAgICAgICB3b3JkY2hhckNhY2hlZCA9IDA7Ci0gICAgICAgIG5vbmRpZ2l0c0NhY2hlZCA9
IDA7Ci0gICAgICAgIG5vbnNwYWNlc0NhY2hlZCA9IDA7Ci0gICAgICAgIG5vbndvcmRjaGFyQ2Fj
aGVkID0gMDsKLQogICAgICAgICBtX2Rpc2p1bmN0aW9ucy5jbGVhcigpOwogICAgICAgICBtX3Vz
ZXJDaGFyYWN0ZXJDbGFzc2VzLmNsZWFyKCk7CiAgICAgfQpAQCAtMzM1LDQ1ICszMjcsMzggQEAg
c3RydWN0IFlhcnJQYXR0ZXJuIHsKIAogICAgIENoYXJhY3RlckNsYXNzKiBuZXdsaW5lQ2hhcmFj
dGVyQ2xhc3MoKQogICAgIHsKLSAgICAgICAgaWYgKCFuZXdsaW5lQ2FjaGVkKQotICAgICAgICAg
ICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3Rl
ckNsYXNzPihuZXdsaW5lQ2FjaGVkID0gbmV3bGluZUNyZWF0ZSgpKSk7Ci0gICAgICAgIHJldHVy
biBuZXdsaW5lQ2FjaGVkOworICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChu
ZXdsaW5lQ3JlYXRlKCkpOworICAgICAgICByZXR1cm4gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5s
YXN0KCkuZ2V0KCk7CiAgICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBkaWdpdHNDaGFyYWN0ZXJD
bGFzcygpCiAgICAgewotICAgICAgICBpZiAoIWRpZ2l0c0NhY2hlZCkKLSAgICAgICAgICAgIG1f
dXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFz
cz4oZGlnaXRzQ2FjaGVkID0gZGlnaXRzQ3JlYXRlKCkpKTsKLSAgICAgICAgcmV0dXJuIGRpZ2l0
c0NhY2hlZDsKKyAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoZGlnaXRzQ3Jl
YXRlKCkpOworICAgICAgICByZXR1cm4gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCkuZ2V0
KCk7CiAgICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBzcGFjZXNDaGFyYWN0ZXJDbGFzcygpCiAg
ICAgewotICAgICAgICBpZiAoIXNwYWNlc0NhY2hlZCkKLSAgICAgICAgICAgIG1fdXNlckNoYXJh
Y3RlckNsYXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4oc3BhY2Vz
Q2FjaGVkID0gc3BhY2VzQ3JlYXRlKCkpKTsKLSAgICAgICAgcmV0dXJuIHNwYWNlc0NhY2hlZDsK
KyAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoc3BhY2VzQ3JlYXRlKCkpOwor
ICAgICAgICByZXR1cm4gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCkuZ2V0KCk7CiAgICAg
fQogICAgIENoYXJhY3RlckNsYXNzKiB3b3JkY2hhckNoYXJhY3RlckNsYXNzKCkKICAgICB7Ci0g
ICAgICAgIGlmICghd29yZGNoYXJDYWNoZWQpCi0gICAgICAgICAgICBtX3VzZXJDaGFyYWN0ZXJD
bGFzc2VzLmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+KHdvcmRjaGFyQ2Fj
aGVkID0gd29yZGNoYXJDcmVhdGUoKSkpOwotICAgICAgICByZXR1cm4gd29yZGNoYXJDYWNoZWQ7
CisgICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKHdvcmRjaGFyQ3JlYXRlKCkp
OworICAgICAgICByZXR1cm4gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCkuZ2V0KCk7CiAg
ICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBub25kaWdpdHNDaGFyYWN0ZXJDbGFzcygpCiAgICAg
ewotICAgICAgICBpZiAoIW5vbmRpZ2l0c0NhY2hlZCkKLSAgICAgICAgICAgIG1fdXNlckNoYXJh
Y3RlckNsYXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4obm9uZGln
aXRzQ2FjaGVkID0gbm9uZGlnaXRzQ3JlYXRlKCkpKTsKLSAgICAgICAgcmV0dXJuIG5vbmRpZ2l0
c0NhY2hlZDsKKyAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQobm9uZGlnaXRz
Q3JlYXRlKCkpOworICAgICAgICByZXR1cm4gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCku
Z2V0KCk7CiAgICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBub25zcGFjZXNDaGFyYWN0ZXJDbGFz
cygpCiAgICAgewotICAgICAgICBpZiAoIW5vbnNwYWNlc0NhY2hlZCkKLSAgICAgICAgICAgIG1f
dXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFz
cz4obm9uc3BhY2VzQ2FjaGVkID0gbm9uc3BhY2VzQ3JlYXRlKCkpKTsKLSAgICAgICAgcmV0dXJu
IG5vbnNwYWNlc0NhY2hlZDsKKyAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQo
bm9uc3BhY2VzQ3JlYXRlKCkpOworICAgICAgICByZXR1cm4gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nl
cy5sYXN0KCkuZ2V0KCk7CiAgICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBub253b3JkY2hhckNo
YXJhY3RlckNsYXNzKCkKICAgICB7Ci0gICAgICAgIGlmICghbm9ud29yZGNoYXJDYWNoZWQpCi0g
ICAgICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8
Q2hhcmFjdGVyQ2xhc3M+KG5vbndvcmRjaGFyQ2FjaGVkID0gbm9ud29yZGNoYXJDcmVhdGUoKSkp
OwotICAgICAgICByZXR1cm4gbm9ud29yZGNoYXJDYWNoZWQ7CisgICAgICAgIG1fdXNlckNoYXJh
Y3RlckNsYXNzZXMuYXBwZW5kKG5vbndvcmRjaGFyQ3JlYXRlKCkpOworICAgICAgICByZXR1cm4g
bV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCkuZ2V0KCk7CiAgICAgfQogCiAgICAgYm9vbCBt
X2lnbm9yZUNhc2UgOiAxOwpAQCAtMzg5LDE0ICszNzQsNiBAQCBzdHJ1Y3QgWWFyclBhdHRlcm4g
ewogCiBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGNvbXBpbGUoY29uc3QgU3RyaW5nJiBwYXR0
ZXJuU3RyaW5nKTsKLQotICAgIENoYXJhY3RlckNsYXNzKiBuZXdsaW5lQ2FjaGVkOwotICAgIENo
YXJhY3RlckNsYXNzKiBkaWdpdHNDYWNoZWQ7Ci0gICAgQ2hhcmFjdGVyQ2xhc3MqIHNwYWNlc0Nh
Y2hlZDsKLSAgICBDaGFyYWN0ZXJDbGFzcyogd29yZGNoYXJDYWNoZWQ7Ci0gICAgQ2hhcmFjdGVy
Q2xhc3MqIG5vbmRpZ2l0c0NhY2hlZDsKLSAgICBDaGFyYWN0ZXJDbGFzcyogbm9uc3BhY2VzQ2Fj
aGVkOwotICAgIENoYXJhY3RlckNsYXNzKiBub253b3JkY2hhckNhY2hlZDsKIH07CiAKIH0gfSAv
LyBuYW1lc3BhY2UgSlNDOjpZYXJyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243834</attachid>
            <date>2014-12-30 23:35:33 -0800</date>
            <delta_ts>2015-01-01 00:47:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139983-20141231163535.patch</filename>
            <type>text/plain</type>
            <size>8340</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZWQzYzQwMjkzZjJmZWNkYTllNmI3MjY5NTgyYTE1MDk1MWY4NThlLi43NjVlZGRkM2Y1NWRlYzY2
NjIxNjU0ZWM3YTk5MmViNGVhZTY4OWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNC0xMi0zMCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIENoYW5nZSB0byByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPD4gaW4g
Zm9vQ3JlYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTk4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRvIGF2b2lkIHVubmVjZXNzYXJ5IHN0ZDo6dW5pcXVlX3B0cjw+IGNhc3RpbmcsIGZvb0Ny
ZWF0ZSgpIHJldHVybnMgc3RkOjp1bmlxdWVfcHRyPD4gZGlyZWN0bHkuCisKKyAgICAgICAgKiBj
cmVhdGVfcmVnZXhfdGFibGVzOgorICAgICAgICAqIHlhcnIvWWFyclBhdHRlcm4uY3BwOgorICAg
ICAgICAoSlNDOjpZYXJyOjpZYXJyUGF0dGVybjo6WWFyclBhdHRlcm4pOgorICAgICAgICAqIHlh
cnIvWWFyclBhdHRlcm4uaDoKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46OnJlc2V0
KToKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46Om5ld2xpbmVDaGFyYWN0ZXJDbGFz
cyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpkaWdpdHNDaGFyYWN0ZXJDbGFz
cyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjpzcGFjZXNDaGFyYWN0ZXJDbGFz
cyk6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJQYXR0ZXJuOjp3b3JkY2hhckNoYXJhY3RlckNs
YXNzKToKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46Om5vbmRpZ2l0c0NoYXJhY3Rl
ckNsYXNzKToKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46Om5vbnNwYWNlc0NoYXJh
Y3RlckNsYXNzKToKKyAgICAgICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46Om5vbndvcmRjaGFy
Q2hhcmFjdGVyQ2xhc3MpOgorCiAyMDE0LTEyLTI5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5r
aW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgTW92ZSBKYXZhU2NyaXB0Q29yZS95YXJyIHRvIHN0
ZDo6dW5pcXVlX3B0cgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9y
ZWdleF90YWJsZXMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcwpp
bmRleCA3NTQ0Yjc1Y2Q5YzFkZjQzYzc3YjNlNTljYmM5YzM0YjE4MThkZWE0Li5jNmZkNmViN2Yz
ZTM0ODVhM2M4MjNjZGIwMWNiMjIxMDgzMjQ3ZTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Y3JlYXRlX3JlZ2V4X3RhYmxlcwpAQCAtODYsMTUgKzg2LDE1IEBAIGZvciBuYW1lLCBjbGFzc2Vz
IGluIHR5cGVzLml0ZW1zKCk6CiAgICAgCiAgICAgIyBHZW5lcmF0ZSBjcmVhdGVGdW5jdGlvbjoK
ICAgICBmdW5jdGlvbiA9ICIiOwotICAgIGZ1bmN0aW9uICs9ICgiQ2hhcmFjdGVyQ2xhc3MqICVz
Q3JlYXRlKClcbiIgJSBuYW1lKQorICAgIGZ1bmN0aW9uICs9ICgic3RkOjp1bmlxdWVfcHRyPENo
YXJhY3RlckNsYXNzPiAlc0NyZWF0ZSgpXG4iICUgbmFtZSkKICAgICBmdW5jdGlvbiArPSAoIntc
biIpCiAgICAgaWYgZW1pdFRhYmxlcyBhbmQgY2xhc3Nlc1siVXNlVGFibGUiXToKICAgICAgICAg
aWYgIkludmVyc2UiIGluIGNsYXNzZXM6Ci0gICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBD
aGFyYWN0ZXJDbGFzcyogY2hhcmFjdGVyQ2xhc3MgPSBuZXcgQ2hhcmFjdGVyQ2xhc3MoXyVzRGF0
YSwgdHJ1ZSk7XG4iICUgKGNsYXNzZXNbIkludmVyc2UiXSkpCisgICAgICAgICAgICBmdW5jdGlv
biArPSAoIiAgICBhdXRvIGNoYXJhY3RlckNsYXNzID0gc3RkOjptYWtlX3VuaXF1ZTxDaGFyYWN0
ZXJDbGFzcz4oXyVzRGF0YSwgdHJ1ZSk7XG4iICUgKGNsYXNzZXNbIkludmVyc2UiXSkpCiAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBDaGFyYWN0ZXJDbGFzcyog
Y2hhcmFjdGVyQ2xhc3MgPSBuZXcgQ2hhcmFjdGVyQ2xhc3MoXyVzRGF0YSwgZmFsc2UpO1xuIiAl
IChuYW1lKSkKKyAgICAgICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIGF1dG8gY2hhcmFjdGVyQ2xh
c3MgPSBzdGQ6Om1ha2VfdW5pcXVlPENoYXJhY3RlckNsYXNzPihfJXNEYXRhLCBmYWxzZSk7XG4i
ICUgKG5hbWUpKQogICAgIGVsc2U6Ci0gICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIENoYXJhY3Rl
ckNsYXNzKiBjaGFyYWN0ZXJDbGFzcyA9IG5ldyBDaGFyYWN0ZXJDbGFzcztcbiIpCisgICAgICAg
IGZ1bmN0aW9uICs9ICgiICAgIGF1dG8gY2hhcmFjdGVyQ2xhc3MgPSBzdGQ6Om1ha2VfdW5pcXVl
PENoYXJhY3RlckNsYXNzPigpO1xuIikKICAgICBmb3IgKG1pbiwgbWF4KSBpbiByYW5nZXM6CiAg
ICAgICAgIGlmIChtaW4gPT0gbWF4KToKICAgICAgICAgICAgIGlmIChtaW4gPiAxMjcpOgpAQCAt
MTA2LDcgKzEwNiw3IEBAIGZvciBuYW1lLCBjbGFzc2VzIGluIHR5cGVzLml0ZW1zKCk6CiAgICAg
ICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9yYW5nZXNVbmljb2Rl
LmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwNHgsIDB4JTA0eCkpO1xuIiAlIChtaW4sIG1heCkp
CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJD
bGFzcy0+bV9yYW5nZXMuYXBwZW5kKENoYXJhY3RlclJhbmdlKDB4JTAyeCwgMHglMDJ4KSk7XG4i
ICUgKG1pbiwgbWF4KSkKLSAgICBmdW5jdGlvbiArPSAoIiAgICByZXR1cm4gY2hhcmFjdGVyQ2xh
c3M7XG4iKQorICAgIGZ1bmN0aW9uICs9ICgiICAgIHJldHVybiBXVEY6Om1vdmUoY2hhcmFjdGVy
Q2xhc3MpO1xuIikKICAgICBmdW5jdGlvbiArPSAoIn1cblxuIikKICAgICBmdW5jdGlvbnMgKz0g
ZnVuY3Rpb24KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBh
dHRlcm4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uY3BwCmlu
ZGV4IDM0YzM3N2E1NDkzY2I4YmVjODEyMjkyOTllY2E0MjRjOTM0MzM3NzkuLjljMzU4MzE5ZWRk
Nzg3MjE1ZThlNjlmMjA0MjUyMGMwYTM2ZTJkMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
eWFyci9ZYXJyUGF0dGVybi5jcHAKQEAgLTg2OSwxMyArODY5LDYgQEAgWWFyclBhdHRlcm46Ollh
cnJQYXR0ZXJuKGNvbnN0IFN0cmluZyYgcGF0dGVybiwgYm9vbCBpZ25vcmVDYXNlLCBib29sIG11
bHRpbGluZSwKICAgICAsIG1fY29udGFpbnNVbnNpZ25lZExlbmd0aFBhdHRlcm4oZmFsc2UpCiAg
ICAgLCBtX251bVN1YnBhdHRlcm5zKDApCiAgICAgLCBtX21heEJhY2tSZWZlcmVuY2UoMCkKLSAg
ICAsIG5ld2xpbmVDYWNoZWQoMCkKLSAgICAsIGRpZ2l0c0NhY2hlZCgwKQotICAgICwgc3BhY2Vz
Q2FjaGVkKDApCi0gICAgLCB3b3JkY2hhckNhY2hlZCgwKQotICAgICwgbm9uZGlnaXRzQ2FjaGVk
KDApCi0gICAgLCBub25zcGFjZXNDYWNoZWQoMCkKLSAgICAsIG5vbndvcmRjaGFyQ2FjaGVkKDAp
CiB7CiAgICAgKmVycm9yID0gY29tcGlsZShwYXR0ZXJuKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUveWFyci9ZYXJyUGF0dGVybi5oCmluZGV4IDQ5YjFiMDE1ODdmODZlNTZiOTVkMDU1MDhiZjQ4
MTY5Y2ZmZGNlYWMuLmQzOTJhNjk5ODRkOTJkYWUzMzdhZGVkZTc0MzQ2ZjBiNjU2MzA3MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaApAQCAtMjgyLDEzICsyODIs
MTMgQEAgcHVibGljOgogLy8gKHBsZWFzZSB0byBiZSBjYWxsaW5nIG5ld2xpbmVDaGFyYWN0ZXJD
bGFzcygpIGV0IGFsIG9uIHlvdXIKIC8vIGZyaWVuZGx5IG5laWdoYm9yaG9vZCBZYXJyUGF0dGVy
biBpbnN0YW5jZSB0byBnZXQgbmljZWx5CiAvLyBjYWNoZWQgY29waWVzKS4KLUNoYXJhY3RlckNs
YXNzKiBuZXdsaW5lQ3JlYXRlKCk7Ci1DaGFyYWN0ZXJDbGFzcyogZGlnaXRzQ3JlYXRlKCk7Ci1D
aGFyYWN0ZXJDbGFzcyogc3BhY2VzQ3JlYXRlKCk7Ci1DaGFyYWN0ZXJDbGFzcyogd29yZGNoYXJD
cmVhdGUoKTsKLUNoYXJhY3RlckNsYXNzKiBub25kaWdpdHNDcmVhdGUoKTsKLUNoYXJhY3RlckNs
YXNzKiBub25zcGFjZXNDcmVhdGUoKTsKLUNoYXJhY3RlckNsYXNzKiBub253b3JkY2hhckNyZWF0
ZSgpOworc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiBuZXdsaW5lQ3JlYXRlKCk7Citz
dGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+IGRpZ2l0c0NyZWF0ZSgpOworc3RkOjp1bmlx
dWVfcHRyPENoYXJhY3RlckNsYXNzPiBzcGFjZXNDcmVhdGUoKTsKK3N0ZDo6dW5pcXVlX3B0cjxD
aGFyYWN0ZXJDbGFzcz4gd29yZGNoYXJDcmVhdGUoKTsKK3N0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0
ZXJDbGFzcz4gbm9uZGlnaXRzQ3JlYXRlKCk7CitzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xh
c3M+IG5vbnNwYWNlc0NyZWF0ZSgpOworc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiBu
b253b3JkY2hhckNyZWF0ZSgpOwogCiBzdHJ1Y3QgVGVybUNoYWluIHsKICAgICBUZXJtQ2hhaW4o
UGF0dGVyblRlcm0gdGVybSkKQEAgLTMxMSwxNCArMzExLDYgQEAgc3RydWN0IFlhcnJQYXR0ZXJu
IHsKICAgICAgICAgbV9jb250YWluc0JPTCA9IGZhbHNlOwogICAgICAgICBtX2NvbnRhaW5zVW5z
aWduZWRMZW5ndGhQYXR0ZXJuID0gZmFsc2U7CiAKLSAgICAgICAgbmV3bGluZUNhY2hlZCA9IDA7
Ci0gICAgICAgIGRpZ2l0c0NhY2hlZCA9IDA7Ci0gICAgICAgIHNwYWNlc0NhY2hlZCA9IDA7Ci0g
ICAgICAgIHdvcmRjaGFyQ2FjaGVkID0gMDsKLSAgICAgICAgbm9uZGlnaXRzQ2FjaGVkID0gMDsK
LSAgICAgICAgbm9uc3BhY2VzQ2FjaGVkID0gMDsKLSAgICAgICAgbm9ud29yZGNoYXJDYWNoZWQg
PSAwOwotCiAgICAgICAgIG1fZGlzanVuY3Rpb25zLmNsZWFyKCk7CiAgICAgICAgIG1fdXNlckNo
YXJhY3RlckNsYXNzZXMuY2xlYXIoKTsKICAgICB9CkBAIC0zMzUsNDUgKzMyNywzOCBAQCBzdHJ1
Y3QgWWFyclBhdHRlcm4gewogCiAgICAgQ2hhcmFjdGVyQ2xhc3MqIG5ld2xpbmVDaGFyYWN0ZXJD
bGFzcygpCiAgICAgewotICAgICAgICBpZiAoIW5ld2xpbmVDYWNoZWQpCi0gICAgICAgICAgICBt
X3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xh
c3M+KG5ld2xpbmVDYWNoZWQgPSBuZXdsaW5lQ3JlYXRlKCkpKTsKLSAgICAgICAgcmV0dXJuIG5l
d2xpbmVDYWNoZWQ7CisgICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKG5ld2xp
bmVDcmVhdGUoKSk7CisgICAgICAgIHJldHVybiBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3Qo
KS5nZXQoKTsKICAgICB9CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIGRpZ2l0c0NoYXJhY3RlckNsYXNz
KCkKICAgICB7Ci0gICAgICAgIGlmICghZGlnaXRzQ2FjaGVkKQotICAgICAgICAgICAgbV91c2Vy
Q2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihk
aWdpdHNDYWNoZWQgPSBkaWdpdHNDcmVhdGUoKSkpOwotICAgICAgICByZXR1cm4gZGlnaXRzQ2Fj
aGVkOworICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChkaWdpdHNDcmVhdGUo
KSk7CisgICAgICAgIHJldHVybiBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3QoKS5nZXQoKTsK
ICAgICB9CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIHNwYWNlc0NoYXJhY3RlckNsYXNzKCkKICAgICB7
Ci0gICAgICAgIGlmICghc3BhY2VzQ2FjaGVkKQotICAgICAgICAgICAgbV91c2VyQ2hhcmFjdGVy
Q2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihzcGFjZXNDYWNo
ZWQgPSBzcGFjZXNDcmVhdGUoKSkpOwotICAgICAgICByZXR1cm4gc3BhY2VzQ2FjaGVkOworICAg
ICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChzcGFjZXNDcmVhdGUoKSk7CisgICAg
ICAgIHJldHVybiBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3QoKS5nZXQoKTsKICAgICB9CiAg
ICAgQ2hhcmFjdGVyQ2xhc3MqIHdvcmRjaGFyQ2hhcmFjdGVyQ2xhc3MoKQogICAgIHsKLSAgICAg
ICAgaWYgKCF3b3JkY2hhckNhY2hlZCkKLSAgICAgICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNz
ZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4od29yZGNoYXJDYWNoZWQg
PSB3b3JkY2hhckNyZWF0ZSgpKSk7Ci0gICAgICAgIHJldHVybiB3b3JkY2hhckNhY2hlZDsKKyAg
ICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQod29yZGNoYXJDcmVhdGUoKSk7Cisg
ICAgICAgIHJldHVybiBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3QoKS5nZXQoKTsKICAgICB9
CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIG5vbmRpZ2l0c0NoYXJhY3RlckNsYXNzKCkKICAgICB7Ci0g
ICAgICAgIGlmICghbm9uZGlnaXRzQ2FjaGVkKQotICAgICAgICAgICAgbV91c2VyQ2hhcmFjdGVy
Q2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihub25kaWdpdHND
YWNoZWQgPSBub25kaWdpdHNDcmVhdGUoKSkpOwotICAgICAgICByZXR1cm4gbm9uZGlnaXRzQ2Fj
aGVkOworICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChub25kaWdpdHNDcmVh
dGUoKSk7CisgICAgICAgIHJldHVybiBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3QoKS5nZXQo
KTsKICAgICB9CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIG5vbnNwYWNlc0NoYXJhY3RlckNsYXNzKCkK
ICAgICB7Ci0gICAgICAgIGlmICghbm9uc3BhY2VzQ2FjaGVkKQotICAgICAgICAgICAgbV91c2Vy
Q2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihu
b25zcGFjZXNDYWNoZWQgPSBub25zcGFjZXNDcmVhdGUoKSkpOwotICAgICAgICByZXR1cm4gbm9u
c3BhY2VzQ2FjaGVkOworICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChub25z
cGFjZXNDcmVhdGUoKSk7CisgICAgICAgIHJldHVybiBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxh
c3QoKS5nZXQoKTsKICAgICB9CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIG5vbndvcmRjaGFyQ2hhcmFj
dGVyQ2xhc3MoKQogICAgIHsKLSAgICAgICAgaWYgKCFub253b3JkY2hhckNhY2hlZCkKLSAgICAg
ICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFy
YWN0ZXJDbGFzcz4obm9ud29yZGNoYXJDYWNoZWQgPSBub253b3JkY2hhckNyZWF0ZSgpKSk7Ci0g
ICAgICAgIHJldHVybiBub253b3JkY2hhckNhY2hlZDsKKyAgICAgICAgbV91c2VyQ2hhcmFjdGVy
Q2xhc3Nlcy5hcHBlbmQobm9ud29yZGNoYXJDcmVhdGUoKSk7CisgICAgICAgIHJldHVybiBtX3Vz
ZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3QoKS5nZXQoKTsKICAgICB9CiAKICAgICBib29sIG1faWdu
b3JlQ2FzZSA6IDE7CkBAIC0zODksMTQgKzM3NCw2IEBAIHN0cnVjdCBZYXJyUGF0dGVybiB7CiAK
IHByaXZhdGU6CiAgICAgY29uc3QgY2hhciogY29tcGlsZShjb25zdCBTdHJpbmcmIHBhdHRlcm5T
dHJpbmcpOwotCi0gICAgQ2hhcmFjdGVyQ2xhc3MqIG5ld2xpbmVDYWNoZWQ7Ci0gICAgQ2hhcmFj
dGVyQ2xhc3MqIGRpZ2l0c0NhY2hlZDsKLSAgICBDaGFyYWN0ZXJDbGFzcyogc3BhY2VzQ2FjaGVk
OwotICAgIENoYXJhY3RlckNsYXNzKiB3b3JkY2hhckNhY2hlZDsKLSAgICBDaGFyYWN0ZXJDbGFz
cyogbm9uZGlnaXRzQ2FjaGVkOwotICAgIENoYXJhY3RlckNsYXNzKiBub25zcGFjZXNDYWNoZWQ7
Ci0gICAgQ2hhcmFjdGVyQ2xhc3MqIG5vbndvcmRjaGFyQ2FjaGVkOwogfTsKIAogfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OllhcnIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243859</attachid>
            <date>2015-01-01 00:47:41 -0800</date>
            <delta_ts>2015-01-01 17:13:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139983-20150101174743.patch</filename>
            <type>text/plain</type>
            <size>7130</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZWQzYzQwMjkzZjJmZWNkYTllNmI3MjY5NTgyYTE1MDk1MWY4NThlLi5hNGQ3MTYzNTNjYmVjNmYy
NjI1NTA5NTkwYjg5MTdmYzIyZjViODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNC0xMi0zMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIENoYW5nZSB0byByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPD4gaW4g
Zm9vQ3JlYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzOTk4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRvIGF2b2lkIHVubmVjZXNzYXJ5IHN0ZDo6dW5pcXVlX3B0cjw+IGNhc3RpbmcsIGZvb0Ny
ZWF0ZSgpIHJldHVybnMgc3RkOjp1bmlxdWVfcHRyPD4gZGlyZWN0bHkuCisKKyAgICAgICAgKiBj
cmVhdGVfcmVnZXhfdGFibGVzOgorICAgICAgICAqIHlhcnIvWWFyclBhdHRlcm4uaDoKKyAgICAg
ICAgKEpTQzo6WWFycjo6WWFyclBhdHRlcm46OnJlc2V0KToKKyAgICAgICAgKEpTQzo6WWFycjo6
WWFyclBhdHRlcm46Om5ld2xpbmVDaGFyYWN0ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6
OllhcnJQYXR0ZXJuOjpkaWdpdHNDaGFyYWN0ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6
OllhcnJQYXR0ZXJuOjpzcGFjZXNDaGFyYWN0ZXJDbGFzcyk6CisgICAgICAgIChKU0M6OllhcnI6
OllhcnJQYXR0ZXJuOjp3b3JkY2hhckNoYXJhY3RlckNsYXNzKToKKyAgICAgICAgKEpTQzo6WWFy
cjo6WWFyclBhdHRlcm46Om5vbmRpZ2l0c0NoYXJhY3RlckNsYXNzKToKKyAgICAgICAgKEpTQzo6
WWFycjo6WWFyclBhdHRlcm46Om5vbnNwYWNlc0NoYXJhY3RlckNsYXNzKToKKyAgICAgICAgKEpT
Qzo6WWFycjo6WWFyclBhdHRlcm46Om5vbndvcmRjaGFyQ2hhcmFjdGVyQ2xhc3MpOgorCiAyMDE0
LTEyLTI5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgTW92ZSBKYXZhU2NyaXB0Q29yZS95YXJyIHRvIHN0ZDo6dW5pcXVlX3B0cgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9yZWdleF90YWJsZXMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcwppbmRleCA3NTQ0Yjc1Y2Q5YzFkZjQzYzc3
YjNlNTljYmM5YzM0YjE4MThkZWE0Li5jNmZkNmViN2YzZTM0ODVhM2M4MjNjZGIwMWNiMjIxMDgz
MjQ3ZTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3Rh
YmxlcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcwpAQCAt
ODYsMTUgKzg2LDE1IEBAIGZvciBuYW1lLCBjbGFzc2VzIGluIHR5cGVzLml0ZW1zKCk6CiAgICAg
CiAgICAgIyBHZW5lcmF0ZSBjcmVhdGVGdW5jdGlvbjoKICAgICBmdW5jdGlvbiA9ICIiOwotICAg
IGZ1bmN0aW9uICs9ICgiQ2hhcmFjdGVyQ2xhc3MqICVzQ3JlYXRlKClcbiIgJSBuYW1lKQorICAg
IGZ1bmN0aW9uICs9ICgic3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPiAlc0NyZWF0ZSgp
XG4iICUgbmFtZSkKICAgICBmdW5jdGlvbiArPSAoIntcbiIpCiAgICAgaWYgZW1pdFRhYmxlcyBh
bmQgY2xhc3Nlc1siVXNlVGFibGUiXToKICAgICAgICAgaWYgIkludmVyc2UiIGluIGNsYXNzZXM6
Ci0gICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBDaGFyYWN0ZXJDbGFzcyogY2hhcmFjdGVy
Q2xhc3MgPSBuZXcgQ2hhcmFjdGVyQ2xhc3MoXyVzRGF0YSwgdHJ1ZSk7XG4iICUgKGNsYXNzZXNb
IkludmVyc2UiXSkpCisgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3Rl
ckNsYXNzID0gc3RkOjptYWtlX3VuaXF1ZTxDaGFyYWN0ZXJDbGFzcz4oXyVzRGF0YSwgdHJ1ZSk7
XG4iICUgKGNsYXNzZXNbIkludmVyc2UiXSkpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBm
dW5jdGlvbiArPSAoIiAgICBDaGFyYWN0ZXJDbGFzcyogY2hhcmFjdGVyQ2xhc3MgPSBuZXcgQ2hh
cmFjdGVyQ2xhc3MoXyVzRGF0YSwgZmFsc2UpO1xuIiAlIChuYW1lKSkKKyAgICAgICAgICAgIGZ1
bmN0aW9uICs9ICgiICAgIGF1dG8gY2hhcmFjdGVyQ2xhc3MgPSBzdGQ6Om1ha2VfdW5pcXVlPENo
YXJhY3RlckNsYXNzPihfJXNEYXRhLCBmYWxzZSk7XG4iICUgKG5hbWUpKQogICAgIGVsc2U6Ci0g
ICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIENoYXJhY3RlckNsYXNzKiBjaGFyYWN0ZXJDbGFzcyA9
IG5ldyBDaGFyYWN0ZXJDbGFzcztcbiIpCisgICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIGF1dG8g
Y2hhcmFjdGVyQ2xhc3MgPSBzdGQ6Om1ha2VfdW5pcXVlPENoYXJhY3RlckNsYXNzPigpO1xuIikK
ICAgICBmb3IgKG1pbiwgbWF4KSBpbiByYW5nZXM6CiAgICAgICAgIGlmIChtaW4gPT0gbWF4KToK
ICAgICAgICAgICAgIGlmIChtaW4gPiAxMjcpOgpAQCAtMTA2LDcgKzEwNiw3IEBAIGZvciBuYW1l
LCBjbGFzc2VzIGluIHR5cGVzLml0ZW1zKCk6CiAgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAg
ICBjaGFyYWN0ZXJDbGFzcy0+bV9yYW5nZXNVbmljb2RlLmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgw
eCUwNHgsIDB4JTA0eCkpO1xuIiAlIChtaW4sIG1heCkpCiAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9yYW5nZXMuYXBwZW5kKENo
YXJhY3RlclJhbmdlKDB4JTAyeCwgMHglMDJ4KSk7XG4iICUgKG1pbiwgbWF4KSkKLSAgICBmdW5j
dGlvbiArPSAoIiAgICByZXR1cm4gY2hhcmFjdGVyQ2xhc3M7XG4iKQorICAgIGZ1bmN0aW9uICs9
ICgiICAgIHJldHVybiBXVEY6Om1vdmUoY2hhcmFjdGVyQ2xhc3MpO1xuIikKICAgICBmdW5jdGlv
biArPSAoIn1cblxuIikKICAgICBmdW5jdGlvbnMgKz0gZnVuY3Rpb24KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKaW5kZXggNDliMWIwMTU4N2Y4NmU1NmI5NWQwNTUw
OGJmNDgxNjljZmZkY2VhYy4uNTQ4MmRlNWFmODI5M2U0ZGM0MjUxNDRjODU0YTA4NzlkOTk4NzFj
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVybi5oCkBAIC0yODIsMTMg
KzI4MiwxMyBAQCBwdWJsaWM6CiAvLyAocGxlYXNlIHRvIGJlIGNhbGxpbmcgbmV3bGluZUNoYXJh
Y3RlckNsYXNzKCkgZXQgYWwgb24geW91cgogLy8gZnJpZW5kbHkgbmVpZ2hib3Job29kIFlhcnJQ
YXR0ZXJuIGluc3RhbmNlIHRvIGdldCBuaWNlbHkKIC8vIGNhY2hlZCBjb3BpZXMpLgotQ2hhcmFj
dGVyQ2xhc3MqIG5ld2xpbmVDcmVhdGUoKTsKLUNoYXJhY3RlckNsYXNzKiBkaWdpdHNDcmVhdGUo
KTsKLUNoYXJhY3RlckNsYXNzKiBzcGFjZXNDcmVhdGUoKTsKLUNoYXJhY3RlckNsYXNzKiB3b3Jk
Y2hhckNyZWF0ZSgpOwotQ2hhcmFjdGVyQ2xhc3MqIG5vbmRpZ2l0c0NyZWF0ZSgpOwotQ2hhcmFj
dGVyQ2xhc3MqIG5vbnNwYWNlc0NyZWF0ZSgpOwotQ2hhcmFjdGVyQ2xhc3MqIG5vbndvcmRjaGFy
Q3JlYXRlKCk7CitzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+IG5ld2xpbmVDcmVhdGUo
KTsKK3N0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gZGlnaXRzQ3JlYXRlKCk7CitzdGQ6
OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+IHNwYWNlc0NyZWF0ZSgpOworc3RkOjp1bmlxdWVf
cHRyPENoYXJhY3RlckNsYXNzPiB3b3JkY2hhckNyZWF0ZSgpOworc3RkOjp1bmlxdWVfcHRyPENo
YXJhY3RlckNsYXNzPiBub25kaWdpdHNDcmVhdGUoKTsKK3N0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0
ZXJDbGFzcz4gbm9uc3BhY2VzQ3JlYXRlKCk7CitzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xh
c3M+IG5vbndvcmRjaGFyQ3JlYXRlKCk7CiAKIHN0cnVjdCBUZXJtQ2hhaW4gewogICAgIFRlcm1D
aGFpbihQYXR0ZXJuVGVybSB0ZXJtKQpAQCAtMzM1LDQ0ICszMzUsNTggQEAgc3RydWN0IFlhcnJQ
YXR0ZXJuIHsKIAogICAgIENoYXJhY3RlckNsYXNzKiBuZXdsaW5lQ2hhcmFjdGVyQ2xhc3MoKQog
ICAgIHsKLSAgICAgICAgaWYgKCFuZXdsaW5lQ2FjaGVkKQotICAgICAgICAgICAgbV91c2VyQ2hh
cmFjdGVyQ2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihuZXds
aW5lQ2FjaGVkID0gbmV3bGluZUNyZWF0ZSgpKSk7CisgICAgICAgIGlmICghbmV3bGluZUNhY2hl
ZCkgeworICAgICAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQobmV3bGluZUNy
ZWF0ZSgpKTsKKyAgICAgICAgICAgIG5ld2xpbmVDYWNoZWQgPSBtX3VzZXJDaGFyYWN0ZXJDbGFz
c2VzLmxhc3QoKS5nZXQoKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gbmV3bGluZUNhY2hl
ZDsKICAgICB9CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIGRpZ2l0c0NoYXJhY3RlckNsYXNzKCkKICAg
ICB7Ci0gICAgICAgIGlmICghZGlnaXRzQ2FjaGVkKQotICAgICAgICAgICAgbV91c2VyQ2hhcmFj
dGVyQ2xhc3Nlcy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihkaWdpdHND
YWNoZWQgPSBkaWdpdHNDcmVhdGUoKSkpOworICAgICAgICBpZiAoIWRpZ2l0c0NhY2hlZCkgewor
ICAgICAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoZGlnaXRzQ3JlYXRlKCkp
OworICAgICAgICAgICAgZGlnaXRzQ2FjaGVkID0gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0
KCkuZ2V0KCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGRpZ2l0c0NhY2hlZDsKICAgICB9
CiAgICAgQ2hhcmFjdGVyQ2xhc3MqIHNwYWNlc0NoYXJhY3RlckNsYXNzKCkKICAgICB7Ci0gICAg
ICAgIGlmICghc3BhY2VzQ2FjaGVkKQotICAgICAgICAgICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nl
cy5hcHBlbmQoc3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNsYXNzPihzcGFjZXNDYWNoZWQgPSBz
cGFjZXNDcmVhdGUoKSkpOworICAgICAgICBpZiAoIXNwYWNlc0NhY2hlZCkgeworICAgICAgICAg
ICAgbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5hcHBlbmQoc3BhY2VzQ3JlYXRlKCkpOworICAgICAg
ICAgICAgc3BhY2VzQ2FjaGVkID0gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCkuZ2V0KCk7
CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHNwYWNlc0NhY2hlZDsKICAgICB9CiAgICAgQ2hh
cmFjdGVyQ2xhc3MqIHdvcmRjaGFyQ2hhcmFjdGVyQ2xhc3MoKQogICAgIHsKLSAgICAgICAgaWYg
KCF3b3JkY2hhckNhY2hlZCkKLSAgICAgICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBw
ZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4od29yZGNoYXJDYWNoZWQgPSB3b3Jk
Y2hhckNyZWF0ZSgpKSk7CisgICAgICAgIGlmICghd29yZGNoYXJDYWNoZWQpIHsKKyAgICAgICAg
ICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKHdvcmRjaGFyQ3JlYXRlKCkpOworICAg
ICAgICAgICAgd29yZGNoYXJDYWNoZWQgPSBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmxhc3QoKS5n
ZXQoKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gd29yZGNoYXJDYWNoZWQ7CiAgICAgfQog
ICAgIENoYXJhY3RlckNsYXNzKiBub25kaWdpdHNDaGFyYWN0ZXJDbGFzcygpCiAgICAgewotICAg
ICAgICBpZiAoIW5vbmRpZ2l0c0NhY2hlZCkKLSAgICAgICAgICAgIG1fdXNlckNoYXJhY3RlckNs
YXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4obm9uZGlnaXRzQ2Fj
aGVkID0gbm9uZGlnaXRzQ3JlYXRlKCkpKTsKKyAgICAgICAgaWYgKCFub25kaWdpdHNDYWNoZWQp
IHsKKyAgICAgICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKG5vbmRpZ2l0c0Ny
ZWF0ZSgpKTsKKyAgICAgICAgICAgIG5vbmRpZ2l0c0NhY2hlZCA9IG1fdXNlckNoYXJhY3RlckNs
YXNzZXMubGFzdCgpLmdldCgpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiBub25kaWdpdHND
YWNoZWQ7CiAgICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBub25zcGFjZXNDaGFyYWN0ZXJDbGFz
cygpCiAgICAgewotICAgICAgICBpZiAoIW5vbnNwYWNlc0NhY2hlZCkKLSAgICAgICAgICAgIG1f
dXNlckNoYXJhY3RlckNsYXNzZXMuYXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFz
cz4obm9uc3BhY2VzQ2FjaGVkID0gbm9uc3BhY2VzQ3JlYXRlKCkpKTsKKyAgICAgICAgaWYgKCFu
b25zcGFjZXNDYWNoZWQpIHsKKyAgICAgICAgICAgIG1fdXNlckNoYXJhY3RlckNsYXNzZXMuYXBw
ZW5kKG5vbnNwYWNlc0NyZWF0ZSgpKTsKKyAgICAgICAgICAgIG5vbnNwYWNlc0NhY2hlZCA9IG1f
dXNlckNoYXJhY3RlckNsYXNzZXMubGFzdCgpLmdldCgpOworICAgICAgICB9CiAgICAgICAgIHJl
dHVybiBub25zcGFjZXNDYWNoZWQ7CiAgICAgfQogICAgIENoYXJhY3RlckNsYXNzKiBub253b3Jk
Y2hhckNoYXJhY3RlckNsYXNzKCkKICAgICB7Ci0gICAgICAgIGlmICghbm9ud29yZGNoYXJDYWNo
ZWQpCi0gICAgICAgICAgICBtX3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChzdGQ6OnVuaXF1
ZV9wdHI8Q2hhcmFjdGVyQ2xhc3M+KG5vbndvcmRjaGFyQ2FjaGVkID0gbm9ud29yZGNoYXJDcmVh
dGUoKSkpOworICAgICAgICBpZiAoIW5vbndvcmRjaGFyQ2FjaGVkKSB7CisgICAgICAgICAgICBt
X3VzZXJDaGFyYWN0ZXJDbGFzc2VzLmFwcGVuZChub253b3JkY2hhckNyZWF0ZSgpKTsKKyAgICAg
ICAgICAgIG5vbndvcmRjaGFyQ2FjaGVkID0gbV91c2VyQ2hhcmFjdGVyQ2xhc3Nlcy5sYXN0KCku
Z2V0KCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG5vbndvcmRjaGFyQ2FjaGVkOwogICAg
IH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>