| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | 
							- var stream = require("readable-stream");
 
- var duplex2 = module.exports = function duplex2(options, writable, readable) {
 
-   return new DuplexWrapper(options, writable, readable);
 
- };
 
- var DuplexWrapper = exports.DuplexWrapper = function DuplexWrapper(options, writable, readable) {
 
-   if (typeof readable === "undefined") {
 
-     readable = writable;
 
-     writable = options;
 
-     options = null;
 
-   }
 
-   options = options || {};
 
-   options.objectMode = true;
 
-   stream.Duplex.call(this, options);
 
-   this._bubbleErrors = (typeof options.bubbleErrors === "undefined") || !!options.bubbleErrors;
 
-   this._writable = writable;
 
-   this._readable = readable;
 
-   var self = this;
 
-   writable.once("finish", function() {
 
-     self.end();
 
-   });
 
-   this.once("finish", function() {
 
-     writable.end();
 
-   });
 
-   readable.on("data", function(e) {
 
-     if (!self.push(e)) {
 
-       readable.pause();
 
-     }
 
-   });
 
-   readable.once("end", function() {
 
-     return self.push(null);
 
-   });
 
-   if (this._bubbleErrors) {
 
-     writable.on("error", function(err) {
 
-       return self.emit("error", err);
 
-     });
 
-     readable.on("error", function(err) {
 
-       return self.emit("error", err);
 
-     });
 
-   }
 
- };
 
- DuplexWrapper.prototype = Object.create(stream.Duplex.prototype, {constructor: {value: DuplexWrapper}});
 
- DuplexWrapper.prototype._write = function _write(input, encoding, done) {
 
-   this._writable.write(input, encoding, done);
 
- };
 
- DuplexWrapper.prototype._read = function _read(n) {
 
-   this._readable.resume();
 
- };
 
 
  |