cool2e

119
SYNON/2E - Overview

Upload: ajey-karthik-j-p

Post on 26-Nov-2014

297 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cool2E

SYNON/2E - Overview

Page 2: Cool2E

2

Agenda Overview on CASE tools Overview on COOL family COOL/2E - Overview COOL/2E Versus AS/400 COOL/2E Files COOL/2E Fields & Data types COOL/2E Conditions COOL/2E Access paths COOL/2E Functions COOL/2E Parameters COOL/2E Contexts COOL/2E Return Codes COOL/2E Device design COOL/2E Action diagram COOL/2E – A Case study

Page 3: Cool2E

CASE Overview

Page 4: Cool2E

4

CASE - Overview Computer-Aided Software Engineering

EVOLUTION OF CASE TOOLS.» 1GL - Machine Language» 2GL - Assembler Alphabetic abbreviations» 3GL - HLL Languages COBOL , RPG» 4GL - CASE / Front end generation

CASE tools are separated in three groups:• Upper CASE: Tools that focus on the analysis phase (but

sometimes also the design phase) of the software development lifecycle (diagramming tools, report and form generators, analysis tools)

• Lower CASE: Tools to support database schema generation, program generation, implementation, testing, Configuration management.

• I-CASE: Tools that integrate both upper and lower CASE.

Page 5: Cool2E

COOL Family

Page 6: Cool2E

6

Introduction to COOL2EWhat is CA 2E? CA 2E is a powerful development environment that creates all of the code, database,

help text and other objects necessary to deliver full-scale business applications on the IBM System i server.

It also provides a dynamic, real-time environment for web enabling, integrating and extending System i applications.

What development challenges does it meet? CA 2E can help you design powerful applications that are closer to end user

requirements. As your business evolves, the ongoing challenge of application maintenance is addressed with the model-based design, storing data in a central location.

CA 2E remains the environment of choice for thousands of System i developers across the globe.

What features does it offer? CA 2E features a model-based design meaning that applications are designed with

business requirements in mind rather than technical specifications. Business logic can be readily created, retrieved or changed within design models.

Additionally, CA 2E creates all of the code and help text needed to deliver an application for the System i server.

What platforms does it support? IBM System i (formerly known as i5, iSeries or AS/400)

Page 7: Cool2E

7

Introduction to COOL PLEXWhat is CA Plex? CA Plex is a multi-platform, model-based, architected rapid application development

(ARAD) tool that includes architectural and design objects known as patterns. By eliminating the need to code repeatable elements of applications, patterns

significantly accelerate time required for projects, which in turn provides a significant cost savings.

What development challenges does it meet? Adopting technologies such as Web Services that are key to building a service oriented

architecture that addresses not only development but application integration requirements is extremely challenging.

CA Plex provides a smart, efficient, single environment to create, integrate and maintain large-scale business applications for multiple platforms.

What features does it offer? Hundreds of business objects known as patterns are included with CA Plex. By dragging

and dropping them into a design model, the properties are instantly inherited saving time and effort.

100% of the native C#, Java, C++ or RPG code needed is automatically generated, with options to expand to SOA-based and web-based implementations.

What platforms does it support? Microsoft Windows/.NET, Java/J2EE (including servers that run Java, i.e. Linux, UNIX,

etc.) and IBM System i (formerly known as i5, iSeries or AS/400).

Page 8: Cool2E

8

Introduction to COOL GENWhat is CA Gen? CA Gen is a powerful model-driven environment that will enable your organization to

speed delivery and maintenance of high-performance, scalable business applications. Use CA Gen to build your new enterprise-scale applications, or modernize your existing legacy applications.

What application development challenges does it meet? Be more reactive to change and lower your software costs, because with CA Gen, design

changes are made in a model, not in the code. Migrate your applications to new platforms and architectures without completely rewriting your systems.

Platform-independence provides flexible deployment options to your platform, database and middleware of choice.

What features does it offer? CA Gen features an integrated modeling environment which speeds application delivery

and maintenance. Built-in rules and automated consistency check ensure system quality. Robust code generators deliver 100% of the system code for scalable business solutions.

Comprehensive repository environment enables team development to support complex projects.

What platforms does it support? CA Gen enables application development on Windows workstations and supports

