<?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>110841</bug_id>
          
          <creation_ts>2013-02-25 20:56:46 -0800</creation_ts>
          <short_desc>Add WebStreamRegistry for managing Streams</short_desc>
          <delta_ts>2013-04-08 10:27:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          
          <blocked>110194</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zachary Kuznia">zork</reporter>
          <assigned_to name="Zachary Kuznia">zork</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>kinuko</cc>
    
    <cc>michaeln</cc>
    
    <cc>rniwa</cc>
    
    <cc>syoichi</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841589</commentid>
    <comment_count>0</comment_count>
    <who name="Zachary Kuznia">zork</who>
    <bug_when>2013-02-25 20:56:46 -0800</bug_when>
    <thetext>Add API to WebBlobRegistry for managing Streams</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841590</commentid>
    <comment_count>1</comment_count>
      <attachid>190195</attachid>
    <who name="Zachary Kuznia">zork</who>
    <bug_when>2013-02-25 20:57:05 -0800</bug_when>
    <thetext>Created attachment 190195
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841591</commentid>
    <comment_count>2</comment_count>
    <who name="Zachary Kuznia">zork</who>
    <bug_when>2013-02-25 20:58:43 -0800</bug_when>
    <thetext>This is to allow support of the Stream API.  The complete version is at:
https://bugs.webkit.org/show_bug.cgi?id=110194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841799</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-26 01:59:21 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841995</commentid>
    <comment_count>4</comment_count>
      <attachid>190195</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2013-02-26 07:55:57 -0800</bug_when>
    <thetext>Comment on attachment 190195
Patch

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

&gt; Source/Platform/chromium/public/WebBlobRegistry.h:56
&gt; +    // Registers a stream URL referring to the specified stream data.

I&apos;m a little confused by these changes.  Can you say more about why we need to differentiate streams and blobs at this layer?  (Given that this interface is the WebBlobRegistry, it seems a bit awkward to add stream concepts.)

Maybe what is going on here is that you need the ability to define a Blob that does not have WebBlobData yet?  And, then you need to be able to asynchronously supply that data in chunks, as it arrives from XMLHttpRequest?  Have you looked into ways of avoiding the round-trip through the renderer to support responseType=&quot;stream&quot;?  Maybe we could inform the content/browser/loader/ system to accumulate the data for us, so we don&apos;t have to echo it back to the browser process?

nit: What stream data is the comment referring to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842055</commentid>
    <comment_count>5</comment_count>
    <who name="Zachary Kuznia">zork</who>
    <bug_when>2013-02-26 09:02:04 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 190195 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190195&amp;action=review
&gt; 
&gt; &gt; Source/Platform/chromium/public/WebBlobRegistry.h:56
&gt; &gt; +    // Registers a stream URL referring to the specified stream data.
&gt; 
&gt; I&apos;m a little confused by these changes.  Can you say more about why we need to differentiate streams and blobs at this layer?  (Given that this interface is the WebBlobRegistry, it seems a bit awkward to add stream concepts.)
&gt;

I can move these functions to a WebStreamRegistry instead, if that would make more sense.  I put it here because of the conceptual relation to blobs, as you mention.  The differentiation between a blob and a stream at this point is to indicate that it should allow access before the data is finalized.
 
&gt; Maybe what is going on here is that you need the ability to define a Blob that does not have WebBlobData yet?  And, then you need to be able to asynchronously supply that data in chunks, as it arrives from XMLHttpRequest?  Have you looked into ways of avoiding the round-trip through the renderer to support responseType=&quot;stream&quot;?  Maybe we could inform the content/browser/loader/ system to accumulate the data for us, so we don&apos;t have to echo it back to the browser process?

As you say, the idea is pretty much to register a &quot;blob:&quot; URL for a stream, and then chunk data to it.  It&apos;s currently setup to match the BlobRegistry (or StreamRegistry) implementation I have.  As to skipping the round trip with XHR, I&apos;d like to make the initial implementation of this layer require minimal refactoring so that I can get tests in place, and then optimize.

&gt; 
&gt; nit: What stream data is the comment referring to?

