-í
_Ôj<c       s    d  Z  i n d Z t d Z { d Z Ê d Z Ó d Z Ü d Z á d Z å d Z ê d Z	 î d	 Z
  d
 Z  d Z Dd Z [d Z gd Z {d Z ‹d Z  d Z ©d Z °d Z ·d Z ¼d Z Ád Z Æd Z Êd Z Ðd Z Üd Z èd Z îd Z õd Z d Z d Z  /d  Z! 6d! Z" ;d" Z# Ad# Z$ Gd$ Z% €d% Z& †d& Z' Œd' Z( ¯d( Z) Ãd) Z* Èd* Z+ Ñd+ Z, ÿd, Z- d* Z. d- Z/ d. Z0 d/ Z1  d0 Z2 &d1 Z3 *d2 Z4 `d3 Z5 fd4 Z6 rd5 Z7 ud6 Z8 yd7 Z9 ‚d8 Z: Šd9 Z; d: Z< —d; Z= œd< Z> ¦d= Z? ±d> Z@ Çd? ZA Ñd@ ZB ídA ZC d= ZD dB ZE dC ZF "dD ZG *dE ZH -dF ZI 0dG ZJ 3dH ZK :dI ZL BdJ ZM IdK ZN PdL ZO UdM ZP [dN ZQ `dO ZR jdP ZS pdQ ZT –dR ZU ÇdS ZV ßdT ZW dU S(V   s   C++ templates for the .hh filesn   // This file is generated by @program@- @library@. Do not edit.
#ifndef __@guard@_hh__
#define __@guard@_hh__
s   #endif
s‚  #ifndef USE_omniORB_logStream
#define USE_omniORB_logStream
#endif

#ifndef __CORBA_H_EXTERNAL_GUARD__
#include <omniORB3/CORBA.h>
#endif

#ifndef  USE_core_stub_in_nt_dll
# define USE_core_stub_in_nt_dll_NOT_DEFINED_@guard@
#endif
#ifndef  USE_dyn_stub_in_nt_dll
# define USE_dyn_stub_in_nt_dll_NOT_DEFINED_@guard@
#endif

@cxx_direct_include@

@includes@

#ifdef USE_stub_in_nt_dll
#ifndef USE_core_stub_in_nt_dll
#define USE_core_stub_in_nt_dll
#endif
#ifndef USE_dyn_stub_in_nt_dll
#define USE_dyn_stub_in_nt_dll
#endif
#endif

#ifdef _core_attr
# error "A local CPP macro _core_attr has already been defined."
#else
# ifdef  USE_core_stub_in_nt_dll
#  define _core_attr _OMNIORB_NTDLL_IMPORT
# else
#  define _core_attr
# endif
#endif

#ifdef _dyn_attr
# error "A local CPP macro _dyn_attr has already been defined."
#else
# ifdef  USE_dyn_stub_in_nt_dll
#  define _dyn_attr _OMNIORB_NTDLL_IMPORT
# else
#  define _dyn_attr
# endif
#endif

@forward_declarations@

@string_tcParser_declarations@

@defs@

@poa@

@other_tie@

#undef _core_attr
#undef _dyn_attr

@operators@

@marshalling@

#ifdef   USE_core_stub_in_nt_dll_NOT_DEFINED_@guard@
# undef  USE_core_stub_in_nt_dll
# undef  USE_core_stub_in_nt_dll_NOT_DEFINED_@guard@
#endif
#ifdef   USE_dyn_stub_in_nt_dll_NOT_DEFINED_@guard@
# undef  USE_dyn_stub_in_nt_dll
# undef  USE_dyn_stub_in_nt_dll_NOT_DEFINED_@guard@
#endif


#endif  // __@guard@_hh__
sh   #ifndef __@guardname@_EXTERNAL_GUARD__
#define __@guardname@_EXTERNAL_GUARD__
#include @filename@
#endifsj   // Declare helper class for union type @fqname@
class @private_prefix@_tcParser_unionhelper_@guard_name@;
s(   _CORBA_MODULE @name@

_CORBA_MODULE_BEG
s   _CORBA_MODULE_END
s3   _CORBA_MODULE @POA_prefix@@name@
_CORBA_MODULE_BEG
sÍ   class @POA_name@ :
  public virtual @impl_scopedID@,
  @inherits@
{
public:
  virtual ~@POA_name@();

  inline @scopedID@_ptr _this() {
    return (@scopedID@_ptr) _do_this(@scopedID@::_PD_repoId);
  }
};
s4  #ifndef __@guard@__
#define __@guard@__

class @name@;
class _objref_@name@;
class _impl_@name@;
@class_sk_name@
typedef _objref_@name@* @name@_ptr;
typedef @name@_ptr @name@Ref;

class @name@_Helper {
public:
  typedef @name@_ptr _ptr_type;

  static _ptr_type _nil();
  static _CORBA_Boolean is_nil(_ptr_type);
  static void release(_ptr_type);
  static void duplicate(_ptr_type);
  static size_t NP_alignedSize(_ptr_type, size_t);
  static void marshalObjRef(_ptr_type, NetBufferedStream&);
  static _ptr_type unmarshalObjRef(NetBufferedStream&);
  static void marshalObjRef(_ptr_type, MemBufferedStream&);
  static _ptr_type unmarshalObjRef(MemBufferedStream&);
};

typedef _CORBA_ObjRef_Var<_objref_@name@, @name@_Helper> @name@_var;
typedef _CORBA_ObjRef_OUT_arg<_objref_@name@,@name@_Helper > @name@_out;

#endif
sÙ  class @name@ {
public:
  // Declarations for this interface type.
  typedef @name@_ptr _ptr_type;
  typedef @name@_var _var_type;

  static _ptr_type _duplicate(_ptr_type);
  static _ptr_type _narrow(CORBA::Object_ptr);
  static _ptr_type _nil();

  static inline size_t _alignedSize(_ptr_type, size_t);
  static inline void _marshalObjRef(_ptr_type, NetBufferedStream&);
  static inline void _marshalObjRef(_ptr_type, MemBufferedStream&);

  static inline _ptr_type _unmarshalObjRef(NetBufferedStream& s) {
    CORBA::Object_ptr obj = CORBA::UnMarshalObjRef(_PD_repoId, s);
    _ptr_type result = _narrow(obj);
    CORBA::release(obj);
    return result;
  }

  static inline _ptr_type _unmarshalObjRef(MemBufferedStream& s) {
    CORBA::Object_ptr obj = CORBA::UnMarshalObjRef(_PD_repoId, s);
    _ptr_type result = _narrow(obj);
    CORBA::release(obj);
    return result;
  }

  static _core_attr const char* _PD_repoId;

  // Other IDL defined within this scope.
  @Other_IDL@
};
s³  class _objref_@name@ :
  @inherits@
{
public:
  @operations@
  @attributes@

  inline _objref_@name@() { _PR_setobj(0); }  // nil
  _objref_@name@(const char*, IOP::TaggedProfileList*, omniIdentity*, omniLocalIdentity*);

protected:
  virtual ~_objref_@name@();

private:
  virtual void* _ptrToObjRef(const char*);

  _objref_@name@(const _objref_@name@&);
  _objref_@name@& operator = (const _objref_@name@&);
  // not implemented
};
sU  class _pof_@name@ : public proxyObjectFactory {
public:
  inline _pof_@name@() : proxyObjectFactory(@name@::_PD_repoId) {}
  virtual ~_pof_@name@();

  virtual omniObjRef* newObjRef(const char*, IOP::TaggedProfileList*,
                                omniIdentity*, omniLocalIdentity*);
  virtual _CORBA_Boolean is_a(const char*) const;
};
s?  class _impl_@name@ :
  @inherits@
{
public:
  virtual ~_impl_@name@();

  @virtual_operations@
  @virtual_attributes@
  
public:  // Really protected, workaround for xlC
  virtual _CORBA_Boolean _dispatch(GIOP_S&);

private:
  virtual void* _ptrToInterface(const char*);
  virtual const char* _mostDerivedRepoId();
};

s  class _sk_@name@ :
  public virtual _impl_@name@,
  @sk_inherits@
{
public:
  _sk_@name@() {}
  _sk_@name@(const omniOrbBoaKey&);
  virtual ~_sk_@name@();
  inline @name@::_ptr_type _this() {
    return (@name@::_ptr_type) omniOrbBoaServant::_this(@name@::_PD_repoId);
  }

};
sŽ  inline size_t
@name@::_alignedSize(@name@_ptr obj, size_t offset) {
  return CORBA::AlignedObjRef(obj, _PD_repoId, @idLen@, offset);
}

inline void
@name@::_marshalObjRef(@name@_ptr obj, NetBufferedStream& s) {
  CORBA::MarshalObjRef(obj, _PD_repoId, @idLen@, s);
}

inline void
@name@::_marshalObjRef(@name@_ptr obj, MemBufferedStream& s) {
  CORBA::MarshalObjRef(obj, _PD_repoId, @idLen@, s);
}

sÜ   typedef @base@ @derived@;
typedef @base@_slice @derived@_slice;
typedef @base@_copyHelper @derived@_copyHelper;
typedef @base@_var @derived@_var;
typedef @base@_out @derived@_out;
typedef @base@_forany @derived@_forany;
sQ  static @derived@_slice* @derived@_alloc() { return @base@_alloc(); }
static @derived@_slice* @derived@_dup(const @derived@_slice* p) { return @base@_dup(p); }
static void @derived@_copy( @derived@_slice* _to, const @derived@_slice* _from ) { @base@_copy(_to, _from); }
static void @derived@_free( @derived@_slice* p) { @base@_free(p); }
sï   extern @derived@_slice* @derived@_alloc();
extern @derived@_slice* @derived@_dup(const @derived@_slice* p);
extern void @derived@_copy( @derived@_slice* _to, const @derived@_slice* _from );
extern void @derived@_free( @derived@_slice* p);
s<   typedef char* @name@;
typedef CORBA::String_var @name@_var;
sP   typedef CORBA::TypeCode_ptr @name@_ptr;
typedef CORBA::TypeCode_var @name@_var;
s>   typedef CORBA::Any @name@;
typedef CORBA::Any_var @name@_var;
s   typedef @base@ @derived@;
sU   typedef @base@ @name@;
typedef @base@_var @name@_var;
typedef @base@_out @name@_out;
sÐ   typedef @base@ @name@;
typedef @base@_ptr @name@_ptr;
typedef @base@Ref @name@Ref;
@impl_base@
typedef @base@_Helper @name@_Helper;
@objref_base@
typedef @base@_var @name@_var;
typedef @base@_out @name@_out;
sœ  // Need to declare <<= for elem type, as GCC expands templates early
#if defined(__GNUG__) && __GNUG__ == 2 && __GNUC_MINOR__ == 7
 @friend@ inline void operator >>= (@element@, NetBufferedStream&);
 @friend@ inline void operator <<= (@element@&, NetBufferedStream&);
 @friend@ inline void operator >>= (@element@, MemBufferedStream&);
 @friend@ inline void operator <<= (@element@&, MemBufferedStream&);
#endif
sD   typedef @type@ @name@@dims@;
typedef @type@ @name@_slice@taildims@;
sÐ   extern @name@_slice* @name@_alloc();
extern @name@_slice* @name@_dup(const @name@_slice* _s);
extern void @name@_free(@name@_slice* _s);
extern void @name@_copy(@name@_slice* _to, const @name@_slice* _from);
s°  static inline @name@_slice* @name@_alloc() {
  return new @name@_slice[@firstdim@];
}

static inline @name@_slice* @name@_dup(const @name@_slice* _s) {
  if (!_s) return 0;
  @name@_slice* _data = @name@_alloc();
  if (_data) {
    @dup_loop@
  }
  return _data;
}

static inline void @name@_copy(@name@_slice* _to, const @name@_slice* _from){
  @copy_loop@
}

static inline void @name@_free(@name@_slice* _s) {
    delete [] _s;
}
sÌ  class @name@_copyHelper {
public:
  static inline @name@_slice* alloc() { return @name@_alloc(); }
  static inline @name@_slice* dup(const @name@_slice* p) { return @name@_dup(p); }
  static inline void free(@name@_slice* p) { @name@_free(p); }
};

typedef _CORBA_Array_Var<@name@_copyHelper,@name@_slice> @name@_var;
typedef _CORBA_Array_OUT_arg<@name@_slice,@name@_var > @name@_out;
typedef _CORBA_Array_Forany<@name@_copyHelper,@name@_slice> @name@_forany;
s  class @name@_var;

class @name@ : public @derived@ {
public:
  typedef @name@_var _var_type;
  inline @name@() {}
  inline @name@(const @name@& s)
    : @derived@(s) {}

  @bounds@

  inline @name@& operator = (const @name@& s) {
    @derived@::operator=(s);
    return *this;
  }
};
s½   inline @name@(_CORBA_ULong _max)
  : @derived@(_max) {}
inline @name@(_CORBA_ULong _max, _CORBA_ULong _len, @element@* _val, _CORBA_Boolean _rel=0)
  : @derived@(_max, _len, _val, _rel) {}
sl   inline @name@(_CORBA_ULong _len, @element@* _val, _CORBA_Boolean _rel=0)
  : @derived@(_len, _val, _rel) {}
sp   inline @element@_slice* operator [] (_CORBA_ULong s) {
  return (@element@_slice*) ((_pd_seq->NP_data())[s]);
}
sJ   inline @element@ operator [] (_CORBA_ULong s) {
  return (*_pd_seq)[s];
}
s@  class @name@_out;

class @name@_var {
public:
  typedef @name@ T;
  typedef @name@_var T_var;
    
  inline @name@_var() : _pd_seq(0) {}
  inline @name@_var(T* s) : _pd_seq(s) {}
  inline @name@_var(const T_var& s) {
    if( s._pd_seq )  _pd_seq = new T(*s._pd_seq);
    else             _pd_seq = 0;
  }
  inline ~@name@_var() { if( _pd_seq )  delete _pd_seq; }
    
  inline T_var& operator = (T* s) {
    if( _pd_seq )  delete _pd_seq;
    _pd_seq = s;
    return *this;
  }
  inline T_var& operator = (const T_var& s) {
    if( s._pd_seq ) {
      if( !_pd_seq )  _pd_seq = new T;
      *_pd_seq = *s._pd_seq;
    } else if( _pd_seq ) {
      delete _pd_seq;
      _pd_seq = 0;
    }
    return *this;
  }

  @subscript_operator@

  inline T* operator -> () { return _pd_seq; }
#if defined(__GNUG__) && __GNUG__ == 2 && __GNUC_MINOR__ == 7
  inline operator T& () const { return *_pd_seq; }
#else
  inline operator const T& () const { return *_pd_seq; }
  inline operator T& () { return *_pd_seq; }
#endif
    
  inline const T& in() const { return *_pd_seq; }
  inline T&       inout()    { return *_pd_seq; }
  inline T*&      out() {
    if( _pd_seq ) { delete _pd_seq; _pd_seq = 0; }
    return _pd_seq;
  }
  inline T* _retn() { T* tmp = _pd_seq; _pd_seq = 0; return tmp; }
    
  friend class @name@_out;
  
private:
  T* _pd_seq;
};
sn   inline @element@_slice* operator [] (_CORBA_ULong i) {
  return (@element@_slice*) ((_data->NP_data())[i]);
}
sH   inline @element@ operator [] (_CORBA_ULong i) {
  return (*_data)[i];
}
s   class @name@_out {
public:
  typedef @name@ T;
  typedef @name@_var T_var;

  inline @name@_out(T*& s) : _data(s) { _data = 0; }
  inline @name@_out(T_var& s)
    : _data(s._pd_seq) { s = (T*) 0; }
  inline @name@_out(const @name@_out& s) : _data(s._data) {}
  inline @name@_out& operator = (const @name@_out& s) {
    _data = s._data;
    return *this;
  }  inline @name@_out& operator = (T* s) {
    _data = s;
    return *this;
  }
  inline operator T*&()  { return _data; }
  inline T*& ptr()       { return _data; }
  inline T* operator->() { return _data; }

  @subscript_operator@

  T*& _data;
  
private:
  @name@_out();
  @name@_out& operator=(const T_var&);
};
sÆ  struct @name@ {
  typedef _CORBA_ConstrType_@type@_Var<@name@> _var_type;

  @Other_IDL@

  @members@

  size_t _NP_alignedSize(size_t initialoffset) const;
  void operator>>= (NetBufferedStream &) const;
  void operator<<= (NetBufferedStream &);
  void operator>>= (MemBufferedStream &) const;
  void operator<<= (MemBufferedStream &);
};

typedef @name@::_var_type @name@_var;

typedef _CORBA_ConstrType_@type@_OUT_arg< @name@,@name@_var > @name@_out;
s9   typedef @memtype@ _@cxx_id@_seq;
_@cxx_id@_seq @cxx_id@;
s   @memtype@ @cxx_id@@dims@;
sž  class @name@ : public CORBA::UserException {
public:

  @Other_IDL@

  @members@

  inline @name@() {
    pd_insertToAnyFn    = insertToAnyFn;
    pd_insertToAnyFnNCP = insertToAnyFnNCP;
  }
  @name@(const @name@&);
  @constructor@
  @name@& operator=(const @name@&);
  virtual ~@name@();
  virtual void _raise();
  static @name@* _downcast(CORBA::Exception*);
  static const @name@* _downcast(const CORBA::Exception*);
  static inline @name@* _narrow(CORBA::Exception* _e) {
    return _downcast(_e);
  }
  
  @alignedSize@

  @inline@void operator>>=(NetBufferedStream&) const @body@
  @inline@void operator>>=(MemBufferedStream&) const @body@
  @inline@void operator<<=(NetBufferedStream&) @body@
  @inline@void operator<<=(MemBufferedStream&) @body@

  static _core_attr insertExceptionToAny    insertToAnyFn;
  static _core_attr insertExceptionToAnyNCP insertToAnyFnNCP;

  virtual CORBA::Exception* _NP_duplicate() const;

  static _core_attr const char* _PD_repoId;

private:
  virtual const char* _NP_typeId() const;
  virtual const char* _NP_repoId(int*) const;
  virtual void _NP_marshal(NetBufferedStream&) const;
  virtual void _NP_marshal(MemBufferedStream&) const;
};
sV   typedef @memtype@ @private_prefix@_@cxx_id@@dims@;
typedef @memtype@ _@cxx_id@_slice;
s†   if ((_pd__default = _value._pd__default)) {
  _pd__d = _value._pd__d;
  @default@
}
else {
  switch(_value._pd__d) {
    @cases@
  }
}s#   switch(_value._pd__d) {
  @cases@
}s7   case @discrimvalue@: @name@(_value._pd_@name@); break;
s4   #ifndef HAS_Cplusplus_Bool
  default: break;
#endif
s     default: break;
si  class @unionname@ {
public:

  typedef _CORBA_ConstrType_@fixed@_Var<@unionname@> _var_type;

  @Other_IDL@

  @unionname@(): _pd__initialised(0) {
    @default_constructor@
  }
  
  @unionname@(const @unionname@& _value) {
    _pd__initialised = _value._pd__initialised;
    @copy_constructor@
  }

  ~@unionname@() {}

  @unionname@& operator=(const @unionname@& _value) {
    _pd__initialised = _value._pd__initialised;
    @copy_constructor@
    return *this;
  }

  @discrimtype@ _d() const { return _pd__d;}
  void _d(@discrimtype@ _value){
    @_d_body@
  }

  @implicit_default@

  @members@
  
  size_t _NP_alignedSize(size_t initialoffset) const;
  void operator>>= (NetBufferedStream&) const;
  void operator<<= (NetBufferedStream&);
  void operator>>= (MemBufferedStream&) const;
  void operator<<= (MemBufferedStream&);

  @tcParser_unionHelper@

private:
  @discrimtype@ _pd__d;
  CORBA::Boolean _pd__default;
  CORBA::Boolean _pd__initialised;

  @union@
  @outsideUnion@
};

typedef @unionname@::_var_type @unionname@_var;
typedef _CORBA_ConstrType_@fixed@_OUT_arg< @unionname@,@unionname@_var > @unionname@_out;
s   union {
  @members@
};
sò   // illegal to set discriminator before making a member active
if (!_pd__initialised) throw CORBA::BAD_PARAM(0, CORBA::COMPLETED_NO);

if (_value == _pd__d) return; // no change

@switch@

fail:
throw CORBA::BAD_PARAM(0, CORBA::COMPLETED_NO);
s   _default();
s&   _pd__default = 1;
_pd__d = @default@;
s_   void _default()
{
  _pd__initialised = 1;
  _pd__d = @arbitraryDefault@;
  _pd__default = 1;
}
sÍ   #if defined(__GNUG__) || defined(__DECCXX) && (__DECCXX_VER < 60000000)
friend class @private_prefix@_tcParser_unionhelper_@name@;
#else
friend class ::@private_prefix@_tcParser_unionhelper_@name@;
#endif
s;   #ifdef USING_PROXY_FLOAT
  @type@ _pd_@name@@dims@;
#endif
s<   #ifndef USING_PROXY_FLOAT
  @type@ _pd_@name@@dims@;
#endif
sU   typedef @memtype@ @prefix@_@name@@dims@;
typedef @memtype@ _@name@_slice@tail_dims@;
sÄ   const @memtype@_slice *@name@ () const { return _pd_@name@; }
void @name@ (const @const_type@ _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  @loop@
}
sí   const @type@ &@name@ () const { return _pd_@name@; }
@type@ &@name@ () { return _pd_@name@; }
void @name@ (const @type@& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
s*  CORBA::TypeCode_ptr @name@ () const { return _pd_@name@._ptr; }
void @name@(CORBA::TypeCode_ptr _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = CORBA::TypeCode::_duplicate(_value);
}
void @name@(const CORBA::TypeCode_member& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
void @name@(const CORBA::TypeCode_var& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
s·   @type@ @name@ () const { return _pd_@name@; }
void @name@ (@type@  _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
sŠ  const char * @name@ () const { return (const char*) _pd_@name@; }
void @name@(char* _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
void @name@(const char*  _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
void @name@(const CORBA::String_var& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
void @name@(const CORBA::String_member& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@name@ = _value;
}
s  @ptr_name@ @member@ () const { return _pd_@member@._ptr; }
void @member@(@ptr_name@ _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  @Helper_name@::duplicate(_value);
  _pd_@member@ = _value;
}
void @member@(const @memtype@& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@member@ = _value;
}
void @member@(const @var_name@&  _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@member@ = _value;
}
s9  typedef @sequence_template@ _@member@_seq;
const _@member@_seq& @member@ () const { return _pd_@member@; }
_@member@_seq& @member@ () { return _pd_@member@; }
void @member@ (const _@member@_seq& _value) {
  _pd__initialised = 1;
  _pd__d = @discrimvalue@;
  _pd__default = @isDefault@;
  _pd_@member@ = _value;
}
s   @type@ _pd_@name@@dims@;
s:   enum @name@ { @memberlist@ };
typedef @name@& @name@_out;
sC   static _core_attr const @type@ @name@ _init_in_cldecl_( = @val@ );
s'   static _core_attr const @type@ @name@;
sE   _CORBA_@where@_VARINT const @type@ @name@ _init_in_decl_( = @val@ );
s3   _CORBA_@where@_VAR _core_attr const @type@ @name@;
s<   @qualifier@ _dyn_attr const CORBA::TypeCode_ptr _tc_@name@;
s  extern void operator<<=(CORBA::Any& _a, const @fqname@& _s);
extern void operator<<=(CORBA::Any& _a, @fqname@* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, @fqname@*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const @fqname@*& _sp);
sñ   void operator<<=(CORBA::Any& _a, const @fqname@& _s);
void operator<<=(CORBA::Any& _a, @fqname@* _sp);
CORBA::Boolean operator>>=(const CORBA::Any& _a, const @fqname@*& _sp);
CORBA::Boolean operator>>=(const CORBA::Any& _a, @fqname@*& _sp);
sk   void operator<<=(CORBA::Any& _a, @name@ _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, @name@& _s);
s«   void operator<<=(CORBA::Any& _a, @fqname@_ptr _s);
void operator<<=(CORBA::Any& _a, @fqname@_ptr* _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, @fqname@_ptr& _s);
s„   void operator<<=(CORBA::Any& _a, const @fqname@_forany& _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, @fqname@_forany& _s);
s5  extern void operator <<= (CORBA::Any& _a, const @fqname@& _s);
inline void operator <<= (CORBA::Any& _a, @fqname@* _sp) {
  _a <<= *_sp;
  delete _sp;
}
extern _CORBA_Boolean operator >>= (const CORBA::Any& _a, @fqname@*& _sp);
extern _CORBA_Boolean operator >>= (const CORBA::Any& _a, const @fqname@*& _sp);
sµ   void operator<<=(CORBA::Any& _a, const @fqname@& _s);
void operator<<=(CORBA::Any& _a, const @fqname@* _sp);
CORBA::Boolean operator>>=(const CORBA::Any& _a, const @fqname@*& _sp);
sï  inline void operator >>=(@name@ _e, NetBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (@name@& _e, NetBufferedStream& s) {
  CORBA::ULong @private_prefix@_e;
  ::operator<<=(@private_prefix@_e,s);
  switch (@private_prefix@_e) {
    @cases@
    _e = (@name@) @private_prefix@_e;
    break;
  default:
    _CORBA_marshal_error();
  }
}

inline void operator >>=(@name@ _e, MemBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (@name@& _e, MemBufferedStream& s) {
  CORBA::ULong @private_prefix@_e;
  ::operator<<=(@private_prefix@_e,s);
  switch (@private_prefix@_e) {
    @cases@
    _e = (@name@) @private_prefix@_e;
    break;
  default:
    _CORBA_marshal_error();
  }
}
sÌ  template <class _omniT>
class @tie_name@ : public virtual @inherits@
{
public:
  @tie_name@(_omniT& t)
    : pd_obj(&t), pd_poa(0), pd_rel(0) {}
  @tie_name@(_omniT& t, PortableServer::POA_ptr p)
    : pd_obj(&t), pd_poa(p), pd_rel(0) {}
  @tie_name@(_omniT* t, CORBA::Boolean r=1)
    : pd_obj(t), pd_poa(0), pd_rel(r) {}
  @tie_name@(_omniT* t, PortableServer::POA_ptr p,CORBA::Boolean r=1)
    : pd_obj(t), pd_poa(p), pd_rel(r) {}
  ~@tie_name@() {
    if( pd_poa )  CORBA::release(pd_poa);
    if( pd_rel )  delete pd_obj;
  }

  _omniT* _tied_object() { return pd_obj; }

  void _tied_object(_omniT& t) {
    if( pd_rel )  delete pd_obj;
    pd_obj = &t;
    pd_rel = 0;
  }

  void _tied_object(_omniT* t, CORBA::Boolean r=1) {
    if( pd_rel )  delete pd_obj;
    pd_obj = t;
    pd_rel = r;
  }

  CORBA::Boolean _is_owner()        { return pd_rel; }
  void _is_owner(CORBA::Boolean io) { pd_rel = io;   }

  PortableServer::POA_ptr _default_POA() {
    if( !pd_poa )  return PortableServer::POA::_the_root_poa();
    else           return PortableServer::POA::_duplicate(pd_poa);
  }

  @callables@

private:
  _omniT*                      pd_obj;
  PortableServer::POA_ptr pd_poa;
  CORBA::Boolean          pd_rel;
};
s~  template <class _omniT, CORBA::Boolean release>
class @tie_name@ : public virtual @inherits@
{
public:
  @tie_name@(_omniT& t)
    : pd_obj(&t), pd_rel(release) {}
  @tie_name@(_omniT* t)
    : pd_obj(t),  pd_rel(release) {}
  ~@tie_name@() {
    if( pd_rel )  delete pd_obj;
  }

  @callables@

private:
  _omniT*                      pd_obj;
  CORBA::Boolean           pd_rel;
};
s¸   #if !defined(___tc_string_@n@__) && !defined(DISABLE_Unnamed_Bounded_String_TC)
#define ___tc_string_@n@__
_CORBA_GLOBAL_VAR _dyn_attr const CORBA::TypeCode_ptr _tc_string_@n@;
#endif
N(X   s   __doc__s   headers   footers   mains   main_includes   tcParser_unionHelpers   module_begins
   module_ends   POA_module_begins   POA_module_ends   POA_interfaces   interface_begins   interface_types   interface_objrefs   interface_pofs   interface_impls   interface_sks   interface_marshal_forwards   typedef_simple_to_arrays!   typedef_simple_to_array_static_fns   typedef_simple_to_array_externs   typedef_simple_strings   typedef_simple_typecodes   typedef_simple_anys   typedef_simple_basics   typedef_simple_constructeds   typedef_simple_objrefs   typedef_enum_oper_friends   typedef_arrays   typedef_array_externs   typedef_array_statics   typedef_array_copyHelpers   sequence_types   sequence_unbounded_ctorss   sequence_bounded_ctorss   sequence_var_array_subscripts   sequence_var_subscripts   sequence_vars   sequence_out_array_subscripts   sequence_out_subscripts   sequence_outs   structs   struct_nonarray_sequences   struct_normal_members	   exceptions   exception_array_declarators   exception_members   union_ctor_nonexhaustives   union_ctor_exhaustives   union_ctor_cases   union_ctor_bool_defaults   union_ctor_defaults   unions   union_unions   union_d_fn_bodys   union_constructor_implicits   union_constructor_defaults   union_implicit_defaults   union_tcParser_friends   union_proxy_floats   union_noproxy_floats   union_array_declarators   union_arrays	   union_anys   union_typecodes   union_basics   union_strings   union_objrefs   union_constructeds   union_sequences   union_members   enums   const_inclass_isintegers   const_inclass_notintegers   const_outsideclass_isintegers   const_outsideclass_notintegers   typecodes
   any_structs	   any_unions   any_enums   any_interfaces   any_array_declarators   any_sequences   any_exceptions   enum_operatorss   tie_templates   tie_template_olds   tcstring(W   s   any_exceptions   struct_normal_members   typedef_array_externs!   typedef_simple_to_array_static_fns   headers   any_array_declarators   enum_operatorss   sequence_out_array_subscripts   union_implicit_defaults   union_objrefs   structs   union_constructor_defaults   unions   union_typecodes   union_tcParser_friends   typedef_array_statics   const_inclass_isintegers   exception_members   interface_objrefs   union_members   typedef_simple_to_arrays   typedef_simple_objrefs   const_outsideclass_isintegers   const_inclass_notintegers   interface_begins   sequence_outs	   union_anys   union_ctor_exhaustives   tcstrings
   module_ends   typedef_array_copyHelpers
   any_structs	   exceptions   mains   union_ctor_defaults   POA_interfaces   sequence_out_subscripts   struct_nonarray_sequences   sequence_var_subscripts   interface_pofs   union_strings   union_ctor_bool_defaults   POA_module_ends   sequence_vars   union_unions   interface_sks   union_d_fn_bodys   typedef_simple_to_array_externs   interface_types   union_noproxy_floats   any_sequences	   any_unions   typedef_arrays   tcParser_unionHelpers   union_ctor_cases   const_outsideclass_notintegers   typedef_simple_anys   typedef_simple_constructeds   typedef_simple_strings   union_constructor_implicits   union_constructeds   sequence_var_array_subscripts   interface_impls   union_array_declarators   sequence_bounded_ctorss   union_arrays   union_basics   exception_array_declarators   typecodes   enums   POA_module_begins   union_proxy_floats   any_interfaces   union_sequences   sequence_types   typedef_simple_typecodes   sequence_unbounded_ctorss   footers   typedef_simple_basics   any_enums   main_includes   tie_template_olds   union_ctor_nonexhaustives   module_begins   tie_templates   typedef_enum_oper_friends   interface_marshal_forward(    (    s   ./cxx/header/template.pys   ?i s®   			O										 	$																										9			#					.								6											
			
																	
		&	1	