#!/bin/sh
# This is a shell archive. To unbundle, sh this file
# This archive contains : 
#
# printall 
# BLIPcard.pm 
# Control.pm 
# DAC.pm 
# Digital.pm 
# ElecModule.pm 
# FLIP3UDriver.pm 
# FLIP3UQBias.pm 
# FLIP3UQet.pm 
# FLIP3USquid.pm 
# GPIBbox.pm 
# GPIBconnection.pm 
# GPIBinstr.pm 
# RTFcard.pm 
# Savescript.pm 
# ZIPcard.pm 
# ZIPdriver.pm 
# ZIPqbias.pm 
# ZIPqet.pm 
# ZIPsquid.pm 
# object.pm 
# BLIPdriver.ps 
# Contents.ps 
# FLIP3UDriver.ps 
# FLIP3UQBias.ps 
# FLIP3UQet.ps 
# FLIP3USquid.ps 
# PerlInterface.ps 
# QETManual.ps 
# RTFdriver.ps 
# SQUIDManual.ps 
# SlowControl.ps 
# ZIPdriver.ps 
# bindertitle.ps 
# driverP.ps 
# netProtocol.ps 
# pkgdiagram.ps 
# qbias.ps 
# blip.pl 
# f3udriver.pl 
# f3uqbias.pl 
# rack.pl 
# readscript.pl 
# rtf.pl 
# zip.pl 
# ppdm06.fnal.gov-ZIPcard-3-5.out 
# testfile.out 
# test.rack 

echo printall 1>&2 
cat >printall << 'End of printall'
lpr bindertitle.ps
lpr Contents.ps
lpr pkgdiagram.ps
lpr PerlInterface.ps
lpr SlowControl.ps
lpr netProtocol.ps
lpr rack.pl
lpr test.rack
lpr object.pm
lpr Savescript.pm
lpr ElecModule.pm
lpr BLIPdriver.ps
lpr BLIPcard.pm
lpr FLIP3UDriver.ps
lpr driverP.ps
lpr FLIP3UDriver.pm
lpr FLIP3UQBias.ps
lpr qbias.ps
lpr FLIP3UQBias.pm
lpr FLIP3UQet.ps
lpr QETManual.ps
lpr FLIP3UQet.pm
lpr FLIP3USquid.ps
lpr SQUIDManual.ps
lpr FLIP3USquid.pm
lpr RTFdriver.ps
lpr RTFcard.pm
lpr ZIPdriver.ps
lpr ZIPcard.pm
lpr ZIPdriver.pm
lpr ZIPqbias.pm
lpr ZIPqet.pm
lpr ZIPsquid.pm
lpr Digital.pm
lpr Control.pm
lpr DAC.pm
lpr GPIBbox.pm
lpr GPIBconnection.pm
lpr GPIBinstr.pm
lpr readscript.pl
lpr testfile.out
lpr ppdm06.fnal.gov-ZIPcard-3-5.out
lpr blip.pl
lpr f3udriver.pl
lpr f3uqbias.pl
lpr rtf.pl
lpr zip.pl
End of printall
echo BLIPcard.pm 1>&2 
cat >BLIPcard.pm << 'End of BLIPcard.pm'
#! /usr/local/bin/perl 

package BLIPcard; 
#
#		BLIPcard.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  Control, DAC
#
#	Contains commands for setting and reading back the digital DACs and 
#	controls on the BLIP card.  Also contains routines for printing the
#	card settings.
#

require 5.002;
require ElecModule;

use Digital;
use Control;
use DAC;

@ISA = qw( ElecModule );

my %fields = ( 
  box             => undef,
  module          => undef,
  data            => undef,
  address         => undef,
  Mux             => undef,
  jumpers         => undef,
  IBAPACAP        => undef,
  Phonon2         => undef,
  QLED            => undef,
  Phonon1         => undef,
  Lockin          => undef,
  filename        => undef,
  muxNames        => {},
  qo              => undef,
  qi              => undef,
  implant         => undef,
  led             => undef,
  ci              => undef,
  co              => undef,
  ps2             => undef,
  ps1             => undef,
  outfile         => undef,
  Controls        => {},
  DACs            => {},
  scriptonly      => undef,
  class           => undef,
  Accumulate      => undef,
);
#
#                             Basic Functions
#
#--------------------------------------------------------------- BLIPcard::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = ElecModule->new($_[0],$_[1],$_[2]);
  $self->{_permitted} = \%fields;
  bless $self,$class;

  $self->class("BLIPcard");

  $self->IBAPACAP(new Control(9,"ciPulse","ciRange","coPulse","coRange","pPulse","pRange","pHeat","trigDelay"));
  $self->IBAPACAP->setData("0");
  $self->Phonon2(new Control(10,"ref","filter","var","div","gnd"));
  $self->Phonon2->setGroupSize("ref",2);
  $self->Phonon2->setData("3f");
  $self->QLED(new Control(11,"Qignd","Qpol","QiImon","QoImon","Qognd","polarity","pulse","on"));
  $self->QLED->setData("fd");
  $self->Phonon1(new Control(12,"ref","filter","var","div","gnd"));
  $self->Phonon1->setGroupSize("ref",2);
  $self->Phonon1->setData("3f");
  $self->Lockin(new Control(13,"bypass1","ext1","","vampFast","bypass2","ext2","","azfast"));
  $self->Lockin->setData("88");
  $self->Mux(new Control(14,"mux1","","mux2"));
  $self->Mux->setGroupSize("mux1",4);
  $self->Mux->setGroupSize("",4);
  $self->Mux->setGroupSize("mux2",4);

  $self->{muxNames}->{vamp1}   = 0;
  $self->{muxNames}->{vamp2}   = 1;
  $self->{muxNames}->{qoimon}  = 2;
  $self->{muxNames}->{qovmon}  = 3;
  $self->{muxNames}->{qiimon}  = 4;
  $self->{muxNames}->{qivmon}  = 5;
  $self->{muxNames}->{ledv}    = 6;
  $self->{muxNames}->{ledi}    = 7;
  $self->{muxNames}->{ps1bias} = 8;
  $self->{muxNames}->{ps2bias} = 9;
  $self->{muxNames}->{tsense}  = 10;
  $self->{muxNames}->{fethtr}  = 11;
  $self->qo      (new DAC(1,12,-10,10));
  $self->qi      (new DAC(2,12,-10,10));
  $self->implant (new DAC(3,12,0,10));
  $self->led     (new DAC(4,12,0,10));
  $self->ci      (new DAC(5,12,0,10));
  $self->co      (new DAC(6,12,0,10));
  $self->ps2     (new DAC(7,12,0,10));
  $self->ps1     (new DAC(8,12,0,10));
 
  $self->{Controls}->{QLED}        = $self->QLED;
  $self->{Controls}->{Lockin}      = $self->Lockin;
  $self->{Controls}->{Phonon1}     = $self->Phonon1;
  $self->{Controls}->{Phonon2}     = $self->Phonon2;
  $self->{Controls}->{IBAPACAP}    = $self->IBAPACAP;
  $self->{Controls}->{Mux}         = $self->Mux;
  $self->{DACs}->{Qouter}          = $self->qo;
  $self->{DACs}->{Qinner}          = $self->qi;
  $self->{DACs}->{Implant}         = $self->implant;
  $self->{DACs}->{LED}             = $self->led;
  $self->{DACs}->{Ci}              = $self->ci;
  $self->{DACs}->{Co}              = $self->co;
  $self->{DACs}->{PS1}             = $self->ps1;
  $self->{DACs}->{PS2}             = $self->ps2;

  my %dacs = %{$self->DACs};

  foreach $key (sort keys %dacs) {
      $dacs{$key}->setValue(0);
  }
  
  my $host = $self->box->host;

  if (($self->scriptonly) == 1) {
      $host = "script";
  }

  my $module  = $self->module; 
  my $subrack  = $self->box->subrack; 
  
  $self->filename("/tmp/$host-$class-$subrack-$module.out");
  $self->fromFile($self->filename);
  return $self;
}
#--------------------------------------------------------- BLIPcard::init
sub init{   #help: init resets registers to power-up states.
  my $self = shift;
  my $class = ref($self) || $self;
  my $module  = $self->module; 

  $self->QLED->setData("fd");
  $self->Lockin->setData("88");
  $self->Phonon1->setData("3f");
  $self->Phonon2->setData("3f");
  $self->IBAPACAP->setData("0");
  $self->qo->setValue(10);
  $self->qi->setValue(10);
  $self->implant->setValue(10);
  $self->led->setValue(10);
  $self->ci->setValue(10);
  $self->co->setValue(10);
  $self->ps2->setValue(10);
  $self->ps1->setValue(10);
  $self->Mux1("vamp1");
  $self->Mux2("vamp1");
  $self->toFile($self->filename);
}
#
#                                   Multiplexers.
#
#--------------------------------------------------------------- BLIPcard::Mux1
#help: Mux1,Mux2    Return the index of current channel on Mux1,2
#help: Mux1,2(which) Set Mux1,2 to the string "which". Possiblitites are vamp1,vamp2,QiImon,QiVmon,QoImon,QoVmon,LEDV,LEDI,PS1Bias,PS2Bias,TSense, or FETHtr
sub Mux1 {
  my $self = shift;
  my $i=0,$which=1;
  if ($#_ > -1) {
    my ($value,$which) = @_;
    $value = lc $value;
    if (!(exists $self->muxNames->{$value} )) {
      warn "Can't access `$value' field in object of muxNames \n";
      return;
    }
    $which = 1 if $which !=2;
    my $num = $self->muxNames->{$value};
    $self->Mux->setGroup("mux$which",$num);
    my $comment = "BLIP mux$which to $num";
    $self->writeControl($self->Mux,$comment);
  } else {
    return $self->mux1 if $which == 1;
    return $self->mux2 if $which == 2;
  }
}
#--------------------------------------------------------------- BLIPcard::Mux2
sub Mux2 {
  my $self = shift;
  return $self->Mux1(@_,2);
}
#
#                           Write the DAC's
#
#--------------------------------------------------------------- BLIPcard::QODAC
#help: QODAC(v)    set Qouter DAC to v Volts
sub QODAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP QouterDAC to $val volts";
  $self->qo->setValue($val);
  $self->writeControl($self->qo,$comment);
}
#--------------------------------------------------------------- BLIPcard::QIDAC
#help: QIDAC(v)    set Qinner DAC to v Volts
sub QIDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP QinnerDAC to $val volts";
  $self->qi->setValue($val);
  $self->writeControl($self->qi,$comment);
}
#--------------------------------------------------------------- BLIPcard::ImplantDAC
#help: ImplantDAC(v)    set Implant DAC (IBAPACAP) to v Volts
sub ImplantDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP ImplantDAC to $val volts";
  $self->implant->setValue($val);
  $self->writeControl($self->implant,$comment);
}
#--------------------------------------------------------------- BLIPcard::LEDDAC
#help: LEDDAC(v) set LED DAC to v Volts
sub LEDDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP LEDDAC to $val volts";
  $self->led->setValue($val);
  $self->writeControl($self->led,$comment);
}
#--------------------------------------------------------------- BLIPcard::ciDAC
#help: ciDAC(v)  set Cinner (IBAPACAP) DAC to v Volts
sub CinnerDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP CinnerDAC to $val volts";
  $self->ci->setValue($val);
  $self->writeControl($self->ci,$comment);
}
#--------------------------------------------------------------- BLIPcard::coDAC
#help: coDAC(v)    set Couter (IBAPACAP) DAC to v Volts
sub CouterDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP CouterDAC to $val volts";
  $self->co->setValue($val);
  $self->writeControl($self->co,$comment);
}
#--------------------------------------------------------------- BLIPcard::PS2DAC
#help: PS2DAC(v)    set Phonon Sensor 2 DAC to v Volts
sub PS2DAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "BLIP PS2DAC to $val volts";
  $self->ps2->setValue($val);
  $self->writeControl($self->ps2,$comment);
}
#--------------------------------------------------------------- BLIPcard::PS1DAC
#help: PS1DAC(v)    set Phonon Sensor 1 DAC to v Volts
sub PS1DAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = " BLIP PS1DAC to $val volts";
  $self->ps1->setValue($val);
  $self->writeControl($self->ps1,$comment);
}
#
#                               write the Control registers.
#
#--------------------------------------------------------------- BLIPcard::LEDOn
sub LEDOn {   # default true, val = 0, false.
  my $self = shift;
  my $val=0;
  my $comment = undef;
  if ($#_>-1) {
    ($val) = @_;
    if ($val > 0) {$val=0;} else {$val=1;}
  }
  if ($val == 0) {
      $comment = "BLIP LED On";
  } else {
      $comment = "BLIP LED Off";
  }
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("on",$val);
  $self->writeControl($self->QLED,$comment);
}
#---------------------------------------------------------- BLIPcard::LEDpulse
#help: LEDpulse(times=1)  Pulse the selected LED times times.
sub LEDpulse {   # default true, val = 0, false.
  my $self=shift;
  my $ntimes=1;
  my $i;
  if ($#_>-1){
    ($ntimes) = @_;
  }
  for ($i=0;$i<$ntimes;$i++) {
    $self->setLEDpulse($i%2);
  }
}
#--------------------------------------------------------------- BLIPcard::LEDOff
#help: LEDOff  turn off the LED.
sub LEDOff {
  my $self = shift;
  $self->LEDOn(0);
}
#---------------------------------------------------------- BLIPcard::setLEDpulse
sub setLEDpulse {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 0;
  if ($#_>-1) {
    ($val) = @_;
    if ($val > 0) {$val=0;} else {$val=1;}
  }
  if ($val == 0) {
      $comment = "BLIP Pulse LED";
  } else {
      $comment = "BLIP Unpulse LED";
  }
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("pulse",$val);
  $self->writeControl($self->QLED,$comment);
}

#--------------------------------------------------------- BLIPcard::LEDminus
#help: LEDminus Select the negative LED leg.
sub LEDminus {   # default true, val = 0, false.
  my $self = shift;
  $self->LEDplus(0);
}
#--------------------------------------------------------------- BLIPcard::LEDplus
#help: LEDplus Select the positive LED leg.
sub LEDplus {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val > 0) {
     $val=1;
     $comment = "BLIP LEDplus";
  } else {
     $val=0;
     $comment = "BLIP LEDminus";
  }
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("polarity",$val);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::QoImon
#help: QoImon Monitor current of outer Charge channel. Turn off by giving 0 as an argument.
sub QoImon {
  my $self = shift;
  my $comment = "BLIP QoImon";
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("QoImon",1);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::QiImon
sub QiImon {
  my $self = shift;
  my $comment = "BLIP QiImon";
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("QiImon",1);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::QiVmon
#help: QiVmon Monitor Voltage of inner Charge channel. Turn off by giving 0 as an argument.
sub QiVmon {
  my $self = shift;
  my $comment = "BLIP QiVmon";
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("QiImon",0);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::QoVmon
#help: QoVmon  Monitor Voltage of outer Charge channel.
sub QoVmon {
  my $self = shift;
  my $comment = "BLIP QoVmon";
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("QoVmon",0);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::Qpol
#help: Qpol(pol=0)  sets the polarity of the QAmps. Default=0 (positive).
sub Qpol {   # default true, val = 0, false.
  my $self = shift;
  my $val=0;
  if ($#_>-1) {
    ($val) = @_;
  }
  my $comment = "BLIP Qpolarity to $val";
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("Qpol",$val);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::gndQI
#help: gndQI(state=1) ground/unground Qi bias (state=1 grounds it)
#help: gndQO(state=1) ground/unground Qo bias (state=1 grounds it)
sub gndQI {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP ground Qi bias";
  } else {
     $comment = "BLIP unground Qi bias";
  }
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("Qignd",$val);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::gndQO
sub gndQO {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP ground Qo bias";
  } else {
     $comment = "BLIP unground Qo bias";
  }
  $self->QLED->fromFile($self->filename);
  $self->QLED->setGroup("Qognd",$val);
  $self->writeControl($self->QLED,$comment);
}
#--------------------------------------------------------------- BLIPcard::vampFast
#help: vampFast/Slow  set the fast/slow V amp setting
sub vampFast {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
      $comment = "BLIP fast V amp";
  } else {
      $comment = "BLIP slow V amp";
  }
  $self->Lockin->fromFile($self->filename);
  $self->Lockin->setGroup("vampFast",$val);
  $self->writeControl($self->Lockin,$comment);
}
#--------------------------------------------------------------- BLIPcard::vampSlow
sub vampSlow { my $self=shift; $self->vampFast(0);}
#--------------------------------------------------------------- BLIPcard::gndPS1
#help: gndPS1(state=1)  ground/unground PS 1 bias
sub gndPS1 {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1){
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP ground PS1 bias";
  } else {
     $comment = "BLIP unground PS1 bias";
  }
  $self->Phonon1->fromFile($self->filename);
  $self->Phonon1->setGroup("gnd",$val);
  $self->writeControl($self->Phonon1,$comment);
}
#--------------------------------------------------------------- BLIPcard::gndPS2
#help: gndPS2(state=1)  ground/unground PS 2 bias
sub gndPS2 {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP ground PS2 bias";
  } else {
     $comment = "BLIP unground PS2 bias";
  }
  $self->Phonon2->fromFile($self->filename);
  $self->Phonon2->setGroup("gnd",$val);
  $self->writeControl($self->Phonon2,$comment);
}
#--------------------------------------------------------------- BLIPcard::varPS1
#help: varPS1/2(variable=0)  select/deselect variable input in PS 1/2
sub varPS1 {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  $val = 0;
  if ($#_>-1) {
    ($val) = @_;
  }
  my $comment = "BLIP varPS1 $val";
  $self->Phonon1->fromFile($self->filename);
  $self->Phonon1->setGroup("var",$val);
  $self->writeControl($self->Phonon1,$comment);
}
#--------------------------------------------------------------- BLIPcard::varPS2
sub varPS2 {   #  use the variable signal? default true, val = 0, false.
  my $self = shift;
  my $val;
  $val = 0;
  if ($#_>-1) {
    ($val) = @_;
  }
  my $comment = "BLIP varPS2 $val";
  $self->Phonon2->fromFile($self->filename);
  $self->Phonon2->setGroup("var",$val);
  $self->writeControl($self->Phonon2,$comment);
}
#--------------------------------------------------------------- BLIPcard::divPS1
#help: divPS1/2(variable=0)  select/deselect divider in PS 1/2. (0 does NOT divide) 
sub divPS1 {   #  use the variable signal? default true, val = 0, false.
  my $self = shift;
  my $val = 1;
  my $comment = undef;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP divide PS1";
  } else {
     $comment = "BLIP undivide PS1";
  }
  $self->Phonon1->fromFile($self->filename);
  $self->Phonon1->setGroup("div",$val);
  $self->writeControl($self->Phonon1,$comment);
}
#--------------------------------------------------------------- BLIPcard::divPS2
sub divPS2 {   #  use the variable signal? default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP divide PS2";
  } else {
     $comment = "BLIP undivide PS2";
  }
  $self->Phonon2->fromFile($self->filename);
  $self->Phonon2->setGroup("div",$val);
  $self->writeControl($self->Phonon2,$comment);
}
#--------------------------------------------------------------- BLIPcard::filterPS1
#help: filterPS1/2(select=0)  select/deselect filter in PS 1/2. (default 0)
sub filterPS1 {   # Select the sin wave filter.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP filterPS1 on";
  } else {
     $comment = "BLIP undivide PS1";
  }
  $self->Phonon1->fromFile($self->filename);
  $self->Phonon1->setGroup("filter",$val);
  $self->writeControl($self->Phonon1,$comment);
}
#--------------------------------------------------------------- BLIPcard::filterPS2
sub filterPS2 {   # Select the sin wave filter.
  my $self = shift;
  my $val;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  my $comment = "BLIP filterPS2 $val";
  $self->Phonon2->fromFile($self->filename);
  $self->Phonon2->setGroup("filter",$val);
  $self->writeControl($self->Phonon2,$comment);
}
#--------------------------------------------------------------- BLIPcard::tenHz
#help:  tenHz  select the 10Hz reference in PS 1 and 2
sub tenHz {
  my $self = shift;
  $self->filterPS1; $self->filterPS2;         # both sin filters on.
  $self->refPS1(1); $self->refPS2(1);
}
#--------------------------------------------------------------- BLIPcard::kHz
#help:  kHz  select the 1kHz reference in PS 1 and 2
sub kHz {
  my $self = shift;
  $self->filterPS1; $self->filterPS2;         # both sin filters on.
  $self->refPS1(0); $self->refPS2(0);
}
#           Lockin Controls
#--------------------------------------------------------------- BLIPcard::bypass
#help:  bypass(bp=1) if bp=1, bypass the lockins. bp=0, don't
sub bypass {
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;       # 1 is to select filter (good).
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP bypass lockins";
  } else {
     $comment = "BLIP don't bypass lockins";
  }
  $self->Lockin->fromFile($self->filename);
  $self->Lockin->setGroup("bypass1",$val);
  $self->Lockin->setGroup("bypass2",$val);
  $self->writeControl($self->Lockin,$comment);
}
#--------------------------------------------------------------- BLIPcard::azFast
#help:  azFast/Slow set the fast/slow autoZero setting
sub azFast {
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;       # 1 is to select filter (good).
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "BLIP fast autoZero";
  } else {
     $comment = "BLIP slow autoZero";
  }
  $self->Lockin->fromFile($self->filename);
  $self->Lockin->setGroup("azfast",$val);
  $self->writeControl($self->Lockin,$comment);
}
#--------------------------------------------------------------- BLIPcard::azSlow
sub azSlow {my $self = shift; $self->azFast(0);}
#--------------------------------------------------------------- BLIPcard::refPS1
#help: refPS1/2(which=1) select lockin reference in PS 1/2. (default 1)
sub refPS1 {   # set which reference the PS1 bias will use
#              # this should decode a number from 0 to 3 into bits A,B.
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP refPS1 to $which";
  $self->Phonon1->fromFile($self->filename);
  $self->Phonon1->setGroup("ref",$which);
  $self->writeControl($self->Phonon1,$comment);
}
#--------------------------------------------------------------- BLIPcard::refPS2
sub refPS2 {   # set which reference the PS1 bias will use
#              # this should decode a number from 0 to 3 into bits A,B.
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP refPS2 to $which";
  $self->Phonon2->fromFile($self->filename);
  $self->Phonon2->setGroup("ref",$which);
  $self->writeControl($self->Phonon2,$comment);
}
# ---------------------------
#        IBAPACAP
#----------------------------
#--------------------------------------------------------------- BLIPcard::ciPulse
#help: ciPulse Pulse inner charge on IBAPACAP
sub ciPulse {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP ciPulse $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("ciPulse",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::ciRange
#help: ciRange Set inner charge range on IBAPACAP
sub ciRange {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP ciRange $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("ciRange",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::coPulse
#help: coPulse Pulse outer charge on IBAPACAP
sub coPulse {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP coPulse $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("coPulse",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::coRange
#help: coRange Set outer charge range on IBAPACAP
sub coRange {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP coRange $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("coRange",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::pPulse
#help: pPulse Pulse phonon on IBAPACAP
sub pPulse {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP pPulse $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("pPulse",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::pHeat
#help: pHeat Phonon heat on IBAPACAP
sub pHeat {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP pHeat $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("pHeat",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::pRange
#help: pRange Phonon range on IBAPACAP
sub pRange {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP pRange $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("pRange",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}
#--------------------------------------------------------------- BLIPcard::trigDelay
#help: trigDelay Phonon delay on IBAPACAP
sub trigDelay {   
  my $self = shift;
  my $which = "1";
  if ($#_>-1) {
    ($which) = @_; shift
  }
  my $comment = "BLIP trigDelay $which";
  $self->IBAPACAP->fromFile($self->filename);
  $self->IBAPACAP->setGroup("trigDelay",$which);
  $self->writeControl($self->IBAPACAP,$comment);
}





End of BLIPcard.pm
echo Control.pm 1>&2 
cat >Control.pm << 'End of Control.pm'
#! /usr/local/bin/perl5.003

package Control;
#
#               Control.pm
#
#       INHERITS FROM:  Digital    
#       CONTAINS:  None        
#
#	This package contains routines for initializing a control register and
#	for translating the user's command into the appropriate hex code for
#	the CSR.
#

require Digital;
@ISA = qw( Digital );

my %group = ();
my %groupSize = ();
my @name = [];
my %fields = (
  group     => \%group,
  groupSize => \%groupSize,
  name      => \@name,
  data      => undef,
  address   => undef,
  size      => undef,
  ngroups   => undef,
  filename  => undef,
);

#----------------------------------------------------------------- Control::new
sub new{    # arguments: Address of command, name1,name2,name3....
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = {};
  $self->{_permitted} = \%fields;
  bless $self,$class;

  $self->setAddress($_[0]);
  if ($#_ > 16) { print "Too many initial values in new Control\n"; }
  for ($i=1;$i<=$#_;$i++){
    $self->{name}->[$i-1] = $_[$i];
    $self->{group}->{$_[$i]} = 0;
    $self->{groupSize}->{$_[$i]} = 1;
  } 
  $self->size($#_);
  $self->ngroups($#_);
  return $self; 
}
#---------------------------------------------------------------- Control::setGroup
sub setGroup{
  my $self  = shift;
  my ($groupname,$val) = @_;
  if (!defined ($self->{group}->{$groupname})){print "No group $groupname\n";return;}
  my $mxbits = $self->{groupSize}->{$groupname};
  if ($val >= 1<<$mxbits) 
    {warn "ERROR $val needs too many bits for for $groupname (max: $mxbits bits)\n"; 
     warn "No action taken\n";
    return;}
  $self->{group}->{$groupname} = $val;
}
#---------------------------------------------------------------- Control::setAllGroupSize
sub setAllGroupSize{
  my $self  = shift;
  my ($val) = @_;
  my $i=0;

#  loop over groups, set the names to $groupname
  for ($i=0;$i<$self->ngroups;$i++){
    my $newsize = $self->size + $val-1;
    my $groupname = $self->{name}->[$i];
    $self->{groupSize}->{$groupname} = $val;
    $self->setControlSize($newsize);
  }
}
#---------------------------------------------------------------- Control::setGroupSize
sub setGroupSize{
  my $self  = shift;
  my ($groupname,$val) = @_;
  if (!defined ($self->{group}->{$groupname})){print "No group $groupname\n";return;}
  my $newsize = $self->size + $val-1;
  $self->{groupSize}->{$groupname} = $val;
  $self->setControlSize($newsize);
}
#---------------------------------------------------------------- Control::setControlSize
sub setControlSize{
  my $self = shift;
  my ($sz) = @_;
  if ($sz > 16) {warn "Warning: more than 16 bits ($sz) in Control";}
  $self->size($sz);
} 
#---------------------------------------------------------------- Control::dataWord
sub dataWord{              # turn the bits into a data word.
  my $self  = shift;
  my $word  = 0;
  my $val,$name;
  for ($ngroup=($self->ngroups)-1;$ngroup>=0;$ngroup--){
    $name = $self->getName($ngroup);
    $val = $self->{group}->{$name};
    $word = ($word << $self->{groupSize}->{$name}) | $val;
  }
  return (sprintf "%04x",$word);
}
#------------------------------------------------------------ Control::setData
sub setData{              # set the bits.
  my $self  = shift;
  my ($word) = @_;
  $word =~ s/ //;
  my $val,$name;
  $word = hex $word;
  my $beginning = 0,$mask;
  for ($ngroup=0; $ngroup<$self->ngroups; $ngroup++){
    $mask = 0;
    $name = $self->getName($ngroup);
    for ($nbit = 0; $nbit<$self->{groupSize}->{$name};$nbit++){
      $mask = $mask | (1<< $nbit);
    } 
    $mask = $mask << $beginning; 
    $val = ($word & $mask) >> $beginning;
    $self->setGroup($name,$val);
    $beginning += ($self->{groupSize}->{$name});
  }
} 
#------------------------------------------------------------ Control::print
sub print{
  my $self = shift;
  print "Address : ",$self->address,"\n";
  print " id,     name, value, capacity(bits)\n";
  for ($i=0;$i<$self->ngroups;$i++){
    my $name = $self->{name}->[$i];
    my $group  = $self->{group}->{$name};
    my $gsz    = $self->{groupSize}->{$name};
    printf "%2d %10s %4d %8d\n",$i,$name,$group,$gsz;
  }
  print "Data Word ",$self->dataWord,"\n";
  my $sz     = $self->size;
  print "Control Size $sz\n";
}
#------------------------------------------------------------ Control::getName
sub getName{
  my $self  = shift;
  my ($ngroup)= @_;
  return ($self->{name}->[$ngroup]);
}
End of Control.pm
echo DAC.pm 1>&2 
cat >DAC.pm << 'End of DAC.pm'
#! /usr/local/bin/perl5.003

package DAC;
#
#               DAC.pm
#
#       INHERITS FROM:  Digital    
#       CONTAINS:  None        
#
#	This package contains routines for initializing a DAC and for translating
#	the user's command into the appropriate hex codes for the DAC.
#

require Digital;
@ISA = qw( Digital );

my %fields = (
  address   => undef,
  bits      => undef,
  dataWord  => undef,
  min       => undef,
  max1      => undef,
  max       => undef,
  value     => undef,
  filename  => undef,
);

#-------------------------------------------------------------------- DAC::new
sub new{    # arguments: Address of command, size (in bits), min, max.
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = Digital->new;
  $self->{_permitted} = \%fields;
  bless $self,$class;

#  print "In DAC new...class is $class\n";
  $self->address($_[0]);
  $self->value("undef");
  $self->bits($_[1]);
  $self->min($_[2]);
  $self->max1($_[3]);
  my $tmp = ($self->max1)-((($self->max1)-($self->min))/((2**$self->bits)-1));
  $self->max($tmp);
  return $self; 
}
#----------------------------------------------------------- DAC::setData
sub setData{                   #help: setData(dataWord) set the bits in the DataWord.
  my $self = shift;
  my ($val) = @_;
  if ($val>2**$self->bits-1){ print "ERROR: DAC value $val exceeds max (",
                              $self->bits," bits)\n";return;}
  if ($val<0)        { print "ERROR: illegal DAC bit setting. \n";return;}
  $self->dataWord($val);
  $self->decode;
}
#-------------------------------------------------------------- DAC::decode
sub decode{                     #help: decode(bits) transform bit pattern to value.
  my $self = shift;
  my $val  = $self->dataWord;
  $val =~ s/ //;
  $val = hex $val;
  if ($val>2**$self->bits-1){ print "ERROR, $val > Maximum of DAC ($max)"; return;} 
  my $ratio = $val/(2**$self->bits-1);
  $self->value($self->min+$ratio*($self->max-$self->min)); 
}
#-------------------------------------------------------------- DAC::setValue
sub setValue{                   #help: setValue(val) transform value to bits.
  my $self = shift;
  my ($val) = @_;
  my $max1 = $self->max1;
  my $max = $self->max;
  my $min = $self->min;
  if ($val>$max1){ 
      print "ERROR, $val > Maximum output of DAC ($max)\n"; 
      return;
  }
  if ($val<$min){ 
      print "ERROR, $val < Minimum output of DAC ($min)\n"; 
      return;
  }
  if ($val>$max) {
      print "Setting to max of DAC, $max\n";
      $val = $max;
  }
  $self->value($val);
  my $range = (2**$self->bits)-1;
  my $dval = $range*($val-$min)/($max-$min);
  $self->dataWord(sprintf "%4x",$dval);
  $hval = $self->dataWord;
#  print "dac = $val, or $hval\n";
} 
#---------------------------------------------------------------- DAC::print
sub print{
  my $self = shift;
  print "Address : ",$self->address,"\n";
  print "Bits    : ",$self->bits,"\n";
  print "Data    : ",$self->dataWord,"\n";
  print "Value   : ",$self->value,"\n";
  print "Min     : ",$self->min,"\n";
  print "Max     : ",$self->max,"\n";
}
End of DAC.pm
echo Digital.pm 1>&2 
cat >Digital.pm << 'End of Digital.pm'
#! /usr/local/bin/perl5.003

package Digital;
#
#               Digital.pm
#
#       INHERITS FROM:  object
#       CONTAINS:  None
#
#	Contains routines common to all digital objects on an electronic 
#	card.  All of these routines handle the persistence mechanism for 
#	each digitol object.
#

require 5.002;
require object;

@ISA = qw( object );

my %fields = (
  filename => undef,
);

#-------------------------------------------------------------- Digital::new
sub new{    # 
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = object->new;
  $self->{_permitted} = \%fields;
  bless $self,$class;

#  print "in new Digital...$class is $class\n";
  return $self; 
}
#--------------------------------------------------------- Digital::setAddress
sub setAddress{
  my $self = shift;
  my ($val) = @_;
  $self->address($val);
}
#------------------------------------------------------- Digital::setFilename
sub setFilename{   #help: setFilename(filename) sets filename for storing Digital object.
  my $self = shift;
  if ($#_ > -1) {
    my ($filename) = @_;
    $self->filename($filename);
  }
}
#------------------------------------------------------- Digital::fromFile
sub fromFile{   #help: fromFile(filename) read settings of card from file
  my $self = shift;
  $self->setFilename(@_);
  my $hexval=0,$mask=0xff;
  my $filename = $self->filename;
  open (FILE,"<$filename") || return;
  my $dispose = <FILE>;
  while (<FILE>) {
    @Fld = split(' ',$_,9999);
    $hexval = hex $Fld[1];
    if (($hexval & $mask) == $self->address){
#     print "Address read is $Fld[1], which is ",$self->address,"\n";
      $self->setData($Fld[2]);
      return;
    }
  }
}
#------------------------------------------------------------ Digital::toFile
sub toFile{   #help: toFile(file,subrack,slot) save Control settings to a file
  my $self = shift;
  my ($filename,$subrack,$slot,$class) = @_;
  my $eol = $\;
  $\ = "";
  open (FILE,">>$filename") || warn "Can't write to $filename\n";
  my $hexline = sprintf "\n%04x %02x%02x %s %04x",
    $subrack,$slot,$self->address,$self->dataWord,0;
  print FILE "$hexline % $class";
  close FILE;
  $\ = $eol;
}

End of Digital.pm
echo ElecModule.pm 1>&2 
cat >ElecModule.pm << 'End of ElecModule.pm'
#! /usr/local/bin/perl

package ElecModule;
#
#		ElecModule.pm
#
#	INHERITS FROM:  object
#	CONTAINS:  Savescript, GPIBbox
#
#	ElecModule contains routines common to all electronics cards.  These fall
#	into four general categories:  routines for sending messages to (and
#	receiving messages from) the GPIB box, commands for saving scripts and
#	for enabling or disabling communications with the server, routines
#	for retrieving basic information from the card (such as the module type
#	and serial number), and routines for card persistence).
#

require 5.002;
require object;

use GPIBbox;
use Savescript;

@ISA = qw ( object );

my %fields = (
	      box        => undef,
	      module     => undef,
	      address    => undef,
	      data       => undef,
	      outfile    => undef,
	      jumpers    => undef,
	      Controls   => {},
	      DACs       => {},
	      filename   => undef,
	      scriptonly => undef,
	      class      => undef,
	      Accumulate => undef,
	      );
#
#
#------------------------------------------------------------ElecModule::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = object->new;
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my @Fld = @_;
    split @Fld;
    $self->box(new GPIBbox($Fld[0]));
    $self->module($Fld[1]);
    $self->scriptonly($Fld[2]);

    return $self;
}
#
#          Routines for sending messages to GPIB box
#
#------------------------------------------------------------ElecModule::setAddress
sub setAddress {
    my $self = shift;
    my ($value) = @_;
    # bitwise or the module with bits 8-12, and the value at bits 0-3
    my $Val = sprintf "%4x",$self->module() << 8 | $value;
    $self->address($Val);
}
#------------------------------------------------------------ElecModule::writeControl
sub writeControl {
    my $self = shift;
    my ($control) = $_[0];
    my $comment = $_[1];
    $self->setAddress($control->address);
    $self->data($control->dataWord());
    $self->toBox($comment);
}
#------------------------------------------------------------ElecModule::toBox
sub toBox {
    my $self = shift;
    my $comment = $_[0];
    my $subrack = $self->box->subrack;
    my $address = $self->address;
    my $data = $self->data;
    print "Address: ",$self->address," Data: ",$self->data,"\n";
    print "$comment\n";
    if (defined($self->outfile)) {
	$self->outfile->AddLine($subrack,$address,$data,0,$comment);
    }
    $self->toFile($self->filename);
    if ($self->scriptonly != 1) {
	if ($self->Accumulate eq "accumulate") {
	    $self->box->GPIBconn->addAddress($self->box->current,$address,
					     $subrack);
	    $self->box->GPIBconn->addData($self->box->current,$data,
					  $subrack);
	} else {
	    $self->box->writeAddress($self->address);
	    $self->box->writeData($self->data);
	}
    } 
}
#------------------------------------------------------------ElecModule::readControl
sub readControl {
    my $self = shift;
    my $control = $_[0];
    my $comment = $_[1];
    $self->setAddress($control->address);
    return ($self->fromBox($comment));
}
#------------------------------------------------------------ElecModule::fromBox
sub fromBox {
    my $self = shift;
    my $comment = $_[0];
    my $dataWord = undef;
    if ($self->scriptonly != 1) {
	print "Reading data now\n";
	$dataWord = ($self->box->readData($self->address));
	print "$dataWord\n";
    }
    my $pattern = sprintf "%4x",$dataWord;
    $self->data($pattern);
    $self->toFile($self->filename);
    print "Address: ",$self->address," Read Data: ",$pattern,"\n";
    print "$comment\n";
    if (defined($self->outfile)) {
	$subrack = $self->box->subrack;
	$address = $self->address;
	$data = $self->data;
	$self->outfile->AddLine($subrack,$address,$data,1,$comment);
    }
    return $pattern;
}
#------------------------------------------------------------ElecModule::accumulate
#help: accumulate(void) holds off sending commands to GPIB box until an execute command is given
sub accumulate {
    my $self = shift;
    $self->Accumulate("accumulate");
    my $class = $self->class;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    $self->filename("/tmp/accum-$class-$subrack-$module.out");
    $self->toFile($self->filename);
}
#------------------------------------------------------------ElecModule::unaccumulate
#help: unaccumulate(void) turns off accumulation feature
sub unaccumulate {
    my $self = shift;
    $self->Accumulate(undef);
    my $class = $self->class;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    my $host = $self->box->host;
    $self->filename("/tmp/$host-$class-$subrack-$module.out");
    $self->fromFile($self->filename);
}
#------------------------------------------------------------ElecModule::execute
#help: execute(void) executes all stored up commands for GPIB box
sub execute {
    my $self = shift;
    $self->box->GPIBconn->execute();
    my $class = $self->class;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    my $host = $self->box->host;
    $self->toFile("/tmp/$host-$class-$subrack-$module.out");
}
#
#           Script saving section
#
#------------------------------------------------------------ElecModule::saveScript
#help: saveScript("filename",#)  Saves hex output to filename.
sub saveScript {
    my $self = shift;
    my $savefile = $_[0];
    my $answer = $_[1];
    my $class = $self->class;
    $self->outfile( new Savescript($savefile));
    $self->outfile->openFile($answer,$class);
}
#------------------------------------------------------------ElecModule::endScript 
#help: endScript() Ends save to script.
sub endScript {
    my $self = shift;
    $self->outfile->CloseFile();
}
#------------------------------------------------------------ElecModule::enableBox
#help: enableBox(value) unless input value is 400, enables output to GPIBbox
sub enableBox {
    my $self = shift;
    my $scriptonly = $_[0];
    my $host = $self->box->host;
    my $class = $self->class;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    my $filename = undef;
    if ($scriptonly == 400) {
	$scriptonly = 1;
	$self->scriptonly($scriptonly);
	$host = "script";
	$self->filename("/tmp/$host-$class-$subrack-$module.out");
	$self->fromFile($self->filename);
    } else {
	$scriptonly = undef;
	$self->scriptonly($scriptonly);
	$self->filename("/tmp/$host-$class-$subrack-$module.out");
	$self->fromFile($self->filename);
    }
}
#------------------------------------------------------------ElecModule::disableBox
#help disableBox() disables output to GPIBbox
sub disableBox {
    my $self = shift;
    $self->enableBox(400);
}
#
#          Card information section - routines to display info about
#          current card.
#
#------------------------------------------------------------ElecModule::serial
sub readser {
    my $self = shift;
    $self->setAddress(0);
    $self->jumpers($self->box->readData($self->address));
}
#------------------------------------------------------------ElecModule::card
sub card {
    my $self = shift;
    $self->readser;
    my $card = $self->jumpers >> 12;
    $card = $card & 0xF;
    print "Card: $card   ";
    if ($card == 1) {
	print "(BLIP card)\n";
    } elsif ($card == 2) {
	print "(RTF card)\n";
    } elsif ($card == 3) {
	print "(Monitor card)\n";
    } else {
	print "(Unknown card type)\n";
    }
    return $card;
}
#------------------------------------------------------------ElecModule::version
sub version {
    my $self = shift;
    $self->readser;
    my $ver = $self->jumpers >> 8;
    $ver = $ver & 0xF;
    print "Version:  $ver\n";
    return $ver;
}
#------------------------------------------------------------ElecModule::serial
sub serial {
    my $self = shift;
    $self->readser;
    my $ser = $self->jumpers;
    $ser = $ser & 0x00FF;
    print "Serial number:  $ser\n";
    return $ser;
}
#------------------------------------------------------------ElecModule::cardinfo
#help cardinfo returns card type, version number, and serial number of card
sub cardinfo {
    my $self = shift;
    $self->card;
    $self->version;
    $self->serial;
}
#------------------------------------------------------------ElecModule::print
#help: print(void) prints information about calling card
sub print {
    my $self = shift;
    my $valref = undef;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    $self->fromFile($self->filename);
    $self->box->print();
    print ">> Module:      ",$self->module(),"\n";
    print ">> Address: 0x",$self->address(),"\n";
    print ">> Data:    0x",$self->data(),"\n";
    foreach $key (sort keys %controls) {
	print ">> $key Control\n"; $controls{$key}->print;
    }
    print "\nDACs:\n\n";
    foreach $key (sort keys %dacs) {
	print ">> $key DAC \n"; $dacs{$key}->print;
    }
}
#------------------------------------------------------------ElecModule::cardtype
#help: cardtype(void) returns card type from class variable
sub cardtype {
    my $self = shift;
    $class = $self->class;
    print "Card is of type $class\n";
}
#
#       Persistence and resets.  Note that init is placed in each card section
#       because it requires specific values.
#
#------------------------------------------------------------ElecModule::powerUp
#help: powerUp resets registers to what they were before the last power switch
sub powerUp {
    my $self = shift;
    $self->fromFile($self->filename);
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    my $class = $self->class;
    my $comment = "$class";
    $self->fromFile($self->filename);
    foreach $key (sort keys %controls) {
	$self->writeControl($controls{$key},$class);
    }
    foreach $key (sort keys %dacs) {
	$self->writeControl($dacs{$key},$class);
    }
}
#------------------------------------------------------------ElecModule::toFile
#help: toFile(filename) save settings of card to filename
sub toFile {
    my $self = shift;
    my ($filename) = $_[0];
    my $module = $self->module();
    my $subrack = $self->box->subrack;
    my $class = $self->class;
    $class =~ s/card//;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    unlink("$filename");
    foreach $key (sort keys %controls) {
	$controls{$key}->toFile($filename,$subrack,$module,$class);
    }
    foreach $key (sort keys %dacs) {
	$dacs{$key}->toFile($filename,$subrack,$module,$class);
    }
    chmod(0666,"$filename");
}
#------------------------------------------------------------ElecModule::fromFile
#help: fromFile(filename) read settings of card from file
sub fromFile {
    my $self = shift;
    my $filename;
    if ($#_<0) {
	$filename = $self->filename;
    } else {
	$filename = $_[0];
    }
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    foreach $key (sort keys %controls) {
	$controls{$key}->fromFile($filename);
    }
    foreach $key (sort keys %dacs) {
	$dacs{$key}->fromFile($filename);
    }
}
#------------------------------------------------------------ElecModule::updateFile
#help: updateFile(filename) read settings of card from card and update persistence file accordingly
sub updateFile {
    my $self = shift;
    my $filename;
    if ($#_<0) {
	$filename = $self->filename;
    } else {
	$filename = $_[0];
    }
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    foreach $key (sort keys %controls) {
	my $bits = $self->readControl($controls{$key});
	$controls{$key}->setData($bits);
    }
    foreach $key (sort keys %dacs) {
	my $bits = $self->readControl($dacs{$key});
	if ($bits == "ffff") {
	    $bits = "800";
	}
	$dacs{$key}->setData($bits);
    }
    $self->toFile($filename);
}


    


End of ElecModule.pm
echo FLIP3UDriver.pm 1>&2 
cat >FLIP3UDriver.pm << 'End of FLIP3UDriver.pm'
#! /usr/local/bin/perl 

package FLIP3UDriver; 
#
#		FLIP3UDriver.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  Control, DAC
#
#	Contains commands fro setting and reading back the digital DACs and
#	controls on the FLIP3U Driver card.
#

require 5.002;
require ElecModule;

use GPIBbox;
use Control;
use DAC; 

@ISA = qw( ElecModule );

my @offset = [];
my %fields = ( 
  box             => undef,
  module          => undef,
  data            => undef,
  address         => undef,
  gains1          => undef,
  gains2          => undef,
  offset          => \@offset,
  Controls        => {},
  DACs            => {},
  scriptonly      => undef,
  filename        => undef,
  outfile         => undef,
  class           => undef,
  Accumulate      => undef,
);
#
#                             Basic Functions
#
#--------------------------------------------------------------- FLIP3UDriver::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = ElecModule->new($_[0],$_[1],$_[2]);
  $self->{_permitted} = \%fields;
  bless $self,$class;

  $self->class("FLIP3UDriver");

  $self->gains1(new Control(3,"ch0","","ch1","","ch2","","p0","p1","p2"));
  $self->gains1->setGroupSize("ch0",3);
  $self->gains1->setGroupSize("ch1",3);
  $self->gains1->setGroupSize("ch2",3);
  $self->gains2(new Control(7,"ch3","","ch4","","ch5","","p3","p4","p5","reset"));
  $self->gains2->setGroupSize("ch3",3);
  $self->gains2->setGroupSize("ch4",3);
  $self->gains2->setGroupSize("ch5",3);

  my $i=0;
  for ($i=0;$i<6;$i++){                        # setup the 6 DAC's
    my $j=$i;
    if ($j>=3) { $j++;}
    $self->{offset}->[$i] = new DAC($j,12,-5,5);
  }

  $self->{Controls}->{Gains1}    = $self->gains1;
  $self->{Controls}->{Gains2}    = $self->gains2;
  $self->{DACs}->{Offset0}       = $self->{offset}->[0];
  $self->{DACs}->{Offset1}       = $self->{offset}->[1];
  $self->{DACs}->{Offset2}       = $self->{offset}->[2];
  $self->{DACs}->{Offset3}       = $self->{offset}->[3];
  $self->{DACs}->{Offset4}       = $self->{offset}->[4];
  $self->{DACs}->{Offset5}       = $self->{offset}->[5];
 
  my $host = $self->box->host;

 if (($self->scriptonly) == 1) {
      $host = "script";
  }
 
  my $module = $self->module;
  my $subrack = $self->box->subrack;

  $self->filename("/tmp/$host-$class-$subrack-$module.out");
  $self->fromFile($self->filename);

  return $self;
}
#--------------------------------------------------------------- FLIP3UDriver::init
#help: init(void) returns computer memory to power up state of card
sub init {
    my $self = shift;
    $self->gains1->setData("0");
    $self->gains2->setData("0");
    my $i = 0;
    for ($i=0;$i<6;$i++) {
	$self->{offset}->[$i]->setValue(0);
    }
}
#--------------------------------------------------------------- FLIP3UDriver::readCard
#help: readCard  Reads the offsets and Gains from the card, and updates variables.
sub readCard {
  my $self = shift;
  my $channel=0;
  for ($channel=0;$channel<6;$channel++){
    $self->readOffset($channel);
  }
  $self->readGains;
}
#--------------------------------------------------------------- FLIP3UDriver::getOffset
#help: getOffset(channel)  Returns the offset DAC on channel.
sub getOffset {
  my $self = shift;
  my ($channel) = @_;
  if (($channel>5) || ($channel <0)) { 
      print "No such DAC\n" ;
      return; 
  }
  my $val = $self->{offset}->[$channel]->value;
  print "FLIP3UDriver Offset$channel is  set to $val\n";
}
#--------------------------------------------------------------- FLIP3UDriver::readOffset
#help: readOffset(channel)  Reads the offset DAC on channel and updates variable.
sub readOffset {
  my $self = shift;
  my ($channel) = @_;
  unless (defined($channel)) {
      for ($i=0;$i<6;$i++) {
	  $self->readOffset($i);
      }
      return;
  }
  if (($channel>5) || ($channel <0)) { 
      print "No such DAC\n" ;
      return; 
  }
  my $comment = "FLIP3UDriver Read Offset$channel";
  my $bits = $self->readControl($self->{offset}->[$channel],$comment);
  if ($bits == "ffff") {
      $bits = "800";
  }
  $self->{offset}->[$channel]->setData($bits);
}
#--------------------------------------------------------------- FLIP3UDriver::setOffset
#help: setOffset(channel,value)  Sets the offset DAC on channel to value.
sub setOffset {
  my $self = shift;
  my $channel = undef;
  my $val = undef;
  if ($#_ == 1) {
      ($channel,$val) = @_;
  } elsif ($#_ == 0) {
      $val = $_[0];
      for ($i=0;$i<6;$i++) {
	  $self->setOffset($i,$val);
      }
      return;
  }
  my $comment = "FLIP3UDriver Offset$channel to $val";
  if (($channel > 5) || ($channel < 0)) { 
      print "No such DAC\n";
      return; 
  }
  $self->{offset}->[$channel]->setValue($val);
  $self->writeControl($self->{offset}->[$channel],$comment);
}
#--------------------------------------------------------------- FLIP3UDriver::gainIndex
# #  help: gainIndex(channel,index)  set gain on channel to index 0-7
sub gainIndex {
  my $self = shift;
  my $channel = undef;
  my $index = undef;
  if ($#_ == 1) {
      ($channel,$index) = @_;
  } elsif ($#_ == 0) {
      $index = $_[0];
      for ($i=0;$i<6;$i++) {
	  $self->gainIndex($i,$index);
      }
      return;
  }
  my @gains = ( 1,1.43,2,5,10,14.3,20,50);
  my $comment = "FLIP3UDriver gain on ch$channel to $gains[$index], index $index";
  if ($channel<3) {
    $self->gains1->setGroup("ch$channel",$index);
    $self->writeControl($self->gains1,$comment);
  } 
  elsif ($channel<6) {
    $self->gains2->setGroup("ch$channel",$index);
    $self->writeControl($self->gains2,$comment);
  }
  else {
      return;
  }
}
#--------------------------------------------------------------- FLIP3UDriver::polarity
# #  help: polarity(channel,value)  set polarity on channel to pos or neg
sub polarity {
  my $self = shift;
  my $channel = undef;
  my $val = undef;
  if ($#_ == 1) {
      ($channel,$val) = @_;
  } elsif ($#_ == 0) {
      $val = $_[0];
      for ($i=0;$i<6;$i++) {
	  $self->polarity($i,$val);
      }
      return;
  }
  my $comment = "FLIP3UDriver Polarity ch$channel to $val";
  if ($val>0) {
      $val=1;
  } else {
      $val=0;
  }
  if ($channel<3) {
    $self->gains1->setGroup("p$channel",$val);
    $self->writeControl($self->gains1,$comment);
  } elsif ($channel<6){
    $self->gains2->setGroup("p$channel",$val);
    $self->writeControl($self->gains2,$comment);
  } 
}
#--------------------------------------------------------------- FLIP3UDriver::reset
#help: reset  reset module
sub reset {
  my $self = shift;
  my $comment = "FLIP3UDriver reset card";
  $self->gains2->setGroup("reset",1);
  $self->writeControl($self->gains2,$comment);
  $self->init;
  $self->setGain(1);
}
#--------------------------------------------------------------- FLIP3UDriver::readGains
#help: readGains reads the gains from the card (using the readback feature).
sub readGains {
  my $self=shift;
  my $comment = "FLIP3UDriver read Gains1";
  my $bits1 = $self->readControl($self->gains1,$comment);
  $comment = "FLIP3UDriver read Gains2";
  my $bits2 = $self->readControl($self->gains2,$comment);
  $self->gains1->setData($bits1);
  $self->gains2->setData($bits2);
}
#--------------------------------------------------------------- FLIP3UDriver::setGain
#help: setGain(channel,gain)  set channel to the nearest gain possible to gain.t Gain can be positive or negative.
sub setGain {
  my $self=shift;
  my $channel = undef;
  my $gain = undef;
  if ($#_ == 1) {
      ($channel,$gain) = @_;
  } elsif ($#_ == 0) {
      $gain = $_[0];
      for ($i=0;$i<6;$i++) {
	  $self->setGain($i,$gain);
      }
      return;
  }
  my $i=0;
  my $newGain=0;
  my @gainValues = ( 1,1.43,2,5,10,14.3,20,50);
#  $self->readGains;       # first set the variables to what the card says.
  for ($i=0;$i<=$#gainValues;$i++){
    if (abs($gain)>=$gainValues[$i]) {
      $newIndex = $i; 
    }
  }
  $self->gainIndex($channel,$newIndex);
  if ($gain<0) {
    $self->polarity($channel,1);
  } else {
    $self->polarity($channel,0);
  }
}





End of FLIP3UDriver.pm
echo FLIP3UQBias.pm 1>&2 
cat >FLIP3UQBias.pm << 'End of FLIP3UQBias.pm'
#! /usr/local/bin/perl 

package FLIP3UQBias; 
#
#		FLIP3UQBias.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  Control, DAC
#
#	Contains commands for setting and reading back the digital controls
#	and DACs on the FLIP3U QBias card.
#

require 5.002;
require object;
require ElecModule;

use Control;
use DAC; 

@ISA = qw( ElecModule );

my %fields = ( 
  box             => undef,
  module          => undef,
  data            => undef,
  address         => undef,
  firstLED        => undef,
  secondLED       => undef,
  bias            => undef,
  Qibias          => undef,
  Qobias          => undef,
  LED1bias        => undef,
  LED2bias        => undef,
  filename        => undef,
  outfile         => undef,
  Controls        => {},
  DACs            => {},
  jumpers         => undef,
  scriptonly      => undef,
  class           => undef,
  Accumulate      => undef,
);
#
#                             Basic Functions
#
#--------------------------------------------------------------- FLIP3UQBias::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = ElecModule->new($_[0],$_[1],$_[2]);
  $self->{_permitted} = \%fields;
  bless $self,$class;

  $self->class("FLIP3UQBias");

  $self->firstLED(new Control(4,"LED1on","LED1cont","LED1rep","LED1long",
			      "LED2on","LED2cont","LED2rep","LED2long",
			      "Vignd","Vognd","","","LED1fire",
			      "LED2fire","","reset"));
  $self->secondLED(new Control(5,"LED1width","LED1rate",
			       "LED2width","LED2rate"));
  $self->secondLED->setAllGroupSize(4);

  $self->Qibias(new DAC(0,12,-5,5));
  $self->Qobias(new DAC(1,12,-5,5));
  $self->LED1bias(new DAC(2,12,-5,5));
  $self->LED2bias(new DAC(3,12,-5,5));

  $self->{Controls}->{FirstLED}       = $self->firstLED;
  $self->{Controls}->{SecondLED}      = $self->secondLED;
  $self->{DACs}->{Qibias}             = $self->Qibias;
  $self->{DACs}->{Qobias}             = $self->Qobias;
  $self->{DACs}->{LED1bias}           = $self->LED1bias;
  $self->{DACs}->{LED2bias}           = $self->LED2bias;

  my $host = $self->box->host;

  if (($self->scriptonly) == 1) {
      $host = "script";
  }

  my $subrack = $self->box->subrack;
  my $module = $self->module;

  $self->filename("/tmp/$host-$class-$subrack-$module.out");
  $self->fromFile($self->filename);

  return $self;
}
#--------------------------------------------------------------- FLIP3UQBias::init
#help:  init(void) returns card (and memory) to card's power up states
sub init {
    my $self = shift;
    $self->firstLED->setData("0");
    $self->secondLED->setData("0");
    $self->Qibias->setValue(0);
    $self->Qobias->setValue(0);
    $self->LED1bias->setValue(0);
    $self->LED2bias->setValue(0);
    $self->toFile($self->filename);
}
#                  Write the Control Registers
#
#--------------------------------------------------------------- FLIP3UQBias::LEDOn
#help LEDOn(LEDnumber,value) turns LEDnumber on if value = 1.  LEDnumber = 3 turns both on.  Omitting value turns to on.
sub LEDOn {
    my $self = shift;
    my $number = undef;
    my $val = undef;
    if ($#_ == 1) {
	($number, $val) = @_;
    } elsif ($#_ == 0) {
	$number = $_[0];
	$val = 1;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDOn(1,$val);
	$self->LEDOn(2,$val);
    }

    if ($val == 1) {
	$val = 1;
	$comment = "FLIP 3UDriver LED $number On";
    } else {
	$val=0;
	$comment = "FLIP 3UDriver LED $number Off";
    }
    if ($number == 1) {
	$self->firstLED->fromFile($self->filename);
	$self->firstLED->setGroup("LED1on",$val);
	$self->writeControl($self->firstLED,$comment);
    } elsif ($number == 2) {
	$self->firstLED->fromFile($self->filename);
	$self->firstLED->setGroup("LED2on",$val);
	$self->writeControl($self->firstLED,$comment);
    }
}    
#--------------------------------------------------------------- FLIP#UQBias::LEDOff
#help: LEDOff(LEDnumber) turn LED number off, defaults to turning both off
sub LEDOff {
    my $self = shift;
    if ($#_ > -1) {
	my $number = $_[0];
	$self->LEDOn($number,0);
    } else {
	$self->LEDOn(3,0);
    }
}
#--------------------------------------------------------- FLIP3UQBias::LEDWidthIndex
sub LEDWidthIndex {
    my $self = shift;
    my $index = undef;
    my $number = undef;
    my $comment = undef;
    my $unit = 100;                           # units for width
    if ($#_ == 0) {
	$index = $_[0];
	$self->LEDWidthIndex(1,$index);
	$self->LEDWidthIndex(2,$index);
	return;
    } elsif ($#_ == 1) {
	($number,$index) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDWidthIndex(1,$index);
	$self->LEDWidthIndex(2,$index);
	return;
    }
    $comment = "FLIP3UQBias LED$number width bits to $index";
    $self->secondLED->fromFile($self->filename);
    $self->secondLED->setGroup("LED${number}width",$index);
    $self->writeControl($self->secondLED,$comment);
}
#---------------------------------------------------------- FLIP3UQBias::LEDWidth
#help: LEDWidth(number,width) sets LEDnumber width to closest possible value of width, less than input value.  If number = 3, sets both LEDs to index
sub LEDWidth {
    my $self = shift;
    my $index = undef;
    my $number = width;
    my $unit = undef;                           #units for width
    my $width = undef;
    if ($#_ == 0) {
	$width = $_[0];
	$self->LEDWidth(3,$width);
	return;
    } elsif ($#_ == 1) {
	($number,$width) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($width >= 200) {
	$unit = 200;
	$self->LEDLongPulse($number);
	$index = (int($width/$unit) - 1);
    } else {
	$unit = 5;
	$self->LEDShortPulse($number);
	$index = (int($width/$unit) - 1);
    }
    if ($index > 15) {
	print "Exceeded max index, setting to index 15\n";
	$index = 15;
    } elsif ($index < 0) {
	print "Below min index, setting to index 0\n";
	$index = 0;
    }
    $self->LEDWidthIndex($number,$index);

}
#-----------------------------------------------------------FLIP3UQBias::LEDPeriodIndex
sub LEDPeriodIndex {
    my $self = shift;
    my $rate = undef;
    my $index = undef;
    my $number = undef;
    my $comment = undef;
    my $unit = 100;
    if ($#_ == 0) {
	$index = $_[0];
	$self->LEDPeriodIndex(3,$index);
	return;
    } elsif ($#_ == 1) {
	($number,$index) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDPeriodIndex(1,$index);
	$self->LEDPeriodIndex(2,$index);
	return;
    }
    $rate = ($index + 1) * $unit;
    $comment = "FLIP3UQBias LED$number rate to $rate, bits to $index";
    $self->secondLED->fromFile($self->filename);
    $self->secondLED->setGroup("LED${number}rate",$index);
    $self->writeControl($self->secondLED,$comment);
}
#---------------------------------------------------------- FLIP3UQBias::LEDPeriod
#help: LEDPeriod(number,period) sets LEDnumber rate to closest possible period, less than input value.  If number = 3, sets both LEDs to period
sub LEDPeriod {
    my $self = shift;
    my $index = undef;
    my $number = undef;;
    my $unit = 100;                           # units for period
    my $rate = undef;
    if ($#_ == 0) {
	$rate = $_[0];
	$self->LEDPeriod(3,$rate);
	return;
    } elsif ($#_ == 1) {
	($number,$rate) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    $index = (int($rate/$unit) - 1);
    if ($index > 15) {
	print "Max rate is 1600 ms, setting to that\n";
	$index = 15;
    } elsif ($index <0) {
	print "Min rate is 100 ms, setting to that\n";
	$index = 0;
    }
    $self->LEDPeriodIndex($number,$index);

}
#------------------------------------------------------------FLIP3UQBias::gndVI
#help: gndVI(state=1) ground/unground Vi bias (state=1 grounds it)
#help: gndVO(state=1) ground/unground Vo bias (state=1 grounds it)
sub gndVI {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "FLIP3UQBias ground Vi bias";
  } else {
     $comment = "FLIP3UQBias unground Vi bias";
  }
  $self->firstLED->fromFile($self->filename);
  $self->firstLED->setGroup("Vignd",$val);
  $self->writeControl($self->firstLED,$comment);
}
#--------------------------------------------------------------- FLIP3UBias::gndVO
sub gndVO {   # default true, val = 0, false.
  my $self = shift;
  my $val;
  my $comment = undef;
  $val = 1;
  if ($#_>-1) {
    ($val) = @_;
  }
  if ($val == 1) {
     $comment = "FLIP 3UDriver ground Vo bias";
  } else {
     $comment = "FLIP 3UDriver unground Vo bias";
  }
  $self->firstLED->fromFile($self->filename);
  $self->firstLED->setGroup("Vognd",$val);
  $self->writeControl($self->firstLED,$comment);
}
#--------------------------------------------------------------- FLIP3UQBias::reset
#help: reset  reset module
sub reset {
  my $self = shift;
  my $comment = "FLIP3UQBias reset card";
  $self->firstLED->setGroup("reset",1);
  $self->writeControl($self->firstLED,$comment);
  $self->init;
}
#--------------------------------------------------------------FLIP3UQBias::LEDShortPulse
#help: LEDShortPulse(number,value) sets LEDnumber to 0 = short, 1 = long.  If number = 3, sets both LEDs to value. If value is omitted, sets to short
sub LEDShortPulse {
    my $self = shift;
    my $val = undef;
    my $number = undef;
    my $comment = undef;
    if ($#_ == 0) {
	($number) = @_;
	$val = 0;
    } elsif ($#_ == 1) {
	($number,$val) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDShortPulse(1,$val);
	$self->LEDShortPulse(2,$val);
	return;
    }
    if ($val == 1) {
	$comment = "FLIP3UQBias LED$number long";
    } elsif ($val == 0) {
	$comment = "FLIP3UQBias LED$number short";
    }
    $self->firstLED->fromFile($self->filename);
    $self->firstLED->setGroup("LED${number}long",$val);
    $self->writeControl($self->firstLED,$comment);
}
#-------------------------------------------------------------- FLIP3UQBias::LEDLongPulse
#help: LEDLongPulse(number) sets LEDnumber to long.  If number = 3, sets both to long
sub LEDLongPulse {
    my $self = shift;
    my $number = 0;
    if ($#_ > -1) {
	$number = $_[0];
	$self->LEDShortPulse($number,1);
    } else {
	$self->LEDShortPulse(3,1);
    }
}
#----------------------------------------------------------------- FLIP3UQBias::LEDRepMode
#help: LEDRepMode(number) sets LEDnumber to repetitive mode.  If number = 3, sets both LEDs to rep.
sub LEDRepMode {
    my $self = shift;
    my $val = 1;
    my $number = $_[0];
    my $comment = undef;
    if ($number == 3) {
	$self->LEDRepMode(1);
	$self->LEDRepMode(2);
	return;
    }
    $comment = "FLIP3UQBias LED$number to repetitive mode";
    $self->firstLED->fromFile($self->filename);
    $self->firstLED->setGroup("LED${number}rep",$val);
    $self->writeControl($self->firstLED,$comment);
}
#----------------------------------------------------------------- FLIP3UQBias::LEDSingleMode
#help: LEDSingleMode(number) sets LEDnumber to single fire mode.  If number = 3, sets both to single
sub LEDSingleMode {
    my $self = shift;
    my $number = $_[0];
    my $val = 0;
    my $comment = undef;
    if ($number == 3) {
	$self->LEDSingleMode(1);
	$self->LEDSingleMode(2);
	return;
    }
    $comment = "FLIP3UQBias LED$number to single mode";
    $self->firstLED->fromFile($self->filename);
    $self->firstLED->setGroup("LED${number}rep",$val);
    $self->writeControl($self->firstLED,$comment);
}
#----------------------------------------------------------------- FLIP3UQBias::LEDPulseMode
#help: LEDPulseMode(number,value) sets LEDnumber to 0 = pulse, 1 = cont.  If number = 3, sets both LEDs to value. If value is omitted, sets to short
sub LEDPulseMode {
    my $self = shift;
    my $val = undef;
    my $number = undef;
    my $comment = undef;
    if ($#_ == 0) {
	($number) = @_;
	$val = 0;
    } elsif ($#_ == 1) {
	($number,$val) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDPulseMode(1,$val);
	$self->LEDPulseMode(2,$val);
	return;
    }
    if ($val == 1) {
	$comment = "FLIP3UQBias LED$number continuous";
    } elsif ($val == 0) {
	$comment = "FLIP3UQBias LED$number pulse";
    }
    $self->firstLED->fromFile($self->filename);
    $self->firstLED->setGroup("LED${number}cont",$val);
    $self->writeControl($self->firstLED,$comment);
}
#----------------------------------------------------------------- FLIP3UQBias::LEDContMode
#help: LEDContMode(number) sets LEDnumber to continuous.  If number = 3, sets both to long
sub LEDContMode {
    my $self = shift;
    my $number = 0;
    if ($#_ > -1) {
	$number = $_[0];
	$self->LEDPulseMode($number,1);
    } else {
	$self->LEDPulseMode(3,1);
    }
}
#----------------------------------------------------------------- FLIP3UQBias::LEDFire
#help: LEDFire(number) fires LEDnumber, and then resets CSR bit.  If number = 3, fires both LEDs to value.
sub LEDFire {
    my $self = shift;
    my $val = 1;
    my $number = $_[0];
    my $comment = undef;
    if ($number == 3) {
	$self->LEDFire(1);
	$self->LEDFire(2);
	return;
    }
    $comment = "Checking if in single fire mode";
    my $bits = undef;
    $bits = $self->readControl($self->firstLED,$comment);
    $bits =~ s/ //;
    my @test = undef;
    $test[1] = hex($bits) & 4;
    $test[2] = hex($bits) & 64;
    if ($test[$number] != 0) {
	print "LED $number needs to be in single fire mode\n";
	return;
    }
    $comment = "FLIP3UQBias fire LED$number";
    $self->firstLED->fromFile($self->filename);
    $self->firstLED->setGroup("LED${number}single",$val);
    $self->writeControl($self->firstLED,$comment);
    $val = 0;
    $self->firstLED->setGroup("LED${number}fire",$val);
    $self->writeControl($self->firstLED,$comment);
}

#----------------------------------------------------------------- FLIP3UQBias::readLEDModeStatus
#help: readLEDModeStatus(void) reads back first CSR on QBias section
sub readLEDModeStatus {
    my $self = shift;
    my $bits = undef;
    my $comment = "FLIP3UQBias read first LED CSR";
    $bits = $self->readControl($self->firstLED,$comment);
    $self->firstLED->setData($bits);
    $self->toFile($self->filename);
    return $self->firstLED->data;
}
#----------------------------------------------------------------- FLIP3UQBias::readLEDWPStatus
#help: readLEDWPStatus(void) reads back first CSR on QBias section
sub readLEDWPStatus {
    my $self = shift;
    my $bits = undef;
    my $comment = "FLIP3UQBias read second LED CSR";
    $bits = $self->readControl($self->secondLED,$comment);
    $self->secondLED->setData($bits);
    $self->toFile($self->filename);
    return $self->secondLED->data;
}
#----------------------------------------------------------------- FLIP3UQBias::readQBiasCSR
#help: readQBiasCSR(void) reads back CSRs on QBias section
sub readQBiasCSR {
    my $self = shift;
    $self->readLEDModeStatus;
    $self->readLEDWPStatus;
}
#----------------------------------------------------------------- FLIP3UQBias::readQBias
#help: readQBias(void) reads back CSRs and DACs on QBias section
sub readQBias {
    my $self = shift;
    $self->readQBiasCSR;
    $self->readQBiasDAC;
}
#
#                  Write the DACs.
#
#--------------------------------------------------------------- FLIP3UQBias::setQIDAC
#help: setQIDAC(value) set Qi bias voltage to V volts
sub setQIDAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "FLIP3UQBias Qinner DAC to $val volts";
    $self->Qibias->setValue($val);
    $self->writeControl($self->Qibias,$comment);
}
#--------------------------------------------------------------- FLIP3UQBias::setQODAC
#help: setQODAC(value) set Qo bias voltage to V volts
sub setQODAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "FLIP3UQBias Qouter DAC to $val volts";
    $self->Qobias->setValue($val);
    $self->writeControl($self->Qobias,$comment);
}
#--------------------------------------------------------------- FLIP3UQBias::setLED1DAC
#help: setLED1DAC(value) set first LED bias voltage to V volts
sub setLED1DAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "FLIP3UQBias first LED DAC to $val volts";
    $self->LED1bias->setValue($val);
    $self->writeControl($self->LED1bias,$comment);
}
#--------------------------------------------------------------- FLIP3UQBias::setLED2DAC
#help: setLED2DAC(value) set second LED bias voltage to V volts
sub setLED2DAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "FLIP3UQBias second LED DAC to $val volts";
    $self->LED2bias->setValue($val);
    $self->writeControl($self->LED2bias,$comment);
}
#
#                 Read the DACs
#
#--------------------------------------------------------------- FLIP3UBias::readQIDAC
#help: readQIDAC(void) read Qinner bias voltage to V volts
sub readQIDAC {
    my $self = shift;
    my $comment = "FLIP3UQBias read QIDAC";
    my $bits = $self->readControl($self->Qibias,$comment);
    $self->Qibias->setData($bits);
    $self->toFile($self->filename);
    return $self->Qibias->value;
}
#--------------------------------------------------------------- FLIP3UBias::readQODAC
#help: readQODAC(void) read Qouter bias voltage to V volts
sub readQODAC {
    my $self = shift;
    my $comment = "FLIP3UQBias read QODAC";
    my $bits = $self->readControl($self->Qobias,$comment);
    $self->Qobias->setData($bits);
    $self->toFile($self->filename);
    return $self->Qobias->value;
}
#--------------------------------------------------------------- FLIP3UBias::readLED1DAC
#help: readLED1DAC(void) read LED1 bias voltage to V volts
sub readLED1DAC {
    my $self = shift;
    my $comment = "FLIP3UQBias read LED1 DAC";
    my $bits = $self->readControl($self->LED1bias,$comment);
    $self->LED1bias->setData($bits);
    $self->toFile($self->filename);
    return $self->LED1bias->value;
}
#--------------------------------------------------------------- FLIP3UBias::readLED2DAC
#help: readLED2DAC(void) read LED2 bias voltage to V volts
sub readLED2DAC {
    my $self = shift;
    my $comment = "FLIP3UQBias read LED2DAC";
    my $bits = $self->readControl($self->LED2bias,$comment);
    $self->LED2bias->setData($bits);
    $self->toFile($self->filename);
    return $self->LED2bias->value;
}
#--------------------------------------------------------------- FLIP3UQBias::readQBiasDAC
#help: readQBiasDAC(void) reads all DACs
sub readQBiasDAC {
    my $self = shift;
    $self->readQIDAC;
    $self->readQODAC;
    $self->readLED1DAC;
    $self->readLED2DAC;
}


End of FLIP3UQBias.pm
echo FLIP3UQet.pm 1>&2 
cat >FLIP3UQet.pm << 'End of FLIP3UQet.pm'
#! /usr/local/bin/perl 

package FLIP3UQet; 
#
#		FLIP3UQet.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  Control, DAC
#
#	Contains commands for setting and reading back the digital DACs and 
#	controls on the FLIP3U QET card.
#

require 5.002;
require object;

use Control;
use DAC; 

@ISA = qw( ElecModule );

my @offset = [];
my %fields = ( 
	      filename     => undef,
	      bias         => {},
	      heater       => undef,
	      Reset        => undef,
	      heaterpulse  => undef,
	      Controls     => {},
	      DACs         => {},
	      box          => undef,
	      module       => undef,
	      data         => undef,
	      address      => undef,
	      filename     => undef,
	      outfile      => undef,
	      scriptonly   => undef,
	      jumpers      => undef,
	      class        => undef,
	      Accumulate   => undef,
	      );
#
#                             Basic Functions
#
#----------------------------------------------------------------- FLIP3UQet::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = ElecModule->new($_[0],$_[1],$_[2]);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $host = $self->box->host;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    
    if (($self->scriptonly) == 1) {
	$host = "script";
    }

    $self->filename("/tmp/$host-$class-$subrack-$module.out");
    $self->class("FLIP3UQet");

    $self->{bias}->{a} = new DAC (0,12,-5,5);
    $self->{bias}->{b} = new DAC (1,12,-5,5);
    $self->{bias}->{c} = new DAC (2,12,-5,5);
    $self->{bias}->{d} = new DAC (3,12,-5,5);
    $self->Reset( new DAC (6,2,0,1));
    $self->heaterpulse( new DAC (7,2,0,1));

    $self->heater( new Control (4,"phicala","phicalb","phicalc",
				"phicald","heatwidth","enableheata",
				"enableheatb","enableheatc","enableheatd","",
				"","",""));
    $self->heater->setGroupSize("heatwidth",4);

    $self->{Controls}->{heater}            = $self->heater;
    $self->{DACs}->{biasa}                 = $self->{bias}->{a};
    $self->{DACs}->{biasb}                 = $self->{bias}->{b};
    $self->{DACs}->{biasc}                 = $self->{bias}->{c};
    $self->{DACs}->{biasd}                 = $self->{bias}->{d};

    $self->fromFile($self->filename);

    return $self;
}
#----------------------------------------------------------------- ZIP::init
#help: init(void) resets memory to startup state of card
sub init {
    my $self = shift;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    foreach $key (sort keys %controls) {
	$controls{$key}->setData(0);
    }
    foreach $key (sort keys %dacs) {
	$dacs{$key}->setValue(0);
    }
    $self->toFile($self->filename);
}
#
#                              QET Control Registers
#
#----------------------------------------------------------------- FLIP3UQet::IVMode
#help: IVMode(channel) set PHi channel to calibration mode.  If channel is omitted sets all channels to calibrate
sub IVMode {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    my $comment = "FLIP3UQet IV mode on";
    $self->heater->fromFile($self->filename);
    for ($i=0;$i<=$#channel;$i++) {
	$comment = $comment . " $channel[$i]";
	$self->heater->setGroup("phical$channel[$i]",$val);
    }
    $self->writeControl($self->heater,$comment);
}
#----------------------------------------------------------------- FLIP3UQet::BiasMode
#help: BiasMode(channel) set PHi channel to measure mode.  If channel is omitted sets all channels to measure
sub BiasMode {
    my $self = shift;
    my @channel = undef;
    my $val = 0;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    my $comment = "FLIP3UQet bias mode on"; 
    $self->heater->fromFile($self->filename);
    for ($i=0;$i<=$#channel;$i++) {
	$comment = $comment . " $channel[$i]";
	$self->heater->setGroup("phical$channel[$i]",$val);
    }
    $self->writeControl($self->heater,$comment);
}
#----------------------------------------------------------------- FLIP3UQet::EnableHeat
#help: EnableHeat(channels) enables heater channel. Channels are "a","b","c","d".  If channel is omitted, enables all heaters.
sub EnableHeat {
    my $self = shift;
    my @name = @_;
    my $val = 1;
    my $comment = "FLIP3UQet Enable Heater";
    if ($#_ < 0) {
	@name = (a,b,c,d);
    } 
    $self->heater->fromFile($self->filename);
    for ($i=0;$i<=$#name;$i++) {
	$self->heater->setGroup("enableheat$name[$i]",$val);
	$comment = "$comment" . " $name[$i]";
    }
    $self->writeControl($self->heater,$comment);
}
#----------------------------------------------------------------- FLIP3UQet::DisableHeat
#help: DisableHeat(channels) disables heater channel. Channels are "a","b","c","d".  If channel is omitted, disables all heaters.
sub DisableHeat {
    my $self = shift;
    my @name = @_;
    my $val = 0;
    my $comment = "FLIP3UQet Disable Heater";
    if ($#_ < 0) {
	@name = (a,b,c,d);
    } 
    $self->heater->fromFile($self->filename);
    for ($i=0;$i<=$#name;$i++) {
	$self->heater->setGroup("enableheat$name[$i]",$val);
	$comment = "$comment" . " $name[$i]";
    }
    $self->writeControl($self->heater,$comment);
}
#----------------------------------------------------------------- FLIP3UQet::HeaterWidthIndex
sub HeaterWidthIndex {
    my $self = shift;
    my $index = $_[0];
    my $unit = 100;                           # units for heater width
    my $width = ($index + 1)* $unit;
    my $comment = "FLIP3UQet Heater index to $index, width to $width";
    $self->heater->fromFile($self->filename);
    $self->heater->setGroup("heatwidth",$index);
    $self->writeControl($self->heater,$comment);
}
#----------------------------------------------------------------- FLIP3UQet::HeaterWidth
#help: HeaterWidth(width) sets qet heater width to nearest possible value to width that is less than input value
sub HeaterWidth {
    my $self = shift;
    my $width = $_[0];
    my $unit = 100;                           # units for heater width
    my $index = (int($width/$unit) - 1);
    if ($index > 15) {
	print "Max heater width is 1600 ms, setting to that\n";
	$index = 15;
    } elsif ($index < 0) {
	print "Min heater width is 100 ms, setting to that\n";
	$index = 0;
    }
    $self->HeaterWidthIndex($index);
}
#----------------------------------------------------------------- FLIP3UQet::readHeater
#help: readHeater(void) reads back CSR on QET section and updates memory
sub readHeater {
    my $self = shift;
    my $bits = undef;
    my $comment = "FLIP3UQet read heater CSR";
    $bits = $self->readControl($self->heater,$comment);
    $self->heater->setData($bits);
    $self->toFile($self->filename);
    return $self->heater->data;
}
#----------------------------------------------------------------- FLIP3UQet::readQET
#help: readQET(void) reads back CSR and DACs on QET section and updates memory
sub readQET {
    my $self = shift;
    $self->readQETBias;
    $self->readHeater;
}
#
#                              QET DACs
#
#----------------------------------------------------------------- FLIP3UQet::setQETBias
#help: setQETBias(channel,value) sets bias on QET channel to value in volts.  If channel is omitted, sets all four channels.  Channels are "a","b","c","d".
sub setQETBias {
    my $self = shift;
    my $channel = 0;
    my $val = 0;
    if ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } elsif ($#_ == 0) {
	$val = $_[0];
	$self->setQETBias("a",$val);
	$self->setQETBias("b",$val);
	$self->setQETBias("c",$val);
	$self->setQETBias("d",$val);
	return;
    }
    my $comment = "FLIP3UQet set QET $channel bias to $val";
    $self->{bias}->{$channel}->setValue($val);
    $self->writeControl($self->{bias}->{$channel},$comment);
}
#----------------------------------------------------------------- FLIP3UQet::reset
#help: reset resets card
sub reset {
    my $self = shift;
    my $val = 0.5;
    my $comment = "FLIP3UQet reset";
    $self->Reset->setValue($val);
    $self->writeControl($self->Reset,$comment);
    $self->init;
}
#----------------------------------------------------------------- FLIP3UQet::pulseheater
#help: pulseheater Pulses heater
sub pulseheater {
    my $self = shift;
    my $val = 0.5;
    my $comment = "FLIP3UQet pulse heater";
    $self->heaterpulse->setValue($val);
    $self->writeControl($self->heaterpulse,$comment);
}
#----------------------------------------------------------------- FLIP3UQet::readQETBias
#help: readQETBias(channel) reads bias on QET channel.  If channel is omitted, reads all four channels.  Channels are "a","b","c","d".
sub readQETBias {
    my $self = shift;
    my @channel = undef;
    my $comment = undef;
    my $bits = undef;
    my $ret = undef;
    if ($#_ < 0) {
	@channel = ("a","b","c","d");
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "FLIP3UQet read QET $channel[$i] bias";
	$bits = $self->readControl($self->{bias}->{$channel[$i]},
				  $comment);
	$self->{bias}->{$channel[$i]}->setData($bits);
	$ret = $i;
    }
    $self->toFile($self->filename);
    return $self->{bias}->{$channel[$ret]}->value;

}



End of FLIP3UQet.pm
echo FLIP3USquid.pm 1>&2 
cat >FLIP3USquid.pm << 'End of FLIP3USquid.pm'
#! /usr/local/bin/perl

package FLIP3USquid;
#
#		FLIP3USquid.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  Control, DAC
#
#	Contains commands for setting and reading back the digital DACs and
#	controls on the FLIP3U SQUID card.
#

require 5.002;
require ElecModule;

use Control;
use DAC;

@ISA =qw( ElecModule );

my %fields = (
	      filename     => undef,
	      gain         => undef,
	      bias         => undef,
	      offset       => undef,
	      ampoffset    => undef,
	      zapper       => undef,
	      armer        => undef,
	      disarmer     => undef,
	      Reset        => undef,
	      Controls     => {},
	      DACs         => {},
	      box          => undef,
	      module       => undef,
	      data         => undef,
	      address      => undef,
	      filename     => undef,
	      outfile      => undef,
	      scriptonly   => undef,
	      jumpers      => undef,
	      Controls     => {},
	      DACs         => {},
	      class        => undef,
	      Accumulate   => undef,
	      );
#
#                         Basic Functions
#
#------------------------------------------------------- FLIP3USquid::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = ElecModule->new($_[0],$_[1],$_[2]);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $host = $self->box->host;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    
    if (($self->scriptonly) == 1) {
	$host = "script";
    }

    $self->filename("/tmp/$host-$class-$subrack-$module.out");
    $self->class("FLIP3USquid");

    $self->bias( new DAC(0,12,-5,5));
    $self->gain( new DAC(1,12,-5,5));
    $self->offset( new DAC(2,12,-5,5));
    $self->ampoffset( new DAC(3,12,-5,5));
    $self->armer( new DAC(5,2,0,1));
    $self->disarmer( new DAC(6,2,0,1));
    $self->Reset( new DAC(7,2,0,1));

    $self->zapper( new Control(4,"cal","mode","zapvoltage","zapwidth",
			       "armed","polpos","polneg","","","",""));
    $self->zapper->setGroupSize("zapwidth",4);
    $self->zapper->setGroupSize("zapvoltage",2);

    $self->{Controls}->{ZapControl}    = $self->zapper;

    $self->{DACs}->{bias}              = $self->bias;
    $self->{DACs}->{gain}              = $self->gain;
    $self->{DACs}->{offset}            = $self->offset;
    $self->{DACs}->{ampoffset}         = $self->ampoffset;

    $self->fromFile($self->filename);

    if ((hex($self->zapper->data) & 512) == 1) {
	$self->polnegSQUID;
    }

    return $self;
}
#----------------------------------------------------------------- FLIP3USquid::init
#help: init(void) resets memory to startup state of card
sub init {
    my $self = shift;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    foreach $key (sort keys %controls) {
	$controls{$key}->setData(0);
    }
    foreach $key (sort keys %dacs) {
	$dacs{$key}->setValue(0);
    }
    $self->toFile($self->filename);
    $self->zapper->setGroup("mode",1);
    $self->zapper->setGroup("armed",1);
    $self->zapper->setGroup("cal",1);
    $self->toFile($self->filename);
}
#
#                              Squid Control Registers
#
#----------------------------------------------------------------- FLIP3USquid::openfb
#help: openfb sets squid to calibration mode. 
sub openfb {
    my $self = shift;
    my $val = 1;
    my $comment = undef;
    $comment = "FLIP3USquid Squid open feedback";
    if (($self->scriptonly) != 1) {
	$self->readSQUIDZapper();
    } else {
	$self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("cal",$val);
    $self->writeControl($self->zapper,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::closefb
#help: closefb sets squid to measure mode. 
sub closefb {
    my $self = shift;
    my $val = 0;
    my $comment = undef;
    $comment = "FLIP3USquid Squid close feedback";
    if (($self->scriptonly) != 1) {
        $self->readSQUIDZapper();
    } else {
	$self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("cal",$val);
    $self->writeControl($self->zapper,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::SynchZapMode
#help: SynchZapMode sets squid to synchronous mode. 
sub SynchZapMode {
    my $self = shift;
    my $val = 1;
    my $comment = undef;
    $comment = "FLIP3USquid Squid synch mode";
    if (($self->scriptonly) != 1) {
	$self->readSQUIDZapper();
    } else {
	$self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("mode",$val);
    $self->writeControl($self->zapper,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::ASynchZapMode
#help: ASynchZapMode sets squid to asynchronous mode. 
sub ASynchZapMode {
    my $self = shift;
    my $val = 0;
    my $comment = undef;
    $comment = "FLIP3USquid Squid asynch mode";
    if (($self->scriptonly) != 1) {
 	$self->readSQUIDZapper();
    } else {
	$self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("mode",$val);
    $self->writeControl($self->zapper,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::ZapWidthIndex
sub ZapWidthIndex {
    my $self = shift;
    my $index = undef;
    $index = $_[0];
    my $unit = 100;                               # unit of width
    my $val = $unit * ($index + 1);
    my $comment = "FLIP3USquid width bits to $index, value to $val";
    if (($self->scriptonly) != 1) {
 	$self->readSQUIDZapper();
    } else {
	$self->fromFile($self->filename);
    }
    $self->zapper->setGroup("zapwidth",$index);
    $self->writeControl($self->zapper,$comment);
}    
#----------------------------------------------------------------- FLIP3USquid::ZapWidth
#help: ZapWidth(value) sets width for ZAP to nearest possible width that is smaller than input value (in units of ms). 
sub ZapWidth {
    my $self = shift;
    my $index = undef;
    my $unit = 100;                          #set units of width
    my $val = undef;
    $val = $_[0];
    $index = (int($val/$unit) - 1);
    if ($index > 15) {
	print "Max value is 1600 ms, setting to that\n";
	$index = 15;
    } elsif ($index < 0) {
	print "Min value is 100 ms, setting to that\n";
	$index = 0;
    }
    $self->ZapWidthIndex($index);
}
#----------------------------------------------------------------- FLIP3USquid::armZapSQUID
#help: armZapSQUID() arms squid.
sub armZapSQUID {
    my $self = shift;
    my $val = 0.5;
    my $comment = undef;
    $comment = "FLIP3USquid arm";
    if (($self->scriptonly) != 1) {
 	$self->readSQUIDZapper();
    } else {
	$self->zapper->fromFile($self->filename);
    }
    $self->armer->setValue($val);
    $self->zapper->setGroup("armed",0);
    $self->disarmer->setValue(0);
    $self->writeControl($self->armer,$comment);
    $self->toFile($self->filename);
}
#----------------------------------------------------------------- FLIP3USquid::disarmZapSQUID
#help: disarmZapSQUID() disarms squid.
sub disarmZapSQUID {
    my $self = shift;
    my $val = 0.5;
    my $comment = undef;
    $comment = "FLIP3USquid disarm";
    if (($self->scriptonly) != 1) {
	$self->readSQUIDZapper();
    } else {
        $self->zapper->fromFile($self->filename);
    }
    $self->disarmer->setValue($val);
    $self->zapper->setGroup("armed",1);
    $self->armer->setValue(0);
    $self->writeControl($self->disarmer,$comment);
    $self->toFile($self->filename);
}
#----------------------------------------------------------------- FLIP3USquid::armed
#help: armed() reads zapper CSR and tells whether the ZAP is armed; updates variables.  
sub armed {
    my $self = shift;
    my $val = undef;
    my $comment = undef;
    my $bits = undef;
    my $test = undef;
    $comment = "FLIP3USquid armed";
    $self->zapper->fromFile($self->filename);
    $bits = $self->readControl($self->zapper,$comment);
    $self->zapper->setData($bits[$i]);
    $bits =~ s/ //;
    $test = hex($bits) & 256;
    print "test is $test, bits are $bits\n";
    if ($test > 0) {
        print "ZAP disarmed\n";
    } else {
        print "ZAP armed\n";
    }
}
#----------------------------------------------------------------- FLIP3USquid::polposSQUID
#help: polposSQUID puts squid to positive polarity. 
sub polposSQUID {
    my $self = shift;
    my $val = 1;
    my $comment = undef;
    $comment = "FLIP3USquid polarity to positive";
    if (($self->scriptonly) != 1) {
        $self->readSQUIDZapper();
    } else {
        $self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("polpos",1);
    $self->zapper->setGroup("polneg",0);
    $self->readControl($self->disarmer,$comment);
    $self->toFile($self->filename);
}
#----------------------------------------------------------------- FLIP3USquid::polnegSQUID
#help: polnegSQUID puts squid to negative polarity. 
sub polnegSQUID {
    my $self = shift;
    my $val = 1;
    my $comment = undef;
    $comment = "FLIP3USquid polarity to negative";
    if (($self->scriptonly) != 1) {
         $self->readSQUIDZapper();
    } else {
        $self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("polneg",1);
    $self->zapper->setGroup("polpos",0);
    $self->readControl($self->armer,$comment);
    $self->toFile($self->filename);
}
#----------------------------------------------------------------- FLIP3USquid::Zeropol
#help Zeropol zeros both polarity bits on Squid
sub Zeropol {
    my $self = shift;
    my $val = 0;
    my $comment = undef;
    $comment = "FLIP3USquid zero polarity";
    if (($self->scriptonly) != 1) {
         $self->readSQUIDZapper();
    } else {
        $self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("polpos",$val);
    $self->zapper->setGroup("polneg",$val);
    $self->writeControl($self->zapper,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::ZapVolt
#help: ZapVolt(voltage) sets ZAP voltage.  Possible voltages are 0, 1.25, 2.5, 3.75 sets to closest lower value
sub ZapVolt {
    my $self = shift;
    my $val = undef;
    my $newindex;
    my @volts = (0,1.25,2.5,3.75);
    $val = $_[0];
    for ($i=0;$i<=$#volts;$i++) {
	if ($val>=$volts[$i]) {
	    $newindex = $i;
	}
    }
    $self->ZapVoltIndex($newindex);
}
#----------------------------------------------------------------- FLIP3USquid::ZapVoltIndex
sub ZapVoltIndex {
    my $self = shift;
    my $index = undef;
    my @volts = (0,1.25,2.5,3.75);
    $index = $_[0];
    my $comment = "FLIP3USquid set ZAP voltage to $volts[$index]";
    if (($self->scriptonly) != 1) {
	$self->readSQUIDZapper();
    } else {
	$self->zapper->fromFile($self->filename);
    }
    $self->zapper->setGroup("zapvoltage",$index);
    $self->writeControl($self->zapper,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::reset
#help: reset resets card bits
sub reset {
    my $self = shift;
    my $val = 0.5;
    my $comment = "FLIP3USquid reset card";
    $self->Reset->setValue($val);
    $self->writeControl($self->Reset,$comment);
    $self->init;
}
#----------------------------------------------------------------- FLIP3USquid::readSQUIDZapper
#help: readSQUIDZapper reads the Zapper CSR on squid 
sub readSQUIDZapper {
    my $self = shift;
    my $comment = undef;
    my $bits = undef;
    $comment = "FLIP3USquid read Zapper";
    $bits = $self->readControl($self->zapper,$comment);
    print "$bits\n";
    $self->zapper->setData($bits);
    $self->toFile($self->filename);
}
#----------------------------------------------------------------- FLIP3USquid::readSQUID
#help: readSQUID reads all DACs and CSRs for squid.  
sub readSQUID {
    my $self = shift;
    $self->readSQUIDZapper();
    $self->readSQUIDDAC();
}
#
#                              Squid DACs
#
#----------------------------------------------------------------- FLIP3USquid::setSQUIDbias
#help: setSQUIDbias(value) sets bias on squid to value in volts.  
sub setSQUIDbias {
    my $self = shift;
    my $val = 0;
    $val = $_[0];
    my $comment = "FLIP3USquid set bias to $val";
    $self->bias->setValue($val);
    $self->writeControl($self->bias,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::setSQUIDolgain
#help: setSQUIDolgain(value) sets gain on squid to value in volts.  
sub setSQUIDolgain {
    my $self = shift;
    my $val = 0;
    $val = $_[0];
    my $comment = "FLIP3USquid set squid olgain to $val";
    $self->gain->setValue($val);
    $self->writeControl($self->gain,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::setLockPoint
#help: setLockPoint(value) sets lock point on squid to value in volts.  
sub setLockPoint {
    my $self = shift;
    my $val = 0;
    $val = $_[0];
    my $comment = "FLIP3USquid set lock point to $val";
    $self->offset->setValue($val);
    $self->writeControl($self->offset,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::setAmpOffset
#help: setAmpOffset(value) sets pre-amp offset, in units of mV (+/- 50)
sub setAmpOffset {
    my $self = shift;
    my $val = $_[0];
    my $volts = $val/10;
    my $comment = "FLIP3USquid set pre-amp offset to $val";
    $self->ampoffset->setValue($volts);
    $self->writeControl($self->ampoffset,$comment);
}
#----------------------------------------------------------------- FLIP3USquid::readSQUIDbias
#help: readSQUIDbias() reads bias on squid.  
sub readSQUIDbias {
    my $self = shift;
    my $comment = undef;
    my $bits = undef;
    my $value = undef;
    $comment = "FLIP3USquid read bias";
    $bits = $self->readControl($self->bias,$comment);
    $self->bias->setData($bits);
    $self->toFile($self->filename);				  
    return $self->bias->value;
}
#----------------------------------------------------------------- FLIP3USquid::readSQUIDolgain
#help: readSQUIDolgain() reads gain on squid.  
sub readSQUIDolgain {
    my $self = shift;
    my $comment = undef;
    my $bits = undef;
    $comment = "FLIP3USquid read gain";
    $bits = $self->readControl($self->gain,$comment);
    $self->gain->setData($bits);
    $self->toFile($self->filename);
    return $self->gain->value;
}
#----------------------------------------------------------------- FLIP3USquid::readLockPoint
#help: readLockPoint() reads offset on squid.  
sub readLockPoint {
    my $self = shift;
    my $comment = undef;
    my $bits = undef;
    $comment = "FLIP3USquid read offset";
    $bits = $self->readControl($self->offset,$comment);
    $self->offset->setData($bits);
    $self->toFile($self->filename);
    return $self->offset->value;
}
#----------------------------------------------------------------- FLIP3USquid::readAmpOffset
#help: readAmpOffset() reads pre-amp offset on squid.  
sub readAmpOffset {
    my $self = shift;
    my $comment = undef;
    my $bits = undef;
    $comment = "FLIP3USquid read pre-amp offset";
    $bits = $self->readControl($self->ampoffset,$comment);
    $self->ampoffset->setData($bits);
    $self->toFile($self->filename);
    return $self->ampoffset->value;
}
#----------------------------------------------------------------- FLIP3USquid::readSQUIDDAC
#help: readSQUIDDAC(channel) reads all DACs for squid channel.  If channel is omitted, reads all channels.
sub readSQUIDDAC {
    my $self = shift;
    $self->readSQUIDbias();
    $self->readSQUIDolgain();
    $self->readLockPoint();
    $self->readAmpOffset();
}    
#





End of FLIP3USquid.pm
echo GPIBbox.pm 1>&2 
cat >GPIBbox.pm << 'End of GPIBbox.pm'
#! /usr/local/bin/perl -w

package GPIBbox;
#
#               GPIBbox.pm
#
#       INHERITS FROM:  None    
#       CONTAINS:  GPIBconnection, GPIBinstr   
#
#	This represents the GPIB box for a particular subrack.  It contains
#	initialization and help routines in addition to routines for setting
#	up the GPIBinstr and GPIBconnection to send the hex code through the
#	server to the physical GPIB box.
#

require 5.002;
require object;

use strict;
use Socket;
use GPIBconnection;
use GPIBinstr;
use Carp;

my %fields = (
  _permitted => \%GPIBbox::fields,
  instrs => [new GPIBinstr],     # this should be an array of refs to class instruction.
  file => undef,
  host => undef,
  port => undef,
  subrack => undef,
  address => undef,
  data => undef,
  current => new GPIBinstr,
  GPIBaddress => undef,
  GPIBhead  => undef,
  GPIBtail  => undef,
  GPIBconn  => undef,
);

#-------------------------------------------------------------------- GPIBbox::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = {
    _permitted => \%fields,
    %fields,
  };
  bless $self,$class;

  my ($arg,$logfile) = @_;
  if ($#_<0){ return $self; }
  if (length($logfile)==0 && $arg!~/:/){  # copy ctor
    my $b1 = $arg; 
    $self->instrs($b1->instrs()); 
    $self->file($b1->file()); 
    $self->host($b1->host()); 
    $self->port($b1->port()); 
    $self->subrack($b1->subrack()); 
    $self->address($b1->address()); 
    $self->data($b1->data()); 
    $self->current($b1->current()); 
    $self->GPIBaddress($b1->GPIBaddress()); 
    $self->GPIBhead($b1->GPIBhead()); 
    $self->GPIBtail($b1->GPIBtail()); 
    $self->GPIBconn($b1->GPIBconn()); 
    return $self;
  }
    
  my @hp = split /:/,$arg;

  $self->GPIBaddress(18);
  $self->GPIBhead('c4d');
  $self->GPIBtail('00zx');
  $self->file("command.log");
  $self->nlines(0);

  $self->host($hp[0]);
  if ($hp[1]>0) {
    $self->port($hp[1]);
  }
  if ($#_>1) {
    my ($a) = @_;
    $self->file($a);
  }
  if ($#_ >1) { $self->file($logfile);}
  $self->GPIBconn(new GPIBconnection(join ':',$self->host,$self->port));
  $self->current(new GPIBinstr(
                     "gpibwrite",$self->GPIBaddress,"000000"));
  $self->current->GPIBhead($self->GPIBhead);
  $self->current->GPIBtail($self->GPIBtail);
  return $self; 
}
#-------------------------------------------------------------------- GPIBbox::initialize
sub initialize{
  my $self = shift;
  my ($address,$subrack) = @_;  # allow possibility to use default subrack.
  if (length($subrack)>0) {
    my ($subrack) = @_;
    $self->subrack($subrack);
  }
  $self->current->mode(7);                                 # not sure about the 0
  $self->current->dataString("r0c4g1f0p0k0m1x");
  $self->current->setNbytes();
  my $dat = $self->GPIBconn->exInstr($self->current);
  $self->data(unpack("N",$dat));
  print "Initialized status: ",$self->data,"\n";
} 
#-------------------------------------------------------------------- GPIBbox::help
sub help{
  my $self = shift;
  print "\n\n A partial list of GPIBbox commands \n";
  print "\nwriteAddress(\"aaaa\")    # writes hex aaaa to the address.\n";
  print   "writeData(\"aaaa\")       # writes hex aaaa to the data.\n";
  print   "writeData(\"aaaa\",s)     # writes hex aaaa to the data in subrack s.\n";
  print   "readData()              # returns data from current address.\n";
  print   "readData(\"aaaa\")        # returns data from address aaaa.\n";
  print   "readData(\"aaaa\",s)      # returns data from address aaaa, subrack s.\n";
  print   "initialize()            # initialize box\n";
  print   "print()                 # print box info \n";
  print   "subrack(s)              # set Default subrack\n";
  print   "setHost(\"h\")            # set box host to h \n";
  print   "setHost(\"h:p\")          # set box host to h, port to p\n";
  print   "setPort(p)              # set server port to p\n";
  print   "\n";
}
#-------------------------------------------------------------------- GPIBbox::readData
sub readData{
  my $self = shift;
  if ((length($_[0]))>0) {
    $self->writeAddress($_[0]);
    if (length $_[1] >0){
      $self->subrack($_[1]);
    }
  }
  my $byte = int(0) | $self->subrack;
  $self->current->setCommand("gpibwrite");
  $self->current->mode(7);                                 # not sure about the 0
  $self->current->dataString("c2x"); 
  $self->current->setNbytes(); 
  my $dat = $self->GPIBconn->exInstr($self->current);
  $self->data(unpack("N",$dat));
  print "status: ",$self->data,"\n";
  $self->current->setCommand("gpibread");
  $self->current->mode(0);                                 # not sure about the 0
  $self->current->setData(""); 
  $self->current->size(4);
  $dat = $self->GPIBconn->exInstr($self->current);
  $self->data(substr($dat,4,4));
#  print "data read: ",$self->data,"\n";
  return hex($self->data);
}
#-------------------------------------------------------------------- GPIBbox::writeAddress
sub writeAddress{
  my $self = shift;
  my ($address,$subrack) = @_;  # allow possibility to use default subrack.
  if (length($subrack)>0) {
    my ($subrack) = @_; 
    $self->subrack($subrack);
  }
  $self->address($address);
  $self->subrack($self->subrack);
  my $byte = int(8) | $self->subrack;
  $address = join '',$self->address,"0",(sprintf "%lx",$byte);
  $self->current->setData($address);
  $self->current->mode(7);
  $self->current->setCommand("gpibwrite");
#  $self->current->print();
  $self->GPIBconn->exInstr($self->current);
}
#-------------------------------------------------------------------- GPIBbox::writeData
sub writeData{
  my $self = shift;
  my ($data,$subrack) = @_;  # allow possibility to use default subrack.
  if (length($subrack)>0) {
    my ($subrack) = @_; 
    $self->subrack($subrack);
  }
  $self->data($data);
  $self->subrack($self->subrack);
  my $byte = int(0) | $self->subrack;
  $data = join '',$self->data,"0",(sprintf "%lx",$byte);
  $self->current->setData($data);
  $self->current->mode(7);
  $self->current->setCommand("gpibwrite");
#  $self->current->print();
  $self->GPIBconn->exInstr($self->current);
}
#-------------------------------------------------------------------- GPIBbox::print
sub print{
  my $self = shift;
  print $self->file," \n";
  print "Remote host: ",$self->host,"\n";
  print "Remote port: ",$self->port,"\n";
  my $i=0;
  for ($i=0;$i<$self->nlines;$i++){
    $self->{instrs}->[$i]->write;
  }
}
#-------------------------------------------------------------------- GPIBbox::setHost
sub setHost{
  my $self = shift;
  my ($arg) = @_;
  my @hp = split /:/,$arg;
  $self->host($hp[0]);
  if ($hp[1]>0) {
    $self->port($hp[1]);
  }
}
#-------------------------------------------------------------------- GPIBbox::setPort
sub setPort{
  my $self = shift;
  my ($port) = @_;
  $self->port($port);
} 
#-------------------------------------------------------------------- GPIBbox::AUTOLOAD
sub AUTOLOAD {
  my $self = shift;
  my $type = ref($self) ||  die "$self is not an object";
  my $name = $GPIBbox::AUTOLOAD;
  $name =~ s/.*://;         # strip fully qualified portion.
#  if (!(exists $self->{_permitted}->{name} )) {
#    die "Can't access `$name' field in object of class $type \n";
#  }
  if (@_) {
    return $self->{$name}=shift;
  } else {
    return $self->{$name};
  }
}
End of GPIBbox.pm
echo GPIBconnection.pm 1>&2 
cat >GPIBconnection.pm << 'End of GPIBconnection.pm'
#! /usr/local/bin/perl -w

package GPIBconnection;
#
#               GIPBconnection.pm
#
#       INHERITS FROM:  None  
#       CONTAINS:  None
#
#	This package handles all of the communication between the software
#	and the internet connection.  It contains routines for opening and 
#	closing the socket connection, sending the datastrings to the server
#	(in two different ways:  one at a time, or by creating a queue of
#	instructions and sending all of the commands at once), and for
#	reading datastrings from the server.
#

require 5.002;
use Socket;
use GPIBinstr;
use Carp;


my %fields = (
  _permitted => \%command::fields,
  instrs => [new GPIBinstr],     # this should be an array of refs to class instruction.
  nlines => undef,
  file => undef,
  host => undef,
  port => undef,
  sleepTime => undef,
);

#-------------------------------------------------------------------- GPIBconnection::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = {
    _permitted => \%fields,
    %fields,
  };
  bless $self,$class;

  $self->host("ppdm06.fnal.gov");
  $self->port(2345);
  $self->file("command.log");
  $self->nlines(0);

  my ($arg,$logfile) = @_;
  my @hp = split /:/,$arg;
  $self->host($hp[0]);
  if ($hp[1]>0) {
    $self->port($hp[1]);
  }
  if ($#_>1) {
    my ($a) = @_;
    $self->file($a);
  }
  $self->sleepTime(0);
  return $self;
}

#-------------------------------------------------------------------- GPIBconnection::addInstr
# add an instruction to the list.
sub addInstr{   # looks like it sets a reference, which gets overwritten.
  my $self = shift;
  my $index = $self->nlines;
  my ($argument,$subrack) = @_;
  my $arg = new GPIBinstr();
  $arg->copy($argument);
  $self->{instrs}->[$index] = $arg;
  $self->nlines($index+1);
}
#-------------------------------------------------------------------- GPIBconnection::addAddress
# add an address to the instruction list.
sub addAddress{   # looks like it sets a reference, which gets overwritten.
  my $self = shift;
  my $index = $self->nlines;
  my ($argument,$address,$subrack) = @_;
  my $arg = new GPIBinstr();
  $arg->copy($argument);
  my $rack = int(8) | $subrack;
  $arg->setData(join '',$address,"0",(sprintf "%1x",$rack));
  $self->{instrs}->[$index] = $arg;
  $self->nlines($index+1);
}
#-------------------------------------------------------------------- GPIBconnection::addData
# add data to the instruction list.
sub addData{   # looks like it sets a reference, which gets overwritten.
  my $self = shift;
  my $index = $self->nlines;
  my ($argument,$data,$subrack) = @_;
  my $arg = new GPIBinstr();
  $arg->copy($argument);
  my $rack = int(0) | $subrack;
  $arg->setData(join '',$data,"0",(sprintf "%1x", $rack));
  $self->{instrs}->[$index] = $arg;
  $self->nlines($index+1);
}
#-------------------------------------------------------------------- GPIBconnection::exInstr
# add an instruction and execute it.
sub exInstr{
  my $self = shift;
  my ($inst) = @_;
  $self->openSocket();
  my $status = $self->sendtoServer($inst);
  $self->closeSocket();
  return $status;
}
#-------------------------------------------------------------------- GPIBconnection::print
sub print{
  my $self = shift;
  print $self->file," \n";
  print "Remote host: ",$self->host,"\n";
  print "Remote port: ",$self->port,"\n";
  my $i=0;
  for ($i=0;$i<$self->nlines;$i++){
    $self->{instrs}->[$i]->write;
  }
}

#-------------------------------------------------------------------- GPIBconnection::execute
sub execute{
# this sends a string to a TCP/IP server, which executes it.
  my $self = shift;
  my $i=0;
  my $line='   ';
  $self->openSocket();
  for ($i=0;$i<$self->nlines;$i++){
    my $bits = $self->sendtoServer($self->{instrs}->[$i]);
  }
  $self->closeSocket();
#  reset counter to 0.
  $self->nlines(0);
}

#----------------------------------------------------------------- GPIBconnection::closeSocket
sub closeSocket{
  my $self = shift;
  my $bye = new GPIBinstr("bye");
  $self->sendtoServer($bye);
  close (SOCK);
}
#----------------------------------------------------------------- GPIBconnection::openSocket
sub openSocket{
  my $self = shift;
  my ($host,$port,$iaddr,$paddr,$proto);
  $host = $self->host; 
  $port = $self->port;
  my $tryagain = 0; my $attempts = 0; my $maxAttempts = 20;

  if ($port =~ /\D/) {$port = getservbyname($port, 'tcp') }
  die "No port" unless $port;
  $iaddr  = inet_aton($host)               or warn "no host: $host";
  $paddr  = sockaddr_in($port,$iaddr)      or warn "no paddr: $paddr";
  $proto  = getprotobyname('tcp');

  if (socket(SOCK, PF_INET, SOCK_STREAM, $proto)) { 
    connect(SOCK,$paddr)                       or $tryagain=1;
  } else { 
    $tryagain = 1;
  }
TRY:
  while ($tryagain && $attempts++<$maxAttempts){
    $tryagain =0;
    my $rnd = int(rand(3e4)*$attempts);
    my $i = 0;
    for ($i=0;$i<$rnd;$i++) {;}          # cheesy delay
    $iaddr  = inet_aton($host)               or warn "no host: $host";
    $paddr  = sockaddr_in($port,$iaddr)      or warn "no paddr: $paddr";
    $proto  = getprotobyname('tcp');

     socket(SOCK, PF_INET, SOCK_STREAM, $proto) or next TRY; 
     connect(SOCK,$paddr) or $tryagain=1;
  }  
#  print "$attempts attempts\n";
  if ($attempts >= $maxAttempts) { die "openSocket: $!\n"; }
}
#----------------------------------------------------------------- GPIBconnection::readString
sub readString{
  my $self = shift;
  my ($lentoRead) = @_;
  my $String="";
#  print "reading $lentoRead bytes from socket \n";
  recv SOCK,$String,$lentoRead,0;
  if ($String<0) {die "Error reading from socket \n"};
  my ($lenRead) = unpack ("N",$String);
#  printf "Read %s from socket\n",$lenRead;
  return $String;
}
#----------------------------------------------------------------- GPIBconnection::sendString
sub sendString{
  my $self = shift;
  my ($String) = @_;

#  printf "sending %s to socket \n",$String;
  my $bytessent = send SOCK,$String,0;
  if ($bytessent<0) {die "Error sending $String to socket \n"};
#  print "$bytessent bytes sent.";
  return $bytessent;
}
#----------------------------------------------------------------- GPIBconnection::sendtoServer
sub sendtoServer{
  my $self = shift;
  my $len = 0;my $status=0;
  my $maxSize = 10000;     # some maximum size to read back as error status.
  my ($inst) = @_;
  my $bytessent;
  $bytessent = $self->sendString($inst->command);
  my ($nbytes) = pack ("N",$inst->nbytes);
  $bytessent = $self->sendString($nbytes);
  $bytessent = $self->sendString($inst->packline());
  $len = $self->readString(4);
  if ($len<0) {die "Error reading size from socket \n"};
  my ($lenRead) = unpack ("N",$len);
  if ($lenRead>$maxSize) { $self->closeSocket(); die "socket closed\n";}
  $status = $self->readString($lenRead);
  return $status;
}
#-------------------------------------------------------------------- GPIBconnection::setHost
sub setHost{
  my $self = shift;
  my ($arg) = @_;
  my @hp = split /:/,$arg;
  $self->host($hp[0]);
  if ($hp[1]>0) {
    $self->port($hp[1]);
  }
}
#-------------------------------------------------------------------- GPIBconnection::setPort
sub setPort{
  my $self = shift;
  my ($port) = @_;
  $self->port($port);
} 
#-------------------------------------------------------------------- GPIBconnection::AUTOLOAD
sub AUTOLOAD {
  my $self = shift;
  my $type = ref($self) ||  die "$self is not an object";
  my $name = $GPIBconnection::AUTOLOAD;
  $name =~ s/.*://;         # strip fully qualified portion.
#  if (!(exists $self->{_permitted}->{name} )) {
#    die "Can't access `$name' field in object of class $type \n";
#  }
  if (@_) {
    return $self->{$name}=shift;
  } else {
    return $self->{$name};
  }
}
End of GPIBconnection.pm
echo GPIBinstr.pm 1>&2 
cat >GPIBinstr.pm << 'End of GPIBinstr.pm'
#! /usr/local/bin/perl -d

package GPIBinstr;
#
#               GPIBinstr.pm
#
#       INHERITS FROM:  None  
#       CONTAINS:  None
#
#	This represents an instruction slot for the GPIB box, and contains
#	routines for concatenating the data string with the appropriate header
#	and footer elements, with the correct format
#

use Carp;

my %fields = (                  # a hash (assosciative array)
  command    => undef,
  address    => undef,
  nbytes     => undef,
  dataString => undef,
  mode       => undef,
  timeout    => undef,
  size       => undef,
  GPIBhead   => 'c4d',
  GPIBtail   => '00zx',
);

#---------------------------------------------------------------- GPIBinstr::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = {
    _permitted => \%fields,    # _permitted is a reference to the hash of fields.
    %fields,
  };
  bless $self,$class;
  my ($a,$b,$c) = @_;
  $self->setCommand($a);
  $self->address($b);
  $self->setData($c);
  $self->GPIBhead('c4d');  # this is particular to dennis's box.
  $self->GPIBtail('00zx'); #   so is this.
  $self->setNbytes();  # number of bytes in instruction (const = 16 for reads).
  $self->mode(7);    # i am not sure what this means. this means GPIBwrite
  $self->timeout(10000);   # 10 second timeout.
  $self->size(0);    # size of bytes to read. (0 for gpibwrite).
  return $self;
}
#------------------------------------------------------------- GPIBinstr::copy
sub copy{
  my $self = shift;
  my ($inst) = @_; 
  $self->command($inst->command);
  $self->address($inst->address);
  $self->nbytes($inst->nbytes);
  $self->dataString($inst->dataString);
  $self->mode($inst->mode);
  $self->timeout($inst->timeout);
  $self->size($inst->size);
  $self->GPIBhead($inst->GPIBhead);
  $self->GPIBtail($inst->GPIBtail);
}
#------------------------------------------------------------- GPIBinstr::write
sub write{
  my $self = shift;
  printf "%s\t%04x\t%04x\t%s\t%04x\t%04x\n",
  $self->command,$self->address,$self->dataString,$self->mode,$self->timeout;
}
#-------------------------------------------------------------------- GPIBinstr::packline
sub packline{
  my $self = shift;
  my $len = length($self->dataString);
  my $TEMPLATE = "N4 A$len";         # server expects 4 numbers & string of $len chars.
  my $packline = pack ($TEMPLATE,$self->address,$self->mode,$self->timeout,
		       $self->size,$self->dataString);
  return $packline;
}
#-------------------------------------------------------------------- GPIBinstr::print
sub print{
  my $self = shift;
  printf "\n--------------------\n";
  printf "Command: %s\n",$self->command;
  printf "Nbytes:  %04x\n",$self->nbytes;
  printf "Address: %04x\n",$self->address;
  printf "Mode:    %04x\n",$self->mode;
  printf "Timeout: %04x\n",$self->timeout;
  printf "Size:    %04x\n",$self->size;
  printf "Data:    %s\n",$self->dataString;
#  printf "%04x\t%04x\t%04x\t%04x\n\n",$self->subrack,$self->address,$self->dataString,$self->readwrite;
  printf "--------------------\n\n";
}
#------------------------------------------------------------- GPIBinstr::setCommand
sub setCommand{
  my $self = shift;
  my ($arg) = @_;
  $self->command(join '',$arg,"\n");
}
#------------------------------------------------------------- GPIBinstr::setData
sub setData{
  my $self = shift;
  my ($arg) = @_;
  if (length($arg)==0){ $self->dataString("");}
  else {
    $self->dataString(join '',$self->GPIBhead,$arg,$self->GPIBtail);
  }
  $self->setNbytes();   # if data word changes, so does length.
}
#------------------------------------------------------------- GPIBinstr::setNbytes
sub setNbytes{
  my $self = shift;
  my ($len);
  $len = length($self->dataString)+16; 
  $self->nbytes($len);
}
#-------------------------------------------------------------------- GPIBinstr::AUTOLOAD
sub AUTOLOAD {
  my $self = shift;
  my $type = ref($self) ||  die "$self is not an object";
  my $name = $AUTOLOAD;
  $name =~ s/.*://;         # strip fully qualified portion.
  if (!(exists $self->{_permitted}->{$name} )) {
#    die "Can't access `$name' field in object of class $type \n";
  }
  if (@_) {
    return $self->{$name}=shift;
  } else {
    return $self->{$name};
  }
}
End of GPIBinstr.pm
echo RTFcard.pm 1>&2 
cat >RTFcard.pm << 'End of RTFcard.pm'
#! /usr/local/bin/perl 

package RTFcard; 
#
#		RTFcard.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  Control, DAC
#
#	Contains commands for setting and reading back the digital DACs and
#	controls on the RTF card.
#

require 5.002;
require ElecModule;

#use strict;
use GPIBbox;
use Control;
use DAC;

@ISA = qw( ElecModule );

my %fields = ( 
  box             => undef,
  module          => undef,
  data            => undef,
  address         => undef,
  jumpers         => undef,
  enable          => undef,
  filter          => undef,
  qlo		  => undef,
  qhi		  => undef,
  plo		  => undef,
  phi		  => undef,
  outfile         => undef,
  filename        => undef,
  Controls        => {},
  DACs            => {},
  scriptonly      => undef,
  class           => undef,
  Accumulate      => undef,
);
#
#                             Basic Functions
#
#--------------------------------------------------------------- RTFcard::new
sub new{
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = ElecModule->new($_[0],$_[1],$_[2]);
  $self->{_permitted} = \%fields;
  bless $self,$class;

  $self->class("RTFcard");

  $self->filter(new Control(15,"Qo","Qi","P1","P2","P3","P4"));
  $self->filter->setAllGroupSize(2);
  $self->filter->setData("0");
  $self->enable(new Control(14,"P4","P3","P2","P1","Qo","Qi"));
  $self->enable->setData("0");

  $self->qlo  (new DAC(1,12,0,10));
  $self->qhi  (new DAC(2,12,0,10));
  $self->plo  (new DAC(3,12,0,10));
  $self->phi  (new DAC(4,12,0,10));

  $self->{Controls}->{Enable}   = $self->enable;
  $self->{Controls}->{Filter}   = $self->filter;
  $self->{DACs}->{QLow}         = $self->qlo;
  $self->{DACs}->{QHigh}        = $self->qhi;
  $self->{DACs}->{PLow}         = $self->plo;
  $self->{DACs}->{PHigh}        = $self->phi;

  my %controls = %{$self->Controls};
  my %dacs = %{$self->DACs};

  foreach $key (sort keys %controls) {
      $controls{$key}->setData(0);
  }

  foreach $key (sort keys %dacs) {
      $dacs{$key}->setValue(0);
  }

  my $host = $self->box->host;
  my $module = $self->module;
  my $subrack = $self->box->subrack;
  
  if (($self->scriptonly) == 1) {
      $host = "script";
  }

  $self->filename("/tmp/$host-$class-$subrack-$module.out");
  $self->fromFile($self->filename);

  return $self;
}
#--------------------------------------------------------------- RTFCard::init
#help: init resets registers and DACs to power-up states
sub init { 
    my $self = shift;
    my $class = ref($self) || $self;
    my $module = $self->module;

    $self->Disable;
    $self->setFilter(0);
    $self->PHiDAC(0);
    $self->PLoDAC(0);
    $self->QHiDAC(0);
    $self->QLoDAC(0);

}
#--------------------------------------------------------------- RTFcard::Disable
#help: Disable(channel)  Disable channel, Channels are: "P1", "P2", "P3", "P4", "Qi", "Qo".  Use DisableP (DisableQ) to disable all phonon (charge) channels.
sub Disable {
  my $self = shift;
  my $i=0;
  my @name = @_;
  my $comment = "RTF Disable";
  $self->enable->fromFile($self->filename);
  for ($i=0;$i<=$#name;$i++){
    $self->enable->setGroup($name[$i],0);
    $comment = "$comment" . " $name[$i]";
  }
  if ($#name<0) {          # no arguments, so disable all channels
    $self->Disable("P1","P2","P3","P4","Qo","Qi");
  } else {
    $self->writeControl($self->enable,$comment);
  }
}
#--------------------------------------------------------------- RTFcard::DisableP
sub DisableP {
  my $self = shift;
  $self->Disable("P1","P2","P3","P4");
}
#--------------------------------------------------------------- RTFcard::DisableQ
sub DisableQ {
  my $self = shift;
  $self->Disable("Qi","Qo");
}
#--------------------------------------------------------------- RTFcard::Enable
#help: Enable(channel) Enable channel, Channels are: "P1", "P2", "P3", "P4", "Qi", "Qo".  Use EnableP (EnableQ) to enable all phonon (charge) channels.
sub Enable {
  my $self = shift;
  my $i=0;
  my @name = @_;
  my $comment = "RTF Enable ";
  $self->enable->fromFile($self->filename);
  for ($i=0;$i<=$#name;$i++){
    $self->enable->setGroup($name[$i],1);
    $comment = "$comment" . " $name[$i]";
  }
  if ($#name<0) {          # no arguments, so enable all channels
    $self->Enable("P1","P2","P3","P4","Qi","Qo");
  } else {
    $self->writeControl($self->enable,$comment);
  }
} 
#--------------------------------------------------------------- RTFcard::EnableP
sub EnableP {
  my $self = shift;
  $self->Enable("P1","P2","P3","P4");
}
#--------------------------------------------------------------- RTFcard::EnableQ
sub EnableQ {
  my $self = shift;
  $self->Enable("Qo","Qi")
}
#--------------------------------------------------------------- RTFcard::setFilter
#help: setFilter(channel,number) Channels are: "P1", "P2", "P3", "P4", "Qi", "Qo".  If channel is omitted, sets all filters to number.
sub setFilter {
  my $self = shift;
  if ($#_ == 1) {
      my ($name,$value) = @_;
      my $comment = "RTF Set Filter $name to $value";
      $self->filter->fromFile($self->filename);
      $self->filter->setGroup($name,$value);
      $self->writeControl($self->filter,$comment);
  } elsif ($#_ == 0) {
      my $value = $_[0];
      $self->setFilter("P1",$value);
      $self->setFilter("P2",$value);
      $self->setFilter("P3",$value);
      $self->setFilter("P4",$value);
      $self->setFilter("Qi",$value);
      $self->setFilter("Qo",$value);
  } else {
      print "setFilter called with wrong number of arguments.\n"
  }
} 
#
#                           Write the DAC's and Thresholds
#
#--------------------------------------------------------------- RTFcard::QLoThresh
#help: QLoThresh(volts) set the low Charge threshold to volts
sub QLoThresh {
  my $self = shift;
  my ($val) = @_;
  $val = 2*$val;
  $self->QLoDAC($val);
}
#--------------------------------------------------------------- RTFcard::QHiThresh
#help: QHiThresh(volts) set the high Charge threshold to volts
sub QHiThresh {
  my $self = shift;
  my ($val) = @_;
  $val = 2*$val;
  $self->QHiDAC($val);
}
#--------------------------------------------------------------- RTFcard::PLoThresh
#help: PLoThresh(volts) set the low Phonon threshold to volts
sub PLoThresh {
  my $self = shift;
  my ($val) = @_;
  $val = 2*$val;
  $self->PLoDAC($val);
}
#--------------------------------------------------------------- RTFcard::PHiThresh
#help: PHiThresh(volts) set the high Phonon threshold to volts
sub PHiThresh {
  my $self = shift;
  my ($val) = @_;
  $val = 2*$val;
  $self->PHiDAC($val);
}
#--------------------------------------------------------------- RTFcard::QLoDAC
#help: QLoDAC(volts) set the low Charge DAC output to volts
sub QLoDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "RTF QLoDAC to $val";
  $self->qlo->setValue($val);
  $self->writeControl($self->qlo,$comment);
}
#--------------------------------------------------------------- RTFcard::QHiDAC
#help: QHiDAC(volts) set the high Charge DAC output to volts
sub QHiDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "RTF QHiDAC to $val";
  $self->qhi->setValue($val);
  $self->writeControl($self->qhi,$comment);
}
#--------------------------------------------------------------- RTFcard::PLoDAC
#help: PLoDAC(volts) set the low Phonon DAC output to volts
sub PLoDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "RTF PLoDAC to $val";
  $self->plo->setValue($val);
  $self->writeControl($self->plo,$comment);
}
#--------------------------------------------------------------- RTFcard::PHiDAC
#help: PHiDAC(volts) set the high Phonon DAC output to volts
sub PHiDAC {
  my $self = shift;
  my ($val) = @_;
  my $comment = "RTF PHiDAC to $val";
  $self->phi->setValue($val);
  $self->writeControl($self->phi,$comment);
}
#




End of RTFcard.pm
echo Savescript.pm 1>&2 
cat >Savescript.pm << 'End of Savescript.pm'
#! /usr/local/bin/perl

package Savescript;
#
#		Savescript.pm
#
#	INHERITS FROM:  object
#	CONTAINS:  None
#
#	Includes 3 routines, all of which relate to creating a hex script through
#	rack.pl:  the first opens a file for writing, the second adds a single
#	line to the open script containing the formatted hex codes, and the third
#	routine closes the script.
#

require 5.002;
require object;

@ISA = qw( object );

my %fields = (
  filename     => undef,
  isOpen       => undef,
  class        => undef,
  subrack      => undef,
  module       => undef,
	      );
#
#
#-------------------------------------------------------------- Savescript::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = object->new;
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my(@Fld) = @_;
    split @Fld;
    $self->filename($Fld[0]);
    $self->isOpen(undef);
    return $self;
}
#-------------------------------------------------------------- Savescript::OpenFile
sub openFile {
    my $self = shift;
    my $answer = $_[0];
    my $class = $_[1];
    my $delfile = undef;
    if (($self->isOpen) eq "1") {
	$self->CloseFile();
    }
    if (-e $self->filename) {
	unless (defined($answer)) {
	   print "Please type \n1 if you wish to continue with existing ", 
	       $self->filename,",\n2 if you wish to overwrite existing ",
               $self->filename,",\nor 3 to cancel: ";
	   chomp($answer = <STDIN>);
	}
	if ($answer eq "1") {
	    $filename = $self->filename;
	} elsif ($answer eq "2") {
	    $delfile = $self->filename;
	    unlink("$delfile");
	    $filename = $self->filename;
	} else {
	    print "Cancelling Savescript now.\n";
	    return;
	}
    }
    $filename = $self->filename;
    open(OUTFILE,">>$filename") or die "Can't open $filename, $!\n";
    $self->isOpen("1");
}

#-------------------------------------------------------------- Savescript::AddLine
sub AddLine {
    my $self = shift;
    if ($#_ < 3) {
	die "AddLine called with too few arguments.\n";
    }
    if ($#_ > 5) {
	print "AddLine called with too many arguments.\n";
    }
    $_[0] =~ s/\s//g;
    $_[1] =~ s/\s//g;
    $_[2] =~ s/\s//g;
    my $subrack = hex($_[0]);
    $subrack = sprintf("%04x",$subrack);
    my $address = hex($_[1]);
    $address = sprintf("%04x",$address);
    my $data = hex($_[2]);
    $data = sprintf("%04x",$data);
    my $readwrite = $_[3];
    my $comment = $_[4];
    print OUTFILE "$subrack\t$address\t$data\t$readwrite\t\% $comment\n";
}
#-------------------------------------------------------------- Savescript::CloseFile
sub CloseFile {
    my $self = shift;
    if ($self->isOpen eq "1") {
	close(OUTFILE);
	$self->isOpen(undef);
    } else { 
	print "Nothing to close, no script is open.\n";
    }
}


End of Savescript.pm
echo ZIPcard.pm 1>&2 
cat >ZIPcard.pm << 'End of ZIPcard.pm'
#! /usr/local/bin/perl

package ZIPcard;
#
#		ZIPcard.pm
#
#	INHERITS FROM:  ElecModule
#	CONTAINS:  ZIPdriver, ZIPqbias, ZIPqet, ZIPsquid
#
#	Contains commands for setting and reading back the digital DACs and
#	controls on the ZIP card.
#

require 5.002;
require ElecModule;

use ZIPsquid;
use ZIPdriver;
use ZIPqbias;
use ZIPqet;

@ISA = qw( ElecModule );

my %fields = (
	      box          => undef,
	      module       => undef,
	      data         => undef,
	      address      => undef,
	      filename     => undef,
	      outfile      => undef,
	      scriptonly   => undef,
	      jumpers      => undef,
	      Controls     => {},
	      DACs         => {},
	      squid        => {},
	      driver       => undef,
	      qbias        => undef,
	      qet          => undef,
	      class        => undef,
	      Accumulate   => undef,
	      );
#
#                              Basic Functions
#
#----------------------------------------------------------------- ZIP::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = ElecModule->new($_[0],$_[1],$_[2]);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $host = $self->box->host;
    my $subrack = $self->box->subrack;
    my $module = $self->module;
    
    if (($self->scriptonly) == 1) {
	$host = "script";
    }

    $self->filename("/tmp/$host-$class-$subrack-$module.out");
    $self->class("ZIPcard");

    $self->{squid}->{a} = new ZIPsquid(10,$self->filename);
    $self->{squid}->{b} = new ZIPsquid(11,$self->filename);
    $self->{squid}->{c} = new ZIPsquid(12,$self->filename);
    $self->{squid}->{d} = new ZIPsquid(13,$self->filename);

    $self->driver(new ZIPdriver(6,$self->filename));
    $self->qet(new ZIPqet(14,$self->filename));
    $self->qbias(new ZIPqbias(3,$self->filename));

#       Set up complete hash Controls

    $self->{Controls}->{SquidAZapControl}  = $self->{squid}->{a}->zapper;

    $self->{Controls}->{SquidBZapControl}  = $self->{squid}->{b}->zapper;

    $self->{Controls}->{SquidCZapControl}  = $self->{squid}->{c}->zapper;

    $self->{Controls}->{SquidDZapControl}  = $self->{squid}->{d}->zapper;

    $self->{Controls}->{QBiasLED1}         = $self->qbias->firstLED;
    $self->{Controls}->{QBiasLED2}         = $self->qbias->secondLED;

    $self->{Controls}->{QETheater}         = $self->qet->heater;

    $self->{Controls}->{Gains1}            = $self->driver->gains1;
    $self->{Controls}->{Gains2}            = $self->driver->gains2;

#      Set up complete hash DACs

    $self->{DACs}->{SquidABias}       = $self->{squid}->{a}->bias;
    $self->{DACs}->{SquidAGain}       = $self->{squid}->{a}->gain;
    $self->{DACs}->{SquidAOffset}     = $self->{squid}->{a}->offset;

    $self->{DACs}->{SquidBBias}       = $self->{squid}->{b}->bias;
    $self->{DACs}->{SquidBGain}       = $self->{squid}->{b}->gain;
    $self->{DACs}->{SquidBOffset}     = $self->{squid}->{b}->offset;

    $self->{DACs}->{SquidCBias}       = $self->{squid}->{c}->bias;
    $self->{DACs}->{SquidCGain}       = $self->{squid}->{c}->gain;
    $self->{DACs}->{SquidCOffset}     = $self->{squid}->{c}->offset;

    $self->{DACs}->{SquidDBias}       = $self->{squid}->{d}->bias;
    $self->{DACs}->{SquidDGain}       = $self->{squid}->{d}->gain;
    $self->{DACs}->{SquidDOffset}     = $self->{squid}->{d}->offset;

    $self->{DACs}->{QinBias}          = $self->qbias->Qibias;
    $self->{DACs}->{QoutBias}         = $self->qbias->Qobias;
    $self->{DACs}->{LED1Bias}         = $self->qbias->LED1bias;
    $self->{DACs}->{LED2Bias}         = $self->qbias->LED2bias;

    $self->{DACs}->{QETBiasA}         = $self->qet->{bias}->{a};
    $self->{DACs}->{QETBiasB}         = $self->qet->{bias}->{b};
    $self->{DACs}->{QETBiasC}         = $self->qet->{bias}->{c};
    $self->{DACs}->{QETBiasD}         = $self->qet->{bias}->{d};

    $self->{DACs}->{Offset0}          = $self->driver->{offset}->[0];
    $self->{DACs}->{Offset1}          = $self->driver->{offset}->[1];
    $self->{DACs}->{Offset2}          = $self->driver->{offset}->[2];
    $self->{DACs}->{Offset3}          = $self->driver->{offset}->[3];
    $self->{DACs}->{Offset4}          = $self->driver->{offset}->[4];
    $self->{DACs}->{Offset5}          = $self->driver->{offset}->[5];

#          Persistence loadup

    $self->fromFile($self->filename);

    return $self;
}
#----------------------------------------------------------------- ZIP::init
#help: init(void) resets memory to startup state of card
sub init {
    my $self = shift;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    foreach $key (sort keys %controls) {
	$controls{$key}->setData(0);
    }
    foreach $key (sort keys %dacs) {
	$dacs{$key}->setValue(0);
    }
    $self->toFile($self->filename);
}
#----------------------------------------------------------------- ZIP::printSQUID
#help: printSQUID(channel) prints information about squid channel section
sub printSQUID {
    my $self = shift;
    my @channels = @_;
    $self->fromFile($self->filename);
    if ($#_ <0) {
	@channels = (a,b,c,d);
    }
    my $i = 0;
    for ($i=0;$i<=$#channels;$i++) {
	$self->{squid}->{$channels[$i]}->print($channels[$i]);
    }
}
#----------------------------------------------------------------- ZIP::printQET
#help: printQET(void) prints information about qet section
sub printQET {
    my $self = shift;
    $self->fromFile($self->filename);
    $self->qet->print;
}
#----------------------------------------------------------------- ZIP::printQBias
#help: printQBias(void) prints information about qbias section
sub printQBias {
    my $self = shift;
    $self->fromFile($self->filename);
    $self->qbias->print;
}
#----------------------------------------------------------------- ZIP::printDriver
#help: printDriver(void) prints information about driver section
sub printDriver {
    my $self = shift;
    $self->fromFile($self->filename);
    $self->driver->print;
}
#
#                              Squid Control Registers
#
#----------------------------------------------------------------- ZIP::openfb
#help: openfb(channel) sets squid on channel to calibration mode. If channel is omitted, sets all channels
sub openfb {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    } 
    for ($i=0;$i<=$#channel;$i++) {
	 $comment = "ZIP Squid $channel[$i] open feedback";
#	 if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	 } else {
	     $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	 }
	 $self->{squid}->{$channel[$i]}->zapper->setGroup("cal",$val);
	 $self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
     }
}
#----------------------------------------------------------------- ZIP::closefb
#help: closefb(channel) sets squid on channel to measure mode. If channel is omitted, sets all channels
sub closefb {
    my $self = shift;
    my @channel = undef;
    my $val = 0;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    } 
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid $channel[$i] close feedback";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	     $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("cal",$val);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::SynchZapMode
#help: SynchZapMode(channel) sets squid on channel to synchronous mode. If channel is omitted, sets all channels
sub SynchZapMode {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid $channel[$i] synch mode";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("mode",$val);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::ASynchZapMode
#help: ASynchZapMode(channel) sets squid on channel to asynchronous mode. If channel is omitted, sets all channels
sub ASynchZapMode {
    my $self = shift;
    my @channel = undef;
    my $val = 0;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid $channel[$i] asynch mode";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("mode",$val);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::ZapWidthIndex
sub ZapWidthIndex {
    my $self = shift;
    my $channel = undef;
    my $index = undef;
    if ($#_ == 0) {
	$index = $_[0];
	$self->ZapWidthIndex("a",$index);
	$self->ZapWidthIndex("b",$index);
	$self->ZapWidthIndex("c",$index);
	$self->ZapWidthIndex("d",$index);
	return;
    } elsif ($#_ == 1) {
	$channel = $_[0];
	$index = $_[1];
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    my $unit = 100;                               # unit of width
    my $val = $unit * ($index + 1);
    my $comment = "ZIP Squid $channel width bits to $index, value to $val";
#    if (($self->scriptonly) != 1) {
#	 $self->readSQUIDZapper($channel[$i]);
#    } else {
	$self->{squid}->{$channel}->zapper->fromFile($self->filename);
#    }
    $self->{squid}->{$channel}->zapper->setGroup("zapwidth",$index);
    $self->writeControl($self->{squid}->{$channel}->zapper,$comment);
}    
#----------------------------------------------------------------- ZIP::ZapWidth
#help: ZapWidth(channel,value) sets width for ZAP on channel to nearest possible width that is smaller than input value (in units of ms). If channel is omitted, sets all channels
sub ZapWidth {
    my $self = shift;
    my $channel = undef;
    my $index = undef;
    my $unit = 100;                          #set units of width
    my $val = undef;
    if ($#_ == 0) {
	$val = $_[0];
	$self->ZapWidth("a",$val);
	$self->ZapWidth("b",$val);
	$self->ZapWidth("c",$val);
	$self->ZapWidth("d",$val);
	return;
    } elsif ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    $index = (int($val/$unit) - 1);
    if ($index > 15) {
	print "Max value is 1600 ms, setting to that\n";
	$index = 15;
    } elsif ($index < 0) {
	print "Min value is 100 ms, setting to that\n";
	$index = 0;
    }
    $self->ZapWidthIndex($channel,$index);
}
#----------------------------------------------------------------- ZIP::armZapSQUID
#help: armZapSQUID(channel) arms squid on channel. If channel is omitted, arms all channels
sub armZapSQUID {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    } 
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid arm $channel[$i]";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("armzap",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("armed",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("disarm",0);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::disarmZapSQUID
#help: disarmZapSQUID(channel) disarms squid on channel. If channel is omitted, disarms all channels
sub disarmZapSQUID {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid disarm $channel[$i]";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("disarm",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("armzap",0);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("armed",0);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::Zeroarm
#help: Zeroarm(channel) zeros both arm and disarm bits on Squid channel
sub Zeroarm {
    my $self = shift;
    my @channel = undef;
    my $val = 0;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid zeroarm $channel[$i]";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {	
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("disarm",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("armzap",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("armed",$val);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::armed
#help: armed(channel) reads zapper CSR and tells whether the ZAP is armed; updates variables.  If channel is omitted, checks all channels.  Will accept more than one channel.
sub armed {
    my $self = shift;
    my @channel = undef;
    my $val = undef;
    my $comment = undef;
    my @bits = undef;
    my $test = undef;
    if ($#_ == -1) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid $channel[$i] armed";
	$self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
	$bits[$i] = $self->readControl($self->{squid}->{$channel[$i]}->zapper,
				       $comment);
	$self->{squid}->{$channel[$i]}->zapper->setData($bits[$i]);
	$bits[$i] =~ s/ //;
	$test = hex($bits[$i]) & 256;
	if ($test > 0) {
	    print "ZAP on channel $channel[$i] armed\n";
	} else {
	    print "ZAP on channel $channel[$i] disarmed\n";
	}
    }
}
#----------------------------------------------------------------- ZIP::polposSQUID
#help: polposSQUID(channel) puts squid on channel to positive polarity. If channel is omitted, does so for all channels
sub polposSQUID {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid polarity on $channel[$i] to positive";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("pola",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("polb",0);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::polnegSQUID
#help: polnegSQUID(channel) puts squid on channel to negative polarity. If channel is omitted, does so for all channels
sub polnegSQUID {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    } 
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid polarity on $channel[$i] to negative";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("polb",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("pola",0);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::Zeropol
#help Zeropol(channel) zeros both polarity bits on Squid channel
sub Zeropol {
    my $self = shift;
    my @channel = undef;
    my $val = 0;
    my $comment = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    } 
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP Squid zero polarity on $channel[$i]";
#	if (($self->scriptonly) != 1) {
#	     $self->readSQUIDZapper($channel[$i]);
#	} else {
	    $self->{squid}->{$channel[$i]}->zapper->fromFile($self->filename);
#	}
	$self->{squid}->{$channel[$i]}->zapper->setGroup("polb",$val);
	$self->{squid}->{$channel[$i]}->zapper->setGroup("pola",$val);
	$self->writeControl($self->{squid}->{$channel[$i]}->zapper,$comment);
    }
}
#----------------------------------------------------------------- ZIP::ZapVolt
#help: ZapVolt(channel,voltage) sets voltage on channel ZAP.  If channel is omitted, sets all channels.  Possible voltages are 0, 1.25, 2.5, 3.75 sets to closest lower value
sub ZapVolt {
    my $self = shift;
    my $val = undef;
    my $channel = undef;
    my $newindex;
    my @volts = (0,1.25,2.5,3.75);
    if ($#_ == 0) {
	$val = $_[0];
	$self->ZapVolt("a",$val);
	$self->ZapVolt("b",$val);
	$self->ZapVolt("c",$val);
	$self->ZapVolt("d",$val);
	return;
    } elsif ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    for ($i=0;$i<=$#volts;$i++) {
	if ($val>=$volts[$i]) {
	    $newindex = $i;
	}
    }
    $self->ZapVoltIndex($channel,$newindex);
}
#----------------------------------------------------------------- ZIP::ZapVoltIndex
sub ZapVoltIndex {
    my $self = shift;
    my $index = undef;
    my $channel = undef;
    my @volts = (0,1.25,2.5,3.75);
    if ($#_ == 0) {
	$index = $_[0];
	$self->ZapVoltIndex("a",$index);
	$self->ZapVoltIndex("b",$index);
	$self->ZapVoltIndex("c",$index);
	$self->ZapVoltIndex("d",$index);
	return;
    } elsif ($#_ == 1) {
	$channel = $_[0];
	$index = $_[1];
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    my $comment = "ZIP set ZAP voltage on channel $channel to $volts[$index]";
#    if (($self->scriptonly) != 1) {
#	$self->readSQUIDZapper($channel[$i]);
#    } else {
	$self->{squid}->{$channel}->zapper->fromFile($self->filename);
#    }
    $self->{squid}->{$channel}->zapper->setGroup("zapvoltage",$index);
    $self->writeControl($self->{squid}->{$channel}->zapper,$comment);
}
#----------------------------------------------------------------- ZIP::readSQUIDZapper
#help: readSQUIDZapper(channel) reads the Zapper CSR on squid channel
sub readSQUIDZapper {
    my $self = shift;
    my @channel = undef;
    my $comment = undef;
    my $bits = undef;
    my $ret = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP read Squid Zapper $channel[$i]";
	$bits = $self->readControl($self->{squid}->{$channel[$i]}->zapper,
				   $comment);
	$self->{squid}->{$channel[$i]}->zapper->setData($bits);
	$ret = $i;
    }
    $self->toFile($self->filename);
    return $self->{squid}->{$channel[$ret]}->zapper->data;
}
#----------------------------------------------------------------- ZIP::readSQUID
#help: readSQUID(channel) reads all DACs and CSRsfor squid channel.  If channel is omitted, reads all channels.
sub readSQUID {
    my $self = shift;
    my @channel = undef;
    if ($#_ >= 0) {
	@channel = @_;
    } else {
	@channel = ("a","b","c","d");
    }
    $self->readSQUIDZapper(@channel);
    $self->readSQUIDDAC(@channel);
}
#
#                              Squid DACs
#
#----------------------------------------------------------------- ZIP::setSQUIDbias
#help: setSQUIDbias(channel,value) sets bias on squid channel to value in volts.  If channel is omitted, sets all four channels.  Channels are "a","b","c","d".
sub setSQUIDbias {
    my $self = shift;
    my $channel = 0;
    my $val = 0;
    if ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } elsif ($#_ == 0) {
	$val = $_[0];
	$self->setSQUIDbias("a",$val);
	$self->setSQUIDbias("b",$val);
	$self->setSQUIDbias("c",$val);
	$self->setSQUIDbias("d",$val);
	return;
    }
    my $comment = "ZIP set squid $channel bias to $val";
    $self->{squid}->{$channel}->bias->setValue($val);
    $self->writeControl($self->{squid}->{$channel}->bias,$comment);
}
#----------------------------------------------------------------- ZIP::setSQUIDolgain
#help: setSQUIDolgain(channel,value) sets gain on squid channel to value in volts.  If channel is omitted, sets all four channels.  Channels are "a","b","c","d".
sub setSQUIDolgain {
    my $self = shift;
    my $channel = 0;
    my $val = 0;
    if ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } elsif ($#_ == 0) {
	$val = $_[0];
	$self->setSQUIDolgain("a",$val);
	$self->setSQUIDolgain("b",$val);
	$self->setSQUIDolgain("c",$val);
	$self->setSQUIDolgain("d",$val);
	return;
    }
    my $comment = "ZIP set squid $channel olgain to $val";
    $self->{squid}->{$channel}->gain->setValue($val);
    $self->writeControl($self->{squid}->{$channel}->gain,$comment);
}
#----------------------------------------------------------------- ZIP::setLockPoint
#help: setLockPoint(channel,value) sets offset on squid channel to value in volts.  If channel is omitted, sets all four channels.  Channels are "a","b","c","d".
sub setLockPoint {
    my $self = shift;
    my $channel = 0;
    my $val = 0;
    if ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } elsif ($#_ == 0) {
	$val = $_[0];
	$self->setLockPoint("a",$val);
	$self->setLockPoint("b",$val);
	$self->setLockPoint("c",$val);
	$self->setLockPoint("d",$val);
	return;
    }
    my $comment = "ZIP set squid $channel lock point to $val";
    $self->{squid}->{$channel}->offset->setValue($val);
    $self->writeControl($self->{squid}->{$channel}->offset,$comment);
}
#----------------------------------------------------------------- ZIP::readSQUIDbias
#help: readSQUIDbias(channel) reads bias on squid channel.  If channel is omitted, reads all four channels.  Channels are "a","b","c","d".
sub readSQUIDbias {
    my $self = shift;
    my @channel = 0;
    my $comment = undef;
    my $bits = undef;
    my $value = undef;
    my $ret = undef;
    if ($#_ >= 0) {
	@channel = @_;
    } else {
	@channel = ("a","b","c","d");
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP read squid $channel[$i] bias";
	$bits = $self->readControl($self->{squid}->{$channel[$i]}->bias,
				   $comment);
	$self->{squid}->{$channel[$i]}->bias->setData($bits);
	$self->toFile($self->filename);
	$ret = $i;
    }
    return $self->{squid}->{$channel[$ret]}->bias->value;
}
#----------------------------------------------------------------- ZIP::readSQUIDolgain
#help: readSQUIDolgain(channel) reads gain on squid channel.  If channel is omitted, reads all four channels.  Channels are "a","b","c","d".
sub readSQUIDolgain {
    my $self = shift;
    my @channel = undef;
    my $comment = undef;
    my $bits = undef;
    my $ret = undef;
    if ($#_ >= 0) {
	@channel = @_;
    } else {
	@channel = ("a","b","c","d");
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP read squid $channel[$i] olgain";
	$bits = $self->readControl($self->{squid}->{$channel[$i]}->gain,
				      $comment);
	$self->{squid}->{$channel[$i]}->gain->setData($bits);
	$self->toFile($self->filename);
	$ret = $i;
    }
    return $self->{squid}->{$channel[$ret]}->gain->value;
}
#----------------------------------------------------------------- ZIP::readLockPoint
#help: readLockPoint(channel) reads offset on squid channel.  If channel is omitted, reads all four channels.  Channels are "a","b","c","d".
sub readLockPoint {
    my $self = shift;
    my @channel = undef;
    my $comment = undef;
    my $bits = undef;
    my $ret = undef;
    if ($#_ >= 0) {
	@channel = @_;
    } else {
	@channel = ("a","b","c","d");
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP read squid $channel[$i] lock point";
	$bits = $self->readControl($self->{squid}->{$channel[$i]}->offset,
				   $comment);
	$self->{squid}->{$channel[$i]}->offset->setData($bits);
	$self->toFile($self->filename);
	$ret = $i;
    }
    return $self->{squid}->{$channel[$ret]}->offset->value;
}
#----------------------------------------------------------------- ZIP::readSQUIDDAC
#help: readSQUIDDAC(channel) reads all DACs for squid channel.  If channel is omitted, reads all channels.
sub readSQUIDDAC {
    my $self = shift;
    my @channel = undef;
    if ($#_ >= 0) {
	@channel = @_;
    } else {
	@channel = ("a","b","c","d");
    }
    $self->readSQUIDbias(@channel);
    $self->readSQUIDolgain(@channel);
    $self->readLockPoint(@channel);
}    
#
#                              QET Control Registers
#
#----------------------------------------------------------------- ZIP::IVMode
#help: IVMode(channel) set PHi channel to calibration mode.  If channel is omitted sets all channels to calibrate
sub IVMode {
    my $self = shift;
    my @channel = undef;
    my $val = 1;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    my $comment = "ZIP IV mode on";
    $self->qet->heater->fromFile($self->filename);
    for ($i=0;$i<=$#channel;$i++) {
	$comment = $comment . " $channel[$i]";
	$self->qet->heater->setGroup("phical$channel[$i]",$val);
    }
    $self->writeControl($self->qet->heater,$comment);
}
#----------------------------------------------------------------- ZIP::BiasMode
#help: BiasMode(channel) set PHi channel to measure mode.  If channel is omitted sets all channels to measure
sub BiasMode {
    my $self = shift;
    my @channel = undef;
    my $val = 0;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    my $comment = "ZIP bias mode on"; 
    $self->qet->heater->fromFile($self->filename);
    for ($i=0;$i<=$#channel;$i++) {
	$comment = $comment . " $channel[$i]";
	$self->qet->heater->setGroup("phical$channel[$i]",$val);
    }
    $self->writeControl($self->qet->heater,$comment);
}
#----------------------------------------------------------------- ZIP::EnableHeat
#help: EnableHeat(channels) enables heater channel. Channels are "a","b","c","d".  If channel is omitted, enables all heaters.
sub EnableHeat {
    my $self = shift;
    my @name = @_;
    my $val = 1;
    my $comment = "ZIP Enable Heater ";
    if ($#_ < 0) {
	@name = (a,b,c,d);
    } 
    $self->qet->heater->fromFile($self->filename);
    for ($i=0;$i<=$#name;$i++) {
	$self->qet->heater->setGroup("enableheat$name[$i]",$val);
	$comment = "$comment" . " $name[$i]";
    }
    $self->writeControl($self->qet->heater,$comment);
}
#----------------------------------------------------------------- ZIP::DisableHeat
#help: DisableHeat(channels) disables heater channel. Channels are "a","b","c","d".  If channel is omitted, disables all heaters.
sub DisableHeat {
    my $self = shift;
    my @name = @_;
    my $val = 0;
    my $comment = "ZIP Disable Heater ";
    if ($#_ < 0) {
	@name = (a,b,c,d);
    } 
    $self->qet->heater->fromFile($self->filename);
    for ($i=0;$i<=$#name;$i++) {
	$self->qet->heater->setGroup("enableheat$name[$i]",$val);
	$comment = "$comment" . " $name[$i]";
    }
    $self->writeControl($self->qet->heater,$comment);
}
#----------------------------------------------------------------- ZIP::HeaterWidthIndex
sub HeaterWidthIndex {
    my $self = shift;
    my $index = $_[0];
    my $unit = 100;                           # units for heater width
    my $width = ($index + 1)* $unit;
    my $comment = "ZIP Heater index to $index, width to $width";
    $self->qet->heater->fromFile($self->filename);
    $self->qet->heater->setGroup("heatwidth",$index);
    $self->writeControl($self->qet->heater,$comment);
}
#----------------------------------------------------------------- ZIP::HeaterWidth
#help: HeaterWidth(width) sets qet heater width to nearest possible value to width that is less than input value
sub HeaterWidth {
    my $self = shift;
    my $width = $_[0];
    my $unit = 100;                           # units for heater width
    my $index = (int($width/$unit) - 1);
    if ($index > 15) {
	print "Max heater width is 1600 ms, setting to that\n";
	$index = 15;
    } elsif ($index < 0) {
	print "Min heater width is 100 ms, setting to that\n";
	$index = 0;
    }
    $self->HeaterWidthIndex($index);
}
#----------------------------------------------------------------- ZIP::readHeater
#help: readHeater(void) reads back CSR on QET section and updates memory
sub readHeater {
    my $self = shift;
    my $bits = undef;
    my $comment = "ZIP read heater CSR";
    $bits = $self->readControl($self->qet->heater,$comment);
    $self->qet->heater->setData($bits);
    $self->toFile($self->filename);
    return $self->qet->heater->data;
}
#----------------------------------------------------------------- ZIP::readQET
#help: readQET(void) reads back CSR and DACs on QET section and updates memory
sub readQET {
    my $self = shift;
    $self->readHeater;
    $self->readQETBias;
}
#
#                              QET DACs
#
#----------------------------------------------------------------- ZIP::setQETBias
#help: setQETBias(channel,value) sets bias on QET channel to value in volts.  If channel is omitted, sets all four channels.  Channels are "a","b","c","d".
sub setQETBias {
    my $self = shift;
    my $channel = 0;
    my $val = 0;
    if ($#_ == 1) {
	$channel = $_[0];
	$val = $_[1];
    } elsif ($#_ == 0) {
	$val = $_[0];
	$self->setQETBias("a",$val);
	$self->setQETBias("b",$val);
	$self->setQETBias("c",$val);
	$self->setQETBias("d",$val);
	return;
    }
    my $comment = "ZIP set QET $channel bias to $val";
    $self->qet->{bias}->{$channel}->setValue($val);
    $self->writeControl($self->qet->{bias}->{$channel},$comment);
}
#----------------------------------------------------------------- ZIP::readQETBias
#help: readQETBias(channel) reads bias on QET channel.  If channel is omitted, reads all four channels.  Channels are "a","b","c","d".
sub readQETBias {
    my $self = shift;
    my @channel = undef;
    my $comment = undef;
    my $bits = undef;
    my $ret = undef;
    if ($#_ < 0) {
	@channel = (a,b,c,d);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	$comment = "ZIP read QET $channel[$i] bias";
	$bits = $self->readControl($self->qet->{bias}->{$channel[$i]},
				  $comment);
	$self->qet->{bias}->{$channel[$i]}->setData($bits);
	$ret = $i;
    }
    $self->toFile($self->filename);
    return $self->qet->{bias}->{$channel[$ret]}->value;
}
#
#                              QBias Control Registers
#
#----------------------------------------------------------------- ZIP::LEDOn
#help: LEDOn(LEDnumber,value) turns LEDnumber on if value = 1.  LEDnumber = 3 turns both to value.  If value is omitted, defaults to on.
sub LEDOn {
    my $self = shift;
    my $number = undef;
    my $val = undef;
    my $comment = undef;
    if ($#_ == 1) {
	($number,$val) = @_;
    } elsif ($#_ == 0) {
	$number = $_[0];
	$val = 1;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDOn(1,$val);
	$self->LEDOn(2,$val);
	return;
    }
    if ($val == 1) {
	$comment = "ZIP LED$number On";
    } else {
	$comment = "ZIP LED$number Off";
    }
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("led${number}on",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDOff
#help: LEDOff(number) turns LEDnumber off.  If number = 3, turns both off.
sub LEDOff {
    my $self = shift;
    my $number = 0;
    if ($#_ > -1) {
	$number = $_[0];
	$self->LEDOn($number,0);
    } else {
	$self->LEDOn(3,0);
    }
}
#----------------------------------------------------------------- ZIP::LEDWidthIndex
sub LEDWidthIndex {
    my $self = shift;
    my $index = undef;
    my $number = undef;
    my $comment = undef;
    my $unit = 100;                           # units for width
    if ($#_ == 0) {
	$index = $_[0];
	$self->LEDWidthIndex(1,$index);
	$self->LEDWidthIndex(2,$index);
	return;
    } elsif ($#_ == 1) {
	($number,$index) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDWidthIndex(1,$index);
	$self->LEDWidthIndex(2,$index);
	return;
    }
    $comment = "ZIP LED$number width bits to $index";
    $self->qbias->secondLED->fromFile($self->filename);
    $self->qbias->secondLED->setGroup("led${number}width",$index);
    $self->writeControl($self->qbias->secondLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDWidth
#help: LEDWidth(number,width) sets LEDnumber width to closest possible value of width, less than input value.  If number = 3, sets both LEDs to index
sub LEDWidth {
    my $self = shift;
    my $index = undef;
    my $number = width;
    my $unit = undef;                           #units for width
    my $width = undef;
    if ($#_ == 0) {
	$width = $_[0];
	$self->LEDWidth(3,$width);
	return;
    } elsif ($#_ == 1) {
	($number,$width) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($width >= 200) {
	$unit = 200;
	$self->LEDLongPulse($number);
	$index = (int($width/$unit) - 1);
    } else {
	$unit = 5;
	$self->LEDShortPulse($number);
	$index = (int($width/$unit) - 1);
    }
    if ($index > 15) {
	print "Exceeded max index, setting to index 15\n";
	$index = 15;
    } elsif ($index < 0) {
	print "Below min index, setting to index 0\n";
	$index = 0;
    }
    $self->LEDWidthIndex($number,$index);

}
#----------------------------------------------------------------- ZIP::LEDPeriodIndex
sub LEDPeriodIndex {
    my $self = shift;
    my $rate = undef;
    my $index = undef;
    my $number = undef;
    my $comment = undef;
    my $unit = 100;
    if ($#_ == 0) {
	$index = $_[0];
	$self->LEDPeriodIndex(3,$index);
	return;
    } elsif ($#_ == 1) {
	($number,$index) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDPeriodIndex(1,$index);
	$self->LEDPeriodIndex(2,$index);
	return;
    }
    $rate = ($index + 1) * $unit;
    $comment = "ZIP LED$number rate to $rate, bits to $index";
    $self->qbias->secondLED->fromFile($self->filename);
    $self->qbias->secondLED->setGroup("led${number}rate",$index);
    $self->writeControl($self->qbias->secondLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDPeriod
#help: LEDPeriod(number,period) sets LEDnumber rate to closest possible period, less than input value.  If number = 3, sets both LEDs to period
sub LEDPeriod {
    my $self = shift;
    my $index = undef;
    my $number = undef;;
    my $unit = 100;                           # units for period
    my $rate = undef;
    if ($#_ == 0) {
	$rate = $_[0];
	$self->LEDPeriod(3,$rate);
	return;
    } elsif ($#_ == 1) {
	($number,$rate) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    $index = (int($rate/$unit) - 1);
    if ($index > 15) {
	print "Max rate is 1600 ms, setting to that\n";
	$index = 15;
    } elsif ($index <0) {
	print "Min rate is 100 ms, setting to that\n";
	$index = 0;
    }
    $self->LEDPeriodIndex($number,$index);

}
#----------------------------------------------------------------- ZIP::gndQI
#help: gndQI(state=1) ground/unground Qi bias (state=1 grounds it)
sub gndQI {
    my $self = shift;
    my $val = undef;
    my $comment = undef;
    $val = 1;
    if ($#_>-1) {
	($val) = @_;
    }
    if ($val == 1) {
	$comment = "ZIP ground Vi bias";
    } else {
	$comment = "ZIP unground Vi bias";
    }
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("qinbias",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::gndQO
#help: gndQO(state=1) ground/unground Qo bias (state=1 grounds it)
sub gndQO {
    my $self = shift;
    my $val = undef;
    my $comment = undef;
    $val = 1;
    if ($#_>-1) {
	($val) = @_;
    }
    if ($val == 1) {
	$comment = "ZIP ground Vo bias";
    } else {
	$comment = "ZIP unground Vo bias";
    }
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("qoutbias",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDShortPulse
#help: LEDShortPulse(number,value) sets LEDnumber to 0 = short, 1 = long.  If number = 3, sets both LEDs to value. If value is omitted, sets to short
sub LEDShortPulse {
    my $self = shift;
    my $val = undef;
    my $number = undef;
    my $comment = undef;
    if ($#_ == 0) {
	($number) = @_;
	$val = 0;
    } elsif ($#_ == 1) {
	($number,$val) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDShortPulse(1,$val);
	$self->LEDShortPulse(2,$val);
	return;
    }
    if ($val == 1) {
	$comment = "ZIP LED$number long";
    } elsif ($val == 0) {
	$comment = "ZIP LED$number short";
    }
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("led${number}long",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDLongPulse
#help: LEDLongPulse(number) sets LEDnumber to long.  If number = 3, sets both to long
sub LEDLongPulse {
    my $self = shift;
    my $number = 0;
    if ($#_ > -1) {
	$number = $_[0];
	$self->LEDShortPulse($number,1);
    } else {
	$self->LEDShortPulse(3,1);
    }
}
#----------------------------------------------------------------- ZIP::LEDRepMode
#help: LEDRepMode(number) sets LEDnumber to repetitive mode.  If number = 3, sets both LEDs to rep.
sub LEDRepMode {
    my $self = shift;
    my $val = 1;
    my $number = $_[0];
    my $comment = undef;
    if ($number == 3) {
	$self->LEDRepMode(1);
	$self->LEDRepMode(2);
	return;
    }
    $comment = "ZIP LED$number to repetitive mode";
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("led${number}rep",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDSingleMode
#help: LEDSingleMode(number) sets LEDnumber to single fire mode.  If number = 3, sets both to single
sub LEDSingleMode {
    my $self = shift;
    my $number = $_[0];
    my $val = 0;
    my $comment = undef;
    if ($number == 3) {
	$self->LEDSingleMode(1);
	$self->LEDSingleMode(2);
	return;
    }
    $comment = "ZIP LED$number to single mode";
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("led${number}rep",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDPulseMode
#help: LEDPulseMode(number,value) sets LEDnumber to 0 = pulse, 1 = cont.  If number = 3, sets both LEDs to value. If value is omitted, sets to short
sub LEDPulseMode {
    my $self = shift;
    my $val = undef;
    my $number = undef;
    my $comment = undef;
    if ($#_ == 0) {
	($number) = @_;
	$val = 0;
    } elsif ($#_ == 1) {
	($number,$val) = @_;
    } else {
	print "Incorrect number of arguments\n";
	return;
    }
    if ($number == 3) {
	$self->LEDPulseMode(1,$val);
	$self->LEDPulseMode(2,$val);
	return;
    }
    if ($val == 1) {
	$comment = "ZIP LED$number continuous";
    } elsif ($val == 0) {
	$comment = "ZIP LED$number pulse";
    }
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("led${number}cont",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::LEDContMode
#help: LEDContMode(number) sets LEDnumber to continuous.  If number = 3, sets both to long
sub LEDContMode {
    my $self = shift;
    my $number = 0;
    if ($#_ > -1) {
	$number = $_[0];
	$self->LEDPulseMode($number,1);
    } else {
	$self->LEDPulseMode(3,1);
    }
}
#----------------------------------------------------------------- ZIP::LEDFire
#help: LEDFire(number) fires LEDnumber, and then resets CSR bit.  If number = 3, fires both LEDs to value.
sub LEDFire {
    my $self = shift;
    my $val = 1;
    my $number = $_[0];
    my $comment = undef;
    if ($number == 3) {
	$self->LEDFire(1);
	$self->LEDFire(2);
	return;
    }
    $comment = "Checking if in single fire mode";
    my $bits = undef;
    $bits = $self->readControl($self->qbias->firstLED,$comment);
    $bits =~ s/ //;
    my @test = undef;
    $test[1] = hex($bits) & 4;
    $test[2] = hex($bits) & 64;
    if ($test[$number] != 0) {
	print "LED $number needs to be in single fire mode\n";
	return;
    }
    $comment = "ZIP fire LED$number";
    $self->qbias->firstLED->fromFile($self->filename);
    $self->qbias->firstLED->setGroup("led${number}single",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
    $val = 0;
    $self->qbias->firstLED->setGroup("led${number}single",$val);
    $self->writeControl($self->qbias->firstLED,$comment);
}
#----------------------------------------------------------------- ZIP::readLEDModeStatus
#help: readLEDModeStatus(void) reads back first CSR on QBias section
sub readLEDModeStatus {
    my $self = shift;
    my $bits = undef;
    my $comment = "ZIP read first LED CSR";
    $bits = $self->readControl($self->qbias->firstLED,$comment);
    $self->qbias->firstLED->setData($bits);
    $self->toFile($self->filename);
    return $self->qbias->firstLED->data;
}
#----------------------------------------------------------------- ZIP::readLEDWPStatus
#help: readLEDWPStatus(void) reads back first CSR on QBias section
sub readLEDWPStatus {
    my $self = shift;
    my $bits = undef;
    my $comment = "ZIP read second LED CSR";
    $bits = $self->readControl($self->qbias->secondLED,$comment);
    $self->qbias->secondLED->setData($bits);
    $self->toFile($self->filename);
    return $self->qbias->secondLED->data;
}
#----------------------------------------------------------------- ZIP::readQBiasCSR
#help: readQBiasCSR(void) reads back CSRs on QBias section
sub readQBiasCSR {
    my $self = shift;
    $self->readLEDModeStatus;
    $self->readLEDWPStatus;
}
#----------------------------------------------------------------- ZIP::readQBias
#help: readQBias(void) reads back CSRs and DACs on QBias section
sub readQBias {
    my $self = shift;
    $self->readQBiasCSR;
    $self->readQBiasDAC;
}
#
#                              QBias DACs
#
#----------------------------------------------------------------- ZIP::setQIDAC
#help: setQIDAC(value) sets Qinner DAC to value in volts
sub setQIDAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "ZIP set Qinner DAC to $val";
    $self->qbias->Qibias->setValue($val);
    $self->writeControl($self->qbias->Qibias,$comment);
}
#----------------------------------------------------------------- ZIP::setQODAC
#help: setQODAC(value) sets Qouter DAC to value in volts
sub setQODAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "ZIP set Qouter DAC to $val";
    $self->qbias->Qobias->setValue($val);
    $self->writeControl($self->qbias->Qobias,$comment);
}
#----------------------------------------------------------------- ZIP::setLED1DAC
#help: setLED1DAC(value) sets LED1 DAC to value in volts
sub setLED1DAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "ZIP set LED1 DAC to $val";
    $self->qbias->LED1bias->setValue($val);
    $self->writeControl($self->qbias->LED1bias,$comment);
}
#----------------------------------------------------------------- ZIP::setLED2DAC
#help: setLED2DAC(value) sets LED2 DAC to value in volts
sub setLED2DAC {
    my $self = shift;
    my $val = $_[0];
    my $comment = "ZIP set LED2 DAC to $val";
    $self->qbias->LED2bias->setValue($val);
    $self->writeControl($self->qbias->LED2bias,$comment);
}
#----------------------------------------------------------------- ZIP::readQIDAC
#help: readQIDAC(void) reads Qinner DAC
sub readQIDAC {
    my $self = shift;
    my $comment = "ZIP read Qinner DAC";
    my $bits = $self->readControl($self->qbias->Qibias,$comment);
    $self->qbias->Qibias->setData($bits);
    $self->toFile($self->filename);
    return $self->qbias->Qibias->value;
}
#----------------------------------------------------------------- ZIP::readQODAC
#help: readQODAC(void) reads Qouter DAC
sub readQODAC {
    my $self = shift;
    my $comment = "ZIP read Qouter DAC";
    my $bits = $self->readControl($self->qbias->Qobias,$comment);
    $self->qbias->Qobias->setData($bits);
    $self->toFile($self->filename);
    return $self->qbias->Qobias->value;
}
#----------------------------------------------------------------- ZIP::readLED1DAC
#help: readLED1DAC(void) reads LED1 DAC
sub readLED1DAC {
    my $self = shift;
    my $comment = "ZIP read LED1 DAC";
    my $bits = $self->readControl($self->qbias->LED1bias,$comment);
    $self->qbias->LED1bias->setData($bits);
    $self->toFile($self->filename);
    return $self->qbias->LED1bias->value;
}
#----------------------------------------------------------------- ZIP::readLED2DAC
#help: readLED2DAC(void) reads LED2 DAC
sub readLED2DAC {
    my $self = shift;
    my $comment = "ZIP read LED2 DAC";
    my $bits = $self->readControl($self->qbias->LED2bias,$comment);
    $self->qbias->LED2bias->setData($bits);
    $self->toFile($self->filename);
    return $self->qbias->LED2bias->value;
}
#----------------------------------------------------------------- ZIP::readQBiasDAC
#help: readQBiasDAC(void) reads all DACs in QBias section
sub readQBiasDAC {
    my $self = shift;
    $self->readQIDAC;
    $self->readQODAC;
    $self->readLED1DAC;
    $self->readLED2DAC;
}
#
#                              Driver Control Registers
#
#----------------------------------------------------------------- ZIP::setGain
#help: setGain(channel,gain) set channel to the nearest gain possible to gain.  If channel is omitted, sets all gains.
sub setGain {
    my $self = shift;
    my $channel = undef;
    my $gain = undef;
    if ($#_ == 1) {
	($channel,$gain) = @_;
    } elsif ($#_ == 0) {
	$gain = $_[0];
	for ($i=0;$i<6;$i++) {
	    $self->setGain($i,$gain);
	}
	return;
    }
    my $i = 0;
    my $newIndex = 0;
    my @gainValues = (1,1.43,2,5,10,14.3,20,50);
    for ($i=0;$i<$#gainValues;$i++) {
	if (abs($gain)>=$gainValues[$i]) {
	    $newIndex = $i;
	}
    }
    $self->gainIndex($channel,$newIndex);
    if ($gain<0) {
	$self->polarity($channel,1);
    } else {
	$self->polarity($channel,0);
    }
}
#----------------------------------------------------------------- ZIP::gainIndex
sub gainIndex {
    my $self = shift;
    my $channel = undef;
    my $index = undef;
    if ($#_ == 1) {
	($channel,$index) = @_;
    } elsif ($#_ == 0) {
	$index = $_[0];
	for ($i=0;$i<6;$i++) {
	    $self->gainIndex($i,$index);
	}
	return;
    }
    my @gains = (1,1.43,2,5,10,14.3,20,50);
    my $comment = "ZIP gain on ch$channel to $gains[$index], index $index";
    $self->fromFile($self->filename);
    if ($channel<3) {
	$self->driver->gains1->setGroup("gain$channel",$index);
	$self->writeControl($self->driver->gains1,$comment);
    } elsif ($channel<6) {
	$self->driver->gains2->setGroup("gain$channel",$index);
	$self->writeControl($self->driver->gains2,$comment);
    }
}
#----------------------------------------------------------------- ZIP::polarity
#help: polarity(channel,index) set polarity on channel to pos or neg.  If channel is omitted, sets all polarities.
sub polarity {
    my $self = shift;
    my $channel = undef;
    my $value = undef;
    if ($#_ == 1) {
	($channel,$value) = @_;
    } elsif ($#_ == 0) {
	$value = $_[0];
	for ($i=0;$i<6;$i++) {
	    $self->polarity($i,$value);
	}
	return;
    }
    my $comment = "ZIP polarity on driver p$channel to $value";
    if ($channel<3) {
	$self->driver->gains1->setGroup("p$channel",$value);
	$self->writeControl($self->driver->gains1,$comment);
    } elsif ($channel<6) {
	$self->driver->gains2->setGroup("p$channel",$value);
	$self->writeControl($self->driver->gains2,$comment);
    }
}
#----------------------------------------------------------------- ZIP::readGains
#help: readGains(void) reads the gains from the card
sub readGains {
    my $self = shift;
    my $comment = "ZIP read Gains1";
    my $bits1 = $self->readControl($self->driver->gains1,$comment);
    $comment = "ZIP read Gains2";
    my $bits2 = $self->readControl($self->driver->gains2,$comment);
    $self->driver->gains1->setData($bits1);
    $self->driver->gains2->setData($bits1);
    $self->toFile($self->filename);
}	
#----------------------------------------------------------------- ZIP::readDriver
#help: readDriver(void) reads DACs and gains from driver section
sub readDriver {
    my $self = shift;
    $self->readGains;
    $self->readOffset;
}
#
#                              Driver DACs
#
#----------------------------------------------------------------- ZIP::setOffset
#help: setOffset(channel,value) sets offset DAC on channel to value volts.  If channel is omitted, sets all offsets.
sub setOffset {
    my $self = shift;
    my $channel = undef;
    my $val = undef;
    if ($#_ == 1) {
	($channel,$val) = @_;
    } elsif ($#_ == 0) {
	$val = $_[0];
	for ($i=0;$i<6;$i++) {
	    $self->setOffset($i,$val);
	}
	return;
    }
    my $comment = "ZIP set Offset DAC $channel to $val";
    if (($channel>5) || ($channel<0)) {
	print "No such DAC\n";
	return;
    }
    $self->driver->{offset}->[$channel]->setValue($val);
    $self->writeControl($self->driver->{offset}->[$channel],$comment);
}
#----------------------------------------------------------------- ZIP::readOffset
#help: readOffset(channel) reads offset DAC on channel and updates variables
sub readOffset {
    my $self = shift;
    my @channel = undef;
    my $comment = undef;
    my $bits = undef;
    my $ret = undef;
    if ($#_ < 0) {
	$self->readOffset(0,1,2,3,4,5,);
    } else {
	@channel = @_;
    }
    for ($i=0;$i<=$#channel;$i++) {
	if (($channel[$i]>5) || ($channel[$i] < 0)) {
	    print "No such DAC\n";
	    next;
	}
	$comment = "ZIP read offset DAC $channel[$i]";
	$bits = $self->readControl($self->driver->{offset}->[$channel[$i]],
				   $comment);
	$self->driver->{offset}->[$channel[$i]]->setData($bits);
	$self->toFile($self->filename);
	$ret = $i;
    }
    return $self->driver->{$channel[$ret]}->value;
}




End of ZIPcard.pm
echo ZIPdriver.pm 1>&2 
cat >ZIPdriver.pm << 'End of ZIPdriver.pm'
#! /usr/local/bin/perl

package ZIPdriver;
#
#		ZIPdriver.pm
#
#	INHERITS FROM:  object
#	CONTAINS:  Control, DAC
#
#	This object contains the controls and DACs for the driver section of
#	the ZIP card.  Other than the constructor and a print routine, it 
#	does not contain any methods.  (It could possibly be used for combining
#	the 3U and 9U versions of the ZIP card in the software.)
#

require 5.002;
require object;

use Control;
use DAC;

@ISA = qw( object );

my %fields = (
	      filename     => undef,
	      offset       => [],
	      gains1         => undef,
	      gains2         => undef,
	      Controls     => {},
	      DACs         => {},
	      );
#
#               Basic Functions
#
#------------------------------------------------------------ ZIPqet::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = object->new(@_);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $section = $_[0];
    my $filename = $_[1];
    $self->filename("$filename");
    $section = $section << 4;

    my $i = 0;
    my $address = 0;
    for ($i=0;$i<6;$i++) {
	$address = $i + 4;
	$self->{offset}->[$i] = new DAC (($section | $address),12,-5,5);
    }
    $self->gains1( new Control (($section | 0),"gain0","","gain1","","gain2",
				"","p0","p1","p2",""));
    $self->gains1->setGroupSize("gain0",3);
    $self->gains1->setGroupSize("gain1",3);
    $self->gains1->setGroupSize("gain2",3);
    $self->gains2( new Control (($section | 1),"gain3","","gain4","","gain5",
				"","p3","p4","p5",""));
    $self->gains2->setGroupSize("gain3",3);
    $self->gains2->setGroupSize("gain4",3);
    $self->gains2->setGroupSize("gain5",3);

    $self->{Controls}->{Gains1}     = $self->gains1;
    $self->{Controls}->{Gains2}     = $self->gains2;
    $self->{DACs}->{Offset0}        = $self->{offset}->[0];
    $self->{DACs}->{Offset1}        = $self->{offset}->[1];
    $self->{DACs}->{Offset2}        = $self->{offset}->[2];
    $self->{DACs}->{Offset3}        = $self->{offset}->[3];
    $self->{DACs}->{Offset4}        = $self->{offset}->[4];
    $self->{DACs}->{Offset5}        = $self->{offset}->[5];

    return $self;
}
#----------------------------------------------------------------- ZIPdriver::print
sub print {
    my $self = shift;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    print "??? Driver Information\n";
    foreach $key (sort keys %controls) {
	print ">> $key Control\n"; $controls{$key}->print;
    }
    foreach $key (sort keys %dacs) {
	print ">> $key DAC\n"; $dacs{$key}->print;
    }
}

End of ZIPdriver.pm
echo ZIPqbias.pm 1>&2 
cat >ZIPqbias.pm << 'End of ZIPqbias.pm'
#! /usr/local/bin/perl

package ZIPqbias;
#
#               ZIPqbias.pm
#
#       INHERITS FROM:  object
#       CONTAINS:  Control, DAC
#
#       This object contains the controls and DACs for the QBias section of
#       the ZIP card.  Other than the constructor and a print routine, it
#       does not contain any methods.  (It could possibly be used for combining  
#       the 3U and 9U versions of the ZIP card in the software.)
#

require 5.002;
require object;

use Control;
use DAC;

@ISA = qw( object );

my %fields = (
	      filename     => undef,
	      Qibias       => undef,
	      Qobias       => undef,
	      LED1bias     => undef,
	      LED2bias     => undef,
	      firstLED     => undef,
	      secondLED    => undef,
	      Controls     => {},
	      DACs         => {},
	      );
#
#               Basic Functions
#
#------------------------------------------------------------ ZIPqbias::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = object->new(@_);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $section = $_[0];
    my $filename = $_[1];
    $section = $section << 4;
    $self->filename("$filename");
    $self->Qibias( new DAC (($section | 4),12,-5,5));
    $self->Qobias( new DAC (($section | 5),12,-5,5));
    $self->LED1bias( new DAC (($section | 6),12,-5,5));
    $self->LED2bias( new DAC (($section | 7),12,-5,5));
    $self->firstLED( new Control (($section | 0),"led1on","led1cont","led1rep",
				  "led1long","led2on","led2cont","led2rep",
				  "led2long","qinbias","qoutbias","","",
				  "led1single","led2single","",""));
    $self->secondLED( new Control (($section | 1),"led1width","led1rate",
				   "led2width","led2rate"));
    $self->secondLED->setAllGroupSize(4);

    $self->{Controls}->{FirstLED}        = $self->firstLED;
    $self->{Controls}->{SecondLED}       = $self->secondLED;

    $self->{DACs}->{QinBias}             = $self->Qibias;
    $self->{DACs}->{QoutBias}            = $self->Qobias;
    $self->{DACs}->{LED1Bias}            = $self->LED1bias;
    $self->{DACs}->{LED2Bias}            = $self->LED2bias;

    return $self;
}
#----------------------------------------------------------------- ZIPqbias::print
sub print {
    my $self = shift;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    print "??? QBias Information\n";
    foreach $key (sort keys %controls) {
	print ">> $key Control\n"; $controls{$key}->print;
    }
    foreach $key (sort keys %dacs) {
	print ">> $key DAC\n"; $dacs{$key}->print;
    }
}


End of ZIPqbias.pm
echo ZIPqet.pm 1>&2 
cat >ZIPqet.pm << 'End of ZIPqet.pm'
#! /usr/local/bin/perl

package ZIPqet;
#
#               ZIPqet.pm
#
#       INHERITS FROM:  object
#       CONTAINS:  Control, DAC
#
#       This object contains the controls and DACs for the QET section of
#       the ZIP card.  Other than the constructor and a print routine, it
#       does not contain any methods.  (It could possibly be used for combining  
#       the 3U and 9U versions of the ZIP card in the software.)
#

require 5.002;
require object;

use Control;
use DAC;

@ISA = qw( object );

my %fields = (
	      filename     => undef,
	      bias         => {},
	      heater       => undef,
	      Controls     => {},
	      DACs         => {},
	      );
#
#               Basic Functions
#
#------------------------------------------------------------ ZIPqet::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = object->new(@_);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $section = $_[0];
    my $filename = $_[1];
    $self->filename("$filename");
    $section = $section << 4;
    $self->{bias}->{a} = new DAC (($section | 4),12,-5,5);
    $self->{bias}->{b} = new DAC (($section | 5),12,-5,5);
    $self->{bias}->{c} = new DAC (($section | 6),12,-5,5);
    $self->{bias}->{d} = new DAC (($section | 7),12,-5,5);
    $self->heater( new Control (($section | 0),"phicala","phicalb","phicalc",
				"phicald","heatwidth","enableheata",
				"enableheatb","enableheatc","enableheatd","",
				"","",""));
    $self->heater->setGroupSize("heatwidth",4);

    $self->{Controls}->{heater}            = $self->heater;
    $self->{DACs}->{biasa}                 = $self->{bias}->{a};
    $self->{DACs}->{biasb}                 = $self->{bias}->{b};
    $self->{DACs}->{biasc}                 = $self->{bias}->{c};
    $self->{DACs}->{biasd}                 = $self->{bias}->{d};

    return $self;
}
#----------------------------------------------------------------- ZIPqet::print
sub print {
    my $self = shift;
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    print "??? QET Information\n";
    foreach $key (sort keys %controls) {
	print ">> $key Control\n"; $controls{$key}->print;
    }
    foreach $key (sort keys %dacs) {
	print ">> $key DAC\n"; $dacs{$key}->print;
    }
}









End of ZIPqet.pm
echo ZIPsquid.pm 1>&2 
cat >ZIPsquid.pm << 'End of ZIPsquid.pm'
#! /usr/local/bin/perl

package ZIPsquid;
#
#               ZIPsquid.pm
#
#       INHERITS FROM:  object
#       CONTAINS:  Control, DAC
#
#       This object contains the controls and DACs for the SQUID section of
#       the ZIP card.  Other than the constructor and a print routine, it
#       does not contain any methods.  (It could possibly be used for combining  
#       the 3U and 9U versions of the ZIP card in the software.)
#

require 5.002;
require object;

use Control;
use DAC;

@ISA = qw( object );

my %fields = (
	      filename     => undef,
	      gain         => undef,
	      bias         => undef,
	      offset       => undef,
	      zapper       => undef,
	      Controls     => {},
	      DACs         => {},
	      );
#
#               Basic Functions
#
#------------------------------------------------------------ ZIPsquid::new
sub new {
    my $this = shift;
    my $class = ref($this) || $this;
    my $self = object->new(@_);
    $self->{_permitted} = \%fields;
    bless $self,$class;

    my $section = $_[0];
    my $filename = $_[1];
    $self->filename($filename);
    $section = $section << 4;
    $self->bias( new DAC(($section | 4),12,-5,5));
    $self->gain( new DAC(($section | 5),12,-5,5));
    $self->offset( new DAC(($section | 6),12,-5,5));
    $self->zapper( new Control(($section | 0),"cal","mode","zapvoltage",
			       "zapwidth","armed","armzap","disarm",
			       "","pola","polb","",""));
    $self->zapper->setGroupSize("zapwidth",4);
    $self->zapper->setGroupSize("zapvoltage",2);

    $self->{Controls}->{ZapControl}    = $self->zapper;

    $self->{DACs}->{bias}              = $self->bias;
    $self->{DACs}->{gain}              = $self->gain;
    $self->{DACs}->{offset}            = $self->offset;

    return $self;
}
#----------------------------------------------------------------- ZIPsquid::print
sub print {
    my $self = shift;
    my $channel = $_[0];
    my %controls = %{$self->Controls};
    my %dacs = %{$self->DACs};
    print "??? Squid $channel Information\n";
    foreach $key (sort keys %controls) {
	print ">> $key Control\n"; $controls{$key}->print;
    }
    foreach $key (sort keys %dacs) {
	print ">> $key DAC\n"; $dacs{$key}->print;
    }
}




End of ZIPsquid.pm
echo object.pm 1>&2 
cat >object.pm << 'End of object.pm'
#! /usr/local/bin/perl5.003

package object;
#		object.pm
#
#	INHERITS FROM:  None
#  	CONTAINS:  None
#
#	Contains basic constructor, help routines, and an AUTOLOAD function for
#	smooth running.  Used as a base class for other objects.
#

my @helpLine = [];

#---------------------------------------------------------------- object::new
sub new{    # arguments: Address of command, name1,name2,name3....
  my $this = shift;
  my $class = ref($this) || $this;
  my $self = {};

  bless $self,$class;
  return $self; 
}
#---------------------------------------------------------------- object::getSourceHelp
sub getSourceHelp {
  my $self = shift;
  my $pattern = '';
  if ($#_ > -1) {
    ($pattern) = @_;
  }
  my $fname = $self->getSourceFile;
  open (SOURCE,"<$fname") || die "Can't open $fname\n";

  $i=0;
  while (<SOURCE>){
    if (($_ =~ /#help:/) && ($_ =~ /$pattern/) ) {
      $start = index $_,"#help:";
      $helpLine[$i]=substr $_,$start+6;
      $helpLine[$i] =~ s/^\s*//;
      $i++;
    }
  }
}
#---------------------------------------------------------------- object::printHelp
sub printHelp {
  my $self = shift;
  my $line;
  for ($i=0;$i<=$#helpLine;$i++){
    $line = $helpLine[$i];
    @Fld = split (' ',$line,9999);
    $line = substr $line,length $Fld[0];
    $line =~ s/^\s*//;                # get rid of leading spaces.
    $rest = $line;                    # remainder of line
    write;
  }
}
# --------------------------------------------------------------- format top
format STDOUT_TOP =
                          Help
.
# --------------------------------------------------------------- format
format STDOUT =
   @<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    $Fld[0],                   $rest
   ~                           ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               $rest
   ~                           ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                               $rest
.
#---------------------------------------------------------------- object::getSourceFile
sub getSourceFile {
  my $self = shift;
  my $type = ref($self) ||  die "$self is not an object";
  my $source = "$type.pm";
 
  if (! -r $source) {
    print "looking in other directorys for source\n";
    for ($i=0;$i<$#INC;$i++){
      $dir = $INC[$i];
      print "$dir \n";
      if (-r "$dir/$source") {return "$dir/$source";}
    }
  }
  return $source;
}  
#---------------------------------------------------------------- object::help
sub help{
  my $self = shift;
  $helpLine = [];
  $#helpLine = 0;
  if ($#_ > -1) {
    $self->getSourceHelp(@_);
  } else { 
    $self->getSourceHelp;
  }
  $self->printHelp;
}
#---------------------------------------------------------------- object::AUTOLOAD
sub AUTOLOAD {
  my $self = shift;
  my $type = ref($self) ||  die "$self is not an object";
  my $name = $AUTOLOAD;
  $name =~ s/.*://;         # strip fully qualified portion.
  if (!(exists $self->{_permitted}->{$name} )) {
      if ($name  ne "exit") {
	  die "Can't access `$name' field in object of class $type \n";
      } else {
	  die "\n";
      }
  }
  if (@_) {
    return $self->{$name}=shift;
  } else {
    return $self->{$name};
  }
}
End of object.pm
echo BLIPdriver.ps 1>&2 
cat >BLIPdriver.ps << 'End of BLIPdriver.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: BLIPdriver.dvi
%%Pages: 5
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips BLIPdriver.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1021
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (BLIPdriver.dvi)
@start
%DVIPSBitmapFont: Fa cmbx12 12 30
/Fa 30 121 df<EA07C0EA1FF0487E487E487E7FA31480A37E7EEA1FF7EA07C7EA000713
0FA21400A25B131E133EA25B13FC5B485A485A1207485A485A90C7FC120C112278C41F>
39 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F0F788E1F>
46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5264177C0
38>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0007FFFD8
1F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A6C5A6C5A
C9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A5A4A5A
EC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC017C1401
49140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713FF011F14
C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16C07FA66C
5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC15F815FF
16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0EA3FF048
7EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80FFEEBFFFE
6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<163FA25E5E5D5DA25D
5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8EB01F0EB
03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A12FCB912
80A5C8000F90C7FCAC027FB61280A531417DC038>I<EE1F80A24C7EA24C7EA34C7EA24B
7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80157C8203FC804B7E02
018115F0820203814B137F0207815D173F020F814B7F021F8292C77EA24A82023E80027E
82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A153FA249488284011F
8491C97E4984133E017E82B6020FB612F0A54C457CC455>65 D<DCFFF01470031F01FF14
F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF
4901C0804990C87E4948814948814948167F4849163F4849161F5A4A160F485B19074890
CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2123FA27F6C18011AE06C7F
19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E6D6C6C5D6D6D4A5A6D
01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7FC020715FC020115F0DA00
1F1480030001F8C8FC44467AC451>67 D<B9FC18F018FE727E19E026003FFEC7001F13F8
05017F9438003FFF060F7F727F727F727F84737E737EA2737EA2737EA21B80A2851BC0A5
1BE0AD1BC0A51B8061A21B006162193F624F5A19FF624E5B06075B4E5B063F90C7FC4DB4
5A050F13F8BA5A19C04EC8FC18F095C9FC4B447CC356>I<DCFFF01470031F01FF14F04A
B6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901
C0804990C87E4948814948814948167F4849163F4849161F5A4A160F485B19074890CAFC
19035A5BA2007F1801A34994C8FC12FFAD057FB612F0127F7FA3003FDC0001EBF000A27F
7EA26C7FA26C7F807E6C7F6C7F6D7E6D6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D90
3AFFF001FF9F023F90B6120F0207EDFC030201EDF000DA001F02C01330030001FCC9FC4C
467AC458>71 D<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447DC32A>73
D<B500FE067FB512806E95B6FCA26F5EA2D8003F50C7FC013D6DEE03DFA2013C6DEE079F
A26E6CEE0F1FA26E6C161EA26E6C163CA36E6C1678A26E6C16F0A26E6DEC01E0A26E6DEC
03C0A36E6DEC0780A26F6CEC0F00A26F6C141EA26F6C5CA36F6C5CA26F6C5CA26F6D485A
A26F6D485AA26F6D485AA3706C48C7FCA293383FF81EA2706C5AA2706C5AA3706C5AA270
5BA2705BA2705BA2B6057FB6128071C7FCA2173E171C61447CC36A>77
D<B812F8EFFFC018F818FE727ED8001F90C7003F13E005037F05007F727E727E727EA286
84A286A762A24E90C7FCA24E5A61187F943801FFF005075B053F138092B7C8FC18F818E0
18F892C77FEF3FFF050F7F717F717FA2717FA2717FA785A61B0F85A2187F73131F72141E
B700E06DEB803E72EBE0FC72EBFFF8060114F0726C13E0CC0007138050457DC354>82
D<DAFFE0131C010701FE133C013F9038FF807C90B6EAE0FC4815F9489038801FFF3907FC
00014848EB007F4848143F4848140F491407007F15035B1601160012FF177CA27FA26D15
3C7F7F6D92C7FC6C7EEBFFE014FE6CEBFFF015FF6C15E016FC6C816C6F7E6C826C826C6C
81011F810107811300020F80140003077FED007F82040F1380828212F082A282A27EA218
007EA26C5D6C5E6D14036D5D6D140701F84A5A01FFEC3FF002F8EBFFE0486CB65AD8FC1F
92C7FCD8F80714FC48C614F0480107138031467AC43E>I<903801FFE0011F13FE017F6D
7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F0
90C7FCA40203B5FC91B6FC1307013F13F19038FFFC01000313E0000F1380381FFE00485A
5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFF
F86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97 D<EC3FF80103B57E010F14E0013F
8090397FF83FF89039FFC007FC48496C7E48496C7E48486D1380485A001FED7FC05B003F
ED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F17F06C7E1601
6C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE011FB55A0107
14F0010114C09026001FFEC7FC2C2F7DAD33>101 D<EDFF80020F13E0027F13F049B512
F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03F0ED00C0
1600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0137E010F9039
FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0FFC4848903907FE
1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D6C6C495A6C6C
495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFCA47F7F7F90B612
C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC014074848020113
808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B07FFC001
FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<EB7FC0B5FCA5
12037EB1ED07FE92383FFF8092B512E002C114F89139C7F03FFC9138CF801F9139DF000F
FE14DE14FC4A6D7E5CA25CA35CB3A7B60083B512FEA537457CC43E>I<137C48B4FC4813
804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFFA512037E
B3AFB6FCA518467CC520>I<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>108
D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002816E4880913D
87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C13
0F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>
I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F801F00039039
9F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1F
FC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000
078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA007F1700A46C6C4A
5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB5
5A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8B590B57E02C314
E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A15C04A6D13E0
5C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E4913806E49
13006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9FCADB67EA536
407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE
6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>
114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48C7121F127E
00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C80000380
6C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C14
1FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7C
AD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FC
A4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090391FFC1F006DB5
FC6D13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F
6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512C7010F14070103
13FE9026007FF0EBFC00372E7CAC3E>I<B500FE90383FFFF0A5C601F0903803E0006D6C
495A013F4A5A6D6C49C7FC6E5B6D6C137E6DEB807C6D6D5A6DEBC1F0EDE3E06DEBF7C06E
B45A806E90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFCEC3E1F027C7F4A6C7E4948
6C7F01036D7F49487E02C08049486C7F49C76C7E013E6E7E017E141FB500E090B512FCA5
362C7EAB3B>120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti10 10 33
/Fb 33 122 df<EE3FFC4BB51280923907E007C092391F8001E0DB3F0013F0037E13034B
1307A24A5A18E04A48EB038094C7FCA314075DA4140F5DA3010FB7FCA25F903A001F8000
7EA217FE023F5C92C7FCA216015F5C147E16035FA214FE4A13075FA30101140F5F4AECC1
C0A2161F1783010316805CA2EF870013074A5CEE0F8EEE079EEE03FC010FEC00F04A91C7
FCA35C131FA2001C90CAFC127E5BEAFE3E133C137CEAF878EA78F0EA3FE0EA0F80344C82
BA2F>12 D<387FFFF8A2B5FCA214F0150579941E>45 D<EE01C01603A21607160FA2161F
83163FA2167F16FF16EF150116CFED038FA2ED070FA2150E151E151C1538A203707FA2ED
E007A2EC01C014031580EC0700A2140EA25CA25C027FB5FCA291B6FC9139E00007F84948
1303A2495A130791C7FC5B130E5BA25B1378137013F0EA03F8486C4A7EB56C48B512F0A3
343C7BBB3E>65 D<DB03FE130E92393FFF801E92B5EAE03C913903FE01F0913A0FF00078
7CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC49481407494815F049481403495A5C49C8
13E05B485A5B000317C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF90CBFCA4
1738A217784816707E17F06C5E16015F16036C6C4A5A94C7FC001F150E6D141E000F5D6D
5C6C6C495A6C6CEB03C0D801FEEB0F8027007F807EC8FC6DB45A010F13E0010090C9FC37
3D74BA3B>67 D<0103B612FEEFFFC018F0903B0007F8000FF84BEB03FCEF00FE020F157F
F03F804B141F19C0021F150F19E05D1807143F19F05DA2147FA292C8FCA25C180F5CA213
0119E04A151FA2130319C04A153FA201071780187F4A1600A2010F16FEA24A4A5A60011F
15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17FC017FEC03F84C5A91C7EA1FC04949B45A
007F90B548C8FCB712F016803C397CB83F>I<0107B8FCA3903A000FF000034BEB007F18
3E141F181E5DA2143FA25D181C147FA29238000380A24A130718004A91C7FC5E13015E4A
133E167E49B512FEA25EECF8000107147C163C4A1338A2010F147818E04A13701701011F
16C016004A14031880013F150718004A5CA2017F151E173E91C8123C177C4915FC4C5A49
14070001ED7FF0B8FCA25F38397BB838>I<DB03FE130E92393FFF801E92B5EAE03C9139
03FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC49481407494815
F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A94C7FCA2485AA3
127F5BA312FF90CBFC0307B512E0A392390007FC00705A16075FA36C150F5FA36C6C141F
A2001F5E6D143F6C7E167F6C6C4A5A6C6CEB03EFD801FEEB07C73A007FC03F0790273FFF
FC03C7FC010F01F0C8FC01001380373D74BA40>71 D<0103B512F8A390390007F8005DA2
140FA25DA2141FA25DA2143FA25DA2147FA292C7FCA25CA25CA21301A25CA21303A25CA2
1307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA291C8FC497EB6FCA25C25397CB8
20>73 D<902607FFF8923807FFF0614F13E0D9000FEFF0004F5AA2021F167FF1EFC0141D
DA1CFCEC01CF023C16DF9538039F800238ED071FA20278ED0E3F97C7FC0270151CA202F0
4B5AF0707E14E0037E14E0010117FE4D485A02C0EC0380A20103ED0701610280140EA201
07ED1C0305385B14006F137049160705E05B010EEC01C0A2011E913803800F61011CEC07
00A2013C020E131F4C5C1338ED1FB80178163F04F091C8FC01705CA201F04A5B187E0001
5DD807F816FEB500C09039007FFFFC151E150E4C397AB84A>77 D<902603FFF891B512E0
A281D90007923807F8006F6E5A61020F5E81DA0E7F5DA2021E6D1307033F92C7FC141C82
DA3C1F5C70130EEC380FA202786D131E0307141C147082DAF003143C70133814E0150101
016E1378030014705C8201036E13F0604A1480163F010715C1041F5B91C7FC17E149EC0F
E360010E15F31607011E15FF95C8FC011C80A2013C805F1338160013785F01F8157CEA03
FC267FFFE0143CB51538A243397CB83E>I<0107B612F817FF1880903B000FF0003FE04B
EB0FF0EF03F8141FEF01FC5DA2023F15FEA25DA2147FEF03FC92C7FCA24A15F817074A15
F0EF0FE01301EF1FC04AEC3F80EFFE0001034A5AEE0FF091B612C04CC7FCD907F8C9FCA2
5CA2130FA25CA2131FA25CA2133FA25CA2137FA291CAFCA25BA25B1201B512FCA337397B
B838>80 D<92383FC00E913901FFF01C020713FC91391FC07E3C91393F001F7C027CEB0F
F84A130749481303495A4948EB01F0A2495AA2011F15E091C7FCA34915C0A36E90C7FCA2
806D7E14FCECFF806D13F015FE6D6D7E6D14E0010080023F7F14079138007FFC150F1503
1501A21500A2167C120EA3001E15FC5EA3003E4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D
133ED8F9F013FC39F8FC03F839F07FFFE0D8E01F138026C003FCC8FC2F3D7ABA2F>83
D<0007B812E0A25AD9F800EB001F01C049EB07C0485AD900011403121E001C5C003C1780
1403123800785C00701607140700F01700485CA2140FC792C7FC5DA2141FA25DA2143FA2
5DA2147FA292C9FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CEB3FF000
7FB512F8B6FCA2333971B83B>I<14F8EB07FE90381F871C90383E03FE137CEBF8011201
48486C5A485A120FEBC001001F5CA2EA3F801403007F5C1300A21407485C5AA2140F5D48
ECC1C0A2141F15831680143F1587007C017F1300ECFF076C485B9038038F8E391F0F079E
3907FE03FC3901F000F0222677A42A>97 D<133FEA1FFFA3C67E137EA313FE5BA312015B
A312035BA31207EBE0F8EBE7FE9038EF0F80390FFC07C013F89038F003E013E0D81FC013
F0A21380A2123F1300A214075A127EA2140F12FE4814E0A2141F15C05AEC3F80A215005C
147E5C387801F8007C5B383C03E0383E07C0381E1F80D80FFEC7FCEA01F01C3B77B926>
I<147F903803FFC090380FC1E090381F0070017E13784913383901F801F83803F0031207
13E0120FD81FC013F091C7FC485AA2127F90C8FCA35A5AA45AA3153015381578007C14F0
007EEB01E0003EEB03C0EC0F806CEB3E00380F81F83803FFE0C690C7FC1D2677A426>I<
ED01F815FFA3150316F0A21507A216E0A2150FA216C0A2151FA21680A2153FA202F81300
EB07FE90381F877F90383E03FF017C5BEBF80112013803F00048485B120FEBC001121F5D
EA3F801403127F01005BA214075A485CA2140FA248ECC1C0A2141F15C3ED8380143F1587
007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0253B77B9
2A>I<147F903803FFC090380FC1E090383F00F0017E13785B485A485A485A120F4913F8
001F14F0383F8001EC07E0EC1F80397F81FF00EBFFF891C7FC90C8FC5A5AA55AA2153000
7C14381578007E14F0003EEB01E0EC03C06CEB0F806CEB3E00380781F83803FFE0C690C7
FC1D2677A426>I<ED07C0ED1FF0ED3E38ED7C3CEDF8FC15F9140115F1020313F8EDF0F0
160014075DA4140F5DA4141F5D010FB512C05B16809039003F800092C7FCA45C147EA414
FE5CA413015CA413035CA413075CA4130F5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C
137C1378EAF8F01278EA3FC0EA0F80264C82BA19>I<EC07C0EC3FF09138FC38E0903901
F01FF0EB03E0903807C00FEB0F80011F1307D93F0013E05B017E130F13FE4914C0120115
1F1203491480A2153F1207491400A25DA249137EA215FEA25D00031301140314076C6C48
5A0000131FEB787BEB3FF390380FC3F0EB00031407A25DA2140F5D121C007E131F5D00FE
49C7FC147E5C387801F8387C07E0381FFF80D803FEC8FC24367CA426>I<EB03F0EA01FF
A3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07F0EC1FFCEC783E9038FFE0
1F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F000715005BA25D000F147E
5B15FE5D121FD98001131C15F8163C003F01031338010013F0A216704814E0007E15F016
E0EDE1C000FE903801E38048903800FF000038143C263B7BB92A>I<EB01C0EB07E014F0
130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E1F121CA212385B1270A25BEAF0
7E12E013FEC65AA212015B1203A25B12075BA2000F13E013C013C1001F13C01381A2EB83
801303EB0700A2130E6C5AEA07F8EA01E0143879B619>I<EB0FC0EA07FFA3EA001F1480
A2133FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25B
A2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131EEAFC1CA2133C133812F81378EA
7870EA7CE0121FEA0F80123B79B915>108 D<D801E001FEEB07F03C07F803FF801FFC3C
0E3C0F07C0783E3C1E3E3C03E1E01F261C1F78D9F3C013803C383FF001F7800F02E01400
007801C013FE007018C002805B4A4848EB1F80EAF07FD8E07E5CA200000207143F01FE17
00495CA2030F5C0001177E495C18FE031F5C120349DA8001131C18F8033F153C00070403
133849020013F0A24B1570000F17E049017E15F019E003FEECE1C0001FEE01E349499038
00FF000007C70038143C3E2679A444>I<D801E013FE3A07F803FF803A0E3C0F07C03A1E
3E3C03E0261C1F787F39383FF00114E0007813C000708114804A485AEAF07FEAE07EA200
00140701FE5C5BA2150F00015D5B151F5E12034990383F8380160316070007027F130049
137EA2160E000F147C49141E161C5E001FEC3C7849EB1FE00007C7EA0780292679A42F>
I<147F903803FFC090380FC1F090381F00F8017E137C5B4848137E4848133E0007143F5B
120F485AA2485A157F127F90C7FCA215FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0
140F007C14C0007EEB1F80003EEB3F00147E6C13F8380F83F03803FFC0C648C7FC202677
A42A>I<9039078007C090391FE03FF090393CF0787C903938F8E03E9038787FC0017049
7EECFF00D9F0FE148013E05CEA01E113C15CA2D80003143FA25CA20107147FA24A1400A2
010F5C5E5C4B5A131F5EEC80035E013F495A6E485A5E6E48C7FC017F133EEC70FC90387E
3FF0EC0F8001FEC9FCA25BA21201A25BA21203A25B1207B512C0A3293580A42A>I<3903
C003F0390FF01FFC391E783C0F381C7C703A3C3EE03F8038383FC0EB7F80007815000070
1300151CD8F07E90C7FCEAE0FE5BA2120012015BA312035BA312075BA3120F5BA3121F5B
A3123F90C9FC120E212679A423>114 D<14FE903807FF8090380F83C090383E00E04913
F00178137001F813F00001130313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C
7F6D13807F010F13C01300143F141F140F123E127E00FE1480A348EB1F0012E06C133E00
705B6C5B381E03E06CB45AD801FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480
A3133F1400A35B137E007FB5FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5B
A3121FEB801CA2143C003F1338EB0078147014F014E0EB01C0EA3E03381F0780380F0F00
EA07FCEA01F0183579B31C>I<13F8D803FEEB01C0D8078FEB03E0390E0F8007121E121C
0038140F131F007815C01270013F131F00F0130000E015805BD8007E133FA201FE14005B
5D120149137EA215FE120349EBFC0EA20201131E161C15F813E0163CD9F0031338140700
01ECF07091381EF8F03A00F83C78E090393FF03FC090390FC00F00272679A42D>I<01F0
130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25BD8F07E
140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35DA24A5A
140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>I<13F0D803FCEB
01C0D8071EEB03E0D80E1F1307121C123C0038140F4914C01270A249131FD8F07E148012
E013FEC648133F160012015B5D0003147E5BA215FE00075C5BA214015DA314035D140700
03130FEBF01F3901F87FE038007FF7EB1FC7EB000F5DA2141F003F5C48133F92C7FC147E
147C007E13FC387001F8EB03E06C485A383C1F80D80FFEC8FCEA03F0233679A428>121
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10 46
/Fc 46 122 df<EB01C0497EA6EB0FFC90387FFF8048B512E00007804880391FFBEFFC39
3FC3E1FE903803E07F007E80127C00FC158012F8157FA300FCEC3F00A2007E91C7FC127F
EA3FC313FBEA1FFF6C13FC6C13FF000114C06C6C7F011F13F801037F14E7ECE1FEECE07F
81001880007E1580150F12FFA312FE151F1600007E5C007F143ED83F8313FE9038C3E1FC
391FFBEFF86CB55A6C5C6C5CC691C7FCEB1FF8EB03E0A66D5A21417BB92C>36
D<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F
5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F
12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC130113001438164272B92C>
40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB
07E0A214F01303A214F81301A314FC1300AC130114F8A3130314F0A2130714E0A2EB0FC0
131F1480133F14005B13FE485A485A485A485AEA3FC0485A48C7FC5A5A1270164279B92C
>I<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFFE0A5EA7FC0
EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D14015D1403
5DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C130F5C13
1F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F90C9FC5A
127E12FE5AA25A127821417BB92C>I<EB03F8EB0FFE90383FFF80497F90B57E3901FE0F
F03903F803F848486C7EEBE0004848137EA248487FA248C7EA1F80A2003E140F007E15C0
A3007C140700FC15E0AC6C140F007E15C0A46CEC1F80A36C6CEB3F00A26C6C137E6D13FE
00075CEBF0016C6C485A3901FE0FF06CB55A6D5B6D5BD90FFEC7FCEB03F823357CB32C>
I<1307497EA2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200B3AE007FB5
12E0B612F0A36C14E01C3477B32C>I<EB0FF890387FFF8048B512E00007804814FC391F
F80FFE393FE001FF903880007F48C7EA3F80007E141F00FE15C0150F6C15E01507A3127E
123CC8FCA2150F16C0151F1680153F16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF8049
48C7FC495A495A495AEB3FE0EB7F8049C8FC485A4848EB03C04848EB07E0EA1FE0485A48
B6FCB7FCA36C15C023347CB32C>I<EB0FFC90387FFF8048B512E0000714F84880391FF8
07FEEBC0004848137F6D7F1680151FA26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1F
F890381FFFF0495BA215F86D7F90380007FEEC00FF81ED3F80ED1FC0150FA216E01507A2
123C127EB4FC150F16C0A248141F007FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C
6C14E0C66C1380D90FFCC7FC23357CB32C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F
80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>58
D<EA0F80EA1FC0EA3FE0EA7FF0A5EA3FE0EA1FC0EA0F80C7FCAEEA0F80EA1FC0EA3FE012
7F13F0A4123F121F120F1201120313E01207EA0FC0A2EA3F80EA7F005A5A12F812700C30
71A32C>I<007FB612F0B712F8A4003F15F0CAFCA8003FB612F0B712F8A46C15F025147D
A22C>61 D<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF80C67FEB7FF0EB1FF8EB0FFE
EB03FF6D13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A25C02071300EC0FFCEC3FF8EC
7FE049485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035BD80FFEC8FC485AEA7FF0485A
138048C9FC5A1270212A7BAD2C>I<007FB512E015F8B612FE6C8016C03903F0003FED0F
E0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C0
9039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3F
F0007FB612E016C0B712806CECFE0015F027337FB22C>66 D<007FB612F8B712FCA37ED8
03F0C7FCA716781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC80
5C7E26337EB22C>70 D<903901FC038090390FFF87C04913EF017F13FF90B6FC48130738
03FC01497E4848137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA2
12FE5AA8913803FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F12
0F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC
26357DB32C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA3
6C14F81E3379B22C>73 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6
FCB7FCA36C15F025337DB22C>76 D<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F
15E001BC137BA4019E13F3A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A2
14EFA201811303A214FFEB80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB
1FFC27337EB22C>I<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07
F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001
F0C8FCB0387FFF80B57EA36C5B25337EB22C>80 D<D87FFCEB7FFC486CEBFFFEA36C48EB
7FFCD80FC0EB07E06D130F000715C0A36D131F00031580A36D133F00011500A36D5B0000
147EA4017E5BA46D485AA490381F83F0A4010F5B14C7A301075BA214EFA201035BA214FF
A26D90C7FCA46D5A27347EB22C>86 D<3801FFF0000713FE001F6D7E15E048809038C01F
F81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383F
F800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001
EBFE1F3A003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB
13FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE
167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B5128016
0001FB5B01F813F83900F03FC027337FB22C>I<903803FFE0011F13F8017F13FE48B5FC
48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6D
EB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21
247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F38
0FF00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A
380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB
03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B4848EB
1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07
E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13F00101
138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F0014
C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21337D
B22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF826
07F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C485A
3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48
ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E48153EA4
6C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8
003F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FF
FE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F114
80A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387F
FFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<EA7FE0487E
A3127F1201AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4A
C7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E8114
00157E811680151F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>107
D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F
83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F49
6C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87F
FC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC
00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0
140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48
486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F
141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90
C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038
F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2
ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC
3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC078090391FFF0FC0017F
13CF48B512EF4814FF3807FE07380FF00148487E49137F4848133F90C7FC48141F127E15
0F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807FC0F6CB6FC6C14EF6C6C
138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367DA32C>I<D87FFEEB3FC0
B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13005CA2
5C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>I<90387FF8700003B512F8120F
5A5A387FC00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80
000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E
6D13FE9038F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9
007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6D
B51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F
7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE07
130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00
011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483
010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I<D87F
FFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F049
5AECFF87A214F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FF
A21480A2013F5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C010313F0
3A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90
C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7F
EB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<
3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D
6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3
ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA
7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx14 14.4 18
/Fd 18 118 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<B912FEF0FFF019FEF1FFC01AF0D8000F
01E0C7003F13FC06037F9539007FFF80071F7F07077F737F737F737F747E747E86741380
1CC0861CE0861CF0A27413F8A31CFC86A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0
A25013E0A25013C0A250138050130063505A1AFF07035B4F13E0071F5B077F5B0603B5C7
FC063F13FCBB12F01AC04FC8FC19F04EC9FC58527BD165>68 D<B81280A5D8000701F0C7
FCB3B3B3B2B81280A529527DD130>73 D<B912C018FEF0FFE019FC19FFD8000F9026E000
0114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A26163636198C8
FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226E0000F13F805
0113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2841C03730180
13E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B5120007005C081F5BCD00
0113F05C537BD162>82 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC90
3A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E130070
5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C
6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC
023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803
FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149
487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA312
1F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F
010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13
F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48
496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FC
CAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C
6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC02
0113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE0010390
38E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAE
B712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF8001
0FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E48499038
7FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D14
3F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E0
2707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F0
6C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83A5
6D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F
1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC048
7F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612
F0A51C547CD324>105 D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92
397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3
ACB6D8F807B612C0A542367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F
018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F488348
8349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2
001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6D
B46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<90393FF001
FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015
C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC6
1607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F87
6D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr10 10 74
/Fe 74 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C
00001300A40001130101801380A20003130301001300485B00061306000E130E485B485B
485B006013601A197DB92A>34 D<141FEC7FC0903801F0E0903803C0600107137090380F
803090381F00381518A25BA2133E133F15381530A215705D5D140190381F838092CAFC14
87148E02DC49B51280EB0FF85C4A9039003FF8000107ED0FC06E5D71C7FC6E140E010F15
0CD91DFC141C01391518D970FE143801E015302601C07F1470D803805D00076D6C5BD80F
00EBC00148011F5C4890380FE003003E6E48C8FC007E903807F8060203130E00FE6E5A6E
6C5A1400ED7F706C4B13036F5A6F7E6C6C6D6C5B7013066C6C496C130E6DD979FE5B281F
F001F07F133C3C07F80FE03FC0F86CB539800FFFF0C69026FE000313C0D91FF0D9007FC7
FC393E7DBB41>38 D<121C127FEAFF80A213C0A3127F121C1200A412011380A212031300
5A1206120E5A5A5A12600A1979B917>I<146014E0EB01C0EB0380EB0700130E131E5B5B
A25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2
121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E0146013
5278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E13
1EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C
137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<15301578B3
A6007FB812F8B912FCA26C17F8C80078C8FCB3A6153036367BAF41>43
D<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A
12600A19798817>I<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C09097988
17>I<150C151E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A215
80140FA215005CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C13
0FA291C7FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B12
0FA290C8FC5AA2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB03F8EB
1FFF90387E0FC09038F803E03901E000F0484813780007147C48487FA248C77EA2481580
A3007EEC0FC0A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA26C
6C5B6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>I<EB01C0
13031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>I<EB0FF0
EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E126012FC
B4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A92C7FC14
7C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A485A000EC75A00
0FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF03903C007F8
48486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A5A5DEC0F
80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2
121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A121E390F8003F8
3907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2157815F8A2140114
031407A2140F141F141B14331473146314C313011483EB030313071306130C131C131813
301370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C73803F800
AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C9038F003F890B5FC5D5D15
8092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E090388003F049
6C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C12E000605C127000
30495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB1FE0213A
7CB72A>I<12301238123E003FB612E0A316C05A168016000070C712060060140E5D1518
00E01438485C5D5DC712014A5A92C7FC5C140E140C141C5CA25CA214F0495AA21303A25C
1307A2130FA3495AA3133FA5137FA96DC8FC131E233B7BB82A>55
D<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848137C90C77E48141E00
0E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C6C6C5AECC1E06CEBF3
C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE3907801FFF48486C13
80481303003E6D13C0003CEB007F007C143F0078EC0FE000F814075A1503A21501A36C15
C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F803F0C6B55A013F1380
D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E03903F803F048486C7E
48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616E0A56C143FA27F123F
001F147FA26C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD93FFC13C0EB07F090
C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A6C48485A001C495A26
0F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<121C127FEAFF80A5EA7F0012
1CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C127FEAFF80A5EA7F0012
1CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206A2120E5A121812385A
1260093479A317>I<007FB812F8B912FCA26C17F8CCFCAE007FB812F8B912FCA26C17F8
36167B9F41>61 D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C
1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249
C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E070
7E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65
D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283A75F16
035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83
707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812C094C7
FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF807E07903A03
FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F48
48150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A312
3F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91FE0
5C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380313D
7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E707E
177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F
18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036397D
B83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A3170783
16C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C7
12C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839>I<
B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2ED01
80A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0B612
C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03903A03FC000787
D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F48481507A24848
1503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E9338007FE0EF3FC0A212
3F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D9
03FEEB0783903A00FFC03F0191393FFFFC00020F01F0130002001380383D7CBA41>I<B6
48B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C71201B3A6486D497EB6
48B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>
I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601160316
0FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC002600DF
C0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303
A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC01
80A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48
497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007FE06E
EC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81
140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF
6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E487E
D80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC903901F8
007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E000316
7F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300FF17
FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F000317
006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC90
3900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE000190398001FF
806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F8
17F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839>I<
EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C7
6C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C049151F001F17E0A24848
ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA2003F17F0A26C6CED1F
E0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC0701C0FEEC0E002600
FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981
FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0FFFA318F08218E070
13C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190388007FE6C90C76C
7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91
B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F18
03486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>I<D90F
F813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48C7121F003E
140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8EC
FF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F
150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F
80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003F
B812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A300601730A400
E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFE
A3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D
6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF802
0713E09138007F80373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8
EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA280
01075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A2
15E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36F
C9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7
EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406
A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE18
1FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F
818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3F
F0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>
I<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>91 D<3901800180000313033907
000700000E130E485B0018131800381338003013300070137000601360A200E013E0485B
A400CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A>I<
EAFFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB1FE0EBFFFC3803E03F390700
0F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00
EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E
18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1
913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB
F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C
EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312
3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380
3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348
6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90
39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280
A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F
4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14
076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090
381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F
803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3
ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF
F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781
9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA
127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE
0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3
E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512
F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800
0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2
EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214
7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0
18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2
D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D
5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37
257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D
6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7
E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC
3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003
EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C
5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA
7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5
12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15
0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B
4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx10 10 37
/Ff 37 119 df<913903FFC7C0027F13FF0103B6FC010F130090383FF80190387FE003EB
FFC05A14805A4A7EA281A9B8FCA4000390C7FCB3ABB5D8FC3F13FFA4303A7EB935>13
D<EC07F0EC3FFC4A7E903801FE1F49487E49486C7E14F0010F8090381FE003A3133FA215
075EA26E48C9FC5D151E5D5D6D6C5ADAF9E00103B5FCECFBC0ECFF8092C7FC6D48913800
1F801900181E6D6C153E606F1478496D14F8494B5A013D6D5C01786D1303D801F84B5A48
486C6C5C00076E130F000F6D6C49C7FC261FE01F143E003F6E133C007F6DEB807C6E6D5A
00FF6DEBE1F06EEBF3E06EEBF7C06FB45A6F90C8FC6D6D48140F6F7E007F6E13C06D6D6D
131E003F020F6D133E6C6C017F01FC137C3D0FFF03FF3FFF03FC6C9026FFFC0FEBFFF86C
DAF00314E0C69126C0007F13C0D90FFCC73807FE00403C7CBA4A>38
D<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F800D0D798C1B>46
D<141E143E14FE1307133FB5FCA313CFEA000FB3B3A6007FB61280A4213779B630>49
D<EB0FFC90387FFFC048B512F0000714FC390FF03FFF261F800F1380263F000313C05AD9
C00113E0486C6C13F07FA2ED7FF8A46C5A6C5A000FC7FCC8FCEDFFF0A216E05C16C04A13
8016004A5A5D4A5A4A5A4A5AEC7F8092C7FC14FEEB01F849481378495A495A495A013EC7
12F84914F05B4848130148B6FCA25A5A5A5A4815E0B7FCA425377BB630>I<EB03FF011F
13F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF001FC14F0121F7F
A56C4814E0A23803F001C714C04A138016004A5A4A5AEC3FF090380FFFC092C7FC15F090
380007FE913801FF806E13C016E0ED7FF016F816FC153FA216FEEA1FC0487E487E487EA4
16FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C0260FFC0713806CB61200000114
FC6C6C13F0010790C7FC27387CB630>I<ED07C0150FA2151F153F157F15FFA25C5C5C5C
A2141E5C147C5C5C495A495A1307495A5C131E5B137C5B5B485A485A1207485A90C7FC12
1E5A127C5AB81280A4C70001EBC000AA0103B61280A429377DB630>I<ED03E04B7EA24B
7EA34B7EA24B7EA34B7EA292B57EA34A8015F302038015E1A202078015C0020F80ED807F
A2021F80ED003F4A80023E131FA2027E80027C7F02FC814A7FA20101824A7F49B77EA349
8202C0C7FC010F824A147FA2011F8291C8123F4982013E151FA2017E82017C8101FE83B5
00F80107B61280A4413A7DB948>65 D<B812C017FC17FF18C028007FF000037F04007F71
7E717E171F84A2717EA74D5AA260173F4D5A4D5A4C13C0040F5B91B600FCC7FCA2EFFF80
02F0C713F0EF3FF8717E717E717E19807113C0A319E0A719C0A25F4D138019005FEF7FFE
4C485AB912F018C095C7FC17F03B397DB844>I<DB3FFCEB01C00203B5EAC003021FECF0
0791B6EAFC0F01039039FC00FF3F4901C0EB1FFFD91FFEC77E49481403D97FF080494880
485B48177F4849153F4890C9FC181F485A180F123F5B1807127FA24993C7FC12FFAD127F
7FF003C0123FA27F001F1707A26C6C1780180F6C6D16006C6D5D6C173E6C6D157ED97FF8
5D6D6C4A5A6DB44A5A010701C0EB0FE06D01FCEBFF80010090B548C7FC021F14F8020314
E09126003FFEC8FC3A3B7BB945>I<B87E17F817FF18C028007FF8000713F09338007FF8
EF1FFE717E050313807113C0A27113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19
FEA419FC183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FF
F0B912C095C7FC17FC178040397DB849>I<B912F0A426007FF8C7FCEF1FF81707170317
01A21700A21878A3043C137C183CA41800167CA216FC150391B5FCA4ECF8031500167CA2
163C180FA3181EA293C7FCA2183EA2183C187CA218FCA2EF01F81703170F173FEE01FFB9
FC18F0A338397DB83F>I<B912C0A43A007FF800039338007FE0171F170F1707A21703A2
1701A318F0EE7800A41800A216F8A21501150791B5FCA4ECF80715011500A21678A693C8
FCADB7FCA434397DB83C>I<B612FCA439007FF800B3B3ADB612FCA41E397DB824>73
D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F5F5E5EEE0FFE167FB8FC
A431397DB839>76 D<B8FC17F017FEEFFF8028007FF8000F13C0040113E07013F0EF7FF8
EF3FFCA2EF1FFEA218FFA818FEA2EF3FFCA2EF7FF8EFFFF04C13E0040F13C091B7120017
FC17E002F8C9FCB3A4B612FCA438397DB841>80 D<B712FCEEFFE017FC17FF28007FF800
0F13C004017F707F717E717EA2717EA284A760A24D5A604D5A4D5A04035B041F90C8FC91
B612FC17E0839139F8003FFCEE0FFF707F707F8284A2707FA584A51A601AF084177F1901
DD3FFE13E0B600FC011F130394390FFF87C071EBFF8005011400CBEA1FFC443A7DB848>
82 D<D907FF130E013FEBE01E90B5EAF83E0003ECFE7E3A07FC01FFFE390FF0001F4848
130F48481303491301007F140090C8FC167E5A163EA27F161E7F7F6D91C7FC13FC387FFF
E014FEECFFF06C14FE6F7E6C816C15F06C816C81C681133F010F801301D9000F1480EC00
7F030F13C01503818100F0157FA3163FA27E17807E167F6C16007E6D14FE01E0495A01F8
13039039FF801FF800FC90B512E0D8F83F5CD8F00749C7FC39E0007FF02A3B7BB935>I<
003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA2007C1707A20078
1703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>I<B600F00103B512
E0A4C601F0C83807F0006E5E017F5F6E150FA2013F5F6E151F011F94C7FC6E5D6D163E6F
147E6D167CA26F14FC6D5E6F13016D5E6F13036D5E811707027F5D6F130F023F5D6F131F
021F92C8FC815F6E143EEE807E6E147CEEC0FC6E5C16E016E16E5C16F36E5C16FF6F5BA3
6F5BA26F90C9FCA26F5AA36F5AA26F5AA26F5A433A7EB848>86 D<EB3FFE0003B512E000
0F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5AEA0380C8FCA2EC3FFF01
0FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF5BA415FF6D5A127F263F
F00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE0032A257DA42E>97
D<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C048485AEA0FF8121F13F012
3F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01E06C7E15036C6CEB07C06C
6C14806C6C131FC69038C07E006DB45A010F13F00101138023257DA42A>99
D<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F0003EB001FD8
07FC1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B000F5C6C6C5B
6C6C4913C02701FF80FD13FE39007FFFF9011F13E1010313012F3A7DB935>I<903803FF
80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B003F
EC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D
14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C>
I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C138F
003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE
07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C
15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C6C
495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>103
D<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E
4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>I<EA01F0EA07FC487EA248
7EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<13FF
B5FCA412077EAF92380FFFE0A4923803FC0016F0ED0FE0ED1F804BC7FC157E5DEC03F8EC
07E04A5A141FEC7FE04A7E8181A2ECCFFEEC0FFF496C7F806E7F6E7F82157F6F7E6F7E82
150F82B5D8F83F13F8A42D3A7EB932>107 D<13FFB5FCA412077EB3B3ACB512FCA4163A
7DB91B>I<01FED97FE0EB0FFC00FF902601FFFC90383FFF80020701FF90B512E0DA1F81
903983F03FF0DA3C00903887801F000749DACF007F00034914DE6D48D97FFC6D7E4A5CA2
4A5CA291C75BB3A3B5D8FC1FB50083B512F0A44C257DA451>I<01FEEB7FC000FF903803
FFF8020F13FE91381F03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3
A3B5D8FC3F13FFA430257DA435>I<903801FFC0010F13F8017F13FFD9FF807F3A03FE00
3FE048486D7E48486D7E48486D7EA2003F81491303007F81A300FF1680A9007F1600A300
3F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC01
0113C029257DA430>I<9039FF01FF80B5000F13F0023F13FC9138FE07FFDAF001138000
03496C13C00280EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17FC161FA217F8163F17
F06E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8020F13E0020390C7FC
91C9FCACB512FCA42F357EA435>I<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8
FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA4
27>114 D<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E1301007C130012
FC15787E7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C614FC131F90
38007FFE140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007F090B512C0
00F8140038E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA3
000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D35
7EB425>I<B539F001FFF8A4000390C7EA3F00161E6E133E6C153C6E137C6C15786E13F8
017F5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15
BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257EA432>118
D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2422 90 a Ff(DRAFT)32 b Fe(August)c(18,)f(1998)1362
356 y Ff(The)32 b(BLIP)g(card)h(Driv)m(er)1367 456 y
Fe(Stev)n(e)28 b(Eic)n(h)n(blatt,)f(F)-7 b(ermilab)1344
556 y(Stev)n(e)28 b(F)-7 b(urlanetto,)27 b(F)-7 b(ermilab)-120
827 y Fd(1)132 b(In)l(tro)t(duction)-120 1009 y Fe(This)23
b(do)r(cumen)n(t)h(describ)r(es)f(the)g(basic)g(functionalit)n(y)h(of)f
(the)h(BLIP)e(card,)i(and)f(the)g(soft)n(w)n(are)f(to)r(ols)h(that)h(p)
r(erform)e(them.)-120 1109 y(This)28 b(can)f(b)r(e)h(found)g(at)-120
1208 y Fc(http://fnphyx-ww)o(w.f)o(na)o(l.)o(gov)o(/e)o(xpe)o(ri)o(men)
o(ts)o(/c)o(dms)o(/s)o(oft)o(wa)o(re)o(/GP)o(IB)o(/BL)o(IP)o(boa)o(rd)o
(/B)o(LIP)o(dr)o(ive)o(r.)o(ps)o Fe(.)-120 1480 y Fd(2)132
b(Design)-120 1662 y Fe(The)33 b(BLIP)g(driv)n(er)f(p)r(erforms)g(in)i
(conjunction)f(with)h(the)g Fc(GPIB)42 b(protocol)p Fe(.)50
b(See)34 b(ref)f([1)o(])h(for)e(a)h(detailed)h(description.)-120
1762 y(The)23 b(basic)g(idea)g(is)g(that)g(commands)g(are)f(issued)h
(from)g(a)g(p)r(erl)g(script)g(and)g(are)f(sen)n(t)h
Fb(via)i Fe(tcp/ip)e(to)g(a)g(serv)n(er)f(whic)n(h)h(issues)-120
1861 y(the)28 b(GPIB)f(commands)g(to)h(p)r(erform)f(the)h(action)f(on)g
(the)h(card.)674 3597 y @beginspecial 0 @llx 0 @lly 456
@urx 317 @ury 2808 @rwi @setspecial
%%BeginDocument: netProtocol.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: netProtocol.fig
%%Creator: fig2dev Version 3.1 Patchlevel 2
%%CreationDate: Thu Oct 16 20:28:53 1997
%%For: eichblat@westmain (Steve Eichblat)
%Magnification: 0.60
%%Orientation: Portrait
%%BoundingBox: 0 0 456 317
%%Pages: 0
%%BeginSetup
%%IncludeFeature: *PageSize Letter
%%EndSetup
%%EndComments
/MyAppDict 100 dict dup begin def
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
-45.0 331.0 translate
1 -1 scale
.9 .9 scale % to make patterns same scale as in xfig

% This junk string is used by the show operators
/PATsstr 1 string def
/PATawidthshow { 	% cx cy cchar rx ry string
  % Loop over each character in the string
  {  % cx cy cchar rx ry char
    % Show the character
    dup				% cx cy cchar rx ry char char
    PATsstr dup 0 4 -1 roll put	% cx cy cchar rx ry char (char)
    false charpath		% cx cy cchar rx ry char
    /clip load PATdraw
    % Move past the character (charpath modified the
    % current point)
    currentpoint			% cx cy cchar rx ry char x y
    newpath
    moveto			% cx cy cchar rx ry char
    % Reposition by cx,cy if the character in the string is cchar
    3 index eq {			% cx cy cchar rx ry
      4 index 4 index rmoveto
    } if
    % Reposition all characters by rx ry
    2 copy rmoveto		% cx cy cchar rx ry
  } forall
  pop pop pop pop pop		% -
  currentpoint
  newpath
  moveto
} bind def
/PATcg {
  7 dict dup begin
    /lw currentlinewidth def
    /lc currentlinecap def
    /lj currentlinejoin def
    /ml currentmiterlimit def
    /ds [ currentdash ] def
    /cc [ currentrgbcolor ] def
    /cm matrix currentmatrix def
  end
} bind def
% PATdraw - calculates the boundaries of the object and
% fills it with the current pattern
/PATdraw {			% proc
  save exch
    PATpcalc			% proc nw nh px py
    5 -1 roll exec		% nw nh px py
    newpath
    PATfill			% -
  restore
} bind def
% PATfill - performs the tiling for the shape
/PATfill { % nw nh px py PATfill -
  PATDict /CurrentPattern get dup begin
    setfont
    % Set the coordinate system to Pattern Space
    PatternGState PATsg
    % Set the color for uncolored pattezns
    PaintType 2 eq { PATDict /PColor get PATsc } if
    % Create the string for showing
    3 index string		% nw nh px py str
    % Loop for each of the pattern sources
    0 1 Multi 1 sub {		% nw nh px py str source
	% Move to the starting location
	3 index 3 index		% nw nh px py str source px py
	moveto			% nw nh px py str source
	% For multiple sources, set the appropriate color
	Multi 1 ne { dup PC exch get PATsc } if
	% Set the appropriate string for the source
	0 1 7 index 1 sub { 2 index exch 2 index put } for pop
	% Loop over the number of vertical cells
	3 index 		% nw nh px py str nh
	{			% nw nh px py str
	  currentpoint		% nw nh px py str cx cy
	  2 index show		% nw nh px py str cx cy
	  YStep add moveto	% nw nh px py str
	} repeat		% nw nh px py str
    } for
    5 { pop } repeat
  end
} bind def

% PATkshow - kshow with the current pattezn
/PATkshow {			% proc string
  exch bind			% string proc
  1 index 0 get			% string proc char
  % Loop over all but the last character in the string
  0 1 4 index length 2 sub {
				% string proc char idx
    % Find the n+1th character in the string
    3 index exch 1 add get	% string proe char char+1
    exch 2 copy			% strinq proc char+1 char char+1 char
    % Now show the nth character
    PATsstr dup 0 4 -1 roll put	% string proc chr+1 chr chr+1 (chr)
    false charpath		% string proc char+1 char char+1
    /clip load PATdraw
    % Move past the character (charpath modified the current point)
    currentpoint newpath moveto
    % Execute the user proc (should consume char and char+1)
    mark 3 1 roll		% string proc char+1 mark char char+1
    4 index exec		% string proc char+1 mark...
    cleartomark			% string proc char+1
  } for
  % Now display the last character
  PATsstr dup 0 4 -1 roll put	% string proc (char+1)
  false charpath		% string proc
  /clip load PATdraw
  neewath
  pop pop			% -
} bind def
% PATmp - the makepattern equivalent
/PATmp {			% patdict patmtx PATmp patinstance
  exch dup length 7 add		% We will add 6 new entries plus 1 FID
  dict copy			% Create a new dictionary
  begin
    % Matrix to install when painting the pattern
    TilingType PATtcalc
    /PatternGState PATcg def
    PatternGState /cm 3 -1 roll put
    % Check for multi pattern sources (Level 1 fast color patterns)
    currentdict /Multi known not { /Multi 1 def } if
    % Font dictionary definitions
    /FontType 3 def
    % Create a dummy encoding vector
    /Encoding 256 array def
    3 string 0 1 255 {
      Encoding exch dup 3 index cvs cvn put } for pop
    /FontMatrix matrix def
    /FontBBox BBox def
    /BuildChar {
	mark 3 1 roll		% mark dict char
	exch begin
	Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
	  PaintType 2 eq Multi 1 ne or
	  { XStep 0 FontBBox aload pop setcachedevice }
	  { XStep 0 setcharwidth } ifelse
	  currentdict		% mark [paintdata] dict
	  /PaintProc load	% mark [paintdata] dict paintproc
	end
	gsave
	  false PATredef exec true PATredef
	grestore
	cleartomark		% -
    } bind def
    currentdict
  end				% newdict
  /foo exch			% /foo newlict
  definefont			% newfont
} bind def
% PATpcalc - calculates the starting point and width/height
% of the tile fill for the shape
/PATpcalc {	% - PATpcalc nw nh px py
  PATDict /CurrentPattern get begin
    gsave
	% Set up the coordinate system to Pattern Space
	% and lock down pattern
	PatternGState /cm get setmatrix
	BBox aload pop pop pop translate
	% Determine the bounding box of the shape
	pathbbox			% llx lly urx ury
    grestore
    % Determine (nw, nh) the # of cells to paint width and height
    PatHeight div ceiling		% llx lly urx qh
    4 1 roll				% qh llx lly urx
    PatWidth div ceiling		% qh llx lly qw
    4 1 roll				% qw qh llx lly
    PatHeight div floor			% qw qh llx ph
    4 1 roll				% ph qw qh llx
    PatWidth div floor			% ph qw qh pw
    4 1 roll				% pw ph qw qh
    2 index sub cvi abs			% pw ph qs qh-ph
    exch 3 index sub cvi abs exch	% pw ph nw=qw-pw nh=qh-ph
    % Determine the starting point of the pattern fill
    %(px, py)
    4 2 roll				% nw nh pw ph
    PatHeight mul			% nw nh pw py
    exch				% nw nh py pw
    PatWidth mul exch			% nw nh px py
  end
} bind def

% Save the original routines so that we can use them later on
/oldfill	/fill load def
/oldeofill	/eofill load def
/oldstroke	/stroke load def
/oldshow	/show load def
/oldashow	/ashow load def
/oldwidthshow	/widthshow load def
/oldawidthshow	/awidthshow load def
/oldkshow	/kshow load def

% These defs are necessary so that subsequent procs don't bind in
% the originals
/fill	   { oldfill } bind def
/eofill	   { oldeofill } bind def
/stroke	   { oldstroke } bind def
/show	   { oldshow } bind def
/ashow	   { oldashow } bind def
/widthshow { oldwidthshow } bind def
/awidthshow { oldawidthshow } bind def
/kshow 	   { oldkshow } bind def
/PATredef {
  MyAppDict begin
    {
    /fill { /clip load PATdraw newpath } bind def
    /eofill { /eoclip load PATdraw newpath } bind def
    /stroke { PATstroke } bind def
    /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
    /ashow { 0 0 null 6 3 roll PATawidthshow }
    bind def
    /widthshow { 0 0 3 -1 roll PATawidthshow }
    bind def
    /awidthshow { PATawidthshow } bind def
    /kshow { PATkshow } bind def
  } {
    /fill   { oldfill } bind def
    /eofill { oldeofill } bind def
    /stroke { oldstroke } bind def
    /show   { oldshow } bind def
    /ashow  { oldashow } bind def
    /widthshow { oldwidthshow } bind def
    /awidthshow { oldawidthshow } bind def
    /kshow  { oldkshow } bind def
    } ifelse
  end
} bind def
false PATredef
% Conditionally define setcmykcolor if not available
/setcmykcolor where { pop } {
  /setcmykcolor {
    1 sub 4 1 roll
    3 {
	3 index add neg dup 0 lt { pop 0 } if 3 1 roll
    } repeat
    setrgbcolor - pop
  } bind def
} ifelse
/PATsc {		% colorarray
  aload length		% c1 ... cn length
    dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
  } ifelse } ifelse
} bind def
/PATsg {		% dict
  begin
    lw setlinewidth
    lc setlinecap
    lj setlinejoin
    ml setmiterlimit
    ds aload pop setdash
    cc aload pop setrgbcolor
    cm setmatrix
  end
} bind def

/PATDict 3 dict def
/PATsp {
  true PATredef
  PATDict begin
    /CurrentPattern exch def
    % If it's an uncolored pattern, save the color
    CurrentPattern /PaintType get 2 eq {
      /PColor exch def
    } if
    /CColor [ currentrgbcolor ] def
  end
} bind def
% PATstroke - stroke with the current pattern
/PATstroke {
  countdictstack
  save
  mark
  {
    currentpoint strokepath moveto
    PATpcalc				% proc nw nh px py
    clip newpath PATfill
    } stopped {
	(*** PATstroke Warning: Path is too complex, stroking
	  with gray) =
    cleartomark
    restore
    countdictstack exch sub dup 0 gt
	{ { end } repeat } { pop } ifelse
    gsave 0.5 setgray oldstroke grestore
  } { pop restore pop } ifelse
  newpath
} bind def
/PATtcalc {		% modmtx tilingtype PATtcalc tilematrix
  % Note: tiling types 2 and 3 are not supported
  gsave
    exch concat					% tilingtype
    matrix currentmatrix exch			% cmtx tilingtype
    % Tiling type 1 and 3: constant spacing
    2 ne {
	% Distort the pattern so that it occupies
	% an integral number of device pixels
	dup 4 get exch dup 5 get exch		% tx ty cmtx
	XStep 0 dtransform
	round exch round exch			% tx ty cmtx dx.x dx.y
	XStep div exch XStep div exch		% tx ty cmtx a b
	0 YStep dtransform
	round exch round exch			% tx ty cmtx a b dy.x dy.y
	YStep div exch YStep div exch		% tx ty cmtx a b c d
	7 -3 roll astore			% { a b c d tx ty }
    } if
  grestore
} bind def
/PATusp {
  false PATredef
  PATDict begin
    CColor PATsc
  end
} bind def

% this is the pattern fill program from the Second edition Reference Manual
% with changes to call the above pattern fill
% left30
11 dict begin
/PaintType 1 def
/PatternType 1 def
/TilingType 1 def
/BBox [0 0 1 1] def
/XStep 1 def
/YStep 1 def
/PatWidth 1 def
/PatHeight 1 def
/Multi 2 def
/PaintData [
  { clippath } bind
  { 32 16 true [ 32 0 0 -16 0 16 ]
	{<c000c000300030000c000c000300030000c000c000300030
	000c000c00030003c000c000300030000c000c0003000300
	00c000c000300030000c000c00030003>}
     imagemask } bind
] def
/PaintProc {
	pop
	exec fill
} def
currentdict
end
/P1 exch def
1.1111 1.1111 scale %restore scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y tr xrad yrad sc 0 0 1 startangle endangle arc
	closepath
	savematrix setmatrix
	} def

 /DrawSplineSection {
	/y3 exch def
	/x3 exch def
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	/xa x1 x2 x1 sub 0.666667 mul add def
	/ya y1 y2 y1 sub 0.666667 mul add def
	/xb x3 x2 x3 sub 0.666667 mul add def
	/yb y3 y2 y3 sub 0.666667 mul add def
	x1 y1 lineto
	xa ya xb yb x3 y3 curveto
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
 0.03600 0.03600 sc
7.500 slw
% Polyline
n 10245 6247 m 10245 6202 l 10305 6202 l 10305 6247 l cp gs col-1 s gr 
% Polyline
n 10320 6307 m 10320 6262 l 10380 6262 l 10380 6307 l cp gs col-1 s gr 
% Polyline
n 10380 6367 m 10380 6322 l 10440 6322 l 10440 6367 l cp gs col-1 s gr 
% Polyline
n 10440 6427 m 10440 6382 l 10500 6382 l 10500 6427 l cp gs col-1 s gr 
% Polyline
n 10080 6247 m 10080 6202 l 10140 6202 l 10140 6247 l cp gs col-1 s gr 
% Polyline
n 10155 6307 m 10155 6262 l 10215 6262 l 10215 6307 l cp gs col-1 s gr 
% Polyline
n 10215 6367 m 10215 6322 l 10275 6322 l 10275 6367 l cp gs col-1 s gr 
% Polyline
n 10275 6427 m 10275 6382 l 10335 6382 l 10335 6427 l cp gs col-1 s gr 
% Polyline
n 9570 6247 m 9570 6202 l 9630 6202 l 9630 6247 l cp gs col-1 s gr 
% Polyline
n 9645 6307 m 9645 6262 l 9705 6262 l 9705 6307 l cp gs col-1 s gr 
% Polyline
n 9705 6367 m 9705 6322 l 9765 6322 l 9765 6367 l cp gs col-1 s gr 
% Polyline
n 9765 6427 m 9765 6382 l 9825 6382 l 9825 6427 l cp gs col-1 s gr 
% Polyline
n 10395 6247 m 10395 6202 l 10455 6202 l 10455 6247 l cp gs col-1 s gr 
% Polyline
n 10470 6307 m 10470 6262 l 10530 6262 l 10530 6307 l cp gs col-1 s gr 
% Polyline
n 10530 6367 m 10530 6322 l 10590 6322 l 10590 6367 l cp gs col-1 s gr 
% Polyline
n 10590 6427 m 10590 6382 l 10650 6382 l 10650 6427 l cp gs col-1 s gr 
% Polyline
n 9900 6247 m 9900 6202 l 9960 6202 l 9960 6247 l cp gs col-1 s gr 
% Polyline
n 9975 6307 m 9975 6262 l 10035 6262 l 10035 6307 l cp gs col-1 s gr 
% Polyline
n 10035 6367 m 10035 6322 l 10095 6322 l 10095 6367 l cp gs col-1 s gr 
% Polyline
n 10095 6427 m 10095 6382 l 10155 6382 l 10155 6427 l cp gs col-1 s gr 
% Polyline
n 9735 6247 m 9735 6202 l 9795 6202 l 9795 6247 l cp gs col-1 s gr 
% Polyline
n 9810 6307 m 9810 6262 l 9870 6262 l 9870 6307 l cp gs col-1 s gr 
% Polyline
n 9870 6367 m 9870 6322 l 9930 6322 l 9930 6367 l cp gs col-1 s gr 
% Polyline
n 9930 6427 m 9930 6382 l 9990 6382 l 9990 6427 l cp gs col-1 s gr 
% Open spline
gs n 10275.0 5902.0 m 10222.5 5864.5 l
	10222.5 5864.5 10170.0 5827.0 10132.5 5752.0 DrawSplineSection
	10132.5 5752.0 10095.0 5677.0 10057.5 5572.0 DrawSplineSection
	10057.5 5572.0 10020.0 5467.0 9952.5 5392.0 DrawSplineSection
	9952.5 5392.0 9885.0 5317.0 9847.5 5354.5 DrawSplineSection
	9847.5 5354.5 9810.0 5392.0 9787.5 5444.5 DrawSplineSection
	9787.5 5444.5 9765.0 5497.0 9705.0 5654.5 DrawSplineSection
	9705.0 5654.5 9645.0 5812.0 9607.5 5849.5 DrawSplineSection
	9607.5 5849.5 9570.0 5887.0 9517.5 5887.0 DrawSplineSection
	9465.0 5887.0 l  gs col-1 s gr
 gr

% Polyline
n 9480 5197 m 9375 5197 9375 5917 105 arcto 4 {pop} repeat
  9375 6022 10245 6022 105 arcto 4 {pop} repeat
  10350 6022 10350 5302 105 arcto 4 {pop} repeat
  10350 5197 9480 5197 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 10500 6172 m 10800 6472 l 9675 6472 l 9375 6172 l cp gs col-1 s gr 
% Polyline
n 9450 5197 m 9000 5347 l 9000 5347 l 9000 5872 l 9405 6007 l gs col-1 s gr 
% Polyline
n 9750 6022 m 9750 6172 l gs col-1 s gr 
% Polyline
n 9525 6022 m 9525 6172 l gs col-1 s gr 
% Polyline
n 9975 6022 m 9975 6172 l gs col-1 s gr 
% Polyline
n 9375 6172 m 9375 6397 l 9675 6472 l gs col-1 s gr 
% Polyline
n 9450 5962 m 9450 5272 l 10275 5272 l 10275 5962 l cp gs col-1 s gr 
% Polyline
n 3814 6235 m 3814 6190 l 3754 6190 l 3754 6235 l cp gs col-1 s gr 
% Polyline
n 3739 6295 m 3739 6250 l 3679 6250 l 3679 6295 l cp gs col-1 s gr 
% Polyline
n 3679 6355 m 3679 6310 l 3619 6310 l 3619 6355 l cp gs col-1 s gr 
% Polyline
n 3619 6415 m 3619 6370 l 3559 6370 l 3559 6415 l cp gs col-1 s gr 
% Polyline
n 3979 6235 m 3979 6190 l 3919 6190 l 3919 6235 l cp gs col-1 s gr 
% Polyline
n 3904 6295 m 3904 6250 l 3844 6250 l 3844 6295 l cp gs col-1 s gr 
% Polyline
n 3844 6355 m 3844 6310 l 3784 6310 l 3784 6355 l cp gs col-1 s gr 
% Polyline
n 3784 6415 m 3784 6370 l 3724 6370 l 3724 6415 l cp gs col-1 s gr 
% Polyline
n 4489 6235 m 4489 6190 l 4429 6190 l 4429 6235 l cp gs col-1 s gr 
% Polyline
n 4414 6295 m 4414 6250 l 4354 6250 l 4354 6295 l cp gs col-1 s gr 
% Polyline
n 4354 6355 m 4354 6310 l 4294 6310 l 4294 6355 l cp gs col-1 s gr 
% Polyline
n 4294 6415 m 4294 6370 l 4234 6370 l 4234 6415 l cp gs col-1 s gr 
% Polyline
n 3664 6235 m 3664 6190 l 3604 6190 l 3604 6235 l cp gs col-1 s gr 
% Polyline
n 3589 6295 m 3589 6250 l 3529 6250 l 3529 6295 l cp gs col-1 s gr 
% Polyline
n 3529 6355 m 3529 6310 l 3469 6310 l 3469 6355 l cp gs col-1 s gr 
% Polyline
n 3469 6415 m 3469 6370 l 3409 6370 l 3409 6415 l cp gs col-1 s gr 
% Polyline
n 4159 6235 m 4159 6190 l 4099 6190 l 4099 6235 l cp gs col-1 s gr 
% Polyline
n 4084 6295 m 4084 6250 l 4024 6250 l 4024 6295 l cp gs col-1 s gr 
% Polyline
n 4024 6355 m 4024 6310 l 3964 6310 l 3964 6355 l cp gs col-1 s gr 
% Polyline
n 3964 6415 m 3964 6370 l 3904 6370 l 3904 6415 l cp gs col-1 s gr 
% Polyline
n 4324 6235 m 4324 6190 l 4264 6190 l 4264 6235 l cp gs col-1 s gr 
% Polyline
n 4249 6295 m 4249 6250 l 4189 6250 l 4189 6295 l cp gs col-1 s gr 
% Polyline
n 4189 6355 m 4189 6310 l 4129 6310 l 4129 6355 l cp gs col-1 s gr 
% Polyline
n 4129 6415 m 4129 6370 l 4069 6370 l 4069 6415 l cp gs col-1 s gr 
% Open spline
gs n 3784.0 5890.0 m 3836.5 5852.5 l
	3836.5 5852.5 3889.0 5815.0 3926.5 5740.0 DrawSplineSection
	3926.5 5740.0 3964.0 5665.0 4001.5 5560.0 DrawSplineSection
	4001.5 5560.0 4039.0 5455.0 4106.5 5380.0 DrawSplineSection
	4106.5 5380.0 4174.0 5305.0 4211.5 5342.5 DrawSplineSection
	4211.5 5342.5 4249.0 5380.0 4271.5 5432.5 DrawSplineSection
	4271.5 5432.5 4294.0 5485.0 4354.0 5642.5 DrawSplineSection
	4354.0 5642.5 4414.0 5800.0 4451.5 5837.5 DrawSplineSection
	4451.5 5837.5 4489.0 5875.0 4541.5 5875.0 DrawSplineSection
	4594.0 5875.0 l  gs col-1 s gr
 gr

% Polyline
n 3814 5185 m 3709 5185 3709 5905 105 arcto 4 {pop} repeat
  3709 6010 4579 6010 105 arcto 4 {pop} repeat
  4684 6010 4684 5290 105 arcto 4 {pop} repeat
  4684 5185 3814 5185 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 3559 6160 m 3259 6460 l 4384 6460 l 4684 6160 l cp gs col-1 s gr 
% Polyline
n 4609 5185 m 5059 5335 l 5059 5335 l 5059 5860 l 4654 5995 l gs col-1 s gr 
% Polyline
n 4309 6010 m 4309 6160 l gs col-1 s gr 
% Polyline
n 4534 6010 m 4534 6160 l gs col-1 s gr 
% Polyline
n 4084 6010 m 4084 6160 l gs col-1 s gr 
% Polyline
n 4684 6160 m 4684 6385 l 4384 6460 l gs col-1 s gr 
% Polyline
n 4609 5950 m 4609 5260 l 3784 5260 l 3784 5950 l cp gs col-1 s gr 
15.000 slw
% Polyline
n 12058 5320 m 11953 5320 11953 5755 105 arcto 4 {pop} repeat
  11953 5860 13768 5860 105 arcto 4 {pop} repeat
  13873 5860 13873 5425 105 arcto 4 {pop} repeat
  13873 5320 12058 5320 105 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Times-Roman ff 360.00 scf sf
12133 5725 m
gs 1 -1 sc (GPIB Box) col0 sh gr
% Polyline
n 12058 6340 m 11953 6340 11953 6775 105 arcto 4 {pop} repeat
  11953 6880 13768 6880 105 arcto 4 {pop} repeat
  13873 6880 13873 6445 105 arcto 4 {pop} repeat
  13873 6340 12058 6340 105 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Times-Roman ff 360.00 scf sf
12208 6730 m
gs 1 -1 sc (Digitizers) col0 sh gr
7.500 slw
% Polyline
n 12240 2490 m 12240 2445 l 12300 2445 l 12300 2490 l cp gs col-1 s gr 
% Polyline
n 12315 2550 m 12315 2505 l 12375 2505 l 12375 2550 l cp gs col-1 s gr 
% Polyline
n 12375 2610 m 12375 2565 l 12435 2565 l 12435 2610 l cp gs col-1 s gr 
% Polyline
n 12435 2670 m 12435 2625 l 12495 2625 l 12495 2670 l cp gs col-1 s gr 
% Polyline
n 12075 2490 m 12075 2445 l 12135 2445 l 12135 2490 l cp gs col-1 s gr 
% Polyline
n 12150 2550 m 12150 2505 l 12210 2505 l 12210 2550 l cp gs col-1 s gr 
% Polyline
n 12210 2610 m 12210 2565 l 12270 2565 l 12270 2610 l cp gs col-1 s gr 
% Polyline
n 12270 2670 m 12270 2625 l 12330 2625 l 12330 2670 l cp gs col-1 s gr 
% Polyline
n 11565 2490 m 11565 2445 l 11625 2445 l 11625 2490 l cp gs col-1 s gr 
% Polyline
n 11640 2550 m 11640 2505 l 11700 2505 l 11700 2550 l cp gs col-1 s gr 
% Polyline
n 11700 2610 m 11700 2565 l 11760 2565 l 11760 2610 l cp gs col-1 s gr 
% Polyline
n 11760 2670 m 11760 2625 l 11820 2625 l 11820 2670 l cp gs col-1 s gr 
% Polyline
n 12390 2490 m 12390 2445 l 12450 2445 l 12450 2490 l cp gs col-1 s gr 
% Polyline
n 12465 2550 m 12465 2505 l 12525 2505 l 12525 2550 l cp gs col-1 s gr 
% Polyline
n 12525 2610 m 12525 2565 l 12585 2565 l 12585 2610 l cp gs col-1 s gr 
% Polyline
n 12585 2670 m 12585 2625 l 12645 2625 l 12645 2670 l cp gs col-1 s gr 
% Polyline
n 11895 2490 m 11895 2445 l 11955 2445 l 11955 2490 l cp gs col-1 s gr 
% Polyline
n 11970 2550 m 11970 2505 l 12030 2505 l 12030 2550 l cp gs col-1 s gr 
% Polyline
n 12030 2610 m 12030 2565 l 12090 2565 l 12090 2610 l cp gs col-1 s gr 
% Polyline
n 12090 2670 m 12090 2625 l 12150 2625 l 12150 2670 l cp gs col-1 s gr 
% Polyline
n 11730 2490 m 11730 2445 l 11790 2445 l 11790 2490 l cp gs col-1 s gr 
% Polyline
n 11805 2550 m 11805 2505 l 11865 2505 l 11865 2550 l cp gs col-1 s gr 
% Polyline
n 11865 2610 m 11865 2565 l 11925 2565 l 11925 2610 l cp gs col-1 s gr 
% Polyline
n 11925 2670 m 11925 2625 l 11985 2625 l 11985 2670 l cp gs col-1 s gr 
% Open spline
gs n 12270.0 2145.0 m 12217.5 2107.5 l
	12217.5 2107.5 12165.0 2070.0 12127.5 1995.0 DrawSplineSection
	12127.5 1995.0 12090.0 1920.0 12052.5 1815.0 DrawSplineSection
	12052.5 1815.0 12015.0 1710.0 11947.5 1635.0 DrawSplineSection
	11947.5 1635.0 11880.0 1560.0 11842.5 1597.5 DrawSplineSection
	11842.5 1597.5 11805.0 1635.0 11782.5 1687.5 DrawSplineSection
	11782.5 1687.5 11760.0 1740.0 11700.0 1897.5 DrawSplineSection
	11700.0 1897.5 11640.0 2055.0 11602.5 2092.5 DrawSplineSection
	11602.5 2092.5 11565.0 2130.0 11512.5 2130.0 DrawSplineSection
	11460.0 2130.0 l  gs col-1 s gr
 gr

% Polyline
n 11475 1440 m 11370 1440 11370 2160 105 arcto 4 {pop} repeat
  11370 2265 12240 2265 105 arcto 4 {pop} repeat
  12345 2265 12345 1545 105 arcto 4 {pop} repeat
  12345 1440 11475 1440 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 12495 2415 m 12795 2715 l 11670 2715 l 11370 2415 l cp gs col-1 s gr 
% Polyline
n 11445 1440 m 10995 1590 l 10995 1590 l 10995 2115 l 11400 2250 l gs col-1 s gr 
% Polyline
n 11745 2265 m 11745 2415 l gs col-1 s gr 
% Polyline
n 11520 2265 m 11520 2415 l gs col-1 s gr 
% Polyline
n 11970 2265 m 11970 2415 l gs col-1 s gr 
% Polyline
n 11370 2415 m 11370 2640 l 11670 2715 l gs col-1 s gr 
% Polyline
n 11445 2205 m 11445 1515 l 12270 1515 l 12270 2205 l cp gs col-1 s gr 
15.000 slw
% Ellipse
n 10858 1897 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 10849 2030 m 10364 1935 l gs col-1 s gr 
% Polyline
n 10850 1764 m 10364 1859 l gs col-1 s gr 
7.500 slw
% Polyline
n 6485 2602 m 6485 2557 l 6425 2557 l 6425 2602 l cp gs col-1 s gr 
% Polyline
n 6410 2662 m 6410 2617 l 6350 2617 l 6350 2662 l cp gs col-1 s gr 
% Polyline
n 6350 2722 m 6350 2677 l 6290 2677 l 6290 2722 l cp gs col-1 s gr 
% Polyline
n 6290 2782 m 6290 2737 l 6230 2737 l 6230 2782 l cp gs col-1 s gr 
% Polyline
n 6650 2602 m 6650 2557 l 6590 2557 l 6590 2602 l cp gs col-1 s gr 
% Polyline
n 6575 2662 m 6575 2617 l 6515 2617 l 6515 2662 l cp gs col-1 s gr 
% Polyline
n 6515 2722 m 6515 2677 l 6455 2677 l 6455 2722 l cp gs col-1 s gr 
% Polyline
n 6455 2782 m 6455 2737 l 6395 2737 l 6395 2782 l cp gs col-1 s gr 
% Polyline
n 7160 2602 m 7160 2557 l 7100 2557 l 7100 2602 l cp gs col-1 s gr 
% Polyline
n 7085 2662 m 7085 2617 l 7025 2617 l 7025 2662 l cp gs col-1 s gr 
% Polyline
n 7025 2722 m 7025 2677 l 6965 2677 l 6965 2722 l cp gs col-1 s gr 
% Polyline
n 6965 2782 m 6965 2737 l 6905 2737 l 6905 2782 l cp gs col-1 s gr 
% Polyline
n 6335 2602 m 6335 2557 l 6275 2557 l 6275 2602 l cp gs col-1 s gr 
% Polyline
n 6260 2662 m 6260 2617 l 6200 2617 l 6200 2662 l cp gs col-1 s gr 
% Polyline
n 6200 2722 m 6200 2677 l 6140 2677 l 6140 2722 l cp gs col-1 s gr 
% Polyline
n 6140 2782 m 6140 2737 l 6080 2737 l 6080 2782 l cp gs col-1 s gr 
% Polyline
n 6830 2602 m 6830 2557 l 6770 2557 l 6770 2602 l cp gs col-1 s gr 
% Polyline
n 6755 2662 m 6755 2617 l 6695 2617 l 6695 2662 l cp gs col-1 s gr 
% Polyline
n 6695 2722 m 6695 2677 l 6635 2677 l 6635 2722 l cp gs col-1 s gr 
% Polyline
n 6635 2782 m 6635 2737 l 6575 2737 l 6575 2782 l cp gs col-1 s gr 
% Polyline
n 6995 2602 m 6995 2557 l 6935 2557 l 6935 2602 l cp gs col-1 s gr 
% Polyline
n 6920 2662 m 6920 2617 l 6860 2617 l 6860 2662 l cp gs col-1 s gr 
% Polyline
n 6860 2722 m 6860 2677 l 6800 2677 l 6800 2722 l cp gs col-1 s gr 
% Polyline
n 6800 2782 m 6800 2737 l 6740 2737 l 6740 2782 l cp gs col-1 s gr 
% Open spline
gs n 6455.0 2257.0 m 6507.5 2219.5 l
	6507.5 2219.5 6560.0 2182.0 6597.5 2107.0 DrawSplineSection
	6597.5 2107.0 6635.0 2032.0 6672.5 1927.0 DrawSplineSection
	6672.5 1927.0 6710.0 1822.0 6777.5 1747.0 DrawSplineSection
	6777.5 1747.0 6845.0 1672.0 6882.5 1709.5 DrawSplineSection
	6882.5 1709.5 6920.0 1747.0 6942.5 1799.5 DrawSplineSection
	6942.5 1799.5 6965.0 1852.0 7025.0 2009.5 DrawSplineSection
	7025.0 2009.5 7085.0 2167.0 7122.5 2204.5 DrawSplineSection
	7122.5 2204.5 7160.0 2242.0 7212.5 2242.0 DrawSplineSection
	7265.0 2242.0 l  gs col-1 s gr
 gr

% Polyline
n 6485 1552 m 6380 1552 6380 2272 105 arcto 4 {pop} repeat
  6380 2377 7250 2377 105 arcto 4 {pop} repeat
  7355 2377 7355 1657 105 arcto 4 {pop} repeat
  7355 1552 6485 1552 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 6230 2527 m 5930 2827 l 7055 2827 l 7355 2527 l cp gs col-1 s gr 
% Polyline
n 7280 1552 m 7730 1702 l 7730 1702 l 7730 2227 l 7325 2362 l gs col-1 s gr 
% Polyline
n 6980 2377 m 6980 2527 l gs col-1 s gr 
% Polyline
n 7205 2377 m 7205 2527 l gs col-1 s gr 
% Polyline
n 6755 2377 m 6755 2527 l gs col-1 s gr 
% Polyline
n 7355 2527 m 7355 2752 l 7055 2827 l gs col-1 s gr 
% Polyline
n 7280 2317 m 7280 1627 l 6455 1627 l 6455 2317 l cp gs col-1 s gr 
15.000 slw
% Ellipse
n 7854 1907 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 7863 2040 m 8348 1945 l gs col-1 s gr 
% Polyline
n 7862 1774 m 8348 1869 l gs col-1 s gr 
% Ellipse
n 3466 1907 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 3475 2040 m 3960 1945 l gs col-1 s gr 
% Polyline
n 3474 1774 m 3960 1869 l gs col-1 s gr 
7.500 slw
% Polyline
n 2098 2560 m 2098 2515 l 2038 2515 l 2038 2560 l cp gs col-1 s gr 
% Polyline
n 2023 2620 m 2023 2575 l 1963 2575 l 1963 2620 l cp gs col-1 s gr 
% Polyline
n 1963 2680 m 1963 2635 l 1903 2635 l 1903 2680 l cp gs col-1 s gr 
% Polyline
n 1903 2740 m 1903 2695 l 1843 2695 l 1843 2740 l cp gs col-1 s gr 
% Polyline
n 2263 2560 m 2263 2515 l 2203 2515 l 2203 2560 l cp gs col-1 s gr 
% Polyline
n 2188 2620 m 2188 2575 l 2128 2575 l 2128 2620 l cp gs col-1 s gr 
% Polyline
n 2128 2680 m 2128 2635 l 2068 2635 l 2068 2680 l cp gs col-1 s gr 
% Polyline
n 2068 2740 m 2068 2695 l 2008 2695 l 2008 2740 l cp gs col-1 s gr 
% Polyline
n 2773 2560 m 2773 2515 l 2713 2515 l 2713 2560 l cp gs col-1 s gr 
% Polyline
n 2698 2620 m 2698 2575 l 2638 2575 l 2638 2620 l cp gs col-1 s gr 
% Polyline
n 2638 2680 m 2638 2635 l 2578 2635 l 2578 2680 l cp gs col-1 s gr 
% Polyline
n 2578 2740 m 2578 2695 l 2518 2695 l 2518 2740 l cp gs col-1 s gr 
% Polyline
n 1948 2560 m 1948 2515 l 1888 2515 l 1888 2560 l cp gs col-1 s gr 
% Polyline
n 1873 2620 m 1873 2575 l 1813 2575 l 1813 2620 l cp gs col-1 s gr 
% Polyline
n 1813 2680 m 1813 2635 l 1753 2635 l 1753 2680 l cp gs col-1 s gr 
% Polyline
n 1753 2740 m 1753 2695 l 1693 2695 l 1693 2740 l cp gs col-1 s gr 
% Polyline
n 2443 2560 m 2443 2515 l 2383 2515 l 2383 2560 l cp gs col-1 s gr 
% Polyline
n 2368 2620 m 2368 2575 l 2308 2575 l 2308 2620 l cp gs col-1 s gr 
% Polyline
n 2308 2680 m 2308 2635 l 2248 2635 l 2248 2680 l cp gs col-1 s gr 
% Polyline
n 2248 2740 m 2248 2695 l 2188 2695 l 2188 2740 l cp gs col-1 s gr 
% Polyline
n 2608 2560 m 2608 2515 l 2548 2515 l 2548 2560 l cp gs col-1 s gr 
% Polyline
n 2533 2620 m 2533 2575 l 2473 2575 l 2473 2620 l cp gs col-1 s gr 
% Polyline
n 2473 2680 m 2473 2635 l 2413 2635 l 2413 2680 l cp gs col-1 s gr 
% Polyline
n 2413 2740 m 2413 2695 l 2353 2695 l 2353 2740 l cp gs col-1 s gr 
% Open spline
gs n 2068.0 2215.0 m 2120.5 2177.5 l
	2120.5 2177.5 2173.0 2140.0 2210.5 2065.0 DrawSplineSection
	2210.5 2065.0 2248.0 1990.0 2285.5 1885.0 DrawSplineSection
	2285.5 1885.0 2323.0 1780.0 2390.5 1705.0 DrawSplineSection
	2390.5 1705.0 2458.0 1630.0 2495.5 1667.5 DrawSplineSection
	2495.5 1667.5 2533.0 1705.0 2555.5 1757.5 DrawSplineSection
	2555.5 1757.5 2578.0 1810.0 2638.0 1967.5 DrawSplineSection
	2638.0 1967.5 2698.0 2125.0 2735.5 2162.5 DrawSplineSection
	2735.5 2162.5 2773.0 2200.0 2825.5 2200.0 DrawSplineSection
	2878.0 2200.0 l  gs col-1 s gr
 gr

% Polyline
n 2098 1510 m 1993 1510 1993 2230 105 arcto 4 {pop} repeat
  1993 2335 2863 2335 105 arcto 4 {pop} repeat
  2968 2335 2968 1615 105 arcto 4 {pop} repeat
  2968 1510 2098 1510 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 1843 2485 m 1543 2785 l 2668 2785 l 2968 2485 l cp gs col-1 s gr 
% Polyline
n 2893 1510 m 3343 1660 l 3343 1660 l 3343 2185 l 2938 2320 l gs col-1 s gr 
% Polyline
n 2593 2335 m 2593 2485 l gs col-1 s gr 
% Polyline
n 2818 2335 m 2818 2485 l gs col-1 s gr 
% Polyline
n 2368 2335 m 2368 2485 l gs col-1 s gr 
% Polyline
n 2968 2485 m 2968 2710 l 2668 2785 l gs col-1 s gr 
% Polyline
n 2893 2275 m 2893 1585 l 2068 1585 l 2068 2275 l cp gs col-1 s gr 
15.000 slw
% Ellipse
n 3466 3437 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 3475 3570 m 3960 3475 l gs col-1 s gr 
% Polyline
n 3474 3304 m 3960 3399 l gs col-1 s gr 
7.500 slw
% Polyline
n 2098 4105 m 2098 4060 l 2038 4060 l 2038 4105 l cp gs col-1 s gr 
% Polyline
n 2023 4165 m 2023 4120 l 1963 4120 l 1963 4165 l cp gs col-1 s gr 
% Polyline
n 1963 4225 m 1963 4180 l 1903 4180 l 1903 4225 l cp gs col-1 s gr 
% Polyline
n 1903 4285 m 1903 4240 l 1843 4240 l 1843 4285 l cp gs col-1 s gr 
% Polyline
n 2263 4105 m 2263 4060 l 2203 4060 l 2203 4105 l cp gs col-1 s gr 
% Polyline
n 2188 4165 m 2188 4120 l 2128 4120 l 2128 4165 l cp gs col-1 s gr 
% Polyline
n 2128 4225 m 2128 4180 l 2068 4180 l 2068 4225 l cp gs col-1 s gr 
% Polyline
n 2068 4285 m 2068 4240 l 2008 4240 l 2008 4285 l cp gs col-1 s gr 
% Polyline
n 2773 4105 m 2773 4060 l 2713 4060 l 2713 4105 l cp gs col-1 s gr 
% Polyline
n 2698 4165 m 2698 4120 l 2638 4120 l 2638 4165 l cp gs col-1 s gr 
% Polyline
n 2638 4225 m 2638 4180 l 2578 4180 l 2578 4225 l cp gs col-1 s gr 
% Polyline
n 2578 4285 m 2578 4240 l 2518 4240 l 2518 4285 l cp gs col-1 s gr 
% Polyline
n 1948 4105 m 1948 4060 l 1888 4060 l 1888 4105 l cp gs col-1 s gr 
% Polyline
n 1873 4165 m 1873 4120 l 1813 4120 l 1813 4165 l cp gs col-1 s gr 
% Polyline
n 1813 4225 m 1813 4180 l 1753 4180 l 1753 4225 l cp gs col-1 s gr 
% Polyline
n 1753 4285 m 1753 4240 l 1693 4240 l 1693 4285 l cp gs col-1 s gr 
% Polyline
n 2443 4105 m 2443 4060 l 2383 4060 l 2383 4105 l cp gs col-1 s gr 
% Polyline
n 2368 4165 m 2368 4120 l 2308 4120 l 2308 4165 l cp gs col-1 s gr 
% Polyline
n 2308 4225 m 2308 4180 l 2248 4180 l 2248 4225 l cp gs col-1 s gr 
% Polyline
n 2248 4285 m 2248 4240 l 2188 4240 l 2188 4285 l cp gs col-1 s gr 
% Polyline
n 2608 4105 m 2608 4060 l 2548 4060 l 2548 4105 l cp gs col-1 s gr 
% Polyline
n 2533 4165 m 2533 4120 l 2473 4120 l 2473 4165 l cp gs col-1 s gr 
% Polyline
n 2473 4225 m 2473 4180 l 2413 4180 l 2413 4225 l cp gs col-1 s gr 
% Polyline
n 2413 4285 m 2413 4240 l 2353 4240 l 2353 4285 l cp gs col-1 s gr 
% Open spline
gs n 2068.0 3760.0 m 2120.5 3722.5 l
	2120.5 3722.5 2173.0 3685.0 2210.5 3610.0 DrawSplineSection
	2210.5 3610.0 2248.0 3535.0 2285.5 3430.0 DrawSplineSection
	2285.5 3430.0 2323.0 3325.0 2390.5 3250.0 DrawSplineSection
	2390.5 3250.0 2458.0 3175.0 2495.5 3212.5 DrawSplineSection
	2495.5 3212.5 2533.0 3250.0 2555.5 3302.5 DrawSplineSection
	2555.5 3302.5 2578.0 3355.0 2638.0 3512.5 DrawSplineSection
	2638.0 3512.5 2698.0 3670.0 2735.5 3707.5 DrawSplineSection
	2735.5 3707.5 2773.0 3745.0 2825.5 3745.0 DrawSplineSection
	2878.0 3745.0 l  gs col-1 s gr
 gr

% Polyline
n 2098 3055 m 1993 3055 1993 3775 105 arcto 4 {pop} repeat
  1993 3880 2863 3880 105 arcto 4 {pop} repeat
  2968 3880 2968 3160 105 arcto 4 {pop} repeat
  2968 3055 2098 3055 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 1843 4030 m 1543 4330 l 2668 4330 l 2968 4030 l cp gs col-1 s gr 
% Polyline
n 2893 3055 m 3343 3205 l 3343 3205 l 3343 3730 l 2938 3865 l gs col-1 s gr 
% Polyline
n 2593 3880 m 2593 4030 l gs col-1 s gr 
% Polyline
n 2818 3880 m 2818 4030 l gs col-1 s gr 
% Polyline
n 2368 3880 m 2368 4030 l gs col-1 s gr 
% Polyline
n 2968 4030 m 2968 4255 l 2668 4330 l gs col-1 s gr 
% Polyline
n 2893 3820 m 2893 3130 l 2068 3130 l 2068 3820 l cp gs col-1 s gr 
15.000 slw
% Ellipse
n 6224 1897 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 6215 2030 m 5730 1935 l gs col-1 s gr 
% Polyline
n 6216 1764 m 5730 1859 l gs col-1 s gr 
/Times-Roman ff 360.00 scf sf
8978 7343 m
gs 1 -1 sc (GPIB Server) col0 sh gr
/Times-Roman ff 360.00 scf sf
9038 6953 m
gs 1 -1 sc (DAQ Client) col0 sh gr
% Polyline
n 6959 9011 m 7211 9086 l 6959 9154 l cp gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P1 [16 0 0 -8 463.93 600.73]  PATmp PATsp ef gr PATusp gs col0 s gr 
% Polyline
n 6963 9082 m 6521 9082 l gs col0 s gr 
% Polyline
n 6788 8681 m 6536 8756 l 6788 8824 l cp gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
15.00 15.00 sc P1 [16 0 0 -8 435.73 578.73]  PATmp PATsp ef gr PATusp gs col0 s gr 
% Polyline
n 6784 8752 m 7226 8752 l gs col0 s gr 
% Ellipse
n 8867 8916 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 8858 9049 m 8373 8954 l gs col-1 s gr 
% Polyline
n 8859 8783 m 8373 8878 l gs col-1 s gr 
% Polyline
n 8398 8916 m 5093 8916 l gs col-1 s gr 
% Ellipse
n 8867 5657 124 131 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 8858 5790 m 8373 5695 l gs col-1 s gr 
% Polyline
n 8859 5524 m 8373 5619 l gs col-1 s gr 
% Polyline
n 8398 5657 m 5093 5657 l gs col-1 s gr 
7.500 slw
% Ellipse
n 1820 5608 135 135 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 1505 5608 135 135 0 360 DrawEllipse gs col-1 s gr

% Polyline
n 1955 5608 m 1955 5458 l 1940 5428 l 1910 5398 l 1865 5383 l 1490 5383 l gs col-1 s gr 
% Polyline
n 1370 5608 m 1370 5458 l 1385 5428 l 1415 5398 l 1460 5383 l 1835 5383 l gs col-1 s gr 
% Polyline
n 1985 5758 m 1985 5353 l 1340 5353 l 1340 5758 l cp gs col-1 s gr 
% Polyline
n 1415 5518 m 1415 5518 l gs col-1 s gr
% Polyline
n 1415 5503 m 1595 5698 l gs col-1 s gr 
% Polyline
n 1595 5518 m 1400 5698 l gs col-1 s gr 
% Polyline
n 1685 5608 m 1955 5608 l gs col-1 s gr 
% Polyline
n 1820 5473 m 1820 5743 l gs col-1 s gr 
/Times-Roman ff 375.00 scf sf
1265 6238 m
gs 1 -1 sc (Tape) col-1 sh gr
15.000 slw
% Polyline
n 10363 5620 m 11938 5620 l gs col0 s gr 
% Polyline
n 11473 5635 m 11473 6595 l 11938 6595 l gs col0 s gr 
% Polyline
n 8384 5625 m 8384 5692 l gs col-1 s gr 
% Polyline
n 10389 1855 m 10389 1945 l gs col0 s gr 
% Polyline
n 4443 1895 m 3935 1900 l gs col0 s gr 
% Polyline
n 3928 3430 m 4318 3430 l gs col0 s gr 
% Polyline
n 4316 3430 m 4317 5205 l gs col0 s gr 
% Polyline
n 4447 5190 m 4451 1880 l gs col0 s gr 
% Polyline
n 4593 5190 m 4597 1880 l gs col0 s gr 
% Polyline
n 4593 1897 m 5748 1902 l gs col0 s gr 
% Polyline
n 4216 5176 m 4216 4691 l gs col0 s gr 
% Polyline
n 4101 5176 m 4101 4691 l gs col0 s gr 
% Polyline
n 3981 5176 m 3981 4691 l gs col0 s gr 
% Polyline
n 3871 5176 m 3871 4691 l gs col0 s gr 
% Polyline
n 10388 1906 m 9938 1906 l 9930 5205 l gs col0 s gr 
% Polyline
n 8326 1891 m 9811 1891 l 9817 5205 l gs col0 s gr 
% Polyline
n 9695 5176 m 9695 4691 l gs col0 s gr 
% Polyline
n 9575 5176 m 9575 4691 l gs col0 s gr 
% Polyline
n 9455 5176 m 9455 4691 l gs col0 s gr 
% Polyline
n 10070 5176 m 10070 4691 l gs col0 s gr 
% Polyline
gs  clippath
9244 3043 m 9475 2955 l 9312 3142 l 9579 2957 l 9511 2859 l  cp clip
n 8245 3807 m 9520 2925 l gs col0 s gr gr

% arrowhead
n 9244 3043 m 9475 2955 l 9312 3142 l 9278 3092 l 9244 3043 l  cp gs col7 1.00 shd ef gr  col0 s
% Polyline
gs  clippath
4967 2946 m 4834 2737 l 5050 2859 l 4815 2636 l 4732 2723 l  cp clip
n 5901 3750 m 4795 2700 l gs col0 s gr gr

% arrowhead
n 4967 2946 m 4834 2737 l 5050 2859 l 5008 2902 l 4967 2946 l  cp gs col7 1.00 shd ef gr  col0 s
% Polyline
gs  clippath
7303 5121 m 7265 5365 l 7183 5132 l 7213 5454 l 7333 5443 l  cp clip
n 7176 4407 m 7270 5419 l gs col0 s gr gr

% arrowhead
n 7303 5121 m 7265 5365 l 7183 5132 l 7243 5126 l 7303 5121 l  cp gs col7 1.00 shd ef gr  col0 s
% Polyline
n 1990 5588 m 3684 5590 l gs col0 s gr 
/Times-Roman ff 360.00 scf sf
3105 6997 m
gs 1 -1 sc (Data Server) col0 sh gr
/Times-Roman ff 360.00 scf sf
8045 645 m
gs 1 -1 sc (GPIB Control Clients) col0 sh gr
/Times-Roman ff 360.00 scf sf
3000 660 m
gs 1 -1 sc (Data Analysis Clients) col0 sh gr
/Times-Roman ff 360.00 scf sf
9313 9020 m
gs 1 -1 sc (Client) col0 sh gr
/Times-Roman ff 360.00 scf sf
4045 9000 m
gs 1 -1 sc (Server) col0 sh gr
/Times-Roman ff 360.00 scf sf
5631 8261 m
gs 1 -1 sc (Net Protocol Socket) col0 sh gr
/Times-Roman ff 360.00 scf sf
5706 4155 m
gs 1 -1 sc (Net Protocol Sockets) col0 sh gr
$F2psEnd
rs
end

%%EndDocument
 @endspecial 444 3780 a(Figure)f(1:)36 b Fb(A)29 b(p)l(ossible)j(c)l
(on\014gur)l(ation)d(of)i(machines)g(c)l(onne)l(cte)l(d)e(by)h(the)g
(netPr)l(oto)l(c)l(ol)-120 4228 y Fd(3)132 b(Instructions)-120
4410 y Fe(The)38 b(follo)n(wing)e(sections)h(list)h(the)g(metho)r(ds)g
(that)g(apply)f(to)h(instances)f(of)h(the)g(BLIPcard)e(class.)66
b(The)38 b(program)d(is)-120 4509 y(designed)25 b(to)h(use)g(the)g
Fc(rack.pl)d Fe(in)n(terface.)35 b(Instructions)26 b(for)f(use)g(of)h
(this)g(in)n(terface)f(can)h(b)r(e)g(found)g(in)g(ref)g(citein)n
(terface.)5 4609 y(This)34 b(soft)n(w)n(are)f(also)g(con)n(tains)g(a)h
(useful)h(p)r(ersistence)f(feature.)57 b(Up)r(on)35 b(exiting)f(the)h
(program,)f(it)h(will)g(record)e(the)-120 4709 y(card)c(status)g(in)g
(a)g(\014le)h(called)f Fc(/tmp/hostname-BL)o(IPc)o(ar)o(d-)o(sub)o(ra)o
(ck-)o(mo)o(dul)o(e.)o(ou)o(t)p Fe(,)24 b(where)29 b
Fc(subrack)d Fe(is)k(the)g(subrac)n(k)-120 4808 y(of)36
b(the)g(card)f(and)h Fc(module)e Fe(is)i(the)g(mo)r(dule)g(n)n(um)n(b)r
(er)g(of)g(the)h(card.)61 b(If)36 b(the)h Fc(-s)e Fe(switc)n(h)h(is)g
(used,)i Fc(hostname)32 b Fe(b)r(ecomes)-120 4908 y Fc(script)p
Fe(.)45 b(When)32 b Fc(rack.pl)c Fe(is)j(run)g(again,)g(it)h(will)f
(automatically)g(searc)n(h)e(for)i(this)g(\014le)h(and)f(reload)f
(those)h(v)-5 b(alues)30 b(in)n(to)-120 5008 y(memory)-7
b(.)35 b(This)24 b(feature)g(is)g(designed)g(to)g(ensure)f(that)i(the)f
(hardw)n(are)e(and)i(soft)n(w)n(are)f(remain)g(sync)n(hronized.)34
b(If)25 b(the)g(rac)n(k)-120 5107 y(is)i(p)r(o)n(w)n(ered)g(do)n(wn,)g
(b)r(e)h(sure)f(to)g(re-initialize)g(the)h(settings)g(when)f(the)h
(program)e(is)h(run)h(again.)1809 5356 y(1)p eop
%%Page: 2 2
2 1 bop -120 90 a Fa(3.1)112 b(General)38 b(Information)-106
243 y Fe(help)k(\()p Ff(String)27 b Fc(topic)p Fe(\))88
343 y(prin)n(ts)22 b(the)h(subset)g(of)g(the)g(commands)f(that)h(can)f
(b)r(e)i(issued)e(to)h(the)g(BLIP)f(card)g(whic)n(h)h(con)n(tain)f(the)
h(string)f Fc(topic)p Fe(.)88 443 y(If)28 b(no)f(argumen)n(t,)f(prin)n
(ts)i(all)f(the)h(help)g(information.)-132 609 y(prin)n(t)42
b(\()p Ff(v)m(oid)p Fe(\))88 708 y(prin)n(ts)27 b(Information)f(ab)r
(out)i(the)f(GPIB)g(b)r(o)n(x)g(and)g(the)h(card)f(including)g(mo)r
(dule)h(n)n(um)n(b)r(er)f(and)g(the)h(status)f(bits)h(of)88
808 y(the)g(Con)n(trol)e(Registers.)-247 974 y(cardinfo)41
b(\()p Ff(v)m(oid)p Fe(\))88 1074 y(Reads)27 b(bac)n(k)f(the)i(t)n(yp)r
(e)g(of)g(card,)e(serial)h(n)n(um)n(b)r(er)g(of)h(the)g(card,)f(and)g
(the)h(v)n(ersion)e(n)n(um)n(b)r(er)h(of)h(the)g(card.)-270
1240 y(cardt)n(yp)r(e)41 b(\()p Ff(v)m(oid)p Fe(\))88
1339 y(Prin)n(ts)26 b(card)h(t)n(yp)r(e)h(that)g(computer)f(b)r(eliev)n
(es)g(card)g(to)g(b)r(e.)-321 1505 y(sa)n(v)n(eScript)40
b(\()p Ff(String)27 b Fc(filename)p Fe(,)e Ff(in)m(t)i
Fc(overwrite)p Fe(\))88 1605 y(Sa)n(v)n(es)38 b(all)i(subsequen)n(t)f
(GPIB)h(commands)f(to)h Fc(filename)p Fe(.)70 b(Commands)40
b(are)f(sa)n(v)n(ed)f(in)i(format)g(readable)e(b)n(y)88
1705 y(LABView)30 b(in)n(terface)f(and)h(P)n(erl)f(script)h(reading)f
(routine.)44 b(The)30 b Fc(overwrite)c Fe(\014eld)31
b(is)f(optional)f(\(if)i(omitted,)g(and)88 1804 y(relev)-5
b(an)n(t,)27 b(user)g(will)h(b)r(e)h(prompted)e(for)h(it\).)38
b(The)28 b(p)r(ossible)g(c)n(hoices)e(are:)37 b Fc(1)27
b Fe(to)h(app)r(end)g(to)g(existing)g Fc(filename)p Fe(,)c
Fc(2)88 1904 y Fe(to)j(o)n(v)n(erwrite)f Fc(filename)p
Fe(,)e(or)j Fc(3)g Fe(to)g(cancel)g(if)i Fc(filename)24
b Fe(exists.)-300 2070 y(endScript)42 b(\()p Ff(v)m(oid)p
Fe(\))88 2170 y(Ceases)26 b(sa)n(ving)g(commands)h(to)h(a)f(\014le.)
-326 2336 y(enableBo)n(x)40 b(\()p Ff(v)m(oid)p Fe(\))88
2435 y(Enables)26 b(comm)n(unication)h(with)h(GPIB)f(b)r(o)n(x.)37
b(Note)27 b(that)h(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g(b)r(o)n
(x.)-345 2601 y(disableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))88 2701 y(Disables)27 b(comm)n(unication)g(with)h(GPIB)f(b)r(o)n
(x.)36 b(Note)28 b(that)g(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g
(b)r(o)n(x.)-362 2867 y(accum)n(ulate)41 b(\()p Ff(v)m(oid)p
Fe(\))88 2967 y(Creates)28 b(a)h(queue)g(of)g(commands)g(for)f(the)i
(GPIB)f(b)r(o)n(x.)41 b(Will)30 b(not)f(execute)h(them)f(un)n(til)h
(\\execute")e(command)h(is)88 3066 y(giv)n(en;)d(then)j(it)f(will)f(do)
h(them)g(all)f(at)h(once.)-454 3232 y(unaccum)n(ulate)41
b(\()p Ff(v)m(oid)p Fe(\))88 3332 y(T)-7 b(urns)27 b(o\013)g(accum)n
(ulation)g(feature.)37 b(Note)27 b(that)h(the)g(remaining)f(items)h(in)
g(the)f(queue)h(are)f(NOT)g(executed.)-224 3498 y(execute)42
b(\()p Ff(v)m(oid)p Fe(\))88 3598 y(Executes)26 b(all)i(commands)f(in)h
(the)g(GPIB)f(b)r(o)n(x)g(queue.)-277 3764 y(p)r(o)n(w)n(erUp)41
b(\()p Ff(v)m(oid)p Fe(\))88 3863 y(Resets)24 b(con)n(trol)g(registers)
f(and)i(D)n(A)n(Cs)g(to)g(the)g(v)-5 b(alues)25 b(that)g(are)f(b)r
(eliev)n(ed)h(b)n(y)f(the)i(soft)n(w)n(are)d(to)i(b)r(e)g(true.)36
b(Designed)88 3963 y(for)27 b(use)g(when)h(p)r(o)n(w)n(er)e(is)i(sh)n
(ut)f(o\013)h(to)f(b)r(oard)g(without)h(reloading)e(program.)-165
4129 y(toFile)42 b(\()p Ff(String)27 b Fc(filename)p
Fe(\))88 4229 y(Sa)n(v)n(es)f(curren)n(t)g(card)h(settings)h(to)f
(\014le)h Fc(filename)p Fe(.)-260 4395 y(fromFile)42
b(\()p Ff(String)27 b Fc(filename)p Fe(\))88 4494 y(Reads)g(card)f
(settings)i(from)f Fc(filename)d Fe(and)k(sets)f(registers)f(and)h(D)n
(A)n(Cs)h(to)f(those)h(settings.)-78 4660 y(init)42 b(\()p
Ff(v)m(oid)p Fe(\))88 4760 y(Resets)26 b(registers)e(and)i(D)n(A)n(Cs)g
(to)h(initial)f(v)-5 b(alues)26 b(\(D)n(A)n(Cs)g(set)h(at)f(zero,)f
(\014lters)h(selected)h(to)f(b)r(e)g(0,)h(and)f(all)g(c)n(hannels)88
4859 y(disabled\).)1809 5356 y(2)p eop
%%Page: 3 3
3 2 bop -120 90 a Fa(3.2)150 b(Setting)36 b(up)i(the)f(D)m(A)m(C's)-264
243 y Fe(QOD)n(A)n(C)k(\()p Ff(\015oat)28 b Fc(Voltage)p
Fe(\))88 343 y(sets)f(the)h(Outer)f(Charge)f(Bias)h(D)n(A)n(C)h(to)f
Fc(Voltage)e Fe(V)-7 b(olts.)-230 509 y(QID)n(A)n(C)42
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 609 y(sets)f(the)h(Inner)f
(Charge)f(Bias)h(D)n(A)n(C)h(to)f Fc(Voltage)e Fe(V)-7
b(olts.)-279 775 y(PS1D)n(A)n(C)41 b(\()p Ff(\015oat)28
b Fc(Voltage)p Fe(\))88 874 y(sets)f(the)h(Phonon)e(Sensor)h(1)g(D)n(A)
n(C)h(to)f Fc(Voltage)e Fe(V)-7 b(olts.)-279 1040 y(PS2D)n(A)n(C)41
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 1140 y(sets)f(the)h
(Phonon)e(Sensor)h(2)g(D)n(A)n(C)h(to)f Fc(Voltage)e
Fe(V)-7 b(olts.)-421 1306 y(Implan)n(tD)n(A)n(C)42 b(\()p
Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 1406 y(sets)f(the)h(IBAP)-7
b(A)n(CAP's)27 b(Implan)n(t)g(D)n(A)n(C)h(to)g Fc(Voltage)c
Fe(V)-7 b(olts.)-307 1572 y(LEDD)n(A)n(C)42 b(\()p Ff(\015oat)28
b Fc(Voltage)p Fe(\))88 1671 y(sets)f(the)h(LED)f(D)n(A)n(C)h(to)g
Fc(Voltage)c Fe(V)-7 b(olts.)-380 1837 y(CinnerD)n(A)n(C)42
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 1937 y(sets)f(the)h(IBAP)
-7 b(A)n(CAP's)27 b(Inner)g(Charge)f(D)n(A)n(C)i(to)f
Fc(Voltage)e Fe(V)-7 b(olts.)-384 2103 y(CouterD)n(A)n(C)41
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 2203 y(sets)f(the)h(IBAP)
-7 b(A)n(CAP's)27 b(Outer)g(Charge)f(D)n(A)n(C)i(to)f
Fc(Voltage)e Fe(V)-7 b(olts.)-120 2435 y Fa(3.3)112 b(Setting)37
b(up)h(the)f(Multiplexers)-245 2588 y Fe(Mux1/2)k(\()p
Ff(String)27 b Fc(whichMux)p Fe(\))88 2688 y(sets)18
b(Multiplexer)g(1/2)f(to)h(output)h(its)g Fc(whichMux)p
Fe('th)c(output.)35 b Fc(whichMux)15 b Fe(is)j(one)g(of:)32
b(\\v)-5 b(amp1",\\v)g(amp2",\\QoImon",\\QoVmon",)88
2788 y(\\QiImon",\\QiVmon",\\LED)n(V",\\LEDI",\\PS1)o(Bias)o(",\\)o
(PS2B)o(ias")o(,)22 b(\\TSense",)k(or)h(\\FETHtr".)-245
2954 y(Mux1/2)41 b(\()p Ff(v)m(oid)p Fe(\))88 3053 y(Returns)27
b(the)h(index)g(of)f(whic)n(h)h(output)g(is)f(curren)n(tly)g(selected)h
(on)f(m)n(ultiplexer)g(1/2.)-120 3286 y Fa(3.4)112 b(Setting)37
b(up)h(the)f(Con)m(trol)f(Registers)-120 3439 y Ff(3.4.1)94
b(Charge)32 b(&)g(LED)g(Con)m(trol)g(Register)-288 3592
y Fe(gndQI/O)40 b(\()p Ff(in)m(t)28 b Fc(gndstate=1)p
Fe(\))88 3692 y(ground/unground)33 b(the)i(Inner/Outer)f(Charge)g
(Bias.)60 b(By)35 b(default,)j Fc(gndstate)p Fe(=1,)33
b(whic)n(h)j(grounds)e(the)h(bias.)88 3791 y(With)28
b Fc(gndstate)p Fe(=0,)c(the)k(bias)f(v)n(oltage)f(is)h(applied.)-315
3958 y(gndPS1/2)40 b(\()p Ff(in)m(t)28 b Fc(gndstate=1)p
Fe(\))88 4057 y(ground/unground)35 b(the)j(Phonon)e(Sensor)h(1/2)f
(Bias.)65 b(By)38 b(default,)i Fc(gndstate)p Fe(=1,)c(whic)n(h)h
(grounds)g(the)g(bias.)88 4157 y(With)28 b Fc(gndstate)p
Fe(=0,)c(the)k(bias)f(v)n(oltage)f(is)h(applied.)-344
4323 y(Qi/oVmon)41 b(\()p Ff(v)m(oid)p Fe(\))88 4422
y(Monitor)26 b(V)-7 b(oltage)27 b(of)h(inner/outer)e(Charge)g(c)n
(hannel.)-311 4588 y(Qi/oImon)40 b(\()p Ff(v)m(oid)p
Fe(\))88 4688 y(Monitor)26 b(curren)n(t)h(of)h(inner/outer)e(Charge)g
(c)n(hannel.)-132 4854 y(Qp)r(ol)42 b(\()p Ff(in)m(t)28
b Fc(qpol=0)p Fe(\))88 4954 y(sets)f(the)h(p)r(olarit)n(y)e(of)i(the)g
(QAmps.)37 b(Default=0)27 b(\(p)r(ositiv)n(e\).)1809
5356 y(3)p eop
%%Page: 4 4
4 3 bop -321 90 a Fe(LEDPulse)41 b(\()p Ff(in)m(t)28
b Fc(ntimes=1)p Fe(\))88 190 y(Pulse)f(the)h(LED)f Fc(ntimes)e
Fe(times.)-391 346 y(LEDOn/O\013)41 b(\()p Ff(v)m(oid)p
Fe(\))88 446 y(T)-7 b(urn)27 b(on/o\013)g(the)h(LED.)-274
602 y(LEDplus)42 b(\()p Ff(v)m(oid)p Fe(\))88 702 y(Select)27
b(the)h(p)r(ositiv)n(e)g(LED)f(leg.)-341 858 y(LEDmin)n(us)42
b(\()p Ff(v)m(oid)p Fe(\))88 958 y(Select)27 b(the)h(negativ)n(e)f(LED)
g(leg.)-120 1169 y Ff(3.4.2)94 b(Phonon)31 b(Sensor)h(Con)m(trol)f
(Registers)-294 1322 y Fe(divPS1/2)40 b(\()p Ff(in)m(t)28
b Fc(divide=0)p Fe(\))88 1422 y(selects/deselects)f(the)j(divider)e(in)
h(Phonon)f(Sensor)g(1/2.)40 b(By)28 b(default,)i Fc(divide)p
Fe(=0,)c(whic)n(h)j(do)r(es)g Fb(not)g Fe(divide)g(the)88
1522 y(output.)-294 1678 y(v)-5 b(arPS1/2)39 b(\()p Ff(in)m(t)28
b Fc(variable=0)p Fe(\))88 1778 y(selects/deselects)i(the)i(v)-5
b(ariable)30 b(input)i(to)g(Phonon)e(Sensor)g(1/2.)48
b(By)31 b(default,)i Fc(variable)p Fe(=0,)28 b(whic)n(h)j(deselects)88
1877 y(the)d(v)-5 b(ariable)26 b(input.)-352 2034 y(\014lterPS1/2)40
b(\()p Ff(in)m(t)28 b Fc(select=1)p Fe(\))88 2133 y(selects/deselects)d
(the)i(lo)n(w)f(pass)g(\014lter)g(in)h(Phonon)f(Sensor)g(1/2.)35
b(By)26 b(default,)h Fc(select)e Fe(is)h(suc)n(h)h(that)g(the)g
(\014lter)f(is)88 2233 y(selected.)-276 2389 y(refPS1/2)40
b(\()p Ff(in)m(t)28 b Fc(which=1)p Fe(\))88 2489 y(selects)f(whic)n(h)g
(reference)g(to)g(use)h(for)f(the)h(mo)r(dulation)f(of)h(the)g(Phonon)f
(Sensor)f(Bias.)88 2588 y(0)h(=)g(1)g(kHz)88 2688 y(1)g(=)g(10)g(Hz)88
2788 y(2)g(=)g(+15)f(V)88 2887 y(3)h(=)g(-15)f(V)-168
3143 y(tenHz)42 b(\()p Ff(v)m(oid)p Fe(\))88 3243 y(selects)27
b(the)h(10)e(Hz)i(input)h(to)e(Phonon)g(Sensors)f(1)h(&)g(2.)37
b(Also)27 b(selects)g(the)h(lo)n(w-pass)e(\014lter)i(on)f(b)r(oth)h(c)n
(hannels.)-97 3399 y(kHz)42 b(\()p Ff(v)m(oid)p Fe(\))88
3499 y(selects)27 b(the)h(1)f(kHz)h(input)g(to)f(Phonon)g(Sensors)f(1)i
(&)f(2.)36 b(Also)28 b(selects)f(the)h(lo)n(w-pass)d(\014lter)j(on)f(b)
r(oth)h(c)n(hannels.)-120 3710 y Ff(3.4.3)94 b(Lo)s(c)m(kin)32
b(and)g(V)-8 b(amp)31 b(Con)m(trol)h(Register)-304 3864
y Fe(v)-5 b(ampF)e(ast)42 b(\()p Ff(in)m(t)28 b Fc(fast)p
Fe(=1\))88 3963 y(sets)f(the)h(fast/slo)n(w)e(V)-7 b(oltage)27
b(amp)g(setting.)37 b(If)28 b Fc(fast)p Fe(=0,)d(set)j(to)f(slo)n(w)g
(mo)r(de.)-318 4119 y(v)-5 b(ampSlo)n(w)41 b(\()p Ff(v)m(oid)p
Fe(\))88 4219 y(sets)27 b(the)h(slo)n(w)f(V)-7 b(oltage)26
b(amp)i(setting.)37 b(De\014ned)28 b(as)f Fc($self->vampFast\()o(0\))o
(;)p Fe(.)-186 4375 y(azF)-7 b(ast)41 b(\()p Ff(in)m(t)28
b Fc(fast)p Fe(=1\))88 4475 y(sets)22 b(the)h(fast/slo)n(w)e(autozero)g
(on)h(the)i(lo)r(c)n(kin)e(amps.)35 b(If)23 b Fc(fast)p
Fe(=0,)e(use)h(the)h(slo)n(w)f(a)n(v)n(eraging,)f(to)h(get)h(higher)f
(qualit)n(y)88 4575 y(DC)28 b(o\013set)f(subtraction.)36
b(If)28 b Fc(fast)e Fe(=1)h(\(default\),)i(use)e(the)h(fast)g(a)n(v)n
(eraging.)-201 4731 y(azSlo)n(w)41 b(\()p Ff(v)m(oid)p
Fe(\))88 4831 y(sets)27 b(the)h(autozero)e(to)h(the)h(slo)n(w)f(mo)r
(de.)-195 4987 y(b)n(ypass)41 b(\()p Ff(in)m(t)28 b Fc(bypass)p
Fe(=1\))88 5086 y(b)n(ypasses)e(or)g(not)i(b)n(ypasses)e(the)i(lo)r(c)n
(kins)f(\(b)r(oth)h(1)f(and)h(2\).)37 b(If)28 b Fc(bypass)p
Fe(=0,)c(the)k(lo)r(c)n(kins)f(are)f(not)i(b)n(ypassed.)1809
5356 y(4)p eop
%%Page: 5 5
5 4 bop -120 90 a Ff(3.4.4)94 b(IBAP)-8 b(A)m(CAP)33
b(Con)m(trol)f(Register)-228 243 y Fe(coPulse)41 b(\()p
Ff(v)m(oid)p Fe(\))-209 509 y(ciPulse)g(\()p Ff(v)m(oid)p
Fe(\))88 609 y(Pulse)27 b(inner/outer)f(c)n(harge)g(on)h(IBAP)-7
b(A)n(CAP)g(.)-260 775 y(coRange)41 b(\()p Ff(v)m(oid)p
Fe(\))-241 1040 y(ciRange)g(\()p Ff(v)m(oid)p Fe(\))88
1140 y(Sets)27 b(the)h(inner/outer)f(c)n(harge)e(range)i(on)g(IBAP)-7
b(A)n(CAP)g(.)-195 1306 y(pPulse)41 b(\()p Ff(v)m(oid)p
Fe(\))88 1406 y(Sim)n(ulate)27 b(a)g(phonon)h(pulse)f(on)g(IBAP)-7
b(A)n(CAP)g(.)-227 1572 y(pRange)41 b(\()p Ff(v)m(oid)p
Fe(\))88 1671 y(Set)28 b(the)g(phonon)f(range.)-290 1837
y(trigDela)n(y)41 b(\()p Ff(v)m(oid)p Fe(\))88 1937 y(Set)28
b(the)g(trigger)d(Dela)n(y)-7 b(.)-120 2212 y Fd(References)-78
2393 y Fe([1])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Sae)g(W)-7
b(o)r(o)28 b(Nam)f(CDMS)i(note)e(9712002.)d Fb(The)31
b(CDMS)f(Net)f(Pr)l(oto)l(c)l(ol)-78 2560 y Fe([2])41
b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7 b(urlanetto)28
b Fb(Gener)l(al)i(Information)h(on)f(the)g(Perl-b)l(ase)l(d)g(Ele)l
(ctr)l(onics)h(Interfac)l(e)1809 5356 y Fe(5)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of BLIPdriver.ps
echo Contents.ps 1>&2 
cat >Contents.ps << 'End of Contents.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: Contents.dvi
%%Pages: 3
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips Contents.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1106
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (Contents.dvi)
@start
%DVIPSBitmapFont: Fa cmtt10 10 42
/Fa 42 123 df<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>46
D<EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F168015
1FA26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F90
380007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F
007FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC2335
7CB32C>51 D<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A5
90383F01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A400
0715C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>65
D<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0
A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501
ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016C0B712806CECFE
0015F027337FB22C>I<02FF13700107EBE0F84913F9013F13FD4913FFEBFF813901FE00
7F4848131FD807F0130F1507485A491303485A150148C7FCA25A007EEC00F01600A212FE
5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F
6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F00100138025357DB32C>I<007F
B5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716F01503
16F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80EDFF00EC
03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB612F0B712F8A37E3903F000
01A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB6
12FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7FCA716781600A5
15F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>I<90
3901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC01497E4848137F4848
133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13
FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D
5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<007FB512
F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14F81E3379B22C>73
D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337D
B22C>76 D<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001BC137BA4019E13
F3A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA201811303A214FF
EB80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>I<00
7FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07F0A2150316F81501A615
0316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0387FFF80B57E
A36C5B25337EB22C>80 D<EB7FFF0003B512E0000F14F848804880EBF007EB800048C712
7FA2007E80A300FE158048141FB3A7EB01F0EB03F800FE143F267E01FC1300A2EB00FE00
7F5C147FD83F8013FEEBF03F90B5FC6C5C6C5C000314E0C67E90380007F0A26E7EA26E7E
A26E7EA2157FA2153E21407BB32C>I<387FFFFCB67E15E015F86C803907E007FE1401EC
007F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E081819038E007FC
EC01FE1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029
347EB22C>I<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7
FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13
FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0
A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F9
14F0D8F83F13C0D8700790C7FC23357CB32C>I<007FB612FCB712FEA43AFC007E007EA7
0078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3B7FFF803FFFC0B56C
4813E0A36C496C13C03B03F00001F800B3AF6D130300015DA26D130700005D6D130F017F
495A6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B3480B22C>I<003FB6
12C04815E0A4007EC7EA1FC0ED3F80A2ED7F00157E15FE4A5A003C5CC712034A5AA24A5A
4A5AA24A5A4AC7FCA214FE495AA2495A495AA2495A495AA2495A49C8FCA213FE485AA248
48EB03C049EB07E01207485A5B121F485AA248C7FCB7FCA46C15C023337CB22C>90
D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8
127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F
14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>
97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138
801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13
036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027
337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E
4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F0039
07FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC
003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC
007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CEC
BFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E
48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075A
B7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001
FF13FF000190B512806C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3F
FE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C
5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<ED03F8903907F80FFC90
391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC1CD9C000
1300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D481480D99F
FEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A3FC0001F
F848C7EA03FC007E1400007C157C00FC157E48153EA46C157E007E15FCD87F801303D83F
E0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8010713C028387EA42C>
I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A800
7FB512FCB612FEA36C14FC1F3479B32C>105 D<140EEC3F80A2EC7FC0A3EC3F80A2EC0E
0091C7FCA748B512804814C0A37EC7120FB3B3A2141F003C1480007E133FB414005CEB01
FEEBFFFC6C5B5C001F5B000790C7FC1A467CB32C>I<EA7FE0487EA3127F1201AA91381F
FFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3
EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400157E811680151F3A
7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>I<387FFFE0B57EA37EEA0003B3B3
A5007FB61280B712C0A36C158022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE
3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C0
1380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>
I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC
000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>I<EB07FCEB1F
FF017F13C048B512F048803907FC07FC390FF001FE48486C7E0180133F003F158090C712
1F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D
5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397F
F01FE039FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091380007F049
EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138
801FE09138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C
5B27367FA32C>I<903903FC078090391FFF0FC0017F13CF48B512EF4814FF3807FE0738
0FF00148487E49137F4848133F90C7FC48141F127E150F5AA87E007E141FA26C143F7F6C
6C137F6D13FF380FF0033807FC0F6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203
B5FC4A1480A36E140029367DA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C
5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67E
A36C5C26247EA32C>I<90387FF8700003B512F8120F5A5A387FC00F387E00034813015A
A36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB00
07EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815
E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003F
C8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F8903800
3FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D
137F3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FF
FCB514FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E
017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF0103
5BA214FF6D90C7FCA26D5A147C27247EA32C>I<3A3FFF03FFF048018713F8A36C010313
F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D
90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F
7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>
120 D<003FB612E04815F0A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A
4A5A4A5A4A5A4A5A4AC7FCEB01FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB
03F0485A485A485A485A485AB7FCA46C15E024247DA32C>122 D
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmtt14 14.4 34
/Fb 34 119 df<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F800D0D698C3C
>46 D<EC3FFC0103B512C0010F14F0013F14FC90B67E486F7E488248D9F0077F91C7FCD8
0FFCEC3FF0496E7E4848140F4914076D811603A36C5A6C5AC9FC16075FA2160F4C5AA24C
5A167F4B485A03075B92B5C7FC91B55A495C5E16E016F816FE6D80DA000713C003007FEE
3FF0707E160F707E707E16018382A2EF7F80A3121C127FA2487EA217FF18005EA2007F4B
5A6D14076C6C4A5A6D4A5AD81FFC143F6CB4ECFFF0DAF0075B6C90B65A00015E6C93C7FC
013F14FC010F14F0010114C09026001FFCC8FC314B7BC93C>51 D<007FB612C0B712F816
FE707E83836C82D801FEC76C7EEE1FFCEE07FE1603707EA2821880177FA717FF1800A25E
4C5A4C5A160F4C5AEE7FF0923807FFE090B75A94C7FC16FC16FF17C08317F849C7EA1FFC
EE07FE1603707E701380177F18C0173FA218E0171FA7173F18C0A2177FA2EFFF805E4C13
00160FEE3FFE007FB75AB85A5F5F17804CC7FC6C15F033497DC83C>66
D<003FB67E4815E0B712F816FE826C826C822701FE00037F03007FEE3FF8707E160F707E
1603707EA2701380177F18C0173FA218E0171FA218F0170FA418F81707AE170F18F0A417
1F18E0A2173F18C0177FA2EFFF80A24C13005E4C5A160F4C5A4C5AEEFFF01503003FB75A
485EB8C7FC5E5E6C15F06C158035497EC83C>68 D<003FB812C05AB912E0A37E7EC690C8
121FA8EF0FC0A294C7FCA9ED01F8A24B7EA491B5FCA7EC0003A46F5AA292C9FCA9EF01F8
A2EF03FCAA003F90B7FC5AB9FCA36C17F87E36497DC83C>I<003FB812E05AB912F0A37E
7EC690C8120FA8EF07E0A294C7FCAA16FCA24B7EA491B5FCA7EC0001A46F5AA293C8FCB3
A2003F13FF4880B67EA36C5C6C91C9FC34497DC83C>I<003FB612FC4815FEB8FCA36C15
FE6C15FCC790C7FCB3B3B3A5003FB612FC4815FEB8FCA36C15FE6C15FC284976C83C>73
D<007FB57EB67EA56C5CC690CAFCB3B3ABEF0FC0A2EF1FE0AA007F90B7FCB9FCA418C07E
33497CC83C>76 D<D83FFEEDFFF8486C4A13FCB56C4913FE6E5BA26C17FC6C17F800036D
49138001FB15BFA26E131FA301F9153F6E133FA36E137F01F8147EA36E13FE027E13FCA2
EC7F01A2023F13F8A21583A2021F13F0A215C7A2020F13E0A3913807EFC0A4913803FF80
A36E1300A36E5A157C92C7FCB1263FFF80903803FFF8486D4913FCB56C4913FEA36C496D
13FC6C496D13F837497EC83C>I<003FB612E04815FCB8FC17C0836C826C82C690C77FEE
1FFE1607707E70138082EF7FC0A2173FA218E0171FA7173F18C0A2177FA2EFFF805E4C13
004C5A161FEEFFFC91B65A5F5F5F94C7FC16FC16E091CAFCB3A5003F13FC487FB6FCA36C
5B6C5B33497DC83C>80 D<0103B57E013F14F848B7FC4816804816C04816E04816F0EC80
0301FCC7127FD83FF0EC1FF849140FA24848EC07FCA3491403A500FF16FE90C81201B3AF
90398007F003007F02F813FC140FEC07FCA2EC03FE01C01407EC01FFA26C6C6CEB8FF8A2
6DEB7FDFD81FFCECFFF09038FF803F91B6FC6C16E06C16C06C16806C1600D8003F14FC01
038090C71203828117808117C0167F17E0163F17F0161F17F8160FA2160716032F5B7AC9
3C>I<007FB512F8EDFF80B712E016F8826C81822701FE001F7F03037F03007F167F707E
161F707E1607A2831603A616075FA2160F4C5A163F4C5A16FF03035B031F5B90B7C7FC5E
5E5EA282829039FE000FFF03037F816F7F167F707EA2161FAB187E18FFA517F1160F267F
FFF8ECF9FE17FFB56C6D13FC8218F86C496D13F07013E0CAEA1F80384A7DC83C>I<9139
FFC001E001079038FC03F0011F13FF017F14C348B612E74815FF5A48EB807F9038FC000F
4848130348487F497F4848147F5B163F12FF90C8121FA3160FA37FEE07E0007F92C7FC7F
7F6C7E7FEA1FFE380FFFC06C13FCECFFC06C14FCC6ECFF806D14F0011F80010714FED900
7F7F02071480DA007F13C0030713E0030013F0167FEE1FF8160F17FC1607160317FEA200
7E1501B4FCA57F160317FC7F16076D15F86D140F6DEC1FF001FE143F6D6CEBFFE0DAF803
13C091B612801700486C5CD8FC1F5C010714F0010114C02778001FFEC7FC2F4B7AC93C>
I<003FB812F05AB912F8A5903A0001FE0007A8007EEE03F0A2C792C7FCB3B3AD49B512FE
49804981A36D92C7FC6D5C35497DC83C>I<263FFFFC0107B51280486D4914C0B64914E0
A36C496D14C06C496D1480C690C8381FE000B3B3AA6E143FA2017F5EA26E147F013F5E6E
14FFA26D6C4990C7FC6E5B6D6C495A6D6C495A6E131F6D9038C07FF86D90B55A6D5D6E5C
6E5C020F49C8FC020313F89138007FC03B4A80C83C>I<000FB712FE4882481780A41800
01C0C712014C5A16075F4C5A161F5F4C5A6C48147F5FC9485A5D94C7FC4B5AA24B5A150F
5E4B5A153F5E4B5A15FF5E4A90C8FC5C5D4A5AA24A5A4A5AA24A5A147F5D4A5A5B92C9FC
495A13075C495A131F5C495AA2495A01FF153F5C4890C8EA7F805A5B485A120F5B485A12
3F5B485A90B8FCB9FCA46C17007E31497BC83C>90 D<903807FFC0017F13F890B6FC0003
814815E08248819039FC007FFC49EB0FFE15076F7E6C487F6C486D7FC9127F83163FA6ED
3FFF021FB5FC49B6FC130F133F90B7FC0003ECFE3F48EBFE004813C04848C7FCEA3FF85B
EA7FC05B12FF90C8FCA56D147F127F6D14FF6D1303D83FF8010F7F01FF90B612F06C90B7
FC6C17F86C15CF6C150F6CDAFC0313F06C6C9038F0007FD90FFEC9FC35367AB43C>97
D<EA7FFFA2B57EA37EA2EA007FAEED1FF0EDFFFE02836D7E028F14E0029F8002BF8091B6
7E9238E03FFE9238000FFF4A130302F86D13804A7F4AEC7FC0A24AEC3FE0A24AEC1FF0A2
170FA218F8A21707A9170F18F0A3171F6E15E0173F80EF7FC06E14FF6E4913804C13006E
5B02FFEB1FFE9238C07FFC92B55A02BF5C029F5C028F5CD93F0391C7FC6DC613FC90C7EA
3FE0354A7EC83C>I<91380FFFC0027F13FC49B6FC01071580011F15C05B4915E09039FF
F8007F4801C0133F485B4848C7FC49EC1FC04848EC0F80001F92C7FC5B485AA25B127F5B
A312FF90CAFCA97F127FA27FA26C7EEE03F06C6CEC07F87F6C6C140F6D15F06C6C141F6C
01C0EB3FE06C01F0137F6C9039FE01FFC06DB612806D15006D5C01075C6D14F0D9007F13
C0DA0FFCC7FC2D3678B43C>I<92380FFFE0A24B7FA381A2ED000FAEEC3FE0903801FFFC
010713FF011F148F4914EF4914FF90B7FC48EBF01F48EBC00348EB000148487F49147F48
48143F49141F485A160F5B127F5BA312FF90C8FCA97FA2127FA26D141FA26C7E163F6C6C
147FA26C6C14FF6D5B6C6C5B3903FF800FDAE03FEBFFF06C90B7FC6C03EF13F86D148F01
1F140F6DD9FC0713F0010313F09026007FC0C8FC354A7CC83C>I<EC0FFC91387FFF8001
03B512E0010F14F84914FE49804915809038FFF80F48D9E00113C048903980007FE04848
C7123F4848EC1FF049EC0FF8485A1607484815FCA248481403A24915FEA200FF1501A290
B7FCA517FCA290CAFC7FA2127FA27F123F6D15FCA26C6CEC01FE6C7E6D14036C6C14076C
6CEC0FFC02C0131F6C01F0EB7FF86C9039FC03FFF06DB612E06D15C0010F15806D150001
0114FCD9003F13E0020790C7FC2F367AB43C>I<143C14FFA2497FA46D90C8FCA2143C91
C9FCAD003FB5FC5A81A47EC7127FB3B3007FB612FEB8FC1780A317006C5D294A76C93C>
105 D<ED0780ED1FE0A2ED3FF0A4ED1FE0A2ED078092C7FCAD011FB512E05B16F0A47F90
C7120FB3B3B2151F16E0A2153FA2003E15C0007F147F486CEBFF805C4A13009038C00FFE
90B5FC6C5C5D6C5C6C5C00071480C601FCC7FC24667BC93C>I<EA3FFF5AB57EA37E7EEA
003FAF030FB512E04B14F018F8A318F06F14E09239003FF0004C5A4C5A4B5B4B90C7FC4B
5A4B5A4B5A4B5A4B5A4B5A02815B028390C8FCEC87FE148FEC9FFF14BF91B57E82EDBFE0
151F02FE7F4A6C7EECF8074A6C7E02E07F4A6C7E4A7E83707E707E161F83707E1607707E
83003FB539803FFFF8486E4813FCB66CB512FEA36C4A6C13FC6C4A6C13F837497EC83C>
I<007FB57EB6FC81A47EC7123FB3B3B3A5007FB712E0B812F0A56C16E02C4978C83C>I<
91391FC001FC3B7FF07FF007FF9027F1FFF81F7FD8FFFB6D487F90B56C487F93B5FC6C91
B67E02E1EBFE1F000301C0EBFC0F9139807FF807020001F07F4990383FE003A24914C0A4
491480B3AA3D7FFFC0FFFC0FFFC002C15CB500E36D4813E0A36C01C1496C13C002C0803B
3480B33C>I<EC1FF0ECFFFE01036D7E010F14E04980017F14FC90B67E489038F01FFFEC
C00748D90001138048486D13C04848EC7FE049143F4848EC1FF049140F003F16F8491407
A24848EC03FCA448C8EA01FEAA6D1403007F16FCA26D1407A2003F16F86D140F6C6CEC1F
F0A26C6CEC3FE06D147F6C6CECFFC06D5B6CD9C00713806CD9F01F13006C90B55A6D5C6D
5C010F14E001031480010049C7FCEC1FF02F367AB43C>111 D<ED1FF0D87FFFEBFFFE02
036D7EB5008F14E0029F8002BF806C90B67E9238E03FFEC66C9038000FFF4A130302F86D
13804A7F4AEC7FC0A24AEC3FE0A24AEC1FF0A2170FA218F8A21707A9170F18F0A3171F6E
15E0173F80EF7FC06E14FF6E4913804C13006E5B02FFEB1FFE9238C07FFC92B55A02BF5C
029F5C028F5C028391C7FC028013FCED3FE092C9FCB3007FB57EA2B67EA36C5CA2354F7E
B33C>I<91391FF001F8ECFFFE01039038FF83FC010F14C3013F14F34914FB90B7FC48EB
F80F48EBE00148EB800049C7127F4848143F49141F485A160F485A491407127FA2491403
A212FF90C8FCA97F127FA36D1407123F6D140FA26C6C141F6D143F6C7E6C6C147F6DEB01
FF6CEBC0036CEBF81F6C90B512FB6D14F36D14E36D14C301071403010113FC9038003FE0
91C7FCB30303B512FC4B14FE4B14FFA36F14FE6F14FC384F7CB33C>I<EE1FF8267FFFF0
90B5FC03031480B5D8F80F14C0153F4B14E06C91B6FC02F9EBF03F260007FB1380913AFF
FE001FC04BEB0F8003F090C7FC5D5DA25D92C9FCA25CA25CA45CB3A3007FB612F082B7FC
A37E5E33347CB33C>I<903903FFE01E011FEBFC3F90B6FC000315FF5A5A5A4848C67E01
F0130FD87FC07F497F48C77E5A81A37E7F6C6C147E01F091C7FCEA3FFE381FFFF86CEBFF
C06C14FE6C6E7EC615E0013F14F8010714FED9003F7F020014801507030013C0007EED7F
E0B4151FEE0FF0A26D1407A37FA26D140F6D15E06D141F6D147F6DECFFC09026FFC00F13
8091B6FC1700485D013F14F8486C14E0010714802778007FF8C7FC2C3678B43C>I<14F8
1301497EAD003FB712F05AB812F8A36C16F0A2260003FCC8FCB3A6177EA217FFA76E5BEE
03FE6D7E9238800FFC6DEBE03F92B512F86E14F06E14E06E14806E1400020313F8020013
C030437DC13C>I<D87FFF903803FFF8A2B56C487FA36C80A2D8007FEB0003B3AC1607A2
160FA26E131F167F6D6C13FFDAFC07EBFFFC6DB7FC18FE6D14FB6D14F36D02C113FC0100
1401DA1FF8C8FC37347EB23C>I<267FFFF090387FFFF0B56C90B512F86E5AA34A7E6C49
6D13F0D801FEC73803FC0000005EA26D14076D5DA26E130F013F5DA26E131F011F5DA26E
133FA2010F5DA26E137F010792C7FCA26E5B01035CA2ECFC0101015CA2ECFE0301005CA2
ECFF07027F5BA2158F023F5BA215DF021F5BA215FF6E5BA36E90C8FCA26E5A6E5A35347D
B23C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmr10 10 51
/Fc 51 122 df<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007
017E497EA25BA2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C49
7E267FFFE0B512C0A32A3B7FBA2E>12 D<141FEC7FC0903801F0E0903803C06001071370
90380F803090381F00381518A25BA2133E133F15381530A215705D5D140190381F838092
CAFC1487148E02DC49B51280EB0FF85C4A9039003FF8000107ED0FC06E5D71C7FC6E140E
010F150CD91DFC141C01391518D970FE143801E015302601C07F1470D803805D00076D6C
5BD80F00EBC00148011F5C4890380FE003003E6E48C8FC007E903807F8060203130E00FE
6E5A6E6C5A1400ED7F706C4B13036F5A6F7E6C6C6D6C5B7013066C6C496C130E6DD979FE
5B281FF001F07F133C3C07F80FE03FC0F86CB539800FFFF0C69026FE000313C0D91FF0D9
007FC7FC393E7DBB41>38 D<121C127FEAFF80A213C0A3127F121C1200A412011380A212
0313005A1206120E5A5A5A12600A1979B917>I<B512FCA516057F941C>45
D<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>
49 D<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E12300070
6D7E126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A
4A5A92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A48
5A000EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80F
F03903C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5A
A24A5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0
A2153F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A12
1E390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<121C127FEA
FF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>58
D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC18
0FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106
810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D8
0FFC02071380B56C90B512FEA3373C7DBB3E>65 D<B712E016FC16FF0001903980007FC0
6C90C7EA1FE0707E707E707EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500
FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C
13005F16034C5AEE1FF8486DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF8001
80020FEBE003027F13F8903A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD9
3F80EB00FF49C8127F01FE153F12014848151F4848150FA248481507A2485A1703123F5B
007F1601A35B00FF93C7FCAD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C
6C150E6C6C5D00001618017F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF
803FC7FC9039007FFFFC020F13F002011380313D7BBA3C>I<B712C016F816FE00019039
8001FF806C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0
A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE
0FF0EE3FE0486DEBFF80B8C7FC16F816C036397DB83F>I<B812FCA30001903880000F6C
90C71201EE007E173E171E170EA31706A317078316C0A394C7FCA31501A21503150F91B5
FCA3EC000F15031501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F17
3F177F486D903807FF00B9FCA333397DB839>I<B812F8A30001903880001F6C90C71201
EE00FC177C173C171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3
EC001F15071503A21501A692C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020F
EBF001023F13FC9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F49
48143F49C8121F485A4848150F48481507A248481503A2485A1701123F5B007F1600A448
481600AB93B6FCA26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C
6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFF
FC00020F01F0130002001380383D7CBA41>I<B612C0A3C6EBC0006D5AB3B3AD497EB612
C0A31A397EB81E>73 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770
A317F0A216011603160FEE1FE0486D13FFB8FCA32D397DB834>76
D<B5933807FFF86E5DA20001F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9
C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C
1330A36E6C1360A26E6C13C0A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED
1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48497EB500C00203B512F8A2ED018045397DB8
4C>I<B5913807FFFE8080C69238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2
EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81140F6E7E8114036E7E168080ED7FC016E015
3FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA2
16071603A216011600A2177E486C153E487ED80FFC151EB500C0140EA2170637397DB83E
>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F0
49C76C7E01FE6E7E48486E7E49157E0003167F4848ED3F80A24848ED1FC0A2001F17E049
150F003F17F0A3007F17F8491507A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED
1FE0A36C6CED3FC0000717806D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A
6D6C495AD907E0EB1F80D903F8017FC7FC903900FE01FC91381FFFE0020390C8FC363D7B
BA41>I<B712C016F816FE000190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC
17FE1601A217FFA717FEA2EE03FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B512FC16
F091C9FCB3A5487FB6FCA330397DB839>I<EC03FF021F13E09138FE01FC903901F8007E
D907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7EA24848157F000717
8049153F000F17C049151F001F17E0A24848ED0FF0A3007F17F8A2491507A200FF17FCAC
007F17F8A26D150FA2003F17F0A26C6CED1FE0A36C6CED3FC00007027C14804AB4FC3C03
F80383807F003B01FC0701C0FEEC0E002600FE0CEBE1FC017FEC63F8D93F8CEB77F0D91F
CCEB3FE0D907EE14806DB449C7FC0100D981FC130CEC1FFF0203131C91C7001E131C161F
183CEF807CEFC0F8EE0FFFA318F08218E07013C07013809338007E00364B7BBA41>I<B6
12FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E707EA2707EA283A65FA2
4C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000FF0ED03F8ED00FE82707E
707EA2161F83A583A6F00180A217F8160F1803486D01071400B66D6C5A04011306933800
FE0ECAEA3FFCEF07F0393B7DB83D>I<D90FF813C090383FFE0190B512813903F807E339
07E000F74848137F4848133F48C7121F003E140F007E1407A2007C140312FC1501A36C14
00A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F86C14FEC680013F148001
0714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C01403A21501A37EA216F0
7E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF801
0F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB001F273E0001FE130348
EE01F00078160000701770A300601730A400E01738481718A4C71600B3B0913807FF8001
1FB612E0A335397DB83C>I<B6903807FFFEA3000101809038007FE06C90C8EA1F80EF0F
001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB
07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80373B7DB83E>I<B500FC
91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A6E1403017F93C7FCA280
013F1506A26E140E011F150C80010F5DA28001075DA26E147001031560A26D6C5CA2806D
4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF01C020F1318A26E6C5AA2
15FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151CA3393B7EB83E>I<003F
B7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A12704B
5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC5B495A
A2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700485A49
5C001F5D48485C5E4848495A49130FB8FCA329397BB833>90 D<EB1FE0EBFFFC3803E03F
3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0
EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C9039
80063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B3
B3AD487EB512C0A3123A7EB917>108 D<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF0
3F01E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB
0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F0
0FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3
A3486C497EB500C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800
F84848137C48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE
15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C13
7EC66C13F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7F
F89038F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC
150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F780
3F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>I<3807E01F
00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC00804913
00A45BB3A2487EB512F0A31C257EA421>114 D<EBFF03000313E7380F80FF381E003F48
7F487F00707F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01
071380EB007F141F00C0EB0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C0
7C38E1FFF038C03F801A277DA521>I<1318A51338A31378A313F8120112031207001FB5
FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A34
7FB220>I<D803F0EB07E000FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D
133F0000EC77F86D9038E7FF8090383F03C790381FFF87903A03FC07E00029267EA42E>
I<B538803FFEA33A0FF8000FF06C48EB07E00003EC03C06D148000011500A26C6C1306A2
6D130E017E130CA26D5BA2EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D9
01FBC7FCA214FF6D5AA2147CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF80090
38000FF86C48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156F
A2017E9038EFC00C15C7A2D93F016D5A15830281EBF038D91F831430150102C3EBF87090
260FC6001360A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA201
00141E4A130E0260130C37257EA33C>I<B538807FFFA33A03FE003FF00001EC1F800000
92C7FC017E131C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA214
7F804A7E8114CF903801C7E090380383F090380703F8EB0601496C7E011C137E49137F01
787F496D7E486C80000FEC3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0F
F8000FF06C48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5A
A2ECC070010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A2
1430A214701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0F
C027357EA32C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmsy10 10 1
/Fd 1 16 df<EB0FE0EB7FFC497E0003EBFF804814C04814E04814F04814F8A24814FCA3
B612FEA86C14FCA36C14F8A26C14F06C14E06C14C06C1480C6EBFE006D5AEB0FE01F207B
A42A>15 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmbx14 14.4 35
/Fe 35 121 df<913803FF80023F13F849B6FC010715C04901017F903A3FFC007FF8D97F
F0EB1FFC49486D7E48496D7E4A7F4817804890C76C13C0A248486E13E0A2001F17F0A300
3F17F8A249157FA2007F17FCA600FF17FEB3A5007F17FCA6003F17F86D15FFA3001F17F0
A3000F17E06D5C6C17C0A26C6D4913806C17006E5B6C6D495A6D6C495AD93FFCEB7FF890
3A0FFF01FFE06D90B55A010192C7FCD9003F13F802031380374F7BCD42>48
D<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7FCB3B3B3A600
7FB712FCA52E4E76CD42>I<EC1FFE49B512F0010F14FC013FECFF804915E02701FF803F
7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013C0D87FE016E001
F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218E05E18C05E1880
4C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B5A4A90C8FCEC03
FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80140349C8FC013E
1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<913807FFC0027F
13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE48488148486E13
8013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD80038168090C8FC4C1300
A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEEFF80DA000313E0
9238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218FEA3EA03C0EA0F
F0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE04A13C06C485CD8
0FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E0010F92C7FC010114
FCD9001F1380374F7BCD42>I<17FC1601A216031607160FA2161F163F167FA216FF5D5D
A25D5D5D167F153E157E15FC15F8EC01F01403EC07E015C0EC0F80141FEC3F00143E5C14
FC495A5C495A1307495A5C49C7FC5B137E137C5B1201485A5B485A120F485A90C8FC123E
127E5ABA1280A5C901FCC7FCAF021FB71280A5394F7CCE42>I<486C150601F0153E01FE
EC01FED9FFF0133F91B65A5F5F5F5F5F94C7FC16FC5E16E093C8FC15FC01F0138091CAFC
AC913807FF80023F13F891B512FE01F36E7E9026FFFC0113E09139E0007FF891C76C7E49
6E7E01F86E7E5B7013804916C0C9FC18E08218F0A418F8A31203EA0FE0EA3FF8487EA212
FF7FA218F0A25B5E6C4816E05B01C016C06CC85A18806C6C4A13007FD80FF04A5A6C6CEC
FFFCD803FE4913F02701FFE00F5B6C6CB612806D92C7FC010F14F8010114C09026003FFC
C8FC354F7ACD42>I<ED07FE92B512C0020314F0021F14FC91397FFC01FE9139FFE0007F
01030180EB3F804990C7121F4948EC7FC0494814FF4948010313E0495A49485B5A485BA2
485BA2486F13C091C7FC4803001300177E94C7FC5AA25B127FA2ED3FF04AB5FC020714C0
00FF4914F091391F807FF891393E001FFE02786D7E4A6D13807013C06D5A4A6D13E018F0
5C7013F8A291C813FCA44916FEA3127FA6123FA37F6C17FCA36C17F85E7E6E15F06C17E0
6C6D5B6E15C06C4B13806D6C491300D93FFC495A6DB4EBFFFC010790B512F06D5D010015
80021F01FCC7FC020313C0374F7BCD42>I<121F7F7FEBFF8091B8FCA45A18FE18FC18F8
18F0A218E018C018804817000180C8123E007EC9127E5F007C4B5A4C5A5F16074C5A484B
5A4CC7FC167E167CC912FC4B5A4B5AA24B5A150F4B5AA24B5AA24BC8FC5DA25C5D1403A2
14075D140FA3141FA2143FA34A5AA414FFA65BAB6D5B6E5A6E5A6E5A385279D042>I<91
3803FFC0023F13FC49B67E010715E090260FFC0013F8D93FE0EB1FFCD97F80EB07FE49C7
6C7E496E1380484880000317C049157F120718E0173F120FA27FA27F7F6E147F02E015C0
8002FC14FF6C01FF15806F481300EDE0036C9138F807FE6F485A6C9138FF1FF06CEDFFE0
17806D4AC7FC7F010F6E7E6D81010115F06D81010315FE010F81D93FF71580D97FC115C0
2701FF807F14E048EB001F48486D14F04848010314F848481300496E13FC003F151F4914
07007F6F13FE491400177F00FF163F49151F170F1707A21703A218FCA27F127F6DED07F8
A26C6CED0FF07F6C6CED1FE06C6CED3FC06C6CEDFF806C01C0010313006C01FCEB3FFE6C
6CB612F8011F15E001071580010002FCC7FC020F13C0374F7BCD42>I<913807FF80027F
13F849B512FE01076E7E90261FFE0113E0903A7FF8003FF049486D7E48496D7E48496D7E
484980486F138091C7FC486F13C05A18E0485A18F0A27013F812FFA318FCA618FEA35E12
7FA4003F5DA26C7E5E7E6C6D5B161E6C7F6C6D5B6C6C6C13F890393FFC03F06DB55A0107
4A13FC01001400EC1FF891C8FCA218F85EA301FC16F0487E2607FF8015E05E486D15C0A2
4C1380A24C13005F4A131F6C4B5A49C7485A494A5A6C48495B6D01075B2701FF803F90C7
FC6C90B512FC013F5C6D14C0010791C8FC9038007FF0374F7BCD42>I<B912FEF0FFF019
FEF1FFC086D8000F01C0C7000F13F806017F727F737E737F737F8587737FA3737FA94F5B
A2636163614F5B4F90C7FC4F5A4E5B060713F0061F13C092B8C8FC19F885F1FFC003C0C7
000F13F0060013FCF13FFF737F7313E0737F85737F87737FA28786A21C80A91C00A297B5
FC6361A24F5B4F5B614F5B4F5B96B55A060791C7FCBB5A1AF81AE097C8FC19E051527BD1
5E>66 D<B912FEF0FFF019FEF1FFC01AF0D8000F01E0C7003F13FC06037F9539007FFF80
071F7F07077F737F737F737F747E747E867413801CC0861CE0861CF0A27413F8A31CFC86
A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0A25013E0A25013C0A250138050130063
505A1AFF07035B4F13E0071F5B077F5B0603B5C7FC063F13FCBB12F01AC04FC8FC19F04E
C9FC58527BD165>68 D<BB12FEA5D8000F01E0C700077FF0007F191F190785858586A2F2
3F80A21A1FA31A0FA4DD03E014C01A07A497C7FCA21707A3170F171F173FEE01FF92B6FC
A5EDE001EE003F171F170F1707A317031BF8A3F201F0A394C8FCA21A03A21BE0A21A07A3
1A0F1BC01A1F1A3FA21A7F1AFF4F13801907191F197F060FB5FCBCFCA21B00A34D527BD1
57>I<932603FFF01407047F01FF5C0307B600E05B033F03F85B92B700FE5B02039126C0
03FF5B020F01F8C7EA3FC1023F01C0EC0FE391B5C80003B5FC4901FC814949814901E082
011F498249498292CA7E4948834948835A4A83485B4885A2484984A2485B87A2485B87A2
5AA298C8FC91CFFCA2B5FCAE7E067FB7128080A37E95C76C90C7FC807EA36C7FA26C7FA2
6C7F7E806C7F137F6D7E816D6D93B5FC01077F6D01F85D6D7F6D01FF5D023F01E0EC0FEF
020F01FCEC3FE70203903AFFE001FF81020091B6C6FC033F03FC133F030703F0130FDB00
7F02801303040301F8CAFC595479D268>71 D<B81280A5D8000701F0C7FCB3B3B3B2B812
80A529527DD130>73 D<93381FFF800303B512FC033FECFFC092B712F00207D9F80113FE
021F903A80001FFF804A48C700077FDAFFF8020113F049496E7F4901C0ED3FFC49496F7E
4990C96C7E4948707F013F854948707F4948707F48864A8248864A177F48864849717EA3
481B804A83481BC0A44890CB6C13E0A5B51AF0AF6C1BE06E5FA46C1BC0A26E5F6C1B80A3
6C6D4D1300A26C6D4D5AA26C626C6D4C5B6E5E6C626D6C4C5B6E5E6D6D4B5B6D6D4B5B6D
6D4B90C7FC6D6D4B5A01016D4A13F86D01FE02075B91263FFFC0013F13C06ED9F801B55A
020790B648C8FC020116F8DA003F15C003074AC9FCDB001F1380545479D263>79
D<B912FCF0FFE019FE737E1AE0D8000F01E0C7003F7F060313FC06007F737E7313807313
C07313E0851BF0A21BF885A21BFCA91BF8A3611BF0A21BE04F13C0614F13804F13004F5A
060713F8063F5B92B812C097C7FC19F8198003E0CBFCB3AEB712FEA54E527CD15A>I<EC
3FFE0107B512E0011F14FC017F14FF2701FFC00F13C02703FE00037F486C01007F6E6D7E
486D80707EA2707EA3707F6C5B6C90C7FC6C5AC9FCA60303B5FC0203B6FC147F0103B7FC
010FEBF00F017F1300EBFFFC000313F04813C0485B4890C7FC5A5B485AF081F012FF5BA3
5EA26D5C127F6D5C003F03F713C36DD901E314E06CD9C00714FF00079026F01F8114C06C
90B5C61480C602FC6D1300011F01F0EB3FFC01010180EB07F03C387CB642>97
D<EB3FF8B5FCA51203C6FCB3A4EE7FF00307B5FC031F14C0037F14F0913AF9FF007FFCDA
FFF8EB1FFF03E001077F03806D7F92C76C7F4A6E7F5C4A6F7E85183F85A38584A31A80AD
1A00A36061A261187F616E15FF616E4A5B6E4A5B6F495BDACFE04990C7FCDA83F0EB3FFE
913A01FE01FFF8496CB65A49013F14C049010749C8FC90C813E041547DD249>I<913801
FFF0021F13FF91B612C0010315F0010F9038801FFC903A1FFC0003FED97FF8497E49485B
4849491380485B485BA24890C7FC5AA248486E1300705A705A007F92C8FC5BA312FFAD12
7F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C6D15006C6D5C6C6D147E6D6C5C6D
B4EB03F8010F9038E01FF0010390B512C0010092C7FC023F13FC020113C032387CB63B>
I<943803FF80040FB5FCA5EE003F170FB3A4913803FF80023F13F849B512FE0107ECFF8F
011F9038C03FEF90273FFE0007B5FCD97FF8130149487F484980484980484980488291C8
FC5A5B123FA2127F5BA312FFAD127FA37F123FA3121F7F6C5E6C6D5C5F6C6D91B5FC6C6D
5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F010790B5120F010114FC6D6C13E002
07010049C7FC41547CD249>I<913807FF80027F13F849B512FE01076E7E011F010313E0
903A3FFC007FF0D97FF06D7E49486D7E4849130F48496D7E48824890C7FC701380485AA2
003F6F13C0A3485A18E082A212FFA290B8FCA401FCCAFCA6127FA37F123FA2EF03E06C7E
17076C17C06C6D140F18806C6D141F6C6DEC3F006C6D147ED97FFC495AD91FFFEB07F86D
9038E03FF0010390B512C001005D023F01FCC7FC020113E033387CB63C>I<ED1FF89138
03FFFE020FEBFF80023F14C09139FFF83FE001039038E0FFF049138049010113F85BEB3F
FEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAEB712C0A5C601F8C8FCB3B3A7B612FE
A52D547CD328>I<DA1FFE14FE49B539E007FF80010FDAFC1F13C0013FDAFF7F13E09026
7FF807EBFF072701FFE001EBF07F48497E484990387FF83F91C7003F14C048EEFC1F4893
38FE070049021F90C7FCA2003F82A9001F5EA26D143F6C5E6C5E6E137F6C6D495A6C6D48
5B6CD9F80713804890B6C8FCD803EF14FC01C114E02707C01FFEC9FC49CBFCA2487EA37F
A27F13FC90B612FE6CEDFFF017FCEFFF806C8318F06C836C837F48B87E1207D80FFCC700
037F4848EC003F4848150F48486F138083485A83A56D5D007F18006D5D003F5F6C6C4B5A
01FE153FD807FFED7FF06C01C049485AC601FC011F1380013FB648C7FC010F15F8010115
C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC0487F487FA2487FA66C5BA26C5B6C5B01
3FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>105
D<153FEDFFC04A13E04A13F0A24A13F8A66E13F0A26E13E06E13C0ED3F0092C7FCAEED3F
F849B5FCA5EB00031400B3B3B1EA0780EA1FE0487E487E486C14F05CA216E0A24A13C0D8
7FF814804A13006C48485A001FEB3FFC6CB512F06C5C000191C7FC38003FF8256C87D328
>I<EB3FF8B5FCA51203C6FCB3B3B3B1B612F8A51D537CD224>108
D<D93FF0D91FF84AB47EB591B56C010F13F8030302E0013F13FE030F6E90B6FCDB3F8090
27F803F80F7F922A7E007FFC07E0077F000302F890283FFE0F80037FC6D9F1F0011F4948
7EDAF3E0DAFF3E814B153CDAF7805D92C76C496D7F14FF4A5EA24A5EA34A5EB3ADB6D8F8
0FB66CB612F8A565367BB56E>I<D93FF0EB1FFCB591B57E030314E0030F14F892391FC0
7FFC92397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25C
A45CB3ACB6D8F807B612C0A542367CB549>I<913801FFC0023F13FE91B67E010315E001
0F018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883
488349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153F
A2001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE
6DB46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<D93FF8EB
7FF0B50107B5FC031F14C0037F14F09126F9FF0013FCDAFFF8EB3FFF000302E0010F7FC6
02806D7F92C76C7F4A824A804A6E7F85187F85A2183F85A4721380AD4E1300A44E5AA261
18FF616E5C616E4A5B6E4A5B6F495B03E04990C7FCDAFBF0EB7FFE913AF9FE01FFF802F8
B65A033F14C0030749C8FC030013E093CAFCB1B612F8A5414D7DB549>I<90393FF001FC
B590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015C0
ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<B600F090B512FEA5C66C48C7D80FFCC7FC6D6CEC
07F06D6D495A6D6D495A6F5C6D4BC8FC6D6D137E6D6D13FE6D6D485A6F485A027F495ADA
3FFF5B6EEB8FC0EEDF806E13FF6E91C9FC6E5B6E5BA2806F7E6F7E6F7F4B7FA24B7F92B5
7E4A80EC03F9DA07F07F4B6C7E4A486C7EDA1F8080023F7F4A486C7F02FE6D7F49486D7F
4A8149487F49486D7F010F6F7E49486E7ED97FE082B500FE0103B61280A541357EB446>
120 D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop -120 90 a Fe(1)132 b(General)44 b(Information)5
272 y Fd(\017)d Fc(General)26 b(Information)h(on)h(the)g(P)n(erl-based)
d(Electronics)h(In)n(terface)5 438 y Fd(\017)41 b Fc(A)27
b(Design)h(for)f(a)g(Net)h(Based)f(Ob)5 b(ject-Orien)n(ted)26
b(Slo)n(w)h(Con)n(trol)g(System)g(for)h(CDMS)5 604 y
Fd(\017)41 b Fc(The)27 b(CDMS)h(Net)h(Proto)r(col)c(&)j(GPIB)f(Proto)r
(col)f(User's)g(Guide)-120 879 y Fe(2)132 b Fb(rack.pl)5
1061 y Fd(\017)41 b Fa(rack.pl)24 b Fc(Source)j(Co)r(de)5
1227 y Fd(\017)41 b Fc(Con\014guration)26 b(File)h(Example)-120
1501 y Fe(3)132 b Fb(object.pm)5 1683 y Fd(\017)41 b
Fa(object.pm)24 b Fc(Source)i(Co)r(de)-120 1958 y Fe(4)132
b Fb(Savescript.pm)5 2139 y Fd(\017)41 b Fa(Savescript.pm)22
b Fc(Source)27 b(Co)r(de)-120 2414 y Fe(5)132 b Fb(ElecModule.pm)5
2596 y Fd(\017)41 b Fa(ElecModule.pm)22 b Fc(Source)27
b(Co)r(de)-120 2870 y Fe(6)132 b Fb(BLIPcard.pm)5 3052
y Fd(\017)41 b Fc(The)27 b(BLIP)g(card)g(Driv)n(er)5
3218 y Fd(\017)41 b Fa(BLIPcard.pm)23 b Fc(Source)j(Co)r(de)-120
3493 y Fe(7)132 b Fb(FLIP3UDriver.p)q(m)5 3675 y Fd(\017)41
b Fc(The)27 b(FLIP3U)g(Driv)n(er)g(Soft)n(w)n(are)5 3841
y Fd(\017)41 b Fc(DRIVER)28 b(Mo)r(dule)f(V2:)37 b(User's)27
b(Man)n(ual)5 4007 y Fd(\017)41 b Fa(FLIP3UDriver.pm)21
b Fc(Source)27 b(Co)r(de)-120 4281 y Fe(8)132 b Fb(FLIP3UQBias.pm)5
4463 y Fd(\017)41 b Fc(The)27 b(FLIP3U)g(QBias)g(card)f(Driv)n(er)5
4629 y Fd(\017)41 b Fc(QBias)26 b(Mo)r(dule:)37 b(User's)27
b(Man)n(ual)5 4795 y Fd(\017)41 b Fa(FLIP3UQBias.pm)21
b Fc(Source)27 b(Co)r(de)1809 5356 y(1)p eop
%%Page: 2 2
2 1 bop -120 90 a Fe(9)132 b Fb(FLIP3UQet.pm)5 272 y
Fd(\017)41 b Fc(The)27 b(FLIP3U)g(QET)g(card)g(Driv)n(er)5
438 y Fd(\017)41 b Fc(QET)26 b(Mo)r(dule:)37 b(User's)27
b(Man)n(ual)5 604 y Fd(\017)41 b Fa(FLIP3UQet.pm)22 b
Fc(Source)27 b(Co)r(de)-120 879 y Fe(10)132 b Fb(FLIP3USquid.pm)5
1061 y Fd(\017)41 b Fc(The)27 b(FLIP3U)g(SQUID)h(card)f(Driv)n(er)5
1227 y Fd(\017)41 b Fc(SQUID)28 b(Mo)r(dule:)37 b(User's)27
b(Man)n(ual)5 1393 y Fd(\017)41 b Fa(FLIP3USquid.pm)21
b Fc(Source)27 b(Co)r(de)-120 1667 y Fe(11)132 b Fb(RTFcard.pm)5
1849 y Fd(\017)41 b Fc(The)27 b(R)-7 b(TF)28 b(card)f(Driv)n(er)5
2015 y Fd(\017)41 b Fa(RTFcard.pm)23 b Fc(Source)k(Co)r(de)-120
2290 y Fe(12)132 b Fb(ZIPcard.pm)5 2471 y Fd(\017)41
b Fc(The)27 b(ZIP)g(card)g(Driv)n(er)5 2637 y Fd(\017)41
b Fa(ZIPcard.pm)23 b Fc(Source)k(Co)r(de)5 2804 y Fd(\017)41
b Fa(ZIPdriver.pm)22 b Fc(Source)27 b(Co)r(de)5 2970
y Fd(\017)41 b Fa(ZIPqbias.pm)23 b Fc(Source)j(Co)r(de)5
3136 y Fd(\017)41 b Fa(ZIPqet.pm)24 b Fc(Source)i(Co)r(de)5
3302 y Fd(\017)41 b Fa(ZIPsquid.pm)23 b Fc(Source)j(Co)r(de)-120
3576 y Fe(13)132 b(Digital)46 b(Ob)7 b(jects)5 3758 y
Fd(\017)41 b Fa(Digital.pm)23 b Fc(Source)k(Co)r(de)5
3924 y Fd(\017)41 b Fa(Control.pm)23 b Fc(Source)k(Co)r(de)5
4090 y Fd(\017)41 b Fa(DAC.pm)25 b Fc(Source)h(Co)r(de)-120
4365 y Fe(14)132 b(GPIB)44 b(Ob)7 b(jects)5 4547 y Fd(\017)41
b Fa(GPIBbox.pm)23 b Fc(Source)k(Co)r(de)5 4713 y Fd(\017)41
b Fa(GPIBconnection.)o(pm)21 b Fc(Source)27 b(Co)r(dee)5
4879 y Fd(\017)41 b Fa(GPIBinstr.pm)22 b Fc(Source)27
b(Co)r(de)1809 5356 y(2)p eop
%%Page: 3 3
3 2 bop -120 90 a Fe(15)132 b Fb(readscript.pl)5 272
y Fd(\017)41 b Fa(readscript.pl)22 b Fc(Source)27 b(Co)r(de)5
438 y Fd(\017)41 b Fc(An)28 b(Example)e(Script)-120 713
y Fe(16)132 b(P)l(ersistence)45 b(Example)5 894 y Fd(\017)c
Fc(An)28 b(Example)e(P)n(ersistence)g(File)-120 1169
y Fe(17)132 b(Old)45 b(In)l(terface)g(Programs)5 1351
y Fd(\017)c Fa(blip.pl)24 b Fc(Source)j(Co)r(de)5 1517
y Fd(\017)41 b Fa(f3udriver.pl)22 b Fc(Source)27 b(Co)r(de)5
1683 y Fd(\017)41 b Fa(f3uqbias.pl)23 b Fc(Source)j(Co)r(de)5
1849 y Fd(\017)41 b Fa(rtf.pl)25 b Fc(Source)h(Co)r(de)5
2015 y Fd(\017)41 b Fa(zip.pl)25 b Fc(Source)h(Co)r(de)1809
5356 y(3)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of Contents.ps
echo FLIP3UDriver.ps 1>&2 
cat >FLIP3UDriver.ps << 'End of FLIP3UDriver.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: FLIP3UDriver.dvi
%%Pages: 3
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips FLIP3UDriver.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1103
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (FLIP3UDriver.dvi)
@start
%DVIPSBitmapFont: Fa cmbx12 12 23
/Fa 23 119 df<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F
0F788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713
FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16
C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC
15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0
EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80F
FEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<EE1F80A24C
7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80
157C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C7
7EA24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A
153FA249488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949
C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F484916
1F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2
123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C
167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7
FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>67
D<B9FC18F018FE727E19E026003FFEC7001F13F805017F9438003FFF060F7F727F727F72
7F84737E737EA2737EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F
624F5A19FF624E5B06075B4E5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9
FC4B447CC356>I<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B5
39E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F
4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C8FC12FF
AD057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E6C7F6C7F6D7E6D
6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90B6120F0207EDFC
030201EDF000DA001F02C01330030001FCC9FC4C467AC458>71 D<B712E0A5D8001F90C7
FCB3B3B3A4B712E0A523447DC32A>73 D<B812F8EFFFC018F818FE727ED8001F90C7003F
13E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E5A61187F943801FF
F005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2717FA271
7FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF8060114F072
6C13E0CC0007138050457DC354>82 D<903801FFE0011F13FE017F6D7E48B612E03A03FE
007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC
91B6FC1307013F13F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA3
5DA26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB
8007D90FFCC9FC322F7DAD36>97 D<EC3FF80103B57E010F14E0013F8090397FF83FF890
39FFC007FC48496C7E48496C7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B17
F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C1403
6C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE011FB55A010714F0010114C09026
001FFEC7FC2C2F7DAD33>101 D<EDFF80020F13E0027F13F049B512F849EB8FFC90390F
FE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C6
01E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0137E010F9039FE03FF80013FEBFF
8F90B812C048D9C07F133F489038001FF84848EB0FFC4848903907FE1F80001F9238FF0F
00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF0
4890B55A1680D8078F49C8FC018013E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017
E06C826C16FC7E000382000F82D81FF0C77ED83FC014074848020113808248C9FC177FA4
6D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C0
6C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<137C48B4FC4813804813C0A24813
E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA51846
7CC520>105 D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>108
D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002816E4880913D
87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C13
0F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>
I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F801F00039039
9F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1F
FC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000
078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA007F1700A46C6C4A
5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB5
5A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90387F807FB53881FFE0028313
F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E0
92C7FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F
381FF003383FC00049133F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387F
FFF014FF6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F020313E0140000
F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A
00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131F
A2133F137F13FF1203000F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C013
7F150790393FF80F8090391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I<
B6903803FFFCA5000101E09038003E006C163C80017F5D8017F8013F5D6E1301011F5D6E
1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E6D143CEDF07C027F1378
EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5AA26E5AA21578362C7EAB
3B>118 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti10 10 27
/Fb 27 119 df<387FFFF8A2B5FCA214F0150579941E>45 D<DB03FE130E92393FFF801E
92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC
49481407494815F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A
94C7FCA2485AA3127F5BA312FF90CBFCA41738A217784816707E17F06C5E16015F16036C
6C4A5A94C7FC001F150E6D141E000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F
807EC8FC6DB45A010F13E0010090C9FC373D74BA3B>67 D<0103B612FEEFFFC018F0903B
0007F8000FF84BEB03FCEF00FE020F157FF03F804B141F19C0021F150F19E05D1807143F
19F05DA2147FA292C8FCA25C180F5CA2130119E04A151FA2130319C04A153FA201071780
187F4A1600A2010F16FEA24A4A5A60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17
FC017FEC03F84C5A91C7EA1FC04949B45A007F90B548C8FCB712F016803C397CB83F>I<
0107B8FCA3903A000FF000034BEB007F183E141F181E5DA2143FA25D181C147FA2923800
0380A24A130718004A91C7FC5E13015E4A133E167E49B512FEA25EECF8000107147C163C
4A1338A2010F147818E04A13701701011F16C016004A14031880013F150718004A5CA201
7F151E173E91C8123C177C4915FC4C5A4914070001ED7FF0B8FCA25F38397BB838>I<DB
03FE130E92393FFF801E92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7
EA1FF802FE140FEB03FC49481407494815F049481403495A5C49C813E05B485A5B000317
C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF90CBFC0307B512E0A392390007
FC00705A16075FA36C150F5FA36C6C141FA2001F5E6D143F6C7E167F6C6C4A5A6C6CEB03
EFD801FEEB07C73A007FC03F0790273FFFFC03C7FC010F01F0C8FC01001380373D74BA40
>71 D<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA2143FA25DA2147FA292
C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25C
A2137FA291C8FC497EB6FCA25C25397CB820>73 D<902607FFF8923807FFF0614F13E0D9
000FEFF0004F5AA2021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED07
1FA20278ED0E3F97C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02
C0EC0380A20103ED0701610280140EA20107ED1C0305385B14006F137049160705E05B01
0EEC01C0A2011E913803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F
04F091C8FC01705CA201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E
4C397AB84A>77 D<902603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA
0E7F5DA2021E6D1307033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E030714
1C147082DAF003143C70133814E0150101016E1378030014705C8201036E13F0604A1480
163F010715C1041F5B91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2
013C805F1338160013785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<01
07B612F817FF1880903B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25D
A2147FEF03FC92C7FCA24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A
5AEE0FF091B612C04CC7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137F
A291CAFCA25BA25B1201B512FCA337397BB838>80 D<92383FC00E913901FFF01C020713
FC91391FC07E3C91393F001F7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2
011F15E091C7FCA34915C0A36E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0
010080023F7F14079138007FFC150F15031501A21500A2167C120EA3001E15FC5EA3003E
4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E0
1F138026C003FCC8FC2F3D7ABA2F>83 D<0007B812E0A25AD9F800EB001F01C049EB07C0
485AD900011403121E001C5C003C17801403123800785C00701607140700F01700485CA2
140FC792C7FC5DA2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303
A25CA21307A25CA2130FA25CEB3FF0007FB512F8B6FCA2333971B83B>I<14F8EB07FE90
381F871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403
007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300
ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97
D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F
80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214
0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07
C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00
70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F
90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00
380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2
150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF017C5BEB
F80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A485CA2
140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038038F8E
391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1E09038
3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81
FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0
6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0ED3E38
ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D010FB512
C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA413075CA4130F
5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F80264C
82BA19>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07
F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F
000715005BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0
A216704814E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB9
2A>104 D<EB01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E
1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E0
13C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>
I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA212
03A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131E
EAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79B915>108
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>I<D8
01E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E00078
13C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12
034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E001FEC
3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F00F8
017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A
4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E
6C13F8380F83F03803FFC0C648C7FC202677A42A>I<3903C003F0390FF01FFC391E783C
0F381C7C703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0
FE5BA2120012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A4
23>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F0000113
0313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C0130014
3F141F140F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD8
01FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5
FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F13
38EB0078147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>
I<01F0130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25B
D8F07E140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35D
A24A5A140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>118
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10 40
/Fc 40 122 df<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFF
E0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D
14015D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C1307
5C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B12
3F90C9FC5A127E12FE5AA25A127821417BB92C>I<EB03F8EB0FFE90383FFF80497F90B5
7E3901FE0FF03903F803F848486C7EEBE0004848137EA248487FA248C7EA1F80A2003E14
0F007E15C0A3007C140700FC15E0AC6C140F007E15C0A46CEC1F80A36C6CEB3F00A26C6C
137E6D13FE00075CEBF0016C6C485A3901FE0FF06CB55A6D5B6D5BD90FFEC7FCEB03F823
357CB32C>I<1307497EA2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200
B3AE007FB512E0B612F0A36C14E01C3477B32C>I<EB0FF890387FFF8048B512E0000780
4814FC391FF80FFE393FE001FF903880007F48C7EA3F80007E141F00FE15C0150F6C15E0
1507A3127E123CC8FCA2150F16C0151F1680153F16005D15FE4A5A14034A5A4A5A4A5A4A
5AECFF804948C7FC495A495A495AEB3FE0EB7F8049C8FC485A4848EB03C04848EB07E0EA
1FE0485A48B6FCB7FCA36C15C023347CB32C>I<EB0FFC90387FFF8048B512E0000714F8
4880391FF807FEEBC0004848137F6D7F1680151FA26C5A6CC7FCC8FC153F16005D15FE14
014A5AEC1FF890381FFFF0495BA215F86D7F90380007FEEC00FF81ED3F80ED1FC0150FA2
16E01507A2123C127EB4FC150F16C0A248141F007FEC3F806DEB7F006C6C5B391FF807FE
6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357CB32C>I<121FEA3F80EA7FC0EAFFE0A5
EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470
A32C>58 D<007FB612F0B712F8A4003F15F0CAFCA8003FB612F0B712F8A46C15F025147D
A22C>61 D<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8
A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED
03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016C0B712
806CECFE0015F027337FB22C>66 D<007FB5FCB612C015F0816C803907E003FEEC00FFED
7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FCACED01F8A3150316F0A215
0716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB2
2C>68 D<007FB612F8B712FCA37ED803F0C7FCA716781600A515F04A7EA490B5FCA5EBF0
01A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>70 D<903901FC038090390FFF87
C04913EF017F13FF90B6FC4813073803FC01497E4848137F4848133F49131F121F5B003F
140F90C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13FCA27E007E6D13F89138
000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D
13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<007FB512F8B612FCA36C14F83900
0FC000B3B3A5007FB512F8B612FCA36C14F81E3379B22C>73 D<387FFFE0B57EA36C5BD8
03F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB22C>76
D<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07F0A2150316F81501
A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0387FFF80
B57EA36C5B25337EB22C>80 D<3B7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001
F800B3AF6D130300015DA26D130700005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D
5B010313F86D5B9038003F802B3480B22C>85 D<3801FFF0000713FE001F6D7E15E04880
9038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB
807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C
14BF0001EBFE1F3A003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1FE0EC
FFF801FB13FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01FC4913
00A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091
B51280160001FB5B01F813F83900F03FC027337FB22C>I<903803FFE0011F13F8017F13
FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F
6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E00103
90C7FC21247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A38
07FC0F380FF00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E
5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB2
2C>I<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F80
5B4848EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03
C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F
13F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390F
E03F0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C
5C21337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038
FC0FF82607F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE001
6C6C485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F0
6C14FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E
48153EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E000031580
6C1500D8003F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC
9038F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FC
B500F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8
FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<EA
7FE0487EA3127F1201AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A
5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E49
6C7E811400157E811680151F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>
107 D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<
3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF8
3F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8
D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6C
B6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C
01E0140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001
FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2
007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C001
1F90C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C15800001
9038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14
FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813
F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF002
0713F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FC
AF007FB512E0B67EA36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387F
C00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0
C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE90
38F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FC
B71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB5128016
0001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB
000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE0713002924
7FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A2
6D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA2
14C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF
6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87
A214F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2
013F5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C010313F03A00FC00
7E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D
5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E0001
7C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01
FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E13
7C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C013
0114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87
E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx14 14.4 18
/Fd 18 118 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<B912FEF0FFF019FEF1FFC01AF0D8000F
01E0C7003F13FC06037F9539007FFF80071F7F07077F737F737F737F747E747E86741380
1CC0861CE0861CF0A27413F8A31CFC86A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0
A25013E0A25013C0A250138050130063505A1AFF07035B4F13E0071F5B077F5B0603B5C7
FC063F13FCBB12F01AC04FC8FC19F04EC9FC58527BD165>68 D<B81280A5D8000701F0C7
FCB3B3B3B2B81280A529527DD130>73 D<B912C018FEF0FFE019FC19FFD8000F9026E000
0114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A26163636198C8
FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226E0000F13F805
0113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2841C03730180
13E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B5120007005C081F5BCD00
0113F05C537BD162>82 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC90
3A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E130070
5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C
6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC
023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803
FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149
487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA312
1F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F
010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13
F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48
496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FC
CAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C
6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC02
0113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE0010390
38E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAE
B712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF8001
0FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E48499038
7FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D14
3F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E0
2707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F0
6C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83A5
6D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F
1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC048
7F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612
F0A51C547CD324>105 D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92
397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3
ACB6D8F807B612C0A542367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F
018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F488348
8349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2
001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6D
B46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<90393FF001
FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015
C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC6
1607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F87
6D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr10 10 69
/Fe 69 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C
00001300A40001130101801380A20003130301001300485B00061306000E130E485B485B
485B006013601A197DB92A>34 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B48
5AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7E
A27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD
20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2
131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C
1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80
A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>
44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<150C15
1E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA21500
5CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7FC5B
A2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8FC5A
A2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB03F8EB1FFF90387E0F
C09038F803E03901E000F0484813780007147C48487FA248C77EA2481580A3007EEC0FC0
A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA26C6C5B6C6C5B6C
6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>I<EB01C013031307131F
13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>I<EB0FF0EB7FFE48B57E
3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E126012FCB4EC7F807FA5
6CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A92C7FC147C5C495A495A
495A495A91C8FC011EEB01805B5B49130348481400485A485A000EC75A000FB6FC5A5A48
5CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF03903C007F848486C7E380E
0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A5A5DEC0F80027EC7FCEB
1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2121EEA7F8048
7EA416C049137F007F1580007EC7FC0070ECFF006C495A121E390F8003F83907F00FF000
01B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2157815F8A2140114031407A2140F
141F141B14331473146314C313011483EB030313071306130C131C131813301370136013
C01201EA038013005A120E120C5A123812305A12E0B712F8A3C73803F800AB4A7E0103B5
12F8A325397EB82A>I<0006140CD80780133C9038F003F890B5FC5D5D158092C7FC14FC
38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E090388003F0496C7E12066E7E
C87EA28181A21680A4123E127F487EA490C71300485C12E000605C12700030495A00385C
6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB1FE0213A7CB72A>I<12
301238123E003FB612E0A316C05A168016000070C712060060140E5D151800E01438485C
5D5DC712014A5A92C7FC5C140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3
495AA3133FA5137FA96DC8FC131E233B7BB82A>55 D<EB03F8EB1FFF017F13C09038FC07
F03901E001F848486C7E4848137C90C77E48141E000E141F001E80A3121FA27F5D01E013
1E6C6C133E01FC133C6D5B6C6C6C5AECC1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081
017F13F801F07F3903E07FFE3907801FFF48486C1380481303003E6D13C0003CEB007F00
7C143F0078EC0FE000F814075A1503A21501A36C15C012781503007C15806CEC07006C5C
6C6C131ED807E0137C3903F803F0C6B55A013F1380D907FCC7FC233A7DB72A>I<EB03F8
EB1FFF017F13C09038FC07E03903F803F048486C7E48486C7E49137E121F48487FA2007F
158090C7FCA248EC1FC0A616E0A56C143FA27F123F001F147FA26C6C13FF6C6C13DF0003
13013901F0039F3900FC0F1FD93FFC13C0EB07F090C7FC153F1680A316005D000F147E48
7E486C5BA24A5A4A5A49485A6C48485A001C495A260F807FC7FC3807FFFC000113F03800
3FC0233A7DB72A>I<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00
121C092479A317>I<121C127FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F12
1D1201A412031300A25A1206A2120E5A121812385A1260093479A317>I<1538A3157CA3
15FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC30
07A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA249
81010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B5
6C90B512FEA3373C7DBB3E>65 D<B712E016FC16FF0001903980007FC06C90C7EA1FE070
7E707E707EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA
7F80EE1FE0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C13005F16034C5A
EE1FF8486DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF800180020FEBE00302
7F13F8903A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8
127F01FE153F12014848151F4848150FA248481507A2485A1703123F5B007F1601A35B00
FF93C7FCAD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00
001618017F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC903900
7FFFFC020F13F002011380313D7BBA3C>I<B712C016F816FE000190398001FF806C90C7
EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FC
AC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486D
EBFF80B8C7FC16F816C036397DB83F>I<B812FCA30001903880000F6C90C71201EE007E
173E171E170EA31706A317078316C0A394C7FCA31501A21503150F91B5FCA3EC000F1503
1501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F173F177F486D9038
07FF00B9FCA333397DB839>I<B812F8A30001903880001F6C90C71201EE00FC177C173C
171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F15071503
A21501A692C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC
9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F
485A4848150F48481507A248481503A2485A1701123F5B007F1600A448481600AB93B6FC
A26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C
14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFFFC00020F01F013
0002001380383D7CBA41>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>
73 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A2160116
03160FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC0026
00DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC
0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901
FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC
6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007F
E06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E
7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED
01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E
487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC9039
01F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E00
03167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300
FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F00
0317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7
FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE0001903980
01FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE
07F817F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839
>I<B612FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E707EA2707EA283
A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000FF0ED03F8ED00FE
82707E707EA2161F83A583A6F00180A217F8160F1803486D01071400B66D6C5A04011306
933800FE0ECAEA3FFCEF07F0393B7DB83D>82 D<D90FF813C090383FFE0190B512813903
F807E33907E000F74848137F4848133F48C7121F003E140F007E1407A2007C140312FC15
01A36C1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F86C14FEC68001
3F1480010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C01403A21501A3
7EA216F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E0
3FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB001F273E0001
FE130348EE01F00078160000701770A300601730A400E01738481718A4C71600B3B09138
07FF80011FB612E0A335397DB83C>I<B6903807FFFEA3000101809038007FE06C90C8EA
1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F06D6C5C6D6C49
5A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80373B7DB83E>
I<B500FC91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A6E1403017F93
C7FCA280013F1506A26E140E011F150C80010F5DA28001075DA26E147001031560A26D6C
5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF01C020F1318A2
6E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151CA3393B7EB83E
>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7EA1FF86C48C7D80FF8EC07E00001
0307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406A280013F4A6C5CA280011F4A6D5B
EE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE181FA26D6C6F5BEE300FA26D6C6F48
5AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F818001FE06A203C1150EDA3FC3C7
EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3FF0A302075E4B141FA202035E4B14
0FA202015E4B1407A2020093C8FC4B80503B7EB855>I<003FB7FCA39039FC0001FE01C0
130349495A003EC7FC003C4A5A5E0038141F00784A5A12704B5A5E006014FF4A90C7FCA2
4A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC5B495AA2495A5C130F4948EB0180
A2495A5C137F495A16034890C7FC5B1203485AEE0700485A495C001F5D48485C5E484849
5A49130FB8FCA329397BB833>90 D<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17
>I<3901800180000313033907000700000E130E485B0018131800381338003013300070
137000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3007F137FA2393F803F
80390E000E001A1974B92A>I<EAFFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB
1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FC
A4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A2
6C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026
277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F8090
39F7000FC001FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA2
16FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FF
F8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907
E001FC380FC003A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C
14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00
EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038
F801EF3903F0007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E12
7FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381F
FE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D8
07E013F8380FC0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127E
A2127FA26C14037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03
E090381FFF80903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F
0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C
3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007
C03A07C003E010000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7
FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A
0F80007FE048C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F
1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<
EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013
FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487E
A56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01
C0EB07F0EB0FF8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00
FF13F01303A214E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FF
A3120F1203B1913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E143814
7814FC13F1EBF3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F8116
80ED1FC0486CEB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD48
7EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E90
3BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495C
A3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB
3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497E
B500C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C
48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E
15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F8
90387E03F090381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E0
7E9039F3801F803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3
167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1
E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE
0190387E07819038FC01C33903F000E3000714774848133749133F001F141F485A150F48
C7FCA312FEAA127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E
078F90381FFE0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB
7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45B
B3A2487EB512F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F0070
7F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB00
7F141F00C0EB0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF0
38C03F801A277DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D8
01F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<
D803F0EB07E000FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC
77F86D9038E7FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803F
FEA33A0FF8000FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E
130CA26D5BA2EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA2
14FF6D5AA2147CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C
48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038
EFC00C15C7A2D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC60013
60A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A13
0E0260130C37257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E
131C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E81
14CF903801C7E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E
486C80000FEC3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C
48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC07001
0F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A21470
1460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA3
2C>I<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F
800060137F150014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A48
5A0007140E5B4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325
>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx10 10 26
/Ff 26 120 df<913903FFC7C0027F13FF0103B6FC010F130090383FF80190387FE003EB
FFC05A14805A4A7EA281A9B8FCA4000390C7FCB3ABB5D8FC3F13FFA4303A7EB935>13
D<EA0F80EA3FE0EA7FF0A2EAFFF8A213FCA3127FA2123FEA0F9CEA001C133C1338A31378
137013F0EA01E0A2EA03C0EA0780EA0F005A121C12180E1D798C1B>44
D<EB03FF011F13F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF001
FC14F0121F7FA56C4814E0A23803F001C714C04A138016004A5A4A5AEC3FF090380FFFC0
92C7FC15F090380007FE913801FF806E13C016E0ED7FF016F816FC153FA216FEEA1FC048
7E487E487EA416FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C0260FFC0713806C
B61200000114FC6C6C13F0010790C7FC27387CB630>51 D<ED03E04B7EA24B7EA34B7EA2
4B7EA34B7EA292B57EA34A8015F302038015E1A202078015C0020F80ED807FA2021F80ED
003F4A80023E131FA2027E80027C7F02FC814A7FA20101824A7F49B77EA3498202C0C7FC
010F824A147FA2011F8291C8123F4982013E151FA2017E82017C8101FE83B500F80107B6
1280A4413A7DB948>65 D<B87E17F817FF18C028007FF8000713F09338007FF8EF1FFE71
7E050313807113C0A27113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FEA419FC
183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0B912C0
95C7FC17FC178040397DB849>68 D<B912C0A43A007FF800039338007FE0171F170F1707
A21703A21701A318F0EE7800A41800A216F8A21501150791B5FCA4ECF80715011500A216
78A693C8FCADB7FCA434397DB83C>70 D<B612FCA439007FF800B3B3ADB612FCA41E397D
B824>73 D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F5F5E5EEE0FFE
167FB8FCA431397DB839>76 D<B8FC17F017FEEFFF8028007FF8000F13C0040113E07013
F0EF7FF8EF3FFCA2EF1FFEA218FFA818FEA2EF3FFCA2EF7FF8EFFFF04C13E0040F13C091
B7120017FC17E002F8C9FCB3A4B612FCA438397DB841>80 D<B712FCEEFFE017FC17FF28
007FF8000F13C004017F707F717E717EA2717EA284A760A24D5A604D5A4D5A04035B041F
90C8FC91B612FC17E0839139F8003FFCEE0FFF707F707F8284A2707FA584A51A601AF084
177F1901DD3FFE13E0B600FC011F130394390FFF87C071EBFF8005011400CBEA1FFC443A
7DB848>82 D<D907FF130E013FEBE01E90B5EAF83E0003ECFE7E3A07FC01FFFE390FF000
1F4848130F48481303491301007F140090C8FC167E5A163EA27F161E7F7F6D91C7FC13FC
387FFFE014FEECFFF06C14FE6F7E6C816C15F06C816C81C681133F010F801301D9000F14
80EC007F030F13C01503818100F0157FA3163FA27E17807E167F6C16007E6D14FE01E049
5A01F813039039FF801FF800FC90B512E0D8F83F5CD8F00749C7FC39E0007FF02A3B7BB9
35>I<003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA2007C1707
A200781703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>I<B600FC01
1FB512C0A426007FF8C8381FC000725AB3B3181F013F94C7FC8060011F163E6D6C157E18
7C6D6C15FC6D6D495A6D6DEB07F06D01F0EB1FE0DA7FFEEBFFC0021FB6C8FC02075C0200
14F0030F1380423A7DB849>I<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D
6C7F6E7FA26F7EA26C5A6C5AEA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380
380FFE00EA3FF85B485A12FF5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFF
FE1F0003EBF80F39003FE0032A257DA42E>97 D<EE7F80ED7FFFA4150381AF903801FF81
010F13F1013F13FD9038FFC07F0003EB001FD807FC1307000F8048487F5B123FA2485AA3
12FFAA127FA27F123FA26C6C5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9
011F13E1010313012F3A7DB935>100 D<903803FF80011F13F0017F13FC3901FF83FE3A
03FE007F804848133F484814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6
FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F000071403D801FFEB0FE06C9038
C07FC06DB51200010F13FC010113E025257DA42C>I<EC1FF0903801FFFC010713FF9039
1FF87F8090383FE0FFD9FFC113C0A2481381A24813016E1380A2ED3E0092C7FCA8B6FCA4
000390C8FCB3ABB512FEA4223A7DB91D>I<161FD907FEEBFFC090387FFFE348B6EAEFE0
2607FE07138F260FF801131F48486C138F003F15CF4990387FC7C0EEC000007F81A6003F
5DA26D13FF001F5D6C6C4890C7FC3907FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2
123E123F7F6C7E90B512F8EDFF8016E06C15F86C816C815A001F81393FC0000F48C81380
48157F5A163FA36C157F6C16006D5C6C6C495AD81FF0EB07FCD807FEEB3FF00001B612C0
6C6C91C7FC010713F02B377DA530>I<13FFB5FCA412077EAFED7FC0913803FFF8020F13
FE91381F03FFDA3C01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A
7DB935>I<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF127FA412077E
B3A9B512F8A4153B7DBA1B>I<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C
011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435
>110 D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48
486D7EA2003F81491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C
495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I<90
38FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80ED
3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>114 D<130FA55BA45BA25B5BA25A
1207001FEBFFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC0
6D1380903803FE001D357EB425>116 D<B539F001FFF8A4000390C7EA3F00161E6E133E
6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE
0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257E
A432>118 D<B500F1B538803FFFA43D07FE000FF80003E06C6C010715C082028015076C
6E6C148015076C01C0ED0F00826E485C017FED801E5D90273FF01E7F5B17C0DAF83E147C
011F90393C3FE078037C14F8903B0FFC781FF0F0A29139FEF00FF10107EDF9E002FF14FB
6D496CB45AA24B7E6D5EA26D496C90C7FCA292C7FC6E5CA2023E147C023C143C40257EA4
45>I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2422 90 a Ff(DRAFT)32 b Fe(August)c(18,)f(1998)1216
372 y Ff(The)32 b(FLIP3U)h(Driv)m(er)f(Soft)m(w)m(are)1344
472 y Fe(Stev)n(e)c(F)-7 b(urlanetto,)27 b(F)-7 b(ermilab)-120
747 y Fd(1)132 b(In)l(tro)t(duction)-120 928 y Fe(This)36
b(do)r(cumen)n(t)g(describ)r(es)f(the)h(basic)g(functionalit)n(y)f(of)h
(the)g(FLIP3U)g(Driv)n(er)e(card,)k(and)d(the)h(soft)n(w)n(are)e(to)r
(ols)i(that)-120 1028 y(p)r(erform)27 b(them.)38 b(This)27
b(can)g(b)r(e)h(found)g(at)-120 1128 y Fc(http://fnphyx-ww)o(w.f)o(na)o
(l.)o(gov)o(/e)o(xpe)o(ri)o(men)o(ts)o(/c)o(dms)o(/s)o(oft)o(wa)o(re)o
(/GP)o(IB)o(/FL)o(IP)o(3UD)o(ri)o(ve)o(r.p)o(s)p Fe(.)-120
1402 y Fd(2)132 b(Design)-120 1584 y Fe(The)34 b(FLIP3U)f(Driv)n(er)f
(soft)n(w)n(are)g(p)r(erforms)h(in)h(conjunction)g(with)g(the)g
Fc(GPIB)42 b(protocol)p Fe(.)51 b(See)34 b(ref)f([1])h(for)f(a)g
(detailed)-120 1684 y(description.)i(The)23 b(basic)g(idea)h(is)f(that)
h(commands)f(are)f(issued)h(from)g(a)g(p)r(erl)h(script)f(and)g(are)g
(sen)n(t)g Fb(via)i Fe(tcp/ip)e(to)h(a)f(serv)n(er)-120
1783 y(whic)n(h)28 b(issues)f(the)h(GPIB)f(commands)g(to)g(p)r(erform)g
(the)h(action)f(on)h(the)g(card.)-120 2058 y Fd(3)132
b(Instructions)-120 2240 y Fe(The)28 b(follo)n(wing)f(sections)h(list)g
(the)g(metho)r(ds)h(that)f(apply)g(to)g(instances)g(of)g(the)g
(FLIP3UDriv)n(er)f(class.)37 b(The)28 b(program)e(is)-120
2339 y(designed)h(to)g(b)r(e)h(used)g(with)g(the)f Fc(rack.pl)e
Fe(in)n(terface)i(program.)35 b(Instructions)27 b(for)g(use)g(of)g
(this)h(in)n(terface)f(can)g(b)r(e)h(found)-120 2439
y(in)g(ref)f([2].)5 2539 y(This)d(soft)n(w)n(are)f(also)g(con)n(tains)h
(a)g(useful)h(p)r(ersistence)f(feature.)36 b(Up)r(on)25
b(executing)f(an)n(y)g(command)g(to)g(the)h(GPIB)f(b)r(o)n(x,)-120
2638 y(it)35 b(will)f(record)f(the)h(card)f(status)h(in)h(a)e(\014le)i
(called)e Fc(/tmp/hostname-FLI)o(P3)o(UDr)o(iv)o(er-)o(su)o(bra)o(ck)o
(-m)o(odu)o(le)o(.ou)o(t)p Fe(,)d(where)-120 2738 y Fc(subrack)18
b Fe(is)i(the)h(subrac)n(k)d(of)j(the)g(card)e(and)h
Fc(module)e Fe(is)j(the)f(mo)r(dule)h(n)n(um)n(b)r(er)f(of)g(the)h
(card.)34 b(If)21 b Fc(-s)e Fe(is)i(used,)g(then)g Fc(hostname)-120
2838 y Fe(b)r(ecomes)h Fc(script)p Fe(.)32 b(When)22
b Fc(rack.pl)e Fe(is)h(run)h(again,)g(it)g(will)g(automatically)f
(searc)n(h)f(for)i(this)g(\014le)g(and)f(reload)g(those)g(v)-5
b(alues)-120 2937 y(in)n(to)25 b(memory)-7 b(.)35 b(This)25
b(feature)g(is)f(designed)h(to)g(ensure)f(that)h(the)h(hardw)n(are)c
(and)j(soft)n(w)n(are)e(remain)i(sync)n(hronized.)34
b(If)26 b(the)-120 3037 y(rac)n(k)g(is)i(p)r(o)n(w)n(ered)e(do)n(wn,)h
(b)r(e)h(sure)f(to)h(re-initialize)e(the)i(settings)g(when)f(the)h
(program)e(is)h(run)h(again.)-120 3269 y Fa(3.1)112 b(General)38
b(Information)76 3422 y Fe(help)k(\()p Ff(String)28 b
Fc(topic)p Fe(\))270 3522 y(Prin)n(ts)i(the)h(subset)f(of)g(the)h
(commands)f(that)h(can)f(b)r(e)h(issued)f(to)g(the)h(ZIP)f(card)g(whic)
n(h)g(con)n(tain)g(the)h(string)270 3622 y Fc(topic)p
Fe(.)k(If)28 b(no)f(argumen)n(t,)g(prin)n(ts)g(all)h(the)g(help)f
(information.)51 3755 y(prin)n(t)41 b(\()p Ff(v)m(oid)p
Fe(\))270 3854 y(Prin)n(ts)32 b(information)f(ab)r(out)i(the)f(GPIB)g
(b)r(o)n(x)g(and)h(the)f(card)g(including)g(mo)r(dule)h(n)n(um)n(b)r
(er)f(and)h(the)f(status)270 3954 y(bits)c(of)g(the)g(Con)n(trol)e
(Registers.)-87 4087 y(cardt)n(yp)r(e)40 b(\()p Ff(v)m(oid)p
Fe(\))270 4186 y(Prin)n(ts)27 b(card)g(t)n(yp)r(e)g(that)h(computer)f
(b)r(eliev)n(es)h(to)f(b)r(e)h(correct)-139 4319 y(sa)n(v)n(eScript)40
b(\()p Ff(String)28 b Fc(filename)p Fe(,)c Ff(in)m(t)k
Fc(overwrite)p Fe(\))270 4419 y(Sa)n(v)n(es)f(all)g(subsequen)n(t)g
(GPIB)h(commands)f(to)g Fc(filename)p Fe(.)34 b(Commands)28
b(are)e(sa)n(v)n(ed)h(in)h(format)f(readable)f(b)n(y)270
4518 y(LABView)j(in)n(terface)g(and)f(P)n(erl)g(script)h(reading)e
(routine.)41 b(The)29 b Fc(overwrite)c Fe(\014eld)k(is)g(optional)f
(\(if)i(omitted,)270 4618 y(and)35 b(relev)-5 b(an)n(t,)35
b(user)f(will)h(b)r(e)g(prompted)f(for)g(it\).)58 b(The)35
b(p)r(ossible)f(c)n(hoices)f(are:)50 b Fc(1)34 b Fe(to)g(app)r(end)h
(to)f(existing)270 4718 y Fc(filename)p Fe(,)25 b Fc(2)i
Fe(to)g(o)n(v)n(erwrite)f Fc(filename)p Fe(,)e(or)j Fc(3)g
Fe(to)h(cancel)f(if)h Fc(filename)c Fe(exists.)-117 4850
y(endScript)41 b(\()p Ff(v)m(oid)p Fe(\))270 4950 y(Ceases)27
b(sa)n(ving)f(commands)h(to)g(a)g(\014le.)1809 5356 y(1)p
eop
%%Page: 2 2
2 1 bop -144 90 a Fe(enableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))270 190 y(Enables)27 b(comm)n(unication)g(with)h(GPIB)f(b)r(o)n
(x.)36 b(Note)28 b(that)g(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g
(b)r(o)n(x.)-163 321 y(disableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))270 421 y(Disables)27 b(comm)n(unication)g(with)h(GPIB)g(b)r(o)n
(x.)36 b(Note)28 b(that)f(this)h(only)g(w)n(orks)d(for)j(curren)n(t)e
(b)r(o)n(x.)-179 552 y(accum)n(ulate)40 b(\()p Ff(v)m(oid)p
Fe(\))270 651 y(Creates)22 b(a)g(queue)h(of)g(commands)f(for)g(the)h
(GPIB)g(b)r(o)n(x.)34 b(Will)24 b(not)f(execute)f(them)i(un)n(til)f
(\\execute")e(command)270 751 y(is)28 b(giv)n(en;)f(then)h(it)g(will)f
(do)h(them)g(all)f(at)h(once.)-272 882 y(unaccum)n(ulate)41
b(\()p Ff(v)m(oid)p Fe(\))270 982 y(T)-7 b(urns)27 b(o\013)h(accum)n
(ulation)f(feature.)36 b(Note)28 b(that)g(the)g(remaining)e(items)i(in)
g(the)g(queue)g(are)e(NOT)i(executed.)-41 1113 y(execute)41
b(\()p Ff(v)m(oid)p Fe(\))270 1212 y(Executes)27 b(all)g(commands)g(in)
h(the)g(GPIB)f(b)r(o)n(x)g(queue.)-94 1343 y(p)r(o)n(w)n(erUp)40
b(\()p Ff(v)m(oid)p Fe(\))270 1443 y(Resets)c(con)n(trol)f(registers)g
(and)h(D)n(A)n(Cs)g(to)g(the)h(v)-5 b(alues)35 b(that)i(are)e(b)r
(eliev)n(ed)h(b)n(y)g(the)h(soft)n(w)n(are)d(to)i(b)r(e)h(true.)270
1543 y(Designed)28 b(for)f(use)g(when)h(p)r(o)n(w)n(er)e(is)i(sh)n(ut)f
(o\013)h(to)g(b)r(oard)e(without)i(reloading)e(program.)18
1674 y(toFile)41 b(\()p Ff(String)28 b Fc(filename)p
Fe(\))270 1773 y(Sa)n(v)n(es)e(curren)n(t)h(card)g(settings)g(to)h
(\014le)f Fc(filename)p Fe(.)-77 1905 y(fromFile)41 b(\()p
Ff(String)28 b Fc(filename)p Fe(\))270 2004 y(Reads)f(card)g(settings)g
(from)h Fc(filename)c Fe(and)j(sets)h(registers)e(and)h(D)n(A)n(Cs)g
(to)h(those)f(settings.)-160 2135 y(up)r(dateFile)42
b(\()p Ff(String)28 b Fc(filename)p Fe(\))270 2235 y(Reads)d(card)f
(settings)g(from)h(card)f(\(using)h(readbac)n(k)e(feature\))i(and)g(up)
r(dates)g(soft)n(w)n(are)e(memory)h(and)h(p)r(ersis-)270
2335 y(tence)j(\014le.)104 2466 y(init)42 b(\()p Ff(v)m(oid)p
Fe(\))270 2565 y(Resets)35 b(registers)e(and)i(D)n(A)n(Cs)g(to)g
(initial)g(v)-5 b(alues)35 b(\(D)n(A)n(Cs)g(set)g(at)f(zero,)i
(\014lters)f(selected)g(to)g(b)r(e)g(0,)i(and)d(all)270
2665 y(c)n(hannels)27 b(disabled\).)-120 2897 y Fa(3.2)112
b(Driv)m(er)36 b(Con)m(trol)g(Registers)-49 3050 y Fe(setGain)41
b(\()p Ff(in)m(t)28 b Fc(channel)p Ff(,)h(\015oat)f Fc(gain)p
Fe(\))270 3149 y(Sets)19 b(gain)f(on)h(c)n(hannel)f Fc(channel)e
Fe(to)j(nearest)f(p)r(ossible)h(v)-5 b(alue)19 b(smaller)e(than)i
Fc(gain)p Fe(.)33 b(Also)18 b(sets)h(p)r(olarit)n(y)f(of)h(gain)270
3249 y(dep)r(ending)i(on)f(whether)h Fc(gain)e Fe(is)h(p)r(ositiv)n(e)g
(or)g(negativ)n(e.)33 b(Acceptable)21 b(gains)f(are)f
(\(1,1.43,2,5,10,14.3,20,50\).)270 3349 y(If)28 b Fc(channel)d
Fe(is)i(omitted,)i(sets)e(all)g(c)n(hannels)g(\(0-5\).)-55
3480 y(p)r(olarit)n(y)40 b(\()p Ff(in)m(t)28 b Fc(channel)p
Ff(,)h(in)m(t)e Fc(pol)p Fe(\))270 3579 y(Sets)37 b(p)r(olarit)n(y)f
(on)g(c)n(hannel)g Fc(channel)e Fe(to)j(p)r(ositiv)n(e)f(\()p
Fc(pol)42 b(=)i(0)p Fe(\))36 b(or)g(negativ)n(e)f(\()p
Fc(pol)43 b(=)g(1)p Fe(\).)64 b(If)37 b Fc(channel)d
Fe(is)270 3679 y(omitted,)28 b(sets)g(all)f(c)n(hannels)g(\(0-5\).)57
3810 y(reset)41 b(\()p Ff(v)m(oid)p Fe(\))270 3910 y(Resets)28
b(card)e(bits.)-137 4041 y(readGains)40 b(\()p Ff(v)m(oid)p
Fe(\))270 4140 y(Reads)27 b(bac)n(k)g(gains)g(from)g(con)n(trol)f
(registers)g(on)h(card.)-85 4272 y(readcard)39 b(\()p
Ff(v)m(oid)p Fe(\))270 4371 y(Reads)27 b(bac)n(k)g(gains)g(and)g(D)n(A)
n(C)h(settings)f(from)g(card.)-120 4603 y Fa(3.3)112
b(Driv)m(er)36 b(D)m(A)m(Cs)-88 4756 y Fe(setO\013set)41
b(\()p Ff(in)m(t)28 b Fc(channel)p Ff(,)h(\015oat)f Fc(offset)p
Fe(\))270 4856 y(Sets)g(D)n(A)n(C)g(on)f Fc(channel)e
Fe(to)i Fc(offset)p Fe(.)35 b(If)28 b Fc(channel)c Fe(is)k(omitted,)g
(sets)f(all)h(driv)n(er)e(D)n(A)n(Cs)h(\(0-5\))g(to)h
Fc(offset)p Fe(.)-143 4987 y(readO\013set)40 b(\()p Ff(in)m(t)28
b Fc(channel)p Fe(\))270 5086 y(Reads)f(D)n(A)n(C)h(on)f
Fc(channel)p Fe(.)34 b(If)28 b Fc(channel)d Fe(is)j(omitted,)g(reads)e
(all)i(c)n(hannels)e(\(0-5\).)1809 5356 y(2)p eop
%%Page: 3 3
3 2 bop -120 90 a Fd(References)-78 272 y Fe([1])41 b(Stev)n(e)27
b(Eic)n(h)n(blatt,)g(Sae)g(W)-7 b(o)r(o)28 b(Nam)f(CDMS)i(note)e
(9712002.)d Fb(The)31 b(CDMS)f(Net)f(Pr)l(oto)l(c)l(ol)-78
438 y Fe([2])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7
b(urlanetto)28 b Fb(Gener)l(al)i(Information)h(on)f(the)g(Perl-b)l(ase)
l(d)g(Ele)l(ctr)l(onics)h(Interfac)l(e)1809 5356 y Fe(3)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of FLIP3UDriver.ps
echo FLIP3UQBias.ps 1>&2 
cat >FLIP3UQBias.ps << 'End of FLIP3UQBias.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: FLIP3UQBias.dvi
%%Pages: 3
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips FLIP3UQBias.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1039
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (FLIP3UQBias.dvi)
@start
%DVIPSBitmapFont: Fa cmmi10 10 1
/Fa 1 128 df<EB07FE90383FFFC090B512F03903F801F8390F80003C001EC7121E4814
0E00701407A2126000E01406200B6BB717>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmbx12 12 24
/Fb 24 117 df<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F
0F788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713
FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16
C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC
15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0
EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80F
FEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<EE1F80A24C
7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80
157C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C7
7EA24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A
153FA249488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
D<B9FC18F018FE727E19E026003FFCC700077F05017F716C7E727E727EA2721380A37213
C0A74E1380A24E1300A24E5A4E5A4E5A4D5B05075B94B5128091B700FCC7FC18F018FF19
E002FCC7000113F8716C7EF01FFE727E7213801AC07213E0A27213F0A31AF8A71AF0A260
1AE0604E13C0604E138095B5120005075BBA12F86119C04EC7FC18E045447CC350>I<DC
FFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA
3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F4849161F5A
4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2123F
A27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E
6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7FC02
0715FC020115F0DA001F1480030001F8C8FC44467AC451>I<B9FC18F018FE727E19E026
003FFEC7001F13F805017F9438003FFF060F7F727F727F727F84737E737EA2737EA2737E
A21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F624F5A19FF624E5B06075B4E
5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9FC4B447CC356>I<DCFFF014
70031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA3F9F01
0701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F4849161F5A4A160F
485B19074890CAFC19035A5BA2007F1801A34994C8FC12FFAD057FB612F0127F7FA3003F
DC0001EBF000A27F7EA26C7FA26C7F807E6C7F6C7F6D7E6D6C5D6D6C7E6D6D5C6D01F05C
010101FE143F6D903AFFF001FF9F023F90B6120F0207EDFC030201EDF000DA001F02C013
30030001FCC9FC4C467AC458>71 D<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447D
C32A>73 D<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC902601FFF0EB
1FFF010701C0010713C04990C700017F49486E7F49486F7E49486F7E49486F7E48496F7E
48496F1380A248496F13C0A24819E091C97E4819F0A248487013F8A3007F19FCA249177F
A300FF19FEAD007F19FCA36D17FF003F19F8A3001F19F06D5EA26C19E06E01FE5B6C9126
03FF8014C06C6D486D4813804B13E06C9028E01F83F00F13006C903BF01E00F81FFE9026
7FF83E90387C3FFC90263FFC3C6D485AD91FFE91381EFFF0D90FFF021F5B6D01FE5D0101
94C7FC6D6D6CB45A023F90B512F8020703E0130202006F1307030713C792C7EA07F8716C
130F72131F9538FF80FF96B5FC7114FEA3831AFCA27213F81AF0847213E07213C0721300
F001FC48587AC454>81 D<B812F8EFFFC018F818FE727ED8001F90C7003F13E005037F05
007F727E727E727EA28684A286A762A24E90C7FCA24E5A61187F943801FFF005075B053F
138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2717FA2717FA785A61B0F
85A2187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF8060114F0726C13E0CC0007
138050457DC354>I<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1F
FC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F
13F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B
4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC
322F7DAD36>97 D<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC4849
6C7E48496C7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290
B7FCA401F0C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6D
EB0F806C01F0EB3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F
7DAD33>101 D<EDFF80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC
1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B000
7FEBFFE0A527467DC522>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9
C07F133F489038001FF84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2
003F82A8001F93C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8
078F49C8FC018013E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E
000382000F82D81FF0C77ED83FC014074848020113808248C9FC177FA46D15FF007F1700
6D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F
14F8D9007F90C8FC32427DAC38>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C
13806C1300EA007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105
D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>108 D<90277F8007FEEC0FFC
B590263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D
8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7E
A24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB59038
3FFF8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02
F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F001
1F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F00
1F82A2003F82491407007F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F
5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C090
26001FFCC8FC312F7DAD38>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC9138
9F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0
A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC0004913
3F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C
14FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA2
7EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E0
07FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF120300
0F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090
391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmti10 10 27
/Fc 27 119 df<387FFFF8A2B5FCA214F0150579941E>45 D<DB03FE130E92393FFF801E
92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC
49481407494815F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A
94C7FCA2485AA3127F5BA312FF90CBFCA41738A217784816707E17F06C5E16015F16036C
6C4A5A94C7FC001F150E6D141E000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F
807EC8FC6DB45A010F13E0010090C9FC373D74BA3B>67 D<0103B612FEEFFFC018F0903B
0007F8000FF84BEB03FCEF00FE020F157FF03F804B141F19C0021F150F19E05D1807143F
19F05DA2147FA292C8FCA25C180F5CA2130119E04A151FA2130319C04A153FA201071780
187F4A1600A2010F16FEA24A4A5A60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17
FC017FEC03F84C5A91C7EA1FC04949B45A007F90B548C8FCB712F016803C397CB83F>I<
0107B8FCA3903A000FF000034BEB007F183E141F181E5DA2143FA25D181C147FA2923800
0380A24A130718004A91C7FC5E13015E4A133E167E49B512FEA25EECF8000107147C163C
4A1338A2010F147818E04A13701701011F16C016004A14031880013F150718004A5CA201
7F151E173E91C8123C177C4915FC4C5A4914070001ED7FF0B8FCA25F38397BB838>I<DB
03FE130E92393FFF801E92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7
EA1FF802FE140FEB03FC49481407494815F049481403495A5C49C813E05B485A5B000317
C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF90CBFC0307B512E0A392390007
FC00705A16075FA36C150F5FA36C6C141FA2001F5E6D143F6C7E167F6C6C4A5A6C6CEB03
EFD801FEEB07C73A007FC03F0790273FFFFC03C7FC010F01F0C8FC01001380373D74BA40
>71 D<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA2143FA25DA2147FA292
C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25C
A2137FA291C8FC497EB6FCA25C25397CB820>73 D<902607FFF8923807FFF0614F13E0D9
000FEFF0004F5AA2021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED07
1FA20278ED0E3F97C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02
C0EC0380A20103ED0701610280140EA20107ED1C0305385B14006F137049160705E05B01
0EEC01C0A2011E913803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F
04F091C8FC01705CA201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E
4C397AB84A>77 D<902603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA
0E7F5DA2021E6D1307033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E030714
1C147082DAF003143C70133814E0150101016E1378030014705C8201036E13F0604A1480
163F010715C1041F5B91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2
013C805F1338160013785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<01
07B612F817FF1880903B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25D
A2147FEF03FC92C7FCA24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A
5AEE0FF091B612C04CC7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137F
A291CAFCA25BA25B1201B512FCA337397BB838>80 D<92383FC00E913901FFF01C020713
FC91391FC07E3C91393F001F7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2
011F15E091C7FCA34915C0A36E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0
010080023F7F14079138007FFC150F15031501A21500A2167C120EA3001E15FC5EA3003E
4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E0
1F138026C003FCC8FC2F3D7ABA2F>83 D<0007B812E0A25AD9F800EB001F01C049EB07C0
485AD900011403121E001C5C003C17801403123800785C00701607140700F01700485CA2
140FC792C7FC5DA2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303
A25CA21307A25CA2130FA25CEB3FF0007FB512F8B6FCA2333971B83B>I<14F8EB07FE90
381F871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403
007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300
ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97
D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F
80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214
0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07
C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00
70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F
90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00
380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2
150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF017C5BEB
F80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A485CA2
140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038038F8E
391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1E09038
3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81
FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0
6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0ED3E38
ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D010FB512
C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA413075CA4130F
5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F80264C
82BA19>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07
F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F
000715005BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0
A216704814E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB9
2A>104 D<EB01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E
1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E0
13C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>
I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA212
03A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131E
EAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79B915>108
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>I<D8
01E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E00078
13C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12
034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E001FEC
3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F00F8
017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A
4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E
6C13F8380F83F03803FFC0C648C7FC202677A42A>I<3903C003F0390FF01FFC391E783C
0F381C7C703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0
FE5BA2120012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A4
23>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F0000113
0313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C0130014
3F141F140F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD8
01FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5
FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F13
38EB0078147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>
I<01F0130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25B
D8F07E140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35D
A24A5A140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>118
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmtt10 10 41
/Fd 41 122 df<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFF
E0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D
14015D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C1307
5C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B12
3F90C9FC5A127E12FE5AA25A127821417BB92C>I<1307497EA2131FA2133F137F13FF5A
1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>49
D<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7
EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F
16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F80
49C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<
EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151F
A26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F9038
0007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F00
7FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357C
B32C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0
EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>58 D<007FB612F0B712F8A4003F15F0CAFC
A8003FB612F0B712F8A46C15F025147DA22C>61 D<007FB512E015F8B612FE6C8016C039
03F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B61200
5D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED
03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>66
D<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716
F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80ED
FF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>68 D<007FB612F0B712F8A37E
3903F00001A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167E
A8007FB612FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7FCA716
781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB2
2C>I<903901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC01497E4848
137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8913803
FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C
6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<
007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14F81E3379B2
2C>73 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F0
25337DB22C>76 D<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07F0
A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0
C8FCB0387FFF80B57EA36C5B25337EB22C>80 D<EB7FFF0003B512E0000F14F848804880
EBF007EB800048C7127FA2007E80A300FE158048141FB3A7EB01F0EB03F800FE143F267E
01FC1300A2EB00FE007F5C147FD83F8013FEEBF03F90B5FC6C5C6C5C000314E0C67E9038
0007F0A26E7EA26E7EA26E7EA2157FA2153E21407BB32C>I<3B7FFF803FFFC0B56C4813
E0A36C496C13C03B03F00001F800B3AF6D130300015DA26D130700005D6D130F017F495A
6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B3480B22C>85
D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8
127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F
14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>
97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138
801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13
036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027
337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E
4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F0039
07FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC
003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC
007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CEC
BFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E
48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075A
B7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001
FF13FF000190B512806C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3F
FE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C
5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<ED03F8903907F80FFC90
391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC1CD9C000
1300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D481480D99F
FEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A3FC0001F
F848C7EA03FC007E1400007C157C00FC157E48153EA46C157E007E15FCD87F801303D83F
E0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8010713C028387EA42C>
I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC0
1F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029337FB22C>I<
1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007F
B512FCB612FEA36C14FC1F3479B32C>I<EA7FE0487EA3127F1201AA91381FFFF04A13F8
A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5
FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400157E811680151F3A7FFFC0FFFC
B500E113FEA36C01C013FC27337EB22C>107 D<387FFFE0B57EA37EEA0003B3B3A5007F
B61280B712C0A36C158022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD8
7FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B3
3B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397F
F01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B
5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>I<EB07FCEB1FFF017F
13C048B512F048803907FC07FC390FF001FE48486C7E0180133F003F158090C7121F007E
EC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C
485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397FF01FE0
39FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091380007F049EB03F8
5BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE0
9138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B2736
7FA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138
FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>114
D<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F1400
13F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00
FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC
0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0
A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<
3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7
FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C
15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC
013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA2
6D5A147C27247EA32C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C
6C495AA3143E147FA2D801F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB
13EFA3D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA32C>I<3A3FFF03
FFF048018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E09038
0FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB
0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514
FE6C15FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0
000F806C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F
815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E14
7CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA
07E027367EA32C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmbx14 14.4 18
/Fe 18 118 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<B912FEF0FFF019FEF1FFC01AF0D8000F
01E0C7003F13FC06037F9539007FFF80071F7F07077F737F737F737F747E747E86741380
1CC0861CE0861CF0A27413F8A31CFC86A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0
A25013E0A25013C0A250138050130063505A1AFF07035B4F13E0071F5B077F5B0603B5C7
FC063F13FCBB12F01AC04FC8FC19F04EC9FC58527BD165>68 D<B81280A5D8000701F0C7
FCB3B3B3B2B81280A529527DD130>73 D<B912C018FEF0FFE019FC19FFD8000F9026E000
0114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A26163636198C8
FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226E0000F13F805
0113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2841C03730180
13E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B5120007005C081F5BCD00
0113F05C537BD162>82 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC90
3A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E130070
5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C
6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC
023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803
FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149
487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA312
1F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F
010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13
F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48
496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FC
CAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C
6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC02
0113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE0010390
38E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAE
B712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF8001
0FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E48499038
7FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D14
3F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E0
2707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F0
6C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83A5
6D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F
1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC048
7F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612
F0A51C547CD324>105 D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92
397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3
ACB6D8F807B612C0A542367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F
018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F488348
8349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2
001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6D
B46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<90393FF001
FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015
C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC6
1607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F87
6D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmr10 10 69
/Ff 69 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C
00001300A40001130101801380A20003130301001300485B00061306000E130E485B485B
485B006013601A197DB92A>34 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B48
5AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7E
A27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD
20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2
131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C
1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80
A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>
44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<150C15
1E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA21500
5CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7FC5B
A2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8FC5A
A2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB03F8EB1FFF90387E0F
C09038F803E03901E000F0484813780007147C48487FA248C77EA2481580A3007EEC0FC0
A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA26C6C5B6C6C5B6C
6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>I<EB01C013031307131F
13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>I<EB0FF0EB7FFE48B57E
3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E126012FCB4EC7F807FA5
6CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A92C7FC147C5C495A495A
495A495A91C8FC011EEB01805B5B49130348481400485A485A000EC75A000FB6FC5A5A48
5CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF03903C007F848486C7E380E
0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A5A5DEC0F80027EC7FCEB
1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2121EEA7F8048
7EA416C049137F007F1580007EC7FC0070ECFF006C495A121E390F8003F83907F00FF000
01B512C06C6C90C7FCEB0FF8233A7DB72A>I<12301238123E003FB612E0A316C05A1680
16000070C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C140E140C14
1C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8FC131E233B
7BB82A>55 D<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848137C90C7
7E48141E000E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C6C6C5AEC
C1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE3907801F
FF48486C1380481303003E6D13C0003CEB007F007C143F0078EC0FE000F814075A1503A2
1501A36C15C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F803F0C6B5
5A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E03903F803
F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616E0A56C14
3FA27F123F001F147FA26C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD93FFC13
C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A6C48485A
001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<121C127FEAFF80
A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C127FEAFF80
A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206A2120E5A
121812385A1260093479A317>I<007FB812F8B912FCA26C17F8CCFCAE007FB812F8B912
FCA26C17F836167B9F41>61 D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2
020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F1501A2D901
807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E
7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65
D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283A75F16
035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83
707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812C094C7
FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF807E07903A03
FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F48
48150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A312
3F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91FE0
5C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380313D
7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E707E
177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F
18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036397D
B83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A3170783
16C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C7
12C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839>I<
B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2ED01
80A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0B612
C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03903A03FC000787
D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F48481507A24848
1503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E9338007FE0EF3FC0A212
3F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D9
03FEEB0783903A00FFC03F0191393FFFFC00020F01F0130002001380383D7CBA41>I<B6
12C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>73 D<B612E0A3000101C0C8FC
6C90C9FCB3AD1718A517381730A31770A317F0A216011603160FEE1FE0486D13FFB8FCA3
2D397DB834>76 D<B5933807FFF86E5DA20001F0FC002600DFC0ED1BF8A2D9CFE01533A3
D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2027F1406A36E6C130CA3
6E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC0180A3913900FE0300A2ED7F
06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48497EB500C00203B512F8A2
ED018045397DB84C>I<B5913807FFFE8080C69238007FE06EEC1F80D9DFF0EC0F001706
EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81140F6E7E8114036E7E1680
80ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2
EE1FF6EE0FFEA216071603A216011600A2177E486C153E487ED80FFC151EB500C0140EA2
170637397DB83E>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D
7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E0003167F4848ED3F80A24848ED1F
C0A2001F17E049150F003F17F0A3007F17F8491507A300FF17FCAC007F17F86D150FA300
3F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F000317006C6C15FEA26C6C4A5A01
7F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC903900FE01FC91381FFFE002
0390C8FC363D7BBA41>I<B712C016F816FE000190398001FF806C90C7EA3FC0EE0FE0EE
07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F817F0EE0FE0EE3FC0923801
FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839>I<EC03FF021F13E09138FE01
FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7EA2
4848157F0007178049153F000F17C049151F001F17E0A24848ED0FF0A3007F17F8A24915
07A200FF17FCAC007F17F8A26D150FA2003F17F0A26C6CED1FE0A36C6CED3FC00007027C
14804AB4FC3C03F80383807F003B01FC0701C0FEEC0E002600FE0CEBE1FC017FEC63F8D9
3F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981FC130CEC1FFF0203131C91
C7001E131C161F183CEF807CEFC0F8EE0FFFA318F08218E07013C07013809338007E0036
4B7BBA41>I<B612FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E707EA2
707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000FF0ED03
F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F1803486D01071400B66D6C5A
04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>I<D90FF813C090383FFE0190B512
813903F807E33907E000F74848137F4848133F48C7121F003E140F007E1407A2007C1403
12FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F86C14FE
C680013F1480010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C01403A2
1501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE13
FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB001F27
3E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4C71600B3
B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFEA3000101809038007FE06C
90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F06D6C5C
6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80373B7D
B83E>I<B500FC91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A6E1403
017F93C7FCA280013F1506A26E140E011F150C80010F5DA28001075DA26E147001031560
A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF01C020F
1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151CA3393B
7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7EA1FF86C48C7D80FF8EC07
E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406A280013F4A6C5CA280011F
4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE181FA26D6C6F5BEE300FA26D
6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F818001FE06A203C1150EDA
3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3FF0A302075E4B141FA20203
5E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>I<003FB7FCA39039FC0001
FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A12704B5A5E006014FF4A90
C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC5B495AA2495A5C130F4948
EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700485A495C001F5D48485C5E
4848495A49130FB8FCA329397BB833>90 D<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D53
78BD17>I<3901800180000313033907000700000E130E485B0018131800381338003013
300070137000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3007F137FA239
3F803F80390E000E001A1974B92A>I<EAFFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD
17>I<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A
6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FE
A31401A26C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F
8007C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3
801F809039F7000FC001FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA16
7E16FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E
903800FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E03E03901F800704848
13F83907E001FC380FC003A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E
127FA26C14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090
381FFF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E
078F9038F801EF3903F0007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FE
AA127E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C07
8F90381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903
F001F0D807E013F8380FC0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8
FCA5127EA2127FA26C14037F001F14076C6C13060007140E6D131CD801F013386C6C1370
90387E03E090381FFF80903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F
8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387F
FFF8A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE0
3903E007C03A07C003E010000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D48
5A6D48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF80
4815C03A0F80007FE048C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC
03E0003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387E
A52A>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0
EBF70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA
0FE0487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717
>I<EB01C0EB07F0EB0FF8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A212
3C127E00FF13F01303A214E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA
03F012FFA3120F1203B1913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC14
1E1438147814FC13F1EBF3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E
157F811680ED1FC0486CEB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203
B3B3AD487EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F
01E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0F
C0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00F
F000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3
486C497EB500C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F8
4848137C48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15
F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137E
C66C13F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF8
9038F1E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC15
0016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F
009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C0
90381FFE0190387E07819038FC01C33903F000E3000714774848133749133F001F141F48
5A150F48C7FCA312FEAA127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801
CF39007E078F90381FFE0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E0
1F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC008049
1300A45BB3A2487EB512F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F
487F00707F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F0107
1380EB007F141F00C0EB0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C
38E1FFF038C03F801A277DA521>I<1318A51338A31378A313F8120112031207001FB5FC
B6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347F
B220>I<D803F0EB07E000FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D13
3F0000EC77F86D9038E7FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<
B538803FFEA33A0FF8000FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D
130E017E130CA26D5BA2EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901
FBC7FCA214FF6D5AA2147CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038
000FF86C48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2
017E9038EFC00C15C7A2D93F016D5A15830281EBF038D91F831430150102C3EBF8709026
0FC6001360A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100
141E4A130E0260130C37257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092
C7FC017E131C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F
804A7E8114CF903801C7E090380383F090380703F8EB0601496C7E011C137E49137F0178
7F496D7E486C80000FEC3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8
000FF06C48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2
ECC070010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A214
30A214701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC0
27357EA32C>I<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB
1FC0EC3F800060137F150014FE495AA2C6485A495AA2495A495A495AA290387F000613FE
A2485A485A0007140E5B4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F
247EA325>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmbx10 10 28
/Fg 28 119 df<913903FFC7C0027F13FF0103B6FC010F130090383FF80190387FE003EB
FFC05A14805A4A7EA281A9B8FCA4000390C7FCB3ABB5D8FC3F13FFA4303A7EB935>13
D<EA0F80EA3FE0EA7FF0A2EAFFF8A213FCA3127FA2123FEA0F9CEA001C133C1338A31378
137013F0EA01E0A2EA03C0EA0780EA0F005A121C12180E1D798C1B>44
D<EB03FF011F13F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF001
FC14F0121F7FA56C4814E0A23803F001C714C04A138016004A5A4A5AEC3FF090380FFFC0
92C7FC15F090380007FE913801FF806E13C016E0ED7FF016F816FC153FA216FEEA1FC048
7E487E487EA416FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C0260FFC0713806C
B61200000114FC6C6C13F0010790C7FC27387CB630>51 D<ED03E04B7EA24B7EA34B7EA2
4B7EA34B7EA292B57EA34A8015F302038015E1A202078015C0020F80ED807FA2021F80ED
003F4A80023E131FA2027E80027C7F02FC814A7FA20101824A7F49B77EA3498202C0C7FC
010F824A147FA2011F8291C8123F4982013E151FA2017E82017C8101FE83B500F80107B6
1280A4413A7DB948>65 D<B812C017FC17FF18C028007FF000037F04007F717E717E171F
84A2717EA74D5AA260173F4D5A4D5A4C13C0040F5B91B600FCC7FCA2EFFF8002F0C713F0
EF3FF8717E717E717E19807113C0A319E0A719C0A25F4D138019005FEF7FFE4C485AB912
F018C095C7FC17F03B397DB844>I<B87E17F817FF18C028007FF8000713F09338007FF8
EF1FFE717E050313807113C0A27113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19
FEA419FC183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FF
F0B912C095C7FC17FC178040397DB849>68 D<B912C0A43A007FF800039338007FE0171F
170F1707A21703A21701A318F0EE7800A41800A216F8A21501150791B5FCA4ECF8071501
1500A21678A693C8FCADB7FCA434397DB83C>70 D<B612FCA439007FF800B3B3ADB612FC
A41E397DB824>73 D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F5F5E
5EEE0FFE167FB8FCA431397DB839>76 D<B8FC17F017FEEFFF8028007FF8000F13C00401
13E07013F0EF7FF8EF3FFCA2EF1FFEA218FFA818FEA2EF3FFCA2EF7FF8EFFFF04C13E004
0F13C091B7120017FC17E002F8C9FCB3A4B612FCA438397DB841>80
D<EDFFF8020FEBFF80027F14F0903A01FFE03FFC010790380007FFD91FFC010113C04948
6D7FD97FE0EC3FF049486E7E488348496E7E4890C86C7EA248486F1380A2001F18C04981
003F18E0A3007F18F04981A300FF18F8AC007F18F0A36D5D003F18E0A36C6C4B13C0A200
0FDA1FC014806C6C90267FF0071300EDFFF86C903A81F07C0FFE6C903AC3C01E1FFC6CDA
800F5BD97FE3ECBFF0D93FF36DB45AD91FFF5D010701C091C7FC01019038F01FFC6D6CB5
00F01308020F6E131C0200EBF9FC92260001FE133C9438FF80FC18FF8219F8A28319F0A2
7113E0A27113C0711380711300EF01FC3E4A7BB948>I<B712FCEEFFE017FC17FF28007F
F8000F13C004017F707F717E717EA2717EA284A760A24D5A604D5A4D5A04035B041F90C8
FC91B612FC17E0839139F8003FFCEE0FFF707F707F8284A2707FA584A51A601AF084177F
1901DD3FFE13E0B600FC011F130394390FFF87C071EBFF8005011400CBEA1FFC443A7DB8
48>I<D907FF130E013FEBE01E90B5EAF83E0003ECFE7E3A07FC01FFFE390FF0001F4848
130F48481303491301007F140090C8FC167E5A163EA27F161E7F7F6D91C7FC13FC387FFF
E014FEECFFF06C14FE6F7E6C816C15F06C816C81C681133F010F801301D9000F1480EC00
7F030F13C01503818100F0157FA3163FA27E17807E167F6C16007E6D14FE01E0495A01F8
13039039FF801FF800FC90B512E0D8F83F5CD8F00749C7FC39E0007FF02A3B7BB935>I<
003FB91280A4D9F800EBF003D87FC09238007FC049161F007EC7150FA2007C1707A20078
1703A400F818E0481701A4C892C7FCB3AE010FB7FCA43B387DB742>I<B600FC011FB512
C0A426007FF8C8381FC000725AB3B3181F013F94C7FC8060011F163E6D6C157E187C6D6C
15FC6D6D495A6D6DEB07F06D01F0EB1FE0DA7FFEEBFFC0021FB6C8FC02075C020014F003
0F1380423A7DB849>I<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E
7FA26F7EA26C5A6C5AEA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE
00EA3FF85B485A12FF5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F00
03EBF80F39003FE0032A257DA42E>97 D<903801FFC0010F13FC017F13FFD9FF80138026
03FE0013C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA2
7F123FED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F0
0101138023257DA42A>99 D<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD
9038FFC07F0003EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA127FA27F12
3FA26C6C5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13E101031301
2F3A7DB935>I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F48
4814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA3
6C7E1678121F6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13
FC010113E025257DA42C>I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F
260FF801131F48486C138F003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF00
1F5D6C6C4890C7FC3907FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C
7E90B512F8EDFF8016E06C15F86C816C815A001F81393FC0000F48C8138048157F5A163F
A36C157F6C16006D5C6C6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC01
0713F02B377DA530>103 D<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F
03FFDA3C01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>
I<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512
F8A4153B7DBA1B>I<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C01138000
0713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>110
D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7E
A2003F81491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C
6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I<9038FE03
F000FFEB0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F0015
0C92C7FC91C8FCB3A2B512FEA422257EA427>114 D<90383FF0383903FFFEF8000F13FF
381FC00F383F0003007E1301007C130012FC15787E7E6D130013FCEBFFE06C13FCECFF80
6C14C06C14F06C14F81203C614FC131F9038007FFE140700F0130114007E157E7E157C6C
14FC6C14F8EB80019038F007F090B512C000F8140038E01FF81F257DA426>I<130FA55B
A45BA25B5BA25A1207001FEBFFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEB
C3E090383FFFC06D1380903803FE001D357EB425>I<B539F001FFF8A4000390C7EA3F00
161E6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07
010F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E
5AA22D257EA432>118 D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2422 90 a Fg(DRAFT)32 b Ff(August)c(18,)f(1998)1164
372 y Fg(The)32 b(FLIP3U)h(QBias)e(card)i(Driv)m(er)1344
472 y Ff(Stev)n(e)28 b(F)-7 b(urlanetto,)27 b(F)-7 b(ermilab)-120
747 y Fe(1)132 b(In)l(tro)t(duction)-120 928 y Ff(This)36
b(do)r(cumen)n(t)h(describ)r(es)f(the)h(basic)f(functionalit)n(y)g(of)g
(the)h(FLIP3U)f(QBias)f(card,)j(and)e(the)h(soft)n(w)n(are)e(to)r(ols)h
(that)-120 1028 y(p)r(erform)27 b(them.)38 b(This)27
b(can)g(b)r(e)h(found)g(at)-120 1128 y Fd(http://fnphyx-ww)o(w.f)o(na)o
(l.)o(gov)o(/e)o(xpe)o(ri)o(men)o(ts)o(/c)o(dms)o(/s)o(oft)o(wa)o(re)o
(/GP)o(IB)o(/FL)o(IP)o(3UQ)o(Bi)o(as)o(.ps)o Ff(.)-120
1402 y Fe(2)132 b(Design)-120 1584 y Ff(The)39 b(FLIP3U)g(QBias)f(driv)
n(er)g(p)r(erforms)g(in)i(conjunction)f(with)h(the)f
Fd(GPIB)j(protocol)p Ff(.)68 b(See)40 b(ref)f([1)o(])h(for)e(a)h
(detailed)-120 1684 y(description.)c(The)23 b(basic)g(idea)h(is)f(that)
h(commands)f(are)f(issued)h(from)g(a)g(p)r(erl)h(script)f(and)g(are)g
(sen)n(t)g Fc(via)i Ff(tcp/ip)e(to)h(a)f(serv)n(er)-120
1783 y(whic)n(h)28 b(issues)f(the)h(GPIB)f(commands)g(to)g(p)r(erform)g
(the)h(action)f(on)h(the)g(card.)-120 2058 y Fe(3)132
b(Instructions)-120 2240 y Ff(The)29 b(follo)n(wing)e(sections)h(list)h
(the)g(metho)r(ds)g(that)g(apply)f(to)h(instances)f(of)g(the)h
(FLIP3UQBias)e(class.)39 b(The)29 b(program)d(is)-120
2339 y(designed)h(to)g(b)r(e)h(used)g(with)g(the)f Fd(rack.pl)e
Ff(in)n(terface)i(program.)35 b(Instructions)27 b(for)g(use)g(of)g
(this)h(in)n(terface)f(can)g(b)r(e)h(found)-120 2439
y(in)g(ref)f([2].)5 2539 y(This)36 b(soft)n(w)n(are)e(also)h(con)n
(tains)h(a)g(useful)g(p)r(ersistence)g(feature.)63 b(Up)r(on)36
b(executing)g(an)n(y)g(command)g(to)g(the)h(GPIB)-120
2638 y(b)r(o)n(x,)23 b(it)f(will)g(record)f(the)h(card)f(status)h(in)g
(a)g(\014le)g(called)g Fd(/tmp/hostname-F)o(LIP)o(3U)o(QB)o(ias)o(-s)o
(ubr)o(ac)o(k-m)o(od)o(ul)o(e.o)o(ut)o Ff(,)c(where)-120
2738 y Fd(subrack)g Ff(is)i(the)h(subrac)n(k)d(of)j(the)g(card)e(and)h
Fd(module)e Ff(is)j(the)f(mo)r(dule)h(n)n(um)n(b)r(er)f(of)g(the)h
(card.)34 b(If)21 b Fd(-s)e Ff(is)i(used,)g(then)g Fd(hostname)-120
2838 y Ff(b)r(ecomes)h Fd(script)p Ff(.)32 b(When)22
b Fd(rack.pl)e Ff(is)h(run)h(again,)g(it)g(will)g(automatically)f
(searc)n(h)f(for)i(this)g(\014le)g(and)f(reload)g(those)g(v)-5
b(alues)-120 2937 y(in)n(to)25 b(memory)-7 b(.)35 b(This)25
b(feature)g(is)f(designed)h(to)g(ensure)f(that)h(the)h(hardw)n(are)c
(and)j(soft)n(w)n(are)e(remain)i(sync)n(hronized.)34
b(If)26 b(the)-120 3037 y(rac)n(k)g(is)i(p)r(o)n(w)n(ered)e(do)n(wn,)h
(b)r(e)h(sure)f(to)h(re-initialize)e(the)i(settings)g(when)f(the)h
(program)e(is)h(run)h(again.)-120 3269 y Fb(3.1)112 b(General)38
b(Information)76 3422 y Ff(help)k(\()p Fg(String)28 b
Fd(topic)p Ff(\))270 3522 y(Prin)n(ts)i(the)h(subset)f(of)g(the)h
(commands)f(that)h(can)f(b)r(e)h(issued)f(to)g(the)h(ZIP)f(card)g(whic)
n(h)g(con)n(tain)g(the)h(string)270 3622 y Fd(topic)p
Ff(.)k(If)28 b(no)f(argumen)n(t,)g(prin)n(ts)g(all)h(the)g(help)f
(information.)51 3755 y(prin)n(t)41 b(\()p Fg(v)m(oid)p
Ff(\))270 3854 y(Prin)n(ts)32 b(information)f(ab)r(out)i(the)f(GPIB)g
(b)r(o)n(x)g(and)h(the)f(card)g(including)g(mo)r(dule)h(n)n(um)n(b)r
(er)f(and)h(the)f(status)270 3954 y(bits)c(of)g(the)g(Con)n(trol)e
(Registers.)-87 4087 y(cardt)n(yp)r(e)40 b(\()p Fg(v)m(oid)p
Ff(\))270 4186 y(Prin)n(ts)27 b(card)g(t)n(yp)r(e)g(that)h(computer)f
(b)r(eliev)n(es)h(to)f(b)r(e)h(correct)-139 4319 y(sa)n(v)n(eScript)40
b(\()p Fg(String)28 b Fd(filename)p Ff(,)c Fg(in)m(t)k
Fd(overwrite)p Ff(\))270 4419 y(Sa)n(v)n(es)f(all)g(subsequen)n(t)g
(GPIB)h(commands)f(to)g Fd(filename)p Ff(.)34 b(Commands)28
b(are)e(sa)n(v)n(ed)h(in)h(format)f(readable)f(b)n(y)270
4518 y(LABView)j(in)n(terface)g(and)f(P)n(erl)g(script)h(reading)e
(routine.)41 b(The)29 b Fd(overwrite)c Ff(\014eld)k(is)g(optional)f
(\(if)i(omitted,)270 4618 y(and)35 b(relev)-5 b(an)n(t,)35
b(user)f(will)h(b)r(e)g(prompted)f(for)g(it\).)58 b(The)35
b(p)r(ossible)f(c)n(hoices)f(are:)50 b Fd(1)34 b Ff(to)g(app)r(end)h
(to)f(existing)270 4718 y Fd(filename)p Ff(,)25 b Fd(2)i
Ff(to)g(o)n(v)n(erwrite)f Fd(filename)p Ff(,)e(or)j Fd(3)g
Ff(to)h(cancel)f(if)h Fd(filename)c Ff(exists.)-117 4850
y(endScript)41 b(\()p Fg(v)m(oid)p Ff(\))270 4950 y(Ceases)27
b(sa)n(ving)f(commands)h(to)g(a)g(\014le.)1809 5356 y(1)p
eop
%%Page: 2 2
2 1 bop -144 90 a Ff(enableBo)n(x)40 b(\()p Fg(v)m(oid)p
Ff(\))270 190 y(Enables)27 b(comm)n(unication)g(with)h(GPIB)f(b)r(o)n
(x.)36 b(Note)28 b(that)g(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g
(b)r(o)n(x.)-163 318 y(disableBo)n(x)40 b(\()p Fg(v)m(oid)p
Ff(\))270 417 y(Disables)27 b(comm)n(unication)g(with)h(GPIB)g(b)r(o)n
(x.)36 b(Note)28 b(that)f(this)h(only)g(w)n(orks)d(for)j(curren)n(t)e
(b)r(o)n(x.)-179 545 y(accum)n(ulate)40 b(\()p Fg(v)m(oid)p
Ff(\))270 644 y(Creates)22 b(a)g(queue)h(of)g(commands)f(for)g(the)h
(GPIB)g(b)r(o)n(x.)34 b(Will)24 b(not)f(execute)f(them)i(un)n(til)f
(\\execute")e(command)270 744 y(is)28 b(giv)n(en;)f(then)h(it)g(will)f
(do)h(them)g(all)f(at)h(once.)-272 872 y(unaccum)n(ulate)41
b(\()p Fg(v)m(oid)p Ff(\))270 971 y(T)-7 b(urns)27 b(o\013)h(accum)n
(ulation)f(feature.)36 b(Note)28 b(that)g(the)g(remaining)e(items)i(in)
g(the)g(queue)g(are)e(NOT)i(executed.)-41 1099 y(execute)41
b(\()p Fg(v)m(oid)p Ff(\))270 1199 y(Executes)27 b(all)g(commands)g(in)
h(the)g(GPIB)f(b)r(o)n(x)g(queue.)-94 1326 y(p)r(o)n(w)n(erUp)40
b(\()p Fg(v)m(oid)p Ff(\))270 1426 y(Resets)c(con)n(trol)f(registers)g
(and)h(D)n(A)n(Cs)g(to)g(the)h(v)-5 b(alues)35 b(that)i(are)e(b)r
(eliev)n(ed)h(b)n(y)g(the)h(soft)n(w)n(are)d(to)i(b)r(e)h(true.)270
1526 y(Designed)28 b(for)f(use)g(when)h(p)r(o)n(w)n(er)e(is)i(sh)n(ut)f
(o\013)h(to)g(b)r(oard)e(without)i(reloading)e(program.)18
1653 y(toFile)41 b(\()p Fg(String)28 b Fd(filename)p
Ff(\))270 1753 y(Sa)n(v)n(es)e(curren)n(t)h(card)g(settings)g(to)h
(\014le)f Fd(filename)p Ff(.)-77 1881 y(fromFile)41 b(\()p
Fg(String)28 b Fd(filename)p Ff(\))270 1980 y(Reads)f(card)g(settings)g
(from)h Fd(filename)c Ff(and)j(sets)h(registers)e(and)h(D)n(A)n(Cs)g
(to)h(those)f(settings.)-160 2108 y(up)r(dateFile)42
b(\()p Fg(String)28 b Fd(filename)p Ff(\))270 2208 y(Reads)d(card)f
(settings)g(from)h(card)f(\(using)h(readbac)n(k)e(feature\))i(and)g(up)
r(dates)g(soft)n(w)n(are)e(memory)h(and)h(p)r(ersis-)270
2307 y(tence)j(\014le.)104 2435 y(init)42 b(\()p Fg(v)m(oid)p
Ff(\))270 2535 y(Resets)35 b(registers)e(and)i(D)n(A)n(Cs)g(to)g
(initial)g(v)-5 b(alues)35 b(\(D)n(A)n(Cs)g(set)g(at)f(zero,)i
(\014lters)f(selected)g(to)g(b)r(e)g(0,)i(and)d(all)270
2634 y(c)n(hannels)27 b(disabled\).)-120 2864 y Fb(3.2)112
b(QBias)37 b(Con)m(trol)f(Registers)-54 3018 y Ff(LEDOn)41
b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p Ff(\))270 3117 y(T)-7
b(urns)27 b(LED)h Fd(LEDnumber)c Ff(on.)36 b(If)28 b
Fd(LEDnumber)40 b(=)k(3)p Ff(,)27 b(turns)g(b)r(oth)h(on.)-56
3245 y(LEDO\013)41 b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p
Ff(\))270 3345 y(T)-7 b(urns)27 b(LED)h Fd(LEDnumber)c
Ff(o\013.)37 b(If)28 b Fd(LEDnumber)40 b(=)j(3)p Ff(,)27
b(turns)h(b)r(oth)g(o\013.)-174 3472 y(LED)n(Width)42
b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p Fg(,)g(\015oat)g
Fd(width)p Ff(\))270 3572 y(Sets)34 b(LED)f Fd(LEDnumber)d
Ff(width)k(to)f(nearest)f(v)-5 b(alue)33 b(to)h Fd(width)d
Ff(smaller)h(than)i Fd(width)p Ff(.)52 b(Input)34 b(should)f(b)r(e)h
(in)270 3672 y(units)e(of)g(ms.)49 b(Will)33 b(automatically)d(c)n
(hange)h(pulse)h(generator)d(to)j(appropriate)e(setting.)49
b(If)33 b Fd(LEDnumber)39 b(=)270 3771 y(3)p Ff(,)28
b(sets)f(b)r(oth)h(widths)g(to)f Fd(width)p Ff(.)-180
3899 y(LEDP)n(erio)r(d)40 b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p
Fg(,)g(\015oat)g Fd(period)p Ff(\))270 3999 y(Sets)e(LED)f
Fd(LEDnumber)c Ff(p)r(erio)r(d)k(to)g(closest)g(p)r(ossible)g(v)-5
b(alue)25 b(for)f Fd(period)p Ff(,)g(less)g(than)i(the)f(input)h(v)-5
b(alue.)36 b(Input)270 4098 y(v)-5 b(alues)31 b(should)g(b)r(e)h(in)f
(units)h(of)f(ms;)i(p)r(ossible)e(settins)g(are)f(in)i(units)f(of)g
(100)f(ms.)48 b(If)31 b Fd(LEDnumber)40 b(=)k(3)p Ff(,)31
b(sets)270 4198 y(b)r(oth)d(p)r(erio)r(ds)f(to)h Fd(period)p
Ff(.)0 4326 y(gndQI)41 b(\()p Fg(in)m(t)28 b Fd(state=1)p
Ff(\))270 4425 y(Grounds)f(or)g(ungrounds)f(the)i(Qinner)f(bias.)37
b Fd(state)k(=)j(1)27 b Ff(grounds)f(it.)-34 4553 y(gndQO)40
b(\()p Fg(in)m(t)28 b Fd(state=1)p Ff(\))270 4653 y(Grounds)f(or)g
(ungrounds)f(the)i(Qouter)f(bias.)36 b Fd(state)42 b(=)h(1)27
b Ff(grounds)g(it.)-337 4780 y(LEDShortPulse)40 b(\()p
Fg(in)m(t)28 b Fd(LEDnumber)p Ff(\))270 4880 y(Sets)g(LED)f
Fd(LEDnumber)d Ff(to)k(short.)36 b(If)28 b Fd(LEDnumber)40
b(=)j(3)p Ff(,)27 b(sets)h(b)r(oth.)-319 5008 y(LEDLongPulse)39
b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p Ff(\))270 5107 y(Sets)g(LED)f
Fd(LEDnumber)d Ff(to)k(long.)36 b(If)28 b Fd(LEDnumber)40
b(=)j(3)p Ff(,)27 b(sets)h(b)r(oth.)1809 5356 y(2)p eop
%%Page: 3 3
3 2 bop -290 90 a Ff(LEDRepMo)r(de)41 b(\()p Fg(in)m(t)28
b Fd(LEDnumber)p Ff(\))270 190 y(Sets)g(LED)f Fd(LEDnumber)d
Ff(to)k(rep)r(etitiv)n(e)f(mo)r(de.)37 b(If)28 b Fd(LEDnumber)40
b(=)j(3)p Ff(,)28 b(sets)f(b)r(oth.)-363 306 y(LEDSingleMo)r(de)41
b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p Ff(\))270 406 y(Sets)g(LED)f
Fd(LEDnumber)d Ff(to)k(single)f(\014re)g(mo)r(de.)37
b(If)28 b Fd(LEDnumber)40 b(=)j(3)p Ff(,)27 b(sets)h(b)r(oth.)-341
523 y(LEDPulseMo)r(de)40 b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p
Ff(\))270 622 y(Sets)g(LED)f Fd(LEDnumber)d Ff(to)k(pulse)f(mo)r(de.)37
b(If)28 b Fd(LEDnumber)40 b(=)k(3)p Ff(,)27 b(sets)g(b)r(oth.)-324
739 y(LEDCon)n(tMo)r(de)41 b(\()p Fg(in)m(t)28 b Fd(LEDnumber)p
Ff(\))270 839 y(Sets)g(LED)f Fd(LEDnumber)d Ff(to)k(con)n(tin)n(uous)e
(mo)r(de.)37 b(If)28 b Fd(LEDnumber)40 b(=)j(3)p Ff(,)28
b(sets)f(b)r(oth.)-90 955 y(LEDFire)41 b(\()p Fg(in)m(t)28
b Fd(LEDnumber)p Ff(\))270 1055 y(If)41 b(LED)g Fd(LEDnumber)c
Ff(is)k(set)g(in)g(single)f(\014re)h(mo)r(de,)j(\014res)c(LED)h
Fd(LEDnumber)p Ff(.)73 b(Otherwise,)44 b(prin)n(ts)c(error)270
1155 y(message.)c(If)710 1134 y Fa(\177)705 1155 y Ff(LEDn)n(um)n(b)r
(er)27 b(=)g(3,)g(sets)h(b)r(oth.)57 1271 y(reset)41
b(\()p Fg(v)m(oid)p Ff(\))270 1371 y(Resets)28 b(card)e(bits.)-534
1488 y(readLEDMo)r(deStatus)40 b(\()p Fg(v)m(oid)p Ff(\))270
1587 y(Reads)27 b(bac)n(k)g(\014rst)g(con)n(trol)g(register)f(in)i
(QBias)e(section)h(and)h(up)r(dates)f(memory)-7 b(.)-471
1704 y(readLED)n(WPStatus)40 b(\()p Fg(v)m(oid)p Ff(\))270
1803 y(Reads)27 b(bac)n(k)g(second)g(con)n(trol)f(register)g(in)i
(QBias)f(section)g(and)g(up)r(dates)h(memory)-7 b(.)-316
1920 y(readQBiasCSR)39 b(\()p Fg(v)m(oid)p Ff(\))270
2020 y(Reads)27 b(bac)n(k)g(con)n(trol)f(registers)g(in)i(QBias)e
(section)i(and)f(up)r(dates)h(memory)-7 b(.)-149 2136
y(readQBias)39 b(\()p Fg(v)m(oid)p Ff(\))270 2236 y(Reads)27
b(bac)n(k)g(con)n(trol)f(registers)g(and)i(D)n(A)n(Cs)f(in)h(QBias)e
(section)h(and)h(up)r(dates)g(memory)-7 b(.)-120 2461
y Fb(3.3)112 b(QBias)37 b(D)m(A)m(Cs)-149 2615 y Ff(setQID)n(A)n(C)k
(\()p Fg(\015oat)28 b Fd(value)p Ff(\))270 2714 y(Sets)g(Qinner)f(D)n
(A)n(C)h(to)f Fd(value)p Ff(.)-183 2831 y(setQOD)n(A)n(C)40
b(\()p Fg(\015oat)28 b Fd(value)p Ff(\))270 2931 y(Sets)g(Qouter)f(D)n
(A)n(C)g(to)h Fd(value)p Ff(.)-268 3047 y(setLED1D)n(A)n(C)41
b(\()p Fg(\015oat)28 b Fd(value)p Ff(\))270 3147 y(Sets)g(LED1)f(D)n(A)
n(C)h(to)f Fd(value)p Ff(.)-268 3264 y(setLED2D)n(A)n(C)41
b(\()p Fg(\015oat)28 b Fd(value)p Ff(\))270 3363 y(Sets)g(LED2)f(D)n(A)
n(C)h(to)f Fd(value)p Ff(.)-204 3480 y(readQID)n(A)n(C)40
b(\()p Fg(v)m(oid)p Ff(\))270 3579 y(Reads)27 b(Qinner)g(D)n(A)n(C.)
-239 3696 y(readQOD)n(A)n(C)40 b(\()p Fg(v)m(oid)p Ff(\))270
3796 y(Reads)27 b(Qouter)g(D)n(A)n(C.)-323 3912 y(readLED1D)n(A)n(C)40
b(\()p Fg(v)m(oid)p Ff(\))270 4012 y(Reads)27 b(LED1)g(D)n(A)n(C.)-323
4129 y(readLED2D)n(A)n(C)40 b(\()p Fg(v)m(oid)p Ff(\))270
4228 y(Reads)27 b(LED2)g(D)n(A)n(C.)-330 4345 y(readQBiasD)n(A)n(C)39
b(\()p Fg(v)m(oid)p Ff(\))270 4445 y(Reads)27 b(all)h(D)n(A)n(Cs)f(in)h
(QBias)e(section.)-120 4712 y Fe(References)-78 4894
y Ff([1])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Sae)g(W)-7
b(o)r(o)28 b(Nam)f(CDMS)i(note)e(9712002.)d Fc(The)31
b(CDMS)f(Net)f(Pr)l(oto)l(c)l(ol)-78 5044 y Ff([2])41
b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7 b(urlanetto)28
b Fc(Gener)l(al)i(Information)h(on)f(the)g(Perl-b)l(ase)l(d)g(Ele)l
(ctr)l(onics)h(Interfac)l(e)1809 5356 y Ff(3)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of FLIP3UQBias.ps
echo FLIP3UQet.ps 1>&2 
cat >FLIP3UQet.ps << 'End of FLIP3UQet.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: FLIP3UQet.dvi
%%Pages: 3
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips FLIP3UQet.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1044
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (FLIP3UQet.dvi)
@start
%DVIPSBitmapFont: Fa cmbx12 12 25
/Fa 25 117 df<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F
0F788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713
FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16
C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC
15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0
EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80F
FEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<EE1F80A24C
7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80
157C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C7
7EA24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A
153FA249488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949
C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F484916
1F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2
123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C
167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7
FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>67
D<B9FC18F018FE727E19E026003FFEC7001F13F805017F9438003FFF060F7F727F727F72
7F84737E737EA2737EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F
624F5A19FF624E5B06075B4E5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9
FC4B447CC356>I<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E193E
A3191EA21778A285A405F890C7FCA316011603161F92B5FCA5ED001F160316011600A2F1
01E01778A2F103C0A494C7FC1907A21A80A2190FA2191FA2193FF17F0061601807181F4D
B5FCBBFC61A443447DC34A>I<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023F
EDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948
814948167F4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A349
94C8FC12FFAD057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E6C7F
6C7F6D7E6D6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90B612
0F0207EDFC030201EDF000DA001F02C01330030001FCC9FC4C467AC458>71
D<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447DC32A>73 D<923807FFC092B512FE
0207ECFFC0021F15F091267FFE0013FC902601FFF0EB1FFF010701C0010713C04990C700
017F49486E7F49486F7E49486F7E49486F7E48496F7E48496F1380A248496F13C0A24819
E091C97E4819F0A248487013F8A3007F19FCA249177FA300FF19FEAD007F19FCA36D17FF
003F19F8A3001F19F06D5EA26C19E06E01FE5B6C912603FF8014C06C6D486D4813804B13
E06C9028E01F83F00F13006C903BF01E00F81FFE90267FF83E90387C3FFC90263FFC3C6D
485AD91FFE91381EFFF0D90FFF021F5B6D01FE5D010194C7FC6D6D6CB45A023F90B512F8
020703E0130202006F1307030713C792C7EA07F8716C130F72131F9538FF80FF96B5FC71
14FEA3831AFCA27213F81AF0847213E07213C0721300F001FC48587AC454>81
D<B812F8EFFFC018F818FE727ED8001F90C7003F13E005037F05007F727E727E727EA286
84A286A762A24E90C7FCA24E5A61187F943801FFF005075B053F138092B7C8FC18F818E0
18F892C77FEF3FFF050F7F717F717FA2717FA2717FA785A61B0F85A2187F73131F72141E
B700E06DEB803E72EBE0FC72EBFFF8060114F0726C13E0CC0007138050457DC354>I<00
3FBA12E0A59026FE000FEB8003D87FE09338003FF049171F90C71607A2007E1803007C18
01A300781800A400F819F8481978A5C81700B3B3A20107B8FCA545437CC24E>84
D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E
A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100
0313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013E
EBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97
D<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48
486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FC
A5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB
3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>101
D<EDFF80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB
7FF0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527
467DC522>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F4890
38001FF84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F
93C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC01
8013E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82
D81FF0C77ED83FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A
6C6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90
C8FC32427DAC38>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA
007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105
D<EB7FC0B5FCA512037EB3B3B3A3B61280A519457CC420>108 D<90277F8007FEEC0FFC
B590263FFFC090387FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D
8FC00FFE1F801FFC0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7E
A24A5D4A5DA34A5DB3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB59038
3FFF8092B512E0028114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02
F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F001
1F14FC90397FF80FFF9026FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F00
1F82A2003F82491407007F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F
5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C090
26001FFCC8FC312F7DAD38>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC9138
9F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0
A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC0004913
3F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C
14FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA2
7EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E0
07FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF120300
0F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090
391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti10 10 27
/Fb 27 119 df<387FFFF8A2B5FCA214F0150579941E>45 D<DB03FE130E92393FFF801E
92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC
49481407494815F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A
94C7FCA2485AA3127F5BA312FF90CBFCA41738A217784816707E17F06C5E16015F16036C
6C4A5A94C7FC001F150E6D141E000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F
807EC8FC6DB45A010F13E0010090C9FC373D74BA3B>67 D<0103B612FEEFFFC018F0903B
0007F8000FF84BEB03FCEF00FE020F157FF03F804B141F19C0021F150F19E05D1807143F
19F05DA2147FA292C8FCA25C180F5CA2130119E04A151FA2130319C04A153FA201071780
187F4A1600A2010F16FEA24A4A5A60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17
FC017FEC03F84C5A91C7EA1FC04949B45A007F90B548C8FCB712F016803C397CB83F>I<
0107B8FCA3903A000FF000034BEB007F183E141F181E5DA2143FA25D181C147FA2923800
0380A24A130718004A91C7FC5E13015E4A133E167E49B512FEA25EECF8000107147C163C
4A1338A2010F147818E04A13701701011F16C016004A14031880013F150718004A5CA201
7F151E173E91C8123C177C4915FC4C5A4914070001ED7FF0B8FCA25F38397BB838>I<DB
03FE130E92393FFF801E92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7
EA1FF802FE140FEB03FC49481407494815F049481403495A5C49C813E05B485A5B000317
C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF90CBFC0307B512E0A392390007
FC00705A16075FA36C150F5FA36C6C141FA2001F5E6D143F6C7E167F6C6C4A5A6C6CEB03
EFD801FEEB07C73A007FC03F0790273FFFFC03C7FC010F01F0C8FC01001380373D74BA40
>71 D<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA2143FA25DA2147FA292
C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25C
A2137FA291C8FC497EB6FCA25C25397CB820>73 D<902607FFF8923807FFF0614F13E0D9
000FEFF0004F5AA2021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED07
1FA20278ED0E3F97C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02
C0EC0380A20103ED0701610280140EA20107ED1C0305385B14006F137049160705E05B01
0EEC01C0A2011E913803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F
04F091C8FC01705CA201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E
4C397AB84A>77 D<902603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA
0E7F5DA2021E6D1307033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E030714
1C147082DAF003143C70133814E0150101016E1378030014705C8201036E13F0604A1480
163F010715C1041F5B91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2
013C805F1338160013785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<01
07B612F817FF1880903B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25D
A2147FEF03FC92C7FCA24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A
5AEE0FF091B612C04CC7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137F
A291CAFCA25BA25B1201B512FCA337397BB838>80 D<92383FC00E913901FFF01C020713
FC91391FC07E3C91393F001F7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2
011F15E091C7FCA34915C0A36E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0
010080023F7F14079138007FFC150F15031501A21500A2167C120EA3001E15FC5EA3003E
4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E0
1F138026C003FCC8FC2F3D7ABA2F>83 D<0007B812E0A25AD9F800EB001F01C049EB07C0
485AD900011403121E001C5C003C17801403123800785C00701607140700F01700485CA2
140FC792C7FC5DA2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303
A25CA21307A25CA2130FA25CEB3FF0007FB512F8B6FCA2333971B83B>I<14F8EB07FE90
381F871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403
007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300
ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97
D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F
80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214
0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07
C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00
70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F
90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00
380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2
150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF017C5BEB
F80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A485CA2
140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038038F8E
391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1E09038
3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81
FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0
6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0ED3E38
ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D010FB512
C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA413075CA4130F
5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F80264C
82BA19>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07
F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F
000715005BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0
A216704814E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB9
2A>104 D<EB01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E
1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E0
13C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>
I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA212
03A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131E
EAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79B915>108
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>I<D8
01E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E00078
13C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12
034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E001FEC
3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F00F8
017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A
4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E
6C13F8380F83F03803FFC0C648C7FC202677A42A>I<3903C003F0390FF01FFC391E783C
0F381C7C703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0
FE5BA2120012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A4
23>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F0000113
0313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C0130014
3F141F140F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD8
01FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5
FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F13
38EB0078147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>
I<01F0130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25B
D8F07E140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35D
A24A5A140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>118
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10 40
/Fc 40 122 df<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201
EA03F01207EA1FE0EA7FC0EAFF80130012FC12700E17718A2C>44
D<007FB6FCB71280A46C150021067B9B2C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F
80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D14015D14035DA2
14075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C130F5C131F5C
A2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F90C9FC5A127E
12FE5AA25A127821417BB92C>I<1307497EA2131FA2133F137F13FF5A1207127FB5FC13
DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>49
D<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7
EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F
16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F80
49C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<
EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151F
A26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F9038
0007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F00
7FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357C
B32C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0
EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>58 D<007FB612F0B712F8A4003F15F0CAFC
A8003FB612F0B712F8A46C15F025147DA22C>61 D<007FB512E015F8B612FE6C8016C039
03F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B61200
5D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED
03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>66
D<007FB612F8B712FCA37ED803F0C7FCA716781600A515F04A7EA490B5FCA5EBF001A46E
5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>70 D<903901FC038090390FFF87C04913
EF017F13FF90B6FC4813073803FC01497E4848137F4848133F49131F121F5B003F140F90
C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13FCA27E007E6D13F89138000FC0
A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF01
1F13CF6DEB0780D901FCC7FC26357DB32C>I<007FB512F8B612FCA36C14F839000FC000
B3B3A5007FB512F8B612FCA36C14F81E3379B22C>73 D<387FFFE0B57EA36C5BD803F0C8
FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB22C>76 D<007FB512C0B612F881
15FF6C15802603F00013C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0F
E0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C
>80 D<EB7FFF0003B512E0000F14F848804880EBF007EB800048C7127FA2007E80A300FE
158048141FB3A7EB01F0EB03F800FE143F267E01FC1300A2EB00FE007F5C147FD83F8013
FEEBF03F90B5FC6C5C6C5C000314E0C67E90380007F0A26E7EA26E7EA26E7EA2157FA215
3E21407BB32C>I<3B7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F800B3AF6D
130300015DA26D130700005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B010313F8
6D5B9038003F802B3480B22C>85 D<3801FFF0000713FE001F6D7E15E048809038C01FF8
1407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383FF8
00EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EB
FE1F3A003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13
FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE16
7EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B512801600
01FB5B01F813F83900F03FC027337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48
804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB
1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC2124
7AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380F
F00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A38
0FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03
FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1F
C090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E0
6C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13F0010113
8023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F0014C0
92C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB2
2C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607
F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C485A39
03FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48EC
FF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E48153EA46C
157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D800
3F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE
01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480
A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFF
C080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<EA7FE0487EA3
127F1201AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7
FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400
157E811680151F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>107
D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F
83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F49
6C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87F
FC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC
00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0
140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48
486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F
141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90
C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038
F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2
ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC
3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF0020713
F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF00
7FB512E0B67EA36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387FC00F
387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C
13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F0
07FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB712
80A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001
035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000F
B3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA3
2C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B
0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C7
01075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF6EB5
FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87A214
F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2013F
5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C010313F03A00FC007E00
5D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A14
7C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C13
7C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01FFFC
B5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E137C01
7E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114
F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA
7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx14 14.4 18
/Fd 18 118 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<B912FEF0FFF019FEF1FFC01AF0D8000F
01E0C7003F13FC06037F9539007FFF80071F7F07077F737F737F737F747E747E86741380
1CC0861CE0861CF0A27413F8A31CFC86A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0
A25013E0A25013C0A250138050130063505A1AFF07035B4F13E0071F5B077F5B0603B5C7
FC063F13FCBB12F01AC04FC8FC19F04EC9FC58527BD165>68 D<B81280A5D8000701F0C7
FCB3B3B3B2B81280A529527DD130>73 D<B912C018FEF0FFE019FC19FFD8000F9026E000
0114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A26163636198C8
FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226E0000F13F805
0113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2841C03730180
13E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B5120007005C081F5BCD00
0113F05C537BD162>82 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC90
3A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E130070
5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C
6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC
023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803
FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149
487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA312
1F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F
010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13
F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48
496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FC
CAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C
6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC02
0113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE0010390
38E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAE
B712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF8001
0FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E48499038
7FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D14
3F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E0
2707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F0
6C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83A5
6D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F
1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC048
7F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612
F0A51C547CD324>105 D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92
397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3
ACB6D8F807B612C0A542367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F
018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F488348
8349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2
001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6D
B46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<90393FF001
FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015
C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC6
1607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F87
6D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr10 10 69
/Fe 69 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C
00001300A40001130101801380A20003130301001300485B00061306000E130E485B485B
485B006013601A197DB92A>34 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B48
5AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7E
A27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD
20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2
131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C
1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80
A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>
44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<150C15
1E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA21500
5CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7FC5B
A2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8FC5A
A2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB03F8EB1FFF90387E0F
C09038F803E03901E000F0484813780007147C48487FA248C77EA2481580A3007EEC0FC0
A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA26C6C5B6C6C5B6C
6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>I<EB01C013031307131F
13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>I<EB0FF0EB7FFE48B57E
3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E126012FCB4EC7F807FA5
6CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A92C7FC147C5C495A495A
495A495A91C8FC011EEB01805B5B49130348481400485A485A000EC75A000FB6FC5A5A48
5CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF03903C007F848486C7E380E
0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A5A5DEC0F80027EC7FCEB
1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2121EEA7F8048
7EA416C049137F007F1580007EC7FC0070ECFF006C495A121E390F8003F83907F00FF000
01B512C06C6C90C7FCEB0FF8233A7DB72A>I<12301238123E003FB612E0A316C05A1680
16000070C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C140E140C14
1C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8FC131E233B
7BB82A>55 D<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848137C90C7
7E48141E000E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C6C6C5AEC
C1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE3907801F
FF48486C1380481303003E6D13C0003CEB007F007C143F0078EC0FE000F814075A1503A2
1501A36C15C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F803F0C6B5
5A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E03903F803
F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616E0A56C14
3FA27F123F001F147FA26C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD93FFC13
C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A6C48485A
001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<121C127FEAFF80
A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C127FEAFF80
A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206A2120E5A
121812385A1260093479A317>I<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063F
A2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F1501A2D9
01807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E7EA349
6E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65
D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283A75F16
035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83
707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812C094C7
FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF807E07903A03
FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F48
48150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A312
3F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91FE0
5C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380313D
7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E707E
177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F
18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036397D
B83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A3170783
16C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C7
12C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839>I<
B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2ED01
80A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0B612
C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03903A03FC000787
D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F48481507A24848
1503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E9338007FE0EF3FC0A212
3F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D9
03FEEB0783903A00FFC03F0191393FFFFC00020F01F0130002001380383D7CBA41>I<B6
48B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C71201B3A6486D497EB6
48B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>
I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601160316
0FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC002600DF
C0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303
A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC01
80A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48
497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007FE06E
EC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81
140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF
6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E487E
D80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC903901F8
007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E000316
7F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300FF17
FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F000317
006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC90
3900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE000190398001FF
806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F8
17F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839>I<
EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C7
6C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C049151F001F17E0A24848
ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA2003F17F0A26C6CED1F
E0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC0701C0FEEC0E002600
FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981
FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0FFFA318F08218E070
13C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190388007FE6C90C76C
7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91
B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F18
03486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>I<D90F
F813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48C7121F003E
140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8EC
FF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F
150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F
80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003F
B812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A300601730A400
E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFE
A3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D
6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF802
0713E09138007F80373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8
EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA280
01075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A2
15E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36F
C9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7
EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406
A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE18
1FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F
818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3F
F0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>
I<003FB7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A
12704B5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC
5B495AA2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700
485A495C001F5D48485C5E4848495A49130FB8FCA329397BB833>90
D<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>I<390180018000031303390700
0700000E130E485B0018131800381338003013300070137000601360A200E013E0485BA4
00CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A>I<EA
FFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB1FE0EBFFFC3803E03F3907000F
80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA
03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18
383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1
913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB
F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C
EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312
3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380
3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348
6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90
39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280
A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F
4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14
076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090
381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F
803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3
ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF
F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781
9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA
127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE
0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3
E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512
F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800
0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2
EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214
7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0
18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2
D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D
5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37
257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D
6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7
E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC
3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003
EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C
5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA
7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5
12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15
0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B
4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx10 10 27
/Ff 27 119 df<913903FFC7C0027F13FF0103B6FC010F130090383FF80190387FE003EB
FFC05A14805A4A7EA281A9B8FCA4000390C7FCB3ABB5D8FC3F13FFA4303A7EB935>13
D<EA0F80EA3FE0EA7FF0A2EAFFF8A213FCA3127FA2123FEA0F9CEA001C133C1338A31378
137013F0EA01E0A2EA03C0EA0780EA0F005A121C12180E1D798C1B>44
D<EB03FF011F13F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF001
FC14F0121F7FA56C4814E0A23803F001C714C04A138016004A5A4A5AEC3FF090380FFFC0
92C7FC15F090380007FE913801FF806E13C016E0ED7FF016F816FC153FA216FEEA1FC048
7E487E487EA416FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C0260FFC0713806C
B61200000114FC6C6C13F0010790C7FC27387CB630>51 D<ED03E04B7EA24B7EA34B7EA2
4B7EA34B7EA292B57EA34A8015F302038015E1A202078015C0020F80ED807FA2021F80ED
003F4A80023E131FA2027E80027C7F02FC814A7FA20101824A7F49B77EA3498202C0C7FC
010F824A147FA2011F8291C8123F4982013E151FA2017E82017C8101FE83B500F80107B6
1280A4413A7DB948>65 D<B87E17F817FF18C028007FF8000713F09338007FF8EF1FFE71
7E050313807113C0A27113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FEA419FC
183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0B912C0
95C7FC17FC178040397DB849>68 D<B912F0A426007FF8C7FCEF1FF8170717031701A217
00A21878A3043C137C183CA41800167CA216FC150391B5FCA4ECF8031500167CA2163C18
0FA3181EA293C7FCA2183EA2183C187CA218FCA2EF01F81703170F173FEE01FFB9FC18F0
A338397DB83F>I<B912C0A43A007FF800039338007FE0171F170F1707A21703A21701A3
18F0EE7800A41800A216F8A21501150791B5FCA4ECF80715011500A21678A693C8FCADB7
FCA434397DB83C>I<B612FCA439007FF800B3B3ADB612FCA41E397DB824>73
D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F5F5E5EEE0FFE167FB8FC
A431397DB839>76 D<B8FC17F017FEEFFF8028007FF8000F13C0040113E07013F0EF7FF8
EF3FFCA2EF1FFEA218FFA818FEA2EF3FFCA2EF7FF8EFFFF04C13E0040F13C091B7120017
FC17E002F8C9FCB3A4B612FCA438397DB841>80 D<EDFFF8020FEBFF80027F14F0903A01
FFE03FFC010790380007FFD91FFC010113C049486D7FD97FE0EC3FF049486E7E48834849
6E7E4890C86C7EA248486F1380A2001F18C04981003F18E0A3007F18F04981A300FF18F8
AC007F18F0A36D5D003F18E0A36C6C4B13C0A2000FDA1FC014806C6C90267FF0071300ED
FFF86C903A81F07C0FFE6C903AC3C01E1FFC6CDA800F5BD97FE3ECBFF0D93FF36DB45AD9
1FFF5D010701C091C7FC01019038F01FFC6D6CB500F01308020F6E131C0200EBF9FC9226
0001FE133C9438FF80FC18FF8219F8A28319F0A27113E0A27113C0711380711300EF01FC
3E4A7BB948>I<B712FCEEFFE017FC17FF28007FF8000F13C004017F707F717E717EA271
7EA284A760A24D5A604D5A4D5A04035B041F90C8FC91B612FC17E0839139F8003FFCEE0F
FF707F707F8284A2707FA584A51A601AF084177F1901DD3FFE13E0B600FC011F13039439
0FFF87C071EBFF8005011400CBEA1FFC443A7DB848>I<D907FF130E013FEBE01E90B5EA
F83E0003ECFE7E3A07FC01FFFE390FF0001F4848130F48481303491301007F140090C8FC
167E5A163EA27F161E7F7F6D91C7FC13FC387FFFE014FEECFFF06C14FE6F7E6C816C15F0
6C816C81C681133F010F801301D9000F1480EC007F030F13C01503818100F0157FA3163F
A27E17807E167F6C16007E6D14FE01E0495A01F813039039FF801FF800FC90B512E0D8F8
3F5CD8F00749C7FC39E0007FF02A3B7BB935>I<003FB91280A4D9F800EBF003D87FC092
38007FC049161F007EC7150FA2007C1707A200781703A400F818E0481701A4C892C7FCB3
AE010FB7FCA43B387DB742>I<B600FC011FB512C0A426007FF8C8381FC000725AB3B318
1F013F94C7FC8060011F163E6D6C157E187C6D6C15FC6D6D495A6D6DEB07F06D01F0EB1F
E0DA7FFEEBFFC0021FB6C8FC02075C020014F0030F1380423A7DB849>I<EB3FFE0003B5
12E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5AEA0380C8FCA2EC
3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF5BA415FF6D5A12
7F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE0032A257DA42E>97
D<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C048485AEA0FF8121F13F012
3F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01E06C7E15036C6CEB07C06C
6C14806C6C131FC69038C07E006DB45A010F13F00101138023257DA42A>99
D<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F0003EB001FD8
07FC1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B000F5C6C6C5B
6C6C4913C02701FF80FD13FE39007FFFF9011F13E1010313012F3A7DB935>I<903803FF
80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B003F
EC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D
14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C>
I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C138F
003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE
07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C
15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C6C
495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>103
D<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E
4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>I<EA01F0EA07FC487EA248
7EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<01FE
EB7FC000FF903803FFF8020F13FE91381F03FFDA3C011380000713780003497E6D4814C0
5CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>110 D<903801FFC0010F13F8017F
13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F81491303007F81A300
FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A
6C6CB5C7FC011F13FC010113C029257DA430>I<9038FE03F000FFEB0FFEEC3FFF91387C
7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FE
A422257EA427>114 D<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA3000390C7FC
B21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D357EB425>
116 D<B539F001FFF8A4000390C7EA3F00161E6E133E6C153C6E137C6C15786E13F8017F
5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D
13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257EA432>118
D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2422 90 a Ff(DRAFT)32 b Fe(August)c(18,)f(1998)1189
372 y Ff(The)32 b(FLIP3U)h(QET)e(card)i(Driv)m(er)1344
472 y Fe(Stev)n(e)28 b(F)-7 b(urlanetto,)27 b(F)-7 b(ermilab)-120
747 y Fd(1)132 b(In)l(tro)t(duction)-120 928 y Fe(This)39
b(do)r(cumen)n(t)g(describ)r(es)g(the)g(basic)g(functionalit)n(y)g(of)g
(the)g(FLIP3U)f(QET)h(card,)i(and)e(the)g(soft)n(w)n(are)e(to)r(ols)i
(that)-120 1028 y(p)r(erform)27 b(them.)38 b(This)27
b(can)g(b)r(e)h(found)g(at)-120 1128 y Fc(http://fnphyx-ww)o(w.f)o(na)o
(l.)o(gov)o(/e)o(xpe)o(ri)o(men)o(ts)o(/c)o(dms)o(/s)o(oft)o(wa)o(re)o
(/GP)o(IB)o(/FL)o(IP)o(3UQ)o(et)o(.p)o(s)p Fe(.)-120
1402 y Fd(2)132 b(Design)-120 1584 y Fe(The)33 b(FLIP3U)g(QET)f(driv)n
(er)g(p)r(erforms)g(in)h(conjunction)g(with)h(the)f Fc(GPIB)42
b(protocol)p Fe(.)50 b(See)33 b(ref)g([1])g(for)g(a)f(detailed)h(de-)
-120 1684 y(scription.)k(The)28 b(basic)f(idea)g(is)h(that)g(commands)f
(are)g(issued)g(from)h(a)f(p)r(erl)h(script)f(and)h(are)f(sen)n(t)g
Fb(via)i Fe(tcp/ip)f(to)g(a)f(serv)n(er)-120 1783 y(whic)n(h)h(issues)f
(the)h(GPIB)f(commands)g(to)g(p)r(erform)g(the)h(action)f(on)h(the)g
(card.)-120 2058 y Fd(3)132 b(Instructions)-120 2240
y Fe(The)34 b(follo)n(wing)e(sections)h(list)g(the)h(metho)r(ds)g(that)
g(apply)f(to)g(instances)g(of)g(the)h(FLIP3UQet)f(class.)53
b(The)34 b(program)d(is)-120 2339 y(designed)c(to)g(b)r(e)h(used)g
(with)g(the)f Fc(rack.pl)e Fe(in)n(terface)i(program.)35
b(Instructions)27 b(for)g(use)g(of)g(this)h(in)n(terface)f(can)g(b)r(e)
h(found)-120 2439 y(in)g(ref)f([2].)5 2539 y(This)36
b(soft)n(w)n(are)e(also)h(con)n(tains)h(a)g(useful)g(p)r(ersistence)g
(feature.)63 b(Up)r(on)36 b(executing)g(an)n(y)g(command)g(to)g(the)h
(GPIB)-120 2638 y(b)r(o)n(x,)29 b(it)h(will)g(record)e(the)h(card)g
(status)g(in)h(a)f(\014le)g(called)g Fc(/tmp/hostname-FL)o(IP3)o(UQ)o
(et-)o(su)o(br)o(ack)o(-m)o(odu)o(le)o(.o)o(ut)p Fe(,)24
b(where)-120 2738 y Fc(subrack)18 b Fe(is)i(the)h(subrac)n(k)d(of)j
(the)g(card)e(and)h Fc(module)e Fe(is)j(the)f(mo)r(dule)h(n)n(um)n(b)r
(er)f(of)g(the)h(card.)34 b(If)21 b Fc(-s)e Fe(is)i(used,)g(then)g
Fc(hostname)-120 2838 y Fe(b)r(ecomes)h Fc(script)p Fe(.)32
b(When)22 b Fc(rack.pl)e Fe(is)h(run)h(again,)g(it)g(will)g
(automatically)f(searc)n(h)f(for)i(this)g(\014le)g(and)f(reload)g
(those)g(v)-5 b(alues)-120 2937 y(in)n(to)25 b(memory)-7
b(.)35 b(This)25 b(feature)g(is)f(designed)h(to)g(ensure)f(that)h(the)h
(hardw)n(are)c(and)j(soft)n(w)n(are)e(remain)i(sync)n(hronized.)34
b(If)26 b(the)-120 3037 y(rac)n(k)g(is)i(p)r(o)n(w)n(ered)e(do)n(wn,)h
(b)r(e)h(sure)f(to)h(re-initialize)e(the)i(settings)g(when)f(the)h
(program)e(is)h(run)h(again.)-120 3269 y Fa(3.1)112 b(General)38
b(Information)76 3422 y Fe(help)k(\()p Ff(String)28 b
Fc(topic)p Fe(\))270 3522 y(Prin)n(ts)i(the)h(subset)f(of)g(the)h
(commands)f(that)h(can)f(b)r(e)h(issued)f(to)g(the)h(ZIP)f(card)g(whic)
n(h)g(con)n(tain)g(the)h(string)270 3622 y Fc(topic)p
Fe(.)k(If)28 b(no)f(argumen)n(t,)g(prin)n(ts)g(all)h(the)g(help)f
(information.)51 3755 y(prin)n(t)41 b(\()p Ff(v)m(oid)p
Fe(\))270 3854 y(Prin)n(ts)32 b(information)f(ab)r(out)i(the)f(GPIB)g
(b)r(o)n(x)g(and)h(the)f(card)g(including)g(mo)r(dule)h(n)n(um)n(b)r
(er)f(and)h(the)f(status)270 3954 y(bits)c(of)g(the)g(Con)n(trol)e
(Registers.)-87 4087 y(cardt)n(yp)r(e)40 b(\()p Ff(v)m(oid)p
Fe(\))270 4186 y(Prin)n(ts)27 b(card)g(t)n(yp)r(e)g(that)h(computer)f
(b)r(eliev)n(es)h(to)f(b)r(e)h(correct)-139 4319 y(sa)n(v)n(eScript)40
b(\()p Ff(String)28 b Fc(filename)p Fe(,)c Ff(in)m(t)k
Fc(overwrite)p Fe(\))270 4419 y(Sa)n(v)n(es)f(all)g(subsequen)n(t)g
(GPIB)h(commands)f(to)g Fc(filename)p Fe(.)34 b(Commands)28
b(are)e(sa)n(v)n(ed)h(in)h(format)f(readable)f(b)n(y)270
4518 y(LABView)j(in)n(terface)g(and)f(P)n(erl)g(script)h(reading)e
(routine.)41 b(The)29 b Fc(overwrite)c Fe(\014eld)k(is)g(optional)f
(\(if)i(omitted,)270 4618 y(and)35 b(relev)-5 b(an)n(t,)35
b(user)f(will)h(b)r(e)g(prompted)f(for)g(it\).)58 b(The)35
b(p)r(ossible)f(c)n(hoices)f(are:)50 b Fc(1)34 b Fe(to)g(app)r(end)h
(to)f(existing)270 4718 y Fc(filename)p Fe(,)25 b Fc(2)i
Fe(to)g(o)n(v)n(erwrite)f Fc(filename)p Fe(,)e(or)j Fc(3)g
Fe(to)h(cancel)f(if)h Fc(filename)c Fe(exists.)-117 4850
y(endScript)41 b(\()p Ff(v)m(oid)p Fe(\))270 4950 y(Ceases)27
b(sa)n(ving)f(commands)h(to)g(a)g(\014le.)1809 5356 y(1)p
eop
%%Page: 2 2
2 1 bop -144 90 a Fe(enableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))270 190 y(Enables)27 b(comm)n(unication)g(with)h(GPIB)f(b)r(o)n
(x.)36 b(Note)28 b(that)g(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g
(b)r(o)n(x.)-163 323 y(disableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))270 422 y(Disables)27 b(comm)n(unication)g(with)h(GPIB)g(b)r(o)n
(x.)36 b(Note)28 b(that)f(this)h(only)g(w)n(orks)d(for)j(curren)n(t)e
(b)r(o)n(x.)-179 555 y(accum)n(ulate)40 b(\()p Ff(v)m(oid)p
Fe(\))270 655 y(Creates)22 b(a)g(queue)h(of)g(commands)f(for)g(the)h
(GPIB)g(b)r(o)n(x.)34 b(Will)24 b(not)f(execute)f(them)i(un)n(til)f
(\\execute")e(command)270 754 y(is)28 b(giv)n(en;)f(then)h(it)g(will)f
(do)h(them)g(all)f(at)h(once.)-272 887 y(unaccum)n(ulate)41
b(\()p Ff(v)m(oid)p Fe(\))270 987 y(T)-7 b(urns)27 b(o\013)h(accum)n
(ulation)f(feature.)36 b(Note)28 b(that)g(the)g(remaining)e(items)i(in)
g(the)g(queue)g(are)e(NOT)i(executed.)-41 1120 y(execute)41
b(\()p Ff(v)m(oid)p Fe(\))270 1219 y(Executes)27 b(all)g(commands)g(in)
h(the)g(GPIB)f(b)r(o)n(x)g(queue.)-94 1352 y(p)r(o)n(w)n(erUp)40
b(\()p Ff(v)m(oid)p Fe(\))270 1452 y(Resets)c(con)n(trol)f(registers)g
(and)h(D)n(A)n(Cs)g(to)g(the)h(v)-5 b(alues)35 b(that)i(are)e(b)r
(eliev)n(ed)h(b)n(y)g(the)h(soft)n(w)n(are)d(to)i(b)r(e)h(true.)270
1551 y(Designed)28 b(for)f(use)g(when)h(p)r(o)n(w)n(er)e(is)i(sh)n(ut)f
(o\013)h(to)g(b)r(oard)e(without)i(reloading)e(program.)18
1684 y(toFile)41 b(\()p Ff(String)28 b Fc(filename)p
Fe(\))270 1784 y(Sa)n(v)n(es)e(curren)n(t)h(card)g(settings)g(to)h
(\014le)f Fc(filename)p Fe(.)-77 1917 y(fromFile)41 b(\()p
Ff(String)28 b Fc(filename)p Fe(\))270 2016 y(Reads)f(card)g(settings)g
(from)h Fc(filename)c Fe(and)j(sets)h(registers)e(and)h(D)n(A)n(Cs)g
(to)h(those)f(settings.)-160 2149 y(up)r(dateFile)42
b(\()p Ff(String)28 b Fc(filename)p Fe(\))270 2249 y(Reads)d(card)f
(settings)g(from)h(card)f(\(using)h(readbac)n(k)e(feature\))i(and)g(up)
r(dates)g(soft)n(w)n(are)e(memory)h(and)h(p)r(ersis-)270
2348 y(tence)j(\014le.)104 2481 y(init)42 b(\()p Ff(v)m(oid)p
Fe(\))270 2581 y(Resets)35 b(registers)e(and)i(D)n(A)n(Cs)g(to)g
(initial)g(v)-5 b(alues)35 b(\(D)n(A)n(Cs)g(set)g(at)f(zero,)i
(\014lters)f(selected)g(to)g(b)r(e)g(0,)i(and)d(all)270
2680 y(c)n(hannels)27 b(disabled\).)-120 2913 y Fa(3.2)112
b(QET)37 b(Con)m(trol)f(Registers)-66 3066 y Fe(IVMo)r(de)41
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3166 y(Sets)g(PHi)f(calibration)g(bit)h(on)f(heater)g
Fc(channel)e Fe(to)i(calibrate)g(mo)r(de.)-130 3299 y(BiasMo)r(de)40
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3398 y(Sets)g(PHi)f(calibration)g(bit)h(on)f(heater)g
Fc(channel)e Fe(to)i(measure)g(mo)r(de.)-194 3531 y(EnableHeat)40
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3631 y(Enables)f(all)g(heaters)g(included)h(in)g Fc(channel)p
Fe(.)-211 3764 y(DisableHeat)41 b(\()p Ff(String)28 b
Fc(channel=a,b,c,d)p Fe(\))270 3863 y(Disables)f(all)h(heaters)e
(included)j(in)e Fc(channel)p Fe(.)-247 3996 y(HeaterWidth)42
b(\()p Ff(\015oat)28 b Fc(width)p Fe(\))270 4096 y(Sets)j(heater)f
(width)h(to)g(nearest)f(p)r(ossible)g(v)-5 b(alue)31
b(to)f Fc(width)p Fe(,)g(alw)n(a)n(ys)e(rounding)i(do)n(wn.)46
b(Widths)31 b(should)g(b)r(e)270 4195 y(input)e(in)e(ms;)h(p)r(ossible)
f(settings)h(are)e(in)i(units)g(of)g(100)e(ms.)57 4328
y(reset)41 b(\()p Ff(v)m(oid)p Fe(\))270 4428 y(Resets)28
b(card)e(bits.)-171 4561 y(readHeater)40 b(\()p Ff(v)m(oid)p
Fe(\))270 4660 y(Reads)27 b(bac)n(k)g(QET)g(CSR)h(and)f(up)r(dates)h
(memory)-7 b(.)-109 4793 y(readQET)39 b(\()p Ff(v)m(oid)p
Fe(\))270 4893 y(Reads)27 b(bac)n(k)g(QET)g(CSR)h(and)f(D)n(A)n(Csand)g
(up)r(dates)h(memory)-7 b(.)1809 5356 y(2)p eop
%%Page: 3 3
3 2 bop -120 90 a Fa(3.3)112 b(QET)37 b(D)m(A)m(Cs)-210
243 y Fe(setQETBias)i(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Ff(,)d(\015oat)j Fc(value)p Fe(\))270 343 y(Sets)g(bias)f(on)g(QET)g
Fc(channel)e Fe(to)i Fc(value)p Fe(.)-182 476 y(pulseheater)40
b(\()p Ff(v)m(oid)p Fe(\))28 b(Pulses)f(all)h(enabled)f(heaters.)-266
609 y(readQETBias)39 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Fe(\))270 708 y(Reads)f(QET)g(bias)g(for)g Fc(channel)p
Fe(.)-120 983 y Fd(References)-78 1165 y Fe([1])41 b(Stev)n(e)27
b(Eic)n(h)n(blatt,)g(Sae)g(W)-7 b(o)r(o)28 b(Nam)f(CDMS)i(note)e
(9712002.)d Fb(The)31 b(CDMS)f(Net)f(Pr)l(oto)l(c)l(ol)-78
1331 y Fe([2])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7
b(urlanetto)28 b Fb(Gener)l(al)i(Information)h(on)f(the)g(Perl-b)l(ase)
l(d)g(Ele)l(ctr)l(onics)h(Interfac)l(e)1809 5356 y Fe(3)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of FLIP3UQet.ps
echo FLIP3USquid.ps 1>&2 
cat >FLIP3USquid.ps << 'End of FLIP3USquid.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: FLIP3USquid.dvi
%%Pages: 3
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips FLIP3USquid.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1128
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (FLIP3USquid.dvi)
@start
%DVIPSBitmapFont: Fa cmbx12 12 26
/Fa 26 118 df<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F
0F788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713
FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16
C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC
15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0
EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80F
FEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<EE1F80A24C
7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80
157C8203FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C7
7EA24A82023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A
153FA249488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949
C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F484916
1F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2
123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C
167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7
FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>67
D<B9FC18F018FE727E19E026003FFEC7001F13F805017F9438003FFF060F7F727F727F72
7F84737E737EA2737EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F
624F5A19FF624E5B06075B4E5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9
FC4B447CC356>I<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B5
39E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F
4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C8FC12FF
AD057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E6C7F6C7F6D7E6D
6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90B6120F0207EDFC
030201EDF000DA001F02C01330030001FCC9FC4C467AC458>71 D<B712E0A5D8001F90C7
FCB3B3B3A4B712E0A523447DC32A>73 D<B812F8EFFFC018F818FE727ED8001F90C7003F
13E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E5A61187F943801FF
F005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2717FA271
7FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF8060114F072
6C13E0CC0007138050457DC354>82 D<DAFFE0131C010701FE133C013F9038FF807C90B6
EAE0FC4815F9489038801FFF3907FC00014848EB007F4848143F4848140F491407007F15
035B1601160012FF177CA27FA26D153C7F7F6D92C7FC6C7EEBFFE014FE6CEBFFF015FF6C
15E016FC6C816C6F7E6C826C826C6C81011F810107811300020F80140003077FED007F82
040F1380828212F082A282A27EA218007EA26C5D6C5E6D14036D5D6D140701F84A5A01FF
EC3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8F80714FC48C614F0480107138031467AC4
3E>I<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C
6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC
01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE
013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>
97 D<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FF
F807FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212FF
AC127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F0
1FEF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>100
D<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48
486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FC
A5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB
3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF
80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2
ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC5
22>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001F
F84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FC
A26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0
000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0
C77ED83FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A
5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32
427DAC38>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90
C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105 D<EB7FC0B5FCA512037E
B3B3B3A3B61280A519457CC420>108 D<90277F8007FEEC0FFCB590263FFFC090387FFF
8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003
D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7
B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114
F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7
B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF90
26FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F001F82A2003F8249140700
7F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEB
FFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD
38>I<DA3FE0131E902603FFFC133E010F01FF137E013F1480903AFFF80FE0FE489038E0
03F148EBC0014890388000FB4890C7127F49143F001F151F485A160F5B127FA3485AAC6C
7EA46C7EA26C6C141F163F6C6C147F6C15FF6C6D5A6C9038E003EF6C9038F01FCF6DB512
8F011FEBFE0F010313F89038007FC091C7FCAD0307B512FCA536407CAC3B>113
D<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8
A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>I<90391FFC
038090B51287000314FF120F381FF003383FC00049133F48C7121F127E00FE140FA21507
7EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC6C800003806C15806C7E010F
14C0EB003F020313E0140000F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F8001
E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01E0
A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA4C601E0C7FCB3
A3ED01E0A9150302F013C0137F150790393FF80F8090391FFC1F006DB5FC6D13FC01015B
9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FCA50003EC000F6C81B3A85EA25E
A25E7E6E491380017FD901F713FE9138F807E76DB512C7010F1407010313FE9026007FF0
EBFC00372E7CAC3E>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti10 10 27
/Fb 27 119 df<387FFFF8A2B5FCA214F0150579941E>45 D<DB03FE130E92393FFF801E
92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC
49481407494815F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A
94C7FCA2485AA3127F5BA312FF90CBFCA41738A217784816707E17F06C5E16015F16036C
6C4A5A94C7FC001F150E6D141E000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F
807EC8FC6DB45A010F13E0010090C9FC373D74BA3B>67 D<0103B612FEEFFFC018F0903B
0007F8000FF84BEB03FCEF00FE020F157FF03F804B141F19C0021F150F19E05D1807143F
19F05DA2147FA292C8FCA25C180F5CA2130119E04A151FA2130319C04A153FA201071780
187F4A1600A2010F16FEA24A4A5A60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17
FC017FEC03F84C5A91C7EA1FC04949B45A007F90B548C8FCB712F016803C397CB83F>I<
0107B8FCA3903A000FF000034BEB007F183E141F181E5DA2143FA25D181C147FA2923800
0380A24A130718004A91C7FC5E13015E4A133E167E49B512FEA25EECF8000107147C163C
4A1338A2010F147818E04A13701701011F16C016004A14031880013F150718004A5CA201
7F151E173E91C8123C177C4915FC4C5A4914070001ED7FF0B8FCA25F38397BB838>I<DB
03FE130E92393FFF801E92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7
EA1FF802FE140FEB03FC49481407494815F049481403495A5C49C813E05B485A5B000317
C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF90CBFC0307B512E0A392390007
FC00705A16075FA36C150F5FA36C6C141FA2001F5E6D143F6C7E167F6C6C4A5A6C6CEB03
EFD801FEEB07C73A007FC03F0790273FFFFC03C7FC010F01F0C8FC01001380373D74BA40
>71 D<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA2143FA25DA2147FA292
C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25C
A2137FA291C8FC497EB6FCA25C25397CB820>73 D<902607FFF8923807FFF0614F13E0D9
000FEFF0004F5AA2021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED07
1FA20278ED0E3F97C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02
C0EC0380A20103ED0701610280140EA20107ED1C0305385B14006F137049160705E05B01
0EEC01C0A2011E913803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F
04F091C8FC01705CA201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E
4C397AB84A>77 D<902603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA
0E7F5DA2021E6D1307033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E030714
1C147082DAF003143C70133814E0150101016E1378030014705C8201036E13F0604A1480
163F010715C1041F5B91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2
013C805F1338160013785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<01
07B612F817FF1880903B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25D
A2147FEF03FC92C7FCA24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A
5AEE0FF091B612C04CC7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137F
A291CAFCA25BA25B1201B512FCA337397BB838>80 D<92383FC00E913901FFF01C020713
FC91391FC07E3C91393F001F7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2
011F15E091C7FCA34915C0A36E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0
010080023F7F14079138007FFC150F15031501A21500A2167C120EA3001E15FC5EA3003E
4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E0
1F138026C003FCC8FC2F3D7ABA2F>83 D<0007B812E0A25AD9F800EB001F01C049EB07C0
485AD900011403121E001C5C003C17801403123800785C00701607140700F01700485CA2
140FC792C7FC5DA2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303
A25CA21307A25CA2130FA25CEB3FF0007FB512F8B6FCA2333971B83B>I<14F8EB07FE90
381F871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403
007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300
ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97
D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F
80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214
0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07
C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00
70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F
90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00
380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2
150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF017C5BEB
F80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A485CA2
140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038038F8E
391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1E09038
3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81
FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0
6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0ED3E38
ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D010FB512
C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA413075CA4130F
5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F80264C
82BA19>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07
F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F
000715005BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0
A216704814E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB9
2A>104 D<EB01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E
1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E0
13C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>
I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA212
03A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131E
EAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79B915>108
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>I<D8
01E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E00078
13C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12
034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E001FEC
3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F00F8
017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A
4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E
6C13F8380F83F03803FFC0C648C7FC202677A42A>I<3903C003F0390FF01FFC391E783C
0F381C7C703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0
FE5BA2120012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A4
23>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F0000113
0313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C0130014
3F141F140F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD8
01FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5
FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F13
38EB0078147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>
I<01F0130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25B
D8F07E140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35D
A24A5A140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>118
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10 43
/Fc 43 122 df<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201
EA03F01207EA1FE0EA7FC0EAFF80130012FC12700E17718A2C>44
D<007FB6FCB71280A46C150021067B9B2C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F
80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D14015D14035DA2
14075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C130F5C131F5C
A2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F90C9FC5A127E
12FE5AA25A127821417BB92C>I<1307497EA2131FA2133F137F13FF5A1207127FB5FC13
DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>49
D<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7
EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F
16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F80
49C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<
EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151F
A26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F9038
0007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F00
7FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357C
B32C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0
EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>58 D<007FB612F0B712F8A4003F15F0CAFC
A8003FB612F0B712F8A46C15F025147DA22C>61 D<007FB512E015F8B612FE6C8016C039
03F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B61200
5D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED
03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>66
D<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716
F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80ED
FF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>68 D<007FB612F8B712FCA37E
D803F0C7FCA716781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC
805C7E26337EB22C>70 D<903901FC038090390FFF87C04913EF017F13FF90B6FC481307
3803FC01497E4848137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FC
A212FE5AA8913803FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F
120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7
FC26357DB32C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FC
A36C14F81E3379B22C>73 D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007F
B6FCB7FCA36C15F025337DB22C>76 D<007FB512C0B612F88115FF6C15802603F00013C0
153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B6128016
0015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>80
D<EB7FFF0003B512E0000F14F848804880EBF007EB800048C7127FA2007E80A300FE1580
48141FB3A7EB01F0EB03F800FE143F267E01FC1300A2EB00FE007F5C147FD83F8013FEEB
F03F90B5FC6C5C6C5C000314E0C67E90380007F0A26E7EA26E7EA26E7EA2157FA2153E21
407BB32C>I<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7
FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13
FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0
A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F9
14F0D8F83F13C0D8700790C7FC23357CB32C>83 D<3B7FFF803FFFC0B56C4813E0A36C49
6C13C03B03F00001F800B3AF6D130300015DA26D130700005D6D130F017F495A6D6C485A
ECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B3480B22C>85
D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8
127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F
14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>
97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138
801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13
036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027
337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E
4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F0039
07FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC
003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC
007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CEC
BFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E
48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075A
B7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001
FF13FF000190B512806C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3F
FE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C
5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<ED03F8903907F80FFC90
391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC1CD9C000
1300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D481480D99F
FEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A3FC0001F
F848C7EA03FC007E1400007C157C00FC157E48153EA46C157E007E15FCD87F801303D83F
E0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8010713C028387EA42C>
I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC0
1F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029337FB22C>I<
1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007F
B512FCB612FEA36C14FC1F3479B32C>I<EA7FE0487EA3127F1201AA91381FFFF04A13F8
A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5
FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400157E811680151F3A7FFFC0FFFC
B500E113FEA36C01C013FC27337EB22C>107 D<387FFFE0B57EA37EEA0003B3B3A5007F
B61280B712C0A36C158022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD8
7FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B3
3B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397F
F01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B
5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>I<EB07FCEB1FFF017F
13C048B512F048803907FC07FC390FF001FE48486C7E0180133F003F158090C7121F007E
EC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C
485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397FF01FE0
39FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091380007F049EB03F8
5BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE0
9138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B2736
7FA32C>I<903903FC078090391FFF0FC0017F13CF48B512EF4814FF3807FE07380FF001
48487E49137F4848133F90C7FC48141F127E150F5AA87E007E141FA26C143F7F6C6C137F
6D13FF380FF0033807FC0F6CB6FC6C14EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A
1480A36E140029367DA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B3900
3F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C
26247EA32C>I<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB
00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00
FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8
148039701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1
ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE023
2E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F39
00FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514
FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C13
7CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214
FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807
C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87A214F7A201F113C700005D9038
F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA32C
>I<3A3FFF03FFF048018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F
83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80
903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01
FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C01
0113FC3A03E0000F806C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13
FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2
143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8
FC6C5A6C5AEA07E027367EA32C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx14 14.4 18
/Fd 18 118 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<B912FEF0FFF019FEF1FFC01AF0D8000F
01E0C7003F13FC06037F9539007FFF80071F7F07077F737F737F737F747E747E86741380
1CC0861CE0861CF0A27413F8A31CFC86A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0
A25013E0A25013C0A250138050130063505A1AFF07035B4F13E0071F5B077F5B0603B5C7
FC063F13FCBB12F01AC04FC8FC19F04EC9FC58527BD165>68 D<B81280A5D8000701F0C7
FCB3B3B3B2B81280A529527DD130>73 D<B912C018FEF0FFE019FC19FFD8000F9026E000
0114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A26163636198C8
FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226E0000F13F805
0113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2841C03730180
13E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B5120007005C081F5BCD00
0113F05C537BD162>82 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC90
3A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E130070
5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C
6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC
023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803
FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149
487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA312
1F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F
010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13
F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48
496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FC
CAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C
6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC02
0113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE0010390
38E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAE
B712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF8001
0FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E48499038
7FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D14
3F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E0
2707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F0
6C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83A5
6D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F
1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC048
7F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612
F0A51C547CD324>105 D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92
397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3
ACB6D8F807B612C0A542367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F
018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F488348
8349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2
001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6D
B46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<90393FF001
FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015
C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC6
1607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F87
6D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr10 10 71
/Fe 71 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<121C127FEAFF80A8EA7F00AB123EAB121CABC7FCA8121C127FEA
FF80A5EA7F00121C093C79BB17>33 D<001C131C007F137F39FF80FF80A26D13C0A3007F
137F001C131C00001300A40001130101801380A20003130301001300485B00061306000E
130E485B485B485B006013601A197DB92A>I<146014E0EB01C0EB0380EB0700130E131E
5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA312
1EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E014
60135278BD20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C
133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA213
3E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C
127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A
19798817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>
I<150C151E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A2158014
0FA215005CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA2
91C7FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA2
90C8FC5AA2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB03F8EB1FFF
90387E0FC09038F803E03901E000F0484813780007147C48487FA248C77EA2481580A300
7EEC0FC0A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA26C6C5B
6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>I<EB01C01303
1307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>I<EB0FF0EB7F
FE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E126012FCB4EC
7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A92C7FC147C5C
495A495A495A495A91C8FC011EEB01805B5B49130348481400485A485A000EC75A000FB6
FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF03903C007F84848
6C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A5A5DEC0F8002
7EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2121E
EA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A121E390F8003F83907
F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<0006140CD80780133C9038F003
F890B5FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007
E090388003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C12
E000605C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC3800
7FFCEB1FE0213A7CB72A>53 D<12301238123E003FB612E0A316C05A168016000070C712
060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C140E140C141C5CA25CA214
F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8FC131E233B7BB82A>55
D<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848137C90C77E48141E00
0E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C6C6C5AECC1E06CEBF3
C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE3907801FFF48486C13
80481303003E6D13C0003CEB007F007C143F0078EC0FE000F814075A1503A21501A36C15
C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F803F0C6B55A013F1380
D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E03903F803F048486C7E
48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616E0A56C143FA27F123F
001F147FA26C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD93FFC13C0EB07F090
C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A6C48485A001C495A26
0F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<121C127FEAFF80A5EA7F0012
1CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C127FEAFF80A5EA7F0012
1CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206A2120E5A121812385A
1260093479A317>I<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC
0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A2
49C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0
707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65
D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283A75F16
035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83
707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812C094C7
FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF807E07903A03
FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F48
48150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A312
3F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91FE0
5C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380313D
7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E707E
177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F
18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036397D
B83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A3170783
16C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C7
12C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839>I<
B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2ED01
80A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0B612
C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03903A03FC000787
D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F48481507A24848
1503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E9338007FE0EF3FC0A212
3F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D9
03FEEB0783903A00FFC03F0191393FFFFC00020F01F0130002001380383D7CBA41>I<B6
48B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C71201B3A6486D497EB6
48B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>
I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601160316
0FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC002600DF
C0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303
A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC01
80A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48
497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007FE06E
EC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81
140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF
6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E487E
D80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC903901F8
007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E000316
7F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300FF17
FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F000317
006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC90
3900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE000190398001FF
806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F8
17F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839>I<
EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C7
6C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C049151F001F17E0A24848
ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA2003F17F0A26C6CED1F
E0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC0701C0FEEC0E002600
FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981
FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0FFFA318F08218E070
13C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190388007FE6C90C76C
7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91
B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F18
03486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>I<D90F
F813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48C7121F003E
140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8EC
FF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F
150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F
80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003F
B812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A300601730A400
E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFE
A3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D
6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF802
0713E09138007F80373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8
EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA280
01075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A2
15E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36F
C9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7
EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406
A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE18
1FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F
818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3F
F0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>
I<003FB7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F00784A5A
12704B5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A5A92C8FC
5B495AA2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B1203485AEE0700
485A495C001F5D48485C5E4848495A49130FB8FCA329397BB833>90
D<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>I<390180018000031303390700
0700000E130E485B0018131800381338003013300070137000601360A200E013E0485BA4
00CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A>I<EA
FFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB1FE0EBFFFC3803E03F3907000F
80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA
03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18
383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1
913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB
F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C
EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312
3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380
3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348
6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90
39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280
A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F
4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14
076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090
381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F
803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3
ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF
F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781
9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA
127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE
0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3
E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512
F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800
0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2
EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214
7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0
18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2
D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D
5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37
257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D
6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7
E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC
3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003
EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C
5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA
7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5
12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15
0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B
4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx10 10 26
/Ff 26 119 df<913903FFC7C0027F13FF0103B6FC010F130090383FF80190387FE003EB
FFC05A14805A4A7EA281A9B8FCA4000390C7FCB3ABB5D8FC3F13FFA4303A7EB935>13
D<EA0F80EA3FE0EA7FF0A2EAFFF8A213FCA3127FA2123FEA0F9CEA001C133C1338A31378
137013F0EA01E0A2EA03C0EA0780EA0F005A121C12180E1D798C1B>44
D<EB03FF011F13F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF001
FC14F0121F7FA56C4814E0A23803F001C714C04A138016004A5A4A5AEC3FF090380FFFC0
92C7FC15F090380007FE913801FF806E13C016E0ED7FF016F816FC153FA216FEEA1FC048
7E487E487EA416FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C0260FFC0713806C
B61200000114FC6C6C13F0010790C7FC27387CB630>51 D<ED03E04B7EA24B7EA34B7EA2
4B7EA34B7EA292B57EA34A8015F302038015E1A202078015C0020F80ED807FA2021F80ED
003F4A80023E131FA2027E80027C7F02FC814A7FA20101824A7F49B77EA3498202C0C7FC
010F824A147FA2011F8291C8123F4982013E151FA2017E82017C8101FE83B500F80107B6
1280A4413A7DB948>65 D<B87E17F817FF18C028007FF8000713F09338007FF8EF1FFE71
7E050313807113C0A27113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FEA419FC
183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0B912C0
95C7FC17FC178040397DB849>68 D<B912C0A43A007FF800039338007FE0171F170F1707
A21703A21701A318F0EE7800A41800A216F8A21501150791B5FCA4ECF80715011500A216
78A693C8FCADB7FCA434397DB83C>70 D<B612FCA439007FF800B3B3ADB612FCA41E397D
B824>73 D<B7FCA426007FF8C9FCB3ACEF0780A5170F1800A35FA25FA25F5F5E5EEE0FFE
167FB8FCA431397DB839>76 D<B8FC17F017FEEFFF8028007FF8000F13C0040113E07013
F0EF7FF8EF3FFCA2EF1FFEA218FFA818FEA2EF3FFCA2EF7FF8EFFFF04C13E0040F13C091
B7120017FC17E002F8C9FCB3A4B612FCA438397DB841>80 D<EDFFF8020FEBFF80027F14
F0903A01FFE03FFC010790380007FFD91FFC010113C049486D7FD97FE0EC3FF049486E7E
488348496E7E4890C86C7EA248486F1380A2001F18C04981003F18E0A3007F18F04981A3
00FF18F8AC007F18F0A36D5D003F18E0A36C6C4B13C0A2000FDA1FC014806C6C90267FF0
071300EDFFF86C903A81F07C0FFE6C903AC3C01E1FFC6CDA800F5BD97FE3ECBFF0D93FF3
6DB45AD91FFF5D010701C091C7FC01019038F01FFC6D6CB500F01308020F6E131C0200EB
F9FC92260001FE133C9438FF80FC18FF8219F8A28319F0A27113E0A27113C07113807113
00EF01FC3E4A7BB948>I<B712FCEEFFE017FC17FF28007FF8000F13C004017F707F717E
717EA2717EA284A760A24D5A604D5A4D5A04035B041F90C8FC91B612FC17E0839139F800
3FFCEE0FFF707F707F8284A2707FA584A51A601AF084177F1901DD3FFE13E0B600FC011F
130394390FFF87C071EBFF8005011400CBEA1FFC443A7DB848>I<D907FF130E013FEBE0
1E90B5EAF83E0003ECFE7E3A07FC01FFFE390FF0001F4848130F48481303491301007F14
0090C8FC167E5A163EA27F161E7F7F6D91C7FC13FC387FFFE014FEECFFF06C14FE6F7E6C
816C15F06C816C81C681133F010F801301D9000F1480EC007F030F13C01503818100F015
7FA3163FA27E17807E167F6C16007E6D14FE01E0495A01F813039039FF801FF800FC90B5
12E0D8F83F5CD8F00749C7FC39E0007FF02A3B7BB935>I<003FB91280A4D9F800EBF003
D87FC09238007FC049161F007EC7150FA2007C1707A200781703A400F818E0481701A4C8
92C7FCB3AE010FB7FCA43B387DB742>I<B600FC011FB512C0A426007FF8C8381FC00072
5AB3B3181F013F94C7FC8060011F163E6D6C157E187C6D6C15FC6D6D495A6D6DEB07F06D
01F0EB1FE0DA7FFEEBFFC0021FB6C8FC02075C020014F0030F1380423A7DB849>I<EB3F
FE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5AEA0380
C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF5BA415
FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE0032A257D
A42E>97 D<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C048485AEA0FF812
1F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01E06C7E15036C6C
EB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023257DA42A>99
D<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F0003EB001FD8
07FC1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B000F5C6C6C5B
6C6C4913C02701FF80FD13FE39007FFFF9011F13E1010313012F3A7DB935>I<903803FF
80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B003F
EC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D
14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C>
I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F48486C138F
003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE
07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C
15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16006D5C6C6C
495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377DA530>103
D<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E
4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>I<EA01F0EA07FC487EA248
7EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<01FE
EB7FC000FF903803FFF8020F13FE91381F03FFDA3C011380000713780003497E6D4814C0
5CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>110 D<903801FFC0010F13F8017F
13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F81491303007F81A300
FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A
6C6CB5C7FC011F13FC010113C029257DA430>I<9038FE03F000FFEB0FFEEC3FFF91387C
7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FE
A422257EA427>114 D<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA3000390C7FC
B21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D357EB425>
116 D<B539F001FFF8A4000390C7EA3F00161E6E133E6C153C6E137C6C15786E13F8017F
5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D
13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257EA432>118
D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2422 90 a Ff(DRAFT)32 b Fe(August)c(18,)f(1998)1119
369 y Ff(The)32 b(FLIP)h(3U)f(SQUID)h(card)g(Driv)m(er)1344
469 y Fe(Stev)n(e)28 b(F)-7 b(urlanetto,)27 b(F)-7 b(ermilab)-120
743 y Fd(1)132 b(In)l(tro)t(duction)-120 925 y Fe(This)35
b(do)r(cumen)n(t)g(describ)r(es)g(the)h(basic)e(functionalit)n(y)h(of)g
(the)h(FLIP)f(3U)g(Squid)g(card,)h(and)f(the)h(soft)n(w)n(are)d(to)r
(ols)i(that)-120 1025 y(p)r(erform)27 b(them.)38 b(This)27
b(can)g(b)r(e)h(found)g(at)-120 1124 y Fc(http://fnphyx-ww)o(w.f)o(na)o
(l.)o(gov)o(/e)o(xpe)o(ri)o(men)o(ts)o(/c)o(dms)o(/s)o(oft)o(wa)o(re)o
(/GP)o(IB)o(/FL)o(IP)o(3US)o(qu)o(id)o(.ps)o Fe(.)-120
1398 y Fd(2)132 b(Design)-120 1580 y Fe(This)33 b(FLIP)g(3U)h(SQUID)g
(driv)n(er)e(p)r(erforms)g(in)i(conjunction)g(with)f(the)h
Fc(GPIB)42 b(protocol)p Fe(.)51 b(See)34 b(ref)f([1])g(for)g(a)g
(detailed)-120 1680 y(description.)i(The)23 b(basic)g(idea)h(is)f(that)
h(commands)f(are)f(issued)h(from)g(a)g(p)r(erl)h(script)f(and)g(are)g
(sen)n(t)g Fb(via)i Fe(tcp/ip)e(to)h(a)f(serv)n(er)-120
1779 y(whic)n(h)28 b(issues)f(the)h(GPIB)f(commands)g(to)g(p)r(erform)g
(the)h(action)f(on)h(the)g(card.)-120 2053 y Fd(3)132
b(Instructions)-120 2235 y Fe(The)30 b(follo)n(wing)e(sections)h(list)g
(the)h(metho)r(ds)g(that)g(apply)f(to)g(instances)g(of)h(the)g
(FLIP3USquid)f(class.)41 b(The)30 b(program)d(is)-120
2335 y(designed)g(to)g(b)r(e)h(used)g(with)g(the)f Fc(rack.pl)e
Fe(in)n(terface)i(program.)35 b(Instructions)27 b(for)g(use)g(of)g
(this)h(in)n(terface)f(can)g(b)r(e)h(found)-120 2434
y(in)g(ref)f([2].)5 2534 y(This)36 b(soft)n(w)n(are)e(also)h(con)n
(tains)h(a)g(useful)g(p)r(ersistence)g(feature.)63 b(Up)r(on)36
b(executing)g(an)n(y)g(command)g(to)g(the)h(GPIB)-120
2634 y(b)r(o)n(x,)23 b(it)f(will)g(record)f(the)h(card)f(status)h(in)g
(a)g(\014le)g(called)g Fc(/tmp/hostname-F)o(LIP)o(3U)o(Sq)o(uid)o(-s)o
(ubr)o(ac)o(k-m)o(od)o(ul)o(e.o)o(ut)o Fe(,)c(where)-120
2733 y Fc(subrack)g Fe(is)i(the)h(subrac)n(k)d(of)j(the)g(card)e(and)h
Fc(module)e Fe(is)j(the)f(mo)r(dule)h(n)n(um)n(b)r(er)f(of)g(the)h
(card.)34 b(If)21 b Fc(-s)e Fe(is)i(used,)g(then)g Fc(hostname)-120
2833 y Fe(b)r(ecomes)h Fc(script)p Fe(.)32 b(When)22
b Fc(rack.pl)e Fe(is)h(run)h(again,)g(it)g(will)g(automatically)f
(searc)n(h)f(for)i(this)g(\014le)g(and)f(reload)g(those)g(v)-5
b(alues)-120 2932 y(in)n(to)25 b(memory)-7 b(.)35 b(This)25
b(feature)g(is)f(designed)h(to)g(ensure)f(that)h(the)h(hardw)n(are)c
(and)j(soft)n(w)n(are)e(remain)i(sync)n(hronized.)34
b(If)26 b(the)-120 3032 y(rac)n(k)g(is)i(p)r(o)n(w)n(ered)e(do)n(wn,)h
(b)r(e)h(sure)f(to)h(re-initialize)e(the)i(settings)g(when)f(the)h
(program)e(is)h(run)h(again.)5 3132 y(Ho)n(w)n(ev)n(er,)d(b)r(ecause)j
(of)g(the)g(hardw)n(are)d(design)j(of)g(the)g(SQUID)g(mo)r(dule,)g
(there)g(is)f(no)h(fo)r(olpro)r(of)f(w)n(a)n(y)f(to)i(k)n(eep)f(trac)n
(k)-120 3231 y(of)e(the)h(p)r(olarities.)36 b(If)26 b(a)f(card)f(w)n
(as)h(in)h(a)f(negativ)n(e)f(p)r(olarit)n(y)h(state)g(when)h(the)f
(program)f(sh)n(ut)h(do)n(wn,)h(it)g(should)f(execute)g(a)-120
3331 y Fc(polnegSQUID)19 b Fe(on)k(reload,)f(making)h(sure)g(the)g(p)r
(olarit)n(y)f(matc)n(hes.)35 b(Ho)n(w)n(ev)n(er,)22 b(this)i(feature)f
(is)g(un)n(tested)g(and)g(care)f(should)-120 3431 y(b)r(e)28
b(tak)n(en)f(with)h(p)r(olarities!)-120 3662 y Fa(3.1)112
b(General)38 b(Information)76 3816 y Fe(help)k(\()p Ff(String)28
b Fc(topic)p Fe(\))270 3915 y(Prin)n(ts)i(the)h(subset)f(of)g(the)h
(commands)f(that)h(can)f(b)r(e)h(issued)f(to)g(the)h(ZIP)f(card)g(whic)
n(h)g(con)n(tain)g(the)h(string)270 4015 y Fc(topic)p
Fe(.)k(If)28 b(no)f(argumen)n(t,)g(prin)n(ts)g(all)h(the)g(help)f
(information.)51 4147 y(prin)n(t)41 b(\()p Ff(v)m(oid)p
Fe(\))270 4246 y(Prin)n(ts)32 b(information)f(ab)r(out)i(the)f(GPIB)g
(b)r(o)n(x)g(and)h(the)f(card)g(including)g(mo)r(dule)h(n)n(um)n(b)r
(er)f(and)h(the)f(status)270 4346 y(bits)c(of)g(the)g(Con)n(trol)e
(Registers.)-87 4477 y(cardt)n(yp)r(e)40 b(\()p Ff(v)m(oid)p
Fe(\))270 4577 y(Prin)n(ts)27 b(card)g(t)n(yp)r(e)g(that)h(computer)f
(b)r(eliev)n(es)h(to)f(b)r(e)h(correct)-139 4709 y(sa)n(v)n(eScript)40
b(\()p Ff(String)28 b Fc(filename)p Fe(,)c Ff(in)m(t)k
Fc(overwrite)p Fe(\))270 4808 y(Sa)n(v)n(es)f(all)g(subsequen)n(t)g
(GPIB)h(commands)f(to)g Fc(filename)p Fe(.)34 b(Commands)28
b(are)e(sa)n(v)n(ed)h(in)h(format)f(readable)f(b)n(y)270
4908 y(LABView)j(in)n(terface)g(and)f(P)n(erl)g(script)h(reading)e
(routine.)41 b(The)29 b Fc(overwrite)c Fe(\014eld)k(is)g(optional)f
(\(if)i(omitted,)270 5008 y(and)35 b(relev)-5 b(an)n(t,)35
b(user)f(will)h(b)r(e)g(prompted)f(for)g(it\).)58 b(The)35
b(p)r(ossible)f(c)n(hoices)f(are:)50 b Fc(1)34 b Fe(to)g(app)r(end)h
(to)f(existing)270 5107 y Fc(filename)p Fe(,)25 b Fc(2)i
Fe(to)g(o)n(v)n(erwrite)f Fc(filename)p Fe(,)e(or)j Fc(3)g
Fe(to)h(cancel)f(if)h Fc(filename)c Fe(exists.)1809 5356
y(1)p eop
%%Page: 2 2
2 1 bop -117 90 a Fe(endScript)41 b(\()p Ff(v)m(oid)p
Fe(\))270 190 y(Ceases)27 b(sa)n(ving)f(commands)h(to)g(a)g(\014le.)
-144 316 y(enableBo)n(x)40 b(\()p Ff(v)m(oid)p Fe(\))270
416 y(Enables)27 b(comm)n(unication)g(with)h(GPIB)f(b)r(o)n(x.)36
b(Note)28 b(that)g(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g(b)r(o)n
(x.)-163 542 y(disableBo)n(x)40 b(\()p Ff(v)m(oid)p Fe(\))270
641 y(Disables)27 b(comm)n(unication)g(with)h(GPIB)g(b)r(o)n(x.)36
b(Note)28 b(that)f(this)h(only)g(w)n(orks)d(for)j(curren)n(t)e(b)r(o)n
(x.)-179 767 y(accum)n(ulate)40 b(\()p Ff(v)m(oid)p Fe(\))270
867 y(Creates)22 b(a)g(queue)h(of)g(commands)f(for)g(the)h(GPIB)g(b)r
(o)n(x.)34 b(Will)24 b(not)f(execute)f(them)i(un)n(til)f(\\execute")e
(command)270 967 y(is)28 b(giv)n(en;)f(then)h(it)g(will)f(do)h(them)g
(all)f(at)h(once.)-272 1093 y(unaccum)n(ulate)41 b(\()p
Ff(v)m(oid)p Fe(\))270 1192 y(T)-7 b(urns)27 b(o\013)h(accum)n(ulation)
f(feature.)36 b(Note)28 b(that)g(the)g(remaining)e(items)i(in)g(the)g
(queue)g(are)e(NOT)i(executed.)-41 1318 y(execute)41
b(\()p Ff(v)m(oid)p Fe(\))270 1418 y(Executes)27 b(all)g(commands)g(in)
h(the)g(GPIB)f(b)r(o)n(x)g(queue.)-94 1544 y(p)r(o)n(w)n(erUp)40
b(\()p Ff(v)m(oid)p Fe(\))270 1644 y(Resets)c(con)n(trol)f(registers)g
(and)h(D)n(A)n(Cs)g(to)g(the)h(v)-5 b(alues)35 b(that)i(are)e(b)r
(eliev)n(ed)h(b)n(y)g(the)h(soft)n(w)n(are)d(to)i(b)r(e)h(true.)270
1743 y(Designed)28 b(for)f(use)g(when)h(p)r(o)n(w)n(er)e(is)i(sh)n(ut)f
(o\013)h(to)g(b)r(oard)e(without)i(reloading)e(program.)18
1869 y(toFile)41 b(\()p Ff(String)28 b Fc(filename)p
Fe(\))270 1969 y(Sa)n(v)n(es)e(curren)n(t)h(card)g(settings)g(to)h
(\014le)f Fc(filename)p Fe(.)-77 2095 y(fromFile)41 b(\()p
Ff(String)28 b Fc(filename)p Fe(\))270 2195 y(Reads)f(card)g(settings)g
(from)h Fc(filename)c Fe(and)j(sets)h(registers)e(and)h(D)n(A)n(Cs)g
(to)h(those)f(settings.)-160 2321 y(up)r(dateFile)42
b(\()p Ff(String)28 b Fc(filename)p Fe(\))270 2421 y(Reads)d(card)f
(settings)g(from)h(card)f(\(using)h(readbac)n(k)e(feature\))i(and)g(up)
r(dates)g(soft)n(w)n(are)e(memory)h(and)h(p)r(ersis-)270
2520 y(tence)j(\014le.)104 2646 y(init)42 b(\()p Ff(v)m(oid)p
Fe(\))270 2746 y(Resets)35 b(registers)e(and)i(D)n(A)n(Cs)g(to)g
(initial)g(v)-5 b(alues)35 b(\(D)n(A)n(Cs)g(set)g(at)f(zero,)i
(\014lters)f(selected)g(to)g(b)r(e)g(0,)i(and)d(all)270
2846 y(c)n(hannels)27 b(disabled\).)-120 3075 y Fa(3.2)150
b(Squid)37 b(Con)m(trol)f(Registers)-16 3228 y Fe(op)r(enfb)42
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3328 y(Sets)g(Squid)g(on)f Fc(channel)e Fe(to)i(calibration)g(mo)r(de)g
(\(op)r(ens)h(feedbac)n(k)f(lo)r(op\).)-14 3454 y(closefb)41
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3554 y(Sets)g(Squid)g(on)f Fc(channel)e Fe(to)i(measure)g(mo)r(de)h
(\(closes)e(feedbac)n(k)i(lo)r(op\).)-329 3680 y(Sync)n(hZapMo)r(de)40
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3779 y(Sets)g(Squid)g(ZAP)f(on)g Fc(channel)e Fe(to)j(sync)n(hronous)d
(mo)r(de.)-392 3905 y(ASync)n(hZapMo)r(de)41 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Fe(\))270 4005 y(Sets)g(Squid)g(ZAP)f(on)g
Fc(channel)e Fe(to)j(async)n(hronous)d(mo)r(de.)-143
4131 y(ZapWidth)42 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Ff(,)d(\015oat)j Fc(value)p Fe(\))270 4231 y(Sets)f(pulse)g(width)g
(for)g(Squid)g(ZAP)f(on)h Fc(channel)d Fe(to)i(nearest)g(p)r(ossible)h
(width)g(to)g Fc(value)p Fe(,)e(less)h(than)h Fc(value)p
Fe(.)270 4330 y(Widths)i(should)e(b)r(e)h(input)g(in)g(units)g(of)g
(ms,)f(widths)h(are)f(set)h(in)f(units)h(of)g(100)e(ms.)-319
4456 y(armZapSQUID)40 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Fe(\))270 4556 y(Arms)g(Squid)g(on)f Fc(channel)p Fe(.)-421
4682 y(disarmZapSQUID)40 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Fe(\))270 4782 y(Disarms)f(Squid)h(on)f Fc(channel)p
Fe(.)2 4908 y(armed)41 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Fe(\))270 5008 y(Reads)g(bac)n(k)f(the)i(armed)e(bit)i(for)f(Squid)g
(on)g Fc(channel)p Fe(.)36 b(Informs)28 b(user)f(whether)h(that)h(c)n
(hannel)e(is)h(armed)g(or)270 5107 y(disarmed.)1809 5356
y(2)p eop
%%Page: 3 3
3 2 bop -273 90 a Fe(p)r(olp)r(osSQUID)41 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Fe(\))270 190 y(Changes)f(Squid)h(on)f
Fc(channel)e Fe(to)i(p)r(ositiv)n(e)g(p)r(olarit)n(y)-7
b(.)-275 323 y(p)r(olnegSQUID)41 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Fe(\))270 422 y(Changes)f(Squid)h(on)f
Fc(channel)e Fe(to)i(negativ)n(e)g(p)r(olarit)n(y)-7
b(.)-46 555 y(Zerop)r(ol)40 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Fe(\))270 655 y(Zeros)e(b)r(oth)i(p)r(ositiv)n(e)f(and)h(negativ)n(e)e
(p)r(olarit)n(y)h(bits)h(for)f(Squid)h(on)f Fc(channel)p
Fe(.)-62 788 y(ZapV)-7 b(olt)41 b(\()p Ff(String)28 b
Fc(channel=a,b,c,d)p Ff(,)d(\015oat)j Fc(voltage)p Fe(\))270
887 y(Sets)e(ZAP)g(v)n(oltage)e(on)i Fc(channel)d Fe(to)i(nearest)g(p)r
(ossible)h(v)-5 b(alue)26 b(less)f(than)h Fc(voltage)p
Fe(.)33 b(P)n(ossible)25 b(v)-5 b(alues)25 b(are)g(\(0,)270
987 y(1.25,)i(2.5,)f(3.75\).)-451 1120 y(readSQUIDZapp)r(er)40
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
1219 y(Reads)f(bac)n(k)g(Zapp)r(er)g(CSR)h(on)f Fc(channel)e
Fe(and)i(up)r(dates)h(computer)f(memory)-7 b(.)-195 1352
y(readSQUID)41 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Fe(\))270 1452 y(Reads)f(bac)n(k)g(Zapp)r(er)g(CSR)h(and)f(D)n(A)n(Cs)h
(on)f Fc(channel)e Fe(and)i(up)r(dates)h(memory)-7 b(.)57
1585 y(reset)41 b(\()p Ff(v)m(oid)p Fe(\))270 1684 y(Resets)28
b(card)e(bits.)-120 1917 y Fa(3.3)112 b(Squid)38 b(D)m(A)m(Cs)-283
2070 y Fe(setSQUIDbias)j(\()p Ff(String)28 b Fc(channel=a,b,c,d)p
Ff(,)d(\015oat)j Fc(value)p Fe(\))270 2170 y(Sets)g(Squid)g(bias)f(D)n
(A)n(C)h(on)f(c)n(hannel)g Fc(channel)e Fe(to)i Fc(value)p
Fe(.)-356 2302 y(setSQUIDolgain)40 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Ff(,)d(\015oat)j Fc(value)p Fe(\))270
2402 y(Sets)g(Squid)g(olgain)e(D)n(A)n(C)i(on)f(c)n(hannel)g
Fc(channel)e Fe(to)j Fc(value)p Fe(.)-242 2535 y(setLo)r(c)n(kP)n(oin)n
(t)39 b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Ff(,)d(\015oat)j
Fc(value)p Fe(\))270 2634 y(Sets)g(Squid)g(lo)r(c)n(k)f(p)r(oin)n(t)h
(D)n(A)n(C)f(on)h(c)n(hannel)f Fc(channel)e Fe(to)i Fc(value)p
Fe(.)-266 2767 y(setAmpO\013set)42 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Ff(,)d(\015oat)j Fc(value)p Fe(\))270
2867 y(Sets)g(Squid)g(pre-amp)f(ofset)g(D)n(A)n(C)h(on)f(c)n(hannel)g
Fc(channel)e Fe(to)i Fc(value)p Fe(.)-338 3000 y(readSQUIDbias)40
b(\()p Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270
3099 y(Reads)f(Squid)h(bias)f(D)n(A)n(C)h(on)f(c)n(hannel)g
Fc(channel)p Fe(.)-411 3232 y(readSQUIDolgain)39 b(\()p
Ff(String)28 b Fc(channel=a,b,c,d)p Fe(\))270 3332 y(Reads)f(Squid)h
(gain)f(D)n(A)n(C)h(on)f(c)n(hannel)g Fc(channel)p Fe(.)-297
3465 y(readLo)r(c)n(kP)n(oin)n(t)38 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Fe(\))270 3564 y(Reads)f(Squid)h(lo)r(c)n(k)f(p)
r(oin)n(t)h(D)n(A)n(C)g(on)f(c)n(hannel)g Fc(channel)p
Fe(.)-321 3697 y(readAmpO\013set)41 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Fe(\))270 3797 y(Reads)f(Squid)h(pre-amp)f
(o\013set)g(D)n(A)n(C)h(on)f(c)n(hannel)h Fc(channel)p
Fe(.)-376 3930 y(readSQUIDD)n(A)n(C)41 b(\()p Ff(String)28
b Fc(channel=a,b,c,d)p Fe(\))270 4029 y(Reads)f(Squid)h(D)n(A)n(Cs)g
(on)f(c)n(hannel)g Fc(channel)p Fe(.)-120 4304 y Fd(References)-78
4486 y Fe([1])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Sae)g(W)-7
b(o)r(o)28 b(Nam)f(CDMS)i(note)e(9712002.)d Fb(The)31
b(CDMS)f(Net)f(Pr)l(oto)l(c)l(ol)-78 4652 y Fe([2])41
b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7 b(urlanetto)28
b Fb(Gener)l(al)i(Information)h(on)f(the)g(Perl-b)l(ase)l(d)g(Ele)l
(ctr)l(onics)h(Interfac)l(e)1809 5356 y Fe(3)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of FLIP3USquid.ps
echo PerlInterface.ps 1>&2 
cat >PerlInterface.ps << 'End of PerlInterface.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: PerlInterface.dvi
%%Pages: 9
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips PerlInterface.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1226
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (PerlInterface.dvi)
@start
%DVIPSBitmapFont: Fa cmtt12 12 7
/Fa 7 115 df<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B6C8A33>46
D<EB1FFC90B57E000314E048804814FC48809038F007FFEBE0016E7F153F6C48806C4813
1FC87F150FA5EC0FFF49B5FC131F137F48B6FC0007140F4813C0381FFC00EA3FF0EA7FC0
5B48C7FC5AA56C141F7E6D137FD83FE0497ED9F807EBFFF06CB712F87E6C14F36C14C1C6
9138003FF0D91FF090C7FC2D2E7BAC33>97 D<ECFFF0010713FE011FEBFF804914C04914
E048B612F048EBC01F9038FE000F485A485A4848EB07E049EB03C0484890C7FC5BA2127F
90C9FCA25A5AA97E7EA27F003FEC01F06DEB03F86C7E6D13076C6C14F06C6C130F01FFEB
1FE06CEBE07F6C90B512C06C1580013F14006D13FC01075B010013C0252E79AC33>99
D<EA7FF8487EA4127F1200AC4AB512C04A14E04A14F0A26E14E06E14C09139000FF0004B
5A4B5A4B5A4BC7FC4A5A4A5A4A5A4A5A4A5A4A5A4A5A4A7E01FD7F90B5FC81ECF3F8ECE3
FC14C1EC80FEEC007F5B496D7E6F7E82150F6F7E6F7E8215016F7E3B7FFFF80FFFF0B56C
4813F817FCA217F86C496C13F02E3D7EBC33>107 D<383FFFFC487FB5FCA27E7EC7FCB3
B3AD003FB612F84815FCB712FEA26C15FC6C15F8273D7ABC33>I<EC01FE3A3FFC0FFFC0
486C4813F000FF017F7F91B512FE6CB7FC6CEBFE07C6D9F800138002E0EB7FC04AEB3FE0
4A131FEE0FF091C7FC16074915F81603A217FC1601A9160317F8A26D140717F06E130F17
E06E131FEE3FC06E137F9139F801FF80DAFE07130091B55A495C6E5B6E13E0020F1380DA
03FEC7FC91C9FCAF383FFFF8487FB57EA26C5B6C5B2E427FAB33>112
D<ED03FE3B7FFF801FFF80B5D8C07F13E002C1B5FC02C314F014C76C9038CFFE0F39001F
DFF09139FFC007E092388003C092C8FC5C5C5CA25CA25CA35CB2007FB512FEB7FCA46C5C
2C2C7DAB33>114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmbx12 12 23
/Fb 23 119 df<ED0FFF4AB512C0020F14F0027F80903A01FFF803FC499038C000FE010F
EB00034948497E49485B5C495A4C138001FF6E13005CA3705AEE01F893C8FCA74BB51280
B9FCA5C69038E00003B3B0007FD9FFC1B6FCA538467EC53E>12 D<EA07C0EA1FF0EA3FF8
EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F0F788E1F>46 D<EC03C01407141F147F
EB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5264177C038>49
D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0007FFFD81F806D
138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A6C5A6C5AC9FC17
F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A5A4A5AEC0FF0
4A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC017C1401491403
48B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<163FA25E5E5D5DA25D5D5D5DA2
5D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8EB01F0EB03E01307
14C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A12FCB91280A5C800
0F90C7FCAC027FB61280A531417DC038>52 D<DCFFF01470031F01FF14F04AB6EAE00102
07EDF803023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C8
7E4948814948814948167F4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2
007F1801A34994C7FC12FFAE127F7F1AF0A2123FA27F6C18011AE06C7F19036C6D17C06E
16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E6D6C6C5D6D6D4A5A6D01F0EC07F00101
01FEEC1FE06D903AFFF001FF80023F90B6C7FC020715FC020115F0DA001F1480030001F8
C8FC44467AC451>67 D<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E
193EA3191EA21778A285A405F890C7FCA316011603161F92B5FCA5ED001F160316011600
A2F101E01778A2F103C0A494C7FC1907A21A80A2190FA2191FA2193FF17F006160180718
1F4DB5FCBBFC61A443447DC34A>69 D<BA1280A419C026003FFEC7121F1701EF007F183F
181F180F180719E01803A31801A3EE01E0F000F0A419001603A31607160F167F91B6FCA5
9138FE007F160F16071603A31601A693C9FCAFB712F0A53C447CC346>I<003FBA12E0A5
9026FE000FEB8003D87FE09338003FF049171F90C71607A2007E1803007C1801A3007818
00A400F819F8481978A5C81700B3B3A20107B8FCA545437CC24E>84
D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E
A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100
0313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013E
EBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97
D<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FFF807
FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212FFAC12
7FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F01FEF
6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>100
D<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48
486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FC
A5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB
3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<DAFF
E0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0F
FC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F
5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFC
A47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC0
14074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC
3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>
103 D<EB7FC0B5FCA512037EB1ED07FE92383FFF8092B512E002C114F89139C7F03FFC91
38CF801F9139DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B512FEA537457CC43E
>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB
7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<EB7FC0B5FCA512037EB3B3B3A3B612
80A519457CC420>108 D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001
B512E002816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF
3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003
B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03F
FC91388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FE
A5372D7CAC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48
496C7F4848C7EA3FE000078248486E7E49140F001F82A2003F82491407007F82A400FF17
80AA007F1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B
27007FF80F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90387F
807FB53881FFE0028313F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED
0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5272D7DAC2E>114
D<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B51280B7FCA4C601
E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090391FFC1F006DB5FC6D13
FC01015B9038003FE023407EBE2C>116 D<D97FC049B4FCB50103B5FCA50003EC000F6C
81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512C7010F1407010313
FE9026007FF0EBFC00372E7CAC3E>I<B6903803FFFCA5000101E09038003E006C163C80
017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E
6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E
90C8FCA26E5AA26E5AA21578362C7EAB3B>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmbx10 10 28
/Fc 28 121 df<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F800D0D798C1B
>46 D<141E143E14FE1307133FB5FCA313CFEA000FB3B3A6007FB61280A4213779B630>
49 D<EB0FFC90387FFFC048B512F0000714FC390FF03FFF261F800F1380263F000313C0
5AD9C00113E0486C6C13F07FA2ED7FF8A46C5A6C5A000FC7FCC8FCEDFFF0A216E05C16C0
4A138016004A5A5D4A5A4A5A4A5AEC7F8092C7FC14FEEB01F849481378495A495A495A01
3EC712F84914F05B4848130148B6FCA25A5A5A5A4815E0B7FCA425377BB630>I<EB03FF
011F13F0017F13FC3901FC07FF2603F003138048486C13C0496C13E0EA0FF001FC14F012
1F7FA56C4814E0A23803F001C714C04A138016004A5A4A5AEC3FF090380FFFC092C7FC15
F090380007FE913801FF806E13C016E0ED7FF016F816FC153FA216FEEA1FC0487E487E48
7EA416FCA249EB7FF8127F01C0EBFFF06C4814E06C6C4813C0260FFC0713806CB6120000
0114FC6C6C13F0010790C7FC27387CB630>I<ED07C0150FA2151F153F157F15FFA25C5C
5C5CA2141E5C147C5C5C495A495A1307495A5C131E5B137C5B5B485A485A1207485A90C7
FC121E5A127C5AB81280A4C70001EBC000AA0103B61280A429377DB630>I<DB3FFCEB01
C00203B5EAC003021FECF00791B6EAFC0F01039039FC00FF3F4901C0EB1FFFD91FFEC77E
49481403D97FF080494880485B48177F4849153F4890C9FC181F485A180F123F5B180712
7FA24993C7FC12FFAD127F7FF003C0123FA27F001F1707A26C6C1780180F6C6D16006C6D
5D6C173E6C6D157ED97FF85D6D6C4A5A6DB44A5A010701C0EB0FE06D01FCEBFF80010090
B548C7FC021F14F8020314E09126003FFEC8FC3A3B7BB945>67 D<B912F0A426007FF8C7
FCEF1FF8170717031701A21700A21878A3043C137C183CA41800167CA216FC150391B5FC
A4ECF8031500167CA2163C180FA3181EA293C7FCA2183EA2183C187CA218FCA2EF01F817
03170F173FEE01FFB9FC18F0A338397DB83F>69 D<B500F80403B512F06E5EA26E5ED800
7FF1E000A2D97BFF161EA201796D5DA201786D5DA26E6C5DA36E6C4A5AA26E6C4A5AA26E
6C4A5AA26E6C4A5AA26E6C141EA36E6D5BA26E6D5BA26F6C5BA26F6C485AA36F6C485AA2
6F6C485AA26F6C48C7FCA2923803FF1EA36F13BCA26F13F8A2705AA2705AA213FCB500FC
6D4848B612F0A2EE0F80EE070054397DB85B>77 D<D907FF130E013FEBE01E90B5EAF83E
0003ECFE7E3A07FC01FFFE390FF0001F4848130F48481303491301007F140090C8FC167E
5A163EA27F161E7F7F6D91C7FC13FC387FFFE014FEECFFF06C14FE6F7E6C816C15F06C81
6C81C681133F010F801301D9000F1480EC007F030F13C01503818100F0157FA3163FA27E
17807E167F6C16007E6D14FE01E0495A01F813039039FF801FF800FC90B512E0D8F83F5C
D8F00749C7FC39E0007FF02A3B7BB935>83 D<003FB91280A4D9F800EBF003D87FC09238
007FC049161F007EC7150FA2007C1707A200781703A400F818E0481701A4C892C7FCB3AE
010FB7FCA43B387DB742>I<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C
7F6E7FA26F7EA26C5A6C5AEA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F0007138038
0FFE00EA3FF85B485A12FF5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE
1F0003EBF80F39003FE0032A257DA42E>97 D<13FFB5FCA412077EAF4AB47E020F13F002
3F13FC9138FE03FFDAF00013804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217
FEAA17FCA3EE1FF8A217F06E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE0090
39F03FFFF8D9E00F13E0D9C00390C7FC2F3A7EB935>I<903801FFC0010F13FC017F13FF
D9FF8013802603FE0013C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC
12FFA9127FA27F123FED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006D
B45A010F13F00101138023257DA42A>I<EE7F80ED7FFFA4150381AF903801FF81010F13
F1013F13FD9038FFC07F0003EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA
127FA27F123FA26C6C5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13
E1010313012F3A7DB935>I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F80
4848133F484814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8
FCA4127FA36C7E1678121F6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB5
1200010F13FC010113E025257DA42C>I<161FD907FEEBFFC090387FFFE348B6EAEFE026
07FE07138F260FF801131F48486C138F003F15CF4990387FC7C0EEC000007F81A6003F5D
A26D13FF001F5D6C6C4890C7FC3907FE07FE48B512F86D13E0261E07FEC8FC90CAFCA212
3E123F7F6C7E90B512F8EDFF8016E06C15F86C816C815A001F81393FC0000F48C8138048
157F5A163FA36C157F6C16006D5C6C6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C
6C91C7FC010713F02B377DA530>103 D<13FFB5FCA412077EAFED7FC0913803FFF8020F
13FE91381F03FFDA3C01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA430
3A7DB935>I<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF127FA41207
7EB3A9B512F8A4153B7DBA1B>I<13FFB5FCA412077EAF92380FFFE0A4923803FC0016F0
ED0FE0ED1F804BC7FC157E5DEC03F8EC07E04A5A141FEC7FE04A7E8181A2ECCFFEEC0FFF
496C7F806E7F6E7F82157F6F7E6F7E82150F82B5D8F83F13F8A42D3A7EB932>107
D<13FFB5FCA412077EB3B3ACB512FCA4163A7DB91B>I<01FED97FE0EB0FFC00FF902601
FFFC90383FFF80020701FF90B512E0DA1F81903983F03FF0DA3C00903887801F000749DA
CF007F00034914DE6D48D97FFC6D7E4A5CA24A5CA291C75BB3A3B5D8FC1FB50083B512F0
A44C257DA451>I<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C0113800007
13780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>I<903801
FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F81
491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C
6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I<9038FE03F000FFEB
0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC
91C8FCB3A2B512FEA422257EA427>114 D<130FA55BA45BA25B5BA25A1207001FEBFFE0
B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE
001D357EB425>116 D<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E48
13E06CD9C03E13FF90387FFFFC011F13F00103138030257DA435>I<B539F001FFF8A400
0390C7EA3F00161E6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F
495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E
5AA26E5AA26E5AA22D257EA432>I<B539F01FFFF0A4000390398003F8006C01C013E06C
1407D97FE05B6D6C485A6E48C7FC90381FFC3E010F5B903807FEFC6D6C5A5D6D5B6D5B6E
7E6E7E814A7EA24A7E903801F3FFD903E37FD907C17FEB0FC049486C7E4A6C7E013E8049
6D7E49130F00016E7EB590383FFFF8A42D257EA432>120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmtt14 14.4 7
/Fd 7 115 df<EA0F80EA3FE0EA7FF0A2EAFFF8A5EA7FF0A2EA3FE0EA0F800D0D698C3C>
46 D<903807FFC0017F13F890B6FC0003814815E08248819039FC007FFC49EB0FFE1507
6F7E6C487F6C486D7FC9127F83163FA6ED3FFF021FB5FC49B6FC130F133F90B7FC0003EC
FE3F48EBFE004813C04848C7FCEA3FF85BEA7FC05B12FF90C8FCA56D147F127F6D14FF6D
1303D83FF8010F7F01FF90B612F06C90B7FC6C17F86C15CF6C150F6CDAFC0313F06C6C90
38F0007FD90FFEC9FC35367AB43C>97 D<91380FFFC0027F13FC49B6FC01071580011F15
C05B4915E09039FFF8007F4801C0133F485B4848C7FC49EC1FC04848EC0F80001F92C7FC
5B485AA25B127F5BA312FF90CAFCA97F127FA27FA26C7EEE03F06C6CEC07F87F6C6C140F
6D15F06C6C141F6C01C0EB3FE06C01F0137F6C9039FE01FFC06DB612806D15006D5C0107
5C6D14F0D9007F13C0DA0FFCC7FC2D3678B43C>99 D<EA3FFF5AB57EA37E7EEA003FAF03
0FB512E04B14F018F8A318F06F14E09239003FF0004C5A4C5A4B5B4B90C7FC4B5A4B5A4B
5A4B5A4B5A4B5A02815B028390C8FCEC87FE148FEC9FFF14BF91B57E82EDBFE0151F02FE
7F4A6C7EECF8074A6C7E02E07F4A6C7E4A7E83707E707E161F83707E1607707E83003FB5
39803FFFF8486E4813FCB66CB512FEA36C4A6C13FC6C4A6C13F837497EC83C>107
D<007FB57EB6FC81A47EC7123FB3B3B3A5007FB712E0B812F0A56C16E02C4978C83C>I<
ED1FF0D87FFFEBFFFE02036D7EB5008F14E0029F8002BF806C90B67E9238E03FFEC66C90
38000FFF4A130302F86D13804A7F4AEC7FC0A24AEC3FE0A24AEC1FF0A2170FA218F8A217
07A9170F18F0A3171F6E15E0173F80EF7FC06E14FF6E4913804C13006E5B02FFEB1FFE92
38C07FFC92B55A02BF5C029F5C028F5C028391C7FC028013FCED3FE092C9FCB3007FB57E
A2B67EA36C5CA2354F7EB33C>112 D<EE1FF8267FFFF090B5FC03031480B5D8F80F14C0
153F4B14E06C91B6FC02F9EBF03F260007FB1380913AFFFE001FC04BEB0F8003F090C7FC
5D5DA25D92C9FCA25CA25CA45CB3A3007FB612F082B7FCA37E5E33347CB33C>114
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmti10 10 51
/Fe 51 122 df<EE3FFC4BB51280923907E007C092391F8001E0DB3F0013F0037E13034B
1307A24A5A18E04A48EB038094C7FCA314075DA4140F5DA3010FB7FCA25F903A001F8000
7EA217FE023F5C92C7FCA216015F5C147E16035FA214FE4A13075FA30101140F5F4AECC1
C0A2161F1783010316805CA2EF870013074A5CEE0F8EEE079EEE03FC010FEC00F04A91C7
FCA35C131FA2001C90CAFC127E5BEAFE3E133C137CEAF878EA78F0EA3FE0EA0F80344C82
BA2F>12 D<EE7FE0923903FFFC7E92380FC03E92381F000F033EEB3FFE4B137F03FC14FC
5D1401173D4A48EB01F8A21703A24A4814F0A21707A2020F15E05D170FA218C0010FB7FC
A3903B001F80001F80A2173F143F92C71300A25FA24A147E147E17FEA25F14FE4A1301A2
5FA2010114035CEFF070A21607010316F04AECE0E0A3EFE1C013074A14C3933803E380EE
01E7933800FF004948143C94C7FCA3495AA3001C90CAFC127E133E12FE133C137CEAF878
EA78F0EA3FE0EA0F80374C82BA31>I<14F0EB03FCA21307A3EB0FF8A314F0A3EB1FE0A3
14C0A3EB3F80A31400A3137EA3137CA35BA35BA3485AA45B1203A2C8FCA8120EEA3F8012
7F12FFA390C7FC127E123C163C77BB19>33 D<3901E003C03907F00FE0000F131F01F813
F0001F133FA3000F131F3907B00F6038003000A2017013E0016013C0EBE00101C0138000
0113030180130000035B3807000E000E5B485B485B485B48485A00C05B1C1971B92B>I<
EA01E0EA07F0120F13F8121FA3120FEA07B0EA0030A21370136013E013C0120113801203
EA0700120E5A5A5A5A5A0D196EB919>39 D<EA03C0EA07F0120F121F13F8A313F0EA07B0
EA003013701360A213E013C01201EA038013005A120E5A5A5A5A5A0D197A8819>44
D<387FFFF8A2B5FCA214F0150579941E>I<120EEA3F80127F12FFA31300127E123C0909
778819>I<133C137E13FF5AA313FE13FCEA00701300B2120EEA3F80127F12FFA3130012
7E123C102477A319>58 D<EE01C01603A21607160FA2161F83163FA2167F16FF16EF1501
16CFED038FA2ED070FA2150E151E151C1538A203707FA2EDE007A2EC01C014031580EC07
00A2140EA25CA25C027FB5FCA291B6FC9139E00007F849481303A2495A130791C7FC5B13
0E5BA25B1378137013F0EA03F8486C4A7EB56C48B512F0A3343C7BBB3E>65
D<0107B612FCEFFF8018C0903B000FF0001FF04BEB07F81703021F15FC17014B14FEA202
3F1400A24B1301A2147F18FC92C7120318F84A140718F04AEC0FE0EF1FC00101ED3F80EF
7F004AEB01FEEE07F849B612E05F9139F80007F0EE01FC01076E7E177F4AEC3F80A2010F
16C0171F5CA2131F173F5CA2133FEF7F805C1800017F5D4C5A91C7485A5F49140FEE1FE0
494A5A00014AB45AB748C7FC16F816C037397BB83A>I<DB03FE130E92393FFF801E92B5
EAE03C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC4948
1407494815F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A94C7
FCA2485AA3127F5BA312FF90CBFCA41738A217784816707E17F06C5E16015F16036C6C4A
5A94C7FC001F150E6D141E000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F807E
C8FC6DB45A010F13E0010090C9FC373D74BA3B>I<0103B612FEEFFFC018F0903B0007F8
000FF84BEB03FCEF00FE020F157FF03F804B141F19C0021F150F19E05D1807143F19F05D
A2147FA292C8FCA25C180F5CA2130119E04A151FA2130319C04A153FA201071780187F4A
1600A2010F16FEA24A4A5A60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17FC017F
EC03F84C5A91C7EA1FC04949B45A007F90B548C8FCB712F016803C397CB83F>I<0107B8
FCA3903A000FF000034BEB007F183E141F181E5DA2143FA25D181C147FA29238000380A2
4A130718004A91C7FC5E13015E4A133E167E49B512FEA25EECF8000107147C163C4A1338
A2010F147818E04A13701701011F16C016004A14031880013F150718004A5CA2017F151E
173E91C8123C177C4915FC4C5A4914070001ED7FF0B8FCA25F38397BB838>I<0107B712
FEA3903A000FF000074B1300187C021F153CA25DA2143FA25D1838147FA292C8FCEE0380
4A130718004A91C7FCA201015CA24A131E163E010314FE91B5FC5EA2903807F800167C4A
1378A2130FA24A1370A2011F14F0A24A90C8FCA2133FA25CA2137FA291CAFCA25BA25B48
7EB6FCA337397BB836>I<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA214
3FA25DA2147FA292C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA213
1FA25CA2133FA25CA2137FA291C8FC497EB6FCA25C25397CB820>73
D<0107B512FCA25E9026000FF8C7FC5D5D141FA25DA2143FA25DA2147FA292C8FCA25CA2
5CA21301A25CA21303A25CA21307A25CA2130F170C4A141CA2011F153C17384A1478A201
3F157017F04A14E01601017F140317C091C71207160F49EC1F80163F4914FF0001020713
00B8FCA25E2E397BB834>76 D<902607FFF8923807FFF0614F13E0D9000FEFF0004F5AA2
021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED071FA20278ED0E3F97
C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02C0EC0380A20103ED
0701610280140EA20107ED1C0305385B14006F137049160705E05B010EEC01C0A2011E91
3803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F04F091C8FC01705C
A201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E4C397AB84A>I<90
2603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA0E7F5DA2021E6D1307
033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E0307141C147082DAF003143C
70133814E0150101016E1378030014705C8201036E13F0604A1480163F010715C1041F5B
91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2013C805F1338160013
785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<0107B612F817FF188090
3B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25DA2147FEF03FC92C7FC
A24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A5AEE0FF091B612C04C
C7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137FA291CAFCA25BA25B12
01B512FCA337397BB838>80 D<0103B612F017FEEFFF80903B0007F8003FC04BEB0FF017
07020FEC03F8EF01FC5DA2021F15FEA25DA2143FEF03FC5DA2027FEC07F818F092C7120F
18E04AEC1FC0EF3F004A14FEEE01F80101EC0FE091B6128004FCC7FC9138FC003F0103EC
0F80834A6D7E8301071403A25C83010F14075F5CA2011F140FA25CA2133F161F4AECE007
A2017F160F180E91C7FC49020F131C007F01FE153CB5913807F078040313F0CAEAFFE0EF
3F80383B7CB83D>82 D<92383FC00E913901FFF01C020713FC91391FC07E3C91393F001F
7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2011F15E091C7FCA34915C0A3
6E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0010080023F7F14079138007F
FC150F15031501A21500A2167C120EA3001E15FC5EA3003E4A5AA24B5AA2007F4A5A4B5A
6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E01F138026C003FCC8FC2F3D7A
BA2F>I<0007B812E0A25AD9F800EB001F01C049EB07C0485AD900011403121E001C5C00
3C17801403123800785C00701607140700F01700485CA2140FC792C7FC5DA2141FA25DA2
143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CEB
3FF0007FB512F8B6FCA2333971B83B>I<91B712F0A25B9239E0001FE092C7EA3FC0D903
FCEC7F8002F015004A14FE16014948495A4A495A4C5A49C75B4C5A010E143F011E4A5A01
1C4AC7FC4B5A5E90C7485A15074B5A4B5A4B5A5E157F4BC8FC4A5A4A5A4A5A5D140F4A5A
4A5A4A5A4AC712E05C13014948130149485C495A494813034A5C013F1407495A49C7FC48
484AC7FC48485C5B0007153E4848147E4848EB01FE4848EB07FC4848133F90B6FCB7FC5E
34397AB833>90 D<01181330013813709038F001E03901C003800180130000035B380700
0E000E5B000C1318001C1338485B00301360A2007013E000605BA238EF01DE38FF81FFA6
6CC65A003C13781C196AB92B>92 D<1318133813F0EA01C013801203EA0700120E120C12
1C5A1230A212701260A212EFEAFF80A6EA7F00123C0D196FB919>96
D<14F8EB07FE90381F871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F
5CA2EA3F801403007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F15
87007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677
A42A>I<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE90
38EF0F80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A12
7EA2140F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0
383E07C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090
381F0070017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485A
A2127F90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806C
EB3E00380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A2
16E0A2150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF01
7C5BEBF80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A
485CA2140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038
038F8E391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1
E090383F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80
397F81FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0
EC03C06CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0
ED3E38ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D01
0FB512C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA413075C
A4130F5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F
80264C82BA19>I<EC07C0EC3FF09138FC38E0903901F01FF0EB03E0903807C00FEB0F80
011F1307D93F0013E05B017E130F13FE4914C01201151F1203491480A2153F1207491400
A25DA249137EA215FEA25D00031301140314076C6C485A0000131FEB787BEB3FF390380F
C3F0EB00031407A25DA2140F5D121C007E131F5D00FE49C7FC147E5C387801F8387C07E0
381FFF80D803FEC8FC24367CA426>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3
133F91C8FCA35B90387E07F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16C0
5B49EB1F8012035BA2153F000715005BA25D000F147E5B15FE5D121FD98001131C15F816
3C003F01031338010013F0A216704814E0007E15F016E0EDE1C000FE903801E380489038
00FF000038143C263B7BB92A>I<EB01C0EB07E014F0130F14E01307EB038090C7FCAB13
F0EA03FCEA071EEA0E1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203A2
5B12075BA2000F13E013C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07F8
EA01E0143879B619>I<150E153F157FA3157E151C1500ABEC1F80EC7FC0ECF1F0EB01C0
90380380F813071401130F130E131EEB1C03133C013813F0A2EB0007A215E0A2140FA215
C0A2141FA21580A2143FA21500A25CA2147EA214FEA25CA21301A25CA213035C121C387E
07E0A238FE0FC05C49C7FCEAF83EEA787CEA3FF0EA0FC0204883B619>I<EB03F0EA01FF
A3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B017EEB0F80ED3FE015F09039FE01C1
F09038FC0387EC0707140E0001011C13E0EBF83891383003800270C7FC00035BEBF1C0EB
F38001FFC8FCEA07FC7FEBFFC0EBE7F8380FE1FCEBC07E147F80001F809039801F81C0A2
1583003F013F138001001303A21507481500007E133EEC1E0E151E00FE6D5A48EB07F800
38EB01E0243B7BB926>I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213
FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA2
5AA2EA7E0EA212FE131EEAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79
B915>I<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F
261C1F78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A48
48EB1F80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE
031F5C120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E0
49017E15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444
>I<D801E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114
E0007813C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B15
1F5E12034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E
001FEC3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F09038
1F00F8017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA2
15FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F
00147E6C13F8380F83F03803FFC0C648C7FC202677A42A>I<9039078007C090391FE03F
F090393CF0787C903938F8E03E9038787FC00170497EECFF00D9F0FE148013E05CEA01E1
13C15CA2D80003143FA25CA20107147FA24A1400A2010F5C5E5C4B5A131F5EEC80035E01
3F495A6E485A5E6E48C7FC017F133EEC70FC90387E3FF0EC0F8001FEC9FCA25BA21201A2
5BA21203A25B1207B512C0A3293580A42A>I<ECF803903807FE0790381F871F90383E03
BF017C13FEEBF80112013803F000484813FC120F5B001F130115F8EA3F80A2007F130301
0013F0A34813074814E0A3140F4814C0A3141F1580143FA2007C137FECFF006C5AEB03BF
381F0F7F3807FE7EEA01F0C7FC14FE5CA313015CA313035C130748B512C0A3203577A426
>I<3903C003F0390FF01FFC391E783C0F381C7C703A3C3EE03F8038383FC0EB7F800078
150000701300151CD8F07E90C7FCEAE0FE5BA2120012015BA312035BA312075BA3120F5B
A3121F5BA3123F90C9FC120E212679A423>I<14FE903807FF8090380F83C090383E00E0
4913F00178137001F813F00001130313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814
FE6C7F6D13807F010F13C01300143F141F140F123E127E00FE1480A348EB1F0012E06C13
3E00705B6C5B381E03E06CB45AD801FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F
1480A3133F1400A35B137E007FB5FCA2B6FC3800FC00A312015BA312035BA312075BA312
0F5BA3121FEB801CA2143C003F1338EB0078147014F014E0EB01C0EA3E03381F0780380F
0F00EA07FCEA01F0183579B31C>I<13F8D803FEEB01C0D8078FEB03E0390E0F8007121E
121C0038140F131F007815C01270013F131F00F0130000E015805BD8007E133FA201FE14
005B5D120149137EA215FE120349EBFC0EA20201131E161C15F813E0163CD9F003133814
070001ECF07091381EF8F03A00F83C78E090393FF03FC090390FC00F00272679A42D>I<
01F0130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25BD8
F07E140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35DA2
4A5A140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>I<01F01507
D803FC903903801F80D8071E903907C03FC0D80E1F130F121C123C0038021F131F49EC80
0F00701607A249133FD8F07E168000E0ED000313FEC64849130718000001147E5B03FE5B
0003160E495BA2171E00070101141C01E05B173C1738A217781770020314F05F00030107
13016D486C485A000190391E7C07802800FC3C3E0FC7FC90393FF81FFE90390FE003F032
2679A437>I<903907E007C090391FF81FF89039787C383C9038F03E703A01E01EE0FE38
03C01F018013C0D8070014FC481480000E1570023F1300001E91C7FC121CA2C75AA2147E
A214FEA25CA21301A24A1370A2010314F016E0001C5B007E1401010714C000FEEC038001
0F1307010EEB0F0039781CF81E9038387C3C393FF03FF03907C00FC027267CA427>I<13
F0D803FCEB01C0D8071EEB03E0D80E1F1307121C123C0038140F4914C01270A249131FD8
F07E148012E013FEC648133F160012015B5D0003147E5BA215FE00075C5BA214015DA314
035D14070003130FEBF01F3901F87FE038007FF7EB1FC7EB000F5DA2141F003F5C48133F
92C7FC147E147C007E13FC387001F8EB03E06C485A383C1F80D80FFEC8FCEA03F0233679
A428>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmtt10 10 73
/Ff 73 123 df<006015C000F0EC01E0B3A8B7FCA36C15C0231F7C932C>32
D<010F133C90381F807EA8013F13FE4A5AA4007FB612F0B712F8A4003F15F03A007E01F8
00A5EBFE0301FC5BA6003FB612F0B712F8A46C15F03A01F807E000A30003130F01F05BA8
6C486C5A25337DB22C>35 D<EB01C0497EA6EB0FFC90387FFF8048B512E0000780488039
1FFBEFFC393FC3E1FE903803E07F007E80127C00FC158012F8157FA300FCEC3F00A2007E
91C7FC127FEA3FC313FBEA1FFF6C13FC6C13FF000114C06C6C7F011F13F801037F14E7EC
E1FEECE07F81001880007E1580150F12FFA312FE151F1600007E5C007F143ED83F8313FE
9038C3E1FC391FFBEFF86CB55A6C5C6C5CC691C7FCEB1FF8EB03E0A66D5A21417BB92C>
I<D807801307D81FE0EB0F80151F487E486C133F1600007C5CD8FCFC137EEAF87C15FE5D
14015DA21403D8FCFC5BEA7CF8007F13075D383FF00FD81FE05BA23807801FC75B143F92
C7FCA25C147E14FE5CA213015CA213035C13075CA2130F5C131FEC800FED3FC0013FEB7F
E0140049EBFFF0017E13F9A2D9FE0113F801FC13F0A2120113F8120313F015F900070100
13F05B000F14FF49EB7FE0A20007EC3FC06C48EB0F0025417DB92C>I<143814FC130113
03EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7
FCA25A127EA312FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E13
7FEB3F80EB1FC0EB0FF0EB07F8EB03FC130113001438164272B92C>40
D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB07E0
A214F01303A214F81301A314FC1300AC130114F8A3130314F0A2130714E0A2EB0FC0131F
1480133F14005B13FE485A485A485A485AEA3FC0485A48C7FC5A5A1270164279B92C>I<
EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201EA03F01207EA1F
E0EA7FC0EAFF80130012FC12700E17718A2C>44 D<007FB6FCB71280A46C150021067B9B
2C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F8015
1FA2153F16005D157E15FE5D14015D14035DA214075D140F5D141F5D143F92C7FC5C147E
14FE5CA213015C13035C13075C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B1203
5B12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A127821417BB92C>I<EB03F8
EB0FFE90383FFF80497F90B57E3901FE0FF03903F803F848486C7EEBE0004848137EA248
487FA248C7EA1F80A2003E140F007E15C0A3007C140700FC15E0AC6C140F007E15C0A46C
EC1F80A36C6CEB3F00A26C6C137E6D13FE00075CEBF0016C6C485A3901FE0FF06CB55A6D
5B6D5BD90FFEC7FCEB03F823357CB32C>I<1307497EA2131FA2133F137F13FF5A120712
7FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>I<EB0FF8
90387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7EA3F8000
7E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F16005D15
FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F8049C8FC48
5A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<EB0FFC90
387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151FA26C5A6C
C7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F90380007FEEC
00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F007FEC3F80
6DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357CB32C>I<
EC07F04A7E141F143FA2147EA214FCEB01F8A2EB03F0EB07E0A2EB0FC0EB1F80A2EB3F00
137EA25B485AA2485A5B1207485AA2485A48C7FCA2127E5AB712FC16FEA36C15FCC8EAF8
00AA91387FFFF091B512F8A36E13F027347EB32C>I<000FB512FE4880A35D0180C8FCAD
EB83FE90389FFF8090B512E015F8819038FE03FE9038F000FF01C07F49EB3F8090C7121F
6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A248141F007EEC3F80007FEC7F006C
6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FCEB0FF823347CB22C>I<EC3F
C0903801FFF801077F011F7F497F90387FE07F9039FF003F804848137FEA03F8485A5B00
0FEC3F004848131E4990C7FC123F90C9FCA25A127EEB03FE90381FFF80D8FC7F13E000FD
B57EB67E9038FE07FC9038F001FE9038C0007F49EB3F8090C7121F16C048140F16E01507
A3127EA47E150F6D14C0001F141F6D1480000F143F6DEB7F003907F801FE3903FE07FC6C
B55A6C5C6D5B011F1380D907FCC7FC23357CB32C>I<EB07FC90383FFF8090B512E00003
14F84880390FFC07FE391FF001FF9038C0007F4848EB3F8090C7121F4815C0007E140FA5
6CEC1F80A26C6CEB3F006D5B390FF001FE3903FC07F86CB55A6C6C13C0D907FCC7FC9038
7FFFC048B512F03903FC07F8390FF001FE391FC0007F497F48C7EA1F80007EEC0FC0A248
EC07E0A7007EEC0FC0A2007F141F6C6CEB3F806C6CEB7F009038F001FF390FFC07FE6CB5
5A6C5CC614E0013F1380D907FCC7FC23357CB32C>56 D<121FEA3F80EA7FC0EAFFE0A5EA
7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A3
2C>58 D<1507ED1F80153F15FF14034A1300EC1FFC4A5AECFFE0491380010790C7FCEB0F
FCEB3FF8EB7FE048485A4890C8FCEA0FFEEA1FF8EA7FF0EAFFC05BA27FEA7FF0EA1FF8EA
0FFEEA03FF6C13C06C6C7EEB3FF8EB0FFC6DB4FC01017F6D13E0EC3FF86E7EEC07FF6E13
801400153F151FED0700212A7BAD2C>60 D<007FB612F0B712F8A4003F15F0CAFCA8003F
B612F0B712F8A46C15F025147DA22C>I<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF
80C67FEB7FF0EB1FF8EB0FFEEB03FF6D13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A2
5C02071300EC0FFCEC3FF8EC7FE049485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035B
D80FFEC8FC485AEA7FF0485A138048C9FC5A1270212A7BAD2C>I<EC7F80903803FFE001
0F7F013F7F497F9038FFC0FE3901FE007FD803F87F4848EB1F809038E00FCF390FC03FFF
48484813C091B5FCEA3F01393E03F87F903907F03FE0007EEBE01F397C0FC00FEC8007A2
EAFC1F00F8EB0003A900FCEB8007D87C0F14C0A2ECC00F3A7E07E01F80003EEBF03F9039
03F87F00393F01FFFED81F805B6E5A6C6C6C5A3907E00FC09039F00007C06C6CEB0FE0D8
01FE131F3900FFC0FF6DB512C06D1480010FEBFE00010313F89038007FC023337CB22C>
64 D<14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590383F
01F8A490387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A4000715C0
49130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>I<007FB512E015F8B612FE
6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF
8090B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE
16FC1501ED03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>I<02
FF13700107EBE0F84913F9013F13FD4913FFEBFF813901FE007F4848131FD807F0130F15
07485A491303485A150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15F06C
EC01F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81FF80
6DB512006D5B010F5B6D13F00100138025357DB32C>I<007FB5FCB612C015F0816C8039
07E003FEEC00FFED7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FCACED01
F8A3150316F0A2150716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D15C0
6C91C7FC26337EB22C>I<007FB612F0B712F8A37E3903F00001A7ED00F01600A4EC01E0
4A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB612FEB7FCA36C15FC27337E
B22C>I<007FB612F8B712FCA37ED803F0C7FCA716781600A515F04A7EA490B5FCA5EBF0
01A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>I<903901FC038090390FFF87C0
4913EF017F13FF90B6FC4813073803FC01497E4848137F4848133F49131F121F5B003F14
0F90C7FCA2127EED078092C7FCA212FE5AA8913803FFF84A13FCA27E007E6D13F8913800
0FC0A36C141FA27F121F6D133F120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13
EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<D87FFEEBFFFCB54813FEA36C486C13
FCD807E0EB0FC0B190B6FCA59038E0000FB3D87FFEEBFFFCB54813FEA36C486C13FC2733
7EB22C>I<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14
F81E3379B22C>I<D87FFCEB7FF8486CEBFFFCA36C48EB7FF8D807C0EB1F80153FED7F00
157E5D4A5A14034A5A5D4A5A4A5A143F4AC7FC147E5CEBC1F813C3EBC7FCA2EBCFFEEBDF
BEEBFFBF141F01FE7F496C7E13F86E7EEBF00301E07FEBC001816E7EA2157E153E153F81
1680ED0FC0A2ED07E0D87FFCEB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>75
D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337D
B22C>I<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001BC137BA4019E13F3
A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA201811303A214FFEB
80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>I<D87F
F0EB7FFC486CEBFFFEA27F007FEC7FFCD807FEEB07C013DEA213DF13CFA2148013C714C0
A213C314E0A213C114F0A213C014F8A2147CA3143EA2141E141FA2140F1587A2140715C7
A2140315E71401A215F71400A215FFD87FFC137F487E153FA26C48EB1F8027337EB22C>
I<EB7FFF0003B512E0000F14F848804880EBE003EB800048C7127FA2007E80A300FE1580
48141FB3A86C143FA2007E1500A3007F5CA26C6C13FEEBF00790B5FC6C5C6C5C000314E0
C66C90C7FC21357BB32C>I<007FB512C0B612F88115FF6C15802603F00013C0153FED0F
E0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D
15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>I<387FFFFCB67E15E015F86C8039
07E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E0
81819038E007FCEC01FE1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C48
6D5AC8EA01F029347EB22C>82 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F
383FC003497E48C7FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0
EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF0200138015
3FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE
01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC23357CB32C>I<007FB612FCB712FE
A43AFC007E007EA70078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3B
7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F800B3AF6D130300015DA26D1307
00005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B34
80B22C>I<D87FF0EB07FF486C491380A36C486D1300001FC8127CA46C6C5CA76C6C495A
A4143E147FA33A03E0FF83E0A214F7A201E113C3A3000101E35BA201F113C701F313E7A3
14C1A200005DA201F713F71480A301FF13FF017F91C7FC4A7EA4013E133E29347FB22C>
87 D<D87FFCEB7FFC486CEBFFFEA36C48EB7FFCD807F0EB0FC0151F000315806D133F12
016DEB7F0012006D137E017E13FE017F5BEB3F01EC81F8131FEC83F0EB0FC314C7903807
E7E0A201035B14EF6DB45AA292C7FC7F5C147EB0903807FFE0497FA36D5B27337EB22C>
89 D<003FB612C04815E0A4007EC7EA1FC0ED3F80A2ED7F00157E15FE4A5A003C5CC712
034A5AA24A5A4A5AA24A5A4AC7FCA214FE495AA2495A495AA2495A495AA2495A49C8FCA2
13FE485AA24848EB03C049EB07E01207485A5B121F485AA248C7FCB7FCA46C15C023337C
B22C>I<387FFFFCB512FEA314FC00FCC7FCB3B3B3B512FC14FEA36C13FC17416FB92C>I<
127812F87EA27E127E127F7E7F121F7F120F7F1207A27F12037F12017F12007F137E137F
7F80131FA280130F801307801303801301801300A280147E147F8081141F81140F811407
811403A281140181140081157E157F811680151FA2150FED070021417BB92C>I<387FFF
FCB512FEA37EC7127EB3B3B3387FFFFEB5FCA36C13FC17417DB92C>I<007FB6FCB71280
A46C150021067B7D2C>95 D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC
01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7F
C090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A
003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6
FC16809138F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816
FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B
01F813F83900F03FC027337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48804848
C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C
7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C
>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348
487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF007
3807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03FE9038
1FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7
120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED8
0FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13F0010113802324
7CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FC
A6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<
ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F00313
3E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0F
F048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF8048
15E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E48153EA46C157E00
7E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8
010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F
90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01
E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5
FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<EA7FE0487EA3127F12
01AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FE
EBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400157E81
1680151F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>107
D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F
83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F49
6C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87F
FC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC
00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0
140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48
486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F
141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90
C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038
F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2
ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC
3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF0020713
F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF00
7FB512E0B67EA36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387FC00F
387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C
13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F0
07FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB712
80A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001
035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000F
B3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA3
2C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B
0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C7
01075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF6EB5
FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87A214
F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2013F
5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C010313F03A00FC007E00
5D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D5A14
7C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E00017C13
7C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01FFFC
B5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E137C01
7E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114
F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA
7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<003FB612E04815F0A400
7EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A5A4A5A4AC7FCEB01
FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB03F0485A485A485A485A485AB7
FCA46C15E024247DA32C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmr10 10 73
/Fg 73 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<EC0FFC91387FFF70903901F803F0903807E00790381F800FEB3F
00137EA25B150748481303ADB7FCA33901F80003B3AB486C497E267FFFE0B512C0A32A3B
7FBA2E>I<121C127FEAFF80A8EA7F00AB123EAB121CABC7FCA8121C127FEAFF80A5EA7F
00121C093C79BB17>33 D<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C13
1C00001300A40001130101801380A20003130301001300485B00061306000E130E485B48
5B485B006013601A197DB92A>I<121C127FEAFF80A213C0A3127F121C1200A412011380
A2120313005A1206120E5A5A5A12600A1979B917>39 D<146014E0EB01C0EB0380EB0700
130E131E5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127C
A67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0
EB00E01460135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A213
7C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B13
1EA2133E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>
I<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A
12600A19798817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909
798817>I<EB03F8EB1FFF90387E0FC09038F803E03901E000F0484813780007147C4848
7FA248C77EA2481580A3007EEC0FC0A600FE15E0B3007E15C0A4007F141F6C1580A36C15
006D5B000F143EA26C6C5B6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F823
3A7DB72A>48 D<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A3
1C3879B72A>I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E
123000706D7E126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D
140F4A5A4A5A92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B491303484814
00485A485A000EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C0
3901F80FF03903C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401
A25D4A5AA24A5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F
80A216C0A2153F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF00
6C495A121E390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<15
38A2157815F8A2140114031407A2140F141F141B14331473146314C313011483EB030313
071306130C131C131813301370136013C01201EA038013005A120E120C5A123812305A12
E0B712F8A3C73803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C90
38F003F890B5FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F8039
07E007E090388003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300
485C12E000605C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7
FC38007FFCEB1FE0213A7CB72A>I<EC3FC0903801FFF0010713FC90380FE03E90383F80
0790387E001F49EB3F804848137F485AA2485A000FEC3F0049131E001F91C7FCA2485AA3
127F90C9FCEB01FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E497FA2
49148016C0151FA290C713E0A57EA56C7E16C0A2121FED3F807F000F15006C6C5B15FE6C
6C5B6C6C485A3900FE07F090383FFFC06D90C7FCEB03FC233A7DB72A>I<12301238123E
003FB612E0A316C05A168016000070C712060060140E5D151800E01438485C5D5DC71201
4A5A92C7FC5C140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133F
A5137FA96DC8FC131E233B7BB82A>I<EB03F8EB1FFF017F13C09038FC07F03901E001F8
48486C7E4848137C90C77E48141E000E141F001E80A3121FA27F5D01E0131E6C6C133E01
FC133C6D5B6C6C6C5AECC1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F0
7F3903E07FFE3907801FFF48486C1380481303003E6D13C0003CEB007F007C143F0078EC
0FE000F814075A1503A21501A36C15C012781503007C15806CEC07006C5C6C6C131ED807
E0137C3903F803F0C6B55A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13
C09038FC07E03903F803F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA2
48EC1FC0A616E0A56C143FA27F123F001F147FA26C6C13FF6C6C13DF000313013901F003
9F3900FC0F1FD93FFC13C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A
5A4A5A49485A6C48485A001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB7
2A>I<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A3
17>I<121C127FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A41203
1300A25A1206A2120E5A121812385A1260093479A317>I<1538A3157CA315FEA34A7EA3
4A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC
6003A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121F
A2496E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3
373C7DBB3E>65 D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2
707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE
07F0707E707E83707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB
7FF0B812C094C7FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01
FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F
12014848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD12
7F6DED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15
386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13
F002011380313D7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0
EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0F
F0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC
16F816C036397DB83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170E
A31706A317078316C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A2
1860A318E093C712C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA3
33397DB839>I<B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4
170E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8
FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03
903A03FC000787D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F
48481507A248481503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E933800
7FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EF
D90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFFFC00020F01F013000200138038
3D7CBA41>I<B648B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C71201
B3A6486D497EB648B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497EB612
C0A31A397EB81E>I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A3
17F0A216011603160FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA2
0001F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC01
83A3D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C
13C0A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D
5A487ED80FFC6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE80
80C69238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F
6E7EA26E7E6E7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07
FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2
177E486C153E487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E091
38FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E4848
6E7E49157E0003167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17
F8491507A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC00007
17806D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80
D903F8017FC7FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816
FE000190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FE
A2EE03FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FC
A330397DB839>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7E
D93F80EB07F049C76C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C04915
1F001F17E0A24848ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA200
3F17F0A26C6CED1FE0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC07
01C0FEEC0E002600FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806D
B449C7FC0100D981FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0F
FFA318F08218E07013C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190
388007FE6C90C76C7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F80
04FFC8FCED07FC91B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F0
0180A217F8160F1803486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F039
3B7DB83D>I<D90FF813C090383FFE0190B512813903F807E33907E000F74848137F4848
133F48C7121F003E140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13
F86CB47E6C13F8ECFF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0
EC007FED3FF0151F150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C
15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC25
3D7CBA2E>I<003FB812E0A3D9C003EB001F273E0001FE130348EE01F000781600007017
70A300601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C
>I<B6903807FFFEA3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C
80171C133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F
807E91381FFFF8020713E09138007F80373B7DB83E>I<B5D8FC07B5D8F001B5FCA30007
902780001FFEC7EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E
5F017F6E6C1406A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D
6C011C6D5BEE181FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FC
A203805D913B7F818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A2
15F6DA0FFCEC3FF0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B
80503B7EB855>87 D<003FB7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E
0038141F00784A5A12704B5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F
4A5AA24A5A92C8FC5B495AA2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC
5B1203485AEE0700485A495C001F5D48485C5E4848495A49130FB8FCA329397BB833>90
D<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>I<390180018000031303390700
0700000E130E485B0018131800381338003013300070137000601360A200E013E0485BA4
00CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A>I<EA
FFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB1FE0EBFFFC3803E03F3907000F
80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA
03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18
383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1
913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB
F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C
EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312
3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380
3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348
6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90
39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280
A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F
4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14
076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090
381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F
803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3
ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF
F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781
9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA
127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE
0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3
E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512
F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800
0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2
EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214
7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0
18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2
D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D
5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37
257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D
6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7
E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC
3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003
EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C
5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA
7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5
12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15
0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B
4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmbx14 14.4 36
/Fh 36 120 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<17FC1601A216031607160FA2161F163F
167FA216FF5D5DA25D5D5D167F153E157E15FC15F8EC01F01403EC07E015C0EC0F80141F
EC3F00143E5C14FC495A5C495A1307495A5C49C7FC5B137E137C5B1201485A5B485A120F
485A90C8FC123E127E5ABA1280A5C901FCC7FCAF021FB71280A5394F7CCE42>I<486C15
0601F0153E01FEEC01FED9FFF0133F91B65A5F5F5F5F5F94C7FC16FC5E16E093C8FC15FC
01F0138091CAFCAC913807FF80023F13F891B512FE01F36E7E9026FFFC0113E09139E000
7FF891C76C7E496E7E01F86E7E5B7013804916C0C9FC18E08218F0A418F8A31203EA0FE0
EA3FF8487EA212FF7FA218F0A25B5E6C4816E05B01C016C06CC85A18806C6C4A13007FD8
0FF04A5A6C6CECFFFCD803FE4913F02701FFE00F5B6C6CB612806D92C7FC010F14F80101
14C09026003FFCC8FC354F7ACD42>I<ED07FE92B512C0020314F0021F14FC91397FFC01
FE9139FFE0007F01030180EB3F804990C7121F4948EC7FC0494814FF4948010313E0495A
49485B5A485BA2485BA2486F13C091C7FC4803001300177E94C7FC5AA25B127FA2ED3FF0
4AB5FC020714C000FF4914F091391F807FF891393E001FFE02786D7E4A6D13807013C06D
5A4A6D13E018F05C7013F8A291C813FCA44916FEA3127FA6123FA37F6C17FCA36C17F85E
7E6E15F06C17E06C6D5B6E15C06C4B13806D6C491300D93FFC495A6DB4EBFFFC010790B5
12F06D5D01001580021F01FCC7FC020313C0374F7BCD42>I<121F7F7FEBFF8091B8FCA4
5A18FE18FC18F818F0A218E018C018804817000180C8123E007EC9127E5F007C4B5A4C5A
5F16074C5A484B5A4CC7FC167E167CC912FC4B5A4B5AA24B5A150F4B5AA24B5AA24BC8FC
5DA25C5D1403A214075D140FA3141FA2143FA34A5AA414FFA65BAB6D5B6E5A6E5A6E5A38
5279D042>I<171F4D7EA24D7EA34D7EA24C7FA34C7FA24C7FA34C7FA34C7F83043F8016
3E83047E80EE7C1F04FC8016F8830301814C7E03038116E0830307814C7E030F81168083
031F8193C77E4B82153E84037E82037C8003FC825D840201835D02036F7F5D8402078392
B8FCA24A83A24A8392C9FC854A84023E82027E84147C8502FC844A820101855C85010385
4A820107855C85010F85D93FF082B600F00207B712E0A55B547CD364>65
D<932603FFF01407047F01FF140F0307B600E0131F033F03F8133F92B700FE137F020391
26C003FF13FF020F01F8C7EA3FC1023F01C0EC0FE391B5C80003B5FC4901FC8149498149
01E082011F498249498292CA7E4948834948835A4A83485B4885A24849187FA2485B1B3F
A2485B1B1FA25AA21B0091CDFCA2B5FCAE7EA280A36C1A1FA36C7FA21B3F6C7F1B3E6C7F
1B7E6C6D187C6C1AFC6E18F86C19016D6CEF03F06D7E6FEE07E06D6DEE0FC001076DEE1F
806D01F8EE3F006D6D16FE6D01FF4B5A023F01C0EC07F8020F01FCEC3FF00203903AFFC0
01FFC0020091B6C7FC033F15FC030715F0DB007F1480040301F0C8FC505479D25F>67
D<BB12F8A5D8000F01E0C7001F13FC1801F0003F191F190F19071903190119001AFE1A7E
A31A3EA51A3FDD07C0131FA41A00A3170FA3171F173F177FEE03FF92B6FCA5EDE003EE00
7F173F171F170FA31707A794C9FCB3A2B812E0A548527BD153>70
D<B81280A5D8000701F0C7FCB3B3B3B2B81280A529527DD130>73
D<93381FFF800303B512FC033FECFFC092B712F00207D9F80113FE021F903A80001FFF80
4A48C700077FDAFFF8020113F049496E7F4901C0ED3FFC49496F7E4990C96C7E4948707F
013F854948707F4948707F48864A8248864A177F48864849717EA3481B804A83481BC0A4
4890CB6C13E0A5B51AF0AF6C1BE06E5FA46C1BC0A26E5F6C1B80A36C6D4D1300A26C6D4D
5AA26C626C6D4C5B6E5E6C626D6C4C5B6E5E6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A
01016D4A13F86D01FE02075B91263FFFC0013F13C06ED9F801B55A020790B648C8FC0201
16F8DA003F15C003074AC9FCDB001F1380545479D263>79 D<B912FCF0FFE019FE737E1A
E0D8000F01E0C7003F7F060313FC06007F737E7313807313C07313E0851BF0A21BF885A2
1BFCA91BF8A3611BF0A21BE04F13C0614F13804F13004F5A060713F8063F5B92B812C097
C7FC19F8198003E0CBFCB3AEB712FEA54E527CD15A>I<B912C018FEF0FFE019FC19FFD8
000F9026E0000114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A2
6163636198C8FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226
E0000F13F8050113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2
841C0373018013E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B512000700
5C081F5BCD000113F05C537BD162>82 D<DA0FFE141C91B500F0133C010702FC137C011F
02FF13FC017F15C19026FFF00113E148903980001FFB4890C7EA07FFD807FC1401484880
4848153F171F4848150FA2007F1607491503A2170112FFA217007FA26D167CA27F7F6D93
C7FC6C7E14C014F0ECFF806C14F8EDFFC06C15FC6CEDFF8017F06C16FC6C826C707E6C83
6D82011F8201078213016D6C81020781EC003F030380ED003F040314801600173F837113
C0838312F883A3837EA319807EA26C5E19007F6D4B5A7F6D4B5A01FC4B5A6D151FD9FFC0
4A5AD97FF8ECFFE028FE1FFF80075B010790B6C7FCD8FC0115FC486C6C14F048010F14C0
489026007FFCC8FC3A5479D249>I<003FBB12FEA59126C0007FEB000101FCC7ED001FD8
7FF0F007FF49844984498490C883A2007E86A3007C86A500FC1B80481A0FA6C994C7FCB3
B3AC49B912C0A551517BD05C>I<EC3FFE0107B512E0011F14FC017F14FF2701FFC00F13
C02703FE00037F486C01007F6E6D7E486D80707EA2707EA3707F6C5B6C90C7FC6C5AC9FC
A60303B5FC0203B6FC147F0103B7FC010FEBF00F017F1300EBFFFC000313F04813C0485B
4890C7FC5A5B485AF081F012FF5BA35EA26D5C127F6D5C003F03F713C36DD901E314E06C
D9C00714FF00079026F01F8114C06C90B5C61480C602FC6D1300011F01F0EB3FFC010101
80EB07F03C387CB642>97 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC
903A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E1300
705A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F
6C6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7
FC023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A49138
03FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF81301
49487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA3
121F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F
8F010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F
13F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F
48496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401
FCCAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F00
6C6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC
020113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE00103
9038E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FC
AEB712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF80
010FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E484990
387FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D
143F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114
E02707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318
F06C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83
A56D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC01
1F1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<EB3FF8B5FC
A51203C6FCB3A4EE1FFC93B57E030314E0030F14F892391FC07FFC92397E003FFE03F86D
7EECF9F04B6D7FECFBC0ECFF8092C76C7FA25CA25CA45CB3ACB6D8F807B612C0A542537C
D249>I<133FEBFFC0487F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5
FCA512017EB3B3A6B612F0A51C547CD324>I<EB3FF8B5FCA51203C6FCB3A50407B512F0
A59339007FF000EF3FC04D5A4DC7FCEE01FC4C5AEE0FF04C5A4C5A4CC8FC16FEED03FC4B
5A4B5A4B5A4B7E4B7EECF9FF02FB7F91B57EA28203BF7F031F7F14FE4A6C7FDAF0077F6F
7FA26F7F6F7F167F83707F707FA2707F707F707FA2707F707F84B6D8F00F14FEA53F537C
D246>107 D<EB3FF8B5FCA51203C6FCB3B3B3B1B612F8A51D537CD224>I<D93FF0D91FF8
4AB47EB591B56C010F13F8030302E0013F13FE030F6E90B6FCDB3F809027F803F80F7F92
2A7E007FFC07E0077F000302F890283FFE0F80037FC6D9F1F0011F49487EDAF3E0DAFF3E
814B153CDAF7805D92C76C496D7F14FF4A5EA24A5EA34A5EB3ADB6D8F80FB66CB612F8A5
65367BB56E>I<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92397E003F
FE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3ACB6D8F8
07B612C0A542367CB549>I<913801FFC0023F13FE91B67E010315E0010F018013F8903A
3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F4883488349153F001F
83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2001F5FA26C6C
4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6DB46CB45A0107
90B512F0010115C0D9003F49C8FC020313E039387CB642>I<D93FF8EB7FF0B50107B5FC
031F14C0037F14F09126F9FF0013FCDAFFF8EB3FFF000302E0010F7FC602806D7F92C76C
7F4A824A804A6E7F85187F85A2183F85A4721380AD4E1300A44E5AA26118FF616E5C616E
4A5B6E4A5B6F495B03E04990C7FCDAFBF0EB7FFE913AF9FE01FFF802F8B65A033F14C003
0749C8FC030013E093CAFCB1B612F8A5414D7DB549>I<90393FF001FCB590380FFF804B
13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015C0ECF780A2ECFF00
EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>114
D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F484813034848
1301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFFF06C
14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F030713E0
150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03FE90
39FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<147CA6
14FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426007F
FCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C023F
1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC61607
B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F876D90
B51207010114FC6D6C13F0020701C091C7FC42377CB549>I<B600E090380FFFFEA50001
01F8C813806C6DED3E00187E017F167C6E15FC013F5E6E1401A26D6D5C17036D6D5C1707
6D5E6F130F6D5E81171F6D6D91C7FC5F6D153E6F137E027F147C6F13FC023F5C8116016E
EB81F016836E5C16C76E5C16EF6E5C16FFA26E91C8FCA26E5BA26F5AA36F5AA26F5AA26F
5AA26F5A3F367DB446>I<B600E1B6D88007B5FCA500019026F0000301C0C7EA3FE06E6D
6DEC0F801B1F6C1B006E6D6D5C017F193E717E6E187E013F197C6E6F14FC6D6117FF6F6E
13016D4A5E03C0806D4E5A5E03E001E7EB80076D02075E03F001C313C01A0F6D020F5E03
F80181EBE01F6D021F93C7FC050013F003FC5E027F49153EDBFE3E90387FF87E023F177C
4C133F03FFEDFCFC6E01FC5D4CEB1FFE6E705AA24C7F6E5F4C7FA26E5F4C7F6E5F4C7FA2
6E94C8FC93C8FC6F5D037E157E033E157C58367DB45F>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmr12 12 23
/Fi 23 119 df<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A3120113
80120313005A1206120E5A5A5A12600B1D78891B>44 D<143014F013011303131F13FFB5
FC13E713071200B3B3B0497E497E007FB6FCA3204278C131>49 D<14FF010713E0011F13
F890387F00FE01FC133FD801F0EB1F804848EB0FC049EB07E00007EC03F048481301A290
C713F8481400A47FA26D130116F07F6C6CEB03E013FC6C6CEB07C09039FF800F806C9038
C01F006CEBF03EECF87839007FFEF090383FFFC07F01077F6D13F8497F90381E7FFFD97C
1F1380496C13C02601E00313E048486C13F000079038007FF84848EB3FFC48C7120F003E
EC07FE150148140016FF167F48153FA2161FA56C151E007C153EA2007E153C003E157C6C
15F86DEB01F06C6CEB03E06C6CEB07C0D803F8EB1F80C6B4EBFF0090383FFFFC010F13F0
0101138028447CC131>56 D<14FF010713E0011F13F890387F80FC9038FC007E48487F48
48EB1F804848EB0FC0000FEC07E0485AED03F0485A16F8007F140190C713FCA25AA216FE
1500A516FFA46C5CA36C7E5D121F7F000F5C6C6C1306150E6C6C5B6C6C5BD8007C5B9038
3F01E090390FFF80FE903801FE0090C8FC150116FCA4ED03F8A216F0D80F801307486C14
E0486C130F16C0ED1F80A249EB3F0049137E001EC75A001C495A000F495A3907E01FE06C
B51280C649C7FCEB1FF028447CC131>I<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED
30FFA203707FED607FA203E07FEDC03FA2020180ED801FA2DA03007F160FA20206801607
A24A6D7EA34A6D7EA34A6D7EA20270810260147FA202E08191B7FCA249820280C7121FA2
49C87F170FA20106821707A2496F7EA3496F7EA3496F7EA201788313F8486C83D80FFF03
037FB500E0027FEBFFC0A342477DC649>65 D<B912F8A3000101C0C7127F6C6C48EC07FC
17011700187C183C181CA284A31806A4180704067FA395C7FCA4160EA2161E163E16FE91
B5FCA3EC8000163E161E160EA21606A319C0A3F0018093C7FCA41803A21900A260A260A2
181EA2183E187EEF01FE170748486C147FB95AA33A447CC342>69
D<B912F0A3000101C0C7127F6C6C48EC0FF817031701170018781838A2181CA3180CA418
0E1806160CA21800A5161CA2163C167CED01FC91B5FCA3EC8001ED007C163C161CA2160C
A793C8FCB08048487EB612F8A337447CC340>I<49B41303010FEBE007013F13F89039FE
00FE0FD801F8131FD807E0EB079F49EB03DF48486DB4FC48C8FC4881003E81127E82127C
00FC81A282A37E82A27EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE06C14
FC6C14FF6C15C0013F14F0010F80010180D9001F7F14019138001FFF03031380816F13C0
167F163F161F17E000C0150FA31607A37EA36C16C0160F7E17806C151F6C16006C5D6D14
7ED8FBC05CD8F9F0495AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC39C0003F
F02B487BC536>83 D<EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7ED8
0FC0137E486C137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB3F
C0EBFF00EA03FC485A485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D90
38C7E0C0003F13013A1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B2E
7CAC31>97 D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E091387001
F89039FDE0007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FCA2
160117FEAB17FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB7E
00D9E1C05B9039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>I<
EC7F80903803FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB1F
E049133F120F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F16307F
001F15706C6C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381FC0
78903807FFF001001380242E7DAC2B>I<EB01FE903807FFC090381F03F090387E00FC49
137E48487F485A4848EB1F80000F15C049130F121F484814E01507A2007F15F090C7FCA2
5AA390B6FCA290C9FCA67EA27FA2123F16306C7E1670000F15606D14E06C6C14C0000314
016C6CEB03806C6CEB0700013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>
101 D<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC01FF033A01F800FE
014848017E13E00007027FC7FC497F000F8149131F001F81A9000F5D6D133F000792C7FC
6D5B0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC90CAFCA25AA37F6C
7E7F90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF48481300003FC8EA3F80
003E151F48ED0FC0A2481507A56C150F007C1680007E151F003E16006C153E6C6C5CD807
E0495AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C427DAC31>103
D<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F091383801F802707FEC
E000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F457DC4
36>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0
487EB512F8A315437DC21C>I<EA01FC12FFA3120712031201B3B3B3A5487EB512F8A315
457DC41C>108 D<3901FC01FE00FF903807FFC091381E07F091383801F8000701707F00
03EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F
2C7DAB36>110 D<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E
48486D7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A2
6D147F003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A
013E49C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3903F803F000FFEB1F
FCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748
B4FCB512FEA3202C7DAB26>114 D<90383FE0183901FFFC383907E01F78390F0003F800
1E1301481300007C1478127800F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C
13FC6C13FF6C14C06C14E0C614F0011F13F81300EC0FFC140300C0EB01FE1400157E7E15
3EA27EA36C143C6C147C15786C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C0
0FF01F2E7DAC26>I<1306A5130EA4131EA3133E137EA213FE12011207001FB512F0B6FC
A2C648C7FCB3A4150CAA017E131C017F1318A26D133890381F8030ECC070903807E0E090
3801FFC09038007F001E3E7EBC26>I<D801FC147F00FFEC3FFFA3000714010003800001
81B3A85EA35DA212006D5B017E9038077F80017F010E13C06D011C13FE90380FC0789038
03FFF09026007F8013002F2D7DAB36>I<B539F001FFFCA3000790C7EA7FE06C48EC1F80
00011600160E1200160C017F5CA280013F5CA26E1370011F146080010F5CA2ECF0010107
5CA26D6C48C7FCA26E5A01011306A26D6C5AA214FF6E5AA215B8EC3FB015F06E5AA36E5A
A26E5AA36EC8FC2E2C7EAA33>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmr17 17.28 20
/Fj 20 117 df<B712F0A7240780A12B>45 D<BC1280A4C601FCC81201D93FF8DB001F13
C0011F170319001A7F1A3F1A1F1A0F1A07A21A03A21BE01A01A41A00A61B701870A41B00
A418F0A4170117031707170F177F91B7FCA402F8C7127F170F1707170317011700A41870
A31B0EA41B1C95C8FCA51B3C1B38A31B78A41BF0A31A01A21A031A07A2F20FE01A1F1A7F
1AFF1903013F171FD9FFFC0303B5FCBC12C0A44F6279E15A>69 D<DDFFF015C0040F01FF
1401047F14E00303B600F81303030F9038E003FEDB3FFCC7007F1307DBFFE0EC0FC00203
0180913803E00F4A48C83801F01F4A48ED0078DA3FF0EE3C3F4A48161E4A48EE0F7F4949
EE07FF4990CA7E495A4948834948835C013F197F4948183F495A1B1F485B1B0F4890CCFC
A248481907A2485A1B03121F5BA2123F1B015BA2127F98C8FCA35B12FFB06C7EA24EB712
E0A3123F95C7000FEBF0006D06015B64001F857FA2120F7F1207A26C7EA26C7FA26C7FA2
6D7E6D7E131F806D7E6D6C5F6D7E6D6D5E6D7F6E6CEE07BFDA3FF8EE0F3FDA0FFCEE1F1F
6EB4163E6E01C0EDFC0F020001F0913801F807DB3FFEEC0FE092260FFFF09038FF800303
0390B538FE0001DB007F02F81300040F02C091C7FC040001F8CAFC5B667AE368>71
D<B712C0A4C66CEB8000D91FFEC7FC6D5AB3B3B3B3AE497E90387FFF80B712C0A422627A
E12F>73 D<B912C018FEF0FFC019F0C601FCC813FCD93FF8ED0FFF011F04037F06007FF1
3FF0737E737E1907737E86731380A27313C0A31BE01A7FA21BF0A91BE0A21AFF1BC0A34F
13801B00614F5A624F5A4F5AF17FE04F5A060390C7FCF01FFE943801FFF891B812E096C8
FC18F802F8CCFCB3B3A4497E90B5FCB7FCA44C6279E15A>80 D<EC3FF0903803FFFE010F
6D7E90393FC03FE090397E0007F801F86D7ED801E06D7E48486D7E48486E7E48C86C7E7F
01F06E7E487E6D6E7EA3707EA36C5AEA03E0C9FCA6167FED7FFF020FB5FC91387FF80790
3801FF80903807FC00EB1FF0EB7FC0495AD803FEC7FC485A120F5B485A485AA2484817E0
A312FF5BA2160FA3161F6D141B007F153B16736D913971FC01C06C6C14E1001FEC01C1D8
0FFC903A0780FE03806C6C903A0F00FF07002701FF807E6DB4FC27007FFFF86D5A011F01
E0EB1FF8010190C7EA07E03B417ABF42>97 D<EB03C0EA07FFB5FCA41201EA007FA2133F
B3AAEE7FC0923807FFFC031F13FF92397F007FC003F8EB0FF0DAC3E06D7EDAC780EB01FC
02CFC87E02DE157F02FC6F7E4A824A6F7E180F4A82727E5C727EA2851801A285A3841A80
AD1A0060A461180361A21807616E5E180F6E4B5A6E5E02B8153F023C4B5A6E4BC7FC6E4A
5A90263E0780495A6E6CEB0FF090263C01F0495ADA007EEBFF806FB448C8FC0138010F13
F890C8138041657DE349>I<4AB47E020F13F8023F13FE9139FF007F80D903FCEB07E0D9
07F0EB01F0D91FE0EB007849488049488049C87E48485D4915FF00034B138048485CA248
5AA2485AA2003F6F130049EC007C94C7FC127FA35B12FFAD127F7FA4123F7FA2001FEE01
C07F000F16036D168012076C6C15076D160000015E6C6C151E6D6C5C6D6C5C6D6C5CD90F
F8495AD903FCEB07C0903A00FF803F8091263FFFFEC7FC020F13F80201138032417CBF3A
>I<181EEF3FFEEE07FFA4EE000F1703A21701B3AAEDFF80020F13F8023F13FE9139FF80
3F81903A03FC0007C14948EB01E1D91FE0EB00F94948147D4948143D49C8121F4848150F
491507120348481503491501120F121F5BA2123F5B127FA45B12FFAD127F7FA3123FA27F
121FA26C6C1503A26C6C150712036D150F6C6C151F0000163D137F6D6CECF9FF6D6CEB01
F1D90FF0D903C113C06D6CD90F81EBFF80D901FFEB7F019039007FFFFC021F13E0020101
0091C7FC41657CE349>I<EC03FE91381FFFE091B512F8903901FE03FE903A07F0007F80
49486D7ED93FC06D7E49C76C7E496E7E49140348488148481401000782491400000F8283
485A1880123F49153FA2007F17C0A35BA212FF90B8FCA30180CAFCA9127F7FA3123FA27F
121FEF01C06C7E17036C6C1680A26C6C15070001EE0F006D150E6C6C151E6D6C5C6D6C5C
6D6C5CD907F0EB03E0D903FC495A902700FF803FC7FC91383FFFFC020F13F00201138032
417CBF3A>I<ED0FF0ED7FFC4AB5FC913907F81F8091390FE00FC091381FC03F91393F80
7FE0EC7F005C495A5C0103EC3FC0A24948EB0F0093C7FCA2495AB3A5B712F0A426000FF0
C8FCB3B3B0497EEB3FFE003FB6FCA42B657EE428>I<EB03C0EA07FFB5FCA41201EA007F
A2133FB3AAEE7FE0923803FFFC030F13FFDB3F0013C00378EB1FE04B6D7EDAC1C06D7EDA
C3808002C7C7120302CE81170114DC14D802F86E7E5CA35CA35CB3B3496C4A7F496C4A7F
B6D8F003B612C0A442647DE349>104 D<133C13FF487F487FA66C5B6C90C7FC133C90C8
FCB3A2EB03C0EA07FF127FA41201EA007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23
>I<EB03C0EA07FFB5FCA41201EA007FA2133FB3B3B3B3AD497E497EB612F0A41C647DE3
23>108 D<D903C0D9FFC0EC07FED807FF010301F891381FFFC0B5010F01FE027F13F092
3D3F00FF8001F807FC0378903B3FC003C001FEDAC1E090261FE00FC77E0001D9C3C09026
0FF01E6E7ED8007F49902607F81C6E7E02C7C75CD93FCE6E6C486E7E02CC166002DC16E0
02D85E02F8DA01FF6F7E4A5EA24A93C8FCA44A5DB3B3496C4A6C4B7E496C4A6D4A7EB6D8
F007B6D8803FB512FCA4663F7CBE6F>I<D903C0EB7FE0D807FF903803FFFCB5010F13FF
DB3F0013C00378EB1FE04B6D7E0001D9C1C06D7E27007FC3808002C7C71203D93FCE8117
0114DC14D802F86E7E5CA35CA35CB3B3496C4A7F496C4A7FB6D8F003B612C0A4423F7DBE
49>I<EDFF80020F13F8023F13FE9139FF007F80D903FCEB1FE0D907F0EB07F0D90FC0EB
01F8D93F80EB00FE49C8127F017E81496F7E48486F7E00038349150700078348486F7EA2
001F83491501A2003F83A348486F7EA400FF1880AC007F1800A26D5DA2003F5FA36C6C4B
5AA36C6C4B5A00075FA26C6C4B5A6C6C4B5AA26C6C4B5A017F4BC7FC6D6C14FE6D6C495A
D90FF0EB07F8D903FCEB1FE0D900FFEB7F806EB5C8FC020F13F8020113C039417CBF42>
I<9039078003F8D807FFEB0FFFB5013F13C092387C0FE0913881F01F9238E03FF00001EB
838039007F8700148FEB3F8E029CEB1FE0EE0FC00298EB030002B890C7FCA214B014F0A2
5CA55CB3B0497EEBFFF8B612FCA42C3F7CBE33>114 D<9139FFE00180010FEBFC03017F
EBFF073A01FF001FCFD803F8EB03EFD807E0EB01FF48487F4848147F48C8123F003E151F
007E150F127CA200FC1507A316037EA27E7F6C7E6D91C7FC13F8EA3FFE381FFFF06CEBFF
806C14F86C14FF6C15C06C6C14F0011F80010714FED9007F7F02031480DA003F13C01503
030013E0167F00E0ED1FF0160F17F86C15071603A36C1501A37EA26C16F016037E17E06D
14076DEC0FC06D1580D8FDF0141FD8F8F8EC7F00013E14FC3AF01FC00FF80107B512E0D8
E001148027C0003FF8C7FC2D417DBF34>I<1438A71478A414F8A31301A31303A2130713
0F131FA2137F13FF1203000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316
036D6C148016076D6C14006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F80
2B597FD733>I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 115 439 a Fj(General)44 b(Information)f(on)h(the)g(P)l
(erl-based)h(Electronics)g(In)l(terface)965 680 y Fi(Stev)m(e)34
b(Eic)m(h)m(blatt)372 b(Stev)m(e)35 b(F)-8 b(urlanetto)1484
874 y(August)33 b(18,)g(1998)-120 1232 y Fh(1)132 b(In)l(tro)t(duction)
-120 1413 y Fg(This)30 b(do)r(cumen)n(t)h(pro)n(vides)e(an)h(o)n(v)n
(erview)e(of)i(the)h(P)n(erl-based)d(electronics)h(con)n(trol)g(in)n
(terface)h(for)g(the)h(CDMS)g(detector)-120 1513 y(electronics.)49
b(It)32 b(includes)g(a)f(brief)h(description)f(of)h(the)g(in)n(terface)
f(program)f(and)i(its)g(setup)g(\014le,)h(eac)n(h)e(of)h(the)g(soft)n
(w)n(are)-120 1613 y(pac)n(k)-5 b(ages)37 b(used)j(in)f(the)h(in)n
(terface)f(\(all)g(of)g(whic)n(h)h(are)e(in)n(visible)h(to)g(the)h
(casual)e(user\),)k(and)d(the)h(manner)f(in)g(whic)n(h)-120
1712 y(commands)30 b(\015o)n(w)f(b)r(et)n(w)n(een)h(these)g(v)-5
b(arious)29 b(soft)n(w)n(are)g(pac)n(k)-5 b(ages.)43
b(These)30 b(descriptions)f(are)g(designed)h(to)g(in)n(tro)r(duce)g
(the)-120 1812 y(principles)d(b)r(ehind)i(the)f(arc)n(hitecture)e(and)i
(to)f(aid)g(in)h(future)g(upgrading)f(and)g(debugging)g(of)g(the)h
(soft)n(w)n(are.)5 1911 y(One)e(of)g(the)h(strengths)f(of)g(the)h(p)r
(erl-based)f(design)g(is)g(that)h(it)g(can)f(function)h(through)e(the)i
(in)n(ternet)g(as)f(describ)r(ed)g(in)-120 2011 y(ref)e([1].)36
b(This)24 b(do)r(cumen)n(t)h(will)f(not)h(explicitly)f(describ)r(e)g
(the)h(reasoning)e(for)g(suc)n(h)h(functionalit)n(y)-7
b(,)26 b(but)f(it)f(will)h(\(hop)r(efully\))-120 2111
y(illustrate)i(ho)n(w)g(that)h(design)f(has)g(b)r(een)h(implemen)n(ted)
h(in)e(this)h(arc)n(hitecture.)5 2210 y(This)i(do)r(cumen)n(t)h(will)g
(also)e(not)i(describ)r(e)f(the)h(sp)r(eci\014c)g(commands)f(a)n(v)-5
b(ailable)29 b(for)h(eac)n(h)g(t)n(yp)r(e)h(of)f(electronics)g(card.)
-120 2310 y(F)-7 b(or)27 b(information)g(on)g(those)g(commands,)g(see)g
(the)h(relev)-5 b(an)n(t)26 b(user's)h(guide)g(\(for)g(example,)g(in)h
(ref)f([2],)h(ref)f([3],)g(or)g(ref)g([4]\).)5 2410 y(This)g(do)r
(cumen)n(t)h(can)f(b)r(e)h(found)g(at)-120 2509 y Ff(http://fnphyx-ww)o
(w.f)o(na)o(l.)o(gov)o(/e)o(xpe)o(ri)o(men)o(ts)o(/c)o(dms)o(/s)o(oft)o
(wa)o(re)o(/GP)o(IB)o(/Pe)o(rl)o(Int)o(er)o(fa)o(ce.)o(ps)-120
2784 y Fh(2)132 b(Ov)l(erall)45 b(Arc)l(hitecture)-120
2966 y Fg(In)26 b(designing)g(the)h(in)n(terface)e(system,)i(w)n(e)f
(ha)n(v)n(e)f(tak)n(en)g(adv)-5 b(an)n(tage)25 b(of)h(P)n(erl's)f
(capabilit)n(y)h(for)g(ob)5 b(ject-orien)n(ted)24 b(program-)-120
3065 y(ming.)34 b(The)21 b(idea)f(b)r(ehind)h(ob)5 b(ject-orien)n(ted)
19 b(programming)f(is)j(quite)f(simple:)34 b(to)20 b(mak)n(e)g(the)g
(soft)n(w)n(are)f(re\015ect)h(the)h(ph)n(ysical)-120
3165 y(organization)29 b(of)j(the)g(hardw)n(are.)47 b(In)31
b(general,)h(one)f(creates)f(a)i(single)f(\\pac)n(k)-5
b(age")29 b(or)h(\\mo)r(dule")h(for)g(eac)n(h)g(ph)n(ysical)g(or)-120
3265 y(conceptual)e(ob)5 b(ject)29 b(in)g(the)h(system.)42
b(Eac)n(h)28 b(pac)n(k)-5 b(age)28 b(con)n(tains)g(all)h(the)g(data)g
(necessary)f(for)h(con)n(trol)e(of)j(the)f(particular)-120
3364 y(ob)5 b(ject)29 b(it)g(represen)n(ts,)f(and)h(sev)n(eral)e
(routines,)i(or)f(\\metho)r(ds,")h(for)g(manipulating)f(the)i(ob)5
b(ject.)41 b(The)29 b(great)f(adv)-5 b(an)n(tage)-120
3464 y(to)27 b(suc)n(h)g(an)g(ob)5 b(ject-orien)n(ted)26
b(design)h(is)g(that)g(it)h(is)f(v)n(ery)f(easy)h(to)g(upgrade)f(one)h
(part)g(of)g(the)h(system)f(without)g(a\013ecting)-120
3563 y(other)f(parts,)h(b)r(ecause)f(the)h(relev)-5 b(an)n(t)26
b(co)r(de)h(is)g(cleanly)f(separated)f(from)i(all)f(other)g(co)r(de.)37
b(Figure)26 b(1)h(is)f(a)h(diagram)e(of)i(the)-120 3663
y(v)-5 b(arious)26 b(mo)r(dules)i(used)g(in)f(this)h(in)n(terface.)5
3763 y(Because)36 b(of)h(the)g(mo)r(dularit)n(y)g(in)g(this)h(soft)n(w)
n(are,)f(w)n(e)g(ha)n(v)n(e)f(made)h(extensiv)n(e)g(use)g(of)g
Fe(inheritanc)l(e)p Fg(,)j(implemen)n(ted)-120 3862 y(through)33
b Fe('is-a')k(r)l(elationships)p Fg(.)57 b(In)34 b(man)n(y)f(cases,)h
(lo)n(w-lev)n(el)e(ob)5 b(jects)33 b(share)g(a)g(certain)g(amoun)n(t)g
(of)h(functionalit)n(y)f(\(for)-120 3962 y(example,)28
b Ff(RTFcard.pm)p Fg(,)c Ff(BLIPcard.pm)p Fg(,)g(and)k
Ff(ZIPcard.pm)c Fg(eac)n(h)j(represen)n(t)g(9U)h(electronics)f(mo)r
(dules;)h(as)g(suc)n(h,)g(they)-120 4062 y(ha)n(v)n(e)36
b(some)g(op)r(erations)g(in)h(common\).)64 b(T)-7 b(o)37
b(reduce)f(the)i(amoun)n(t)e(of)h(duplicate)g(co)r(de,)i(routines)d
(shared)g(b)n(y)h(sev)n(eral)-120 4161 y(pac)n(k)-5 b(ages)25
b(are)g(included)i(in)g(a)f(higher-lev)n(el)f(pac)n(k)-5
b(age,)25 b(and)h(the)h(lo)n(w)n(er-lev)n(el)d(pac)n(k)-5
b(ages)25 b(inherit)h(these)h(routines)f(from)g(the)-120
4261 y(high-lev)n(el)i(pac)n(k)-5 b(ages.)39 b(This)29
b(relationship)f(is)h(sho)n(wn)f(in)h(Figure)g(1)f(as)g(a)h(solid)f
(line,)i(with)f(the)h(solid)e(blac)n(k)g(dot)h(lab)r(eling)-120
4360 y(the)f(sub-class.)5 4460 y(The)23 b(other)f(imp)r(ortan)n(t)h(t)n
(yp)r(e)h(of)f(relationship)f(b)r(et)n(w)n(een)h(mo)r(dules)h(is)f(the)
g Fe(\\has-a")j(r)l(elationship')p Fg(,)h(sho)n(wn)22
b(in)i(Figure)e(1)-120 4560 y(as)40 b(a)g(dotted)h(line.)76
b(This)40 b(relationship)g(re\015ects)g(the)h(fact)f(that)h(some)f(ob)5
b(jects)40 b(con)n(tain)g(others)g(\(for)g(example,)j(an)-120
4659 y(electronics)23 b(card)g(con)n(tains)g(sev)n(eral)g(digital)g(ob)
5 b(jects)24 b(suc)n(h)g(as)f(D)n(A)n(Cs)h(and)g(con)n(trol)f
(registers\).)34 b(Rather)23 b(than)i(rep)r(eatedly)-120
4759 y(build)33 b(the)f(smaller)f(ob)5 b(jects)32 b(in)n(to)g(the)g
(larger)e(ob)5 b(ject,)33 b(the)g(co)r(de)e(is)h(placed)g(in)n(to)g(a)g
(separate)e(mo)r(dule,)k(and)e(the)g(larger)-120 4859
y(ob)5 b(ject)36 b(simply)h(calls)f(that)h(pac)n(k)-5
b(age.)62 b(This)37 b(mo)r(dule)f(then)h(p)r(erforms)f(all)h(of)f(the)h
(op)r(erations)e(on)i(that)f(ob)5 b(ject.)64 b(The)-120
4958 y(end)29 b(of)g(the)g(dotted)g(line)g(in)g(Figure)f(1)g(p)r(oin)n
(ting)h(to)f(the)h(con)n(tained)f(ob)5 b(ject)29 b(has)f(an)g(in)n
(teger)g(indicating)h(the)g(n)n(um)n(b)r(er)f(of)-120
5058 y(con)n(tained)f(ob)5 b(jects)27 b(of)h(that)f(t)n(yp)r(e.)1809
5356 y(1)p eop
%%Page: 2 2
2 1 bop 284 2150 a @beginspecial 0 @llx 0 @lly 559 @urx
384 @ury 3744 @rwi @setspecial
%%BeginDocument: pkgdiagram.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: pkgdiagram
%%Creator: fig2dev Version 3.1 Patchlevel 2
%%CreationDate: Tue Aug 18 12:26:00 1998
%%For: srf@fnpx19 (Steven Furlanetto)
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 559 384
%%Pages: 0
%%BeginSetup
%%IncludeFeature: *PageSize Letter
%%EndSetup
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
-4.0 424.0 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y tr xrad yrad sc 0 0 1 startangle endangle arc
	closepath
	savematrix setmatrix
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
 0.06000 0.06000 sc
7.500 slw
% Interp Spline
gs n 3075 2550 m
	3246.6 3053.5 3302.9 3278.5 3300 3450 curveto
	3297.8 3584.6 3167.7 3848.9 3150 3975 curveto
	3148.2 3988.0 3148.2 4006.7 3150 4050 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 1875 2175 m
	1366.6 3051.5 1197.8 3464.0 1200 3825 curveto
	1202.6 4253.8 1408.8 4741.3 2025 5775 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 4242 973 m
	4195.4 1742.5 4214.1 2080.0 4317 2323 curveto
	4417.9 2561.5 4642.9 2805.2 5217 3298 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs  [66.7] 0 sd
n 3375 5025 m
	4158.2 5191.8 4495.7 5266.8 4725 5325 curveto
	4815.5 5348.0 4946.8 5385.5 5250 5475 curveto
 gs col-1 s gr
 gr
 [] 0 sd
% Interp Spline
gs n 5625 3975 m
	6000.7 4500.6 6113.2 4763.1 6075 5025 curveto
	6055.4 5159.3 5961.6 5271.8 5700 5475 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 2100 2400 m
	1879.7 2804.2 1804.7 2991.7 1800 3150 curveto
	1797.3 3242.9 1834.8 3355.4 1950 3600 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 1875 2250 m
	1411.9 3134.5 1261.9 3547.0 1275 3900 curveto
	1287.3 4230.7 1456.0 4605.7 1950 5400 curveto
 gs col-1 s gr
 gr

/Times-Roman ff 180.00 scf sf
2100 5100 m
gs 1 -1 sc (FLIP3UQBias) col-1 sh gr
/Times-Roman ff 180.00 scf sf
2100 3750 m
gs 1 -1 sc (BLIPcard) col-1 sh gr
/Times-Roman ff 180.00 scf sf
2100 3075 m
gs 1 -1 sc (RTFcard) col-1 sh gr
/Times-Roman ff 180.00 scf sf
2400 2250 m
gs 1 -1 sc (ElecModule) col-1 sh gr
/Times-Roman ff 180.00 scf sf
525 3075 m
gs 1 -1 sc (rack.pl) col-1 sh gr
/Times-Roman ff 180.00 scf sf
375 3300 m
gs 1 -1 sc (\(Interface\)) col-1 sh gr
/Times-Roman ff 180.00 scf sf
3975 900 m
gs 1 -1 sc (Object) col-1 sh gr
% Interp Spline
gs n 1950 2325 m
	1487.5 3163.6 1337.5 3557.3 1350 3900 curveto
	1359.2 4152.4 1490.4 4433.7 1875 5025 curveto
 gs col-1 s gr
 gr

% Polyline
 [66.7] 0 sd
n 895 3604 m 1870 4954 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 1050 3525 m 1875 4350 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3371 5071 m 5096 4846 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 2874 3199 m 5349 5449 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3075 3750 m 5325 5475 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3225 4425 m 5250 5550 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 1125 3450 m 2025 4050 l gs col-1 s gr  [] 0 sd
% Interp Spline
gs n 2025 2400 m
	1676.8 3085.9 1564.3 3404.7 1575 3675 curveto
	1580.8 3822.7 1655.8 3991.4 1875 4350 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 2550 2550 m
	2550.0 2718.7 2550.0 2775.0 2550 2775 curveto
	2550.0 2775.0 2550.0 2700.0 2550 2700 curveto
	2550.0 2700.0 2550.0 2737.5 2550 2850 curveto
 gs col-1 s gr
 gr

% Polyline
 [66.7] 0 sd
n 3150 4125 m 5175 5550 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3150 4050 m 5100 4575 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3075 5400 m 5100 4650 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3225 5475 m 5175 6075 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 975 3600 m 1950 5400 l gs col-1 s gr  [] 0 sd
/Times-Roman ff 180.00 scf sf
2100 6000 m
gs 1 -1 sc (ZIPcard) col-1 sh gr
/Times-Roman ff 180.00 scf sf
7125 1950 m
gs 1 -1 sc (1) col-1 sh gr
/Times-Roman ff 180.00 scf sf
4425 1800 m
gs 1 -1 sc (1) col-1 sh gr
/Times-Roman ff 180.00 scf sf
150 4200 m
gs 1 -1 sc (1) col-1 sh gr
/Times-Roman ff 180.00 scf sf
4950 5925 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
4950 4800 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1875 3225 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
7650 3600 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1950 5325 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1950 3975 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1875 4875 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1875 4200 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
2100 4500 m
gs 1 -1 sc (FLIP3UDriver) col-1 sh gr
/Times-Roman ff 180.00 scf sf
2025 5550 m
gs 1 -1 sc (FLIP3USquid) col-1 sh gr
/Times-Roman ff 180.00 scf sf
2100 4125 m
gs 1 -1 sc (FLIP3UQet) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1725 3525 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
5250 5925 m
gs 1 -1 sc (Control) col-1 sh gr
/Times-Roman ff 180.00 scf sf
5250 4800 m
gs 1 -1 sc (DAC) col-1 sh gr
/Times-Roman ff 180.00 scf sf
3525 6975 m
gs 1 -1 sc (ZIPqbias) col-1 sh gr
/Times-Roman ff 180.00 scf sf
3525 6450 m
gs 1 -1 sc (ZIPqet) col-1 sh gr
/Times-Roman ff 180.00 scf sf
3375 6000 m
gs 1 -1 sc ( ZIPdriver) col-1 sh gr
/Times-Roman ff 180.00 scf sf
3450 5475 m
gs 1 -1 sc (ZIPsquid) col-1 sh gr
/Times-Roman ff 180.00 scf sf
5250 3675 m
gs 1 -1 sc (Digital) col-1 sh gr
/Times-Roman ff 180.00 scf sf
4575 1575 m
gs 1 -1 sc (Savescript) col-1 sh gr
/Times-Roman ff 180.00 scf sf
1800 5850 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 180.00 scf sf
8325 2775 m
gs 1 -1 sc (1) col-1 sh gr
/Times-Roman ff 180.00 scf sf
375 4575 m
gs 1 -1 sc (file) col-1 sh gr
/Times-Roman ff 180.00 scf sf
300 4425 m
gs 1 -1 sc (setup) col-1 sh gr
/Times-Roman ff 180.00 scf sf
7950 3150 m
gs 1 -1 sc (GPIBConnection) col-1 sh gr
/Times-Roman ff 180.00 scf sf
7425 4125 m
gs 1 -1 sc (GPIBinstr) col-1 sh gr
/Times-Roman ff 180.00 scf sf
7425 2100 m
gs 1 -1 sc (GPIBbox) col-1 sh gr
% Polyline
 [66.7] 0 sd
n 4200 5475 m 5100 5775 l gs col-1 s gr  [] 0 sd
% Ellipse
n 4725 1275 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 3000 1875 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 2025 5775 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 2437 5962 562 262 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 450 4500 375 300 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 3825 5400 450 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 5250 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 2550 5475 675 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2587 4050 562 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2550 2850 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 1950 3600 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 1875 5025 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 5700 5475 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 5475 4425 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 8550 3150 825 300 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 5475 3600 424 424 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2475 3675 675 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2475 3037 525 187 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2812 2212 937 337 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 750 3187 439 439 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 4237 825 412 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 3787 5925 487 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 7800 4087 600 412 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 7762 2025 487 225 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 4987 1537 562 262 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 5400 4725 335 335 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 5475 5850 404 404 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 3862 6900 412 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 3825 6375 450 150 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2626 4987 750 262 0 360 DrawEllipse gs col-1 s gr

% Polyline
 [66.7] 0 sd
n 3150 3675 m 5100 4575 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3000 3000 m 5175 4500 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 7575 2250 m 7575 3675 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 7875 2250 m 8325 2850 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3750 2175 m 7275 2025 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3675 2100 m 4425 1650 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3300 4350 m 5100 4725 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4275 5925 m 5100 5925 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4275 6375 m 5100 6000 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4125 6825 m 5475 5025 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4275 6825 m 5175 6075 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4275 6375 m 5325 5100 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4125 5850 m 5250 5025 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 4275 5400 m 5175 5025 l gs col-1 s gr  [] 0 sd
% Polyline
n 5475 4050 m 5475 4425 l gs col-1 s gr 
% Polyline
n 4200 975 m 4200 975 l gs col-1 s gr
% Polyline
n 4125 975 m 3000 1875 l gs col-1 s gr 
% Polyline
n 4500 975 m 4725 1275 l gs col-1 s gr 
% Ellipse
n 1950 5400 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 3150 4050 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 1950 4425 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 2656 4430 712 150 0 360 DrawEllipse gs col-1 s gr

% Polyline
 [66.7] 0 sd
n 2850 5775 m 3375 5400 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 675 3600 m 300 4200 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 900 3600 m 1950 5850 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 1200 3300 m 1800 3675 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 1200 3075 m 1950 3075 l 1950 3000 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 2775 6150 m 3450 6825 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 2925 6075 m 3375 6375 l gs col-1 s gr  [] 0 sd
% Polyline
 [66.7] 0 sd
n 3000 6000 m 3300 5925 l gs col-1 s gr  [] 0 sd
$F2psEnd
rs

%%EndDocument
 @endspecial -120 2333 a Fg(Figure)33 b(1:)48 b Fe(A)35
b(diagr)l(am)h(of)g(obje)l(cts)g(in)f(the)h(Perl)f(interfac)l(e.)56
b(Solid)36 b(lines)g(r)l(epr)l(esent)f(`is-a')h(r)l(elationships,)j
(and)d(dotte)l(d)-120 2433 y(lines)d(r)l(epr)l(esent)f(`has-a')i(r)l
(elationships.)49 b(Each)33 b(obje)l(ct)g(exists)f(as)h(a)g(sep)l(ar)l
(ate)g(\014le)f(with)h(the)g(extension)f Ff(.pm)p Fe(.)45
b(The)33 b(only)-120 2532 y(exc)l(eptions)d(to)g(this)g(naming)g(c)l
(onvention)g(ar)l(e)g(the)g Ff(rack.pl)d Fe(\014le)j(and)g(the)g(setup)
f(\014le.)5 2777 y Fg(One)g(caution)f(is)i(in)f(order)f(at)h(this)h(p)r
(oin)n(t.)42 b(It)30 b(is)f(not)g(quite)h(true)f(that)h(eac)n(h)e
(electronics)g(mo)r(dule)i(con)n(tains)e(its)i(o)n(wn)-120
2876 y Ff(GPIBbox)20 b Fg(ob)5 b(ject.)35 b(Eac)n(h)21
b(electronics)h(mo)r(dule)h(is)g(created)f(with)h(a)f(reference)g(to)h
(the)g(GPIB)f(b)r(o)n(x)g(con)n(trolling)g(its)h(subrac)n(k.)-120
2976 y(Therefore,)j(all)i(of)f(the)h(mo)r(dules)g(on)f(a)g(single)g
(subrac)n(k)g(share)f(the)i(same)f Ff(GPIBbox)e Fg(ob)5
b(ject.)-120 3251 y Fh(3)132 b(Command)45 b(Flo)l(w)-120
3432 y Fg(Because)28 b(of)i(the)g(extensiv)n(e)e(mo)r(dularit)n(y)h(of)
g(the)h(soft)n(w)n(are)e(arc)n(hitecture,)h(the)g(\015o)n(w)g(of)g
(input)i(commands)d(is)i(somewhat)-120 3532 y(complicated.)37
b(It)27 b(is)h(illustrated)f(in)h(Figure)f(2.)5 3632
y(The)h(path)g(b)r(egins)g(when)g(the)h(user)e(t)n(yp)r(es)h(a)g
(command)g(in)n(to)f(the)i(in)n(teractiv)n(e)e(terminal)h(session,)f
(created)g(with)i(the)-120 3731 y Ff(rack.pl)e Fg(program.)40
b(With)30 b(a)f(few)h(exceptions,)g(this)f(program)f(do)r(es)h(not)g
(pro)r(cess)g(an)n(y)f(commands.)42 b(Instead,)30 b(it)g(pip)r(es)-120
3831 y(them)i(through)e(to)h(the)g(pac)n(k)-5 b(age)29
b(represen)n(ting)h(the)h(curren)n(tly)f(selected)h(electronics)f
(card.)46 b(This)31 b(pac)n(k)-5 b(age)29 b(con)n(tains)h(a)-120
3931 y(set)25 b(of)h(routines)e(whic)n(h)h(p)r(oin)n(t)h(the)g(command)
f(to)g(the)g(correct)f(digital)h(ob)5 b(ject)25 b(\(or)g(ob)5
b(jects\))25 b(a\013ected)h(b)n(y)f(the)g(command.)-120
4030 y(It)g(then)h(sends)f(the)g(command)g(to)g(the)g(pac)n(k)-5
b(age)23 b(represen)n(ting)h(those)h(digital)f(ob)5 b(jects,)25
b(whic)n(h)g(translates)f(the)h(command)-120 4130 y(in)n(to)i(the)h
(hexadecimal)f(co)r(de)h(to)f(b)r(e)h(sen)n(t)f(to)h(the)g(GPIB)f(b)r
(o)n(x.)5 4229 y(Once)j(this)h(translation)f(tak)n(es)g(place,)i(the)f
(command)f(is)h(sen)n(t)g(to)g(the)g Ff(ElecModule.pm)26
b Fg(pac)n(k)-5 b(age,)30 b(whic)n(h)h(con)n(tains)-120
4329 y(routines)d(for)g(sending)g(information)f(to)i(the)f(GPIB)g(b)r
(o)n(x.)39 b(Once)28 b(the)h Ff(GPIBbox.pm)24 b Fg(mo)r(dule)29
b(receiv)n(es)e(the)h(command,)h(it)-120 4429 y(places)e(it)h(in)n(to)f
(a)h Ff(GPIBinstr.pm)22 b Fg(slot)28 b(\(short)f(for)g(GPIB)g
(instruction\),)h(whic)n(h)f(\014lls)h(out)f(the)h(syn)n(tax)f
(requiremen)n(ts)g(for)-120 4528 y(comm)n(unication)i(with)h(a)g(real)f
(GPIB)g(b)r(o)n(x.)43 b(The)30 b(completed)g(command)f(is)h(then)g(pip)
r(ed)h(to)f(the)g(in)n(ternet)g(through)f(the)-120 4628
y Ff(GPIBconnection.p)o(m)20 b Fg(mo)r(dule,)26 b(passes)f(through)g
(the)i(TCP)e(serv)n(er,)f(and)i(reac)n(hes)e(the)j(ph)n(ysical)e(GPIB)g
(b)r(o)n(x.)36 b(This)26 b(b)r(o)n(x)-120 4728 y(then)i(distributes)g
(the)g(message)e(to)h(the)h(appropriate)e(electronics)h(card.)1809
5356 y(2)p eop
%%Page: 3 3
3 2 bop 674 3081 a @beginspecial 0 @llx 0 @lly 201 @urx
264 @ury 2808 @rwi @setspecial
%%BeginDocument: commandflow.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: commandflow
%%Creator: fig2dev Version 3.1 Patchlevel 2
%%CreationDate: Mon Aug 10 15:08:12 1998
%%For: srf@fnpx19 (Steven Furlanetto)
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 201 264
%%Pages: 0
%%BeginSetup
%%IncludeFeature: *PageSize Letter
%%EndSetup
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
-4.0 285.0 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y tr xrad yrad sc 0 0 1 startangle endangle arc
	closepath
	savematrix setmatrix
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
 0.06000 0.06000 sc
/Times-Roman ff 135.00 scf sf
312 1721 m
gs 1 -1 sc (\(DAC, CSR\)) col-1 sh gr
/Times-Roman ff 135.00 scf sf
2266 1010 m
gs 1 -1 sc (Package) col-1 sh gr
/Times-Roman ff 135.00 scf sf
2266 833 m
gs 1 -1 sc (Electronics Card) col-1 sh gr
/Times-Roman ff 135.00 scf sf
371 714 m
gs 1 -1 sc (Interface) col-1 sh gr
/Times-Roman ff 135.00 scf sf
371 537 m
gs 1 -1 sc (rack.pl ) col-1 sh gr
7.500 slw
% Polyline
gs  clippath
1953 4276 m 2064 4371 l 1924 4328 l 2087 4419 l 2116 4366 l  cp clip
n 1555 4089 m 2088 4385 l gs col-1 s gr gr

% arrowhead
n 1953 4276 m 2064 4371 l 1924 4328 l 1959 4314 l 1953 4276 l  cp gs 0.00 setgray ef gr  col-1 s
% Polyline
gs  clippath
1364 3855 m 1223 3898 l 1336 3803 l 1172 3892 l 1201 3945 l  cp clip
n 1851 3556 m 1200 3911 l gs col-1 s gr gr

% arrowhead
n 1364 3855 m 1223 3898 l 1336 3803 l 1329 3841 l 1364 3855 l  cp gs 0.00 setgray ef gr  col-1 s
/Times-Roman ff 135.00 scf sf
2207 1780 m
gs 1 -1 sc (ElecModule) col-1 sh gr
/Times-Roman ff 150.00 scf sf
300 1575 m
gs 1 -1 sc (Digital Object) col-1 sh gr
/Times-Roman ff 135.00 scf sf
1970 4562 m
gs 1 -1 sc (Physical Electronics) col-1 sh gr
/Times-Roman ff 135.00 scf sf
253 4148 m
gs 1 -1 sc (Physical GPIB Box) col-1 sh gr
/Times-Roman ff 135.00 scf sf
2088 3556 m
gs 1 -1 sc (TCP Server) col-1 sh gr
/Times-Roman ff 135.00 scf sf
2207 1958 m
gs 1 -1 sc (Package) col-1 sh gr
/Times-Roman ff 135.00 scf sf
312 2372 m
gs 1 -1 sc (GPIBbox) col-1 sh gr
/Times-Roman ff 135.00 scf sf
2088 2668 m
gs 1 -1 sc (GPIBinstruction) col-1 sh gr
/Times-Roman ff 135.00 scf sf
312 3201 m
gs 1 -1 sc (GPIBConnection) col-1 sh gr
% Polyline
gs  clippath
1771 3335 m 1886 3425 l 1745 3388 l 1911 3472 l 1938 3418 l  cp clip
n 1555 3260 m 1911 3438 l gs col-1 s gr gr

% arrowhead
n 1771 3335 m 1886 3425 l 1745 3388 l 1780 3372 l 1771 3335 l  cp gs 0.00 setgray ef gr  col-1 s
% Ellipse
n 845 3171 770 207 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 667 2313 474 237 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2562 4532 829 207 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2503 3526 651 207 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2591 2638 740 207 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 634 594 503 237 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 674 1556 592 296 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 845 4118 711 207 0 360 DrawEllipse gs col-1 s gr

% Polyline
gs  clippath
1697 2982 m 1574 3062 l 1655 2940 l 1523 3071 l 1566 3114 l  cp clip
n 1911 2727 m 1555 3082 l gs col-1 s gr gr

% arrowhead
n 1697 2982 m 1574 3062 l 1655 2940 l 1659 2978 l 1697 2982 l  cp gs 0.00 setgray ef gr  col-1 s
% Polyline
gs  clippath
1698 2526 m 1825 2600 l 1679 2583 l 1856 2642 l 1875 2585 l  cp clip
n 1141 2372 m 1851 2609 l gs col-1 s gr gr

% arrowhead
n 1698 2526 m 1825 2600 l 1679 2583 l 1712 2562 l 1698 2526 l  cp gs 0.00 setgray ef gr  col-1 s
% Polyline
gs  clippath
1312 2222 m 1166 2244 l 1291 2166 l 1116 2231 l 1138 2287 l  cp clip
n 2088 1898 m 1141 2254 l gs col-1 s gr gr

% arrowhead
n 1312 2222 m 1166 2244 l 1291 2166 l 1279 2202 l 1312 2222 l  cp gs 0.00 setgray ef gr  col-1 s
% Polyline
gs  clippath
1865 1665 m 2002 1716 l 1855 1725 l 2039 1753 l 2048 1694 l  cp clip
n 1259 1602 m 2029 1721 l gs col-1 s gr gr

% arrowhead
n 1865 1665 m 2002 1716 l 1855 1725 l 1884 1699 l 1865 1665 l  cp gs 0.00 setgray ef gr  col-1 s
% Ellipse
n 2544 1795 562 237 0 360 DrawEllipse gs col-1 s gr

% Ellipse
n 2724 841 681 296 0 360 DrawEllipse gs col-1 s gr

% Polyline
gs  clippath
1867 770 m 2002 827 l 1855 829 l 2038 865 l 2050 807 l  cp clip
n 1141 655 m 2029 833 l gs col-1 s gr gr

% arrowhead
n 1867 770 m 2002 827 l 1855 829 l 1885 804 l 1867 770 l  cp gs 0.00 setgray ef gr  col-1 s
% Polyline
gs  clippath
1422 1425 m 1282 1470 l 1393 1373 l 1231 1465 l 1261 1517 l  cp clip
n 2088 1010 m 1259 1484 l gs col-1 s gr gr

% arrowhead
n 1422 1425 m 1282 1470 l 1393 1373 l 1387 1411 l 1422 1425 l  cp gs 0.00 setgray ef gr  col-1 s
$F2psEnd
rs

%%EndDocument
 @endspecial 369 3263 a Fg(Figure)27 b(2:)37 b Fe(The)31
b(\015ow)f(of)g(c)l(ommands)h(b)l(etwe)l(en)e(softwar)l(e)i(p)l
(ackages)g(and)f(physic)l(al)i(obje)l(cts.)-120 3506
y Fh(4)132 b(The)44 b Fd(rack.pl)j Fh(T)-11 b(erminal)45
b(In)l(terface)-120 3687 y Fg(The)28 b Ff(rack.pl)d Fg(in)n(terface)i
(is)h(the)g(executable)g(program)e(whic)n(h)i(allo)n(ws)e(in)n
(teractiv)n(e)h(user)g(con)n(trol)g(of)h(the)g(electronics.)37
b(It)-120 3787 y(is)25 b(essen)n(tially)g(the)g(\\master")f(program,)g
(whic)n(h)h(creates)f(all)i(of)f(the)h(ob)5 b(jects)25
b(to)g(b)r(e)h(con)n(trolled.)35 b(T)-7 b(o)25 b(b)r(egin)g(a)g
(session,)g(log)-120 3887 y(on)i(to)h(y)n(our)e(accoun)n(t)h(\(on)g(an)
n(y)g(terminal\),)h(mo)n(v)n(e)e(to)i(the)g(appropriate)e(directory)-7
b(,)26 b(and)i(t)n(yp)r(e)-120 4069 y Ff(<prompt>)40
b(rack.pl)h(-i)i(setup.rack)5 4252 y Fg(Here,)24 b Ff(setup.rack)19
b Fg(is)24 b(the)f(name)h(of)f(a)g(\014le)h(con)n(taining)f(a)g(rac)n
(k)f(con\014guration)g(\(see)h(b)r(elo)n(w\).)36 b(There)23
b(are)f(also)h(sev)n(eral)-120 4352 y(optional)k(argumen)n(ts)g(that)i
(can)e(b)r(e)i(en)n(tered)e(on)h(the)h(command)e(line.)39
b(These)28 b(optional)f(argumen)n(ts)g(and)h(the)h(setup)f(\014le)-120
4451 y(name)e(are)f(pro)r(cessed)g(through)g(a)h(command)f(line)i(pro)r
(cessor)c(con)n(tained)j(in)g Ff(rack.pl)p Fg(.)34 b(The)26
b(syn)n(tax)f(for)g(command)h(line)-120 4551 y(options)h(is)h
Ff(-\(character\) ar)o(gu)o(men)o(t)p Fg(.)j(P)n(ossible)26
b(command)h(line)h(argumen)n(ts)e(are:)-28 4733 y(-h)42
b Fc(String)27 b Ff(hostname)40 b(=)j(current)e(host)88
4833 y Fg(Sets)27 b(lo)r(cation)g(of)h(TCP)f(in)n(ternet)g(serv)n(er)f
(to)i Ff(hostname)p Fg(.)-5 4999 y(-i)42 b Fc(String)27
b Ff(filename)88 5099 y Fe(This)k(item)e(is)h(r)l(e)l(quir)l(e)l(d!)p
Fg(.)38 b(Sets)28 b(name)f(of)h(rac)n(k)e(con\014guration)g(\014le.)
1809 5356 y(3)p eop
%%Page: 4 4
4 3 bop -51 90 a Fg(-m)42 b Fc(in)m(t)27 b Ff(module=8)88
190 y Fg(Sets)g(initially)h(selected)f(mo)r(dule)h(to)g
Ff(module)p Fg(.)-28 356 y(-p)42 b Fc(in)m(t)27 b Ff(port=2345)88
456 y Fg(Sets)g(p)r(ort)h(on)f(TCP)g(in)n(ternet)h(serv)n(er)d(to)j
Ff(port)p Fg(.)-14 622 y(-r)41 b Fc(in)m(t)27 b Ff(subrack=3)88
721 y Fg(Sets)g(initially)h(selected)f(subrac)n(k)g(to)g
Ff(subrack)p Fg(.)-14 887 y(-s)41 b Fc(v)m(oid)88 987
y Fg(Disables)27 b(comm)n(unication)g(to)g(serv)n(er.)35
b(Designed)28 b(to)f(b)r(e)h(used)g(for)f(scripting)g(pro)r(cesses.)
-120 1219 y Fb(4.1)112 b(The)38 b(Con\014guration)f(File)-120
1372 y Fg(The)29 b(\014rst)f(action)g(of)h Ff(rack.pl)c
Fg(is)k(the)g(creation)e(of)i(a)f(\\rac)n(k")e(of)j(electronics)e
(cards.)39 b(It)29 b(creates)e(the)i(rac)n(k)e(according)g(to)-120
1472 y(the)e(con\014guration)d(input)j(through)f(the)h
Ff(-i)e Fg(switc)n(h)h(\014le.)36 b(This)24 b(con\014guration)f(\014le)
h(con)n(tains)g(t)n(w)n(o)f(lines)h(for)g(eac)n(h)g(subrac)n(k)-120
1572 y(to)29 b(b)r(e)h(created.)42 b(The)29 b(\014rst)h(line)f(giv)n
(es)g(the)g(n)n(um)n(b)r(er)h(of)f(the)h(subrac)n(k,)e(and)i(the)g
(second)e(line)i(lists)g(the)f(cards)g(con)n(tained)-120
1671 y(in)g(that)g(subrac)n(k.)39 b(Up)29 b(to)f(8)h(subrac)n(ks,)e(n)n
(um)n(b)r(ered)h(0)h(through)e(7,)i(ma)n(y)f(b)r(e)h(included)g(in)g(a)
g(single)f(rac)n(k.)38 b(The)29 b(format)f(is)-120 1771
y(as)f(follo)n(ws:)-120 1954 y Ff(subrack)41 b(#\\n)-120
2053 y(CARDTYPE,CARDTYP)o(E,C)o(AR)o(DT)o(YPE)o(,.)o(..\\)o(n)-120
2153 y(subrack)g(#\\n)-120 2253 y(CARDTYPE,CARDTYP)o(E,C)o(AR)o(DT)o
(YPE)o(,.)o(..\\)o(n)-120 2352 y(end)5 2535 y Fg(Note)31
b(that)h(the)g(list)g(of)g(card)f(t)n(yp)r(es)g(m)n(ust)h(b)r(e)g(on)f
(a)h(single)f(line)h(follo)n(w)n(ed)e(b)n(y)i(a)f(newline)h(c)n
(haracter.)47 b(The)31 b(allo)n(w)n(ed)-120 2634 y(card)c(t)n(yp)r(e)h
(abbreviations)d(are:)-13 2817 y(B)42 b(BLIP)26 b(card)-113
2983 y(F3D)42 b(FLIP3UDriv)n(er)25 b(card)-173 3149 y(F3QB)41
b(FLIP3UQBias)25 b(card)-231 3315 y(F3QET)41 b(FLIP3UQet)26
b(card)-96 3481 y(F3S)42 b(FLIP3USquid)27 b(card)-15
3647 y(R)42 b(R)-7 b(TF)28 b(card)-5 3813 y(Z)42 b(ZIP)26
b(card)5 3996 y(The)h Ff(end)g Fg(statemen)n(t)g(is)h(optional)f(and)g
(ma)n(y)g(b)r(e)h(omitted.)5 4096 y(F)-7 b(or)30 b(those)h(familiar)f
(with)i(P)n(erl)d(syn)n(tax,)i(the)h(rac)n(k)d(is)i(created)f(as)h(a)f
(2-dimensional)g(arra)n(y)f(named)i Ff(@boards)p Fg(.)44
b(The)-120 4195 y(\014rst)27 b(index)h(refers)f(to)g(the)h(card's)f
(subrac)n(k)f(and)h(the)h(second)f(to)h(its)f(mo)r(dule)h(p)r(osition.)
-120 4428 y Fb(4.2)112 b(The)38 b Fa(rack.pl)h Fb(Command)e(En)m
(vironmen)m(t)-120 4581 y Fg(After)i Ff(rack.pl)d Fg(has)i(created)g
(the)i(rac)n(k)d(con\014guration,)j(it)f(loads)f(an)g(in)n(teractiv)n
(e)g(P)n(erl)f(in)n(terpreter.)70 b(Once)38 b(this)h(is)-120
4681 y(complete,)28 b(the)g(user)f(should)g(see)g(something)g(lik)n(e)g
(the)h(follo)n(wing:)1809 5356 y(4)p eop
%%Page: 5 5
5 4 bop -120 90 a Ff(>)43 b(rack.pl)e(-i)i(test.rack)-120
190 y(Host)f(is)h(ppdm06.fnal.gov)o(:23)o(45)o(.)-120
289 y(Using)f(subrack)e(3,)j(set)f(to)h(module)e(5.)-120
389 y(subrack)g(1)-120 489 y(Z,)i(B,)g(R,)f(Z,)h(B,R)-120
588 y(subrack)e(3)-120 688 y(R,Z,B,)g(R,Z,B)-120 788
y(got)h(autohistory)-120 887 y(zip)g(r3,m5:)f(_)5 1065
y Fg(Here,)20 b(the)g(\014nal)f(line)h(is)f(the)h(prompt)g(follo)n(w)n
(ed)e(b)n(y)h(the)h(cursor.)32 b(The)20 b(prompt)f(indicates)g(the)h
(selected)g(card,)g(according)-120 1164 y(to)27 b(the)h(follo)n(wing)f
(syn)n(tax:)-120 1342 y Ff(CARDTYPE)40 b(rSUBRACK,mMODULE:)-120
1557 y Fc(4.2.1)94 b(Changing)31 b(the)h(Mo)s(dule)e(and)i(Subrac)m(k)
-120 1710 y Fg(All)22 b(commands)e(are)g(issued)h(directly)g(to)g(the)h
(selected)f(card)f(\(with)i(the)g(exception)e(of)h(macro)f(commands)h
(and)g(the)g(sp)r(ecial)-120 1810 y(mo)r(des,)30 b(see)f(b)r(elo)n
(w\).)41 b(The)30 b(curren)n(tly)e(selected)h(mo)r(dule)h(can)f(b)r(e)g
(c)n(hanged)g(with)g(the)h(command)f Ff(module)e Fc(in)m(t)p
Fg(,)j(and)f(the)-120 1909 y(curren)n(tly)j(selected)g(subrac)n(k)g
(can)g(b)r(e)h(c)n(hanged)f(with)h(the)g(command)f Ff(subrack)e
Fc(in)m(t)p Fg(.)52 b(The)33 b(prompt)g(is)f(automatically)-120
2009 y(up)r(dated)h(when)g(these)g(commands)f(are)g(executed)h(\(if)g
(the)g Ff(CARDTYPE)d Fg(\014eld)j(is)g(empt)n(y)-7 b(,)34
b(then)f(there)g(is)f(no)h(card)f(in)h(the)-120 2109
y(curren)n(tly)27 b(selected)g(mo)r(dule\).)-120 2323
y Fc(4.2.2)94 b(The)32 b Ff(mode)e Fc(Command)-120 2477
y Fg(The)d(only)f(w)n(a)n(y)g(to)h(send)g(commands)f(to)h(cards)f
(other)g(than)h(the)g(curren)n(tly)f(selected)h(one)g(is)f(through)h
(the)g Ff(mode)e Fc(String)-120 2576 y Fg(command.)44
b(The)30 b(argumen)n(t)g(of)g(this)g(command)g(is)g(a)g(card)f(t)n(yp)r
(e)h(\()p Ff(rtf)p Fg(,)g Ff(blip)p Fg(,)g Ff(zip)p Fg(,)f(etc.\).)46
b(When)30 b(a)g(particular)f(mo)r(de)-120 2676 y(is)h(selected,)g
(commands)f(sen)n(t)g(to)h(one)f(card)g(of)g(the)h(t)n(yp)r(e)g(giv)n
(en)f(b)n(y)g Fc(String)h Fg(are)f(also)f(sen)n(t)i(to)f(all)h(other)f
(cards)f(of)i(that)-120 2776 y(t)n(yp)r(e.)37 b(This)28
b(feature)f(can)g(b)r(e)h(turned)g(o\013)g(b)n(y)f(en)n(tering)g
Ff(mode)42 b(normal)p Fg(.)-120 2991 y Fc(4.2.3)94 b(Command)29
b(execution)-120 3144 y Fg(Once)e(a)g(command)h(is)f(en)n(tered,)g
Ff(rack.pl)e Fg(executes)i(it)h(according)e(to)i(the)g(follo)n(wing)e
(set)i(of)f(rules.)-19 3321 y(1.)42 b(If)26 b(the)g(input)h(ends)f
(with)g Ff(.pl)p Fg(,)f(then)i(the)f(in)n(terpreter)f(assumes)g(the)h
(command)g(is)f(a)h(P)n(erl)f(script)g(and)h(executes)g(it.)-19
3485 y(2.)42 b(If)28 b(the)g(input)g(b)r(egins)f(with)i
Ff(module)c Fg(or)h Ff(subrack)p Fg(,)f(it)j(c)n(hanges)e(the)i
(selected)g(mo)r(dule)g(or)e(subrac)n(k.)-19 3649 y(3.)42
b(If)28 b(the)g(input)g(b)r(egins)f(with)i Ff(mode)p
Fg(,)d(it)i(sets)f(the)h(mo)r(de.)-19 3813 y(4.)42 b(If)28
b(the)g(input)g(con)n(tains)f(a)g(space,)g(it)h(is)f(executed)h(as)f(a)
g(standard)g(P)n(erl)f(command.)-19 3977 y(5.)42 b(If)37
b(the)h(input)g(matc)n(hes)e(a)h(macro)f(command,)k(the)d(command)g(is)
g(executed)g(for)g(ev)n(ery)f(card)g(in)i(the)f(rac)n(k)f(\(see)88
4077 y(b)r(elo)n(w\).)-19 4241 y(6.)42 b(Otherwise,)31
b(the)g(in)n(terpreter)f(prep)r(ends)h Ff($boards[SUBRACK][)o(MO)o(DUL)
o(E])o(->)25 b Fg(to)31 b(the)g(command)g(and)g(executes)g(it)88
4341 y(\(this)d(sends)f(the)h(command)f(to)h(the)g(curren)n(tly)e
(selected)i(card\).)-120 4555 y Fc(4.2.4)94 b(Macro)32
b(Execution)-120 4709 y Fg(The)g(user)g(is)f(lik)n(ely)h(to)g(w)n(an)n
(t)f(to)h(apply)g(a)g(certain)f(subset)h(of)g(card)f(commands)h(to)g
(all)g(of)g(the)g(cards)f(in)h(the)h(rac)n(k.)48 b(T)-7
b(o)-120 4808 y(accomo)r(date)34 b(this,)j Ff(rack.pl)32
b Fg(con)n(tains)i(a)g(list)i(of)e(p)r(ossible)h(macro)f(commands.)58
b(When)35 b(one)g(of)g(these)g(commands)f(is)-120 4908
y(en)n(tered,)24 b Ff(rack.pl)d Fg(will)k(execute)f(the)g(command)g
(for)f(all)h(of)g(the)g(cards.)35 b(Curren)n(tly)23 b(enabled)h(macros)
e(are:)34 b Ff(saveScript)p Fg(,)-120 5008 y Ff(endScript)p
Fg(,)c Ff(enableBox)p Fg(,)g Ff(disableBox)p Fg(,)f Ff(accumulate)p
Fg(,)h Ff(unaccumulate)p Fg(,)f(and)j Ff(execute)p Fg(.)48
b(Macros)31 b(can)h(b)r(e)h(added)f(or)-120 5107 y(remo)n(v)n(ed)26
b(simply)i(b)n(y)f(mo)r(difying)h(the)g Ff(@macros)c
Fg(arra)n(y)i(in)i Ff(rack.pl)p Fg(.)1809 5356 y(5)p
eop
%%Page: 6 6
6 5 bop -120 90 a Fh(5)132 b(The)44 b(Soft)l(w)l(are)i(P)l(ac)l(k)-7
b(ages)-120 272 y Fg(This)22 b(section)f(con)n(tains)g(a)g(brief)h
(description)f(of)h(the)g(functions)g(con)n(tained)f(in)h(eac)n(h)f(of)
g(the)i(existing)e(P)n(erl)f(mo)r(dules)i(\(those)-120
372 y(with)30 b Ff(.pm)e Fg(\014le)h(extensions\).)41
b(Eac)n(h)28 b(en)n(try)g(lists)i(the)f(mo)r(dules)g(from)g(whic)n(h)g
(the)h(pac)n(k)-5 b(age)27 b(inherits)i(and)g(those)g(mo)r(dules)-120
471 y(con)n(tained)e(b)n(y)g(the)h(pac)n(k)-5 b(age.)-178
654 y(ob)5 b(ject)42 b Fe(Inherits)30 b(fr)l(om:)76 b
Fg(None)88 754 y Fe(Contains:)g Fg(None)88 853 y(Con)n(tains)26
b(basic)h(con)n(tructor,)f(help)i(routines,)f(and)h(an)f(A)n(UTOLO)n
(AD)g(function)h(for)g(smo)r(oth)f(running.)-321 1019
y(Sa)n(v)n(escript)40 b Fe(Inherits)30 b(fr)l(om:)76
b Fg(ob)5 b(ject)88 1119 y Fe(Contains:)76 b Fg(None)88
1218 y(Includes)25 b(3)f(routines,)h(all)g(of)g(whic)n(h)g(relate)f(to)
h(creating)e(a)i(hex)g(script:)35 b(the)26 b(\014rst)e(op)r(ens)h(a)g
(\014le,)g(the)h(second)e(adds)g(a)88 1318 y(single)e(line)i(to)f(the)h
(op)r(en)f(script)g(con)n(taining)f(the)i(formatted)f(hex)g(co)r(de,)h
(and)f(the)h(third)g(routine)e(closes)h(the)g(script.)-379
1484 y(ElecMo)r(dule)41 b Fe(Inherits)30 b(fr)l(om:)76
b Fg(ob)5 b(ject)88 1584 y Fe(Contains:)76 b Fg(Sa)n(v)n(escript,)26
b(GPIBb)r(o)n(x)88 1683 y(ElecMo)r(dule)h(con)n(tains)g(routines)g
(common)g(to)g(all)h(electronics)f(cards.)36 b(These)27
b(fall)h(in)n(to)f(four)h(general)e(categories:)88 1783
y(routines)j(for)i(sending)f(messages)f(to)h(\(and)h(receiving)e
(messages)g(from\))i(the)g(GPIB)f(b)r(o)n(x,)h(commands)e(for)i(sa)n
(ving)88 1883 y(scripts)24 b(and)h(enabling)g(or)f(disabling)h(comm)n
(unication)g(with)g(the)h(serv)n(er,)e(routines)h(for)f(retrieving)g
(basic)h(informa-)88 1982 y(tion)k(from)g(the)h(card)e(\(suc)n(h)h(as)g
(the)h(mo)r(dule)f(t)n(yp)r(e)h(or)e(serial)g(n)n(um)n(b)r(er\),)i(and)
f(routines)g(for)g(card)f(p)r(ersistence)h(\(for)88 2082
y(a)e(description)g(of)g(ho)n(w)g(this)h(feature)f(w)n(orks,)f(see)i
(the)g(next)f(section\).)-308 2248 y(BLIPcard)40 b Fe(Inherits)30
b(fr)l(om:)76 b Fg(ElecMo)r(dule)88 2348 y Fe(Contains:)g
Fg(Con)n(trol,)26 b(D)n(A)n(C)88 2447 y(Con)n(tains)g(commands)h(for)g
(setting)h(and)f(reading)g(bac)n(k)f(the)i(digital)g(D)n(A)n(Cs)f(and)h
(con)n(trols)e(on)h(the)h(BLIP)f(card.)-480 2613 y(FLIP3UDriv)n(er)40
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
2713 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
2813 y(Con)n(tains)d(commands)h(for)g(setting)h(and)f(reading)f(bac)n
(k)h(the)h(digital)f(D)n(A)n(Cs)h(and)f(con)n(trols)f(on)h(the)h
(FLIP3U)f(Driv)n(er)88 2912 y(card.)-471 3078 y(FLIP3UQBias)40
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
3178 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
3277 y(Con)n(tains)e(commands)g(for)h(setting)g(and)g(reading)f(bac)n
(k)g(the)i(digital)f(D)n(A)n(Cs)g(and)g(con)n(trols)e(on)i(the)h
(FLIP3U)e(QBias)88 3377 y(card.)-384 3543 y(FLIP3UQet)41
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
3643 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
3742 y(Con)n(tains)g(commands)i(for)f(setting)h(and)f(reading)g(bac)n
(k)g(the)h(digital)g(D)n(A)n(Cs)f(and)h(con)n(trols)e(on)i(the)g
(FLIP3U)f(QET)88 3842 y(card.)-456 4008 y(FLIP3USquid)42
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
4108 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
4207 y(Con)n(tains)21 b(commands)g(for)h(setting)g(and)g(reading)f(bac)
n(k)g(the)i(digital)e(D)n(A)n(Cs)h(and)g(con)n(trols)f(on)h(the)g
(FLIP3U)g(SQUID)88 4307 y(card.)-279 4473 y(R)-7 b(TFcard)41
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
4573 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
4672 y(Con)n(tains)g(commands)h(for)g(setting)h(and)f(reading)g(bac)n
(k)f(the)i(digital)g(D)n(A)n(Cs)f(and)h(con)n(trols)e(on)h(the)h(R)-7
b(TF)28 b(card.)-248 4838 y(ZIPcard)40 b Fe(Inherits)30
b(fr)l(om:)76 b Fg(ElecMo)r(dule)88 4938 y Fe(Contains:)g
Fg(ZIPdriv)n(er,)25 b(ZIPqbias,)i(ZIPqet,)f(ZIPsquid)88
5038 y(Con)n(tains)g(commands)h(for)g(setting)h(and)f(reading)g(bac)n
(k)f(the)i(digital)g(D)n(A)n(Cs)f(and)h(con)n(trols)e(on)h(the)h(ZIP)f
(card.)1809 5356 y(6)p eop
%%Page: 7 7
7 6 bop -304 90 a Fg(ZIPdriv)n(er)40 b Fe(Inherits)30
b(fr)l(om:)76 b Fg(ElecMo)r(dule)88 190 y Fe(Contains:)g
Fg(Con)n(trol,)26 b(D)n(A)n(C)88 289 y(This)33 b(ob)5
b(ject)33 b(con)n(tains)g(the)h(con)n(trols)e(and)h(D)n(A)n(Cs)g(for)g
(the)h(driv)n(er)e(section)h(of)h(the)g(ZIP)e(card.)54
b(Other)33 b(than)h(the)88 389 y(constructor)21 b(and)h(a)g(prin)n(t)g
(routine,)h(it)g(do)r(es)f(not)h(con)n(tain)f(an)n(y)f(metho)r(ds.)36
b(\(It)23 b(could)f(p)r(ossibly)g(used)h(for)f(com)n(bining)88
489 y(the)28 b(3U)f(and)g(9U)h(v)n(ersions)e(of)h(the)h(ZIP)f(card)g
(in)h(the)g(soft)n(w)n(are\).)-278 655 y(ZIPqbias)40
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
754 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
854 y(This)33 b(ob)5 b(ject)32 b(con)n(tains)h(the)g(con)n(trols)e(and)
i(D)n(A)n(Cs)g(for)g(the)g(QBias)f(section)h(of)g(the)g(ZIP)g(card.)52
b(Other)33 b(than)g(the)88 954 y(constructor)21 b(and)h(a)g(prin)n(t)g
(routine,)h(it)g(do)r(es)f(not)h(con)n(tain)f(an)n(y)f(metho)r(ds.)36
b(\(It)23 b(could)f(p)r(ossibly)g(used)h(for)f(com)n(bining)88
1053 y(the)28 b(3U)f(and)g(9U)h(v)n(ersions)e(of)h(the)h(ZIP)f(card)g
(in)h(the)g(soft)n(w)n(are\).)-204 1219 y(ZIPqet)41 b
Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88 1319
y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88 1419
y(This)35 b(ob)5 b(ject)35 b(con)n(tains)f(the)h(con)n(trols)f(and)h(D)
n(A)n(Cs)g(for)g(the)g(QET)f(section)h(of)g(the)h(ZIP)e(card.)59
b(Other)34 b(than)i(the)88 1518 y(constructor)21 b(and)h(a)g(prin)n(t)g
(routine,)h(it)g(do)r(es)f(not)h(con)n(tain)f(an)n(y)f(metho)r(ds.)36
b(\(It)23 b(could)f(p)r(ossibly)g(used)h(for)f(com)n(bining)88
1618 y(the)28 b(3U)f(and)g(9U)h(v)n(ersions)e(of)h(the)h(ZIP)f(card)g
(in)h(the)g(soft)n(w)n(are\).)-283 1784 y(ZIPsquid)41
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ElecMo)r(dule)88
1883 y Fe(Contains:)g Fg(Con)n(trol,)26 b(D)n(A)n(C)88
1983 y(This)34 b(ob)5 b(ject)34 b(con)n(tains)g(the)h(con)n(trols)e
(and)h(D)n(A)n(Cs)h(for)f(a)g(SQUID)h(section)f(of)g(the)h(ZIP)f(card.)
57 b(Other)34 b(than)h(the)88 2083 y(constructor)21 b(and)h(a)g(prin)n
(t)g(routine,)h(it)g(do)r(es)f(not)h(con)n(tain)f(an)n(y)f(metho)r(ds.)
36 b(\(It)23 b(could)f(p)r(ossibly)g(used)h(for)f(com)n(bining)88
2182 y(the)28 b(3U)f(and)g(9U)h(v)n(ersions)e(of)h(the)h(ZIP)f(card)g
(in)h(the)g(soft)n(w)n(are\).)-202 2348 y(Digital)42
b Fe(Inherits)30 b(fr)l(om:)76 b Fg(ob)5 b(ject)88 2448
y Fe(Contains:)76 b Fg(None)88 2548 y(Con)n(tains)24
b(routines)h(common)g(to)g(all)g(digital)g(ob)5 b(jects)25
b(on)h(an)f(electronic)f(card.)36 b(All)26 b(of)f(these)h(routines)e
(handle)i(the)88 2647 y(p)r(ersistence)g(mec)n(hanism)h(for)f(eac)n(h)g
(digital)h(ob)5 b(ject)27 b(\(see)g(the)g(next)g(section)g(for)f(a)h
(description)f(of)h(the)g(p)r(ersistence)88 2747 y(feature\).)-229
2913 y(Con)n(trol)41 b Fe(Inherits)30 b(fr)l(om:)76 b
Fg(Digital)88 3013 y Fe(Contains:)g Fg(None)88 3112 y(This)22
b(pac)n(k)-5 b(age)22 b(con)n(tains)f(routines)i(for)f(initializing)h
(a)f(con)n(trol)f(register)h(and)g(for)h(translating)e(the)i(user's)f
(command)88 3212 y(in)n(to)27 b(the)h(appropriate)e(hex)h(co)r(de)h
(for)f(the)h(CSR.)-135 3378 y(D)n(A)n(C)42 b Fe(Inherits)30
b(fr)l(om:)76 b Fg(Digital)88 3478 y Fe(Contains:)g Fg(None)88
3577 y(This)26 b(pac)n(k)-5 b(age)26 b(con)n(tains)f(routines)i(for)f
(initializing)h(a)f(D)n(A)n(C)h(and)g(for)f(translating)g(the)h(user's)
f(command)g(in)n(to)h(the)88 3677 y(appropriate)e(hex)j(co)r(de)f(for)g
(the)h(D)n(A)n(C.)-296 3843 y(GPIBb)r(o)n(x)41 b Fe(Inherits)30
b(fr)l(om:)76 b Fg(None)88 3942 y Fe(Contains:)g Fg(GPIBconnection,)26
b(GPIBinstr)88 4042 y(This)j(represen)n(ts)e(the)j(GPIB)e(b)r(o)n(x)h
(for)f(a)h(particular)f(subrac)n(k.)40 b(It)29 b(con)n(tains)f
(initialization)h(and)g(help)g(routines)g(in)88 4142
y(addition)g(to)g(routines)f(for)h(setting)g(up)h(the)f(GPIBinstr)g
(and)g(GPIBconnection)f(to)h(send)g(the)h(hex)f(co)r(de)g(through)88
4241 y(the)f(serv)n(er)d(to)j(the)g(ph)n(ysical)e(GPIB)i(b)r(o)n(x.)
-331 4407 y(GPIBinstr)41 b Fe(Inherits)30 b(fr)l(om:)76
b Fg(None)88 4507 y Fe(Contains:)g Fg(None)88 4607 y(This)24
b(represen)n(ts)g(an)h(instruction)f(slot)h(for)f(the)i(GPIB)e(b)r(o)n
(x,)h(and)g(con)n(tains)f(routines)g(for)h(concatenating)e(the)j(data)
88 4706 y(string)g(with)j(the)f(appropriate)d(header)i(and)h(fo)r(oter)
f(elemen)n(ts,)g(and)h(for)f(correctly)f(formatting)h(this)h(data.)-552
4872 y(GPIBconnection)41 b Fe(Inherits)30 b(fr)l(om:)76
b Fg(None)88 4972 y Fe(Contains:)g Fg(None)88 5072 y(This)38
b(pac)n(k)-5 b(age)38 b(handles)g(all)h(of)f(the)i(comm)n(unication)e
(b)r(et)n(w)n(een)h(the)g(soft)n(w)n(are)e(and)h(the)i(in)n(ternet)f
(connection.)1809 5356 y(7)p eop
%%Page: 8 8
8 7 bop 88 90 a Fg(It)32 b(con)n(tains)g(routines)f(for)h(op)r(ening)g
(and)g(closing)f(the)i(so)r(c)n(k)n(et)e(connection,)i(sending)f
(datastrings)f(to)h(the)h(serv)n(er)88 190 y(\(in)h(t)n(w)n(o)g
(di\013eren)n(t)g(w)n(a)n(ys:)49 b(one)33 b(at)h(a)g(time,)j(or)c(b)n
(y)h(creating)f(a)h(queue)g(of)g(instructions)g(and)g(sending)g(all)g
(of)g(the)88 289 y(commands)27 b(at)g(once\),)g(and)h(for)f(reading)f
(datastrings)g(from)i(the)g(serv)n(er.)-120 564 y Fh(6)132
b(P)l(ersistence)-120 746 y Fg(The)25 b(p)r(ersistence)f(feature)g(is)h
(designed)f(to)h(guaran)n(tee)d(that)j(the)g(computer)g(memory)e
(retains)h(the)h(correct)f(card)f(settings)-120 845 y(b)r(et)n(w)n(een)
34 b(sessions.)53 b(This)33 b(is)h(necessary)e(b)r(ecause)h(if)h(the)g
(computer)f(or)g(in)n(ternetconnection)g(crashes,)g(the)h(user)f(m)n
(ust)-120 945 y(reload)38 b(the)i(soft)n(w)n(are.)70
b(Clearly)-7 b(,)42 b(he)d(or)g(she)g(w)n(ould)g(lik)n(e)g(to)g(con)n
(tin)n(ue)g(with)h(the)f(same)g(command)g(series,)i(b)r(ecause)-120
1045 y(the)36 b(actual)g(con\014guration)e(of)i(the)h(b)r(oard)e(will)h
(not)g(ha)n(v)n(e)f(c)n(hanged.)61 b(Therefore,)37 b(the)g(in)n
(terface)e(creates)g(a)h(so-called)-120 1144 y(\\p)r(ersistence")30
b(\014le)i(for)f(eac)n(h)g(b)r(oard.)48 b(When)32 b(the)g(soft)n(w)n
(are)e(is)i(loaded,)g(it)g(reads)e(eac)n(h)h(of)h(these)f(p)r
(ersistence)h(\014les)f(and)-120 1244 y(sets)c(the)g(data)g(memory)f
(of)i(eac)n(h)e(D)n(A)n(C)h(and)g(CSR)h(in)f(the)h(rac)n(k)d
(accordingly)-7 b(.)35 b(Th)n(us,)27 b(a)g(command)g(series)f(can)h
(con)n(tin)n(ue)-120 1344 y(b)r(et)n(w)n(een)h(sessions.)5
1443 y(The)i(\014rst)h(time)g(a)f(command)g(is)h(issued)f(to)g(a)h
(particular)e(card,)h(the)h(soft)n(w)n(are)e(creates)h(a)g(p)r
(ersistence)g(\014le)h(for)f(that)-120 1543 y(card.)39
b(This)28 b(\014le)h(is)f(named)g Ff(/tmp/HOST-CARDTYP)o(E-S)o(UB)o
(RAC)o(K-)o(MO)o(DUL)o(E.)o(out)o Fg(.)34 b(It)29 b(con)n(tains)e(one)h
(line)h(for)f(eac)n(h)f(D)n(A)n(C)i(or)-120 1642 y(con)n(trol)d
(register)g(on)i(the)g(card,)e(in)i(the)g(follo)n(wing)f(format:)-120
1825 y Ff(SUBRACK)41 b(ADDRESS)f(DATAWORD)h(0000)h(\045)h(CARDTYPE)5
2008 y Fg(Eac)n(h)23 b(of)h(the)h(\014rst)f(three)g(en)n(tries)g(is)g
(a)g(4-digit)g(hexadecimal)g(w)n(ord.)34 b(\(The)25 b(\014rst)f(t)n(w)n
(o)g(digits)g(of)g(the)h(address)e(\014eld)i(giv)n(e)-120
2107 y(the)31 b(mo)r(dule)g(n)n(um)n(b)r(er,)g(and)g(the)g(last)f(t)n
(w)n(o)g(digits)g(giv)n(e)g(the)h(lo)r(cation)f(on)g(the)h(card\).)45
b(The)31 b Ff(0000)e Fg(and)i Ff(CARDTYPE)c Fg(\014elds)-120
2207 y(are)g(included)h(for)f(compatibilit)n(y)g(with)h(scripting.)5
2307 y(Sev)n(eral)e(cautions)h(are)f(in)i(order)e(when)i(using)f(p)r
(ersistence:)-19 2489 y(1.)42 b(Cards)24 b(should)i(not)g(b)r(e)g(con)n
(trolled)e(through)h(t)n(w)n(o)g(di\013eren)n(t)h(host)g(serv)n(ers;)e
(they)i(will)g(not)g(share)f(p)r(ersistence)g(\014les.)-19
2655 y(2.)42 b(If)22 b(comm)n(unication)g(with)h(the)g(GPIB)f(b)r(o)n
(x)g(is)g(disabled,)h(the)g(soft)n(w)n(are)e(do)r(es)h(not)g(in)n
(teract)g(with)h(the)g(\\normal")d(p)r(er-)88 2755 y(sistence)e
(\014le.)34 b(Instead,)20 b(it)e(creates)g(a)g(new)g(p)r(ersistence)g
(\014le)h(named)f Ff(/tmp/script-CARD)o(TY)o(PE-)o(SU)o(BR)o(ACK)o(-M)o
(ODU)o(LE)o(.ou)o(t)p Fg(.)88 2855 y(This)23 b(is)g(b)r(ecause,)g(if)h
(comm)n(unication)e(with)i(the)f(GPIB)g(b)r(o)n(x)f(is)h(disabled,)h
(the)g(actual)e(card)g(is)h(una\013ected)h(b)n(y)f(com-)88
2954 y(mands.)38 b(Ho)n(w)n(ev)n(er,)27 b(if)i(one)e(wishes)h(to)g
(create)g(scripts)g(in)g(this)h(mo)r(de,)f(the)h(con)n(tin)n(uit)n(y)f
(of)g(commands)g(allo)n(w)n(ed)e(b)n(y)88 3054 y(p)r(ersistence)h(is)g
(necessary)-7 b(.)35 b(Normally)-7 b(,)27 b(this)h(feature)f(will)h(b)r
(e)g(transparen)n(t)e(to)i(the)g(user.)-19 3220 y(3.)42
b(Similarly)-7 b(,)37 b(if)f(the)g(\\accum)n(ulate")e(mo)r(de)h(is)h
(turned)f(on)h(\(for)f(a)g(description)g(of)h(this)f(mo)r(de,)j(see,)f
(for)e(example,)88 3320 y(ref)19 b([4)o(]\),)j(the)e(soft)n(w)n(are)e
(creates)g(a)h(new)g(p)r(ersistence)g(\014le)h Ff(/tmp/accum-CARDT)o
(YPE)o(-S)o(UB)o(RAC)o(K-)o(MOD)o(UL)o(E.o)o(ut)o Fg(.)29
b(When)88 3419 y(commands)i(are)g(executed,)i(this)g(p)r(ersistence)e
(\014le)h(is)g(copied)g(o)n(v)n(er)e(the)j(\\normal")d(p)r(ersistence)h
(\014le.)51 b(Th)n(us,)33 b(this)88 3519 y(feature)c(k)n(eeps)f(trac)n
(k)g(of)h(b)r(oth)h(the)g(command-p)r(ersistence)e(and)h(the)h(actual)e
(card)h(p)r(ersistence,)g(so)g(it)h(should)f(b)r(e)88
3618 y(transparen)n(t)d(to)h(the)h(user.)-19 3784 y(4.)42
b(P)n(ersistence)22 b(will)i(also)f(function)h(smo)r(othly)g(with)g
(the)h Ff(readscript.pl)18 b Fg(program)k(describ)r(ed)i(in)g(the)g
(next)g(section)88 3884 y(pro)n(vided)e(only)i(that)g(p)r(ersistence)f
(\014les)h(exist)f(for)h(eac)n(h)f(card)g(called)g(during)g(the)h
(script.)36 b(There)23 b(is)h(a)f(sligh)n(t)g(danger)88
3984 y(in)k(this)h(pro)r(cess;)f(see)g(b)r(elo)n(w)g(for)g(details.)
-120 4258 y Fh(7)132 b(Scripting)-120 4440 y Fg(Another)24
b(useful)h(feature)f(of)g(the)h(P)n(erl)e(soft)n(w)n(are)f(in)n
(terface)i(is)g(its)h(abilit)n(y)f(to)g(create)f(scripts)h(for)g(easy)f
(and)h(fast)g(execution)-120 4540 y(of)37 b(common)f(op)r(erations.)62
b(Scripting)37 b(can)f(b)r(e)h(enabled)f(b)n(y)h(executing)f(a)g
Ff(saveScript)d Fg(command)j(from)g(within)i(the)-120
4639 y(in)n(teractiv)n(e)d(session,)i(and)f(it)h(is)f(stopp)r(ed)g
(with)h(an)f Ff(endScript)c Fg(command)k(\(see)g(ref)g([4])g(for)g(a)f
(description)h(of)g(these)-120 4739 y(commands\).)g(When)28
b(scripting)f(is)h(enabled,)f(execution)g(of)g(a)g(command)g(causes)g
(a)g(line)g(to)h(b)r(e)g(app)r(ended)f(to)h(the)f(script)-120
4839 y(\014le,)h(with)g(the)g(follo)n(wing)e(format:)-120
5021 y Ff(SUBRACK)41 b(ADDRESS)f(DATAWORD)h(READ/WRITE)e(COMMENT)1809
5356 y Fg(8)p eop
%%Page: 9 9
9 8 bop 5 90 a Fg(The)28 b(\014rst)g(four)f(\014elds)h(are)g(all)f
(four)h(digit)g(hexadecimal)g(w)n(ords.)37 b(The)28 b
Ff(SUBRACK)d Fg(lists)j(the)h(card's)e(subrac)n(k,)g(the)h(\014rst)-120
190 y(t)n(w)n(o)c(digits)h(of)f(the)h Ff(ADDRESS)d Fg(list)j(the)h(mo)r
(dule)f(n)n(um)n(b)r(er,)g(the)g(second)f(t)n(w)n(o)g(digits)h(of)f
(the)h Ff(ADDRESS)d Fg(list)j(the)g(card)f(address)-120
289 y(of)36 b(the)f(digital)h(ob)5 b(ject)35 b(to)h(b)r(e)f(set,)j(the)
e Ff(DATAWORD)c Fg(\014eld)k(con)n(tains)f(the)h(data)f(to)g(b)r(e)h
(sen)n(t)g(to)f(that)h(address,)g(and)g(the)-120 389
y Ff(READ/WRITE)21 b Fg(\014eld)j(con)n(tains)g(a)g Ff(0001)f
Fg(for)h(a)h(read)e(command)i(and)f(a)g Ff(0000)f Fg(for)h(a)g(write)h
(command.)35 b(The)25 b Ff(\045)f Fg(indicates)h(the)-120
489 y(b)r(eginning)c(of)g(the)g(commen)n(t,)h(and)f(the)g
Ff(COMMENT)d Fg(describ)r(es)i(the)i(op)r(eration)d(to)i(b)r(e)h(p)r
(erformed.)34 b(It)21 b(is)g(free)f(format,)i(except)-120
588 y(that)29 b(the)g(\014rst)g(w)n(ord)f(of)h(the)g(commen)n(t)g(m)n
(ust)g(lab)r(el)g(the)g(card's)f(t)n(yp)r(e)h(\(options)g(are)e(curren)
n(tly)h(BLIP)-7 b(,)29 b(FLIP3UDriv)n(er,)-120 688 y(FLIP3UQBias,)g(R)
-7 b(TF,)31 b(and)f(ZIP\).)f(\(P)n(ersistence)g(within)i(the)g(P)n(erl)
e(script-reading)f(program)g(requires)h(this)h(commen)n(t)-120
788 y(form.\))5 887 y(Once)36 b(created,)i(scripts)f(can)f(b)r(e)h
(read)f(and)h(executed)g(using)f(the)i Ff(readscript.pl)31
b Fg(executable)37 b(program.)62 b(This)-120 987 y(program)26
b(is)h(called)g(using)h(the)f(follo)n(wing)g(syn)n(tax:)-120
1169 y Ff(<prompt>)40 b(readscript.pl)e(SCRIPTNAME)i(ECHO)5
1352 y Fg(Both)23 b(\014elds)h(are)f(optional,)h(as)f(the)h(user)f
(will)h(b)r(e)g(prompted)g(for)f(them)h(if)h(they)e(are)g(omitted.)36
b(The)24 b Ff(SCRIPTNAME)c Fg(\014eld)-120 1452 y(should)29
b(con)n(tain)g(the)h(name)g(of)f(the)h(script)g(to)f(b)r(e)h(executed.)
43 b(The)30 b Ff(ECHO)e Fg(\014eld)i(should)f(con)n(tain)g(a)g
Ff(y)g Fg(if)h(the)g(user)f(wishes)-120 1551 y(the)f(executed)g(op)r
(erations)e(to)h(b)r(e)h(prin)n(ted)g(on)f(the)h(screen,)f(or)g(an)g
Ff(n)g Fg(otherwise.)5 1651 y Ff(readscript.pl)33 b Fg(cycles)k
(through)h(eac)n(h)g(line)g(of)h(the)g(script,)i(adds)d(commands)f(to)i
(an)f(instruction)g(queue,)j(and)-120 1751 y(executes)24
b(that)i(queue)e(at)h(the)g(end)g(of)g(the)g(script)g(\(or)f(whenev)n
(er)g(it)h(encoun)n(ters)f(a)g(\\read")f(command:)35
b(in)25 b(that)g(case,)g(the)-120 1850 y(program)g(executes)i(its)h
(queue,)f(p)r(erforms)g(the)g(read)g(command,)g(and)g(then)h(b)r(egins)
f(re\014lling)g(the)h(queue\).)37 b(Eac)n(h)26 b(time)h(a)-120
1950 y(command)c(is)g(read,)h(the)f(program)e(also)i(up)r(dates)g(the)h
(\\normal")d(p)r(ersistence)i(\014le.)36 b(Note,)24 b(ho)n(w)n(ev)n
(er,)e(that)i(the)f(command)-120 2050 y(is)g(not)h(actually)f(executed)
h(when)f(the)h(p)r(ersistence)g(\014le)f(is)h(mo)r(di\014ed!)36
b(Therefore,)23 b(if)h(program)e(execution)h(is)g(in)n(terrupted,)-120
2149 y(p)r(ersistence)30 b(ma)n(y)h(not)f(function)i(prop)r(erly)-7
b(.)45 b(W)-7 b(e)31 b(recommend)g(re-executing)e(the)j(script)e(if)h
(this)g(do)r(es)g(o)r(ccur;)h(that)f(will)-120 2249 y(guaran)n(tee)26
b(that)i(the)g(p)r(ersistence)f(remains)g(correct.)5
2348 y(Note)g(that)g(b)r(ecause)g(the)h(format)e(of)i(p)r(ersistence)e
(\014les)h(matc)n(hes)g(the)h(format)e(of)i(scripts,)e(p)r(ersistence)h
(\014les)g(can)g(also)-120 2448 y(b)r(e)h(used)g(as)f(scripts)g(\(this)
h(is)f(essen)n(tially)g(what)g(the)h Ff(powerUp)d Fg(command)i(do)r
(es\).)-120 2723 y Fh(References)-78 2904 y Fg([1])41
b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Sae)g(W)-7 b(o)r(o)28
b(Nam)f(CDMS)i(note)e(9712002.)d Fe(The)31 b(CDMS)f(Net)f(Pr)l(oto)l(c)
l(ol)-78 3070 y Fg([2])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g
(F)-7 b(urlanetto)28 b Fe(The)i(BLIP)h(c)l(ar)l(d)f(Driver)-78
3237 y Fg([3])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7
b(urlanetto)28 b Fe(The)i(R)-6 b(TF)30 b(c)l(ar)l(d)g(Driver)-78
3403 y Fg([4])41 b(Stev)n(e)27 b(F)-7 b(urlanetto)27
b Fe(The)k(ZIP)f(c)l(ar)l(d)g(Driver)1809 5356 y Fg(9)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of PerlInterface.ps
echo QETManual.ps 1>&2 
cat >QETManual.ps << 'End of QETManual.ps'
%!PS-Adobe-3.0
%%Title: Microsoft Word - Stanford QET…
%%Creator: Windows NT 4.0
%%CreationDate: 14:55 6/12/1997
%%Pages: (atend)
%%BoundingBox: 11 11 598 780
%%LanguageLevel: 2
%%DocumentNeededFonts: (atend)
%%DocumentSuppliedFonts: (atend)
%%EndComments
%%BeginProlog

%%BeginResource: procset NTPSOct95
/NTPSOct95 100 dict dup begin/bd{bind def}bind def/ld{load def}bd/ed{exch def}
bd/a{currentpoint}bd/c/curveto ld/d/dup ld/e/eofill ld/f/fill ld/tr/translate
ld/gr/grestore ld/gs/gsave ld/j/setlinejoin ld/L/lineto ld/M/moveto ld/n
/newpath ld/cp/closepath ld/rm/rmoveto ld/sl/setlinewidth ld/sd/setdash ld/g
/setgray ld/r/setrgbcolor ld/s/stroke ld/t/show ld/aw/awidthshow ld/im
/imagemask ld/MS{moveto show}bd/SF{findfont exch scalefont setfont}bd/SM{cmtx
setmatrix}bd/MF{findfont exch makefont setfont}bd/CM{/cmtx matrix currentmatrix
def}bd/B{M exch dup 0 rlt exch 0 exch rlt neg 0 rlt}bd/CB{B cp eoclip}bd/EA{1
index 0/G0 put 4 string 1 1 4 -1 roll{3 copy neg exch cvs dup 0 71 put cvn 3 -1
roll exch put}for pop}bd/rlt/rlineto ld/L2?/languagelevel where{pop
languagelevel 2 ge}{false}ifelse def end def 
%%EndResource
%%EndProlog
%%BeginSetup
[{0
/languagelevel where{pop languagelevel 2 ge}{false}ifelse
{1 dict dup/JobTimeout 4 -1 roll put setuserparams}
{statusdict/setjobtimeout get exec}ifelse
}stopped cleartomark
[{240
/languagelevel where{pop languagelevel 2 ge}{false}ifelse
{1 dict dup/WaitTimeout 4 -1 roll put setuserparams}
{statusdict/waittimeout 3 -1 roll put}ifelse
}stopped cleartomark
/#copies 1 def
[{
%%BeginFeature: *Resolution 600dpi
statusdict begin 600 setresolution end
%%EndFeature
} stopped cleartomark
[{
%%BeginFeature: *InputSlot 2
statusdict begin 2 setpapertray end
%%EndFeature
} stopped cleartomark
[{
%%BeginFeature: *PageRegion Letter
letter
%%EndFeature
} stopped cleartomark
%%EndSetup
NTPSOct95 begin
%%Page: 1 1
NTPSOct95 /PageSV save put
11 780 translate 72 600 div dup neg scale
0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate
%%IncludeFont: Times-Roman
[83 0 0 -83 0 0]/Times-Roman MF
(QET Module: Users Manual)659 278 MS
(Page )2259 6180 MS
(1)2442 6180 MS
( of  3)2484 6180 MS
(This file is located on the Lab PC, at )659 578 MS
(D:\\users\\default\\Stanford )1898 578 MS
(QET.doc)2754 578 MS
%%IncludeFont: Times-Bold
[83 0 0 -83 0 0]/Times-Bold MF
(Power Control Circuitry)659 872 MS
(Backplane supplied voltages)659 1066 MS
[83 0 0 -83 0 0]/Times-Roman MF
(This module utilizes the following voltages available at the )659 1259 MS
(backplane:)2641 1259 MS
( FE+15, FE-15 and +5D.)659 1455 MS
(When the QET Module is plugged in, the circuitry voltages remain off for a period of approximately 1.3)659 1651 MS
(seconds, after which the two FE15 volt supplies are connected to the circuitry. Approximately 300)659 1749 MS
(milliseconds after application of the 15 volts, the 5D voltage is applied.)659 1847 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Board generated voltages.)659 2141 MS
[83 0 0 -83 0 0]/Times-Roman MF
(Four, very precise and stable, voltages are generated for the 4 channel DAC.  These voltages consist of the)659 2335 MS
(+10 and -10 for powering the DAC, and the +5 and -5 volts for the high and low references, respectively.)659 2433 MS
/IsChar{exch/CharStrings get exch known}bd/MapCh{3 -1 roll/Encoding get 3 1
roll put}bd/MapDegree{dup 16#b0 exch/degree IsChar{/degree}{/ring}ifelse MapCh}
bd/MapBB{dup 16#a6 exch/brokenbar IsChar{/brokenbar}{/bar}ifelse MapCh}bd
/reencode{findfont begin currentdict dup length dict begin{1 index/FID ne{def}
{pop pop}ifelse}forall/FontName exch def dup length 0 ne{/Encoding Encoding 256
array copy def 0 exch{dup type/nametype eq{Encoding 2 index 2 index put pop 1
add}{exch pop}ifelse}forall}if pop currentdict dup end end/FontName get exch
definefont dup MapDegree MapBB}bd/LATENC[0/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/ring/cedilla/hungarumlaut/ogonek/caron/dotlessi/fi/fl
/Lslash/lslash/Zcaron/zcaron/minus/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl
/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk
/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight
/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M
/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum
/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft
/bar/braceright/asciitilde/.notdef/.notdef/.notdef/quotesinglbase/florin
/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron
/guilsinglleft/OE/.notdef/.notdef/.notdef/.notdef/quoteleft/quoteright
/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe/.notdef/.notdef/Ydieresis/.notdef/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft
/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute
/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex
/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
LATENC /_Times-Roman /Times-Roman reencode
[83 0 0 -83 0 0]/_Times-Roman MF
(A -3Volt level is produced by IC50\(page 1\), for supplying the negative supply voltage to IC\222s 15 & 25, on)659 2629 MS
(page 1.)659 2727 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Digital Interface)659 3021 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(In order to appear as a single gate load to the crate )659 3215 MS
(backplane, all of the lines are buffered. The data lines)2358 3215 MS
(are buffered by IC34, whereas the address, read and write lines are buffered by IC29. IC29 is operated in a)659 3313 MS
(unidirectional mode; always passing the )659 3411 MS
(backplane signals to this  module. The data lines \( IC34\), on the)2008 3411 MS
(other hand, have the direction controlled by the write line, but only if this particular module is being)659 3509 MS
(addressed The address this module responds to is determined by the address set up by switch  SW4, and)659 3607 MS
(IC35. IC35 compares the bit pattern of A08, A09, A10 and A12 with that of  SW4; if they match, the)659 3705 MS
(outputs of IC34 are enabled\(active\).)659 3803 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Digital to Analog Converter \(DAC\))659 4098 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(. This quad device allows the user to set the output voltage anywhere)1911 4098 MS
(in the range of  plus or minus five volts. A system reset sets the 4 outputs to zero volts. The 4 outputs)659 4196 MS
(control the following devices.)659 4294 MS
showpage
%%Page: 2 2
11 780 translate 72 600 div dup neg scale
0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate
[83 0 0 -83 0 0]/Times-Roman MF
(QET Module: Users Manual)659 278 MS
(Page )2259 6180 MS
(2)2442 6180 MS
( of  3)2484 6180 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Addressing)659 579 MS
(Module Address + 0; DAC0;)959 773 MS
[83 0 0 -83 0 0]/Times-Roman MF
(  )1974 773 MS
/IsChar{exch/CharStrings get exch known}bd/MapCh{3 -1 roll/Encoding get 3 1
roll put}bd/MapDegree{dup 16#b0 exch/degree IsChar{/degree}{/ring}ifelse MapCh}
bd/MapBB{dup 16#a6 exch/brokenbar IsChar{/brokenbar}{/bar}ifelse MapCh}bd
/reencode{findfont begin currentdict dup length dict begin{1 index/FID ne{def}
{pop pop}ifelse}forall/FontName exch def dup length 0 ne{/Encoding Encoding 256
array copy def 0 exch{dup type/nametype eq{Encoding 2 index 2 index put pop 1
add}{exch pop}ifelse}forall}if pop currentdict dup end end/FontName get exch
definefont dup MapDegree MapBB}bd/LATENC[0/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/ring/cedilla/hungarumlaut/ogonek/caron/dotlessi/fi/fl
/Lslash/lslash/Zcaron/zcaron/minus/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl
/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk
/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight
/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M
/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum
/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft
/bar/braceright/asciitilde/.notdef/.notdef/.notdef/quotesinglbase/florin
/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron
/guilsinglleft/OE/.notdef/.notdef/.notdef/.notdef/quoteleft/quoteright
/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe/.notdef/.notdef/Ydieresis/.notdef/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft
/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute
/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex
/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
LATENC /_Times-Roman /Times-Roman reencode
[83 0 0 -83 0 0]/_Times-Roman MF
(Reads or writes \223)2159 773 MS
[83 0 0 -83 0 0]/Times-Bold MF
(A SENSOR BIAS)2732 773 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224  voltage.)3360 773 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 1;)959 969 MS
[83 0 0 -83 0 0]/_Times-Roman MF
( )1703 969 MS
[83 0 0 -83 0 0]/Times-Bold MF
(DAC1;)1724 969 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(  )1974 969 MS
(Reads or writes \223)2159 969 MS
[83 0 0 -83 0 0]/Times-Bold MF
(B SENSOR BIAS)2732 969 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224  voltage.)3356 969 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 2)959 1165 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(;)1675 1165 MS
[83 0 0 -83 0 0]/Times-Bold MF
( DAC2;  )1698 1165 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(Reads or writes \223)2159 1165 MS
[83 0 0 -83 0 0]/Times-Bold MF
(C SENSOR BIAS)2732 1165 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224  voltage.)3360 1165 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 3)959 1362 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(; )1675 1362 MS
[83 0 0 -83 0 0]/Times-Bold MF
(DAC3 ;)1719 1362 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(Reads or writes \223)2159 1362 MS
[83 0 0 -83 0 0]/Times-Bold MF
(D SENSOR BIAS)2732 1362 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224  voltage.)3360 1362 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 4)959 1559 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(; )1675 1559 MS
[83 0 0 -83 0 0]/Times-Bold MF
(CSR0;)1719 1559 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(Reads or writes the Control and status register Zero \()2159 1559 MS
[83 0 0 -83 0 0]/Times-Bold MF
(CSR)3919 1559 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(0\))4085 1559 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 5)959 1756 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(Not used.)2159 1756 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 6)959 1953 MS
[83 0 0 -83 0 0]/_Times-Roman MF
( )1675 1953 MS
(A write to this address, generates a module )2159 1953 MS
[83 0 0 -83 0 0]/Times-Bold MF
(RESET.)3608 1953 MS
(.)959 2052 MS
(Module Address + 7)959 2149 MS
[83 0 0 -83 0 0]/_Times-Roman MF
( )1675 2149 MS
(A write to this address causes the heater to be pulsed.)2159 2149 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Control and Status Register \(CSR0\), Bit assignments)659 2444 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(The address of CSR0 is 4. The Control and Status Register consists of IC41. It is a 16 bit register with  8)659 2638 MS
(LSB\222s  that can be both, read from and written to, and have the following control functions.)659 2736 MS
(Bit 0)1559 2932 MS
(calibrate/measure A)1859 2932 MS
(Bit 1)1559 3030 MS
(calibrate/measure B)1859 3030 MS
(Bit 2)1559 3128 MS
(calibrate/measure C)1859 3128 MS
(Bit 3)1559 3226 MS
(calibrate/measure D)1859 3226 MS
(Bit 4)1559 3324 MS
(Heater Pulse width =   ???milliseconds.)1859 3324 MS
(Bit 5)1559 3422 MS
(Heater Pulse wid)1859 3422 MS
(th =   ???milliseconds..)2426 3422 MS
(Bit 6)1559 3520 MS
(Heater Pulse width =   ???milliseconds.)1859 3520 MS
(Bit 7)1559 3618 MS
(Heater Pulse width =   ???milliseconds..)1859 3618 MS
(Bit 8)1559 3814 MS
(Enable Heater A)1859 3814 MS
(Bit 9)1559 3912 MS
(Enable Heater B)1859 3912 MS
(Bit 10)1559 4010 MS
(Enable Heater C)1859 4010 MS
(Bit 11)1559 4108 MS
(Enable Heater D)1859 4108 MS
(Bit 12)1559 4206 MS
(CSR0-12)1859 4206 MS
(Bit 13)1559 4304 MS
(CSR0-13)1859 4304 MS
(Bit 14)1559 4402 MS
(CSR0-14)1859 4402 MS
(Bit 15)1559 4500 MS
(CSR0-15)1859 4500 MS
showpage
%%Page: 3 3
11 780 translate 72 600 div dup neg scale
0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate
[83 0 0 -83 0 0]/Times-Roman MF
(QET Module: Users Manual)659 278 MS
(Page )2259 6180 MS
(3)2442 6180 MS
( of  3)2484 6180 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 0)659 579 MS
(calibrate/measure A:)959 579 MS
[83 0 0 -83 0 0]/Times-Roman MF
/IsChar{exch/CharStrings get exch known}bd/MapCh{3 -1 roll/Encoding get 3 1
roll put}bd/MapDegree{dup 16#b0 exch/degree IsChar{/degree}{/ring}ifelse MapCh}
bd/MapBB{dup 16#a6 exch/brokenbar IsChar{/brokenbar}{/bar}ifelse MapCh}bd
/reencode{findfont begin currentdict dup length dict begin{1 index/FID ne{def}
{pop pop}ifelse}forall/FontName exch def dup length 0 ne{/Encoding Encoding 256
array copy def 0 exch{dup type/nametype eq{Encoding 2 index 2 index put pop 1
add}{exch pop}ifelse}forall}if pop currentdict dup end end/FontName get exch
definefont dup MapDegree MapBB}bd/LATENC[0/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/ring/cedilla/hungarumlaut/ogonek/caron/dotlessi/fi/fl
/Lslash/lslash/Zcaron/zcaron/minus/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl
/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk
/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight
/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M
/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum
/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft
/bar/braceright/asciitilde/.notdef/.notdef/.notdef/quotesinglbase/florin
/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron
/guilsinglleft/OE/.notdef/.notdef/.notdef/.notdef/quoteleft/quoteright
/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe/.notdef/.notdef/Ydieresis/.notdef/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft
/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute
/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex
/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
LATENC /_Times-Roman /Times-Roman reencode
[83 0 0 -83 0 0]/_Times-Roman MF
(A \223High\224 value on this bit, puts channel  A, in the \223)1859 579 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Calibrate)3574 579 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode.)3912 579 MS
(In the Calibrate mode, an external signal, named \223)659 678 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Variable)2326 678 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224, is selected by IC15, and sent to the \223A Bias\224)2636 678 MS
(output. If bit 0 is \223Low\224, channel A is in the \223)659 777 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Measure)2179 777 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode, and the output voltage of channel A is)2490 777 MS
(controlled by DAC 0. In the measure mode, it\222s also possible to pulse the output with a larger magnitude)659 875 MS
(voltage for a period determined by CSR0 bits 4 through 7.)659 973 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 1)659 1170 MS
(calibrate/measure B:)959 1170 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(A \223High\224 value on this bit, puts channel  B, in the \223)1859 1170 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Calibrate)3571 1170 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode.)3909 1170 MS
(In the Calibrate mode, an external signal, named \223)659 1269 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Variable)2326 1269 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224, is selected by IC15, and sent to the \223B Bias\224)2636 1269 MS
(output. If bit 0 is \223Low\224, channel B is in the \223)659 1368 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Measure)2176 1368 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode, and the output voltage of channel B is)2487 1368 MS
(controlled by DAC 1. In the measure mode, it\222s also possible to pulse the output with a larger magnitude)659 1466 MS
(voltage for a period determined by CSR0 bits 4 through 7.)659 1564 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 2)659 1761 MS
(calibrate/measure C:)959 1761 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(A \223High\224 value on this bit, puts channel  C, in the \223)1859 1761 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Calibrate)3570 1761 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode.)3908 1761 MS
(In the Calibrate mode, an external signal, named \223)659 1860 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Variable)2326 1860 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224, is selected by IC15, and sent to the \223C Bias\224)2636 1860 MS
(output. If bit 0 is \223Low\224, channel C is in the \223)659 1959 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Measure)2175 1959 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode, and the output voltage of channel C is)2486 1959 MS
(controlled by DAC 0. In the measure mode, it\222s also possible to pulse the output with a larger magnitude)659 2057 MS
(voltage for a period determined by CSR0 bits 4 through 7)659 2155 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 3)659 2351 MS
(calibrate/measure D:)959 2351 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(D \223High\224 value on this bit, puts channel  D, in the \223)1859 2351 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Calibrate)3576 2351 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode.)3914 2351 MS
(In the Calibrate mode, an external signal, named \223)659 2450 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Variable)2326 2450 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224, is selected by IC15, and sent to the \223D Bias\224)2636 2450 MS
(output. If bit 0 is \223Low\224, channel D is in the \223)659 2549 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Measure)2180 2549 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(\224 mode, and the output voltage of channel D is)2491 2549 MS
(controlled by DAC 0. In the measure mode, it\222s also possible to pulse the output with a larger magnitude)659 2647 MS
(voltage for a period determined by CSR0 bits 4 through 7)659 2745 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bits 04, 05, 06, & 07)659 2941 MS
(Heater Pulse width,)1559 2941 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(  These four bits allow the pulse width to be set for 16)2261 2941 MS
(different widths in 100 millisecond increments; bit 4 is the LSB. The minimum width is 100milliseconds)659 3039 MS
(and the maximum width is 1.7 seconds.)659 3137 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bits 08 through 11)659 3334 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(These bits select  the channels that will generate a heater pulse when the heater is)1559 3334 MS
(pulsed\(see )659 3433 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Addressing, )1031 3433 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(above)1769 3433 MS
[83 0 0 -83 0 0]/Times-Bold MF
(\).)1968 3433 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(Bit 08 High, enables heater pulsing for channel A.)959 3531 MS
(Bit 09 High, enables heater pulsing for channel B.)959 3629 MS
(Bit 10 High, enables heater pulsing for channel C.)959 3727 MS
(Bit 11 High, enables heater pulsing for channel D.)959 3825 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bits 9 through 15 )659 4120 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(inclusive, are unused.)1295 4120 MS
showpage
PageSV restore
%%Trailer
%%DocumentNeededFonts:
%%+ Times-Bold
%%+ Times-Roman
%%DocumentSuppliedFonts:
end
%%Pages: 3
%%EOF
End of QETManual.ps
echo RTFdriver.ps 1>&2 
cat >RTFdriver.ps << 'End of RTFdriver.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: RTFdriver.dvi
%%Pages: 3
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips RTFdriver.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.08.18:1021
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (RTFdriver.dvi)
@start
%DVIPSBitmapFont: Fa cmbx12 12 27
/Fa 27 118 df<EA07C0EA1FF0487E487E487E7FA31480A37E7EEA1FF7EA07C7EA000713
0FA21400A25B131E133EA25B13FC5B485A485A1207485A485A90C7FC120C112278C41F>
39 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA7FFCEA3FF8EA1FF0EA07C00F0F788E1F>
46 D<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5264177C0
38>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0007FFFD8
1F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A6C5A6C5A
C9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A5A4A5A
EC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC017C1401
49140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713FF011F14
C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16C07FA66C
5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC15F815FF
16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0EA3FF048
7EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80FFEEBFFFE
6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<EE1F80A24C7EA24C7E
A34C7EA24B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80157C8203
FC804B7E02018115F0820203814B137F0207815D173F020F814B7F021F8292C77EA24A82
023E80027E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A153FA249
488284011F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65
D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949
C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F4849163F484916
1F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2
123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C
167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7
FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>67
D<B9FC18F018FE727E19E026003FFEC7001F13F805017F9438003FFF060F7F727F727F72
7F84737E737EA2737EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F
624F5A19FF624E5B06075B4E5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9
FC4B447CC356>I<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B5
39E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F
4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C8FC12FF
AD057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E6C7F6C7F6D7E6D
6C5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90B6120F0207EDFC
030201EDF000DA001F02C01330030001FCC9FC4C467AC458>71 D<B712E0A5D8001F90C7
FCB3B3B3A4B712E0A523447DC32A>73 D<B812F8EFFFC018F818FE727ED8001F90C7003F
13E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E5A61187F943801FF
F005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2717FA271
7FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF8060114F072
6C13E0CC0007138050457DC354>82 D<DAFFE0131C010701FE133C013F9038FF807C90B6
EAE0FC4815F9489038801FFF3907FC00014848EB007F4848143F4848140F491407007F15
035B1601160012FF177CA27FA26D153C7F7F6D92C7FC6C7EEBFFE014FE6CEBFFF015FF6C
15E016FC6C816C6F7E6C826C826C6C81011F810107811300020F80140003077FED007F82
040F1380828212F082A282A27EA218007EA26C5D6C5E6D14036D5D6D140701F84A5A01FF
EC3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8F80714FC48C614F0480107138031467AC4
3E>I<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C
6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC
01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE
013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>
97 D<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C
7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0
C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01
F0EB3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>
101 D<EDFF80020F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F813
3FEB7FF0A2ED0FFCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0
A527467DC522>I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F
489038001FF84848EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8
001F93C7FCA26D5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8
FC018013E0000F90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E00038200
0F82D81FF0C77ED83FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C
4A5A6C6C4A5AD80FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D900
7F90C8FC32427DAC38>I<EB7FC0B5FCA512037EB1ED07FE92383FFF8092B512E002C114
F89139C7F03FFC9138CF801F9139DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B5
12FEA537457CC43E>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300
EA007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<EB7FC0B5FCA512
037EB3B3B3A3B61280A519457CC420>108 D<90277F8007FEEC0FFCB590263FFFC09038
7FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC
0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5D
B3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E002
8114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35C
B3A7B60083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80F
FF9026FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F001F82A2003F824914
07007F82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C
6CEBFFE06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F
7DAD38>I<90397FC00FF8B590B57E02C314E002CF14F89139DFC03FFC9139FF001FFE00
0301FCEB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318
F017FFA24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07FFC02CFB512F002C3
14C002C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F807FB53881FFE00283
13F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01
E092C7FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B51287000314FF12
0F381FF003383FC00049133F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE38
7FFFF014FF6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F020313E01400
00F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B5
5A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA213
1FA2133F137F13FF1203000F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0
137F150790393FF80F8090391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>
I<D97FC049B4FCB50103B5FCA50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901
F713FE9138F807E76DB512C7010F1407010313FE9026007FF0EBFC00372E7CAC3E>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti10 10 29
/Fb 29 119 df<387FFFF8A2B5FCA214F0150579941E>45 D<0107B612FCEFFF8018C090
3B000FF0001FF04BEB07F81703021F15FC17014B14FEA2023F1400A24B1301A2147F18FC
92C7120318F84A140718F04AEC0FE0EF1FC00101ED3F80EF7F004AEB01FEEE07F849B612
E05F9139F80007F0EE01FC01076E7E177F4AEC3F80A2010F16C0171F5CA2131F173F5CA2
133FEF7F805C1800017F5D4C5A91C7485A5F49140FEE1FE0494A5A00014AB45AB748C7FC
16F816C037397BB83A>66 D<DB03FE130E92393FFF801E92B5EAE03C913903FE01F0913A
0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC49481407494815F04948140349
5A5C49C813E05B485A5B000317C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF
90CBFCA41738A217784816707E17F06C5E16015F16036C6C4A5A94C7FC001F150E6D141E
000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F807EC8FC6DB45A010F13E00100
90C9FC373D74BA3B>I<0103B612FEEFFFC018F0903B0007F8000FF84BEB03FCEF00FE02
0F157FF03F804B141F19C0021F150F19E05D1807143F19F05DA2147FA292C8FCA25C180F
5CA2130119E04A151FA2130319C04A153FA201071780187F4A1600A2010F16FEA24A4A5A
60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17FC017FEC03F84C5A91C7EA1FC049
49B45A007F90B548C8FCB712F016803C397CB83F>I<0107B8FCA3903A000FF000034BEB
007F183E141F181E5DA2143FA25D181C147FA29238000380A24A130718004A91C7FC5E13
015E4A133E167E49B512FEA25EECF8000107147C163C4A1338A2010F147818E04A137017
01011F16C016004A14031880013F150718004A5CA2017F151E173E91C8123C177C4915FC
4C5A4914070001ED7FF0B8FCA25F38397BB838>I<DB03FE130E92393FFF801E92B5EAE0
3C913903FE01F0913A0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC49481407
494815F049481403495A5C49C813E05B485A5B000317C0485AA2485A1880485A94C7FCA2
485AA3127F5BA312FF90CBFC0307B512E0A392390007FC00705A16075FA36C150F5FA36C
6C141FA2001F5E6D143F6C7E167F6C6C4A5A6C6CEB03EFD801FEEB07C73A007FC03F0790
273FFFFC03C7FC010F01F0C8FC01001380373D74BA40>71 D<0103B512F8A390390007F8
005DA2140FA25DA2141FA25DA2143FA25DA2147FA292C7FCA25CA25CA21301A25CA21303
A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA291C8FC497EB6FCA25C25
397CB820>73 D<0107B512FCA25E9026000FF8C7FC5D5D141FA25DA2143FA25DA2147FA2
92C8FCA25CA25CA21301A25CA21303A25CA21307A25CA2130F170C4A141CA2011F153C17
384A1478A2013F157017F04A14E01601017F140317C091C71207160F49EC1F80163F4914
FF000102071300B8FCA25E2E397BB834>76 D<902607FFF8923807FFF0614F13E0D9000F
EFF0004F5AA2021F167FF1EFC0141DDA1CFCEC01CF023C16DF9538039F800238ED071FA2
0278ED0E3F97C7FC0270151CA202F04B5AF0707E14E0037E14E0010117FE4D485A02C0EC
0380A20103ED0701610280140EA20107ED1C0305385B14006F137049160705E05B010EEC
01C0A2011E913803800F61011CEC0700A2013C020E131F4C5C1338ED1FB80178163F04F0
91C8FC01705CA201F04A5B187E00015DD807F816FEB500C09039007FFFFC151E150E4C39
7AB84A>I<902603FFF891B512E0A281D90007923807F8006F6E5A61020F5E81DA0E7F5D
A2021E6D1307033F92C7FC141C82DA3C1F5C70130EEC380FA202786D131E0307141C1470
82DAF003143C70133814E0150101016E1378030014705C8201036E13F0604A1480163F01
0715C1041F5B91C7FC17E149EC0FE360010E15F31607011E15FF95C8FC011C80A2013C80
5F1338160013785F01F8157CEA03FC267FFFE0143CB51538A243397CB83E>I<0107B612
F817FF1880903B000FF0003FE04BEB0FF0EF03F8141FEF01FC5DA2023F15FEA25DA2147F
EF03FC92C7FCA24A15F817074A15F0EF0FE01301EF1FC04AEC3F80EFFE0001034A5AEE0F
F091B612C04CC7FCD907F8C9FCA25CA2130FA25CA2131FA25CA2133FA25CA2137FA291CA
FCA25BA25B1201B512FCA337397BB838>80 D<92383FC00E913901FFF01C020713FC9139
1FC07E3C91393F001F7C027CEB0FF84A130749481303495A4948EB01F0A2495AA2011F15
E091C7FCA34915C0A36E90C7FCA2806D7E14FCECFF806D13F015FE6D6D7E6D14E0010080
023F7F14079138007FFC150F15031501A21500A2167C120EA3001E15FC5EA3003E4A5AA2
4B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9F013FC39F8FC03F839F07FFFE0D8E01F1380
26C003FCC8FC2F3D7ABA2F>83 D<0007B812E0A25AD9F800EB001F01C049EB07C0485AD9
00011403121E001C5C003C17801403123800785C00701607140700F01700485CA2140FC7
92C7FC5DA2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303A25CA2
1307A25CA2130FA25CEB3FF0007FB512F8B6FCA2333971B83B>I<14F8EB07FE90381F87
1C90383E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403007F5C
1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300ECFF07
6C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97
D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F
80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214
0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07
C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00
70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F
90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00
380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2
150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF017C5BEB
F80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA214075A485CA2
140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B9038038F8E
391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380FC1E09038
3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81
FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0
6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0ED3E38
ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D010FB512
C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA413075CA4130F
5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F80264C
82BA19>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07
F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F
000715005BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0
A216704814E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB9
2A>104 D<EB01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E
1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E0
13C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>
I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2137EA213FEA25BA21201A25BA212
03A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25AA2EA7E0EA212FE131E
EAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F80123B79B915>108
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>I<D8
01E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E00078
13C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F5E12
034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E001FEC
3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F00F8
017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215FF5A
4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00147E
6C13F8380F83F03803FFC0C648C7FC202677A42A>I<3903C003F0390FF01FFC391E783C
0F381C7C703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0
FE5BA2120012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A4
23>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F0000113
0313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C0130014
3F141F140F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD8
01FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5
FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F13
38EB0078147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>
I<01F0130ED803FC133FD8071EEB7F80EA0E1F121C123C0038143F49131F0070140FA25B
D8F07E140000E08013FEC6485B150E12015B151E0003141C5BA2153C000714385B5DA35D
A24A5A140300035C6D48C7FC0001130E3800F83CEB7FF8EB0FC0212679A426>118
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10 35
/Fc 35 120 df<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFF
E0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D
14015D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C1307
5C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B12
3F90C9FC5A127E12FE5AA25A127821417BB92C>I<1307497EA2131FA2133F137F13FF5A
1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>49
D<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7
EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F
16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F80
49C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<
EB0FFC90387FFF8048B512E0000714F84880391FF807FEEBC0004848137F6D7F1680151F
A26C5A6CC7FCC8FC153F16005D15FE14014A5AEC1FF890381FFFF0495BA215F86D7F9038
0007FEEC00FF81ED3F80ED1FC0150FA216E01507A2123C127EB4FC150F16C0A248141F00
7FEC3F806DEB7F006C6C5B391FF807FE6CB55A6C5C6C14E0C66C1380D90FFCC7FC23357C
B32C>I<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6
ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED03
F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016C0B71280
6CECFE0015F027337FB22C>66 D<007FB612F8B712FCA37ED803F0C7FCA716781600A515
F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB22C>70
D<903901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC01497E4848137F
4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8913803FFF8
4A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C6C13
FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<007F
B512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14F81E3379B22C>
73 D<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07F0A2150316F8
1501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001F0C8FCB0387F
FF80B57EA36C5B25337EB22C>80 D<387FFFFCB67E15E015F86C803907E007FE1401EC00
7F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E081819038E007FCEC
01FE1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F02934
7EB22C>82 D<007FB612FCB712FEA43AFC007E007EA70078153CC71400B3AF90383FFFFC
A2497F6D5BA227337EB22C>84 D<D87FFCEB7FFC486CEBFFFEA36C48EB7FFCD80FC0EB07
E06D130F000715C0A36D131F00031580A36D133F00011500A36D5B0000147EA4017E5BA4
6D485AA490381F83F0A4010F5B14C7A301075BA214EFA201035BA214FFA26D90C7FCA46D
5A27347EB22C>86 D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC38
1F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7
FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF0
07FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6FC1680
9138F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14
FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813
F83900F03FC027337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA
0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D13
3F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>I<EC
0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E49
7E48487F90C7FC007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC
1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03FE90381FFFC0
017F13F048B57E48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A
007E15E015075AB7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF013
0F6C6CEB3FC001FF13FF000190B512806C1500013F13FC010F13F00101138023247CA32C
>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FCA6007F
B512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<ED03F8
903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0F
E001FC1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0FF048B5
FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF804815E048
15F03A3FC0001FF848C7EA03FC007E1400007C157C00FC157E48153EA46C157E007E15FC
D87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8010713
C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC
9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E01400
29337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2
EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<EA7FE0487EA3127F1201AA91
381FFFF04A13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC
13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400157E81168015
1F3A7FFFC0FFFCB500E113FEA36C01C013FC27337EB22C>107 D<387FFFE0B57EA37EEA
0003B3B3A5007FB61280B712C0A36C158022337BB22C>I<3A7F83F007E09039CFFC1FF8
3AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013
C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D24
81A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F
02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>I<EB
07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48486C7E0180133F003F15
8090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D133F6C6C
EB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C
>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE09138
0007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0
150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0
B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F
7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26
247EA32C>114 D<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36C
EB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC
00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000
F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FC
B1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0
232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F
3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB5
14FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C
137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA2
14FF6D90C7FCA26D5A147C27247EA32C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED8
07C0EB01F0A66C6C495AA3143E147FA2D801F0495AECFF87A214F7A201F113C700005D90
38F9E3CFA201FB13EFA3D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA3
2C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx14 14.4 18
/Fd 18 118 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<B912FEF0FFF019FEF1FFC01AF0D8000F
01E0C7003F13FC06037F9539007FFF80071F7F07077F737F737F737F747E747E86741380
1CC0861CE0861CF0A27413F8A31CFC86A21CFEA51CFFAF1CFEA51CFCA2621CF8A35013F0
A25013E0A25013C0A250138050130063505A1AFF07035B4F13E0071F5B077F5B0603B5C7
FC063F13FCBB12F01AC04FC8FC19F04EC9FC58527BD165>68 D<B81280A5D8000701F0C7
FCB3B3B3B2B81280A529527DD130>73 D<B912C018FEF0FFE019FC19FFD8000F9026E000
0114C0DD001F7F060713F806017F727F737E8587737FA28785A287A863A26163636198C8
FC4F5A4F5A4E5B06075B061F13C04DB5C9FC92B712FC19E0198019E09226E0000F13F805
0113FE716C7E727F727F727F727FA2727FA28486A886A71DE074EB01F0A2841C03730180
13E0A273EBC007B700FE6E9038E00FC0739038F83F80070390B5120007005C081F5BCD00
0113F05C537BD162>82 D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC90
3A1FFC0003FED97FF8497E49485B4849491380485B485BA24890C7FC5AA248486E130070
5A705A007F92C8FC5BA312FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C
6D15006C6D5C6C6D147E6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC
023F13FC020113C032387CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803
FF80023F13F849B512FE0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149
487F484980484980484980488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA312
1F7F6C5E6C6D5C5F6C6D91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F
010790B5120F010114FC6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13
F849B512FE01076E7E011F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48
496D7E48824890C7FC701380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FC
CAFCA6127FA37F123FA2EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C
6D147ED97FFC495AD91FFFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC02
0113E033387CB63C>I<ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE0010390
38E0FFF049138049010113F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAE
B712C0A5C601F8C8FCB3B3A7B612FEA52D547CD328>I<DA1FFE14FE49B539E007FF8001
0FDAFC1F13C0013FDAFF7F13E090267FF807EBFF072701FFE001EBF07F48497E48499038
7FF83F91C7003F14C048EEFC1F489338FE070049021F90C7FCA2003F82A9001F5EA26D14
3F6C5E6C5E6E137F6C6D495A6C6D485B6CD9F80713804890B6C8FCD803EF14FC01C114E0
2707C01FFEC9FC49CBFCA2487EA37FA27F13FC90B612FE6CEDFFF017FCEFFF806C8318F0
6C836C837F48B87E1207D80FFCC700037F4848EC003F4848150F48486F138083485A83A5
6D5D007F18006D5D003F5F6C6C4B5A01FE153FD807FFED7FF06C01C049485AC601FC011F
1380013FB648C7FC010F15F8010115C0D9000F01F8C8FC3B4F7CB542>I<133FEBFFC048
7F487FA2487FA66C5BA26C5B6C5B013FC7FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612
F0A51C547CD324>105 D<D93FF0EB1FFCB591B57E030314E0030F14F892391FC07FFC92
397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0ECF78092C76C7F14FF5CA25CA45CB3
ACB6D8F807B612C0A542367CB549>110 D<913801FFC0023F13FE91B67E010315E0010F
018013F8903A3FFC001FFED97FF0EB07FF49486D7F48496D7F48496D7F91C8127F488348
8349153F001F83A2003F8349151FA2007F83A400FF1880AC007F1800A3003F5F6D153FA2
001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B6D6C4990C7FCD93FFCEB1FFE6D
B46CB45A010790B512F0010115C0D9003F49C8FC020313E039387CB642>I<90393FF001
FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00039138F07FFCC6EBF3E015
C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3ABB612FEA52E367CB536>
114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE003FD80FF0130F48481303
48481301491300127F90C8127EA248153EA27FA27F01F091C7FC13FCEBFF806C13FEECFF
F06C14FE6F7E6C15E06C816C15FC6C81C681133F010F15801301D9000F14C0EC003F0307
13E0150100F880167F6C153FA2161F7EA217C07E6D143F17807F6DEC7F0001F85C6DEB03
FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0007FF02B387CB634>I<14
7CA614FCA41301A31303A21307A2130F131F133F137F13FF1203000F90B512FEB7FCA426
007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A6DEBC1F86DEBFFF001005C
023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B50207B5FCA50003ED001FC6
1607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907C7EBFFC0903A0FFF801F87
6D90B51207010114FC6D6C13F0020701C091C7FC42377CB549>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr10 10 69
/Fe 69 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C
00001300A40001130101801380A20003130301001300485B00061306000E130E485B485B
485B006013601A197DB92A>34 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B48
5AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7E
A27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD
20>40 D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2
131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C
1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80
A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>
44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C0909798817>I<150C15
1E153EA2153C157CA2157815F8A215F01401A215E01403A215C01407A21580140FA21500
5CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A2495AA25C130FA291C7FC5B
A2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B1207A25B120FA290C8FC5A
A2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<EB03F8EB1FFF90387E0F
C09038F803E03901E000F0484813780007147C48487FA248C77EA2481580A3007EEC0FC0
A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA26C6C5B6C6C5B6C
6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>I<EB01C013031307131F
13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>I<EB0FF0EB7FFE48B57E
3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E126012FCB4EC7F807FA5
6CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A92C7FC147C5C495A495A
495A495A91C8FC011EEB01805B5B49130348481400485A485A000EC75A000FB6FC5A5A48
5CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF03903C007F848486C7E380E
0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A5A5DEC0F80027EC7FCEB
1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A2153F16E0A2121EEA7F8048
7EA416C049137F007F1580007EC7FC0070ECFF006C495A121E390F8003F83907F00FF000
01B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2157815F8A2140114031407A2140F
141F141B14331473146314C313011483EB030313071306130C131C131813301370136013
C01201EA038013005A120E120C5A123812305A12E0B712F8A3C73803F800AB4A7E0103B5
12F8A325397EB82A>I<12301238123E003FB612E0A316C05A168016000070C712060060
140E5D151800E01438485C5D5DC712014A5A92C7FC5C140E140C141C5CA25CA214F0495A
A21303A25C1307A2130FA3495AA3133FA5137FA96DC8FC131E233B7BB82A>55
D<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848137C90C77E48141E00
0E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C6C6C5AECC1E06CEBF3
C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE3907801FFF48486C13
80481303003E6D13C0003CEB007F007C143F0078EC0FE000F814075A1503A21501A36C15
C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F803F0C6B55A013F1380
D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E03903F803F048486C7E
48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616E0A56C143FA27F123F
001F147FA26C6C13FF6C6C13DF000313013901F0039F3900FC0F1FD93FFC13C0EB07F090
C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A6C48485A001C495A26
0F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<121C127FEAFF80A5EA7F0012
1CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C127FEAFF80A5EA7F0012
1CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206A2120E5A121812385A
1260093479A317>I<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC
0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A2
49C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0
707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>65
D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283A75F16
035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83
707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812C094C7
FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF807E07903A03
FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F48
48150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A312
3F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91FE0
5C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380313D
7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E707E
177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F
18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036397D
B83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A3170783
16C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E093C7
12C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839>I<
B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2ED01
80A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0B612
C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03903A03FC000787
D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F48481507A24848
1503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E9338007FE0EF3FC0A212
3F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D9
03FEEB0783903A00FFC03F0191393FFFFC00020F01F0130002001380383D7CBA41>I<B6
48B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C71201B3A6486D497EB6
48B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397EB81E>
I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A21601160316
0FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC002600DF
C0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303
A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A3913901FC01
80A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48
497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238007FE06E
EC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81
140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF
6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C153E487E
D80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC903901F8
007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E49157E000316
7F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507A300FF17
FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D157F000317
006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F8017FC7FC90
3900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE000190398001FF
806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FCA2EE07F8
17F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397DB839>I<
EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C7
6C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C049151F001F17E0A24848
ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA2003F17F0A26C6CED1F
E0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC0701C0FEEC0E002600
FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC0100D981
FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0FFFA318F08218E070
13C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190388007FE6C90C76C
7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91
B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F18
03486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>I<D90F
F813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48C7121F003E
140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8EC
FF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F
150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F
80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003F
B812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A300601730A400
E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFE
A3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D
6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF802
0713E09138007F80373B7DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8
EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C80010F5DA280
01075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A2
15E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36F
C9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780001FFEC7
EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F6E6C1406
A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C6D5BEE18
1FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203805D913B7F
818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA0FFCEC3F
F0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B7EB855>
I<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>91 D<3901800180000313033907
000700000E130E485B0018131800381338003013300070137000601360A200E013E0485B
A400CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A>I<
EAFFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB1FE0EBFFFC3803E03F390700
0F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00
EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E
18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1
913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB
F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C
EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312
3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380
3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348
6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90
39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280
A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F
4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14
076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090
381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F
803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3
ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF
F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781
9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA
127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE
0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3
E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512
F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800
0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2
EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214
7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0
18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2
D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D
5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37
257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D
6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7
E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC
3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003
EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C
5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA
7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5
12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15
0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B
4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx10 10 20
/Ff 20 119 df<913903FFC7C0027F13FF0103B6FC010F130090383FF80190387FE003EB
FFC05A14805A4A7EA281A9B8FCA4000390C7FCB3ABB5D8FC3F13FFA4303A7EB935>13
D<ED03E04B7EA24B7EA34B7EA24B7EA34B7EA292B57EA34A8015F302038015E1A2020780
15C0020F80ED807FA2021F80ED003F4A80023E131FA2027E80027C7F02FC814A7FA20101
824A7F49B77EA3498202C0C7FC010F824A147FA2011F8291C8123F4982013E151FA2017E
82017C8101FE83B500F80107B61280A4413A7DB948>65 D<B87E17F817FF18C028007FF8
000713F09338007FF8EF1FFE717E050313807113C0A27113E0F07FF0A2F03FF8A219FC18
1FA219FEA419FFAC19FEA419FC183FA219F8187F19F0F0FFE0A24D13C04D13804D1300EF
1FFEEF7FFC933807FFF0B912C095C7FC17FC178040397DB849>68
D<B912C0A43A007FF800039338007FE0171F170F1707A21703A21701A318F0EE7800A418
00A216F8A21501150791B5FCA4ECF80715011500A21678A693C8FCADB7FCA434397DB83C
>70 D<B712FCEEFFE017FC17FF28007FF8000F13C004017F707F717E717EA2717EA284A7
60A24D5A604D5A4D5A04035B041F90C8FC91B612FC17E0839139F8003FFCEE0FFF707F70
7F8284A2707FA584A51A601AF084177F1901DD3FFE13E0B600FC011F130394390FFF87C0
71EBFF8005011400CBEA1FFC443A7DB848>82 D<D907FF130E013FEBE01E90B5EAF83E00
03ECFE7E3A07FC01FFFE390FF0001F4848130F48481303491301007F140090C8FC167E5A
163EA27F161E7F7F6D91C7FC13FC387FFFE014FEECFFF06C14FE6F7E6C816C15F06C816C
81C681133F010F801301D9000F1480EC007F030F13C01503818100F0157FA3163FA27E17
807E167F6C16007E6D14FE01E0495A01F813039039FF801FF800FC90B512E0D8F83F5CD8
F00749C7FC39E0007FF02A3B7BB935>I<003FB91280A4D9F800EBF003D87FC09238007F
C049161F007EC7150FA2007C1707A200781703A400F818E0481701A4C892C7FCB3AE010F
B7FCA43B387DB742>I<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E
7FA26F7EA26C5A6C5AEA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE
00EA3FF85B485A12FF5BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F00
03EBF80F39003FE0032A257DA42E>97 D<903801FFC0010F13FC017F13FFD9FF80138026
03FE0013C048485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA2
7F123FED01E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F0
0101138023257DA42A>99 D<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD
9038FFC07F0003EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA127FA27F12
3FA26C6C5B000F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13E101031301
2F3A7DB935>I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F48
4814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA3
6C7E1678121F6C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13
FC010113E025257DA42C>I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F
260FF801131F48486C138F003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF00
1F5D6C6C4890C7FC3907FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C
7E90B512F8EDFF8016E06C15F86C816C815A001F81393FC0000F48C8138048157F5A163F
A36C157F6C16006D5C6C6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC01
0713F02B377DA530>103 D<13FFB5FCA412077EAFED7FC0913803FFF8020F13FE91381F
03FFDA3C01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FFA4303A7DB935>
I<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF127FA412077EB3A9B512
F8A4153B7DBA1B>I<13FFB5FCA412077EB3B3ACB512FCA4163A7DB91B>108
D<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C011380000713780003497E6D
4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>110
D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7E
A2003F81491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C
6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I<9038FE03
F000FFEB0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F0015
0C92C7FC91C8FCB3A2B512FEA422257EA427>114 D<130FA55BA45BA25B5BA25A120700
1FEBFFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D1380
903803FE001D357EB425>116 D<B539F001FFF8A4000390C7EA3F00161E6E133E6C153C
6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F0107
91C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257EA432>
118 D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2422 90 a Ff(DRAFT)32 b Fe(August)c(18,)f(1998)1380
372 y Ff(The)32 b(R)-8 b(TF)32 b(card)h(Driv)m(er)1367
472 y Fe(Stev)n(e)28 b(Eic)n(h)n(blatt,)f(F)-7 b(ermilab)1344
572 y(Stev)n(e)28 b(F)-7 b(urlanetto,)27 b(F)-7 b(ermilab)-120
846 y Fd(1)132 b(In)l(tro)t(duction)-120 1028 y Fe(This)25
b(do)r(cumen)n(t)h(describ)r(es)e(the)i(basic)e(functionalit)n(y)h(of)h
(the)f(R)-7 b(TF)26 b(card,)f(and)g(the)g(soft)n(w)n(are)f(to)r(ols)g
(that)i(p)r(erform)e(them.)-120 1303 y Fd(2)132 b(Design)-120
1485 y Fe(The)29 b(R)-7 b(TF)30 b(driv)n(er)e(p)r(erforms)h(in)h
(conjunction)f(with)h(the)g Fc(GPIB)42 b(protocol)p Fe(.)d(See)30
b(ref)f([1,)g(2])g(for)g(a)g(detailed)h(description.)-120
1584 y(The)23 b(basic)g(idea)g(is)g(that)g(commands)g(are)f(issued)h
(from)g(a)g(p)r(erl)g(script)g(and)g(are)f(sen)n(t)h
Fb(via)i Fe(tcp/ip)e(to)g(a)g(serv)n(er)f(whic)n(h)h(issues)-120
1684 y(the)28 b(GPIB)f(commands)g(to)h(p)r(erform)f(the)h(action)f(on)g
(the)h(card.)-120 1958 y Fd(3)132 b(Instructions)-120
2140 y Fe(The)20 b(follo)n(wing)f(sections)g(list)h(the)g(metho)r(ds)g
(that)g(apply)g(to)f(instances)h(of)f(the)i(R)-7 b(TFcard)19
b(class.)33 b(The)20 b(program)e(is)i(designed)-120 2240
y(to)27 b(use)h(the)g Fc(rack.pl)d Fe(in)n(terface)i(program.)34
b(See)28 b(ref)f(citein)n(terface)h(for)f(details)g(on)g(op)r(eration)g
(of)g(this)h(in)n(terface.)5 2339 y(This)i(soft)n(w)n(are)f(con)n
(tains)g(a)h(useful)h(p)r(ersistence)f(feature.)45 b(After)31
b(executing)f(an)n(y)g(command)g(to)g(the)h(GPIB)f(b)r(o)n(x,)h(it)-120
2439 y(will)h(record)d(the)j(card)e(status)i(in)f(a)g(\014le)g(called)g
Fc(/tmp/hostname-RTF)o(ca)o(rd-)o(su)o(bra)o(ck)o(-mo)o(du)o(le)o(.ou)o
(t)p Fe(,)26 b(where)31 b Fc(subrack)-120 2539 y Fe(is)26
b(the)h(subrac)n(k)e(of)i(the)f(card)g(and)g Fc(module)e
Fe(is)j(the)g(mo)r(dule)f(n)n(um)n(b)r(er)h(of)f(the)h(card.)35
b(If)27 b(the)g Fc(-s)f Fe(switc)n(h)g(is)h(used,)f Fc(hostname)-120
2638 y Fe(b)r(ecomes)c Fc(script)p Fe(.)32 b(When)22
b Fc(rack.pl)e Fe(is)h(run)h(again,)g(it)g(will)g(automatically)f
(searc)n(h)f(for)i(this)g(\014le)g(and)f(reload)g(those)g(v)-5
b(alues)-120 2738 y(in)n(to)25 b(memory)-7 b(.)35 b(This)25
b(feature)g(is)f(designed)h(to)g(ensure)f(that)h(the)h(hardw)n(are)c
(and)j(soft)n(w)n(are)e(remain)i(sync)n(hronized.)34
b(If)26 b(the)-120 2838 y(rac)n(k)g(is)i(p)r(o)n(w)n(ered)e(do)n(wn,)h
(b)r(e)h(sure)f(to)h(re-initialize)e(the)i(settings)g(when)f(the)h
(program)e(is)h(run)h(again.)-120 3070 y Fa(3.1)112 b(General)38
b(Information)-106 3223 y Fe(help)k(\()p Ff(v)m(oid)p
Fe(\))88 3323 y(Prin)n(ts)26 b(a)h(subset)h(of)g(the)f(commands)g(that)
h(can)g(b)r(e)g(issued)f(to)g(the)h(R)-7 b(TFcard.)-132
3489 y(prin)n(t)42 b(\()p Ff(v)m(oid)p Fe(\))88 3588
y(Prin)n(ts)25 b(Information)h(ab)r(out)h(the)g(GPIB)f(b)r(o)n(x)h(and)
f(the)h(card)f(including)h(mo)r(dule)g(n)n(um)n(b)r(er)g(and)f(the)i
(status)e(bits)h(of)88 3688 y(the)h(Con)n(trol)e(Registers.)-247
3854 y(cardinfo)41 b(\()p Ff(v)m(oid)p Fe(\))88 3954
y(Reads)27 b(bac)n(k)f(the)i(t)n(yp)r(e)g(of)g(card,)e(serial)h(n)n(um)
n(b)r(er)g(of)h(the)g(card,)f(and)g(the)h(v)n(ersion)e(n)n(um)n(b)r(er)
h(of)h(the)g(card.)-270 4120 y(cardt)n(yp)r(e)41 b(\()p
Ff(v)m(oid)p Fe(\))88 4219 y(Prin)n(ts)26 b(card)h(t)n(yp)r(e)h(that)g
(computer)f(b)r(eliev)n(es)g(card)g(to)g(b)r(e.)-321
4385 y(sa)n(v)n(eScript)40 b(\()p Ff(String)27 b Fc(filename)p
Fe(,)e Ff(in)m(t)i Fc(overwrite)p Fe(\))88 4485 y(Sa)n(v)n(es)38
b(all)i(subsequen)n(t)f(GPIB)h(commands)f(to)h Fc(filename)p
Fe(.)70 b(Commands)40 b(are)f(sa)n(v)n(ed)f(in)i(format)g(readable)e(b)
n(y)88 4585 y(LABView)30 b(in)n(terface)f(and)h(P)n(erl)f(script)h
(reading)f(routine.)44 b(The)30 b Fc(overwrite)c Fe(\014eld)31
b(is)f(optional)f(\(if)i(omitted,)g(and)88 4684 y(relev)-5
b(an)n(t,)27 b(user)g(will)h(b)r(e)h(prompted)e(for)h(it\).)38
b(The)28 b(p)r(ossible)g(c)n(hoices)e(are:)37 b Fc(1)27
b Fe(to)h(app)r(end)g(to)g(existing)g Fc(filename)p Fe(,)c
Fc(2)88 4784 y Fe(to)j(o)n(v)n(erwrite)f Fc(filename)p
Fe(,)e(or)j Fc(3)g Fe(to)g(cancel)g(if)i Fc(filename)24
b Fe(exists.)-300 4950 y(endScript)42 b(\()p Ff(v)m(oid)p
Fe(\))88 5050 y(Ceases)26 b(sa)n(ving)g(commands)h(to)h(a)f(\014le.)
1809 5356 y(1)p eop
%%Page: 2 2
2 1 bop -326 90 a Fe(enableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))88 190 y(Enables)26 b(comm)n(unication)h(with)h(GPIB)f(b)r(o)n
(x.)37 b(Note)27 b(that)h(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g
(b)r(o)n(x.)-345 356 y(disableBo)n(x)40 b(\()p Ff(v)m(oid)p
Fe(\))88 456 y(Disables)27 b(comm)n(unication)g(with)h(GPIB)f(b)r(o)n
(x.)36 b(Note)28 b(that)g(this)g(only)f(w)n(orks)f(for)h(curren)n(t)g
(b)r(o)n(x.)-362 622 y(accum)n(ulate)41 b(\()p Ff(v)m(oid)p
Fe(\))88 721 y(Creates)28 b(a)h(queue)g(of)g(commands)g(for)f(the)i
(GPIB)f(b)r(o)n(x.)41 b(Will)30 b(not)f(execute)h(them)f(un)n(til)h
(\\execute")e(command)h(is)88 821 y(giv)n(en;)d(then)j(it)f(will)f(do)h
(them)g(all)f(at)h(once.)-454 987 y(unaccum)n(ulate)41
b(\()p Ff(v)m(oid)p Fe(\))88 1086 y(T)-7 b(urns)27 b(o\013)g(accum)n
(ulation)g(feature.)37 b(Note)27 b(that)h(the)g(remaining)f(items)h(in)
g(the)f(queue)h(are)f(NOT)g(executed.)-224 1253 y(execute)42
b(\()p Ff(v)m(oid)p Fe(\))88 1352 y(Executes)26 b(all)i(commands)f(in)h
(the)g(GPIB)f(b)r(o)n(x)g(queue.)-277 1518 y(p)r(o)n(w)n(erUp)41
b(\()p Ff(v)m(oid)p Fe(\))88 1618 y(Resets)24 b(con)n(trol)g(registers)
f(and)i(D)n(A)n(Cs)g(to)g(the)g(v)-5 b(alues)25 b(that)g(are)f(b)r
(eliev)n(ed)h(b)n(y)f(the)i(soft)n(w)n(are)d(to)i(b)r(e)g(true.)36
b(Designed)88 1717 y(for)27 b(use)g(when)h(p)r(o)n(w)n(er)e(is)i(sh)n
(ut)f(o\013)h(to)f(b)r(oard)g(without)h(reloading)e(program.)-165
1883 y(toFile)42 b(\()p Ff(String)27 b Fc(filename)p
Fe(\))88 1983 y(Sa)n(v)n(es)f(curren)n(t)g(card)h(settings)h(to)f
(\014le)h Fc(filename)p Fe(.)-260 2149 y(fromFile)42
b(\()p Ff(String)27 b Fc(filename)p Fe(\))88 2249 y(Reads)g(card)f
(settings)i(from)f Fc(filename)d Fe(and)k(sets)f(registers)f(and)h(D)n
(A)n(Cs)h(to)f(those)h(settings.)-78 2415 y(init)42 b(\()p
Ff(v)m(oid)p Fe(\))88 2514 y(Resets)26 b(registers)e(and)i(D)n(A)n(Cs)g
(to)h(initial)f(v)-5 b(alues)26 b(\(D)n(A)n(Cs)g(set)h(at)f(zero,)f
(\014lters)h(selected)h(to)f(b)r(e)g(0,)h(and)f(all)g(c)n(hannels)88
2614 y(disabled\).)-120 2846 y Fa(3.2)150 b(Setting)36
b(up)i(the)f(D)m(A)m(C's)-277 3000 y Fe(PHiD)n(A)n(C)42
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 3099 y(Sets)f(the)h
(Phonon)f(high)g(lev)n(el)g(trigger)f(D)n(A)n(C)i(to)g
Fc(Voltage)c Fe(V)-7 b(olts.)-285 3265 y(PLoD)n(A)n(C)41
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 3365 y(Sets)f(the)h
(Phonon)f(lo)n(w)g(lev)n(el)g(trigger)f(D)n(A)n(C)i(to)f
Fc(Voltage)e Fe(V)-7 b(olts.)-285 3531 y(QHiD)n(A)n(C)42
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 3631 y(Sets)f(the)h
(Charge)e(high)i(lev)n(el)f(trigger)f(D)n(A)n(C)i(to)f
Fc(Voltage)e Fe(V)-7 b(olts.)-293 3797 y(QLoD)n(A)n(C)41
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 3896 y(Sets)f(the)h
(Charge)e(lo)n(w)h(lev)n(el)g(trigger)f(D)n(A)n(C)i(to)g
Fc(Voltage)c Fe(V)-7 b(olts.)-350 4062 y(PHiThresh)41
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 4162 y(Sets)f(the)h
(Phonon)f(high)g(lev)n(el)g(trigger)f(threshold)h(to)h
Fc(Voltage)d Fe(V)-7 b(olts.)-358 4328 y(PLoThresh)40
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 4428 y(Sets)f(the)h
(Phonon)f(lo)n(w)g(lev)n(el)g(trigger)f(threshold)h(to)g
Fc(Voltage)e Fe(V)-7 b(olts.)-358 4594 y(QHiThresh)41
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 4693 y(Sets)f(the)h
(Charge)e(high)i(lev)n(el)f(trigger)f(threshold)h(to)h
Fc(Voltage)c Fe(V)-7 b(olts.)-366 4859 y(QLoThresh)40
b(\()p Ff(\015oat)28 b Fc(Voltage)p Fe(\))88 4959 y(Sets)f(the)h
(Charge)e(lo)n(w)h(lev)n(el)g(trigger)f(threshold)i(to)f
Fc(Voltage)e Fe(V)-7 b(olts.)1809 5356 y(2)p eop
%%Page: 3 3
3 2 bop -120 90 a Fa(3.3)112 b(Setting)37 b(up)h(the)f(Con)m(trol)f
(Registers)-204 243 y Fe(Enable)41 b(\()p Ff(String)27
b Fc(channel)p Fe(\))88 343 y(Enable)k Ff(c)m(hannel)p
Fe(.)50 b(Channels)31 b(are)g(\\P1",)g(\\P2",)g(\\P3",)g(\\P4",)f
(\\Qi",\\Qo".)47 b(If)32 b Fc(channel)d Fe(is)i(omitted,)j(enables)88
443 y(all)27 b(c)n(hannels.)-261 609 y(EnableP)41 b(\()p
Ff(v)m(oid)p Fe(\))88 708 y(Enables)26 b(c)n(hannels)h(\\P1",)f(\\P2",)
g(\\P3",)f(\\P4".)-269 874 y(EnableQ)41 b(\()p Ff(v)m(oid)p
Fe(\))88 974 y(Enables)26 b(c)n(hannels)h(\\Qi",\\Qo".)-221
1140 y(Disable)42 b(\()p Ff(String)27 b Fc(channel)p
Fe(\))88 1240 y(Disable)g Ff(c)m(hannel)p Fe(.)38 b(Channels)27
b(are)f(same)h(as)g(for)g(Enable.)37 b(If)88 1339 y(tt)28
b(c)n(hannel)f(is)g(omitted,)h(disables)f(all)h(c)n(hannels.)-277
1505 y(DisableP)41 b(\()p Ff(v)m(oid)p Fe(\))88 1605
y(Disables)27 b(c)n(hannels)g(\\P1",)e(\\P2",)h(\\P3",)g(\\P4".)-285
1771 y(DisableQ)41 b(\()p Ff(v)m(oid)p Fe(\))88 1871
y(Disables)27 b(c)n(hannels)g(\\Qi",\\Qo".)-258 2037
y(setFilter)42 b(\()p Ff(String)27 b Fc(channel)p Fe(,)p
Ff(in)m(t)e Fc(number)p Fe(\))88 2136 y(Set)j(the)g(Filter)f(on)h
Fc(channel)c Fe(to)k Fc(number)p Fe(.)88 2236 y(\014lters)f(are)88
2336 y(0:)36 b(No)27 b(input)i(\014lter)88 2435 y(1:)36
b(1)27 b(kHz)h(notc)n(h)f(\014lter)88 2535 y(2:)36 b(Times)28
b(10)88 2634 y(3:)36 b(Bessel)27 b(Lo)n(w-P)n(ass)d(\014lter)88
2734 y(If)k Fc(channel)c Fe(is)k(omitted,)g(sets)f(all)h(c)n(hannels)e
(to)i(appropriate)e(\014lter.)-120 3009 y Fd(References)-78
3190 y Fe([1])41 b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Sae)g(W)-7
b(o)r(o)28 b(Nam)f(CDMS)i(note)e(9712002.)d Fb(The)31
b(CDMS)f(Net)f(Pr)l(oto)l(c)l(ol)-78 3357 y Fe([2])41
b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7 b(urlanetto)28
b Fb(The)i(BLIP)h(Car)l(d)g(Driver)-78 3523 y Fe([3])41
b(Stev)n(e)27 b(Eic)n(h)n(blatt,)g(Stev)n(e)g(F)-7 b(urlanetto)28
b Fb(Gener)l(al)i(Information)h(on)f(the)g(Perl-b)l(ase)l(d)g(Ele)l
(ctr)l(onics)h(Interfac)l(e)1809 5356 y Fe(3)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
End of RTFdriver.ps
echo SQUIDManual.ps 1>&2 
cat >SQUIDManual.ps << 'End of SQUIDManual.ps'
%!PS-Adobe-3.0
%%Title: Microsoft Word - Stanford SQU…
%%Creator: Windows NT 4.0
%%CreationDate: 15:8 6/12/1997
%%Pages: (atend)
%%BoundingBox: 11 11 598 780
%%LanguageLevel: 2
%%DocumentNeededFonts: (atend)
%%DocumentSuppliedFonts: (atend)
%%EndComments
%%BeginProlog

%%BeginResource: procset NTPSOct95
/NTPSOct95 100 dict dup begin/bd{bind def}bind def/ld{load def}bd/ed{exch def}
bd/a{currentpoint}bd/c/curveto ld/d/dup ld/e/eofill ld/f/fill ld/tr/translate
ld/gr/grestore ld/gs/gsave ld/j/setlinejoin ld/L/lineto ld/M/moveto ld/n
/newpath ld/cp/closepath ld/rm/rmoveto ld/sl/setlinewidth ld/sd/setdash ld/g
/setgray ld/r/setrgbcolor ld/s/stroke ld/t/show ld/aw/awidthshow ld/im
/imagemask ld/MS{moveto show}bd/SF{findfont exch scalefont setfont}bd/SM{cmtx
setmatrix}bd/MF{findfont exch makefont setfont}bd/CM{/cmtx matrix currentmatrix
def}bd/B{M exch dup 0 rlt exch 0 exch rlt neg 0 rlt}bd/CB{B cp eoclip}bd/EA{1
index 0/G0 put 4 string 1 1 4 -1 roll{3 copy neg exch cvs dup 0 71 put cvn 3 -1
roll exch put}for pop}bd/rlt/rlineto ld/L2?/languagelevel where{pop
languagelevel 2 ge}{false}ifelse def end def 
%%EndResource
%%EndProlog
%%BeginSetup
[{0
/languagelevel where{pop languagelevel 2 ge}{false}ifelse
{1 dict dup/JobTimeout 4 -1 roll put setuserparams}
{statusdict/setjobtimeout get exec}ifelse
}stopped cleartomark
[{240
/languagelevel where{pop languagelevel 2 ge}{false}ifelse
{1 dict dup/WaitTimeout 4 -1 roll put setuserparams}
{statusdict/waittimeout 3 -1 roll put}ifelse
}stopped cleartomark
/#copies 1 def
[{
%%BeginFeature: *Resolution 600dpi
statusdict begin 600 setresolution end
%%EndFeature
} stopped cleartomark
[{
%%BeginFeature: *InputSlot 2
statusdict begin 2 setpapertray end
%%EndFeature
} stopped cleartomark
[{
%%BeginFeature: *PageRegion Letter
letter
%%EndFeature
} stopped cleartomark
%%EndSetup
NTPSOct95 begin
%%Page: 1 1
NTPSOct95 /PageSV save put
11 780 translate 72 600 div dup neg scale
0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate
%%IncludeFont: Times-Roman
[83 0 0 -83 0 0]/Times-Roman MF
(SQUID Module: Users Manual:  )659 312 MS
%%IncludeFont: Times-Bold
[117 0 0 -117 0 0]/Times-Bold MF
( DRAFT Version)1765 312 MS
[83 0 0 -83 0 0]/Times-Roman MF
( Originated 06/11/97)659 416 MS
(Merle Haldeman )2179 416 MS
(Revised 06/11/97)3673 416 MS
(Page )2346 6180 MS
(1)2529 6180 MS
(This file is located on the Lab PC, at )659 578 MS
(D:\\users\\default\\Stanford )1898 578 MS
(SQUID.doc)2754 578 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Supplied Voltages)659 775 MS
(Power Control Circuitry)659 969 MS
[83 0 0 -83 0 0]/Times-Roman MF
(This module utilizes the following voltages available at the )659 1162 MS
(backplane:)2641 1162 MS
(+15, -15, FE+15, FE-15 and +5D.)659 1358 MS
(When the SQUID Module is plugged in, the circuitry voltages remain off for a period of approximately 1.5)659 1554 MS
(seconds, after which all of the 15 volt supplies are connected to the circuitry. Approximately 300)659 1652 MS
(milliseconds after application of the 15 volts, the 5D voltage is applied.)659 1750 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Board generated voltages.)659 1947 MS
[83 0 0 -83 0 0]/Times-Roman MF
/IsChar{exch/CharStrings get exch known}bd/MapCh{3 -1 roll/Encoding get 3 1
roll put}bd/MapDegree{dup 16#b0 exch/degree IsChar{/degree}{/ring}ifelse MapCh}
bd/MapBB{dup 16#a6 exch/brokenbar IsChar{/brokenbar}{/bar}ifelse MapCh}bd
/reencode{findfont begin currentdict dup length dict begin{1 index/FID ne{def}
{pop pop}ifelse}forall/FontName exch def dup length 0 ne{/Encoding Encoding 256
array copy def 0 exch{dup type/nametype eq{Encoding 2 index 2 index put pop 1
add}{exch pop}ifelse}forall}if pop currentdict dup end end/FontName get exch
definefont dup MapDegree MapBB}bd/LATENC[0/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/ring/cedilla/hungarumlaut/ogonek/caron/dotlessi/fi/fl
/Lslash/lslash/Zcaron/zcaron/minus/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl
/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk
/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight
/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M
/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum
/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft
/bar/braceright/asciitilde/.notdef/.notdef/.notdef/quotesinglbase/florin
/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron
/guilsinglleft/OE/.notdef/.notdef/.notdef/.notdef/quoteleft/quoteright
/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe/.notdef/.notdef/Ydieresis/.notdef/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft
/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute
/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex
/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
LATENC /_Times-Roman /Times-Roman reencode
[83 0 0 -83 0 0]/_Times-Roman MF
(The 4 voltages listed below are generated on board. The \223Q\224 voltages are generated from the \223FE\224 voltages)659 2140 MS
(using three terminal regulators, and are used for operating the several \223Current feedback amplifiers\224 utilized)659 2238 MS
(in the signal path from input to output. The \223QD\224 voltages ,generated from the +15 and -15 voltages, are)659 2336 MS
(used primarily for digital circuitry requiring \223Quiet\224 supply voltages.)659 2434 MS
(+5Q, -5Q, +5QD and -5QD.)659 2728 MS
(Additionally, 4 very precise, and stable, voltages are generated for powering the 4 channel DAC.  These)659 2924 MS
(voltages consist of the +10 and -10 for powering the DAC, and the +5 and -5 volts for the high and low)659 3022 MS
(references.)659 3120 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Digital Interface)659 3511 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(In order to appear as a single gate load to the crate )659 3705 MS
(backplane, all of the lines are buffered. The data lines)2358 3705 MS
(are buffered by IC34, whereas the address, read and write lines are buffered by IC29. IC29 is operated in a)659 3803 MS
(unidirectional mode; always passing the )659 3901 MS
(backplane signals to this  module. The data lines \( IC34\), on the)2008 3901 MS
(other hand, have the direction controlled by the write line, but only if this particular module is being)659 3999 MS
(addressed The address this module responds to is determined by the address set up by switch  SW4, and)659 4097 MS
(IC35.)659 4195 MS
(Digital to Analog Converter \(DAC\). This quad device allows the user to set the output voltage anywhere in)659 4587 MS
(the range of  plus or minus five volts. A system reset sets the 4 outputs to zero volts. The 4 outputs control)659 4685 MS
(the following devices.)659 4783 MS
showpage
%%Page: 2 2
11 780 translate 72 600 div dup neg scale
0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate
[83 0 0 -83 0 0]/Times-Roman MF
(SQUID Module: Users Manual:  )659 312 MS
[117 0 0 -117 0 0]/Times-Bold MF
( DRAFT Version)1765 312 MS
[83 0 0 -83 0 0]/Times-Roman MF
( Originated 06/11/97)659 416 MS
(Merle Haldeman )2179 416 MS
(Revised 06/11/97)3673 416 MS
(Page )2346 6180 MS
(2)2529 6180 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Addressing)659 775 MS
(Module Address + 0; DAC0;)959 969 MS
[83 0 0 -83 0 0]/Times-Roman MF
(  )1974 969 MS
(Reads or writes the SQUID Bias voltage.)2159 969 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 1;)959 1165 MS
[83 0 0 -83 0 0]/Times-Roman MF
( )1703 1165 MS
[83 0 0 -83 0 0]/Times-Bold MF
(DAC1;)1724 1165 MS
[83 0 0 -83 0 0]/Times-Roman MF
(  )1974 1165 MS
(Reads or writes the second stage gain. The range varies  from)2159 1165 MS
(approximately 0.5 to 5)2159 1264 MS
[83 0 0 -83 0 0]/Times-Bold MF
(.)2912 1264 MS
(Module Address + 2)959 1460 MS
[83 0 0 -83 0 0]/Times-Roman MF
(;)1675 1460 MS
[83 0 0 -83 0 0]/Times-Bold MF
( DAC2;  )1698 1460 MS
[83 0 0 -83 0 0]/Times-Roman MF
(Reads or writes an offset voltage into the last stage of)2159 1460 MS
(amplification, before leaving the SQUID Module, for the)2159 1558 MS
(Driver Module and subsequently, the Data Acquisition)2159 1656 MS
(System.)2159 1754 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 3)959 1950 MS
[83 0 0 -83 0 0]/Times-Roman MF
(; )1675 1950 MS
[83 0 0 -83 0 0]/Times-Bold MF
(DAC3 ;)1719 1950 MS
[83 0 0 -83 0 0]/Times-Roman MF
(Reads or writes an offset voltage at the input of the first stage)2159 1950 MS
(of amplification, for an adjustment of  + or - 50 )2159 2048 MS
(millivolts.)3756 2048 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 4)959 2343 MS
[83 0 0 -83 0 0]/Times-Roman MF
(; )1675 2343 MS
[83 0 0 -83 0 0]/Times-Bold MF
(CSR0;)1719 2343 MS
[83 0 0 -83 0 0]/Times-Roman MF
(Reads or writes the Control and status register Zero \(CSR0\))2159 2343 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 5)959 2540 MS
[83 0 0 -83 0 0]/Times-Roman MF
(A write to this address, arms the )2159 2540 MS
(zapper circuitry.)3250 2540 MS
(A read to this address, causes an inverted SQUID)2159 2736 MS
(Module output signal.)2159 2834 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 6)959 3031 MS
[83 0 0 -83 0 0]/Times-Roman MF
( )1675 3031 MS
(A write to this address, )2159 3031 MS
(disarmes the  )2947 3031 MS
(zapper circuitry.)3405 3031 MS
(A read to this address, produces  an )2159 3227 MS
(noninverted, SQUID)3364 3227 MS
(Module output signal.)2159 3325 MS
(.)959 3521 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Module Address + 7)959 3620 MS
[83 0 0 -83 0 0]/Times-Roman MF
( )1675 3620 MS
(A write to this address causes a module reset.)2159 3620 MS
showpage
%%Page: 3 3
11 780 translate 72 600 div dup neg scale
0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate
[83 0 0 -83 0 0]/Times-Roman MF
(SQUID Module: Users Manual:  )659 312 MS
[117 0 0 -117 0 0]/Times-Bold MF
( DRAFT Version)1765 312 MS
[83 0 0 -83 0 0]/Times-Roman MF
( Originated 06/11/97)659 416 MS
(Merle Haldeman )2179 416 MS
(Revised 06/11/97)3673 416 MS
(Page )2346 6180 MS
(3)2529 6180 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Control and Status Register \(CSR0\), Bit assignments)659 677 MS
[83 0 0 -83 0 0]/Times-Roman MF
(The address of CSR0 is 4. The Control and Status Register consists of IC41. It is a 16 bit register with  8)659 871 MS
/IsChar{exch/CharStrings get exch known}bd/MapCh{3 -1 roll/Encoding get 3 1
roll put}bd/MapDegree{dup 16#b0 exch/degree IsChar{/degree}{/ring}ifelse MapCh}
bd/MapBB{dup 16#a6 exch/brokenbar IsChar{/brokenbar}{/bar}ifelse MapCh}bd
/reencode{findfont begin currentdict dup length dict begin{1 index/FID ne{def}
{pop pop}ifelse}forall/FontName exch def dup length 0 ne{/Encoding Encoding 256
array copy def 0 exch{dup type/nametype eq{Encoding 2 index 2 index put pop 1
add}{exch pop}ifelse}forall}if pop currentdict dup end end/FontName get exch
definefont dup MapDegree MapBB}bd/LATENC[0/grave/acute/circumflex/tilde/macron
/breve/dotaccent/dieresis/ring/cedilla/hungarumlaut/ogonek/caron/dotlessi/fi/fl
/Lslash/lslash/Zcaron/zcaron/minus/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl
/numbersign/dollar/percent/ampersand/quotesingle/parenleft/parenright/asterisk
/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight
/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M
/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum
/underscore/grave/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft
/bar/braceright/asciitilde/.notdef/.notdef/.notdef/quotesinglbase/florin
/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron
/guilsinglleft/OE/.notdef/.notdef/.notdef/.notdef/quoteleft/quoteright
/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron
/guilsinglright/oe/.notdef/.notdef/Ydieresis/.notdef/exclamdown/cent/sterling
/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft
/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute
/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex
/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute
/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex
/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute
/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis
/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
LATENC /_Times-Roman /Times-Roman reencode
[83 0 0 -83 0 0]/_Times-Roman MF
(LSB\222s  that can be both, read from and written to, and have the following control functions.)659 969 MS
(Bit 0)1559 1165 MS
(calibrate/measure)1859 1165 MS
(Bit 1)1559 1263 MS
(zap_mode)1859 1263 MS
(Bit 2)1559 1361 MS
(Zap Voltage = 2 volts)1859 1361 MS
(Bit 3)1559 1459 MS
(Zap Voltage = 4 volts)1859 1459 MS
(Bit 4)1559 1557 MS
(Zap pulse width = 100 )1859 1557 MS
(millisec.)2628 1557 MS
(Bit 5)1559 1655 MS
(Zap pulse width = 200 )1859 1655 MS
(millisec.)2628 1655 MS
(Bit 6)1559 1753 MS
(Zap pulse width = 400 )1859 1753 MS
(millisec.)2628 1753 MS
(Bit 7)1559 1851 MS
(Zap pulse width = 800 )1859 1851 MS
(millisec.)2628 1851 MS
(Bit 8)1559 2047 MS
(Zapper Armed)1859 2047 MS
(Bit 9)1559 2145 MS
(CSR0-9)1859 2145 MS
(Bit 10)1559 2243 MS
(CSR0-10)1859 2243 MS
(Bit 11)1559 2341 MS
(CSR0-11)1859 2341 MS
(Bit 12)1559 2439 MS
(CSR0-12)1859 2439 MS
(Bit 13)1559 2537 MS
(CSR0-13)1859 2537 MS
(Bit 14)1559 2635 MS
(CSR0-14)1859 2635 MS
(Bit 15)1559 2733 MS
(CSR0-15)1859 2733 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 0)659 3028 MS
(calibrate/measure,)959 3028 MS
[83 0 0 -83 0 0]/_Times-Roman MF
( puts the SQUID Module, either in the \223Calibrate\224 mode , or the \223Measure\224)1616 3028 MS
(mode. In the Calibrate mode\(Bit 0 = 1\), the integrator, \(IC7, Q2 and Q3\) has it\222s input opened and the)659 3126 MS
(integrator is placed in the reset mode\(Q3 \223on\224\) and IC\222s 5 and 9 are enabled. In the Measure mode\(Bit 0 =)659 3224 MS
(0\), the integrator, \(IC7, Q2 and Q3\) has it\222s input connected, and the integrator is placed in the integrate)659 3322 MS
(mode\(Q3 \223off\224\), and IC\222s 5 and 9 are disabled.)659 3420 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 1)659 3617 MS
(zap_mode,)959 3617 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(  puts the SQUID Module either in the \223Synchronous \224 or  \223 Asynchronous\224 zapping)1339 3617 MS
(mode.)659 3715 MS
(In the  asynchronous mode\(CSR0, Bit 1 is low\), writing to address 5  will zap the circuit.)659 3911 MS
(In the  synchronous mode\(CSR0, Bit 1 is high\), writing to address 5  will arm the )659 4107 MS
(zaping  circuitry, causing)3378 4107 MS
(the circuit to get zapped by a subsequent \223TRIG\224 signal, received from the )659 4205 MS
(backplane. After a Synchronous)3164 4205 MS
(zap, the zapping circuit is automatically disarmed.)659 4303 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bits 2 & 3)659 4500 MS
(zap_voltage,)1259 4500 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(  These two bits set the zap voltage for  0, 1.25, 2.5, or 3.75 Volts. Bit 2 is)1703 4500 MS
(the LSB.)659 4598 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bits 4, 5, 6, & 7)659 4795 MS
(zap_width,)1259 4795 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(  These four bits allow the zap duration to be set for 16 different widths in 100)1651 4795 MS
(millisecond increments; bit 4 is the LSB.)659 4893 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bit 8)659 5090 MS
(Zapper armed, )959 5090 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(this bit is read back only,   bit giving the status of the )1512 5090 MS
(armming circuitry.)3293 5090 MS
[83 0 0 -83 0 0]/Times-Bold MF
(Bits 9 through 15 )659 5287 MS
[83 0 0 -83 0 0]/_Times-Roman MF
(inclusive, are unused.)1295 5287 MS
showpage
PageSV restore
%%Trailer
%%DocumentNeededFonts:
%%+ Times-Bold
%%+ Times-Roman
%%DocumentSuppliedFonts:
end
%%Pages: 3
%%EOF
End of SQUIDManual.ps
echo SlowControl.ps 1>&2 
cat >SlowControl.ps << 'End of SlowControl.ps'
%!PS-Adobe-2.0
%%Creator: dvipsk 5.66a Copyright 1986-97 Radical Eye Software (www.radicaleye.com)
%%Title: SlowControl.dvi
%%Pages: 5
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSCommandLine: dvips -o SlowControl.ps SlowControl.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 1998.07.23:1822
%%BeginProcSet: texc.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{dup length product length le{dup length product
exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}
imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false
RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round
exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto
rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup
/delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{
-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B
/w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}
B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B
/bos{/SS save N}B /eos{SS restore}B end

%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
true def end /@MacSetUp{userdict /md known{userdict /md get type
/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
clippath mark{transform{itransform moveto}}{transform{itransform lineto}
}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
maxlength dict begin /magscale true def normalscale currentpoint TR
/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
begin /SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end

%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (SlowControl.dvi)
@start
%DVIPSBitmapFont: Fa cmtt10 10 56
/Fa 56 127 df<003C131E007F137F481480A66C1400A6007E7FA6003E133EA3003C131E
001C131C191977B32C>34 D<010F133C90381F807EA8013F13FE4A5AA4007FB612F0B712
F8A4003F15F03A007E01F800A5EBFE0301FC5BA6003FB612F0B712F8A46C15F03A01F807
E000A30003130F01F05BA86C486C5A25337DB22C>I<EB01C0497EA6EB0FFC90387FFF80
48B512E00007804880391FFBEFFC393FC3E1FE903803E07F007E80127C00FC158012F815
7FA300FCEC3F00A2007E91C7FC127FEA3FC313FBEA1FFF6C13FC6C13FF000114C06C6C7F
011F13F801037F14E7ECE1FEECE07F81001880007E1580150F12FFA312FE151F1600007E
5C007F143ED83F8313FE9038C3E1FC391FFBEFF86CB55A6C5C6C5CC691C7FCEB1FF8EB03
E0A66D5A21417BB92C>I<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE
485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA2
7F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC1301
13001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137F7F
1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114F8A3130314F0
A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3FC0485A48C7FC
5A5A1270164279B92C>I<EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013
F8A21201EA03F01207EA1FE0EA7FC0EAFF80130012FC12700E17718A2C>44
D<007FB6FCB71280A46C150021067B9B2C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F
80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D14015D14035DA2
14075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C130F5C131F5C
A2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F90C9FC5A127E
12FE5AA25A127821417BB92C>I<EB03F8EB0FFE90383FFF80497F90B57E3901FE0FF039
03F803F848486C7EEBE0004848137EA248487FA248C7EA1F80A2003E140F007E15C0A300
7C140700FC15E0AC6C140F007E15C0A46CEC1F80A36C6CEB3F00A26C6C137E6D13FE0007
5CEBF0016C6C485A3901FE0FF06CB55A6D5B6D5BD90FFEC7FCEB03F823357CB32C>I<EC
07F04A7E141F143FA2147EA214FCEB01F8A2EB03F0EB07E0A2EB0FC0EB1F80A2EB3F0013
7EA25B485AA2485A5B1207485AA2485A48C7FCA2127E5AB712FC16FEA36C15FCC8EAF800
AA91387FFFF091B512F8A36E13F027347EB32C>52 D<121FEA3F80EA7FC0EAFFE0A5EA7F
C0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C
>58 D<EA0F80EA1FC0EA3FE0EA7FF0A5EA3FE0EA1FC0EA0F80C7FCAEEA0F80EA1FC0EA3F
E0127F13F0A4123F121F120F1201120313E01207EA0FC0A2EA3F80EA7F005A5A12F81270
0C3071A32C>I<007FB612F0B712F8A4003F15F0CAFCA8003FB612F0B712F8A46C15F025
147DA22C>61 D<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF80C67FEB7FF0EB1FF8EB
0FFEEB03FF6D13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A25C02071300EC0FFCEC3F
F8EC7FE049485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035BD80FFEC8FC485AEA7FF0
485A138048C9FC5A1270212A7BAD2C>I<14FE497EA4497FA214EFA2130781A214C7A201
0F7FA314C390381F83F0A590383F01F8A490387E00FCA549137E90B512FEA34880A29038
F8003FA34848EB1F80A4000715C049130FD87FFEEBFFFC6D5AB514FE6C15FC497E27347E
B32C>65 D<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503A2ED01F8
A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0ED07F0ED
03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E016C0B712
806CECFE0015F027337FB22C>I<02FF13700107EBE0F84913F9013F13FD4913FFEBFF81
3901FE007F4848131FD807F0130F1507485A491303485A150148C7FCA25A007EEC00F016
00A212FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F06C6C130716E0D8
03FC131F6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F00100138025357DB32C
>I<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1FC0ED0FE0A21507
16F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED1FC0153FED7F80
EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB612F0B712F8A37E
3903F00001A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167E
A8007FB612FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37ED803F0C7FCA716
781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC805C7E26337EB2
2C>I<903901FC038090390FFF87C04913EF017F13FF90B6FC4813073803FC01497E4848
137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA212FE5AA8913803
FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F120F6D137F6C7E6C
6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC26357DB32C>I<
007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B612FCA36C14F81E3379B2
2C>73 D<D87FE0EB0FFC486CEB1FFEA26D133F007F15FC000F15E001BC137BA4019E13F3
A3EB9F01A2018F13E3A21483A2018713C314C7A201831383A214EFA201811303A214FFEB
80FEA3147C14381400ACD87FF0EB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>77
D<EB7FFF0003B512E0000F14F848804880EBE003EB800048C7127FA2007E80A300FE1580
48141FB3A86C143FA2007E1500A3007F5CA26C6C13FEEBF00790B5FC6C5C6C5C000314E0
C66C90C7FC21357BB32C>79 D<007FB512C0B612F88115FF6C15802603F00013C0153FED
0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC
5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>I<D87FF0EB07FF486C491380A3
6C486D1300001FC8127CA46C6C5CA76C6C495AA4143E147FA33A03E0FF83E0A214F7A201
E113C3A3000101E35BA201F113C701F313E7A314C1A200005DA201F713F71480A301FF13
FF017F91C7FC4A7EA4013E133E29347FB22C>87 D<003FB612C04815E0A4007EC7EA1FC0
ED3F80A2ED7F00157E15FE4A5A003C5CC712034A5AA24A5A4A5AA24A5A4AC7FCA214FE49
5AA2495A495AA2495A495AA2495A49C8FCA213FE485AA24848EB03C049EB07E01207485A
5B121F485AA248C7FCB7FCA46C15C023337CB22C>90 D<3801FFF0000713FE001F6D7E15
E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC120312
0F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C
15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97 D<EA7FF0487EA3127F1201AAEC
1FE0ECFFF801FB13FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01
FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E0
7FC091B51280160001FB5B01F813F83900F03FC027337FB22C>I<903803FFE0011F13F8
017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127E
A2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13
E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC003FAAEB07F8EB3FFE90B512BF4814
FF5A3807FC0F380FF00348487E497E48487F90C7FC007E80A212FE5AA87E007E5CA2007F
5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C143FEB3FFC90390FF01FFC27
337DB22C>I<EB03FE90381FFFC0017F13F048B57E48803907FE03FE390FF800FFD81FE0
EB3F805B4848EB1FC090C7120F5A007E15E015075AB7FCA416C000FCC9FC7E127EA2127F
6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF13FF000190B512806C1500013F13
FC010F13F00101138023247CA32C>I<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F0
90390FE03F0014C092C7FCA6007FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F048
80A36C5C21337DB22C>I<ED03F8903907F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE
7F9038FC0FF82607F003133E3A0FE001FC1CD9C0001300001F8049137EA66D13FE000F5C
EBE0016C6C485A3903FC0FF048B5FC5D481480D99FFEC7FCEB87F80180C8FCA37F6C7E90
B512F06C14FE48ECFF804815E04815F03A3FC0001FF848C7EA03FC007E1400007C157C00
FC157E48153EA46C157E007E15FCD87F801303D83FE0EB0FF8D81FFCEB7FF06CB612E000
0315806C1500D8003F13F8010713C028387EA42C>I<EA7FF0487EA3127F1201AAEC1FE0
EC7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC01F02807FEC000F5B5BA25BB3267FFF
E0B5FCB500F11480A36C01E0140029337FB22C>I<1307EB1FC0A2497EA36D5AA20107C7
FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C
>I<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0A37EC7120FB3
B3A2141F003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B000790C7FC1A467C
B32C>I<EA7FE0487EA3127F1201AA91381FFFF04A13F8A36E13F0913800FE004A5A4A5A
4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE90B5FCA2EC9F80EC0FC001FE7FEBFC
07496C7E496C7E811400157E811680151F3A7FFFC0FFFCB500E113FEA36C01C013FC2733
7EB22C>I<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>
I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEB
F83F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13
F8D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F
6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A3
6C01E0140029247FA32C>I<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF0
01FE48486C7E0180133F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0
A2007F141F6C15806D133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0
011F90C7FCEB07FC23247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000
019038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D
14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F8
13F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC078090391FFF0F
C0017F13CF48B512EF4814FF3807FE07380FF00148487E49137F4848133F90C7FC48141F
127E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807FC0F6CB6FC6C14
EF6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367DA32C>I<D87FFE
EB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138FC00F84A13704A13
005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>I<90387FF8700003B512
F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6C
EBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F
6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E
133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0EC
E07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487F
A3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF9026
03FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D
131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5B
A21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>
I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D8
01F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC01
7F13FFA21480A2013F5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C01
0313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03
FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0
013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA3
2C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D1400
12005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2
EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C0100
3F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<15
FF02071380141F147F91B512004913C04AC7FCEB03F85CB31307EB1FE013FF007F5BB55A
49C8FC6D7E6C7FC67F131FEB07F01303B380EB01FEECFFC06D13FF6E1380141F14070200
130021417BB92C>123 D<EA7FC0EAFFF813FE6D7E6C7FC67F131FEB07F01303B380EB01
FEECFFC06D13FF6E1380141F147F91B512004913C04AC7FCEB03F85CB31307EB1FE013FF
007F5BB55A49C8FC13F8EA7FC021417BB92C>125 D<01F81370D803FE13F8380FFF0148
138748EBCFF0397F9FFFE0D8FF0F13C0D8FC07138039F803FE00387000F81D0A79B22C>
I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmbx12 12 37
/Fb 37 122 df<DB0FFFEC1FFE4AB5D8E003B57E020FDAF01F14E0027F02FCB67E902701
FFF803B538F007F8499026C0007F90388001FC010F903B0001FFFE00074948010749497E
49484B131F4A495B49485D507E01FF725A4A5DA282706F5A70ED03F097C8FCA70703B5FC
BDFCA5C69026E000019038C00007B3B0007FD9FFC0B60083B512FEA557467EC55D>14
D<EC01E01403EC0FC0EC1F80EC3F00147E5C1301495A495A5C130F495A133F5C137F49C7
FCA2485AA2485AA212075BA2120F5BA2121FA25B123FA4485AA612FFA25BAE7FA2127FA6
6C7EA4121F7FA2120FA27F1207A27F1203A26C7EA26C7EA26D7E133F80131F6D7E130780
6D7E6D7E1300147E80EC1F80EC0FC0EC03E014011B6476CA2C>40
D<12F07E127E7E6C7E6C7E6C7E7F6C7E6C7E12007F137F80133F806D7EA26D7EA26D7EA2
801303A2801301A280A27F1580A4EC7FC0A615E0A2143FAE147FA215C0A6ECFF80A41500
5BA25CA213035CA213075CA2495AA2495AA2495A5C137F91C7FC13FE5B1201485A485A5B
485A485A48C8FC127E12F85A1B647ACA2C>I<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA
7FFCEA3FF8EA1FF0EA07C00F0F788E1F>46 D<EC03C01407141F147FEB03FF133FB6FCA4
13C3EA0003B3B3ADB712FCA5264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E000
0315F82607FC0313FE3A0FE0007FFFD81F806D138048C7000F13C0488001C015E001F07F
00FF6E13F07F17F881A46C5A6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1F
FC4B5A5E4B5A4B5A4A90C7FC4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8
D907E014F0495A495A49C8FC017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D
417BC038>I<ECFFF0010713FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E
81D80FF86D138013FE001F16C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A
5B020F1380902607FFFEC7FC15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017
E0A26F13F0A217F8A3EA0FC0EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F
80491380D81FF0491300D80FFEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E0
2D427BC038>I<163FA25E5E5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F
87EC1F07143E147E147C14F8EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A48
5A485A120F5B48C7FC123E5A12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038
>I<007FBB1280BC12C0A4003F1A80CFFCB0003FBB1280BC12C0A46C1A804A1C7AA657>
61 D<903807FFC0013F13FC48B612804815E0260FF80013F0D81FC0EB3FF848C7EA1FFC
4815FE01C0130F486C14FF7FA66C485B6C4814FE000FC7FCC8EA3FFCED7FF8EDFFF04A13
E04A13801600EC07FC4A5A5D4A5A5D4A5A92C7FCA2147E147CA31478AA91C8FCA814F8EB
03FE497E497FA2497FA56D5BA26D90C7FC6D5AEB00F828467AC535>63
D<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E193EA3191EA21778A2
85A405F890C7FCA316011603161F92B5FCA5ED001F160316011600A2F101E01778A2F103
C0A494C7FC1907A21A80A2190FA2191FA2193FF17F0061601807181F4DB5FCBBFC61A443
447DC34A>69 D<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE0791B539
E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948167F48
49163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C8FC12FFAD
057FB612F0127F7FA3003FDC0001EBF000A27F7EA26C7FA26C7F807E6C7F6C7F6D7E6D6C
5D6D6C7E6D6D5C6D01F05C010101FE143F6D903AFFF001FF9F023F90B6120F0207EDFC03
0201EDF000DA001F02C01330030001FCC9FC4C467AC458>71 D<923807FFC092B512FE02
07ECFFC0021F15F091267FFE0013FC902601FFF0EB1FFF01070180010313C04990C76C7F
D91FFC6E6C7E49486F7E49486F7E01FF8348496F7E48496F1380A248496F13C0A24890C9
6C13E0A24819F04982003F19F8A3007F19FC49177FA400FF19FEAD007F19FC6D17FFA300
3F19F8A26D5E6C19F0A26E5D6C19E0A26C6D4B13C06C19806E5D6C6D4B13006C6D4B5A6D
6C4B5A6D6C4B5A6D6C4A5B6D01C001075B6D01F0011F5B010101FE90B5C7FC6D90B65A02
3F15F8020715C002004AC8FC030713C047467AC454>79 D<B812F8EFFFC018F818FE727E
D8001F90C7003F13E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E5A
61187F943801FFF005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F
717FA2717FA2717FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72EB
FFF8060114F0726C13E0CC0007138050457DC354>82 D<003FBA12E0A59026FE000FEB80
03D87FE09338003FF049171F90C71607A2007E1803007C1801A300781800A400F819F848
1978A5C81700B3B3A20107B8FCA545437CC24E>84 D<B600FE017FB691B512FEA526007F
FCC8D83FFEC9EA7C006E82013F701778807415F86D705F6F7014016D705FA26F7014036D
64814E6D14076D646F70140F6D041E94C7FCA26F023E6D5C6DDC3C7F151E81027F037C6D
5CF0783F6F70147C023F4B6C1578A26F01016F13F86E4B6C5D16806E02036F485A4E7E04
C0EEE0036E4A486C5DA2DCE00FEDF0076E4B6C5D16F06E4A6F48C8FC051E7F04F8705A6E
4A027F131EA2DCFC7CEDFE3E037F0178023F133C04FE16FF033F01F85E4D8004FF17F86F
496E5BA36F496E5BA26F604D80A26F90C86C5BA36F486F90C9FCA26F48167EA30478163C
6F457EC374>87 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC
6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13
F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B
13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC32
2F7DAD36>97 D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F89139DFC03F
FC9139FF000FFE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173FA318FCAC
18F8A2177F18F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC1FC07FFC
496CB512F0D9F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512C0010F14
F0013F14FC90397FF003FE9039FFC001FF0003495A48494813805B120F485AA2485A6F13
00007F6E5AED00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F16806D14
0F6C6DEB1F006C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC9038003F
F82A2F7CAD32>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F
14CF9039FFF807FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA312
7F5BA212FFAC127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314
FC6C9038F01FEF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>I<EC
3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48486D
1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA512
7FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F00
90397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF8002
0F13E0027F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0F
FCEBFFE0ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>
I<DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF848
48EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D
5B000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F
90CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77E
D83FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD8
0FFEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427D
AC38>I<EB7FC0B5FCA512037EB1ED07FE92383FFF8092B512E002C114F89139C7F03FFC
9138CF801F9139DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B512FEA537457CC4
3E>I<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAA
EB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<EC03E0EC0FF8EC1FFCEC3FFEA2EC
7FFFA5EC3FFEA2EC1FFCEC0FF8EC03E091C7FCAAEC01FF0103B5FCA5EB000F80B3B3A7EA
1F80EA3FC0EA7FE0EAFFF0EC0FFEA215FC141F01E013F8007FEB3FF0393FC0FFE06CB512
806C1400000313FCC613C0205A86C522>I<EB7FC0B5FCA512037EB3B3B3A3B61280A519
457CC420>108 D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E0
02816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F
6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FE
A5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC9138
8F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D
7CAC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F
4848C7EA3FE000078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA00
7F1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007F
F80F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8
B590B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D1380
4A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E
5B6E4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092
C9FCADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC9138
9F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0
A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC0004913
3F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C
14FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA2
7EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E0
07FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF120300
0F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090
391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5
FCA50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512
C7010F1407010313FE9026007FF0EBFC00372E7CAC3E>I<B500FE90383FFFF0A5C601F0
903803E0006D6C495A013F4A5A6D6C49C7FC6E5B6D6C137E6DEB807C6D6D5A6DEBC1F0ED
E3E06DEBF7C06EB45A806E90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFCEC3E1F02
7C7F4A6C7E49486C7F01036D7F49487E02C08049486C7F49C76C7E013E6E7E017E141FB5
00E090B512FCA5362C7EAB3B>120 D<B6903803FFFCA5000101E09038003E006C163C80
017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E
6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E
90C8FCA26E5AA26E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE05B14
0F92C9FC5C143E495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB3B>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmti10 10 50
/Fc 50 122 df<EE3FFC4BB51280923907E007C092391F8001E0DB3F0013F0037E13034B
1307A24A5A18E04A48EB038094C7FCA314075DA4140F5DA3010FB7FCA25F903A001F8000
7EA217FE023F5C92C7FCA216015F5C147E16035FA214FE4A13075FA30101140F5F4AECC1
C0A2161F1783010316805CA2EF870013074A5CEE0F8EEE079EEE03FC010FEC00F04A91C7
FCA35C131FA2001C90CAFC127E5BEAFE3E133C137CEAF878EA78F0EA3FE0EA0F80344C82
BA2F>12 D<127812FCA27EA27E7E7EEA1F80120F13C01207EA03E01201120013C00B1068
B92A>18 D<3901E003C03907F00FE0000F131F01F813F0001F133FA3000F131F3907B00F
6038003000A2017013E0016013C0EBE00101C01380000113030180130000035B3807000E
000E5B485B485B485B48485A00C05B1C1971B92B>34 D<EC03F0EC1FFCDA3E0E140EDAF8
07EC3F8049486C7EEB03E049486C6C1400130FD91F80810200150E49010F141E031F141C
017E163C183801FE4A13784991C75A92C7485A4D5A00014C5A494BC7FC173E027C5CD9F9
FFEB01FE903AFFC38003EF028390380F8780D9FE03EB1F07D800FCEC3C0304787FD801F8
ECF0012603FC0713E00007D90F0180D9FF1E13C0260FEFFC1400D9C1F013CE261FC000EB
FF805B123F6F1301007F5F90C8123C16001703485F5A170795C7FC5F170E171E007E161C
5F007F16786C5E4C5A6C6C4A5A6C6C4A5A6C6C021FC8FC6C6C143CD800FCEB01F090393F
801FC090260FFFFEC9FC010013E0393E76BB40>38 D<EA01E0EA07F0120F13F8121FA312
0FEA07B0EA0030A21370136013E013C0120113801203EA0700120E5A5A5A5A5A0D196EB9
19>I<150C151C153815F0EC01E0EC03C0EC0780EC0F00141E5C147C5C5C495A1303495A
5C130F49C7FCA2133EA25BA25BA2485AA212035B12075BA2120F5BA2121FA290C8FCA25A
A2123EA2127EA2127CA412FC5AAD1278A57EA3121C121EA2120E7EA26C7E6C7EA212001E
5274BD22>I<140C140E80EC0380A2EC01C015E0A2140015F0A21578A4157C153CAB157C
A715FCA215F8A21401A215F0A21403A215E0A21407A215C0140F1580A2141F1500A2143E
A25CA25CA2495AA2495A5C1307495A91C7FC5B133E133C5B5B485A12035B48C8FC120E5A
12785A12C01E527FBD22>I<EA03C0EA07F0120F121F13F8A313F0EA07B0EA0030137013
60A213E013C01201EA038013005A120E5A5A5A5A5A0D197A8819>44
D<387FFFF8A2B5FCA214F0150579941E>I<120EEA3F80127F12FFA31300127E123C0909
778819>I<EE01C01603A21607160FA2161F83163FA2167F16FF16EF150116CFED038FA2
ED070FA2150E151E151C1538A203707FA2EDE007A2EC01C014031580EC0700A2140EA25C
A25C027FB5FCA291B6FC9139E00007F849481303A2495A130791C7FC5B130E5BA25B1378
137013F0EA03F8486C4A7EB56C48B512F0A3343C7BBB3E>65 D<0107B612FCEFFF8018C0
903B000FF0001FF04BEB07F81703021F15FC17014B14FEA2023F1400A24B1301A2147F18
FC92C7120318F84A140718F04AEC0FE0EF1FC00101ED3F80EF7F004AEB01FEEE07F849B6
12E05F9139F80007F0EE01FC01076E7E177F4AEC3F80A2010F16C0171F5CA2131F173F5C
A2133FEF7F805C1800017F5D4C5A91C7485A5F49140FEE1FE0494A5A00014AB45AB748C7
FC16F816C037397BB83A>I<DB03FE130E92393FFF801E92B5EAE03C913903FE01F0913A
0FF000787CDA3FC0EB3CFC4AC7EA1FF802FE140FEB03FC49481407494815F04948140349
5A5C49C813E05B485A5B000317C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF
90CBFCA41738A217784816707E17F06C5E16015F16036C6C4A5A94C7FC001F150E6D141E
000F5D6D5C6C6C495A6C6CEB03C0D801FEEB0F8027007F807EC8FC6DB45A010F13E00100
90C9FC373D74BA3B>I<0103B612FEEFFFC018F0903B0007F8000FF84BEB03FCEF00FE02
0F157FF03F804B141F19C0021F150F19E05D1807143F19F05DA2147FA292C8FCA25C180F
5CA2130119E04A151FA2130319C04A153FA201071780187F4A1600A2010F16FEA24A4A5A
60011F15034D5A4A5D4D5A013F4B5A173F4A4AC7FC17FC017FEC03F84C5A91C7EA1FC049
49B45A007F90B548C8FCB712F016803C397CB83F>I<0107B712FEA3903A000FF000074B
1300187C021F153CA25DA2143FA25D1838147FA292C8FCEE03804A130718004A91C7FCA2
01015CA24A131E163E010314FE91B5FC5EA2903807F800167C4A1378A2130FA24A1370A2
011F14F0A24A90C8FCA2133FA25CA2137FA291CAFCA25BA25B487EB6FCA337397BB836>
70 D<DB03FE130E92393FFF801E92B5EAE03C913903FE01F0913A0FF000787CDA3FC0EB
3CFC4AC7EA1FF802FE140FEB03FC49481407494815F049481403495A5C49C813E05B485A
5B000317C0485AA2485A1880485A94C7FCA2485AA3127F5BA312FF90CBFC0307B512E0A3
92390007FC00705A16075FA36C150F5FA36C6C141FA2001F5E6D143F6C7E167F6C6C4A5A
6C6CEB03EFD801FEEB07C73A007FC03F0790273FFFFC03C7FC010F01F0C8FC0100138037
3D74BA40>I<0103B512F8A390390007F8005DA2140FA25DA2141FA25DA2143FA25DA214
7FA292C7FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA213
3FA25CA2137FA291C8FC497EB6FCA25C25397CB820>73 D<0107B512FCA25E9026000FF8
C7FC5D5D141FA25DA2143FA25DA2147FA292C8FCA25CA25CA21301A25CA21303A25CA213
07A25CA2130F170C4A141CA2011F153C17384A1478A2013F157017F04A14E01601017F14
0317C091C71207160F49EC1F80163F4914FF000102071300B8FCA25E2E397BB834>76
D<902607FFF8923807FFF0614F13E0D9000FEFF0004F5AA2021F167FF1EFC0141DDA1CFC
EC01CF023C16DF9538039F800238ED071FA20278ED0E3F97C7FC0270151CA202F04B5AF0
707E14E0037E14E0010117FE4D485A02C0EC0380A20103ED0701610280140EA20107ED1C
0305385B14006F137049160705E05B010EEC01C0A2011E913803800F61011CEC0700A201
3C020E131F4C5C1338ED1FB80178163F04F091C8FC01705CA201F04A5B187E00015DD807
F816FEB500C09039007FFFFC151E150E4C397AB84A>I<902603FFF891B512E0A281D900
07923807F8006F6E5A61020F5E81DA0E7F5DA2021E6D1307033F92C7FC141C82DA3C1F5C
70130EEC380FA202786D131E0307141C147082DAF003143C70133814E0150101016E1378
030014705C8201036E13F0604A1480163F010715C1041F5B91C7FC17E149EC0FE360010E
15F31607011E15FF95C8FC011C80A2013C805F1338160013785F01F8157CEA03FC267FFF
E0143CB51538A243397CB83E>I<0107B612F817FF1880903B000FF0003FE04BEB0FF0EF
03F8141FEF01FC5DA2023F15FEA25DA2147FEF03FC92C7FCA24A15F817074A15F0EF0FE0
1301EF1FC04AEC3F80EFFE0001034A5AEE0FF091B612C04CC7FCD907F8C9FCA25CA2130F
A25CA2131FA25CA2133FA25CA2137FA291CAFCA25BA25B1201B512FCA337397BB838>80
D<0103B612F017FEEFFF80903B0007F8003FC04BEB0FF01707020FEC03F8EF01FC5DA202
1F15FEA25DA2143FEF03FC5DA2027FEC07F818F092C7120F18E04AEC1FC0EF3F004A14FE
EE01F80101EC0FE091B6128004FCC7FC9138FC003F0103EC0F80834A6D7E8301071403A2
5C83010F14075F5CA2011F140FA25CA2133F161F4AECE007A2017F160F180E91C7FC4902
0F131C007F01FE153CB5913807F078040313F0CAEAFFE0EF3F80383B7CB83D>82
D<92383FC00E913901FFF01C020713FC91391FC07E3C91393F001F7C027CEB0FF84A1307
49481303495A4948EB01F0A2495AA2011F15E091C7FCA34915C0A36E90C7FCA2806D7E14
FCECFF806D13F015FE6D6D7E6D14E0010080023F7F14079138007FFC150F15031501A215
00A2167C120EA3001E15FC5EA3003E4A5AA24B5AA2007F4A5A4B5A6D49C7FC6D133ED8F9
F013FC39F8FC03F839F07FFFE0D8E01F138026C003FCC8FC2F3D7ABA2F>I<0007B812E0
A25AD9F800EB001F01C049EB07C0485AD900011403121E001C5C003C1780140312380078
5C00701607140700F01700485CA2140FC792C7FC5DA2141FA25DA2143FA25DA2147FA292
C9FCA25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CEB3FF0007FB512F8B6FC
A2333971B83B>I<B5D8F80FB590381FFFF06102F018E0D807FEC7D87FE0903803FE00D8
03F8DA3F806D5AF100F0A24F5A621903621907047F92C7FC190E16FF4B5DA2DB03BF5C7F
0001DA073F5CA2030E5D83DB1C1F495A180303385D4EC8FC157003F0140E15E0DA01C05C
A2DA03805CA2DA07005CA2020E5D17C14A5DEFC3805C027802C7C9FC14704A14CE13FE6C
6C4814DCA24A14F8A291C75B160F495D5F5B5F5B4992CAFCA249140E4C3B6FB853>87
D<91B712F0A25B9239E0001FE092C7EA3FC0D903FCEC7F8002F015004A14FE1601494849
5A4A495A4C5A49C75B4C5A010E143F011E4A5A011C4AC7FC4B5A5E90C7485A15074B5A4B
5A4B5A5E157F4BC8FC4A5A4A5A4A5A5D140F4A5A4A5A4A5A4AC712E05C13014948130149
485C495A494813034A5C013F1407495A49C7FC48484AC7FC48485C5B0007153E4848147E
4848EB01FE4848EB07FC4848133F90B6FCB7FC5E34397AB833>90
D<01181330013813709038F001E03901C003800180130000035B3807000E000E5B000C13
18001C1338485B00301360A2007013E000605BA238EF01DE38FF81FFA66CC65A003C1378
1C196AB92B>92 D<1318133813F0EA01C013801203EA0700120E120C121C5A1230A21270
1260A212EFEAFF80A6EA7F00123C0D196FB919>96 D<14F8EB07FE90381F871C90383E03
FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403007F5C1300A21407
485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300ECFF076C485B9038
038F8E391F0F079E3907FE03FC3901F000F0222677A42A>I<133FEA1FFFA3C67E137EA3
13FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F80390FFC07C013F89038F003
E013E0D81FC013F0A21380A2123F1300A214075A127EA2140F12FE4814E0A2141F15C05A
EC3F80A215005C147E5C387801F8007C5B383C03E0383E07C0381E1F80D80FFEC7FCEA01
F01C3B77B926>I<147F903803FFC090380FC1E090381F0070017E13784913383901F801
F83803F003120713E0120FD81FC013F091C7FC485AA2127F90C8FCA35A5AA45AA3153015
381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00380F81F83803FFE0C690C7FC
1D2677A426>I<ED01F815FFA3150316F0A21507A216E0A2150FA216C0A2151FA21680A2
153FA202F81300EB07FE90381F877F90383E03FF017C5BEBF80112013803F00048485B12
0FEBC001121F5DEA3F801403127F01005BA214075A485CA2140FA248ECC1C0A2141F15C3
ED8380143F1587007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901
F000F0253B77B92A>I<147F903803FFC090380FC1E090383F00F0017E13785B485A485A
485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81FF00EBFFF891C7FC90C8FC5A
5AA55AA21530007C14381578007E14F0003EEB01E0EC03C06CEB0F806CEB3E00380781F8
3803FFE0C690C7FC1D2677A426>I<ED07C0ED1FF0ED3E38ED7C3CEDF8FC15F9140115F1
020313F8EDF0F0160014075DA4140F5DA4141F5D010FB512C05B16809039003F800092C7
FCA45C147EA414FE5CA413015CA413035CA413075CA4130F5CA3131F5CA391C8FC5B121C
EA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA0F80264C82BA19>I<EC07C0EC3FF091
38FC38E0903901F01FF0EB03E0903807C00FEB0F80011F1307D93F0013E05B017E130F13
FE4914C01201151F1203491480A2153F1207491400A25DA249137EA215FEA25D00031301
140314076C6C485A0000131FEB787BEB3FF390380FC3F0EB00031407A25DA2140F5D121C
007E131F5D00FE49C7FC147E5C387801F8387C07E0381FFF80D803FEC8FC24367CA426>
I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FCA35B90387E07F0EC1FFC
EC783E9038FFE01F02C01380EC800F1400485A16C05B49EB1F8012035BA2153F00071500
5BA25D000F147E5B15FE5D121FD98001131C15F8163C003F01031338010013F0A2167048
14E0007E15F016E0EDE1C000FE903801E38048903800FF000038143C263B7BB92A>I<EB
01C0EB07E014F0130F14E01307EB038090C7FCAB13F0EA03FCEA071EEA0E1F121CA21238
5B1270A25BEAF07E12E013FEC65AA212015B1203A25B12075BA2000F13E013C013C1001F
13C01381A2EB83801303EB0700A2130E6C5AEA07F8EA01E0143879B619>I<150E153F15
7FA3157E151C1500ABEC1F80EC7FC0ECF1F0EB01C090380380F813071401130F130E131E
EB1C03133C013813F0A2EB0007A215E0A2140FA215C0A2141FA21580A2143FA21500A25C
A2147EA214FEA25CA21301A25CA213035C121C387E07E0A238FE0FC05C49C7FCEAF83EEA
787CEA3FF0EA0FC0204883B619>I<EB0FC0EA07FFA3EA001F1480A2133FA21400A25BA2
137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA2
90C7FCA25AA2EA7E0EA212FE131EEAFC1CA2133C133812F81378EA7870EA7CE0121FEA0F
80123B79B915>108 D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E
3E3C03E1E01F261C1F78D9F3C013803C383FF001F7800F02E01400007801C013FE007018
C002805B4A4848EB1F80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001
177E495C18FE031F5C120349DA8001131C18F8033F153C00070403133849020013F0A24B
1570000F17E049017E15F019E003FEECE1C0001FEE01E34949903800FF000007C7003814
3C3E2679A444>I<D801E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F
39383FF00114E0007813C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA215
0F00015D5B151F5E12034990383F8380160316070007027F130049137EA2160E000F147C
49141E161C5E001FEC3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090
380FC1F090381F00F8017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F
127F90C7FCA215FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB
1F80003EEB3F00147E6C13F8380F83F03803FFC0C648C7FC202677A42A>I<9039078007
C090391FE03FF090393CF0787C903938F8E03E9038787FC00170497EECFF00D9F0FE1480
13E05CEA01E113C15CA2D80003143FA25CA20107147FA24A1400A2010F5C5E5C4B5A131F
5EEC80035E013F495A6E485A5E6E48C7FC017F133EEC70FC90387E3FF0EC0F8001FEC9FC
A25BA21201A25BA21203A25B1207B512C0A3293580A42A>I<3903C003F0390FF01FFC39
1E783C0F381C7C703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7
FCEAE0FE5BA2120012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E21
2679A423>114 D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F0
0001130313F0A215E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C0
1300143F141F140F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06C
B45AD801FEC7FC1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E
007FB5FCA2B6FC3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C
003F1338EB0078147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579
B31C>I<13F8D803FEEB01C0D8078FEB03E0390E0F8007121E121C0038140F131F007815
C01270013F131F00F0130000E015805BD8007E133FA201FE14005B5D120149137EA215FE
120349EBFC0EA20201131E161C15F813E0163CD9F003133814070001ECF07091381EF8F0
3A00F83C78E090393FF03FC090390FC00F00272679A42D>I<01F0130ED803FC133FD807
1EEB7F80EA0E1F121C123C0038143F49131F0070140FA25BD8F07E140000E08013FEC648
5B150E12015B151E0003141C5BA2153C000714385B5DA35DA24A5A140300035C6D48C7FC
0001130E3800F83CEB7FF8EB0FC0212679A426>I<01F01507D803FC903903801F80D807
1E903907C03FC0D80E1F130F121C123C0038021F131F49EC800F00701607A249133FD8F0
7E168000E0ED000313FEC64849130718000001147E5B03FE5B0003160E495BA2171E0007
0101141C01E05B173C1738A217781770020314F05F0003010713016D486C485A00019039
1E7C07802800FC3C3E0FC7FC90393FF81FFE90390FE003F0322679A437>I<13F0D803FC
EB01C0D8071EEB03E0D80E1F1307121C123C0038140F4914C01270A249131FD8F07E1480
12E013FEC648133F160012015B5D0003147E5BA215FE00075C5BA214015DA314035D1407
0003130FEBF01F3901F87FE038007FF7EB1FC7EB000F5DA2141F003F5C48133F92C7FC14
7E147C007E13FC387001F8EB03E06C485A383C1F80D80FFEC8FCEA03F0233679A428>
121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx14 14.4 27
/Fd 27 122 df<151E153E15FE1403140F147FEB07FF0003B5FCB6FCA3EBF87FEAFC00C7
FCB3B3B3A6007FB712FCA52E4E76CD42>49 D<EC1FFE49B512F0010F14FC013FECFF8049
15E02701FF803F7F2703FC000713FCD807F001017F48486D7FD81F806E138048C87E7013
C0D87FE016E001F8806D16F000FF817F7013F8A56C5AA26C5A6C5AEA0380C914F05EA218
E05E18C05E18804C13005F4C5A4C5A5F4B5B4B5B4B5B94C7FCED0FFC4B5A4B5AED7FC04B
5A4A90C8FCEC03FC4A5A4A4814F84A5A4A5A4AC8FC02FEEC01F0495A495A495A5CD90F80
140349C8FC013E1507017FB7FC90B812E05A5A5A5A5A5A5AB9FC18C0A4354E7ACD42>I<
913807FFC0027F13FC0103B67E010F15E090261FF80313F890267FC0007F01FEC7EA3FFE
48488148486E138013FE486C6C6D13C0804817E080A66C5B18C06C5B6C90C75AD8003816
8090C8FC4C1300A24C5A5F4C5A4B5B4B13C0030F5BDB7FFEC7FC91387FFFF816C016FCEE
FF80DA000313E09238007FF8EE3FFE707E70138018C07013E018F07013F8A218FC82A218
FEA3EA03C0EA0FF0EA3FFC487EA2B5FCA218FCA25E18F8A26C4816F0495C4916E0D83FE0
4A13C06C485CD80FF04A1380D807FE91387FFE003B03FFE003FFFC6C90B65A6C6C15E001
0F92C7FC010114FCD9001F1380374F7BCD42>I<17FC1601A216031607160FA2161F163F
167FA216FF5D5DA25D5D5D167F153E157E15FC15F8EC01F01403EC07E015C0EC0F80141F
EC3F00143E5C14FC495A5C495A1307495A5C49C7FC5B137E137C5B1201485A5B485A120F
485A90C8FC123E127E5ABA1280A5C901FCC7FCAF021FB71280A5394F7CCE42>I<486C15
0601F0153E01FEEC01FED9FFF0133F91B65A5F5F5F5F5F94C7FC16FC5E16E093C8FC15FC
01F0138091CAFCAC913807FF80023F13F891B512FE01F36E7E9026FFFC0113E09139E000
7FF891C76C7E496E7E01F86E7E5B7013804916C0C9FC18E08218F0A418F8A31203EA0FE0
EA3FF8487EA212FF7FA218F0A25B5E6C4816E05B01C016C06CC85A18806C6C4A13007FD8
0FF04A5A6C6CECFFFCD803FE4913F02701FFE00F5B6C6CB612806D92C7FC010F14F80101
14C09026003FFCC8FC354F7ACD42>I<BB12F8A5D8000F01E0C7001F13FC1801F0003F19
1F190F19071903190119001AFE1A7EA31A3EA51A3FDD07C0131FA41A00A3170FA3171F17
3F177FEE03FF92B6FCA5EDE003EE007F173F171F170FA31707A794C9FCB3A2B812E0A548
527BD153>70 D<B81280A5D8000701F0C7FCB3B3B3B2B81280A529527DD130>73
D<B912C018FEF0FFE019FC19FFD8000F9026E0000114C0DD001F7F060713F806017F727F
737E8587737FA28785A287A863A26163636198C8FC4F5A4F5A4E5B06075B061F13C04DB5
C9FC92B712FC19E0198019E09226E0000F13F8050113FE716C7E727F727F727F727FA272
7FA28486A886A71DE074EB01F0A2841C0373018013E0A273EBC007B700FE6E9038E00FC0
739038F83F80070390B5120007005C081F5BCD000113F05C537BD162>82
D<DA0FFE141C91B500F0133C010702FC137C011F02FF13FC017F15C19026FFF00113E148
903980001FFB4890C7EA07FFD807FC14014848804848153F171F4848150FA2007F160749
1503A2170112FFA217007FA26D167CA27F7F6D93C7FC6C7E14C014F0ECFF806C14F8EDFF
C06C15FC6CEDFF8017F06C16FC6C826C707E6C836D82011F8201078213016D6C81020781
EC003F030380ED003F040314801600173F837113C0838312F883A3837EA319807EA26C5E
19007F6D4B5A7F6D4B5A01FC4B5A6D151FD9FFC04A5AD97FF8ECFFE028FE1FFF80075B01
0790B6C7FCD8FC0115FC486C6C14F048010F14C0489026007FFCC8FC3A5479D249>I<EC
3FFE0107B512E0011F14FC017F14FF2701FFC00F13C02703FE00037F486C01007F6E6D7E
486D80707EA2707EA3707F6C5B6C90C7FC6C5AC9FCA60303B5FC0203B6FC147F0103B7FC
010FEBF00F017F1300EBFFFC000313F04813C0485B4890C7FC5A5B485AF081F012FF5BA3
5EA26D5C127F6D5C003F03F713C36DD901E314E06CD9C00714FF00079026F01F8114C06C
90B5C61480C602FC6D1300011F01F0EB3FFC01010180EB07F03C387CB642>97
D<913801FFF0021F13FF91B612C0010315F0010F9038801FFC903A1FFC0003FED97FF849
7E49485B4849491380485B485BA24890C7FC5AA248486E1300705A705A007F92C8FC5BA3
12FFAD127F7FA3123F7F6CEE07C0A26C6D140F18806C6D141F6C6D15006C6D5C6C6D147E
6D6C5C6DB4EB03F8010F9038E01FF0010390B512C0010092C7FC023F13FC020113C03238
7CB63B>99 D<943803FF80040FB5FCA5EE003F170FB3A4913803FF80023F13F849B512FE
0107ECFF8F011F9038C03FEF90273FFE0007B5FCD97FF8130149487F4849804849804849
80488291C8FC5A5B123FA2127F5BA312FFAD127FA37F123FA3121F7F6C5E6C6D5C5F6C6D
91B5FC6C6D5B6C6D4914E0D97FFCD90FEFEBFF80D91FFFEB7F8F010790B5120F010114FC
6D6C13E00207010049C7FC41547CD249>I<913807FF80027F13F849B512FE01076E7E01
1F010313E0903A3FFC007FF0D97FF06D7E49486D7E4849130F48496D7E48824890C7FC70
1380485AA2003F6F13C0A3485A18E082A212FFA290B8FCA401FCCAFCA6127FA37F123FA2
EF03E06C7E17076C17C06C6D140F18806C6D141F6C6DEC3F006C6D147ED97FFC495AD91F
FFEB07F86D9038E03FF0010390B512C001005D023F01FCC7FC020113E033387CB63C>I<
ED1FF8913803FFFE020FEBFF80023F14C09139FFF83FE001039038E0FFF0491380490101
13F85BEB3FFEA2EB7FFCA26F13F0495AEE7FE0EE1F8093C7FCAEB712C0A5C601F8C8FCB3
B3A7B612FEA52D547CD328>I<133FEBFFC0487F487FA2487FA66C5BA26C5B6C5B013FC7
FC90C8FCAEEB1FF8B5FCA512017EB3B3A6B612F0A51C547CD324>105
D<EB3FF8B5FCA51203C6FCB3A50407B512F0A59339007FF000EF3FC04D5A4DC7FCEE01FC
4C5AEE0FF04C5A4C5A4CC8FC16FEED03FC4B5A4B5A4B5A4B7E4B7EECF9FF02FB7F91B57E
A28203BF7F031F7F14FE4A6C7FDAF0077F6F7FA26F7F6F7F167F83707F707FA2707F707F
707FA2707F707F84B6D8F00F14FEA53F537CD246>107 D<EB3FF8B5FCA51203C6FCB3B3
B3B1B612F8A51D537CD224>I<D93FF0D91FF84AB47EB591B56C010F13F8030302E0013F
13FE030F6E90B6FCDB3F809027F803F80F7F922A7E007FFC07E0077F000302F890283FFE
0F80037FC6D9F1F0011F49487EDAF3E0DAFF3E814B153CDAF7805D92C76C496D7F14FF4A
5EA24A5EA34A5EB3ADB6D8F80FB66CB612F8A565367BB56E>I<D93FF0EB1FFCB591B57E
030314E0030F14F892391FC07FFC92397E003FFE000302F86D7EC6EBF1F04B6D7FECF3C0
ECF78092C76C7F14FF5CA25CA45CB3ACB6D8F807B612C0A542367CB549>I<913801FFC0
023F13FE91B67E010315E0010F018013F8903A3FFC001FFED97FF0EB07FF49486D7F4849
6D7F48496D7F91C8127F4883488349153F001F83A2003F8349151FA2007F83A400FF1880
AC007F1800A3003F5F6D153FA2001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D495B6C6D495B
6D6C4990C7FCD93FFCEB1FFE6DB46CB45A010790B512F0010115C0D9003F49C8FC020313
E039387CB642>I<D93FF8EB7FF0B50107B5FC031F14C0037F14F09126F9FF0013FCDAFF
F8EB3FFF000302E0010F7FC602806D7F92C76C7F4A824A804A6E7F85187F85A2183F85A4
721380AD4E1300A44E5AA26118FF616E5C616E4A5B6E4A5B6F495B03E04990C7FCDAFBF0
EB7FFE913AF9FE01FFF802F8B65A033F14C0030749C8FC030013E093CAFCB1B612F8A541
4D7DB549>I<90393FF001FCB590380FFF804B13E0037F13F09238FE1FF89138F1F83F00
039138F07FFCC6EBF3E015C0ECF780A2ECFF00EE3FF84AEB1FF0EE0FE093C7FC5CA45CB3
ABB612FEA52E367CB536>114 D<903903FFC00E011FEBFC1E90B6127E000315FE3907FE
003FD80FF0130F4848130348481301491300127F90C8127EA248153EA27FA27F01F091C7
FC13FCEBFF806C13FEECFFF06C14FE6F7E6C15E06C816C15FC6C81C681133F010F158013
01D9000F14C0EC003F030713E0150100F880167F6C153FA2161F7EA217C07E6D143F1780
7F6DEC7F0001F85C6DEB03FE9039FF801FFC486CB512F0D8F81F14C0D8F00791C7FC39E0
007FF02B387CB634>I<147CA614FCA41301A31303A21307A2130F131F133F137F13FF12
03000F90B512FEB7FCA426007FFCC8FCB3A9EE0F80ABEE1F006D7EA2011F143E806D6D5A
6DEBC1F86DEBFFF001005C023F1380DA03FEC7FC294D7ECB33>I<D93FF8913801FFC0B5
0207B5FCA50003ED001FC61607B3AE5FA35FA25F137F5F6D6C14F7DC01E713F06D6CD907
C7EBFFC0903A0FFF801F876D90B51207010114FC6D6C13F0020701C091C7FC42377CB549
>I<B600E1B6D88007B5FCA500019026F0000301C0C7EA3FE06E6D6DEC0F801B1F6C1B00
6E6D6D5C017F193E717E6E187E013F197C6E6F14FC6D6117FF6F6E13016D4A5E03C0806D
4E5A5E03E001E7EB80076D02075E03F001C313C01A0F6D020F5E03F80181EBE01F6D021F
93C7FC050013F003FC5E027F49153EDBFE3E90387FF87E023F177C4C133F03FFEDFCFC6E
01FC5D4CEB1FFE6E705AA24C7F6E5F4C7FA26E5F4C7F6E5F4C7FA26E94C8FC93C8FC6F5D
037E157E033E157C58367DB45F>119 D<B600E090380FFFFEA5000101F8C813806C6DED
3E00187E6D6C157C18FC013F5E6E14016D5E6F1303A26D6D5C17076D6D5C170F6D5E6F13
1F6D93C7FC6F5B6D153E81177E6E6C137C17FC6E6C5B16016E5C16836E5C16C316C76EEB
E7C016EF6EEBFF80A26E91C8FCA26E5BA36F5AA26F5AA26F5AA26F5AA26F5AA2150F5E15
1F93C9FC5D153ED81FC0137E486C137C486C13FC487E4A5A5D14035D4A5A387FF00F4948
5A263EC07FCAFC383F81FE6CB45A6C13F0000313C0C648CBFC3F4D7DB446>121
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr10 10 76
/Fe 76 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<EC0FFC91387FFF70903901F803F0903807E00790381F800FEB3F
00137EA25B150748481303ADB7FCA33901F80003B3AB486C497E267FFFE0B512C0A32A3B
7FBA2E>I<DA0FF0EB1FF0DA7FFEEBFFFC903B01F80F83F00F903C07E001CFC00380903C
1F8000FF0001C090273F0007FE130F017E4948497EA2495CA248485C03076E5A03030203
C7FC95C8FCA9F007E0BAFCA33C01F80003F0001F1807B3AA486C496C497E267FFFE0B500
C1B51280A3413B7FBA45>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C
131C00001300A40001130101801380A20003130301001300485B00061306000E130E485B
485B485B006013601A197DB92A>34 D<141FEC7FC0903801F0E0903803C0600107137090
380F803090381F00381518A25BA2133E133F15381530A215705D5D140190381F838092CA
FC1487148E02DC49B51280EB0FF85C4A9039003FF8000107ED0FC06E5D71C7FC6E140E01
0F150CD91DFC141C01391518D970FE143801E015302601C07F1470D803805D00076D6C5B
D80F00EBC00148011F5C4890380FE003003E6E48C8FC007E903807F8060203130E00FE6E
5A6E6C5A1400ED7F706C4B13036F5A6F7E6C6C6D6C5B7013066C6C496C130E6DD979FE5B
281FF001F07F133C3C07F80FE03FC0F86CB539800FFFF0C69026FE000313C0D91FF0D900
7FC7FC393E7DBB41>38 D<121C127FEAFF80A213C0A3127F121C1200A412011380A21203
13005A1206120E5A5A5A12600A1979B917>I<146014E0EB01C0EB0380EB0700130E131E
5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA312
1EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E014
60135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C13
3E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E
133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<153015
78B3A6007FB812F8B912FCA26C17F8C80078C8FCB3A6153036367BAF41>43
D<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A5A5A
12600A19798817>I<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C09097988
17>I<EB03F8EB1FFF90387E0FC09038F803E03901E000F0484813780007147C48487FA2
48C77EA2481580A3007EEC0FC0A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D
5B000F143EA26C6C5B6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7D
B72A>48 D<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C38
79B72A>I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E1230
00706D7E126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F
4A5A4A5A92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B4913034848140048
5A485A000EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901
F80FF03903C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D
4A5AA24A5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A2
16C0A2153F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C49
5A121E390F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2
157815F8A2140114031407A2140F141F141B14331473146314C313011483EB0303130713
06130C131C131813301370136013C01201EA038013005A120E120C5A123812305A12E0B7
12F8A3C73803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C9038F0
03F890B5FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E0
07E090388003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C
12E000605C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38
007FFCEB1FE0213A7CB72A>I<EC3FC0903801FFF0010713FC90380FE03E90383F800790
387E001F49EB3F804848137F485AA2485A000FEC3F0049131E001F91C7FCA2485AA3127F
90C9FCEB01FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E497FA24914
8016C0151FA290C713E0A57EA56C7E16C0A2121FED3F807F000F15006C6C5B15FE6C6C5B
6C6C485A3900FE07F090383FFFC06D90C7FCEB03FC233A7DB72A>I<12301238123E003F
B612E0A316C05A168016000070C712060060140E5D151800E01438485C5D5DC712014A5A
92C7FC5C140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA513
7FA96DC8FC131E233B7BB82A>I<EB03F8EB1FFF017F13C09038FC07F03901E001F84848
6C7E4848137C90C77E48141E000E141F001E80A3121FA27F5D01E0131E6C6C133E01FC13
3C6D5B6C6C6C5AECC1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F39
03E07FFE3907801FFF48486C1380481303003E6D13C0003CEB007F007C143F0078EC0FE0
00F814075A1503A21501A36C15C012781503007C15806CEC07006C5C6C6C131ED807E013
7C3903F803F0C6B55A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C090
38FC07E03903F803F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA248EC
1FC0A616E0A56C143FA27F123F001F147FA26C6C13FF6C6C13DF000313013901F0039F39
00FC0F1FD93FFC13C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A5A4A
5A49485A6C48485A001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB72A>
I<121C127FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>
I<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC18
0FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106
810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D8
0FFC02071380B56C90B512FEA3373C7DBB3E>65 D<B712E016FC16FF0001903980007FC0
6C90C7EA1FE0707E707E707EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500
FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C
13005F16034C5AEE1FF8486DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF8001
80020FEBE003027F13F8903A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD9
3F80EB00FF49C8127F01FE153F12014848151F4848150FA248481507A2485A1703123F5B
007F1601A35B00FF93C7FCAD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C
6C150E6C6C5D00001618017F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF
803FC7FC9039007FFFFC020F13F002011380313D7BBA3C>I<B712C016F816FE00019039
8001FF806C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0
A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE
0FF0EE3FE0486DEBFF80B8C7FC16F816C036397DB83F>I<B812FCA30001903880000F6C
90C71201EE007E173E171E170EA31706A317078316C0A394C7FCA31501A21503150F91B5
FCA3EC000F15031501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F17
3F177F486D903807FF00B9FCA333397DB839>I<B812F8A30001903880001F6C90C71201
EE00FC177C173C171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3
EC001F15071503A21501A692C8FCAD4813C0B612C0A32F397DB836>I<DBFF8013C0020F
EBF001023F13FC9139FF803F03903A03FC000787D90FF0EB03CF4948EB00EF4948147F49
48143F49C8121F485A4848150F48481507A248481503A2485A1701123F5B007F1600A448
481600AB93B6FCA26C7E9338007FE0EF3FC0A2123F7F121FA26C7EA26C7EA26C7E6C7E6C
6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03C7D903FEEB0783903A00FFC03F0191393FFF
FC00020F01F0130002001380383D7CBA41>I<B612C0A3C6EBC0006D5AB3B3AD497EB612
C0A31A397EB81E>73 D<013FB512E0A39039001FFC00EC07F8B3B3A3123FEA7F80EAFFC0
A44A5A1380D87F005B0070131F6C5C6C495A6C49C7FC380781FC3801FFF038007F80233B
7DB82B>I<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317F0A216
011603160FEE1FE0486D13FFB8FCA32D397DB834>76 D<B5933807FFF86E5DA20001F0FC
002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3D9C0
FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0A391
3901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A487ED8
0FFC6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C69238
007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7EA26E
7E6E7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED03FE
A2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E486C
153E487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE01FC
903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E4915
7E0003167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F8491507
A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC0000717806D15
7F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903F801
7FC7FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE000190
398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE03FC
A2EE07F817F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330397D
B839>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB
07F049C76C7E01FE6E7E48486E7EA24848157F0007178049153F000F17C049151F001F17
E0A24848ED0FF0A3007F17F8A2491507A200FF17FCAC007F17F8A26D150FA2003F17F0A2
6C6CED1FE0A36C6CED3FC00007027C14804AB4FC3C03F80383807F003B01FC0701C0FEEC
0E002600FE0CEBE1FC017FEC63F8D93F8CEB77F0D91FCCEB3FE0D907EE14806DB449C7FC
0100D981FC130CEC1FFF0203131C91C7001E131C161F183CEF807CEFC0F8EE0FFFA318F0
8218E07013C07013809338007E00364B7BBA41>I<B612FEEDFFE016F8000190388007FE
6C90C76C7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FC
ED07FC91B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217
F8160F1803486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D
>I<D90FF813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48C7
121F003E140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB47E
6C13F8ECFF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007FED
3FF0151F150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C14
0F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E
>I<003FB812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A30060
1730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B690
3807FFFEA3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C13
3F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E9138
1FFFF8020713E09138007F80373B7DB83E>I<B500FC91387FFF80A30003018091380FFC
006C90C8EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C8001
0F5DA28001075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA29138
3FC006A215E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E
6C5AA36FC9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA30007902780
001FFEC7EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F017F
6E6C1406A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C011C
6D5BEE181FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA20380
5D913B7F818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6DA
0FFCEC3FF0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B80503B
7EB855>I<003FB7FCA39039FC0001FE01C0130349495A003EC7FC003C4A5A5E0038141F
00784A5A12704B5A5E006014FF4A90C7FCA24A5A5DC712074A5AA24A5A5D143F4A5AA24A
5A92C8FC5B495AA2495A5C130F4948EB0180A2495A5C137F495A16034890C7FC5B120348
5AEE0700485A495C001F5D48485C5E4848495A49130FB8FCA329397BB833>90
D<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>I<390180018000031303390700
0700000E130E485B0018131800381338003013300070137000601360A200E013E0485BA4
00CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A>I<EA
FFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EA01801203EA0700120E5A121812
38123012701260A212E05AA412CEEAFF8013C0A3127FA2EA3F80EA0E000A197AB917>96
D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5A
C8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA314
01A26C13036CEB077C903980063E18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007
C026277DA52A>I<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F80
9039F7000FC001FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FE
A216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800
FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F839
07E001FC380FC003A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA2
6C14067F001F140E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF
00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F90
38F801EF3903F0007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E
127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F9038
1FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0
D807E013F8380FC0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA512
7EA2127FA26C14037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E
03E090381FFF80903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F879038
3F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A3
1C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E0
07C03A07C003E010000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48
C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C0
3A0F80007FE048C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E000
3F1407D80F80EB0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>
I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF700
13FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE048
7EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB
01C0EB07F0EB0FF8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E
00FF13F01303A214E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012
FFA3120F1203B1913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438
147814FC13F1EBF3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F81
1680ED1FC0486CEB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD
487EB512C0A3123A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E
903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A249
5CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FF
EB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C49
7EB500C1B51280A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F8484813
7C48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A900
7E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13
F890387E03F090381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1
E07E9039F3801F803A07F7000FC0D803FEEB07E049EB03F04914F849130116FC150016FE
A3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038
F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381F
FE0190387E07819038FC01C33903F000E3000714774848133749133F001F141F485A150F
48C7FCA312FEAA127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF3900
7E078F90381FFE0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FF
EB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A4
5BB3A2487EB512F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00
707F12F0A2807EA27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB
007F141F00C0EB0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FF
F038C03F801A277DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2
D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>
I<D803F0EB07E000FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000
EC77F86D9038E7FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B53880
3FFEA33A0FF8000FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E01
7E130CA26D5BA2EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FC
A214FF6D5AA2147CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF8
6C48017EEB03E018C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E90
38EFC00C15C7A2D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC600
1360A2D907E66D5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A
130E0260130C37257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC01
7E131C6D13186D6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E
8114CF903801C7E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D
7E486C80000FEC3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF0
6C48EB07C00003EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070
010F1360A26D6C5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214
701460A25CA2EA7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357E
A32C>I<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC
3F800060137F150014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A
485A0007140E5B4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA3
25>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx10 10 37
/Ff 37 122 df<B61280A819087F9620>45 D<49B4FC010F13E0017F13FC9038FF83FE48
48C67E4848EB7F804848EB3FC04848EB1FE0A2001F15F0A24848EB0FF8A3007F15FCA500
FF15FEB3007F15FCA4003F15F8A26D131F001F15F0A2000F15E06D133F000715C06C6CEB
7F806C6CEBFF003900FF83FE6DB45A011F13F0010190C7FC27387CB630>48
D<141E143E14FE1307133FB5FCA313CFEA000FB3B3A6007FB61280A4213779B630>I<12
3C123EEA3FE090B71280A41700485D5E5E5EA25E007CC7EA0FC000784A5A4BC7FC00F814
7E48147C15FC4A5A4A5AC7485A5D140F4A5A143F92C8FC5C147E14FE1301A2495AA31307
A2130F5CA2131FA5133FA96D5A6D5A6D5A293A7BB830>55 D<49B47E010F13F0013F13FC
9038FE01FF3A01F8007F804848EB3FC04848EB1FE0150F485AED07F0121FA27FA27F7F01
FEEB0FE0EBFF809138E01FC06CEBF03F02FC13809138FF7F006C14FC6C5C7E6C14FE6D7F
6D14C04914E048B612F0EA07F848486C13F8261FE01F13FC383FC007EB8001007F6D13FE
90C7123F48140F48140715031501A21500A216FC7E6C14016D14F86C6CEB03F06D13076C
6CEB0FE0D80FFEEB7FC00003B61200C614FC013F13F00103138027387CB630>I<EB03FF
011F13E0017F13F83901FF03FE4848C67E4848EB7F80484814C0001FEC3FE0123F49EB1F
F0127F16F8A212FF16FCA516FEA5007F143FA3123F157F6C7E000F14FF6C6C5A3903FE03
DF6CB5129F6C6C131FD91FFC13FCEB00201400A216F8D80FE0133F487E486C14F0A216E0
157F16C0EDFF80495A6C4848130090388007FE390FE01FF86CB55A6C14C0C691C7FCEB1F
F027387CB630>I<EB1FFE48B512E0000714F8390FE00FFE393F0003FF4815806D7ED8FF
C014C013E0A5EA7FC06C48481380EA1F00C7481300EC0FFC4A5AEC3FE04A5A92C7FC14FE
5C495AA25C495AA25CA990C9FCA7EB07C0EB1FF0497EA2497EA56D5AA26D5AEB07C0223A
7BB92D>63 D<ED03E04B7EA24B7EA34B7EA24B7EA34B7EA292B57EA34A8015F302038015
E1A202078015C0020F80ED807FA2021F80ED003F4A80023E131FA2027E80027C7F02FC81
4A7FA20101824A7F49B77EA3498202C0C7FC010F824A147FA2011F8291C8123F4982013E
151FA2017E82017C8101FE83B500F80107B61280A4413A7DB948>65
D<B812C017FC17FF18C028007FF000037F04007F717E717E171F84A2717EA74D5AA26017
3F4D5A4D5A4C13C0040F5B91B600FCC7FCA2EFFF8002F0C713F0EF3FF8717E717E717E19
807113C0A319E0A719C0A25F4D138019005FEF7FFE4C485AB912F018C095C7FC17F03B39
7DB844>I<DB3FFCEB01C00203B5EAC003021FECF00791B6EAFC0F01039039FC00FF3F49
01C0EB1FFFD91FFEC77E49481403D97FF080494880485B48177F4849153F4890C9FC181F
485A180F123F5B1807127FA24993C7FC12FFAD127F7FF003C0123FA27F001F1707A26C6C
1780180F6C6D16006C6D5D6C173E6C6D157ED97FF85D6D6C4A5A6DB44A5A010701C0EB0F
E06D01FCEBFF80010090B548C7FC021F14F8020314E09126003FFEC8FC3A3B7BB945>I<
B87E17F817FF18C028007FF8000713F09338007FF8EF1FFE717E050313807113C0A27113
E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FEA419FC183FA219F8187F19F0F0FF
E0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0B912C095C7FC17FC178040397DB8
49>I<B912F0A426007FF8C7FCEF1FF8170717031701A21700A21878A3043C137C183CA4
1800167CA216FC150391B5FCA4ECF8031500167CA2163C180FA3181EA293C7FCA2183EA2
183C187CA218FCA2EF01F81703170F173FEE01FFB9FC18F0A338397DB83F>I<B500F804
03B512F06E5EA26E5ED8007FF1E000A2D97BFF161EA201796D5DA201786D5DA26E6C5DA3
6E6C4A5AA26E6C4A5AA26E6C4A5AA26E6C4A5AA26E6C141EA36E6D5BA26E6D5BA26F6C5B
A26F6C485AA36F6C485AA26F6C485AA26F6C48C7FCA2923803FF1EA36F13BCA26F13F8A2
705AA2705AA213FCB500FC6D4848B612F0A2EE0F80EE070054397DB85B>77
D<B500FC0203B512F0A28080C66C6D90390003F0006F6E5A81017B7F13798101787F6E7E
6E7E6E7F6E7FA26E7F6E7F6E7F6E7F6F7E153F826F13806F13C06F13E06F13F06F13F881
17FCEE7FFEEE3FFF7013817013C17013E18218F17013F97013FDEF7FFF8383A283838383
83187FA2183F181F01FC160FB500FC150718031801A244397DB84B>I<EDFFF8020FEBFF
80027F14F0903A01FFC01FFC010790380007FFD91FFC010113C0D93FF06D6C7E49486E7E
49486E7E48496E7E48834890C86C7EA248486F1380A248486F13C0A2003F18E0A348486F
13F0A400FF18F8AC007F18F06D5DA3003F18E0A26D5D001F18C0A26C6C4B13806C18006E
5C6C6D4A5A6C5F6C6D4A5A6D6C4A5AD93FFC49485A6DB401075B0107D9C01F90C7FC0101
90B512FC6D6C14F0020F1480020001F8C8FC3D3B7BB948>I<D907FF130E013FEBE01E90
B5EAF83E0003ECFE7E3A07FC01FFFE390FF0001F4848130F48481303491301007F140090
C8FC167E5A163EA27F161E7F7F6D91C7FC13FC387FFFE014FEECFFF06C14FE6F7E6C816C
15F06C816C81C681133F010F801301D9000F1480EC007F030F13C01503818100F0157FA3
163FA27E17807E167F6C16007E6D14FE01E0495A01F813039039FF801FF800FC90B512E0
D8F83F5CD8F00749C7FC39E0007FF02A3B7BB935>83 D<EB3FFE0003B512E0000F14F839
1FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5AEA0380C8FCA2EC3FFF010FB5FC13
7F3901FFF87F00071380380FFE00EA3FF85B485A12FF5BA415FF6D5A127F263FF00713F8
3B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE0032A257DA42E>97
D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDAF00013804AEB7FC002
80EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A217F06E133F6EEB7FE0
6E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13E0D9C00390C7FC2F3A
7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C048485AEA0FF812
1F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01E06C7E15036C6C
EB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023257DA42A>I<EE
7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F0003EB001FD807FC
1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B000F5C6C6C5B6C6C
4913C02701FF80FD13FE39007FFFF9011F13E1010313012F3A7DB935>I<903803FF8001
1F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B003FEC0F
F0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F0
00071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C>I<EC
1FF0903801FFFC010713FF90391FF87F8090383FE0FFD9FFC113C0A2481381A24813016E
1380A2ED3E0092C7FCA8B6FCA4000390C8FCB3ABB512FEA4223A7DB91D>I<13FFB5FCA4
12077EAFED7FC0913803FFF8020F13FE91381F03FFDA3C01138014784A7E4A14C05CA25C
A291C7FCB3A3B5D8FC3F13FFA4303A7DB935>104 D<EA01F0EA07FC487EA2487EA56C5A
A26C5AEA01F0C8FCA913FF127FA412077EB3A9B512F8A4153B7DBA1B>I<141FEC7FC0EC
FFE0A24913F0A56D13E0A2EC7FC0EC1F0091C7FCA9EC0FF0EB0FFFA4EB007F143FB3B012
1FEA3F80EA7FC0EAFFE0EC7FE0A215C014FF6C481380903883FE006CB45A000F13F00001
13801C4B86BA1D>I<13FFB5FCA412077EAF92380FFFE0A4923803FC0016F0ED0FE0ED1F
804BC7FC157E5DEC03F8EC07E04A5A141FEC7FE04A7E8181A2ECCFFEEC0FFF496C7F806E
7F6E7F82157F6F7E6F7E82150F82B5D8F83F13F8A42D3A7EB932>I<13FFB5FCA412077E
B3B3ACB512FCA4163A7DB91B>I<01FED97FE0EB0FFC00FF902601FFFC90383FFF800207
01FF90B512E0DA1F81903983F03FF0DA3C00903887801F000749DACF007F00034914DE6D
48D97FFC6D7E4A5CA24A5CA291C75BB3A3B5D8FC1FB50083B512F0A44C257DA451>I<01
FEEB7FC000FF903803FFF8020F13FE91381F03FFDA3C011380000713780003497E6D4814
C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA435>I<903801FFC0010F13F8017F13
FFD9FF807F3A03FE003FE048486D7E48486D7E48486D7EA2003F81491303007F81A300FF
1680A9007F1600A3003F5D6D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C
6CB5C7FC011F13FC010113C029257DA430>I<9039FF01FF80B5000F13F0023F13FC9138
FE07FFDAF00113800003496C13C00280EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17
FC161FA217F8163F17F06E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8
020F13E0020390C7FC91C9FCACB512FCA42F357EA435>I<9038FE03F000FFEB0FFEEC3F
FF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3
A2B512FEA422257EA427>114 D<90383FF0383903FFFEF8000F13FF381FC00F383F0003
007E1301007C130012FC15787E7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14
F81203C614FC131F9038007FFE140700F0130114007E157E7E157C6C14FC6C14F8EB8001
9038F007F090B512C000F8140038E01FF81F257DA426>I<130FA55BA45BA25B5BA25A12
07001FEBFFE0B6FCA3000390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D
1380903803FE001D357EB425>I<B500F1B538803FFFA43D07FE000FF80003E06C6C0107
15C082028015076C6E6C148015076C01C0ED0F00826E485C017FED801E5D90273FF01E7F
5B17C0DAF83E147C011F90393C3FE078037C14F8903B0FFC781FF0F0A29139FEF00FF101
07EDF9E002FF14FB6D496CB45AA24B7E6D5EA26D496C90C7FCA292C7FC6E5CA2023E147C
023C143C40257EA445>119 D<B539F01FFFF0A4000390398003F8006C01C013E06C1407
D97FE05B6D6C485A6E48C7FC90381FFC3E010F5B903807FEFC6D6C5A5D6D5B6D5B6E7E6E
7E814A7EA24A7E903801F3FFD903E37FD907C17FEB0FC049486C7E4A6C7E013E80496D7E
49130F00016E7EB590383FFFF8A42D257EA432>I<B539F001FFF8A4000390C7EA3F0016
1E6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC0701
0F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5A
A292C8FCA25C141E003F133E387F803C38FFC07C147814F8EBC1F0EBC3E06C485A387D1F
80D83FFFC9FCEA1FFCEA07F02D357EA432>I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin

%%EndSetup
%%Page: 1 1
1 0 bop 2417 90 a Ff(CDMS)29 b(note)f(9807001)23 b Fe(July)i(22,)g
(1998)-17 372 y Ff(A)32 b(Sk)m(etc)m(h)h(and)f(Simple)e(Example)g(of)i
(a)g(Net)f(Based)h(Ob)5 b(ject-Orien)m(ted)32 b(Slo)m(w)f(Con)m(trol)h
(System)e(for)1687 472 y(CDMS)1367 572 y Fe(Stev)n(e)e(Eic)n(h)n
(blatt,)f(F)-7 b(ermilab)-120 846 y Fd(1)132 b(In)l(tro)t(duction)-120
1028 y Fe(Those)24 b(who)h(ha)n(v)n(e)f(sp)r(en)n(t)h(a)g(da)n(y)f(in)h
(the)h(Soudan)e(mine)i(tend)f(to)g(fa)n(v)n(or)f(a)g(remote)h(con)n
(trolled)e(system)i(for)g(writing)f(to)h(and)-120 1128
y(reading)30 b(from)g(the)h(electronics,)g(while)g(those)f(concerned)g
(ab)r(out)h(securit)n(y)f(fa)n(v)n(or)f(the)i(net-blind)g(solution.)46
b(I)31 b(feel)g(that)-120 1227 y(w)n(e)26 b(need)h(a)f(net)h(friendly)f
(D)n(A)n(Q)g(and)h(slo)n(w)e(con)n(trol.)35 b(This)27
b(pap)r(er)f(describ)r(es)g(the)h(design)f(and)g(a)g(partial)g(ob)5
b(ject-orien)n(ted)-120 1327 y(implemen)n(tation)31 b(of)g(a)f
(net-friendly)h(slo)n(w)f(con)n(trol)g(system.)46 b(The)31
b(design)f(is)h(in)n(tended)g(as)g(something)f(to)h(consider)f(for)-120
1427 y(future)21 b(runs)f(or)f(CDMS)j(I)r(I.)e(The)h(particular)e(p)r
(erl-based)g(implemen)n(tation)i(describ)r(ed)f(here)g(is)g(one)h(of)f
(a)g(class)f(of)i(solutions)-120 1526 y(and)27 b(I)h(do)f(not)h
(reccommend)f(it)h(ab)r(o)n(v)n(e)e(others.)-120 1801
y Fd(2)132 b(Idea)-120 1983 y Fe(The)33 b(idea)g(describ)r(ed)h(here)f
(is)g(to)g(pass)g(GPIB)g(commands)f(to)i(the)f(GPIB)g(b)r(o)n(x)g
Fc(via)i Fe(the)e(in)n(ternet)h(ultimately)f(using)g(a)-120
2082 y(clien)n(t)28 b(suc)n(h)f(as)g(Netscap)r(e)h(or)e(telnet)i(to)g
(issue)f(commands.)36 b(Figure)27 b(1)h(sho)n(ws)e(the)i(elemen)n(ts)f
(and)h(in)n(terconnections.)674 4197 y @beginspecial
0 @llx 0 @lly 370 @urx 316 @ury 2808 @rwi @setspecial
%%BeginDocument: electronics.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: electronics.fig
%%Creator: fig2dev Version 3.1 Patchlevel 2
%%CreationDate: Fri Apr 24 17:34:23 1998
%%For: eichblat@fnpx19 (Stephen Eichblatt)
%Magnification: 0.50
%%Orientation: Portrait
%%BoundingBox: 0 0 370 316
%%Pages: 0
%%BeginSetup
%%IncludeFeature: *PageSize Letter
%%EndSetup
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
-79.0 491.0 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y tr xrad yrad sc 0 0 1 startangle endangle arc
	closepath
	savematrix setmatrix
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
 0.03000 0.03000 sc
15.000 slw
% Polyline
n 4127 14198 m 4127 14470 l gs col-1 s gr 
% Polyline
n 4217 14198 m 4308 14243 l 4444 14289 l 4716 14379 l 5034 14651 l gs col-1 s gr 
% Polyline
n 4217 14107 m 4444 13926 l 4671 13699 l 5079 13563 l gs col-1 s gr 
% Polyline
n 4172 13019 m 4081 13382 l 4127 13745 l 4127 14062 l gs col-1 s gr 
% Polyline
n 4036 14107 m 3855 13926 l 3537 13745 l 3220 13473 l gs col-1 s gr 
% Polyline
n 4081 14198 m 3855 14561 l 3582 14833 l gs col-1 s gr 
30.000 slw
% Polyline
n 6710 14597 m 5041 14541 l gs col7 1.00 shd ef gr gs col-1 s gr 
15.000 slw
% Polyline
n 4172 14198 m 4308 14379 l 4580 14878 l gs col-1 s gr 
% Polyline
n 4217 14153 m 4671 14017 l 5034 14017 l gs col-1 s gr 
% Polyline
n 4172 14062 m 4263 13835 l 4671 13291 l gs col-1 s gr 
% Polyline
n 4081 14062 m 3991 13835 l 3719 13246 l gs col-1 s gr 
% Polyline
n 4036 14153 m 3537 14062 l 3174 14062 l gs col-1 s gr 
% Polyline
n 4036 14198 m 3809 14289 l gs col-1 s gr 
/Times-Roman ff 525.00 scf sf
12148 14111 m
gs 1 -1 sc (GPIB) col-1 sh gr
% Polyline
n 11593 13466 m 11488 13466 11488 14336 105 arcto 4 {pop} repeat
  11488 14441 13933 14441 105 arcto 4 {pop} repeat
  14038 14441 14038 13571 105 arcto 4 {pop} repeat
  14038 13466 11593 13466 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 8895 13006 m 9660 13456 l 9975 13456 l 9975 14536 l 8895 14716 l gs col-1 s gr 
% Polyline
n 6960 13231 m 8760 13231 l 8760 14491 l 6960 14491 l cp gs col-1 s gr 
% Polyline
n 6840 13006 m 6735 13006 6735 14611 105 arcto 4 {pop} repeat
  6735 14716 8835 14716 105 arcto 4 {pop} repeat
  8940 14716 8940 13111 105 arcto 4 {pop} repeat
  8940 13006 6840 13006 105 arcto 4 {pop} repeat
 cp gs col-1 s gr 
% Polyline
n 5000 14659 m 5057 13579 l 4150 12990 l 3186 13481 l 3129 14561 l 4036 15150 l
 cp gs col-1 s gr 
% Polyline
n 4296 14222 m 4284 14020 l 4102 13929 l 3933 14041 l 3945 14243 l 4127 14334 l
 cp gs col-1 s gr 
% Polyline
n 4211 14188 m 4205 14087 l 4115 14041 l 4030 14097 l 4036 14198 l 4127 14243 l
 cp gs col-1 s gr 
% Polyline
n 3809 14289 m 3537 14425 l 3129 14561 l gs col-1 s gr 
% Polyline
n 4036 15150 m 4127 14742 l 4127 14470 l gs col-1 s gr 
% Polyline
n 4442 14286 m 4440 13920 l 4123 13739 l 3807 13923 l 3809 14289 l 4127 14470 l
 cp gs col-1 s gr 
% Polyline
n 4696 14390 m 4676 13721 l 4087 13404 l 3517 13756 l 3537 14425 l 4127 14742 l
 cp gs col-1 s gr 
30.000 slw
% Interp Spline
gs n 11491 14072 m
	10365.9 14051.9 9990.9 14042.6 9991 14035 curveto
	9991.0 14035.0 9991.0 14035.0 9991 14035 curveto
gs col7 1.00 shd ef gr  gs col-1 s gr
 gr

% Interp Spline
gs n 13985 11400 m
	14219.2 10993.5 14284.7 10796.7 14247 10613 curveto
	14219.6 10479.5 13973.9 10256.8 13947 10275 curveto
	13945.1 10276.3 13949.9 10285.8 13966 10313 curveto
 gs col-1 s gr
 gr

15.000 slw
% Polyline
n 10050 6975 m 12894 6975 l 13950 7500 l 11025 7500 l cp gs col7 1.00 shd ef gr gs col-1 s gr 
% Polyline
n 11025 7575 m 9900 6975 l 9900 9900 l 11025 10800 l cp gs col7 1.00 shd ef gr gs col-1 s gr 
% Polyline
n 11037 11202 m 9912 10302 l 9912 11127 l 11037 12102 l cp gs col7 1.00 shd ef gr gs col-1 s gr 
7.500 slw
% Polyline
n 12739 11233 m 12739 12133 l gs col-1 s gr 
30.000 slw
% Interp Spline
gs n 14025 14025 m
	14756.1 13210.4 14971.1 12779.2 14885 12300 curveto
	14831.1 12000.0 14610.8 11793.7 14004 11475 curveto
 gs col-1 s gr
 gr

/Bookman-Demi ff 525.00 scf sf
10580 6130 m
gs 1 -1 sc (Front End) col-1 sh gr
/Bookman-Demi ff 525.00 scf sf
3765 11417 m
gs 1 -1 sc (Detectors) col-1 sh gr
7.500 slw
% Interp Spline
gs n 6165 9892 m
	6909.7 10739.8 7284.7 11064.8 7665 11192 curveto
	8154.7 11355.8 8792.2 11312.1 10215 11017 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 6190 9467 m
	7243.4 7917.7 7774.6 7292.7 8315 6967 curveto
	8618.7 6783.9 9317.2 6638.8 9665 6667 curveto
	9817.4 6679.4 10004.9 6754.4 10415 6967 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 6215 9167 m
	7108.0 7680.7 7564.2 7074.5 8040 6742 curveto
	8400.4 6490.2 9208.2 6165.5 9690 6242 curveto
	9964.7 6285.6 10233.5 6473.1 10765 6992 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 6165 8717 m
	7002.4 7271.1 7439.9 6683.6 7915 6367 curveto
	8316.1 6099.6 9205.5 5817.2 9715 5917 curveto
	10072.4 5987.0 10422.4 6243.3 11115 6942 curveto
 gs col-1 s gr
 gr

% Polyline
n 12529 11233 m 12529 12133 l gs col-1 s gr 
15.000 slw
% Polyline
n 11115 11235 m 13980 11235 l 13980 12135 l 11115 12135 l cp gs col-1 s gr 
% Polyline
n 10347 10290 m 9972 10260 l 11127 11145 l 13962 11145 l 13377 10800 l gs col-1 s gr 
/Bookman-Demi ff 525.00 scf sf
6540 16292 m
gs 1 -1 sc (GPIB Server) col-1 sh gr
/Bookman-Demi ff 525.00 scf sf
11765 16292 m
gs 1 -1 sc (GPIB Box) col-1 sh gr
/Bookman-Demi ff 525.00 scf sf
2640 16267 m
gs 1 -1 sc (The Web) col-1 sh gr
7.500 slw
% Polyline
n 13758 11233 m 13758 12133 l gs col-1 s gr 
% Polyline
n 12334 11233 m 12334 12133 l gs col-1 s gr 
% Polyline
n 12147 11233 m 12147 12133 l gs col-1 s gr 
% Polyline
n 11959 11233 m 11959 12133 l gs col-1 s gr 
% Polyline
n 11757 11233 m 11757 12133 l gs col-1 s gr 
% Polyline
n 11554 11233 m 11554 12133 l gs col-1 s gr 
% Polyline
n 11322 11233 m 11322 12133 l gs col-1 s gr 
15.000 slw
% Polyline
n 8940 14896 m 8940 15256 l 8490 15391 l gs col-1 s gr 
% Polyline
n 7815 14941 m 7905 14941 l 7905 15031 l 7815 15031 l cp gs col-1 s gr 
% Polyline
n 7680 14941 m 7770 14941 l 7770 15031 l 7680 15031 l cp gs col-1 s gr 
% Polyline
n 7545 14941 m 7635 14941 l 7635 15031 l 7545 15031 l cp gs col-1 s gr 
% Polyline
n 7410 14941 m 7500 14941 l 7500 15031 l 7410 15031 l cp gs col-1 s gr 
% Polyline
n 7275 14941 m 7365 14941 l 7365 15031 l 7275 15031 l cp gs col-1 s gr 
% Polyline
n 7950 14941 m 8040 14941 l 8040 15031 l 7950 15031 l cp gs col-1 s gr 
% Polyline
n 6780 15076 m 6870 15076 l 6870 15166 l 6780 15166 l cp gs col-1 s gr 
% Polyline
n 6645 15076 m 6735 15076 l 6735 15166 l 6645 15166 l cp gs col-1 s gr 
% Polyline
n 8490 14941 m 8580 14941 l 8580 15031 l 8490 15031 l cp gs col-1 s gr 
% Polyline
n 8355 14941 m 8445 14941 l 8445 15031 l 8355 15031 l cp gs col-1 s gr 
% Polyline
n 8220 14941 m 8310 14941 l 8310 15031 l 8220 15031 l cp gs col-1 s gr 
% Polyline
n 8085 14941 m 8175 14941 l 8175 15031 l 8085 15031 l cp gs col-1 s gr 
% Polyline
n 7140 14941 m 7230 14941 l 7230 15031 l 7140 15031 l cp gs col-1 s gr 
7.500 slw
% Polyline
n 11325 7575 m 11325 10800 l gs col-1 s gr 
30.000 slw
% Ellipse
n 5534 8740 693 281 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col-1 s gr

% Ellipse
n 5534 9133 693 281 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col-1 s gr

% Ellipse
n 5534 9471 693 281 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col-1 s gr

% Ellipse
n 5534 9846 693 281 0 360 DrawEllipse gs col7 1.00 shd ef gr gs col-1 s gr

15.000 slw
% Polyline
n 11100 7575 m 13950 7575 l 13950 10800 l 11100 10800 l cp gs col-1 s gr 
% Polyline
n 7005 14941 m 7095 14941 l 7095 15031 l 7005 15031 l cp gs col-1 s gr 
% Polyline
n 6870 14941 m 6960 14941 l 6960 15031 l 6870 15031 l cp gs col-1 s gr 
% Polyline
n 6735 14941 m 6825 14941 l 6825 15031 l 6735 15031 l cp gs col-1 s gr 
7.500 slw
% Polyline
n 13950 9825 m 13725 9825 l 13725 10800 l gs col-1 s gr 
% Polyline
n 11775 7575 m 11775 10800 l gs col-1 s gr 
% Polyline
n 11550 7575 m 11550 10800 l gs col-1 s gr 
15.000 slw
% Polyline
n 6915 15076 m 7005 15076 l 7005 15166 l 6915 15166 l cp gs col-1 s gr 
% Polyline
n 7455 15211 m 7545 15211 l 7545 15301 l 7455 15301 l cp gs col-1 s gr 
% Polyline
n 7320 15211 m 7410 15211 l 7410 15301 l 7320 15301 l cp gs col-1 s gr 
% Polyline
n 7185 15211 m 7275 15211 l 7275 15301 l 7185 15301 l cp gs col-1 s gr 
% Polyline
n 7050 15211 m 7140 15211 l 7140 15301 l 7050 15301 l cp gs col-1 s gr 
% Polyline
n 6915 15211 m 7005 15211 l 7005 15301 l 6915 15301 l cp gs col-1 s gr 
% Polyline
n 7590 15211 m 7680 15211 l 7680 15301 l 7590 15301 l cp gs col-1 s gr 
% Polyline
n 6690 14896 m 8940 14896 l 8490 15391 l 6150 15391 l cp gs col-1 s gr 
% Polyline
n 8265 15211 m 8355 15211 l 8355 15301 l 8265 15301 l cp gs col-1 s gr 
% Polyline
n 8130 15211 m 8220 15211 l 8220 15301 l 8130 15301 l cp gs col-1 s gr 
% Polyline
n 7995 15211 m 8085 15211 l 8085 15301 l 7995 15301 l cp gs col-1 s gr 
% Polyline
n 7860 15211 m 7950 15211 l 7950 15301 l 7860 15301 l cp gs col-1 s gr 
% Polyline
n 7725 15211 m 7815 15211 l 7815 15301 l 7725 15301 l cp gs col-1 s gr 
% Polyline
n 6780 15211 m 6870 15211 l 6870 15301 l 6780 15301 l cp gs col-1 s gr 
% Polyline
n 7725 15076 m 7815 15076 l 7815 15166 l 7725 15166 l cp gs col-1 s gr 
% Polyline
n 7590 15076 m 7680 15076 l 7680 15166 l 7590 15166 l cp gs col-1 s gr 
% Polyline
n 7455 15076 m 7545 15076 l 7545 15166 l 7455 15166 l cp gs col-1 s gr 
% Polyline
n 7320 15076 m 7410 15076 l 7410 15166 l 7320 15166 l cp gs col-1 s gr 
% Polyline
n 7185 15076 m 7275 15076 l 7275 15166 l 7185 15166 l cp gs col-1 s gr 
% Polyline
n 7050 15076 m 7140 15076 l 7140 15166 l 7050 15166 l cp gs col-1 s gr 
% Polyline
n 7860 15076 m 7950 15076 l 7950 15166 l 7860 15166 l cp gs col-1 s gr 
% Polyline
n 6645 15211 m 6735 15211 l 6735 15301 l 6645 15301 l cp gs col-1 s gr 
% Polyline
n 6510 15211 m 6600 15211 l 6600 15301 l 6510 15301 l cp gs col-1 s gr 
% Polyline
n 8400 15076 m 8490 15076 l 8490 15166 l 8400 15166 l cp gs col-1 s gr 
% Polyline
n 8265 15076 m 8355 15076 l 8355 15166 l 8265 15166 l cp gs col-1 s gr 
% Polyline
n 8130 15076 m 8220 15076 l 8220 15166 l 8130 15166 l cp gs col-1 s gr 
% Polyline
n 7995 15076 m 8085 15076 l 8085 15166 l 7995 15166 l cp gs col-1 s gr 
$F2psEnd
rs

%%EndDocument
 @endspecial 170 4379 a(Figure)f(1:)36 b Fc(Con\014gur)l(ation)30
b(of)h(the)f(Slow)g(\(GPIB\))h(Contr)l(ol)f(of)g(the)g(CDMS)g(ele)l
(ctr)l(onics)h(at)e(F)-6 b(ermilab.)5 4666 y Fe(In)28
b(this)h(sc)n(heme,)f(the)g(user)g(tells)h(the)f(clien)n(t)h(\()p
Fc(e.g.)q Fe(Netscap)r(e\))g(what)f(command)g(he)g(w)n(an)n(ts)g(to)g
(p)r(erform)g(on)g(the)h(fron)n(t)-120 4766 y(end)d(electronics.)35
b(The)26 b(clien)n(t)g(forms)f(a)g(request)g(and)h(sends)f(it)i
Fc(via)f Fe(the)h(w)n(eb)e(to)h(the)g(serv)n(er,)e(whic)n(h)i(then)g
(issues)f(a)h(GPIB)-120 4865 y(command)i(to)g(the)h(GPIB)e(in)n
(terface)h(b)r(o)n(x,)g(whic)n(h)g(sends)g(the)h(command)e(to)i(the)f
(crate)g(con)n(troller)e(and)i(on)n(to)g(the)g(cards.)-120
4965 y(A)h(read)f(op)r(eration)f(will)i(return)f(data)h(from)f(the)h
(crate)f(to)g(the)h(GPIB)g(serv)n(er)d(and)j(bac)n(k)f(to)g(the)h
(clien)n(t)g(who)f(originated)-120 5065 y(the)g(request.)1809
5356 y(1)p eop
%%Page: 2 2
2 1 bop 5 90 a Fe(Compared)19 b(with)i(a)f(non-net)n(w)n(ork)e
(solution)i(there)g(are)f(a)h(few)h(additional)f(la)n(y)n(ers)e(of)i
(in)n(tercomm)n(unication)f(to)i(p)r(erform)-120 190
y(an)n(y)27 b(action.)-120 459 y Fd(3)132 b(F)-11 b(ramew)l(ork)-120
658 y Fb(3.1)112 b(The)38 b(Ob)6 b(jects)38 b(\(and)g(a)g(bit)e(of)i
(jargon\))-120 811 y Fe(An)27 b(ob)5 b(ject-orien)n(ted)24
b(approac)n(h)h(is)h(natural)f(for)g(con)n(trolling)g(hardw)n(are)f
(where)i(ob)5 b(ject)26 b(de\014nitions)g(align)f(with)i(ph)n(ysical)
-120 911 y(ob)5 b(jects.)38 b(Figure)27 b Ff(??)i Fe(is)f(a)f(diagram)g
(of)h(the)g(ob)5 b(jects)28 b(used)g(in)h(implemen)n(ting)f(the)g
(design,)g(and)g(their)g(in)n(terconnections.)-120 1010
y(Eac)n(h)f(name)h(within)h(a)f(cloud)f(represen)n(ts)g(an)h
Fc(obje)l(ct)p Fe(,)h(whic)n(h)f(can)g(b)r(e)h(though)n(t)f(of)g(as)f
(a)h(v)-5 b(ariable)27 b(t)n(yp)r(e)i(con)n(taining)e(b)r(oth)-120
1110 y(data)g(and)h(metho)r(ds)f(\(or)g(subroutines\).)37
b(Eac)n(h)26 b(ob)5 b(ject)28 b(is)f(usually)g(de\014ned)h(in)g(a)f
(separate)f(\014le.)674 2286 y @beginspecial 0 @llx 0
@lly 513 @urx 234 @ury 2808 @rwi @setspecial
%%BeginDocument: objects.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: objects.fig
%%Creator: fig2dev Version 3.1 Patchlevel 2
%%CreationDate: Fri Apr 24 17:23:17 1998
%%For: eichblat@fnpx19 (Stephen Eichblatt)
%Magnification: 0.50
%%Orientation: Portrait
%%BoundingBox: 0 0 513 234
%%Pages: 0
%%BeginSetup
%%IncludeFeature: *PageSize Letter
%%EndSetup
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
-7.0 249.0 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
	/endangle exch def
	/startangle exch def
	/yrad exch def
	/xrad exch def
	/y exch def
	/x exch def
	/savematrix mtrx currentmatrix def
	x y tr xrad yrad sc 0 0 1 startangle endangle arc
	closepath
	savematrix setmatrix
	} def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
 0.03000 0.03000 sc
30.000 slw
% Polyline
n 9225 5325 m 9225 5325 l gs col-1 s gr
% Polyline
 [133.3] 0 sd
n 4950 4050 m 7725 3825 l gs col-1 s gr  [] 0 sd
15.000 slw
% Polyline
n 6975 1950 m 7350 6300 l gs col-1 s gr 
% Polyline
n 8250 1650 m 13500 6000 l gs col-1 s gr 
7.500 slw
% Ellipse
n 1950 6525 168 168 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 5082 3375 168 168 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

15.000 slw
% Polyline
n 6600 1875 m 5025 3450 l gs col-1 s gr 
% Polyline
n 7650 1875 m 8325 3450 l gs col-1 s gr 
30.000 slw
% Polyline
 [133.3] 0 sd
n 9150 5325 m 9150 6075 l gs col-1 s gr  [] 0 sd
/Times-Roman ff 600.00 scf sf
9375 6300 m
gs 1 -1 sc (n) col-1 sh gr
/Times-Roman ff 600.00 scf sf
7425 3675 m
gs 1 -1 sc (1) col-1 sh gr
/Times-Roman ff 600.00 scf sf
13050 6750 m
gs 1 -1 sc (1) col-1 sh gr
/Times-Roman ff 600.00 scf sf
10575 7575 m
gs 1 -1 sc (n) col-1 sh gr
% Polyline
 [133.3] 0 sd
n 10425 7125 m 13575 7350 l gs col-1 s gr  [] 0 sd
% Polyline
n 10425 7125 m 10425 7125 l gs col-1 s gr
% Polyline
 [133.3] 0 sd
n 10350 4800 m 13650 7350 l gs col-1 s gr  [] 0 sd
15.000 slw
% Polyline
n 2925 5025 m 1950 6600 l gs col-1 s gr 
% Polyline
n 4050 4800 m 4575 6225 l gs col-1 s gr 
7.500 slw
% Ellipse
n 13425 5925 168 168 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

/Times-Roman ff 600.00 scf sf
13650 7050 m
gs 1 -1 sc (netConnection) col-1 sh gr
% Interp Spline
gs n 2550 3150 m
	2712.2 3217.1 2787.2 3235.9 2850 3225 curveto
	2923.2 3212.3 3001.8 3087.7 3075 3075 curveto
	3242.5 3046.0 3540.8 3117.4 3675 3225 curveto
	3747.8 3283.4 3736.6 3470.3 3825 3525 curveto
	4141.4 3720.5 4806.0 3214.2 5025 3525 curveto
	5228.5 3813.7 4807.8 4349.0 4650 4575 curveto
	4567.1 4693.7 4371.1 4917.7 4200 4950 curveto
	4130.7 4963.1 4046.6 4858.1 3975 4875 curveto
	3815.0 4912.8 3762.5 5213.9 3600 5250 curveto
	3331.0 5309.7 2953.3 5063.6 2775 4950 curveto
	2710.3 4908.8 2610.6 4768.7 2550 4725 curveto
	2454.1 4655.9 2186.7 4613.4 2100 4500 curveto
	2034.1 4413.8 2070.4 4209.8 2025 4125 curveto
	1987.2 4054.5 1816.9 4004.2 1800 3900 curveto
	1773.3 3735.3 1938.1 3541.9 2025 3450 curveto
	2103.3 3367.2 2234.6 3292.2 2550 3150 curveto
 gs col-1 s gr
 gr

/Times-Roman ff 600.00 scf sf
2625 4575 m
gs 1 -1 sc (Module) col-1 sh gr
/Times-Roman ff 600.00 scf sf
2250 4050 m
gs 1 -1 sc (Electronic) col-1 sh gr
% Interp Spline
gs n 14325 6000 m
	14496.6 6049.7 14571.6 6068.4 14625 6075 curveto
	14728.6 6087.7 14972.5 6075.0 15075 6075 curveto
	15160.4 6075.0 15356.6 6036.3 15450 6075 curveto
	15529.3 6107.8 15600.5 6264.5 15675 6300 curveto
	16010.4 6460.0 16745.2 6085.1 17100 6450 curveto
	17342.2 6699.1 17365.6 7143.7 17175 7425 curveto
	16929.9 7786.7 16294.9 7803.0 15975 7800 curveto
	15914.7 7799.4 15805.0 7733.9 15750 7725 curveto
	15628.3 7705.2 15344.9 7718.4 15225 7725 curveto
	15070.0 7733.6 14730.8 7863.4 14550 7800 curveto
	14465.3 7770.3 14412.5 7603.0 14325 7575 curveto
	14199.5 7534.8 14004.3 7699.5 13875 7650 curveto
	13738.9 7597.9 13616.1 7392.3 13575 7275 curveto
	13530.0 7146.8 13597.2 6872.2 13575 6750 curveto
	13547.9 6600.8 13237.7 6341.8 13350 6150 curveto
	13479.6 5928.6 13723.4 5891.1 14325 6000 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 6975 825 m
	7318.1 684.9 7468.1 628.7 7575 600 curveto
	7676.5 572.8 7904.4 495.6 8025 525 curveto
	8223.3 573.4 8605.8 705.4 8625 975 curveto
	8630.4 1051.2 8499.7 1077.1 8475 1125 curveto
	8422.0 1228.0 8482.0 1469.1 8400 1575 curveto
	8267.3 1746.4 7889.3 1825.7 7725 1875 curveto
	7623.5 1905.5 7379.4 1941.4 7275 1950 curveto
	7154.8 1960.0 6873.9 1979.2 6750 1950 curveto
	6631.2 1922.0 6388.9 1827.5 6300 1725 curveto
	6216.2 1628.4 6106.1 1423.6 6150 1275 curveto
	6194.4 1124.5 6425.3 1029.2 6525 975 curveto
	6598.9 934.8 6711.4 897.3 6975 825 curveto
 gs col-1 s gr
 gr

/Times-Roman ff 600.00 scf sf
6600 1575 m
gs 1 -1 sc (Object) col-1 sh gr
/Times-Roman ff 600.00 scf sf
900 7650 m
gs 1 -1 sc (RTF) col-1 sh gr
% Interp Spline
gs n 825 6675 m
	995.9 6691.4 1070.9 6691.4 1125 6675 curveto
	1190.1 6655.3 1276.8 6537.7 1350 6525 curveto
	1517.5 6496.0 1815.8 6567.4 1950 6675 curveto
	2022.8 6733.4 2053.9 6911.1 2100 6975 curveto
	2172.8 7076.1 2413.3 7230.2 2475 7350 curveto
	2528.0 7453.1 2602.2 7669.6 2550 7800 curveto
	2507.1 7907.2 2323.4 7979.6 2250 8025 curveto
	2217.2 8045.3 2139.6 8090.7 2100 8100 curveto
	2011.5 8120.9 1810.7 8106.1 1725 8100 curveto
	1603.8 8091.4 1329.8 8009.4 1200 8025 curveto
	1101.2 8036.9 936.4 8179.6 825 8175 curveto
	686.2 8169.2 441.7 8125.4 375 7950 curveto
	321.4 7809.2 529.6 7686.4 525 7575 curveto
	521.1 7482.5 400.3 7348.8 375 7275 curveto
	346.1 7190.8 237.6 7018.7 300 6900 curveto
	369.9 6767.0 501.2 6710.8 825 6675 curveto
 gs col-1 s gr
 gr

% Interp Spline
gs n 7950 6075 m
	8122.6 6075.2 8197.6 6069.2 8250 6051 curveto
	8312.7 6029.2 8401.8 5913.7 8475 5901 curveto
	8642.5 5872.0 8940.8 5943.4 9075 6051 curveto
	9147.8 6109.4 9158.7 6291.3 9225 6351 curveto
	9351.6 6465.0 9695.7 6491.0 9825 6576 curveto
	9999.6 6690.9 10455.2 6892.1 10425 7200 curveto
	10389.9 7557.9 9885.2 7734.7 9600 7776 curveto
	9532.8 7785.7 9446.5 7684.1 9375 7701 curveto
	9215.0 7738.8 9162.5 8039.9 9000 8076 curveto
	8731.0 8135.7 8353.4 7889.6 8175 7776 curveto
	8110.4 7734.8 8010.6 7594.7 7950 7551 curveto
	7854.1 7481.9 7586.6 7439.4 7500 7326 curveto
	7434.1 7239.8 7470.4 7035.8 7425 6951 curveto
	7387.2 6880.5 7216.9 6830.2 7200 6726 curveto
	7173.3 6561.3 7329.3 6366.2 7425 6276 curveto
	7506.5 6199.2 7637.7 6142.9 7950 6051 curveto
 gs col-1 s gr
 gr

/Times-Roman ff 600.00 scf sf
3975 7350 m
gs 1 -1 sc (BLIP 9U) col-1 sh gr
% Ellipse
n 7350 6300 168 168 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 4500 6150 168 168 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Ellipse
n 8232 3300 168 168 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr

% Interp Spline
gs n 4275 6150 m
	4437.2 6217.1 4512.2 6235.9 4575 6225 curveto
	4648.2 6212.3 4726.8 6087.7 4800 6075 curveto
	4967.5 6046.0 5265.8 6117.4 5400 6225 curveto
	5472.8 6283.4 5483.7 6465.3 5550 6525 curveto
	5676.6 6639.0 6025.6 6613.5 6150 6750 curveto
	6316.0 6932.1 6455.9 7318.0 6375 7575 curveto
	6319.6 7751.1 6096.1 7917.7 5925 7950 curveto
	5855.7 7963.1 5771.5 7858.1 5700 7875 curveto
	5540.0 7912.8 5487.5 8213.9 5325 8250 curveto
	5056.0 8309.7 4678.4 8063.6 4500 7950 curveto
	4435.4 7908.8 4335.6 7768.7 4275 7725 curveto
	4179.1 7655.9 3911.7 7613.4 3825 7500 curveto
	3759.1 7413.8 3795.4 7209.8 3750 7125 curveto
	3712.2 7054.5 3541.9 7004.2 3525 6900 curveto
	3498.3 6735.3 3654.3 6540.2 3750 6450 curveto
	3831.5 6373.2 3962.7 6316.9 4275 6225 curveto
 gs col-1 s gr
 gr

/Times-Roman ff 600.00 scf sf
7650 6750 m
gs 1 -1 sc (GPIB ) col-1 sh gr
/Times-Roman ff 600.00 scf sf
7650 7305 m
gs 1 -1 sc (command) col-1 sh gr
% Interp Spline
gs n 8325 3375 m
	8501.6 3391.9 8579.1 3391.9 8635 3375 curveto
	8700.1 3355.3 8786.8 3237.7 8860 3225 curveto
	9027.5 3196.0 9325.8 3267.4 9460 3375 curveto
	9532.8 3433.4 9534.5 3617.2 9610 3675 curveto
	9779.9 3805.1 10180.3 3636.3 10350 3825 curveto
	10553.2 4050.9 10535.3 4481.6 10435 4725 curveto
	10370.0 4882.7 10156.1 5067.7 9985 5100 curveto
	9915.7 5113.1 9831.5 5008.1 9760 5025 curveto
	9600.0 5062.8 9547.5 5363.9 9385 5400 curveto
	9116.0 5459.7 8738.4 5213.6 8560 5100 curveto
	8495.4 5058.8 8408.0 4911.4 8335 4875 curveto
	8211.1 4813.2 7922.0 4846.4 7800 4800 curveto
	7677.9 4753.5 7399.5 4693.2 7350 4500 curveto
	7303.6 4318.7 7532.4 4153.0 7585 4050 curveto
	7637.2 3947.9 7714.3 3690.2 7810 3600 curveto
	7891.5 3523.2 8022.7 3466.9 8335 3375 curveto
 gs col-1 s gr
 gr

/Times-Roman ff 600.00 scf sf
7650 4650 m
gs 1 -1 sc (GPIB Box) col-1 sh gr
$F2psEnd
rs

%%EndDocument
 @endspecial -120 2468 a(Figure)k(2:)43 b Fc(A)32 b(diagr)l(am)j(of)e
(obje)l(cts)g(in)g(the)g(slow)g(c)l(ontr)l(ol)g(system.)47
b(Solid)34 b(lines)f(r)l(epr)l(esent)g(an)g(`is-a')h(r)l(elationship,)h
(and)-120 2568 y(the)30 b(dotte)l(d)g(lines)g(ar)l(e)g(`has-a')i(r)l
(elationships.)5 2834 y Fe(A)i(dotted)g(line)g(in)h(\014gure)e(2)h
(indicates)f(a)h Fc(`has)j(a')f(r)l(elationship)p Fe(,)i(also)33
b(kno)n(wn)g(as)h(an)f Fc(aggr)l(e)l(gate)p Fe(.)57 b(The)34
b(n)n(um)n(b)r(er)g(at)-120 2933 y(one)d(end)g(of)g(the)g(line)g(tells)
h(the)f(n)n(um)n(b)r(er)g(of)g(ob)5 b(jects)30 b(con)n(tained.)47
b(Sp)r(eci\014cally)30 b(it)i(means)e(that)i(the)f(class)f
Fa(Electronic)-120 3033 y(Module)21 b Fe(has,)k(as)e(part)g(of)h(its)g
(data,)g(one)g(v)-5 b(ariable)22 b(of)i(t)n(yp)r(e)g
Fa(GPIB)42 b(box)p Fe(,)24 b(whic)n(h)g(in)g(turn)g(has)f(a)g
Fa(netConnection)c Fe(as)k(a)h(data)-120 3133 y(mem)n(b)r(er.)5
3232 y(A)i(solid)g(line)g(indicates)g(an)g Fc(`is-a')j(r)l(elationship)
p Fe(,)g(or)c Fc(inheritanc)l(e)p Fe(.)38 b(The)26 b(solid)f(blac)n(k)h
(dot)g(marks)f(the)h(sub-class.)35 b(An)n(y)-120 3332
y(data)28 b(mem)n(b)r(ers)g(or)g(metho)r(ds)h(de\014ned)f(in)h(a)f
(paren)n(t)g(class)g(are)f(a)n(v)-5 b(ailable)27 b(in)i(the)g
(inherited)g(classes.)38 b(All)29 b(of)g(the)g(ob)5 b(jects)-120
3432 y(sho)n(wn)26 b(inherit)h(from)f(the)h Fa(Object)d
Fe(class,)i(directly)h(or)f(indirectly)-7 b(.)36 b(So)27
b(an)n(ything)f(that)h(an)f Fa(Object)e Fe(can)j(do)f(can)g(b)r(e)h
(done)-120 3531 y(b)n(y)d(an)n(y)f(of)i(the)f(classes.)35
b(F)-7 b(or)23 b(example)h(the)h(Prin)n(t)e(command)h(is)g(de\014ned)h
(in)g Fa(Object)c Fe(and)k(prin)n(ts)e(the)i(name)f(of)g(the)h(class.)5
3631 y(The)35 b Fa(GPIB)42 b(box)34 b Fe(class)h(is)g(the)h(analog)e
(of)i(Dennis's)g(GPIB)f(In)n(terface)f(b)r(o)n(x.)61
b(the)36 b Fa(Electronic)j(Module)33 b Fe(passes)i(it)-120
3730 y(argumen)n(ts)23 b(suc)n(h)i(as)e Fa(gpibwrite)40
b(0040)i(0FFF)p Fe(,)23 b(and)i(it)g(creates)e(a)h Fa(GPIB)42
b(command)22 b Fe(whic)n(h)j(is)f(a)g(pure)h(GPIB)f(string.)35
b(The)-120 3830 y(data)26 b(mem)n(b)r(ers)g(of)h(the)g
Fa(GPIB)42 b(box)25 b Fe(are)h(things)g(suc)n(h)g(as)g(the)h(GPIB)f
(address)g(of)g(the)h(b)r(o)n(x)f(\(18\),)h(and)f(the)h(GPIB)f(headers)
-120 3930 y(and)h(tails.)5 4029 y(The)e Fa(netConnection)20
b Fe(class)k(`talks')h(to)g(the)g(GPIB)g(serv)n(er.)34
b(Its)26 b(input)g(is)f(a)f Fa(GPIB)42 b(Command)p Fe(,)23
b(Its)j(metho)r(ds)f(translate)-120 4129 y(it)33 b(to)g(a)g(set)f(of)h
(strings)f(and)h(lengths,)h(sends)f(them)g(to)g(the)g(serv)n(er)e(and)i
(receiv)n(es)e(the)j(status)e(in)h(the)h(language)d(of)i(the)-120
4229 y(GPIB)27 b(proto)r(col[1)n(].)37 b(Its)28 b(data)f(mem)n(b)r(ers)
g(include)h(the)g(hostname)f(and)h(p)r(ort)f(n)n(um)n(b)r(er)h(of)f
(the)h(serv)n(er.)5 4328 y(The)23 b(similarit)n(y)f(of)h(\014gures)f(2)
h(and)f(1)h(are)f(ob)n(vious.)34 b(The)23 b(adv)-5 b(an)n(tage)22
b(of)h(an)g(ob)5 b(ject)23 b(orien)n(ted)f(programming)f(language)-120
4428 y(is)28 b(that)g(the)g(same)f(similarit)n(y)g(exists)h(b)r(et)n(w)
n(een)g(the)g(ob)5 b(ject)28 b(diagram)e(and)i(the)g(co)r(de)g(that)g
(implemen)n(ts)g(it.)38 b(This)28 b(mak)n(es)-120 4527
y(an)36 b(easy)g(mapping)g(from)g(co)r(de)g(to)g(concept)g(and)g
(vice-v)n(ersa,)h(so)e(the)i(co)r(de)f(is)h(more)e(readable)g(and)h
(therefore)g(more)-120 4627 y(\015exible.)-120 4854 y
Fb(3.2)112 b(Getting)37 b(it)f(on)h(the)h(W)-9 b(eb)-120
5008 y Fe(Once)30 b(y)n(ou)h(ha)n(v)n(e)e(a)i(standalone)f(executable)g
(program,)g(it)h(is)g(a)g(simple)g(matter)f(to)h(create)f(a)h(w)n(eb)f
(form)h(that)g(runs)g(the)-120 5107 y(program)i(using)h(the)i
Fc(Common)h(Gateway)h(Interfac)l(e)p Fe(,)f(or)d(cgi)h(programming)d
([3].)59 b(The)35 b(idea)f(is)h(to)g(write)g(a)f(program)1809
5356 y(2)p eop
%%Page: 3 3
3 2 bop -120 90 a Fe(whic)n(h)28 b(reads)e(its)i(inputs)g(from)f(a)g(w)
n(eb)h(request,)f(and)g(returns)g(a)g(w)n(eb)h(page)e(for)h(the)h(bro)n
(wser)e(to)h(displa)n(y)-7 b(.)5 190 y(So)30 b(the)h(user)g(in)n
(terface)f(is)g(a)h(w)n(eb)f(page,)h(whic)n(h)g(ev)n(ery)n(one)e(kno)n
(ws)h(and)g(lo)n(v)n(es.)45 b(Figure)31 b(3)f(sho)n(ws)g(the)h(w)n(eb)g
(page)f(for)-120 289 y(doing)d(the)h(lo)n(w-lev)n(el)e(read)h(and)g
(write)h(to)f(the)h(GPIB)f(b)r(o)n(x,)g Fc(\022)-42 b(a)30
b(la)58 b Fe(Dennis's)28 b(vi.)674 2379 y @beginspecial
48 @llx 178 @lly 564 @urx 614 @ury 2808 @rwi @setspecial
%%BeginDocument: cgipage.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/eichblat/cgipic.ps
%%Creator: XV Version 3.10a  Rev: 12/29/94  -  by John Bradley
%%BoundingBox: 48 178 564 614
%%Pages: 1
%%DocumentFonts:
%%EndComments
%%EndProlog

%%Page: 1 1

% remember original state
/origstate save def

% build a temporary dictionary
20 dict begin

% define string to hold a scanline's worth of data
/pix 516 string def

% define space for color conversions
/grays 516 string def  % space for gray scale line
/npixls 0 def
/rgbindx 0 def

% lower left corner
48 178 translate

% size of image (on paper, in 1/72inch coords)
516.02400 436.03200 scale

516 436 8			% dimensions of data
[516 0 0 -436 0 436]		% mapping matrix
{currentfile pix readhexstring pop}
image

696969696969696969696969696969696969696969696923696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969236969696969696969696969
696969696969696969696969
696969696969696969696969696969696969696969692323696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696923236969696969696969696969
696969696969696969696923
69694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c23
69694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c23
69694c4c2323232323232323232323232323232323232323692323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323236923232323232323232323
2323232323232323694c4c23
69694c4c2323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
2323232323232369694c4c23
69694c4c2323696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969236969696969696969696969
6969696969692369694c4c23
69694c4c2323696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696969696969696969696969696969
696969696969696969696969696969696969696969696923236969696969696969696969
6969696969232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4cfafafafa4c4c4c4cfafafafafa4c4c4cfafa4c4c4c4c4c4c4c4cfafafafafa4c
4c4cfafafafafafa4c4cfafa4c4cfafafafafafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafafa4c4cfafa4c4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4cfafa4c4cfafa4c4cfafa4c4c4cfafa4c4cfafa4c4c4c4c4c4c4cfafa4c4c4cfafa
4c4cfafa4c4c4cfafa4cfafa4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafafa4c4cfafa4c4cfafafafa4c4cfafafafa4c4cfafafafa4c
4c4cfafafafa4c4c4cfafafafa4c4cfafa4cfafa4c4c4cfafafafa4c4c4cfafa4c4c4c4c
4c4cfafa4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4cfafa4c4c4c4c4c4c
4c4cfafa4c4c4cfafa4cfafa4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4cfa4cfafa4cfafa4c4cfafa4c4cfafa4c4cfafa4c4cfafa
4cfafa4c4cfafa4cfafa4c4cfafa4cfafafa4cfafa4cfafa4c4cfafa4c4cfafa4c4c4c4c
4c4cfafa4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4cfafa4c4c4c4c4c4c
4c4cfafa4c4c4cfafa4cfafa4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4cfa4cfafa4cfafa4c4cfafa4c4cfafa4c4cfafafa4c4c4c
4cfafa4c4c4c4c4c4c4c4c4cfafa4cfafa4c4cfafa4cfafa4c4cfafa4c4c4c4c4c4c4c4c
4c4cfafa4c4c4c4c4c4cfafa4c4cfafafafa4c4cfafa4c4c4c4c4c4cfafa4c4cfafafafa
4c4cfafafafafafa4c4cfafa4c4cfafafafafafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c69696969696969
6969694c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4c4cfafafa4cfafafafafafa4c4cfafa4c4c4c4cfafafa4c
4cfafa4c4c4c4c4c4cfafafafafa4cfafa4c4cfafa4cfafafafafafa4c4c4c4c4c4c4c4c
4c4cfafa4c4c4c4c4c4cfafa4c4c4c4cfafa4c4cfafa4c4c4c4c4c4cfafa4c4c4c4cfafa
4c4cfafa4c4c4c4c4c4cfafa4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c694c4c4c4c4c4c
4c4c234c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4c4cfafafa4cfafa4c4c4c4c4c4cfafa4c4c4c4c4cfafafa
4cfafa4c4c4c4c4cfafa4c4cfafa4cfafa4c4cfafa4cfafa4c4c4c4c4c4c4c4c4c4c4c4c
4c4cfafa4c4c4c4c4c4cfafa4c4c4c4cfafa4c4cfafa4c4c4c4c4c4cfafa4c4c4c4cfafa
4c4cfafa4c4c4c4c4c4cfafa4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c694c4c4c4c4c4c
4c4c234c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4c4c4cfafa4cfafa4c4cfafa4c4cfafa4cfafafa4c4cfafa
4cfafa4c4cfafa4cfafa4c4cfafa4cfafafa4cfafa4cfafa4c4cfafa4c4cfafa4c4c4c4c
4c4c4cfafa4c4cfafa4c4cfafa4c4c4cfafa4c4cfafa4c4c4c4c4c4c4cfafa4c4c4cfafa
4c4cfafa4c4c4c4c4c4cfafa4c4cfafa4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c69232323232323
2323234c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4cfafa4c4c4cfafa4c4cfafafafa4c4c4c4cfafa4c4cfafafafa4c
4c4cfafafafa4c4c4cfafafa4cfafafafa4cfafa4c4c4cfafafafa4c4c4cfafa4c4c4c4c
4c4c4c4cfafafafa4c4c4c4cfafafafa4cfa4c4cfafa4c4c4c4c4c4c4c4cfafafafa4cfa
4c4cfafa4c4c4c4c4c4cfafa4c4cfafafafafafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4cfafa4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
69694c4c232369694c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c
4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c232369694c4c4c4c4c4c4c4c4c
4c4c4c4c4c232369694c4c23
692323232323692323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323236923232323232323232323
232323232323236923232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323232323232323232323232323232323232323232323232323
232323232323232323232323
696969696923e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8236969696969
696969692323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c070236969696923
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0000000000000c0c000c0c000c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000c0c0c0c0c0c000c0c000c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c000c0c0c0000000c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c00000c000c0c000c00000
00c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c000c0c0c000c0c0c0000000c0c0
00c0c0c000c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0
000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0000000c0
c0c000c000c0c000c0c0c000c000c0c000c0c0c000c0c0c000c0c000c00000c0c0c000c0
c0c0000000c0c0c0c0000000c0c0000000c0c0000000c0c0c000c000c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c0c0000000c0c0c000c0c000c00000c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c000c0c000c0c0c000c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c00000c0c000c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c000c0c0c000c0c000c0c0c000c0
00c0c0c000c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c000
c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c000c0c0c000
c0c00000c00000c000c0c00000c00000c000c0c000c0c0c000c0c00000c0c000c0c000c0
c000c0c0c000c0c000c0c0c000c0c000c0c000c0c0c000c0c00000c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000c0c0c000c0c000c0c00000c0c000c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c00000000000c0c0c000c0c000c0c000c0c0c000c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000c0c000c0c0c000c0c000c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c000c0c0c000c0c000c0c0c000c0
c000c0c000c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0000000c0c000
c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c000c0c0c000
c0c000c0c000c0c000c0c000c0c000c0c000c0c000c0c0c000c0c000c0c0c000c0c000c0
c000c0c0c0c0c0c0c0c0c0c000c0c000c0c000c0c0c000c0c000c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000000000000000c0c000c0c0c000c0c000c0c000c0c0c000c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c000c0c00000000000c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c0c000c0c000c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c000c0c0c0c000c0c00000000000c0
c000c0c000c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000
c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c000c0c0c000
c0c000c0c000c0c000c0c000c0c000c0c000c0c000c0c0c000c0c000c0c0c000c0c000c0
c000c0c0c0c0c0c0c000000000c0c000c0c000c0c0c000c0c000c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c00000000000c0c000c0c000c0c0c000c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c000c0c000c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c0c000c0c000c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c000c0c0c0c000c0c000c0c0c0c0c0
c000c000c000c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000
c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c000c0c0c000
c0c000c0c000c0c000c0c000c0c000c0c000c0c000c0c0c000c0c000c0c0c000c0c000c0
c000c0c0c0c0c0c000c0c0c000c0c000c0c000c0c0c000c0c000c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000c0c0c0c0c0c000c0c000c0c0c000c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c000c0c000c0c0c000c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c00000c0c000c0c000
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000c0c0c000c0
c0c000c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c00000c0c000
c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c000c0c0c000
c0c000c0c000c0c000c0c000c0c000c0c000c0c000c0c00000c0c000c0c0c000c0c000c0
c000c0c0c000c0c000c0c0c000c0c000c0c000c0c0c000c0c000c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c000c0c0c000c0c000c0c00000c0c000c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c000c0c000c0c0c0000000c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000c0c0c00000c000c0c000c0c000
00c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c000c0c0c0000000c0c0
c0c000c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c000c0c0c0
000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000c0c0c0c0000000c0
c0c000c0c000c0c000c0c000c0c000c0c000c0c0c00000c000c0c000c0c0c000c0c000c0
c0c0000000c0c0c0c0000000c000c00000c0c0000000c0c0c000c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c000c0c0c0c0c000c0c0c0000000c0c0c000c0c000c00000c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e87070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
7070707070702369694c4c23
69694c4c2323e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e82369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8373737373780c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c02020202020202020202020202020202020
202020c0c0702369694c4c23
69694c4c2323e8c0377272fac0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c080c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c054c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c072c072c072c072c080
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c02020202020202020202020202020202020
202020c0c0702369694c4c23
69694c4c2323e8c0c037fac0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac0c0c037
c037c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07ec040c0c0c0c0c0c0c037c037c037c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0727272727272727237c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0faa73772c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7
72727237c0c0c0c0c0c03737373737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fafafa
fafafafafafa80c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c080c0a7c0a7c0a7c0a7c072c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c02220222020202022222022202020202022
202220c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac040c0c0c0
37c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac040c0c0c0c0c0c0c037c037c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c072fa72a772a7727220143737c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7a7a7a7a7faa73772c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0fac0fac0fac0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7
fac07237c0c0c0c0c0c0c0373737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fafafa
c0fac0fac0fa80c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072
2c727272a7c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037c072c0a7c037c037c0c0c0c0c000
c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c02220222237373722202220223737373722
202220c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0fac07ec022c0c0
c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07bc07ec040c0c0c0c0c0c0c037c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c072faa7a7a7a7a772202020143737c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c07272727272c0a73772c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0fac0fac0fac0fac0fac0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7
c0377237c0c0c0c0c0c0c0c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fafafa
fac0fac0fafa80c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c0
fac06c6c7272c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c02cc02cc000c0a7c037c0
72c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c03722373780c0fa802220372254c0fac054
372237c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0fac07ec040c080c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac07ec040c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c072fac0c0c0c0a7c0a7c0a7c0a7a7a772202037c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c072fa72727272c0a73772c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0fac0fafafafafafafac0fac0c0c0c0c0c0c0c0c0c0c0c0c0c0a7c0
37377200c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fafafa
fafafafafafa80c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0726c6c
2c72726ca672c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c02cc055c02cc000c0c0c072
c02cc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037223722227bfafa80223737227bfa5437
223737c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0c0c0c0fac07ec07ec020c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07bc07ec07ec040c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c072fac0c0a7c0a7c0a7c0a7c0a72020203737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0722037fa727272c0a73772c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0fac0fafafafafafafac0d3d3c0c0c0c0c0c0c0c0c0c0c0c0c0a7c037
37377200c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fafafa
fafafafafafa80373772a737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0726c00
c0c0c0726c00c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037c0c0c055c055c037c0a7c072c0
2cc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037373754377bfac0fa7b22373754fa3737
373754c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0fac07ec07ec040c020c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07ec07ec0fac07ec07ec040c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c072fac0c0a7c0a7c0a7c0a7203714143737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0722072a737fa727272a73737c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0fafafafad3fafafad3d3c0fac0c0c0c0c0c0c0c0c0c0c0a7c03772
37377200c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac0c0
c0c0c0c0c0c0803772a737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0726c2c
c0c0c08ea72cc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c0c0c055c02cc000c0c0c037
c02cc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037543780227bfa7bfafa80543754fa3754
543737c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c0fac07ec07ec07ec07ec022
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07bc0fac0fac07ec07ec07ec054c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c072fac0c0c0c0c0c07220371414143737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0722072a7c0a772fa727272377237c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0fac0c0c0c0d3d3d3fad3c0fac0c0c0c0c0c0c0c0c0c0c0a7c0727237
37377200c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac0
fac0fac0fa803772a737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0726c14
c0c0c0a70000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c02cc000c0a7c072c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c054805437547bfa54c0fafa723754fa5480
377b37c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0fac07ec07ec07ec07ec07ec0
22c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac07ec07ec07ec07ec07ec054c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c072fac0c0c0c0722037141414143737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0722072a7c0a7c0a772c0727272377272c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0a772727272a7d3d3d3fafac0fac0c0c0c0c0c0c0c0c0a7faa7723772
37007237373772727272727272c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7c0fac0fa
c0fac0fac080723737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07272a772727272722c6c72
2cc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037c072c0a7c020c020c072c0c0c037
c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07b377b80547bfa5454c0fafa5454fa7b37
7b8054c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0fac07ec07ec07ec07ec07ec020
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07bc07ec07ec07ec07ec07ec07ec054c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c072fac0c072203772141414143737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0723772a7c0a7c0a7c0a772c0727272723772c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c072a7c0727220a7d3fafafafac0c0c0c0c0c0c0c0c0c0a7faa7727237
3700a7c0c0c0c0c0c0c0c0c0c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07272a7a7a77272
7272727272727272373772c0c0c0c0c0c0c0c0c0c0c0c0c07214a7006c6c6c6c72a7002c
7214c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7c0c0c000c000c072c0a7c072c0
72c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07b548054807bfa547b54c0fafa72fa7b80
547b80c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c07bc07ec07ec07ec07ec07ec07ec0
20c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac07ec07ec07ec07ec07ec07ec054c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c072fa722037c072141414143737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0723772a7c0a7c0a7c0a7c0a737c0727272727272c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c072a7c0a772723720c0d3fad3c0fac0c0c0c0c0c0c0c0c0a7faa7723772
007272a7a7a7a7a7a7a7a7a7a7c037c0c0c0c0c0c0c0c0c0c0c0c0c072fafac0c0fac0a7
a7727272a7a77237377272c0c0c0c0c0c0c0c0c0c0c0c0c07226c0c0c0fafac0c06c6c72
1400c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c080c037c072c037c0c0c072
c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07b80547b7b7bfa7b7b7b7bc0fafafa7b7b
7b5480c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c040c054c054c054c054c054c020
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07bc054c054c054c054c054c054c022c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0373737c0c072141414203737c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0723720a7c0a7c0a7c0a7c0a7c0a737a72020373737c0c0c0c0c0c0c0c0c0
c0c0c0c03737c02072727237377237c0fad3fafac0c0c0c0c0c0c0c0c0c0a7fa72727200
a77272a7a7a7a7a7a7a7a7a7a7a737c0c0c0c0c0c0c0c0c0c0c0c0c072c0c0c0c0c0fafa
fafac0a772723737723772c0c0c0c0c0c0c0c0c0c0c0c0c0726cc06c6c6c6c6c6c6c7272
1400c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c080c037c037c0a7c072c0
37c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07b7b7b7b80c0fac037203720c0fafa807b
807b7bc0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c040c040c040c040c040c040c0
22c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac07bc07bc040c040c040c022c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072141414203737c080c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c072c0a7c0a7727237a6c0a7c0a77222223772c0c0c0c0c0c0c0c0c0c0
c0c0c020c07272c0c0373737377237c0d3d3c0fac0c0c0c0c0c0c0c0c0c0723737000072
c07272a7a7a7a7a7a7a7a7a7a7a737c0c0c0c0c0c0c0c0c0c0c0c0c072c0a7c0c0c0c0c0
c0c0c0c0c0c037373772723780c0c0c0c0c0c0c0c0c0c0c07243c0434343434343434372
1400c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c000c080c037c080c0c0c037
c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0807b37207bc0fac07b0000000000000020
22807bc0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c040c040c040c040c040c022
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07ec07bc07bc040c040c040c022c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7a71420203737c08080c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0a7c0a7c072727280a7c0a7c072203737c0c0c0c0c0c0c0c0c0c0c0
c0c0c07272a7c0c0a7372037203772c0fac0fac0fac0c0c0c0c0c0c0c0c0c0c0c0c0c072
c07272a7a7a7a7a7a7a7a7a7a737c0c0c0c0c0c0c0c0c0c0c0c0c0c072c0a7a7a7a7a7a7
a7a7a7a7a7a73737377237203737c0c0c0c0c0c0c0c0c0c0726cc06c6c6c6c6c6c6c6c72
1400c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7c0c0c080c037c037c080c080c0
37c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000020372037200000000000000000
000000c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0c0c040c040c040c040c040c0
80c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07ec07bc07bc040c040c022c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0a7a7a7a7a7a7a7a7a7722014203737808080c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0a7c0a772727280c0a7c0a772373772c0c0c0c0c0c0c0c0c0c0c0
c0c072a7c0c0a77272372020377280fac0fac0fac0c0c0c0c0c0c0c0c0c0c0c0c0c0c072
c0723737373737373737373737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c0a7a7c0a7c0a7
c0a7c0a7a7a73737723737203780c0c0c0c0c0c0c0c0c0c07243c0434343434343432c72
14008080808080c0c0c0c0c0c0c0c0c0c0c0c0c0c037c072c080c000c000c080c0c0c080
c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000000000
000000c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c040c040c040c020c020
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c040c022c022c040c040c022c080c080c080c080c0
c0c0c0c0c0c0c0c0c0c0c0c0a7a7a7a7a7a7a7a7a77220202037377272c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0a7c0a7c0727272a6a7c0a7c072377272c0c0c0c0c0c0c0c0c0c0c0
7272c0c0a7727272372072808080c0c0a780a780a7c0c0c0c0c0c0c0c0c0c0c0c0c0c072
c0723700c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07272a7c0a7c0a7c0
a7c0a77e40a737373737203780c0c0c0c0c0c0c0c0c0c0c0726cc06c6c6c6c6c6c6c6c72
14007272728080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037c0c0c020c020c000c080c072c0
00c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000000000
000000c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c0c080c040c040c022c022c0
80c080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07bc040c037c080c080c080c080c0c0
c0c0c0c0c0c0c0c0c0c0c0c0a772a772a772a772a77272203772377280c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0a7c0a7727237a6c0a7c0a77272a772c0c0c0c0c0c0c0c0c0c072
a7c0a7727272372072c0c0c0c0c0a7728080808080c0c0c0c0c0c0c0c0c0c0c0c0c0c072
c07237378072377237727272728080c0c0c0c0c0c0c0c0c0c0c0c0c0c080807272727272
72727272a7a7373737203780c0c0c0c0c0c0c0c0c0c0c0c07243c04343434343432c2c2c
1400807280c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c000c037c020c000c0c0c080
c037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000000000
000000c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0c0c0c080c022c040c022c080
c080c080c0c0c0c0c0c0c0c0c0c0c0c0c0c080c040c040c037c080c080c080c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0a772727272727272727272727237728080c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0a7c0a7c072373780a7c0a7c072a77272c0c0c0c0c0c0c0c0c0c037
37727272372072c0c0c0c0a77272727272728080a7c0c0c0c0c0c0c0c0c0c0c0c0c0c072
c072373772377237723772808080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c08080
7272373737373720203780c0c0c0c0c0c0c0c0c0c0c0c0c0726c6c6c6c6c6c6c6c6c6c72
14008080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037c020c020c080c072c0
37c080c080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000000000
000000c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c080c022c022c080c0
80c080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c080c040c037c080c080c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0a77272373737373714373737728080c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c07b7bc0a7c0a737373780c0a7c0a772a7807bc0c0c0c0c0c0c0c0c0c072
37377237728080c0a7807272728080a7c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072
c0723737807280c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c080372037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072722c2c2c2c2c00000000
00c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072c0a7c020c020c080c080c020
c080c080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000000000
000000c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c080c022c080c080
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c080c037c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c08080808080808080808080c0c0c0c0c0c0c0c0c0
c0c0c0c0c08080407ba77ba7c0a76c6c8e6c6c72807b80807b80c0c0c0c0c0c0c0c0c0a7
20372080808080808080a7c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c072
c072378080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c037c072c072c072c072c0
80c080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c08080407b408080806c6c8e6c80807b7b7b407b7b7b7b7bc0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0702369694c4c23
69694c4c2323e87070707070707070e87070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
707070707070707070707070707070707070707070707070707070707070707070707070
7070707070702369694c4c23
69694c4c2323e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e82369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8
e8e8e8c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8ac0c0c0c0c0c0c0c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8373737373780c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a
8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8acac0c0c0c0c0c0c0c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0377272fac0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c054545454c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafacacac0c0c0c0c0c0c0c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0c037fac0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0fa20c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c054545472c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafacacac0c0c0c0c0c0c0c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0fa7b20c0c0c0c0c0c03737373737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7fac054545472c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8a00fa00fafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafacacac0c0c0c0c0c0c0c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0c0c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
fa7b5420fafafac0c0c0c0373737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7c05454545437fac0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afa00fafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafacacac0c0c0c0c0c0c0c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fa
7b7b7b7b7b5420c0c0c0c0c037c0c0c0c0c0c0c0c00000000000c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0fac0d3545454542080a7c0c0c0c0c0c0c0c0c0
00c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c000c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afafa0000fafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafa00
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafa000000fafafa
fafafafafafafafafafafafafa000000fafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafa00
fafafafafafafafafafa0000fafafafafa0000fafafafafafa000000fafafafafafafafa
fafafafafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafa00fafa
fa0000fafafafafafafafafafafafa0000fafafafafafacacac0e8e8e8e8e8e8e8e8e8e8
e8c070c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0a7fafafac0c0c0c0c0fac0c0c0fa7b
7b7b7b7b5420c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0a7fafa5454547280d3c072c0c0c0c0c0c0c0c0
00c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afa00fa00fafafafafafafa00fafafa
fafafa00fafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafa00fa
fafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafa
fafafafafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafa00fafafafafafa00fafafafafafafafa00fafafafafafafafa
fafafafa00fafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafafa
fafa00fafafafafafafafafafafafafa00fafafafafafacacac0e8e8e8e8e8e8e8e8e870
70c070c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0a7a7a7fafafac0c0c0faa7a7c0c07b
7b7b7b5420c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c0c0000000c0c0c0
c0000000c0c0c000c0c000c0c000c000c0c000c0c0c0c0000000c0c0c000c000c000c0c0
00c0c0c00000c0c0c0c0c0c0c0c0c0c0a7c0d35454545437fad372c0c0c0c0c0c0c0c0c0
00c0c0c0c0c0c0c0000000c0c0c0c0000000c0c0c0c0000000c0c0000000c000c0c0c000
0000c0c0c000c00000c0c0c0c0c0c0c0c0c0e88a8afafafa00fafafafafafafa00fafafa
fafafa00fafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafa00fa
fafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafa00fafafafafafa
fafafafafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafa00fafafafafafa00fafafafafafafafa00fafafafafafafafa
fafafafa00fafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafafa
fafa00fafafafafafafafafafafafafa00fafafafafafacacac0c0e8e8c0c0c0c0c07070
c0c070c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0a7a7a7a7a7fafafac0a7a7a7fa7b
7b7b5420c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c000c0c0c000c0c0
00c0c0c000c0c000c000c0c0c00000c00000c000c0c000c0c0c000c0c00000c0c000c000
c0c0c000c0c000c0c0c0c0c0c0c0c0c0fad3fa5454545472d3fa20c0c0c0c0c0c0c0c0c0
00c0c0c0c0c0c000c0c0c000c0c000c0c0c000c0c000c0c0c000c0c000c0c000c0c000c0
c0c000c0c00000c0c000c0c000c0c0c0c0c0e88a8afa00fa00fa0000fafafa0000000000
fafa0000000000fa00fa000000fafafafafafafafafafafafafa00fafafafafafa00fafa
000000fa000000fafa000000fafafafa000000fafafa0000000000fa000000fa00fafafa
00000000fafafa000000fafafa00fa000000fafafafafafafafafafa0000000000fa00fa
000000fafafa00000000fafafafafa00fafafafafafafafafafafafa000000fa00fafa00
0000fafa000000fa000000fafafafa00fafafafafafafafafafafa000000fafafa000000
fafafafafa000000fafafa00fa0000fafafa00000000fafafafafa00fafafafa00000000
fafafa0000000000fafafafafa00fafafafa000000fa0000fa000000fafafa000000fafa
fafa00000000fafafafafafafafafafa00fa0000fafafacacac0c0e8e8c0c0c0c0c07070
c0c070c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0a7a7a7a7a7a7a7a7a7a7a7a7fa7b
7b542072a7c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000c0c0c000c0c0c000c0c0
00c0c0c000c0c00000c0c0c0c000c0c000c0c000c0c0c0c0c0c000c0c000c0c0c00000c0
c0c0c000c0c0c0c0c0c0c0c0c0c0c0a7fad3c05454547280d37272c0c0c0c0c0c0c0c0c0
00c0c0c0c0c0c000c0c0c000c0c000c0c0c0c0c0c0c0c0c0c000c0c000c0c000c0c000c0
c0c000c0c000c0c0c000c0c0c0c0c0c0c0c0e88a8afafafa0000fafa00fafafa00fafafa
fafafa00fafafafafa00fafafa00fafafafa00fafafafafafafa00fafafafafafa00fafa
fa00fafafa00fafa00fafafa00fafa00fafafa00fafafa00fafafafafa00fa00fa00fafa
fafafafa00fafafafa00fafafafa0000fafa00fafafafafafafafafafa00fafafafafa00
00fafa00fafafafafafa00fafafafa00fafafafafafafafafafafa00fafafa00fafa00fa
fafa00fafa00fafafa00fafafafafa00fafafafa00fafa00fafa00fafafa00fafafafa00
fafafafa00fafafa00fafa0000fafa00fafa00fafafa00fafafafa00fafafafafafafafa
00fafafa00fafafafafafafafa00fafafa00fafafa00fafa00fafafa00fafafafa00fafa
fafa00fafafa00fafafafafafafafafa0000fafa00fafacacac0c0c0e8e8c0c0c07070c0
c0c070c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0a7a7a7a7a7a7a7a7a7a7a7fa7b
543772377237c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c000c0c0c000c0c0
00c0c0c000c0c00000c0c0c0c000c0c000c0c000c0c0c000000000c0c000c0c0c00000c0
c0c0c0c00000c0c0c0c0c0c0c0c0a7fad3fa5454205472c0d320c0c0c0c0c0c0c0c0c0c0
00c0c0c0c0c0c000c0c0c000c0c000c0c0c0c0c0c0c000000000c0c000c0c000c0c000c0
c0c000c0c000c0c0c000c0c0c0c0c0c0c0c0e88a8afa00fa00fafafa00fafafa00fafafa
fafafa00fafafafafa00fafafa00fafafafafafafafafafafa00fafafafafafa00fafafa
fa00fa00fa00fafa0000000000fafafa000000fafafafa00fafafafafa00fa00fa00fafa
fa00000000fafafafa00fafafafa00fafafa00fafafafafafafafafafa00fafafafafa00
fafafa00fafafa00000000fafafafa00fafafafafafafafafafafa00fafafa00fafa00fa
fafa00fafa00fafafa00fafafafa00fafafafa00fa00fa00fafa0000000000fafafafa00
fafafafa00fafafafafafa00fafafa00fafa00fafafa00fafafafa00fafafafafa000000
00fafafa00fafafafafafafa00fafafafa00fafafa00fafa00fafafa00fafafafa00fafa
fafa00fafafa00fafafafafafafafafa00fafafa00fafacacac0c0c0e8e8c0c0c07070c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0a7a7a7a7a7a7a7a7a7a7a7fa54
37723772373737c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c000c0c0c000c0c0
00c0c0c000c0c000c000c0c0c000c0c000c0c000c0c000c0c0c000c0c000c0c0c000c000
c0c0c0c0c0c000c0c0c0c0c0c0a7c0d3c0fa5437d35472d3728080c0c0c0c0c0c0c0c0c0
00c0c0c0c0c0c000c0c0c000c0c000c0c0c0c0c0c000c0c0c000c0c000c0c000c0c000c0
c0c000c0c000c0c0c000c0c0c0c0c0c0c0c0e88a8afafafa00fafafa00fafafa00fafafa
fafafa00fafafafafa00fafafa00fafafafafafafafafafafa00fafafafafafa00fafafa
fa00fa00fa00fafa00fafafafafafafafafafa00fafafa00fafafafafa00fa00fa00fafa
00fafafa00fafafafa00fafafafa00fafafa00fafafafafafafafafafa00fafafafafa00
fafafa00fafa00fafafa00fafafafa00fafafafafafafafafafafa00fafafa00fafa00fa
fafa00fafafa00fa00fafafafafa00fafafafa00fafa00fafafa00fafafafafafafafa00
fafafafa00fafafafafafa00fafafa00fafa00fafafa00fafafafa00fafafafa00fafafa
00fafafa00fafafafafafafa00fafafafa00fafafa00fafa00fafafa00fafafafa00fafa
fafa00fafafa00fafafafafafafafafa00fafafa00fafacacac0c0c0c0e8e8c07070c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0a7a7a7a7a7a7a7a7a7a7c0a7
203720373737c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c0c000c0c000c0c0c000c0c0
00c0c0c000c0c000c0c000c0c000c0c000c0c000c0c000c0c0c000c0c000c0c0c000c0c0
00c0c000c0c000c0c0c0c0c0c0c080a7fa5420d3d35420c02072728080c0c0c0c0c0c0c0
00c0c0c0c0c0c000c0c0c000c0c000c0c0c000c0c000c0c0c000c0c000c0c000c0c000c0
c0c000c0c000c0c0c000c0c0c0c0c0c0c0c0e88a8afa00fa00fafafa00fafafa00fafafa
00fafa00fafafa00fa00fafafa00fafafafafafafafafafa00fafafafafafa00fafafafa
fafa00fa00fafafa00fafafa00fafa00fafafa00fafafa00fafafa00fa00fa00fa00fafa
00fafafa00fafafafa00fafafafa00fafafa00fafafafafafafafafafa00fafafafafa00
fafafa00fafa00fafafa00fafafafa00fafafafafafafafafafafa00fafafa00fafa00fa
fafa00fafafa000000fafafafa00fafafafafafafafafafafafa00fafafa00fafafafa00
fafafafa00fafafa00fafa00fafafa00fafa00fafafa00fafafafa00fafafafa00fafafa
00fafafa00fafafa00fafa00fafafafafa00fafafa00fafa00fafafa00fafafafa00fafa
fafa00fafafa00fafafafafafafafafa00fafafa00fafacacac0c0c0c0e8e8c07070c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c0a7a7a7a7a7a7a7a7a7a7a7c0
2020372037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000c0c0c0c0000000c0c0c0
c0000000c0c0c000c0c0c000c000c0c000c0c000c0c0c0000000c000c000c0c0c000c0c0
c000c0c00000c0c0c0c0c0c0c0c0c02072c0fad3c0d3fa207272728080c0c0c0c0c0c0c0
0000000000c0c0c0000000c0c0c0c0000000c0c0c0c0000000c000c00000c000c0c0c000
0000c0c0c000c0c0c000c0c000c0c0c0c0c0e88a8afafa000000fa000000fafafa000000
fafafafa000000fafa00000000fafafafafa00fafafafafa00fafafafafafa00fafafafa
fafa00fa00fafafafa000000fafafafa000000fafafafafa000000fa0000fa00fa0000fa
fa000000fa00fa0000000000fa000000fafa0000fafa00fafafafafa00000000fafa0000
00fafa0000fafa000000fa00fa000000000000fafa00fafafafafafa00000000fafafa00
0000fafafafafa00fafafafafa00fafafafafafafafafafafafafa000000fafafa000000
0000fafafa000000fafa000000fa00000000fa000000fafafa000000000000fafa000000
fa00fafafa000000fafafa00fafafafafafa00000000fafa00000000fafafa0000000000
fa00fa000000fafafafa00fafafafa000000fa0000fafacacac0c0c0c0c0e87070c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c0c0c0fac0c0c070e8c0c0c0c0c0c0c0c0c072a772a772a772a772a7fa
37202037c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0803772a7d3c0a720728080c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afa00fafafafafafafafafafafafafa
fafafafafafafafafa00fafafafafafafafafafafafafa00fafafafafafa00fafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa00fafafafa
fafafafafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafa00fafafafafafafafafafa00fafa00fafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafacacac0c0c0c0c0e87070c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8fac0c0c037c0c070e8c0c0c0c0c0c0c0c0c0c0727272a772a772a772fa
722020c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c08020a7a7208080c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afafafafafafafafafafafafafafafa
fafafafafafafafafa00fafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa00fafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafa00fafa00fafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafacacac0c0c0c0c0c070c0c0c0c0
c0c070c0c0702369694c4c23
69694c4c2323e8c037c0c0c0c0c070e8c0c0c0c0c0c0c0c0c0c0c0c0a7727272727272c0
72208037377280c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c080208080c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0
c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e88a8afa00fa00fafafafafafafafafafafa
fafafafafafafafa000000fafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
fafafafafafaf