I&apos;ll fix that comment.  I originally sent the first chunk of data with the creation message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842633</commentid>
    <comment_count>6</comment_count>
      <attachid>190426</attachid>
    <who name="Zachary Kuznia">zork</who>
    <bug_when>2013-02-26 20:05:25 -0800</bug_when>
    <thetext>Created attachment 190426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842685</commentid>
    <comment_count>7</comment_count>
      <attachid>190426</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-26 21:58:37 -0800</bug_when>
    <thetext>Comment on attachment 190426
Patch

Attachment 190426 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16774588

New failing tests:
svg/as-image/img-preserveAspectRatio-support-2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843612</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2013-02-27 16:44:59 -0800</bug_when>
    <thetext>&gt; Maybe what is going on here is that you need the ability to define
&gt; a Blob that does not have WebBlobData yet?

At the level of the interface between renderer and browser, we basically do have that ability, it&apos;s just not exposed to webcore in the WebBlobRegistry interface. Blobs currently come into existence fully formed and so that all the interface lets you do. There&apos;s pretty good reason to have blobs be incrementally built up (not just in the context of Streams).

Would it help to extend the WebBlobRegistry api to more closely match the IPC messages (which do allow incremental building: StartBuilding, AddStuff, FinishBuilding). I think that could live in parallel with the existing &apos;fully formed&apos; registry interface.



Also, heads up... I&apos;ve got some refactoring in the works in this area that I&apos;m part way thru landing. These changes scrap using URLs as identifiers for WebCore::Blob instances, and instead coins GUID string identifiers which map to the underlying blob data (such that many Blob instances can refer to the same data). Switching around what the identifier identifies has made this challenging to land so I&apos;ve been breaking off small parts and whittling down on it.

WK - https://codereview.chromium.org/11192017/
CR - https://codereview.chromium.org/11410019/

The next chunks for me to land are sitting in here and here.
https://bugs.webkit.org/show_bug.cgi?id=108851
https://codereview.chromium.org/12330162/

The meta bug I&apos;m using to track these changes is here.
https://code.google.com/p/chromium/issues/detail?id=174200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843864</commentid>
    <comment_count>9</comment_count>
    <who name="Zachary Kuznia">zork</who>
    <bug_when>2013-02-28 01:28:07 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; Maybe what is going on here is that you need the ability to define
&gt; &gt; a Blob that does not have WebBlobData yet?
&gt; 
&gt; At the level of the interface between renderer and browser, we basically do have that ability, it&apos;s just not exposed to webcore in the WebBlobRegistry interface. Blobs currently come into existence fully formed and so that all the interface lets you do. There&apos;s pretty good reason to have blobs be incrementally built up (not just in the context of Streams).
&gt; 
&gt; Would it help to extend the WebBlobRegistry api to more closely match the IPC messages (which do allow incremental building: StartBuilding, AddStuff, FinishBuilding). I think that could live in parallel with the existing &apos;fully formed&apos; registry interface.

At this point, I don&apos;t think exposing those functions would help, as we would still have to add an extra set of APIs to change the semantics of the blob to match streams.

&gt; 
&gt; 
&gt; 
&gt; Also, heads up... I&apos;ve got some refactoring in the works in this area that I&apos;m part way thru landing. These changes scrap using URLs as identifiers for WebCore::Blob instances, and instead coins GUID string identifiers which map to the underlying blob data (such that many Blob instances can refer to the same data). Switching around what the identifier identifies has made this challenging to land so I&apos;ve been breaking off small parts and whittling down on it.
&gt; 
&gt; WK - https://codereview.chromium.org/11192017/
&gt; CR - https://codereview.chromium.org/11410019/
&gt; 
&gt; The next chunks for me to land are sitting in here and here.
&gt; https://bugs.webkit.org/show_bug.cgi?id=108851
&gt; https://codereview.chromium.org/12330162/
&gt; 
&gt; The meta bug I&apos;m using to track these changes is here.
&gt; https://code.google.com/p/chromium/issues/detail?id=174200

Thanks for the heads up!  I&apos;ll look through those to figure out how it will effect my patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870844</commentid>
    <comment_count>10</comment_count>
      <attachid>190426</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-04-08 10:27:01 -0700</bug_when>
    <thetext>Comment on attachment 190426
Patch

Clearing review flag from this Chromium-specific patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870845</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-04-08 10:27:26 -0700</bug_when>
    <thetext>Chromium-specific. Closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190195</attachid>
            <date>2013-02-25 20:57:05 -0800</date>
            <delta_ts>2013-02-26 20:05:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110841-20130226135320.patch</filename>
            <type>text/plain</type>
            <size>2259</size>
            <attacher name="Zachary Kuznia">zork</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYTVlMzBjNDc4NTcy
