       %                               DIGITAL    Software Product  Description   C ___________________________________________________________________   C PRODUCT NAME:  DIGITAL GKS Version 6.5 for OpenVMS VAX SPD 26.20.19    DESCRIPTION   H DIGITAL GKS (Graphical Kernel System) (formerly DEC GKS) for OpenVMS VAXC Systems is a two-dimensional and three-dimensional graphics support D system that provides a set of programming functions for creating in-D teractive and noninteractive graphics applications. As a developmentF tool, DIGITAL GKS is a solid base for portable, device-independent ap-D plications that define and display graphical images, using a variety of graphics devices.  E DIGITAL GKS for OpenVMS VAX is Digital Equipment Corporation's imple- I mentation of the 1988 ISO 8805 standard GKS for Three Dimensions (GKS-3D) G and the ISO 7942 standard GKS. DIGITAL GKS conforms to level 2c of this D standard, providing full output capabilities, including workstation-E independent segment storage (level 2), and full synchronous and asyn- & chronous input capabilities (level c).  2 DIGITAL GKS is the merger of two earlier products:  6 o  DEC GKS-3D Version 1.2, a three-dimensional product  1 o  DEC GKS Version 4.2, a two-dimensional product   I The resulting product provides both two-dimensional and three-dimensional I capabilities in a single package, and was first made available as DEC GKS  Version 5.0.  D DIGITAL GKS supports DECwindows and DECwindows Motif for OpenVMS VAXC or OpenVMS VAX Workstation Software (VWS), and is supported on most < DIGITAL processors running the OpenVMS VAX Operating System.  C                                                          April 1997   C                                                         AE-BP36U-TE        G DIGITAL GKS is device-independent; the same program can generate graph- C ical output on different devices without modification to the source D code. The graphical output formats supported by DIGITAL GKS include:  # o  CGM (Computer Graphics Metafile)   - o  DDIF (DIGITAL Document Interchange Format)   , o  Hewlett-Packard Graphics Language (HP-GL)  4 o  Hewlett-Packard Printer Control Language (HP PCL)  
 o  PostScript   C DIGITAL GKS provides four language bindings in which graphical data D can be created and managed. These bindings are: C, ISO FORTRAN, GKS$6 (a two-dimensional, language-independent binding), and; GKS3D$ (a three-dimensional, language-independent binding).   F DIGITAL GKS is a subroutine library packaged as a set of shareable im-E ages with which application programs are linked. The shareable images $ are activated at run-time as needed.   PEX Support   E DIGITAL GKS supports output to the DIGITAL implementation of PEX Ver- E sion 5.0 and PEX Version 5.1 servers. For OpenVMS VAX, the PEX server G extension and the PEXlib object library are included in the DIGITAL GKS  kit.   Output Modes  G With DIGITAL GKS, you can describe a graphical object using either seg- E ments or immediate mode. A segment is a set of output primitives that C are created, manipulated, and deleted as a group, but are not modi- E fiable. DIGITAL GKS manages segments internally and automatically re- F draws them if the display is damaged (for example, if the display win-" dow is obscured and then exposed).    "                                  2       G In immediate mode, primitives are rendered directly to the display sur- F face without being stored internally in DIGITAL GKS. This mode is use-E ful when graphical data is temporary, or will be refreshed by the ap- 
 plication.   Output Primitives   D DIGITAL GKS provides a variety of output primitives for creating ba-D sic two-dimensional and three-dimensional graphics. These primitives are:  @ Cell Array    A rectangular image specified by a two-dimensional?               array of rectangular color cells on a plane arbi- 8               trarily placed in three-dimensional space.  @ Fill Area     A polygonal area that can be hollow or filled with?               a uniform color, a pattern, or a hatch style. The =               edges of the area are not defined and cannot be                controlled.   ? Fill Area     A set of polygonal areas with holes or disjointed @ Set           regions that are treated as a single entity. TheseA               areas can be hollow or filled with a uniform color, <               patterns, or hatch styles. Control of edge at-#               tributes is provided.   B Generalized   A primitive providing access to drawing capabilitiesB Drawing       of graphics devices not used by the other primitives@ Primitive     listed here; circles and arcs are two common GDPs. (GDP)   = Polyline      A set of connected lines defined by a series of @               points and having line type, line width, and color!               attributes defined.             "                                  3         B Polymarker    One or more symbols that can mark significant points@               in a display and have type, size, scale, and color!               attributes defined.   = Text          A character string at a given position in world =               coordinates. This string can be in 8-bit or 16- >               bit format, and can be displayed in a variety ofB               fonts, orientations, sizes, and colors. Text size is*               affected by transformations.  
 Attributes  C Each output primitive has an associated set of attributes that con- D trol the primitive's appearance. Attributes can be defined in groups; (bundles) or individually. Some examples of attributes are:   @ Line Type    The style of a line, for example, dotted or dashed.  # Line         The width of the line.  Width   @ Color        The color of a primitive. You can select one of theB              predefined colors or specify the red, green, and blueA              intensities required to define a particular color on               color devices.   @ Character    Text attributes, including font, character spacing,0 Attributes   height, angle, path, and alignment.   Viewing Operations  D DIGITAL GKS allows you to specify views of three-dimensional objectsH and define the "working" or world coordinate system used in these views.H World coordinates can have any scale. For example, one application mightF have a maximum range from 0 to 1000.0; another application might limit the range from 0.01 to 0.1.       "                                  4       C You can control multiple, simultaneous views of the same objects on E one or more display surfaces, as well as the position and size of the C image on the surface. For example, one application program can dis- G play an image of a cube in one window on a workstation, and at the same E time, the program can display a detail of the back of the cube in an- 3 other window (on another workstation, if required).    Control Functions   E Control functions are used to perform system management tasks related D to the DIGITAL GKS environment, the workstation environment, and theD graphics display. These tasks include turning DIGITAL GKS on and offF when requested by the application, directing the flow of graphics data; to logical output devices and managing the picture process.    Inquiry Functions   E DIGITAL GKS includes a complete set of inquiry functions. These func- F tions are used to obtain information about the DIGITAL GKS state, seg-F ment storage, workstation capabilities, or the workstation state. ThisC information is essential for developing modular, device-independent 	 programs.    Escape Functions  H Escape functions are included with DIGITAL GKS to enable access to func-H tionality not provided in the GKS standard. The DIGITAL GKS escape func- tions include:   o  Double buffering control    o  Background pixmap control   o  Screen dumps             "                                  5        Logical Input Devices   E DIGITAL GKS supports synchronous and asynchronous input from the fol-  lowing logical input devices:   : Locator  Allows the user to select a point on the display.  @ Stroke   Allows the user to input a series of points on the dis-          play.  @ Valuator Allows the user to select a real number from a range ofA          numbers, for example, by sliding a pointer to a position           on a radio dial.   A Choice   Allows the user to make a selection, for example, from a #          list of choices in a menu.   B String   Allows the user to input a character string, for example,          as input to a prompt.  ? Pick     Allows the user to select an object that is visible on A          the display. The information returned consists of a seg- >          ment name, a pick identifier, and the segment status.6          Primitives outside segments cannot be picked.   Character Fonts and Sets  H DIGITAL GKS includes a series of stroke-precision character fonts. TheseC character fonts were digitized by Dr. Allen V. Hershey of the Naval C Surface Weapons Laboratory, and supplied to DIGITAL by the National  Bureau of Standards.  D DIGITAL GKS also provides text support for the native character sets# of the supported graphical devices.    Language Bindings   F DIGITAL GKS functions can be accessed by four sets of subroutine callsH or "bindings," as they are referred to by the GKS standards. These bind-	 ings are:   H o  A FORTRAN binding that conforms to the ISO (DIS 8806/1) FORTRAN bind-    ing to GKS-3D.   "                                  6       D o  A C binding that conforms to a three-dimensional extension of the-    ISO (DP 8651/4) C language binding to GKS.   F o  GKS3D$, a language-independent, three-dimensional binding that fol-E    lows the standard calling conventions and is callable by many dif-     ferent languages.  E o  GKS$, a language-independent, two-dimensional binding that follows C    the standard calling conventions and is callable by many differ-     ent languages.    GKS-3D Metafile   E DIGITAL GKS provides the capability of reading and writing sequential C files in two formats: the ISO 8805 suggested GKS-3D Metafile format D and the ISO 7942 suggested two-dimensional GKSM Metafile format. The metafiles can be used to:   G o  Save and restore graphical information between sessions in a device-     independent format   F o  Transfer graphical information between systems with compatible ver-    sions of DIGITAL GKS   F o  Transfer graphical information between two DIGITAL GKS applications  D o  Transfer graphical information from a DEC GKS-3D application to a    DIGITAL GKS application  . o  Store accompanying nongraphical information  1 DIGITAL Document Interchange Format (DDIF) Output   H DIGITAL GKS provides support for storing two-dimensional views of three-J dimensional objects encoded in DIGITAL Document Interchange Format (DDIF).E Views stored in DDIF can be processed by applications that conform to 1 the DIGITAL Compound Document Architecture (CDA).       "                                  7       ' Computer Graphics Metafile (CGM) Output   G DIGITAL GKS provides support for storing information using the Computer G Graphics Metafile (CGM), an approved ANSI standard format (ANSI X3.122- A 1986). DIGITAL GKS supports CGM output for the following formats:   D o  Clear Text Encoding - Graphical output data stored in this formatC    is easily created, viewed, and modified using a common text edi- D    tor. This format is also suitable for transferring graphical out-D    put data through networks that support the transfer of text files    only.  D o  Character Encoding - Graphical output data is typically stored inH    this format to reduce the file size. This format is especially suitedF    to transfers through networks that do not support binary transfers.  C o  Binary Encoding - Graphical output data stored in this format is E    very compact and the fastest to read and write. This format is the C    least suitable for transmission over communication lines because *    all 8 bits in each byte are meaningful.   Graphics Handlers   C DIGITAL GKS includes support for a wide variety of graphics devices D provided by DIGITAL and other vendors. For devices that are not sup-C ported by DIGITAL, users can develop their own graphics device han- 5 dlers using the DIGITAL GKS device handler interface.   D Device handlers can be developed in VAX FORTRAN, DEC Fortran, VAX C,F and DEC C. For more information on this interface, refer to the Build-C ing a Device Handler System for DEC GKS and DEC PHIGS manual (Order 4 No. QA-810AK-GZ), which can be purchased separately.                "                                  8        CONFORMANCE TO STANDARDS  > DIGITAL GKS is designed to conform to the following standards:  7 o  ISO 8805 standard GKS for Three Dimensions (GKS-3D).    o  ISO 7942 standard GKS.   4 o  MIT X Window System Version 11 Release 5 (X11R5).   o  PEX Version 5.0 and 5.1.   E o  The FORTRAN binding conforms to the ISO (DIS 8806/1) FORTRAN bind-     ing to GKS-3D.    HARDWARE REQUIREMENTS   6 The following processors are supported by DIGITAL GKS:  - VAX:        VAXft Model 110, VAXft Model 310, -             VAXft Model 410, VAXft Model 610,              VAXft Model 612   3             VAX 4000 Model 100, VAX 4000 Model 200, 3             VAX 4000 Model 300, VAX 4000 Model 400, 3             VAX 4000 Model 500, VAX 4000 Model 600,   &             VAX 6000 Model 200 Series,&             VAX 6000 Model 300 Series,&             VAX 6000 Model 400 Series,&             VAX 6000 Model 500 Series,%             VAX 6000 Model 600 Series   %             VAX 7000 Model 600 Series   )             VAX 8200, VAX 8250, VAX 8300, )             VAX 8350, VAX 8500, VAX 8530, )             VAX 8550, VAX 8600, VAX 8650, )             VAX 8700, VAX 8800, VAX 8810,   "                                  9         (             VAX 8820, VAX 8830, VAX 8840               VAX 9000 Model 110,              VAX 9000 Model 210, &             VAX 9000 Model 300 Series,%             VAX 9000 Model 400 Series   &             VAX 10000 Model 600 Series  ( MicroVAX:    MicroVAX 3100 Model 10/10E,(              MicroVAX 3100 Model 20/20E,$              MicroVAX 3100 Model 30,$              MicroVAX 3100 Model 40,$              MicroVAX 3100 Model 80,$              MicroVAX 3100 Model 90,*              MicroVAX 3300, MicroVAX 3400,*              MicroVAX 3500, MicroVAX 3600,)              MicroVAX 3800, MicroVAX 3900   & VAXstation:  VAXstation 3100 Model 30,&              VAXstation 3100 Model 40,&              VAXstation 3100 Model 38,&              VAXstation 3100 Model 48,%              VAXstation 3100 Model 76 .              VAXstation 3200, VAXstation 3500,-              VAXstation 3520, VAXstation 3540   &              VAXstation 4000 Model 60,&              VAXstation 4000 Model 90,&              VAXstation 4000 Model 100               VAXstation 4000 VLC  , VAXserver:   VAXserver 3100, VAXserver 3300,,              VAXserver 3400, VAXserver 3500,          "                                 10         ,              VAXserver 3600, VAXserver 3602,+              VAXserver 3800, VAXserver 3900   &              VAXserver 4000 Model 200,&              VAXserver 4000 Model 300,%              VAXserver 4000 Model 500   &              VAXserver 6000 Model 210,&              VAXserver 6000 Model 220,&              VAXserver 6000 Model 310,&              VAXserver 6000 Model 320,&              VAXserver 6000 Model 410,&              VAXserver 6000 Model 420,&              VAXserver 6000 Model 510,&              VAXserver 6000 Model 520,&              VAXserver 6000 Model 610,&              VAXserver 6000 Model 620,%              VAXserver 6000 Model 630    Disk Space Requirements   E The disk space requirements for DIGITAL GKS depend on the kit you in-  stall, as shown.   DIGITAL GKS Development Kit:  * Disk space required for      49,000 blocks
 installation:   * Disk space required for      48,000 blocks use (permanent):   DIGITAL GKS Run-Time-Only Kit:  * Disk space required for      28,000 blocks
 installation:       "                                 11         * Disk space required for      27,000 blocks use (permanent):  E These counts refer to the disk space required on the system disk. The D sizes are approximate; actual sizes may vary depending on the user's8 system environment, configuration, and software options.  ? Memory Requirements for DECwindows and DECwindows Motif Support_  D The minimum supported memory for DIGITAL GKS running in a standaloneE DECwindows and DECwindows Motif environment, with both the client andrC server executing on the same system, is 32 MB. The memory size sug-eE gested for most typical hardware configurations, however, is 64 MB orn more, depending on the system.  C The system configuration and performance requirements of DECwindowslD and DECwindows Motif applications can determine the memory needed on your system as follows:d  D o  Less memory may be required on the client system (where the soft-D    ware is installed and executed) if the server (component display-2    ing the application) resides on another system.  E o  More memory may be required on a system where improved performanceo9    is desired, or where several applications are running.i   OPTIONAL HARDWAREt  D DIGITAL GKS supports a variety of interactive and hard copy devices.E At least one of these devices is required to display graphics output.r  5 Terminal for DECwindows and DECwindows Motif Clients:,   o  DECterminal VXT 2000t  
 Terminals:  ? o  VT125 with black and white or optional color monitor (ReGIS)r  - o  VT240 with black and white monitor (ReGIS)   "                                 12 a  i  # o  VT241 with color monitor (ReGIS)   % o  VT330 with black and white monitorn   o  VT340 with color monitorV  / o  TEKTRONIX 4014 with enhanced graphics modulei    (Option 34) or equivalent  H    Note: The emulation of a TEKTRONIX 4014 is not supported on any hard-    ware.   o  TEKTRONIX 4107 terminal   o  TEKTRONIX 4128 terminal   o  TEKTRONIX 4129 terminal   o  TEKTRONIX 4207 terminal   Compatible Sixel Devices:e  K o  DIGITAL DEClaser 1100, 2100, 2150, 2200, 2250, 2300, 2400 Laser Printersw  ) o  DIGITAL LN03 with LN03S-UA upgrade kit   " o  DIGITAL LN03 PLUS Laser Printer  ! o  DIGITAL LN03S-JA Laser Printert  2 o  DIGITAL LA50 (restricted to a 2:1 aspect ratio)   o  DIGITAL LA75    o  DIGITAL LA84d   o  DIGITAL LA86(   o  DIGITAL LA100   o  DIGITAL LA280  & o  DIGITAL LA324 (Color Sixel Printer)   o  DIGITAL LA380  "                                 13 c  d  E o  TEKTRONIX 4611 hard copy unit when connected to the TEKTRONIX 4014$    computer display terminal  5 Compatible Hewlett-Packard Graphics Language Devices:l   o  DIGITAL LVP16 Pen Plotter  % o  HP7475 Hewlett-Packard Pen Plotterk  % o  HP7550 Hewlett-Packard Pen Plotter   % o  HP7580 Hewlett-Packard Pen Plottere  % o  HP7585 Hewlett-Packard Pen Plottert  ' o  LASERGRAPHICS MPS-2000 Film RecorderK  / Compatible Hewlett-Packard PCL Level 4 Devices:P   o  Hewlett-Packard LaserJet II   Ink Jet Plotters:n  . o  DIGITAL LCG01 Color Ink Jet Plotter (ReGIS)   o  DIGITAL LJ250 (Color Sixel)   Compatible PostScript Devices:   o  Apple LaserWriter   o  Apple LaserWriter Pluso  $ o  DIGITAL DEClaser 1150, 2150, 2250   o  DIGITAL LN03R ScriptPrinter   o  DIGITAL LPS20 Laser Printer  ! o  DIGITAL LPS20-GJ Laser Printerp   o  DIGITAL LPS32 Laser Printer   o  DIGITAL LPS40 Laser Printer  ! o  DIGITAL LPS40-AJ Laser Printeri  "                                 14       ! o  DIGITAL LPS40-DJ Laser Printern   CLUSTER ENVIRONMENT   G DIGITAL GKS is fully supported when installed on any valid and licenseddD VAXcluster V5.x configurations including CI, Ethernet, and Mixed In-D terconnect configurations, and are fully described in the VAXcluster, Software Product Description (SPD 29.78.xx).   SOFTWARE REQUIREMENTS   : The software requirements for DIGITAL GKS Version 6.5 are:  0 o  OpenVMS VAX Operating System V5.5-2 or higher  D o  DEC C/C++ Run-time Library Components Version 6.0 for OpenVMS VAX  F Additional software requirements are listed in the following sections.   For Workstations Running VWS:   /    OpenVMS VAX Workstation Software Version 4.4i  0 For Workstations Running OpenVMS VAX DECwindows:  C DECwindows is packaged with the operating system; therefore, no ad- 6 ditional DECwindows software components are necessary.  6 For Workstations Running OpenVMS VAX DECwindows Motif:  9    DECwindows Motif Version 1.1 or higher for OpenVMS VAX   E For the development of applications and programs that use DIGITAL GKSaE on OpenVMS VAX, one of the languages supported by DIGITAL GKS is alsos	 required.s          "                                 15 s      OpenVMS VAX Tailoring   C The following OpenVMS VAX classes are required for full DIGITAL GKSf functionality:    o  OpenVMS VAX required save set   o  Network support   o  Programming support  D o  OpenVMS VAX workstation support-if you are using DIGITAL GKS on a    workstation   OPTIONAL SOFTWAREn  - DIGITAL GKS supports the following languages:     o  VAX Ada Version 2.3 or higher  " o  VAX BASIC Version 3.5 or higher  = o  VAX BLISS-32 Implementation Language Version 4.6 or higherr   o  VAX C Version 3.2  $ o  VAX FORTRAN Version 5.8 or higher  # o  VAX Pascal Version 5.0 or highert  ! o  VAX PL/I Version 3.4 or higher    o  DEC C Version 5.0 or higher  $ o  DEC Fortran Version 6.3 or higher  E Note: Certain versions of these products depend on a specific versioneF of the operating system. Please refer to the Software Product Descrip-C tion (SPD) of the product in question to determine which version is 
 necessary.  "                                 16        GROWTH CONSIDERATIONS   E The minimum hardware and software requirements for any future versionnC of this product may be different from the requirements for the cur- 
 rent version.    DISTRIBUTION MEDIA  ' This product is distributed as follows:o  E o  On 9-track 1600 BPI Magnetic Tape (includes printed documentation)l  : o  On TK50 Streaming Tape (includes printed documentation)  @ o  As part of the OpenVMS VAX Software Library Package on CD-ROM  D    This CD-ROM contains the DIGITAL GKS software binaries and onlineE    documentation in Bookreader and PostScript format. The DIGITAL GKSgD    documentation is also available in printed form, which can be or-    dered separately.  G Online documentation only is distributed on the OpenVMS VAX Online Doc-sC umentation Library CD-ROM (order number QA-VYR8A-G8). Binaries onlyxC are distributed on the OpenVMS VAX Software Products Library CD-ROMa (order number QA-VWJ8A-A8).t   ORDERING INFORMATION   Development Option:   E The following kits include media, the base documentation set, and thes# specified binding reference manual:r  * Software Licenses DIGITAL GKS: QL-810A*-** Software Media: QA-810A*-H*t, Software Library Package CD-ROM: QA-YL48A-H8/ Software Documentation DIGITAL GKS: QA-810A*-GZo2 Software Product Services DIGITAL GKS: QT-810A*-**   Run-Time-Only Option:o  "                                 17 d  (  * Software Licenses DIGITAL GKS: QL-811A*-** Software Media: QA-811AA-H*c, Software Library Package CD-ROM: QA-YL48A-H82 Software Product Services DIGITAL GKS: QT-811A*-**  F *  Denotes variant fields. For additional information on available li-E    censes, services, documentation, and media, refer to the appropri-g    ate price book.   SOFTWARE LICENSING  D DIGITAL GKS is available in two forms: as a Development Kit and as aA Run-Time-Only Kit. These kits are furnished only under a license.c  C The Development Kit license enables you to develop and run your owneF graphics applications. The Run-Time-Only Kit license allows you to runG applications that were developed on a system where the full DIGITAL GKS D product was installed. As a result, the Run-Time-Only Kit license isD available at a substantially lower cost per system than the Develop- ment Kit license.I  # License Management Facility Support   G DIGITAL GKS supports the OpenVMS VAX License Management Facility (LMF).uA This facility allocates license units for DIGITAL GKS as follows:i  G o  For the Development option-on a Personal Use and Unlimited Use basisu  E o  For the Run-Time-Only option-on a Concurrent Use and Unlimited Uses    basis  N Each Personal Use License allows one identified individual to use DIGITAL GKS.C Each Concurrent Use License allows only one individual at a time torD use DIGITAL GKS. Each Unlimited Use License allows any number of in-. dividuals to use DIGITAL GKS at the same time.          "                                 18 i     D For further details on the License Management Facility, refer to theH OpenVMS VAX Operating System Software Product Description (SPD 25.01.xx)E or the OpenVMS VAX Operating System documentation. To obtain more in-vF formation about the DIGITAL licensing terms and policies, contact your local DIGITAL office.a   SOFTWARE PRODUCT SERVICESe  E A variety of service options are available from DIGITAL. For more in- - formation, contact your local DIGITAL office.d   SOFTWARE WARRANTY-  G Warranty for this software product is provided by DIGITAL with the pur-eC chase of a DIGITAL GKS license, as defined in the Software Warrantyt Addendum of this SPD.a  H The information in this document is valid at the time of release. PleaseF contact your local DIGITAL office for the most up-to-date information.  = [R]  Apple and LaserWriter are registered trademarks of Apple       Computer, Inc."  < [R]  Hewlett-Packard, HP, HP-GL, and LaserJet are registered+      trademarks of Hewlett-Packard Company.   > [R]  LASERGRAPHICS MPS-2000 is a registered trademark of Laser      Graphics, Inc.   ? [R]  Motif and OSF/1 are registered trademarks of Open Software-      Foundation, Inc.f  : [R]  PostScript is a registered trademark of Adobe Systems      Incorporated.  > [R]  TEKTRONIX and Tek are registered trademarks of Tektronix,	      Inc.n  A [TM] X Window System is a trademark of Massachusetts Institute ofS      Technology.  "                                 19 l       @ [TM] Bookreader, CI, CDA, DDIF, DEC, DEC C, DEC GKS, DEC GKS-3D,<      DEClaser, DECwindows, DIGITAL, DIGITAL GKS, LA50, LA75,=      LA84, LA86, LA100, LA280, LA324, LA380, LN03, LN03 PLUS,t?      LN03 ScriptPrinter, LVP16, MicroVAX, OpenVMS, ReGIS, TK50,h?      VAX, VAX Ada, VAX BASIC, VAX BLISS-32, VAX C, VAX FORTRAN,e:      VAX Pascal, VAXcluster, VAXft, VAXserver, VAXstation,@      VAXstation 4000 VLC, VT125, VT240, VT241, VT330, VT340, andB      the DIGITAL logo are trademarks of Digital Equipment Corpora-
      tion.  9 1997 Digital Equipment Corporation. All Rights Reserved.e                                                        "                                 20