application deployment to a flexible, open environment enabling any organization to integrate multiple platforms on z/OS (CICS and IMS), UNIX, Linux, Windows, .NET and J2EE.

Page 9: Cool2E

9

Introduction to COOL AIONWhat is CA Aion® Business Rules Expert? It is a rules-based application development tool that allows you to build intelligent

systems that automate and streamline business functions and processes. It delivers an open, integrated solution that enables your organization to leverage information for understanding and optimizing business and IT.

What development challenges does it meet? It enables you to transform complex business logic and knowledge into manageable

rules, and deploy them in intelligent enterprise solutions to drive, automate and manage core business functions.

Use it to leverage expert knowledge, automate decision-making and deliver new products to the market with increased speed and accuracy.

What features does it offer? CA Aion Business Rules Expert features high-performance rules inference engine to

execute rules in real time. Web-based, easy-to-use tools enable business users to create and manage rules and

automate discovery of rules from data using advanced analytics. 

What platforms does it support? Windows, z/OS and UNIX environments.

Page 10: Cool2E

COOL / 2E - Overview

Page 11: Cool2E

11

Chronology 1987 : Launched by SYNON Ltd 1998 : Acquired by Sterling Software (Plano,

Texas) and renamed as COOL:2E 2000: Sterling acquired by Computer Associates

(CA) and distributed as All Fusion 2E

Page 12: Cool2E

12

COOL2E FeaturesFeatures Create programs (RPG, COBOL or Java) without

having to know a programming language Application is stored as business design objects

(data definitions, interface designs, action diagrams)

Changes to specs can be applied automatically throughout the application design

Improvements can be made independently of the specifications

Same design can be used to implement applications for several different environments.

Helps to design and generate applications many times faster than traditional methods.

Page 13: Cool2E

13

COOL2E Features COOL/2E is an application development tool

that allows design, development, implementation and maintenance of applications software systems.

3 important design concepts are:» Rapid Prototyping Methodology» Data driven design» Object based design

Data driven approach has advantage of eliminating data redundancy and sets the stage for normalizing the database.

COOL/2E implements Entity – Relation modeling method.

Page 14: Cool2E

COOL / 2E Versus AS/400

Page 15: Cool2E

15

COOL2E Vs AS400 Terminology Files – DDS – PFs

& LFs Programs –

DSPFs – Program Syntax

Parameters – Program Customization – Utilities – Message Subfiles

Files – Relations - Access Paths

Functions - Device Design - Action Diagram

Parameters – Function Options – Function Fields – Messages

Page 16: Cool2E

COOL / 2E - Files

Page 17: Cool2E

17

Data Modeling A data model is a structured

description of a set of data and its relationships, which is sued to represent the business of an organization

Data modeling helps in designing a correct database, which is essential to the successful implementation of the application system.

Page 18: Cool2E

18

COOL/2E File Types REF - Master File

» Contains much detailed information .» Contains Static information.» Have a known number of Occurrences.

CPT - Transaction File» Records of high volume of Transaction» Have a unknown number of Occurrences

STR – Structure File» These can be incorporated in to a number of files through

“Includes” relation» Non Data base file

Page 19: Cool2E

19

File Relations A relation is an association between two files or

between a file and a field

File Definition Defined as

File to File Owned ByRefers toExtended ByIncludes

File to Field Known by Has Qualified By

Page 20: Cool2E

20

Defined As» Declares that a file exists» Not mandatory (COOL/2E creates by default if this

does not already exist)

Product Defined as Product

Page 21: Cool2E

21

Known by - Has Known By