MjY5N2I2YjRiZTkxMjEyZTBiNGE4MWFiODJmLi4xNzZjYmExMzY4MDM3ZjE4YTI0ODkwZDNhNTM2
NDMzYjBiYzg3ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMi0yNSAg
WmFjaCBLdXpuaWEgIDx6b3JrQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgQVBJIHRvIFdl
YkJsb2JSZWdpc3RyeSBmb3IgbWFuYWdpbmcgU3RyZWFtcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwODQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViQmxvYlJlZ2lz
dHJ5Lmg6CisKIDIwMTMtMDItMjIgIEFsaSBKdW1hICA8YWp1bWFAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gUmVnaXN0ZXIgbmV3bHktY3JlYXRlZCBsYXllcnMgZm9yIGFuaW1h
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJCbG9i
UmVnaXN0cnkuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViQmxvYlJlZ2lz
dHJ5LmgKaW5kZXggZDg4MmFiYWQ5OWRkMzg3ODFiZTgzM2IxODMwOThmOTBjMjcxNjEzNi4uMTZm
YmU4OTk1MzQ0NDc0OTk5ZDNlZjcyZWI5NTkyYWNiNTMzN2Y1YSAxMDA2NDQKLS0tIGEvU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJCbG9iUmVnaXN0cnkuaAorKysgYi9Tb3VyY2Uv
UGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkJsb2JSZWdpc3RyeS5oCkBAIC0zNiw2ICszNiw3
IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQmxvYkRhdGE7CitjbGFzcyBXZWJU
aHJlYWRTYWZlRGF0YTsKIGNsYXNzIFdlYlVSTDsKIAogY2xhc3MgV2ViQmxvYlJlZ2lzdHJ5IHsK
QEAgLTQ2LDExICs0NywyNSBAQCBwdWJsaWM6CiAKICAgICAvLyBSZWdpc3RlcnMgYSBibG9iIFVS
TCByZWZlcnJpbmcgdG8gdGhlIHNwZWNpZmllZCBibG9iIGRhdGEuCiAgICAgdmlydHVhbCB2b2lk
IHJlZ2lzdGVyQmxvYlVSTChjb25zdCBXZWJVUkwmLCBXZWJCbG9iRGF0YSYpID0gMDsKLSAgICAK
KwogICAgIC8vIFJlZ2lzdGVycyBhIGJsb2IgVVJMIHJlZmVycmluZyB0byB0aGUgYmxvYiBkYXRh
IGlkZW50aWZpZWQgYnkgdGhlIHNwZWNpZmllZCBzcmNVUkwuCiAgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyQmxvYlVSTChjb25zdCBXZWJVUkwmLCBjb25zdCBXZWJVUkwmIHNyY1VSTCkgPSAwOwog
CiAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFdlYlVSTCYpID0gMDsK
KworICAgIC8vIFJlZ2lzdGVycyBhIHN0cmVhbSBVUkwgcmVmZXJyaW5nIHRvIHRoZSBzcGVjaWZp
ZWQgc3RyZWFtIGRhdGEuCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU3RyZWFtVVJMKGNvbnN0
IFdlYlVSTCYpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBSZWdp
c3RlcnMgYSBzdHJlYW0gVVJMIHJlZmVycmluZyB0byB0aGUgc3RyZWFtIGlkZW50aWZpZWQgYnkg
dGhlIHNwZWNpZmllZCBzcmNVUkwuCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU3RyZWFtVVJM
KGNvbnN0IFdlYlVSTCYsIGNvbnN0IFdlYlVSTCYgc3JjVVJMKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQorCisgICAgLy8gQWRkIGRhdGEgdG8gdGhlIHNwZWNpZmllZCBzdHJlYW0g
VVJMCisgICAgdmlydHVhbCB2b2lkIGFkZERhdGFUb1N0cmVhbShjb25zdCBXZWJVUkwmLCBXZWJU
aHJlYWRTYWZlRGF0YSYpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAv
LyBUZWxsIHRoZSByZWdpc3RyeSB0aGF0IHRoaXMgc3RyZWFtIHdvbid0IHJlY2lldmUgYW55IG1v
cmUgZGF0YS4KKyAgICB2aXJ0dWFsIHZvaWQgZmluYWxpemVTdHJlYW0oY29uc3QgV2ViVVJMJikg
eyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIHZpcnR1YWwgdm9pZCB1bnJl
Z2lzdGVyU3RyZWFtVVJMKGNvbnN0IFdlYlVSTCYpIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190426</attachid>
            <date>2013-02-26 20:05:25 -0800</date>
            <delta_ts>2013-04-08 10:27:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110841-20130227130139.patch</filename>
            <type>text/plain</type>
            <size>3631</size>
            <attacher name="Zachary Kuznia">zork</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmYTVlMzBjNDc4NTcy
