<?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>58514</bug_id>
          
          <creation_ts>2011-04-13 22:46:38 -0700</creation_ts>
          <short_desc>Creating a CairoPath instance is not thread safe</short_desc>
          <delta_ts>2011-04-15 15:58:59 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Cairo</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joone Hur">joone</reporter>
          <assigned_to name="Joone Hur">joone.hur</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joone.hur</cc>
    
    <cc>morrita</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>385532</commentid>
    <comment_count>0</comment_count>
    <who name="Joone Hur">joone</who>
    <bug_when>2011-04-13 22:46:38 -0700</bug_when>
    <thetext>Creating a CairoPath instance is not thread safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385581</commentid>
    <comment_count>1</comment_count>
      <attachid>89546</attachid>
    <who name="Joone Hur">joone.hur</who>
    <bug_when>2011-04-14 01:17:27 -0700</bug_when>
    <thetext>Created attachment 89546
Proposed Patch

I applied the following comment to this patch.
https://bugs.webkit.org/show_bug.cgi?id=57717#c23</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385768</commentid>
    <comment_count>2</comment_count>
      <attachid>89546</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-14 08:12:47 -0700</bug_when>
    <thetext>Comment on attachment 89546
Proposed Patch

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

Looks good. Please move the two new files to PlatformPathCairo.* before landing. Thanks!

&gt; Source/WebCore/CMakeListsEfl.txt:94
&gt; +    platform/graphics/cairo/PlatformCairoPath.cpp
&gt;      platform/graphics/cairo/PlatformContextCairo.cpp

Probably better to name it PlatformPathCairo to match PlatformContextCairo.

&gt; Source/WebCore/platform/graphics/cairo/PlatformCairoPath.h:22
&gt; +#ifndef PlatformCairoPath_h
&gt; +#define PlatformCairoPath_h

Don&apos;t forget to update these header guards when you move this to PlatformPathCairo.

&gt; Source/WebCore/platform/graphics/cairo/PlatformCairoPath.h:35
&gt; +    ~CairoPath()
&gt; +    {
&gt; +    }

You can place this on one line just like context().

&gt; Source/WebCore/platform/graphics/cairo/PlatformCairoPath.h:45
&gt; +#endif // CairoPath_h

Don&apos;t forget to update this header guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385840</commentid>
    <comment_count>3</comment_count>
      <attachid>89602</attachid>
    <who name="Joone Hur">joone.hur</who>
    <bug_when>2011-04-14 10:08:33 -0700</bug_when>
    <thetext>Created attachment 89602
Updated Patch

Thanks, Martin for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386376</commentid>
    <comment_count>4</comment_count>
      <attachid>89602</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-14 22:18:20 -0700</bug_when>
    <thetext>Comment on attachment 89602
Updated Patch

Clearing flags on attachment: 89602

Committed r83945: &lt;http://trac.webkit.org/changeset/83945&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386377</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-14 22:18:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386999</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2011-04-15 15:58:59 -0700</bug_when>
    <thetext>Correction for WinCairo build:

Please watch out for new files that are not added to the Visual Studio projects!

Committed r84044: &lt;http://trac.webkit.org/changeset/84044&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89546</attachid>
            <date>2011-04-14 01:17:27 -0700</date>
            <delta_ts>2011-04-14 10:08:33 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>thread-safety.patch</filename>
            <type>text/plain</type>
            <size>9567</size>
            <attacher name="Joone Hur">joone.hur</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggYjMxYmFiYy4uYjYwMGRmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0c0VmbC50eHQKQEAgLTkwLDYgKzkwLDcgQEAgSUYgKFdURl9QTEFURk9STV9DQUlS
TykKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Pd25QdHJDYWlyby5jcHAKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vUGF0dGVybkNhaXJvLmNwcAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRm
b3JtQ2Fpcm9QYXRoLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ29u
dGV4dENhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1JlZlB0ckNhaXJvLmNw
cAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9uTWF0cml4Q2Fpcm8u
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZWVjZjVlOS4uMTMyOGIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDExLTA0LTEzICBKb29uZSBIdXIgIDxqb29uZS5odXJAY29sbGFib3JhLmNvLnVr
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0
aW5nIGEgQ2Fpcm9QYXRoIGluc3RhbmNlIGlzIG5vdCB0aHJlYWQgc2FmZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg1MTQKKworICAgICAgICBUaGlz
IHBhdGNoIGFsbG93cyBhIGNhaXJvIHN1cmZhY2UgdG8gYmUgY3JlYXRlZCBqdXN0IG9uZSB0aW1l
IGluIG9yZGVyIHRvIAorICAgICAgICBndWFyYW50ZWUgdGhyZWFkIHNhZmV0eS4KKyAgICAgICAg
SW4gYWRkaXRpb24sIENhaXJvUGF0aC57aCxjcHB9IGlzIHJlbmFtZWQgdG8gUGxhdGZvcm1DYWly
b1BhdGgue2gsY3BwfSB0byAKKyAgICAgICAgcHJldmVudCBjb25mdXNpbmcgdGhlbSB3aXRoIFBh
dGhDYWlyby5jcHAKKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OiBBZGRlZCBQbGF0Zm9y
bUNhaXJvUGF0aC5jcHAKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBBZGRlZCBQbGF0
Zm9ybUNhaXJvUGF0aC57aCxjcHB9IGluc3RlYWQgb2YgQ2Fpcm9QYXRoLmguCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmg6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3BwOiBJbmNsdWRlIFBsYXRm
b3JtQ2Fpcm9QYXRoLmggaW5zdGVhZCBvZiBDYWlyb1BhdGguaC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHA6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ2Fpcm9QYXRoLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpnZXRQYXRoU3VyZmFjZSk6IEdldHRpbmcgYSBzdGF0aWMgY2Fp
cm8gc3VyZmFjZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvUGF0aDo6Q2Fpcm9QYXRoKTogTW92
ZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBjb25zdHJ1Y3RvciAKKyAgICAgICAgaW50byB0
aGUgQ1BQIGZpbGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1D
YWlyb1BhdGguaDogUmVuYW1lZCBDYWlyb1BhdGguaCB0byB0aGlzLgorICAgICAgICAoV2ViQ29y
ZTo6Q2Fpcm9QYXRoOjp+Q2Fpcm9QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvUGF0aDo6
Y29udGV4dCk6CisKIDIwMTEtMDQtMTMgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IGMyMTkxNjAuLjZhZTg2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMzY4MSw3ICszNjgxLDggQEAgd2ViY29yZWd0a19zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvZ3RrL0V2ZW50SGFuZGxlckd0ay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Z3RrL0ZyYW1lR3RrLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vQ2Fpcm9QYXRoLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L1BsYXRmb3JtQ2Fpcm9QYXRoLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL1BsYXRmb3JtQ2Fpcm9QYXRoLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0aWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Db250ZXh0U2hhZG93Q2Fpcm8uY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvUGF0aC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhN2FmZmIuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw1MCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFs
cC50b2tlckBjb2xsYWJvcmEuY28udWs+Ci0gICAgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBT
LkwuCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWlu
dCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0qLwotCi0jaWZuZGVmIENhaXJvUGF0aF9oCi0jZGVmaW5lIENhaXJvUGF0aF9oCi0KLSNpbmNs
dWRlIDxjYWlyby5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIFRoaXMgaXMgbmVjZXNz
YXJ5IHNpbmNlIGNhaXJvX3BhdGhfZml4ZWRfdCBpc24ndCBleHBvc2VkIGluIENhaXJvJ3MgcHVi
bGljIEFQSS4KLWNsYXNzIENhaXJvUGF0aCB7Ci1wdWJsaWM6Ci0gICAgQ2Fpcm9QYXRoKCkKLSAg
ICB7Ci0gICAgICAgIHN0YXRpYyBjYWlyb19zdXJmYWNlX3QqIHBhdGhTdXJmYWNlID0gY2Fpcm9f
aW1hZ2Vfc3VyZmFjZV9jcmVhdGUoQ0FJUk9fRk9STUFUX0E4LCAxLCAxKTsKLSAgICAgICAgbV9j
ciA9IGNhaXJvX2NyZWF0ZShwYXRoU3VyZmFjZSk7Ci0gICAgfQotCi0gICAgfkNhaXJvUGF0aCgp
Ci0gICAgewotICAgICAgICBjYWlyb19kZXN0cm95KG1fY3IpOwotICAgIH0KLQotICAgIGNhaXJv
X3QqIGNvbnRleHQoKSB7IHJldHVybiBtX2NyOyB9Ci0KLXByaXZhdGU6Ci0gICAgY2Fpcm9fdCog
bV9jcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENhaXJvUGF0
aF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9D
YWlyb1V0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9DYWlyb1V0aWxpdGllcy5jcHAKaW5kZXggZWUxNTlhMS4uNDc4ZTI4MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0
aWVzLmNwcApAQCAtMjcsMTMgKzI3LDEzIEBACiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIK
IAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgotI2luY2x1ZGUgIkNhaXJvUGF0aC5oIgog
I2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZs
b2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJPd25QdHJDYWlyby5o
IgogI2luY2x1ZGUgIlBhdGguaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNhaXJvUGF0aC5oIgogI2lu
Y2x1ZGUgIlJlZlB0ckNhaXJvLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRl
eHRDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFw
aGljc0NvbnRleHRDYWlyby5jcHAKaW5kZXggZTM5NWNjYi4uMTUxYmFkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fp
cm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2lmIFBMQVRGT1JNKENBSVJP
KQogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCi0jaW5jbHVkZSAiQ2Fpcm9QYXRoLmgi
CiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJDb250ZXh0U2hhZG93Lmgi
CiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCkBAIC00Nyw2ICs0Niw3IEBACiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiUGF0dGVy
bi5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2Fpcm9QYXRoLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1D
b250ZXh0Q2Fpcm8uaCIKICNpbmNsdWRlICJSZWZQdHJDYWlyby5oIgogI2luY2x1ZGUgIlNpbXBs
ZUZvbnREYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9QYXRoQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vUGF0aENhaXJvLmNwcAppbmRleCA1MzNkZjEwLi44NDkyMzU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHAKQEAg
LTI3LDEwICsyNywxMCBAQAogI2luY2x1ZGUgIlBhdGguaCIKIAogI2luY2x1ZGUgIkFmZmluZVRy
YW5zZm9ybS5oIgotI2luY2x1ZGUgIkNhaXJvUGF0aC5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5o
IgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIk93blB0ckNhaXJvLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1DYWlyb1BhdGguaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogI2luY2x1ZGUgIlN0cm9rZVN0eWxlQXBwbGllci5oIgogI2luY2x1ZGUgPGNhaXJvLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0
Zm9ybUNhaXJvUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9QbGF0Zm9ybUNhaXJvUGF0aC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMTdmNmM1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL1BsYXRmb3JtQ2Fpcm9QYXRoLmNwcApAQCAtMCwwICsxLDM5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIENvbGxhYm9yYSBMdGQuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJQbGF0Zm9ybUNhaXJvUGF0aC5oIgorCisjaW5jbHVkZSA8Y2Fpcm8uaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY2Fpcm9fc3VyZmFjZV90KiBnZXRQYXRoU3Vy
ZmFjZSgpIAoreworICAgIHJldHVybiBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZShDQUlST19G
T1JNQVRfQTgsIDEsIDEpOworfQorCitzdGF0aWMgY2Fpcm9fc3VyZmFjZV90KiBnUGF0aFN1cmZh
Y2UgPSBnZXRQYXRoU3VyZmFjZSgpOyAKKworQ2Fpcm9QYXRoOjpDYWlyb1BhdGgoKQorICAgIDog
bV9jcihhZG9wdFJlZihjYWlyb19jcmVhdGUoZ1BhdGhTdXJmYWNlKSkpCit7Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3Jt
Q2Fpcm9QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0
Zm9ybUNhaXJvUGF0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhYTA5
Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9QbGF0Zm9ybUNhaXJvUGF0aC5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiAgQ29weXJp
Z2h0IChDKSAyMDA3IEFscCBUb2tlciA8YWxwLnRva2VyQGNvbGxhYm9yYS5jby51az4KKyAqICBD
b3B5cmlnaHQgKEMpIDIwMTAgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUNhaXJvUGF0aF9o
CisjZGVmaW5lIFBsYXRmb3JtQ2Fpcm9QYXRoX2gKKworI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVGhpcyBpcyBuZWNlc3Nhcnkgc2luY2UgY2Fp
cm9fcGF0aF9maXhlZF90IGlzbid0IGV4cG9zZWQgaW4gQ2Fpcm8ncyBwdWJsaWMgQVBJLgorY2xh
c3MgQ2Fpcm9QYXRoIHsKK3B1YmxpYzoKKyAgICBDYWlyb1BhdGgoKTsKKworICAgIH5DYWlyb1Bh
dGgoKQorICAgIHsKKyAgICB9CisKKyAgICBjYWlyb190KiBjb250ZXh0KCkgeyByZXR1cm4gbV9j
ci5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFJlZlB0cjxjYWlyb190PiBtX2NyOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2Fpcm9QYXRoX2gK
</data>
<flag name="review"
          id="82240"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89602</attachid>
            <date>2011-04-14 10:08:33 -0700</date>
            <delta_ts>2011-04-14 22:18:20 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>thread-safety.patch</filename>
            <type>text/plain</type>
            <size>9948</size>
            <attacher name="Joone Hur">joone.hur</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggYjMxYmFiYy4uMTAwNmFjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0c0VmbC50eHQKQEAgLTkxLDYgKzkxLDcgQEAgSUYgKFdURl9QTEFURk9STV9DQUlS
TykKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vUGF0dGVybkNhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJvLmNwcAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL1BsYXRmb3JtUGF0aENhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1Jl
ZlB0ckNhaXJvLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9u
TWF0cml4Q2Fpcm8uY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZmRjY2Y3Li5lMzhmMDA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDQtMTQgIEpvb25lIEh1ciAgPGpvb25lLmh1ckBj
b2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgor
CisgICAgICAgIENyZWF0aW5nIGEgQ2Fpcm9QYXRoIGluc3RhbmNlIGlzIG5vdCB0aHJlYWQgc2Fm
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg1MTQK
KworICAgICAgICBUaGlzIHBhdGNoIGFsbG93cyBhIGNhaXJvIHN1cmZhY2UgdG8gYmUgY3JlYXRl
ZCBqdXN0IG9uZSB0aW1lIGluIG9yZGVyIHRvIAorICAgICAgICBndWFyYW50ZWUgdGhyZWFkIHNh
ZmV0eS4KKyAgICAgICAgSW4gYWRkaXRpb24sIENhaXJvUGF0aC57aCxjcHB9IGlzIHJlbmFtZWQg
dG8gUGxhdGZvcm1QYXRoQ2Fpcm8ue2gsY3BwfSB0byAKKyAgICAgICAgcHJldmVudCBjb25mdXNp
bmcgdGhlbSB3aXRoIFBhdGhDYWlyby5jcHAKKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0
OiBBZGRlZCBQbGF0Zm9ybVBhdGhDYWlyby5jcHAKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOiBBZGRlZCBQbGF0Zm9ybVBhdGhDYWlyby57aCxjcHB9IGluc3RlYWQgb2YgQ2Fpcm9QYXRo
LmguCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmg6IFJlbW92
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3Bw
OiBJbmNsdWRlIFBsYXRmb3JtUGF0aENhaXJvLmggaW5zdGVhZCBvZiBDYWlyb1BhdGguaC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHA6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtUGF0aENh
aXJvLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRQYXRoU3VyZmFjZSk6IEdldHRp
bmcgYSBzdGF0aWMgY2Fpcm8gc3VyZmFjZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvUGF0aDo6
Q2Fpcm9QYXRoKTogTW92ZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBjb25zdHJ1Y3RvciAK
KyAgICAgICAgaW50byB0aGUgQ1BQIGZpbGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vUGxhdGZvcm1QYXRoQ2Fpcm8uaDogUmVuYW1lZCBDYWlyb1BhdGguaCB0byB0aGlzLgor
ICAgICAgICAoV2ViQ29yZTo6Q2Fpcm9QYXRoOjp+Q2Fpcm9QYXRoKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhaXJvUGF0aDo6Y29udGV4dCk6CisKIDIwMTEtMDQtMTQgIFNhdGlzaCBTYW1wYXRoICA8
c2F0aXNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGJjNmM3NTIuLjQyODhmNGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzY4Myw3ICszNjgzLDYgQEAgd2ViY29yZWd0
a19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0
ay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0V2ZW50SGFuZGxlckd0ay5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0ZyYW1lR3RrLmNwcCBcCi0JU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0aWVzLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ29udGV4dFNoYWRvd0NhaXJvLmNwcCBcCkBA
IC0zNzAyLDYgKzM3MDEsOCBAQCB3ZWJjb3JlZ3RrX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdHRlcm5DYWlyby5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtQ29udGV4dENhaXJvLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZvcm1Db250ZXh0
Q2Fpcm8uaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGxhdGZv
cm1QYXRoQ2Fpcm8uaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
UGxhdGZvcm1QYXRoQ2Fpcm8uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9SZWZQdHJDYWlyby5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL1JlZlB0ckNhaXJvLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9uTWF0cml4Q2Fpcm8uY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvUGF0aC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGRhN2FmZmIuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
MCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscC50b2tl
ckBjb2xsYWJvcmEuY28udWs+Ci0gICAgQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuCi0K
LSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAg
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWludCB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwot
Ci0jaWZuZGVmIENhaXJvUGF0aF9oCi0jZGVmaW5lIENhaXJvUGF0aF9oCi0KLSNpbmNsdWRlIDxj
YWlyby5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIFRoaXMgaXMgbmVjZXNzYXJ5IHNp
bmNlIGNhaXJvX3BhdGhfZml4ZWRfdCBpc24ndCBleHBvc2VkIGluIENhaXJvJ3MgcHVibGljIEFQ
SS4KLWNsYXNzIENhaXJvUGF0aCB7Ci1wdWJsaWM6Ci0gICAgQ2Fpcm9QYXRoKCkKLSAgICB7Ci0g
ICAgICAgIHN0YXRpYyBjYWlyb19zdXJmYWNlX3QqIHBhdGhTdXJmYWNlID0gY2Fpcm9faW1hZ2Vf
c3VyZmFjZV9jcmVhdGUoQ0FJUk9fRk9STUFUX0E4LCAxLCAxKTsKLSAgICAgICAgbV9jciA9IGNh
aXJvX2NyZWF0ZShwYXRoU3VyZmFjZSk7Ci0gICAgfQotCi0gICAgfkNhaXJvUGF0aCgpCi0gICAg
ewotICAgICAgICBjYWlyb19kZXN0cm95KG1fY3IpOwotICAgIH0KLQotICAgIGNhaXJvX3QqIGNv
bnRleHQoKSB7IHJldHVybiBtX2NyOyB9Ci0KLXByaXZhdGU6Ci0gICAgY2Fpcm9fdCogbV9jcjsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENhaXJvUGF0aF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWly
b1V0aWxpdGllcy5jcHAKaW5kZXggZWUxNTlhMS4uNzU4YmNlOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0aWVzLmNw
cApAQCAtMjcsMTMgKzI3LDEzIEBACiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKIAogI2lu
Y2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgotI2luY2x1ZGUgIkNhaXJvUGF0aC5oIgogI2luY2x1
ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZsb2F0UmVj
dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJPd25QdHJDYWlyby5oIgogI2lu
Y2x1ZGUgIlBhdGguaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVBhdGhDYWlyby5oIgogI2luY2x1ZGUg
IlJlZlB0ckNhaXJvLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWly
by5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0Nv
bnRleHRDYWlyby5jcHAKaW5kZXggZTM5NWNjYi4uZDZkZDM3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dENhaXJvLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2lmIFBMQVRGT1JNKENBSVJPKQogCiAj
aW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCi0jaW5jbHVkZSAiQ2Fpcm9QYXRoLmgiCiAjaW5j
bHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAjaW5j
bHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCkBAIC00OCw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiUGF0
aC5oIgogI2luY2x1ZGUgIlBhdHRlcm4uaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRDYWly
by5oIgorI2luY2x1ZGUgIlBsYXRmb3JtUGF0aENhaXJvLmgiCiAjaW5jbHVkZSAiUmVmUHRyQ2Fp
cm8uaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogI2luY2x1ZGUgPGNhaXJvLmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fp
cm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUGF0aENhaXJv
LmNwcAppbmRleCA1MzNkZjEwLi5kNjJjMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QYXRoQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BhdGhDYWlyby5jcHAKQEAgLTI3LDEwICsyNywxMCBA
QAogI2luY2x1ZGUgIlBhdGguaCIKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgotI2lu
Y2x1ZGUgIkNhaXJvUGF0aC5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIk93blB0ckNhaXJvLmgiCisjaW5jbHVkZSAiUGxh
dGZvcm1QYXRoQ2Fpcm8uaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
IlN0cm9rZVN0eWxlQXBwbGllci5oIgogI2luY2x1ZGUgPGNhaXJvLmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybVBhdGhDYWlyby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybVBhdGhD
YWlyby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E3ZDUxMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1Bs
YXRmb3JtUGF0aENhaXJvLmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIENvbGxhYm9yYSBMdGQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0
Zm9ybVBhdGhDYWlyby5oIgorCisjaW5jbHVkZSA8Y2Fpcm8uaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdGF0aWMgY2Fpcm9fc3VyZmFjZV90KiBnZXRQYXRoU3VyZmFjZSgpIAoreworICAg
IHJldHVybiBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZShDQUlST19GT1JNQVRfQTgsIDEsIDEp
OworfQorCitzdGF0aWMgY2Fpcm9fc3VyZmFjZV90KiBnUGF0aFN1cmZhY2UgPSBnZXRQYXRoU3Vy
ZmFjZSgpOyAKKworQ2Fpcm9QYXRoOjpDYWlyb1BhdGgoKQorICAgIDogbV9jcihhZG9wdFJlZihj
YWlyb19jcmVhdGUoZ1BhdGhTdXJmYWNlKSkpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1BsYXRmb3JtUGF0aENhaXJvLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybVBhdGhDYWlyby5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzOGI5NDIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9QbGF0Zm9ybVBh
dGhDYWlyby5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IEFs
cCBUb2tlciA8YWxwLnRva2VyQGNvbGxhYm9yYS5jby51az4KKyAqICBDb3B5cmlnaHQgKEMpIDIw
MTAgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybVBhdGhDYWlyb19oCisjZGVmaW5lIFBsYXRm
b3JtUGF0aENhaXJvX2gKKworI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworLy8gVGhpcyBpcyBuZWNlc3Nhcnkgc2luY2UgY2Fpcm9fcGF0aF9maXhlZF90
IGlzbid0IGV4cG9zZWQgaW4gQ2Fpcm8ncyBwdWJsaWMgQVBJLgorY2xhc3MgQ2Fpcm9QYXRoIHsK
K3B1YmxpYzoKKyAgICBDYWlyb1BhdGgoKTsKKworICAgIH5DYWlyb1BhdGgoKSB7fQorCisgICAg
Y2Fpcm9fdCogY29udGV4dCgpIHsgcmV0dXJuIG1fY3IuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAg
ICBSZWZQdHI8Y2Fpcm9fdD4gbV9jcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIFBsYXRmb3JtUGF0aENhaXJvX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>