» Specifies that a field is a key field» There may be more than one `known by’ relation in a file

Has» Declares a field to be present in a file as an attribute . » The field is included as a non-key field

Page 22: Cool2E

22

Known By - HasOrder Defined as Order Order Known by Order CodeOrder Has Order DateOrder Has Order Desc

This would result in the following entries:

Order Order code KOrder DateOrder Desc

Page 23: Cool2E

23

Owned By» Parent Child relationship» Primary Keys of parent become part of the primary

key of the child file» More than 1 Owned By relation allowed

Page 24: Cool2E

24

Owned ByOrder Defined as Order Order Known by Order CodeOrder Has Order DateOrder Has Order Desc

Order Detail Defined as Order DetailOrder Detail Owned By OrderOrder Detail Known By Order Line No

Order fileOrder code KOrder DateOrder Desc

Order Detail fileOrder Code K1Order Line No K2Owned By

Page 25: Cool2E

25

Refers To» File references another file» Primary Keys of parent become foreign key of the

child file» More than 1 Refers To relation allowed» Involution – If a file refers to itself.

Page 26: Cool2E

26

Refers ToOrder Defined as Order Order Known by Order CodeOrder Has Order DateOrder Has Order Desc

Order Detail Defined as Order DetailOrder Detail Refers To OrderOrder Detail Known By Order Line No

Order fileOrder code KOrder DateOrder Desc

Order Detail fileOrder Line No KOrder Code FK

Refers To

Page 27: Cool2E

27

Qualified by» It is used to qualify a file identifier by one or more

variable factors such as date, time or a sequence number

» Typically used for entities which represent a range of values

» Can specify *Previous or *Next to choose the nearest records

» Redirection – Qualified or Keyed

e.g. Prices or currency rates or volume discount breaks or tax ranges which come into effect on a given date and prevail for a while. The identification of such entities might be qualified by a date.

Page 28: Cool2E

28

Product Price Owned by Product Code

Product Price Qualified by Effective date

Product Price Has Product price

Order detail – refers to product & Product price – Share (*all)

Redirect effective date to Order date.

Example

Page 29: Cool2E

29

Extended by» Declares a file to be an extension of another file» Used when the extending file is Owned by the

extended file» Seldom used fields in new file

Page 30: Cool2E

30

Extended byCustomer Known By Customer CodeCustomer Has Customer NameCustomer Extended By Customer Details File

Customer Details Owned By CustomerCustomer Details Has Credit LimitCustomer Detail Has Managing Director

This would result in the following entries:

Customer fileCustomer Code KCustomer Name

Customer Details FileCustomer Code KCredit LimitManaging Director

Page 31: Cool2E

31

Includes» The Includes relation states that a file is to include

fields that have been declared in a structure file» The structure file can be included in many files» All fields are included in the including file as non-

key fields

Order Defined as Order Order Known by Order CodeOrder Has Order DateOrder Has Order StatusOrder Includes Order Stamp

Page 32: Cool2E

32

IncludesOrder Stamp Has Order DateOrder Stamp Has Order TimeOrder Stamp Has Order User Id

This would result in the following entries:

Order Order code KOrder DateOrder StatusOrder DateOrder TimeOrder User Id

Page 33: Cool2E

33

Virtual Fields» Field which is present logically in a view of a file

although it physically resides in another file.» Can be specified on the following relations

• Owned by• Refers to• Extended by

» A virtual field may itself be a virtual field on the referenced file.

Order Known by Order CodeOrder Has Order DateOrder Has Order StatusOrder Refers To Customer

VRT Customer name

Page 34: Cool2E

34

Virtual FieldsOrder Detail Owned by Order

VRT Order DateVRT Order StatusVRT Customer

CodeVRT Customer

NameOrder Detail Known By Order Line NoOrder Detail Has Order QuantityOrder Order code KOrder DateOrder StatusCustomer CodeCustomer Name V

Order DetailOrder code KOrder Date VOrder Status VCustomer Code VCustomer Name VOrder Line No KOrder Quantity

Page 35: Cool2E

35

Relation SequencingDefault Sequence

DEFINITION DEFINED AS

KEY OWNED BYKNOWN BY

QUALIFIED BY

ATTRIBUTE EXTENDED BY REFERS TO HAS INCLUDES

Page 36: Cool2E

COOL / 2E – Fields & Data Types

Page 37: Cool2E

37

FieldsField

A field is a description of an item of data. It must have a name and type.

Field usageField usage is given when referring to a field with a relation.

RelationCOOL/2E relations establish the relationships between fields and files and files and other files.

Page 38: Cool2E

38

Data TypesType Description Length

CDE Alpha Numeric Code 6NBR Number 5.0PRC Price 5.2QTY Quantity 5.0 VAL Value 11.2PCT Percentage 5.2DTE Date 6.0TME Time 6.0TXT Descriptive Text 25NAR Narrative Text 30STS Status 1VNM Variable name 10TM# Time 8.0DT# Date 8.0

Page 39: Cool2E

COOL / 2E - Conditions

Page 40: Cool2E

40

Conditions» Indicates or specifies the set of values a field may

take» Usage:

• Validate the entry of data at run time• Select/Omit Criteria• Processing conditions in code• Condition the appearance of fields on device

designs» Each Condition has a name, a type and an

associated value

Page 41: Cool2E

41

Conditions Condition Type

» STATUS FIELDS • VAL (VALUE)• LST (VALUE LIST)

» NON-STATUS FIELDS• CMP (COMPARE )• RNG (RANGE)

Page 42: Cool2E

COOL / 2E - Access paths

Page 43: Cool2E

43

Access paths Let’s understand them first

» How do you access files in your AS400 program• How do you declare them• How do you Create/Delete/Update Records • How do you Access records in a Different

Sequence

Page 44: Cool2E

44

Access Paths» Access path defines the Physical File or Logical

views of that file.» By building access path we specify

• order by which records are retrieved • which fields will be present• select/omit criteria for records

» 6 types of Access Paths• PHY - PHYSICAL FILE• UPD - UPDATE INDEX• RTV - RETRIEVAL INDEX• RSQ - RESEQUENCE ACP• SPN - SPAN ACCESS PATH• QRY - QUERY ACCESS PATH

Page 45: Cool2E

45

Physical Access Path» Is unkeyed» No virtual fields allowed» Automatic for every REF, CPT file» Not referenced by functions » No additional PHY access path can be created

Page 46: Cool2E

46

Update Access Path» Uniquely keyed» No virtual fields» Automatically created for REF, CPT files» Used to update database files (create, change,

delete DB)» Additional UPD access paths can be created with

same keys and subset of fields.

Page 47: Cool2E

47

Retrieval Access Path» Uniquely keyed » Virtual fields are allowed» Automatically created for CPT or REF file» Used to retrieve records from database files» Select / omit logic» Any number of RTV access paths for a given file

Page 48: Cool2E

48

Resequence Access Path Keyed Key (s) need not be unique Must be created explicitly Virtual fields allowed Many RSQ access paths for a given file

Page 49: Cool2E

49

Span Access Path» Multi format keyed access path» To retrieve records from a pair of related files» Must be related by an “owned by” or “refers to”

relation» Used for EDTTRN, DSPTRN» Many SPAN access paths can be created with

different format, selection criteria, key sequence

Page 50: Cool2E

50

Query Access Path» Keyed access path» Virtual fields are allowed as key and non key fields» To be created explicitly» Mainly used for Print File and Print Object functions

Page 51: Cool2E

51

Adding Access Paths Default

» Physical access path (PHY)» Update access path (UPD)» Retrieval access path (RTV)

Possible Additions» Update access path (UPD)» Retrieve access path (RTV)» Resequence access path (RSQ)» Query access path (QRY)» Span access path (SPN)

Page 52: Cool2E

COOL / 2E - Functions

Page 53: Cool2E

53

Functions Roles A function defines a process that operates on files andfields in the database.

» Retrieve/Manipulate Data» Update Files & Fields» Print Reports» Call other Functions» Send messages within the application» Perform Arithmetic Calculations» Execute non-COOL:2E written Code» Call non COOL:2E written programs

Page 54: Cool2E

54

Function Types• Functions

– Standard Functions– Built in functions– Function fields– Message functions

Page 55: Cool2E

55

Standard Functions – Data base• Basic routine for updating the database

– Data base functions» CRTOBJ» CHGOBJ» DLTOBJ» RTVOBJ

CRTOBJ, CHGOBJ, DLTOBJ - UPD index

RTVOBJ – RTV & RSQ index

Page 56: Cool2E

56

Standard Functions - Device• Online Screens or Reports

– Device functions» DSPRCD» DSPRCD2» DSPRCD3» EDTRCD» EDTRCD2» EDTRCD3» DSPFIL» EDTFIL» DSPTRN» EDTTRN» SELRCD» PMTRCD» PRTFIL» PRTOBJ

Page 57: Cool2E

57

Standard Functions - User• User written processing• Internal or External functions

– User functions» EXCINTFUN (Subroutine with empty AD)» EXCEXTFUN (Program with empty AD)» EXCUSRSRC (HLL Subroutine)» EXCUSRPGM (HLL Program)

Page 58: Cool2E

58

Built In Functions» Execute common low-level functions

(e.g. arithmetic operations, character string manipulations and control operations)

» Functions*ADD Add*COMMIT Commit*COMPUTE Compute*CONCAT Concatenation*CVTVAR Convert Variable*DATE DETAILS Date Details*DATE INCREMENT Date Increment*DIV Divide*DIV WITH REMAINDER Divide with Remainder

Page 59: Cool2E

59

Built In Functions*DURATION Date Duration*ELAPSED TIME Elapsed Time*EXIT PROGRAM Exit Program*MODULO Modulo*MOVE Move*MOVE ALL Move All*MULT Multiply*QUIT Quit*ROLLBACK Rollback*RTVCND Retrieve Condition*SET CURSOR Set Cursor*SUB Subtract*SUBSTRING Substring*TIME DETAILS Time Details*TIME INCREMENT Time Increment

Page 60: Cool2E

60

Function Fields• Ready-made functions

– SUM– MAX– MIN– CNT– DRV (Many I/P & 1 O/P)– USR (No I/P & work fields O/P)

Page 61: Cool2E

61

Message Functions• Message functions

– SNDERRMSG– SNDINFMSG– SNDCMPMSG– SNDSTSMSG– RTVMSG (Retrieve message from field)– EXCMSG (For SBMJOB / QCMDEXC)

Page 62: Cool2E

62

Internal Functions» Generated as a subroutines» Not Stand Alone» Cannot be Compiled» Internal Functions can’t be called directly. These

functions should be embedded in external function

» Functions• CRTOBJ• CHGOBJ• DLTOBJ• RTVOBJ• PRTOBJ• EXCINTFUN• EXCUSRSRC

Page 63: Cool2E

63

External Functions Stand Alone Function Can be Compiled Generated as an HLL Program.

Functions Edit Record 1, 2, 3 Display Record 1,2,3 Edit file Display File Edit Transaction Display Transaction Select Record Print File Prompt Record EXCEXTFUN EXCUSRPGM

Page 64: Cool2E

COOL / 2E - Parameters

Page 65: Cool2E

65

PARAMETERS USAGE Input Output Both Neither

Page 66: Cool2E

66

PARAMETER - ROLE MAP RST POS VAR (when used with EXCUSRSRC &

EXCUSRPGM)

Page 67: Cool2E

67

PARAMETER - Types FLD RCD KEY

Page 68: Cool2E

68

Page 69: Cool2E

COOL / 2E - Contexts

Page 70: Cool2E

70

ContextsTypical field values are:

» DB1» DB2» ELM» KEY» DTL» DTL2» DTL3» CTL» RCD» CUR» NXT» CND» CON» JOB» PGM» PAR» WRK

Page 71: Cool2E

71

Contexts

Typical field values are:» LCL» CUR» NXT» TOP

Page 72: Cool2E

72

ContextsTypical Job values are:

» User» Job» Program» Job no» Date» Year» Minute» Second

Page 73: Cool2E

73

Contexts

Typical program values are:» Program mode» Return code» Reload subfile» Record changed» Record selected» Scan limit (# of record read for a file)» Continue transaction» Cursor Row» Cursor column» Re-read subfile record

Page 74: Cool2E

COOL / 2E – Return Codes

Page 75: Cool2E

75

Return codeMandate for all functions except for

» EXCUSRSRC» EXCUSRPGM

Common values:» Normal» Record already exists» Record not found» User quit requested» Substring error» Data update error» Not Blank

Page 76: Cool2E

COOL / 2E – Device Design

Page 77: Cool2E

77

Device Design DEVICE DESIGN CAN BE CUSTOMIZED AS FOLLOWS

» RE-ALIGNMENT OF FIELDS» HIDING OF EXISTING FIELDS» ADDITION OF FUNCTION FIELDS» CHANGING FIELD MODES BASED ON CONDITIONS

Page 78: Cool2E

78

Device Design Important Keys – Device Design

» F8 = Cut/Paste» F10 = Move Right» F22 = Move Left» F11 = Move Up» F9 = Move Down» F18 = Field Attributes» F17 = Record Formats

Page 79: Cool2E

COOL / 2E – Action Diagram

Page 80: Cool2E

80

Action Diagram….. A diagram that represents the action or

steps executed by that function User points will be made available for

users to insert their logic into the action diagram to add processing that is specific to that function.

Constructs (Sequential, Conditional & Iterative) defines the procedural logic of an action diagram.

You can use Notepads to copy the constructs from one actions diagram to another.

Page 81: Cool2E

81

Action Diagram….. IAF Insert an Action (Calling a function) IMF Insert a Message ICF–Insert Case Construct IO – Insert Otherwise IXF– Insert Switch Case IIF – Insert Iteration I*F – Insert Comments I=F– Move

Page 82: Cool2E

82

Action Diagram….. C – Copy CC – Copy a Block of Statements A – Paste M – Move MM – Move a Block of Statements IQ – Quit IE – Exit

Page 83: Cool2E

83

User Points Logic Division in Action Diagram User code can be added here. Each function has its own set of User

Points User points cannot be added EXCEXTFUN and EXCINTFUN do not have

User Points

Page 84: Cool2E

COOL / 2E – A Case Study

Page 85: Cool2E

85

Case Study Problem Statement Requirements Analysis Device Design Coding Compilation

Page 86: Cool2E

86

Problem Statement1. Create a new screen that would display “Item

Discontinue Details” such as Item Number, Item Description, Discontinue Reason code and the Item Status.

2. Enable filtering of records based on Item.3. Provide option to add an Item. 4. Provide option to edit the existing details of an

Item.5. Display the Location of the DC Number on the

screen. (Retrieve from LDA)6. Provide option to Print the details of the items

displayed on the screen

Page 87: Cool2E

87

Requirement Analysis Identify the file on which the Display file (Screen)

would be based.

Identify the Access path on which the Display file is to be based.

Identify the fields that needs to be present in the Control & subfile part of the screen.

Identify the functions that need to be called from this screen.

Page 88: Cool2E

88

Flow chart depicting the flow

Display Screen

Report

Edit File in Add Mode Edit File in change Mode

Page 89: Cool2E

89

Device Design Screen Title

Control Part fields to Filter or to Position specific subfile records

Subfile Part fields to be displayed in the screen

Footer Design- Command Keys and Subfile Options.

Page 90: Cool2E

90

Approach for Problem Statement 1 Create a Display function.

Specify the file and the access path.

By Default all keys would appear in the Control Part of the screen.

Select the fields that need to be displayed in the subfile part.

Page 91: Cool2E

91

Screen Design

Page 92: Cool2E

92

Filtering or Positioning Records Filtering and Positioning of Key fields. – Handled by

SYNON

Filtering or positioning of Non Key fields – Handled by logic in User Code.

Page 93: Cool2E

93

Solution of Problem Statement 2

Page 94: Cool2E

94

Approach for Problem Statement 3 & 4 Add Function Keys and Subfile Options in the footer of

the screen.

F6 for Adding a Record. 2 for Editing a Record

Add code for Function keys in either of the user points, Process subfile record (or) Process Command Keys.

Add code for Subfile options in the user point Process Subfile Record (pre-confirm)

Page 95: Cool2E

95

Adding Function keys and Options

Page 96: Cool2E

96

Code for handling Subfile Options

Page 97: Cool2E

97

Code for handling Function Keys

Page 98: Cool2E

98

Approach for Problem Statement 5 A CL to retrieve the Location for a

Particular DC from LDA.

Convert CL to an External User Program

Integrate it with the Application by calling the EXTUSRPGM at the appropriate User Point.

Page 99: Cool2E

99

Solution for Problem Statement 5

Page 100: Cool2E

100

CL to EXTUSRPGM

Page 101: Cool2E

101

Integrating the code with Application

Page 102: Cool2E

102

Approach for Problem Statement 6 Design the Report to be printed.

Integrate it with the Application by calling it at the appropriate User Point.

Page 103: Cool2E

103

Report Design

Page 104: Cool2E

104

Solution for Problem Statement 6

Page 105: Cool2E

105

Compiling the Display file

Page 106: Cool2E

106

Running the application

Page 107: Cool2E

107

F6 – Adding a Record

Page 108: Cool2E

108

2 - Editing a Record

Page 109: Cool2E

109

F7 – Report

Page 110: Cool2E

110

Q & A

Page 111: Cool2E

111

Page 112: Cool2E

112

Page 113: Cool2E

113

Page 114: Cool2E

114

Page 115: Cool2E

115

Page 116: Cool2E

116

Page 117: Cool2E

117

Page 118: Cool2E

118

Page 119: Cool2E

119