MjY5N2I2YjRiZTkxMjEyZTBiNGE4MWFiODJmLi43NDlmYmIzMjhkOTdmMzc4MmIxZjE1NTA1ZTQx
ZGY5MDdjOThhMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wMi0yNiAg
WmFjaCBLdXpuaWEgIDx6b3JrQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgQVBJIHRvIFdl
YlN0cmVhbVJlZ2lzdHJ5IGZvciBtYW5hZ2luZyBTdHJlYW1zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA4NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJTdHJlYW1S
ZWdpc3RyeS5oOiBBZGRlZC4KKwogMjAxMy0wMi0yMiAgQWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWdpc3RlciBuZXdseS1jcmVhdGVkIGxheWVy
cyBmb3IgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYlN0cmVhbVJlZ2lzdHJ5LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlN0cmVhbVJlZ2lzdHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU1NDMzMGNiOGE0Y2EyYjQzYjI2YjNk
YmYyYmJiMjNhYmE4MDdiZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViU3RyZWFtUmVnaXN0cnkuaApAQCAtMCwwICsxLDY2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJTdHJlYW1SZWdpc3RyeV9oCisjZGVmaW5lIFdlYlN0cmVhbVJlZ2lzdHJ5X2gKKworI2luY2x1
ZGUgIldlYkNvbW1vbi5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQmxvYkRh
dGE7CitjbGFzcyBXZWJUaHJlYWRTYWZlRGF0YTsKK2NsYXNzIFdlYlVSTDsKKworY2xhc3MgV2Vi
U3RyZWFtUmVnaXN0cnkgeworcHVibGljOgorICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYlN0
cmVhbVJlZ2lzdHJ5KiBjcmVhdGUoKTsKKworICAgIHZpcnR1YWwgfldlYlN0cmVhbVJlZ2lzdHJ5
KCkgeyB9CisKKyAgICAvLyBSZWdpc3RlcnMgYSBzdHJlYW0gVVJMLgorICAgIHZpcnR1YWwgdm9p
ZCByZWdpc3RlclN0cmVhbVVSTChjb25zdCBXZWJVUkwmKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsgfQorCisgICAgLy8gUmVnaXN0ZXJzIGEgc3RyZWFtIFVSTCByZWZlcnJpbmcgdG8g
dGhlIHN0cmVhbSBpZGVudGlmaWVkIGJ5IHRoZSBzcGVjaWZpZWQgc3JjVVJMLgorICAgIHZpcnR1
YWwgdm9pZCByZWdpc3RlclN0cmVhbVVSTChjb25zdCBXZWJVUkwmLCBjb25zdCBXZWJVUkwmIHNy
Y1VSTCkgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIEFkZCBkYXRh
IHRvIHRoZSBzcGVjaWZpZWQgc3RyZWFtIFVSTC4KKyAgICB2aXJ0dWFsIHZvaWQgYWRkRGF0YVRv
U3RyZWFtKGNvbnN0IFdlYlVSTCYsIFdlYlRocmVhZFNhZmVEYXRhJikgeyBXRUJLSVRfQVNTRVJU
X05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIFRlbGwgdGhlIHJlZ2lzdHJ5IHRoYXQgdGhpcyBz
dHJlYW0gd29uJ3QgcmVjaWV2ZSBhbnkgbW9yZSBkYXRhLgorICAgIHZpcnR1YWwgdm9pZCBmaW5h
bGl6ZVN0cmVhbShjb25zdCBXZWJVUkwmKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsg
fQorCisgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTdHJlYW1VUkwoY29uc3QgV2ViVVJMJikg
eyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gV2ViU3RyZWFtUmVnaXN0cnlfaAorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>