Beruflich Dokumente
Kultur Dokumente
1.0 INTRODUCTION
The Internet is worldwide computer network that interconnects, million of computing
devices throughout the world. Most of these devices are PC’s, and servers that store
and transmit information such as web pages and e-mail messages. Internet is
revolutionizing and enhancing the way we as humans communicate, both locally and
around the globe. Everyone wants to be a part of it because the Internet literally puts
a world of information and a potential worldwide audience at your fingertips.
The Internet evolved from the ARPANET (Advanced Research Projects Agency) to
which other networks were added to form an inter network. The present Internet is a
collection of several hundred thousand of networks rather than a single network.
From there evolved a high-speed backbone of Internet access for sharing these of
networks. The end of the decade saw the emergence of the World Wide Web, which
heralded a platform-independent means of communication enhanced with a pleasant
and relatively easy-to-use graphical interface.
The World Wide Web model follows Cient/Server software design. A service that
uses client/server design requires two pieces of software to work: Client Software,
5
Scripting Languages
The server software for the World Wide Web is called an HTTP server (or
informally a Web server). Examples are Mac HTTP, CERN HTTP, and NCSA
HTTP. The client software for World Wide Web is called a Web browser. Examples
are: Netscape, and Internet Explorer.
1.1 OBJECTIVES
After going through this unit students should be able to:
The networks can be classified into LAN, MAN and WAN networks. Here, we
describe them into brief to understand the difference between the types of network.
A wide variety of LANs have been built and installed, but a few types have more
recently become dominant. The most widely used LAN system is the Ethernet
system. Intermediate nodes (i.e. repeaters, bridges and switches) allow LANs to be
connected together to form larger LANs. A LAN may also be connected to another
LAN or to WANs and MANs using a “router”.
6
The Internet
The MAN, its communications links and equipment are generally owned by either a
consortium of users or by a single network provider who sells the service to the users.
This level of service provided to each user must therefore be negotiated with the
MAN operator, and some performance guarantees are normally specified.
In most WAN a subnet consists of two types of elements: (i) Transmission lines (ii)
Switching element.
Transmission lines also called channels move about from one machine to another
machine. The basic purpose of the switching element is to select the outgoing path for
forwarding the message.
Numerous WANs have been constructed, including public switched networks, large
corporate networks, military networks, banking networks, stock brokerage networks,
and airline reservation networks. A WAN is wholly owned and used by a single
company is often referred to as an enterprises network.
The OSI model is not a protocol, it is a model for understanding and designing a
network architecture that is inter- operable, flexible and robust.
The OSI model has a seven-layered architecture. These are:
Application layer
Presentation layer
7
Scripting Languages
Session layer
Transport Layer
Network layer
Physical Layer
Figure 1: OSI Model
Physical layer: the physical layer is concerned with sending raw bits between the
source and destination nodes over a physical medium. The source and destination
nodes have to agree on a number of factors.
Topology: what is the network topology i.e. star, mesh, ring or bus?
Data link layer: the data link layer is responsible for transmitting a group of bits
between the adjacent nodes. The group of bits is known as frame. The network layer
passes a data unit to the data link layer and data link layer adds the header
information to this data unit. The data link layer performs the following functions:
x Addressing: Headers and trailers are added containing the physical addresses
of the adjacent nodes and removed on a successful delivery.
x Framing: Grouping of/bits received from the network layer into manageable
units called frame
x Flow control: to regulate the amount of data that can be sent to the receiver.
x Media access control (MAC): who decide who can send data, when and how
much.
x Synchronization: this layer also contains bits to synchronize the timing to
know the bit interval to recognize the bit correctly.
x Error control: it incorpoprates the CRC to ensure the correctness of the frame.
x Node to node delivery: it’s also responsible for error-free delivery of the entire
frame/packet to the next adjacent node.
Network layer: The network layer is responsible for routing a packet within the
subnet that is, from source to destination nodes across multiple nodes in the same
network or across multiple networks. This layer also ensures the successful delivery
of a packet to the destination node. The network layer performs the following
functions:
Transport layer: this layer is the first end-to-end layer. Header of the transport layer
contains information that helps send the message to the corresponding layer at the
8
The Internet
destination node. The message is broken into packets and may travel through a
number of intermediate nodes. This layer takes care of error control and flow control
both at the source and destination for the entire message. The responsibilities of the
transport layer are:
Session layer: the main functions of this layer are to establish, maintain and
synchronize the interaction between two communication hosts. It makes sure that
once a session is established it must be closed gracefully. It also checks and
establishes connections between the hosts of two different users. The session layer
also decides whether both users can send as well as receive data at the same time or
whether only one host can send and the other can receive. The responsibilities of
session layer are:
x Sessions and sub sessions: this layer divides a session into sub session for
avoiding retransmission of entire message by adding the checkpoint feature.
x Synchronization: this layer decides the order in which data needs to be passed
to the transport layer.
x Dialog control: this layer also decides which user application sends data and at
what point of time and whether the communication is simplex, half duplex or
full duplex.
x Session closure: this layer ensures that the session between the hosts is closed
gracefully.
Presentation layer: when two hosts are communicating with each other they might
use different coding standards and character sets for representing data internally. This
layer is responsible for taking care of such differences. This layer is responsible for:
Application layer: it’s the topmost layer in the OSI model, which enables the user to
access the network. This layer provides user interface for network applications such
as remote login, World Wide Web and FTP. The responsibilities of the application
layer are:
The TCP/IP protocol suit is made of the five layers: Physical, data link, network,
transport & application. The first four layers provide physical standards network
interface, internetworking and transport mechanism whereas the last layer comprises
of the functionalities of the three topmost layers in the OSI model.
9
Scripting Languages
End systems are connected together by communication links. There are many types
of communication links, which are made of different types of physical media,
including fiber optics, twisted pair, coaxial cable and radio links. Different links can
transmit data at different rates. The link transmission rate is often called the
bandwith of the link, which is typically measured in bits/second. The highest the
bandwith, the more is the capacity of the channel. End systems are not usually
directly attached to each other via a single communication link. Instead, they are
indirectly connected to each other through intermediate switching devices known as
routers. A router takes a chunk of information arriving on one of its incoming
communication links and forwards that chunk of information on one of its outgoing
communication links. In the jargon of computer networking, the chunk of
information is called a packet. The path that the packet takes from the sending end
system, through a series of communication links and routers, to the receiving end
system is known as a route or path through the network. Rather than providing a
dedicated path between communicating end systems, the Internet uses a technique
known as packet switching that allows multiple communicating end systems to share
a path, or parts of a path, at the same time. Similar to a router, there is another
special machine called gateways used in the network that allows different networks to
talk to the Internet, which uses TCP/IP.
Packet switching is used to avoid long delays in transmitting data over the network.
Packet switching is a technique, which limits the amount of data that a computer can
transfer on each turn. Packet switching allows many communications to proceed
simultaneously. Each packet contains a header that specifies the computer to which
the packet should be delivered and the destination is specified using computer’s
address. Computers that share access to a network take turns in sending packets. On
each turn, a given computer sends one packet. IP uses this packet switching concept
to deliver messages on the Internet If the destination address does not exist on the
local network, it is the responsibility of that network’s router to route the message
one step closer to its destination. This process continues until the destination machine
claims the message packet.
The SLIP (Serial Line Internet Protocol) or PPP (Point to Point Protocol): two
protocols; serial line interface protocol (SLIP) and the point-to-point protocol
(PPP), allow a user to dial into the Internet. They convert the normal telephone data
stream into TCP/IP packets and send them to the network. With these, the user
becomes a peer station on the Internet and has access to all of the Internet’s facilities.
10
The Internet
as cable modem or DSL, high-speed LAN access, and wireless access. ISPs also
provide Internet access to content providers, connecting Web sites directly to the
Internet. To allow communication among Internet users and to allow users to access
worldwide Internet content, these lower-tier ISPs are interconnected through national
and international upper-tier ISPs, such as Sprint. An upper-tier ISP consists of high-
speed routers interconnected with high-speed fiber-optic links. Each ISP network,
whether upper-tier or lower-tier, is managed independently, runs the IP protocol (see
below), and conforms to certain naming and address conventions.
The use of ISDN for accessing the Internet has breathed new life into the ISDN
service. ISDN’s slow acceptance was due mostly to a lack of a need for its
capabilities. Being a digital interface, ISDN has provided a means for accessing web
sites quickly and efficiently. In response to this new demand, telephone companies
are rapidly adding ISDN services.
The ISDN standard defines three channels types, each with the different transmission
rate: bearer channel (B), data channel (D) and hybrid channel (H) (see the following
table)
The B channel is defined at a rate of 64 Kbps. It is the basic user channel and can
carry any type of digital information in full duplex mode as long as the required
transmission does not exceed 64 kbps. A data channel can be either 16 or 64 kbps
depending on the needs of the user used to carry control signals for B channels.
Of the two basic rate B channels, one is used to upload data to the Internet and one to
download from the Internet. The D Channel assists in setting up connection and
maintaining flow control. There are three ways ISDN can be used to interface to the
Internet, by using a modem, adaptor, or bridge/router. ISDN modems and adaptors
limit access to a single user. Both terminate the line into an ISDN service. The
difference between them is that the ISDN modem takes the Internet traffic and pushes
it through the computer serial port, while, the faster ISDN adaptor connects directly
to the computer’s buses.
ISDN bridge/routers allow for local network connections to be made through ISDN
to the Internet. The ISDN termination is made into an Ethernet-type LAN so that
multiple users can achieve access to the Net through a single access address.
Transfer rates between user and the Internet are between 56 and 128 Kbps.
11
Scripting Languages
Cable Modem
One more way of accessing the Internet currently being developed is the use of cable
modems. These require that you subscribe to a cable service and allow you two-way
communication with the Internet at rates between 100K and 30 Mbps. The cable
modem performs modulation and demodulation like any other modem, but it also has
a tuner and filters to isolate the Internet signal from other cable signals. Part of the
concern for use of the cable modem is to formulate LAN adapters to allow multiple
users to access the Internet. A medium access control (MAC) standard for sending
data over cable is being formulated by the IEEE 802.14 committee.
12
The Internet
x Error Control
x Loss control
x Sequence control
x Duplication control
TCP is used along with the Internet Protocol to send data in the form of message
units between computers over the Internet. While IP takes care of handling the actual
delivery of the data, TCP takes care of keeping track of the individual units of data
(called Packet) that a message is divided into for efficient routing through the
Internet. TCP provides for a reliable, connection-oriented data transmission channel
between two programs. Reliable means that data sent is guaranteed to reach its
destination in the order sent or an error will be returned to the sender.
For example, when an HTML file is sent to someone from a Web server, the
Transmission Control Protocol (TCP) program layer in that server divides the file
into one or more packets, numbers the packets, and then forwards them individually.
Although each packet has the same destination IP address, it may get routed
differently through the network. At the other end (the client program in our
computer), TCP reassembles the individual packets and waits until they have arrived
to forward them as a single file.
TCP is responsible for ensuring that a message is divided into the packets that IP
manages and for reassembling the packets back into the complete message at the
other end. In the Open Systems Interconnection (OSI) communication model, TCP is
in layer 4, the Transport Layer.
13
Scripting Languages
VVS is an username which in general is the name of the Internet account. This name
is same as the one, which you may use when logging into the computer on which you
have your Internet account. Logging in is the process of gaining access to your
account on a computer, which is shared by several users. Your Internet account is
created on it.
.edu is a domain top or what part in – It refers to “where” part which is a country
code.
Where:
http is the communication protocol to be used
www is the notation for World Wide Web
.Microsoft is the registered domain Name associated with the IP address of an
Internet Server.
.com the server provides commercial services to clients who connect to it.
14
The Internet
What does it all mean? Actually to the ISP server, very little. The server wants to see
something quite different. It wants to see a 32-bit number as an Internet address.
Something like this equivalent decimal grouping:
198.168.45.249
The Internet addresses, known as universal resources locators (URL), are translated
from one form to the other using an address resolution protocol. The first address is
in the form we are most used to and that user use to access an Internet site. In this
example, the address is for a website, identified by the hypertext transfer protocol
(http), which controls access to web pages. Following http is a delimiter sequence, ://,
and identification for the world wide web (www).
The domain name, ignou.ac follows www and identifies the general site for the
web.(dot) edu is one example of a domain top, which is a broad classification of web
users. Other common domain tops are:
.com for commerce and businesses
.gov for government agencies
.mil for military sites
.org for all kinds of organizations.
Lastly, in this example is a country code, again preceded by a dot. Here we are using
in for the India, which is the default country.
0 8 16 24 32
0031
0 Network Host Class A
15
Scripting Languages
Ports
A port is an additional 16-bit number that uniquely identifies the particular service on
any given machine on the Internet. Port numbers are 16 bit wide, therefore each
computer on the Internet has a maximum number of 216 or 65,536 ports. The
particular application is identified by its unique port number in the same way that a
specific television station has a unique channel number.
Well-known ports, those ranging from 0 through 1,023 are where most common
services on the Internet are residing. These ports are controlled and assigned by the
Internet Assigned Number Authority (IANA) and on most systems can be used only
by system (root) processes or by programs executed by privileged users.
If we were to follow the path that the message "Hello computer 5.6.7.8!" took from
our computer to the computer with IP address 5.6.7.8, it would happen something like
this:
16
The Internet
Extranets can also be used to connect an intranet to the Internet so that remote offsite
access can be made into a company’s intranet by an authorized individual. This can
facilitate through an extranet.
Basically, it uses passwords and smart cards to log in to a gateway server that checks
the requester’s security credentials. If the user checks out, he or she is allowed access
into the company’s intranet structure.
A number of URL address are set aside for intranet and extranet use. Essentially
because intranets are self-contained networks, the same set of addresses can be used
by all intranets without conflict. Extranet addresses are designed to recognize the
intranets they connect and correctly preface each intranet address with an identifier.
This allows two interconnected intranets to retain the same set of address values and
keep them from being mistaken. One class A address, ranging from 10.0.0.0 to
10.255.255.255 is reserved for intranet usage. Again, since an intranet is a self-
contained system, it only needs one class A network to designate the main network.
Subnetworks use reserved class B and class C addresses. There are 16 class B
addresses, from 172.16.0.0 ti 172.31.255.255 and 256 class C addresses, which range
from 192.168.0.0 to 192.168.255.255.
17
Scripting Languages
The Internet backbone is made up of many large networks, which interconnect with
each other. These large networks are known as Network Service Providers or NSPs.
These networks peer with each other to exchange packet traffic. Each NSP is
required to connect to Network Access Points or NAPs. At the NAPs, packet traffic
may jump from one NSP's backbone to another NSP's backbone. NSPs also
interconnect at Metropolitan Area Exchanges or MAEs. MAEs serve the same
purpose as the NAPs but are privately owned. NAPs were the original Internet
interconnects points. Both NAPs and MAEs are referred to as Internet Exchange
Points or IXs. NSPs also sell bandwidth to smaller networks, such as ISPs and
smaller bandwidth providers. Below is a picture showing this hierarchical
infrastructure.
This is not a true representation of an actual piece of the Internet. The above figure is
only meant to demonstrate how the NSPs could interconnect with each other and
smaller ISPs. None of the physical network components are shown in this figure. This
is because a single NSP's backbone infrastructure is a complex drawing by itself.
Most NSPs publish maps of their network infrastructure on their web sites and can be
found easily. To draw an actual map of the Internet would be nearly impossible due
to it's size, complexity, and ever changing structure.
18
The Internet
addresses they use. The router usually doesn't know what IP addresses are 'above' it.
Examine the figure below. The black boxes connecting the backbones are routers.
The larger NSP backbones at the top are connected at a NAP. Under them are several
sub-networks, and under them, more sub-networks. At the bottom are two local area
networks with computers attached.
NAP/
routers
My Computer
1.2.3.4
Figure 5: Routes Connecting in Network
When a packet arrives at a router, the router examines the IP address put there by the
IP protocol layer on the originating computer. The router checks it's routing table. If
the network containing the IP address is found, the packet is sent to that network. If
the network containing the IP address is not found, then the router sends the packet
on a default route, usually up the backbone hierarchy to the next router. Hopefully the
next router will know where to send the packet. If it does not, again the packet is
routed upwards until it reaches a NSP backbone. The routers connected to the NSP
backbones hold the largest routing tables and here the packet will be routed to the
correct backbone, where it will begin its journey 'downward' through smaller and
smaller networks until it finds it's destination.
Many computers connected to the Internet host part of the DNS database and the
software that allows others to access it. These computers are known as DNS servers.
No DNS server contains the entire database; they only contain a subset of it. If a DNS
server does not contain the domain name requested by another computer, the DNS
server re-directs the requesting computer to another DNS server.
19
Scripting Languages
BARC Bharti
Thus, humans use domain names when referring to computers on the Internet,
whereas computers work only with IP addresses, which are numeric. DNS was
developed as a distributed database. The database contains the mappings between the
domain names and IP addresses scattered across different computers. This DNS was
consulted whenever any message is to be sent to any computer on the Internet. DNS
is based on the creation of the hierarchical domain based naming architecture, which
is implemented as a distributed database. It is used for mapping host names and email
20
The Internet
When you open your mail client to read your e-mail, this is what typically happens:
1. The mail client (Netscape Mail, Lotus Notes, Microsoft Outlook, etc.) opens a
connection to it's default mail server. The mail server's IP address or domain
name is typically setup when the mail client is installed.
2. The mail server will always transmit the first message to identify itself.
3. The client will send an SMTP HELO command to which the server will
respond with a 250 OK message.
4. Depending on whether the client is checking mail, sending mail, etc. the
appropriate SMTP commands will be sent to the server, which will respond
accordingly.
5. This request/response transaction will continue until the client sends an SMTP
QUIT command. The server will then say goodbye and the connection will be
closed.
Similarly, when you send an e-mail message your computer sends it to an SMTP
server. The server forwards it to the recipients mail server depending on the email
address. The received message is stored at the destination mail server until the
addressee retrieves it. To receive E-mail a user Internet account includes an electronic
mailbox. A message sent for you is received at your Internet host computer, where it
is stored in your electronic mailbox. As soon as you login into your Internet account,
one of the first things you should do is to check your mailbox.
e-mail e-mail
Client Server
21
Scripting Languages
Figure 7: An e-mail transfer across the Internet uses two programs: client and server
E-mail system follows the client-server approach to transfer messages across the
Internet. When a user sends an E-mail message a program on the sender’s computer
becomes a client. It contacts an e-mail server program on the recipient’s computer
and transfers a copy of the message. Some of the mail programs those exist on
Internet are UCB mail, Elm, Pine etc. However, one thing, which you must
emphasize while selecting a mail program, is the user friendliness of that program.
Through E-mail on Internet you can be in direct touch of your friend and colleagues.
HTTP is a connectionless text based protocol. Clients (web browsers) send requests
to web servers for web elements such as web pages and images. After the request is
serviced by a server, the connection between client and server across the Internet is
disconnected. A new connection must be made for each request. Most protocols are
connection oriented. This means that the two computers communicating with each
other keep the connection open over the Internet. HTTP does not however. Before an
HTTP request can be made by a client, a new connection must be made to the server.
When you type a URL into a web browser, this is what happens:
1. If the URL contains a domain name, the browser first connects to a domain
name server and retrieves the corresponding IP address for the web server.
2. The web browser connects to the web server and sends an HTTP request (via
the protocol stack) for the desired web page.
3. The web server receives the request and checks for the desired page. If the page
exists, the web server sends it. If the server cannot find the requested page, it
will send an HTTP 404 error message. (404 means 'Page Not Found' as anyone
who has surfed the web probably knows.)
4. The web browser receives the page back and the connection is closed.
5. The browser then parses through the page and looks for other page elements it
needs to complete the web page. These usually include images, applets, etc.
6. For each element needed, the browser makes additional connections and HTTP
requests to the server for each element.
7. When the browser has finished loading all images, applets, etc. the page will be
completely loaded in the browser window.
22
The Internet
Most Internet protocols are specified by Internet documents known as a Request For
Comments or RFCs. RFCs may be found at several locations on the Internet.
WWW is an Internet navigation tool that helps you to find and retrieve information
links to other WWW pages. The WWW is a distributed hypermedia environment
consisting of documents from around the world. The documents are linked using a
system known as hypertext, where elements of one document may be linked to
specific elements of another document. The documents may be located on any
computer connected to the Internet. The word “document” is not limited to text but
may include video, graphics, databases and a host of other tools.
The World Wide Web is described as a “wide area hypermedia information initiative
among to give universal access to large universe of documents”. World Wide Web
provides users on computer networks with a consistent means to access a variety of
media in a simplified fashion. A popular software program to search the Web is
called Mosaic, the Web project has modified the way people view and create
information. It has created the first global hypermedia network.
Once again the WWW provides an integrated view of the Internet using clients and
servers. As discussed earlier, clients are programs that help you seek out information
while servers are the programs that find information to the clients. WWW servers are
placed all around the Internet.
The operations of the Web mainly rely on hypertext as its means of interacting with
users. But what is hypertext? Hypertext as such is the same as regular text that is it
can be written, read, searched or edited; however, hypertext contains connections
within the text to other documents. The hypertext links are called hyperlinks. These
hyperlinks can create a complex virtual web of connections.
The Usenet can be considered as another global network of computers and people,
which is interwined with the Internet. However, Usenet does not operate interactively
like the Internet, instead Usenet machines store the messages sent by users. Unlike
mail from mailing lists, the news articles do not automatically fill your electronic
mailbox. For accessing the information on newsnet, one needs a special type of
program called a newsreader. This program help in retrieving only the news you want
from Usenet storage site and display it on your terminal. Usenet is like living thing,
New newsgroups gets added, the groups which have too much traffic get broken up
into smaller specialized groups, the groups even can dissolve themselves. However,
all of this occurs based on some commonly accepted rules and by voting. For Usenet,
there is no enforcement body; it entirely depends on the cooperation of its computers
owners and users.
The newsgroups are really meant fro interaction of people who share your interests.
You can post your own questions as well as your answers to the questions of others,
on the Usenet. One thing, which is worth mentioning here, is that when one is
interacting wit people on Internet certain mannerism should be adopted. These rules
are sometimes called “netiquette”. In a face-to-face conversation you can always see
a person’s facial gestures and hand movements and can ascertain whether he is
23
Scripting Languages
1.11.5 FTP
FTP (File Transfer Protocol), a standard Internet protocol, is the simplest way to
exchange files between computers on the Internet. Like the Hypertext Transfer
Protocol (Hypertext Transfer Protocol), which transfers displayable Web pages and
related files, FTP is an application protocol that uses the Internet's TCP/IP protocols.
FTP is commonly used to transfer Web page files from their creator to the computer
that acts as their server for everyone on the Internet. It's also commonly used to
downloading programs and other files to the computer from other servers. However,
for such transfer you need an account name on a host and the password. The FTP
program will make connection with the remote host, which will help you to browse
its directories and mark files for transfer. However, you cannot look at the contents of
a file while you are connected via FTP. You have to transfer the copy and then look
at it once it is on your own account.
FTP includes many commands but only few are used to retrieve a file. A user needs
to understand the three basic commands to connect to remote computer, retrieve a
copy of file and exit the FTP program. The commands with their meanings are:
Command Purpose
Open connect to a remote computer
get retrieve a file from the computer
bye terminate the connection and leave the FTP program
Transferring a file via FTP requires two participants: an FTP client program and FTP
server program. The FTP client is the program that we run on our computers. The
FTP server is the program that runs on the huge mainframe somewhere and stores
tens thousands of files. It is similar to an online library of files. The FTP client can
download (receive) or upload (send) files to the FTP server. Using Web browser you
can download the files but you can not upload the files. FTP applications will help
you to upload the files to the web sites, which you are maintaining.
FTP only understands two basic file formats. It classifies each file either as a text file
or a binary file. A text file contains a sequence of characters collected into lines.
Although computers used ASCII encoding for text files, FTP includes commands to
translate between ASCII and other character encoding. FTP uses the classification
binary file for all nontext files. The user must specify binary for any file that
contains:
x A computer program
x Audio data
x A graphic or video image
x A spreadsheet
x A document from a word processor
x A compressed file
FTP service compress files to reduce the total amount of disk space the files require.
Before transferring a file user must tell FTP that the file contains ASCII text or
nontext file. FTP assumes to perform ASCII transfers unless the user enters the
binary command.
There are many FTP programs that you can download from the Internet. Windows
has its own command line based FTP program. To execute it, select Run from
Windows taskbar and type FTP and press enter. By typing open command you can
connect to any ftp server. To connect to FTP server you must have a login name and
24
The Internet
the password. Most of the FTP servers allow anonymous connections. In this case
username is anonymous and password is your e-mail address.
1.11.6 Telnet
TELNET stands for TErminal NETwork. Telnet is both a TCP/IP application and a
protocol for connecting a local computer to a remote computer. Telnet is a program
that allows an Internet host computer to become a terminal of another host on the
Internet. Telnet is the Internet remote login service. Telnet protocol specifies exactly
how a remote login interacts. The standard specifies how to client contacts the server
and how the server encodes output for transmission to the client. To use the Telnet
service, one must invoke the local application program and specify a remote machine.
The local program becomes a client, which forms a connection to a server on the
remote computer. The client passes keystrokes and mouse movements to the remote
machine and displays output from the remote machine on the user’s display screen.
Telnet provides direct access to various services on Internet. Some of these services
are available on your host, but Telnet is especially useful when these services are not
available on your host. For example, if you want to use graphical interfaces designed
by other users then Telnet, allows you to access their hosts and use their new
interfaces. Similarly, whenever someone creates a useful service on his host, Telnet
allows you to access this valuable information resource. This tools Is especially
useful for accessing public services such as library card catalogues, the kind of
databases available on the machine etc. You can also log into any catalogue service
of a library and use it.
The working of the TELNET is extremely simple. Suppose you are working as a
faculty member of Indira Gandhi National Open University. You have a typical
account FACULTY-1 on the IGNOU computer, which is one of the hosts of the
Internet. You are selected for academic exchange scholarship to USA. You will get a
user account in U.S.A. However, all your colleagues know only your IGNOU
25
Scripting Languages
account. Thus, using Telnet you can always log on to your account in India for mail
your papers for using programs etc.
There are many databases available on the Internet. You can explore these databases
using Telnet. There are going to be many Internet services yet to be created. Every
year and better means of accessing the treasures of the Internet is appearing in which
Telnet is the key for accessing.
The results of an automated search can be used immediately or stored in a file on disk
to use it later. The results of a search are returned in the form of a web page that has a
link to each of the items that was found. Automated search is helpful when a user
wants to explore a new topic. The automated search produces a list of candidate
pages that may contain information. The user reviews each page in the list to see
whether the contents are related to topic or not. If so, the user records the location or
if not user moves on to the page in the list. Search mechanisms uses a similar method
of search as in the telephone book i.e. before any user invoke the search mechanism a
computer program contacts computers on the Internet, gathers a list of available
information, sorts the list and then stores the result on a local disk on the computer
that runs a search server. When a user invokes a search, the user client program that
contacts the server. The client sends a request that contains the name the user entered.
When the request arrives at the server, it consults the list of file names on its local
disk and provides the result.
26
The Internet
A Web browser is software program that allows you to easily display Web pages and
navigate the Web. The first graphical browser, Mosaic, was developed in Illinois at
the National Center for Supercomputing Applications (NCSA). Each browser
displays Web-formatted documents a little differently. As with all commercial
software, every program has its own special features.
x Graphical browsers: To enjoy the multimedia aspect of the Web, you must
use a graphical browser such as Netscape Navigator or NCSA Mosaic. Graphical
browsers can show pictures, play sounds, and even run video clips. The drawback is
that multimedia files, particularly graphics, often take a long time to download.
Graphical browsers tend to be significantly slower than their text-only counterparts.
And this waiting time can be stretched even further with slow connections or heavy
online traffic.
Many different browsers are available for exploring the Internet. The two most
popular browsers are Netscape Navigator and Microsoft Internet Explorer. Both of
these are graphical browsers, which means that they can display graphics as well as
text.
1.13 SUMMARY
This unit describes the basic concepts about an Internet. Internet is a network of
networks where lot of information is available and is meant to be utilized by you. No
one owns the Internet. It consists of a large number of Interconnected autonomous
networks that connect millions of computers across the world. The unit describes the
various tools available on the Internet and the various services provided by the
Internet to users. In this unit we have talked about the Electronic mail Usenet and
newsgroups, FTP, Telnet and search engines. We also describe the use of frequently
asked questions. The unit also describes the importance of Internet addresses.
Addresses are essential for virtually everything we do on the Internet. There are many
services available on the Internet for document retrieval. For browsing the Internet
there are many browsers available such as Gopher and World Wide Web. Both of
these browsers are easy to use and most popular browsing mechanisms on the
Internet.
27
Scripting Languages
c) True
d) True
e) False
Internet addresses are divided into five different types of classes. The classes
were designated A through E. class A address space allows a small number of
networks but a large number of machines, while class C allows for a large
number of networks but a relatively small number of machines per network.
28
The Internet
a) False
b) True
c) False
d) False
e) True
f) True
29
Scripting Languages
UNIT 2 INTRODUCTION TO HTML
Structure Page No.
2.0 Introduction 30
2.1 Objectives 30
2.2 What is HTML? 31
2.3 Basic Tags of HTML 32
2.3.1 HTML Tag
2.3.2 TITLE Tag
2.3.3 BODY Tag
2.4 Formatting of Text 34
2.4.1 Headers
2.4.2 Formatting Tags
2.4.3 PRE Tag
2.4.4 FONT Tag
2.4.5 Special Characters
2.5 Working with Images 41
2.6 META Tag 43
2.7 Summary 45
2.8 Solutions/ Answers 46
C
2.0 INTRODUCTION h
e
You would by now have been introduced to the Internet and the World Wide Web t
(often just called the Web) and how it has changed our lives. Today we have access to a
b
a wide variety of information through Web sites on the Internet. We can access a Web l
site if we have a connection to the Internet and a browser on our computer. Popular e
browsers are Microsoft Internet Explorer, Netscape Navigator and Opera. When you
o
connect to a Web site, your browser is presented with a file in a special format by the f
Web server on the remote computer. The contents of the file are stored in a special
format using Hyper Text Markup Language, often called HTML This format is c
o
rendered, or interpreted, by the browser and you then see the page of the web site n
from your computer. t
e
n
HTML is one language in a class of markup languages, the most general form of t
which is Standard Generalized Markup Language, or SGML. Since SGML is s
complex, HTML was invented as a simple way of creating web pages that could be
s
easily accessed by browsers. HTML is a special case of SGML. h
o
HTML consists of tags and data. The tags serve to define what kind of data follows u
them, thereby enabling the browser to render the data in the appropriate form for the l
d
user to see. There are many tags in HTML, of which the few most important ones are
introduced in this unit. HTML files usually have the extension .htm or .html. b
e
If you want to create Web pages, you need a tool to write the HTML code for the u
page. This can be a simple text editor if you are hand-coding HTML. You also have p
sophisticated HTML editors available that automate many (though not all) of the tasks d
a
of coding HTML. You also need a browser to be able to render your code so that you t
can see the results. e
d
2.1 OBJECTIVES
After going through this unit you should be able to learn:
The unit covers only the simpler concepts of HTML and does not by any means deal
with the subject comprehensively.
HTML allows Web page publishers to create complex pages of text and images that
can be viewed by anyone on the Web, regardless of what kind of computer or browser
is being used. Despite what you might have heard, you dont need any special
software to create an HTML page; all you need is a word processor (such as Microsoft
Word) and a working knowledge of HTML. Fortunately, the basics of HTML are easy
to master. However, you can greatly relieve tedium and improve your productivity by
using a good tool. A simple tool is Microsoft FrontPage that reduces the need to
remember and type in HTML tags. Still, there can always be situations where you are
forced to handcode certain parts of the web page.
HTML is just a series of tags that are integrated into a document that can have text,
images or multimedia content. HTML tags are usually English words (such as
blockquote) or abbreviations (such as p for paragraph), but they are distinguished
from the regular text because they are placed in small angle brackets. So the paragraph
tag is <p>, and the blockquote tag is <blockquote>. Some tags dictate how the page
will be formatted (for instance, <p> begins a new paragraph), and others dictate how
the words appear (<b> makes text bold). Still others provide information - such as the
title - that doesnt appear on the page itself. The first thing to remember about tags is
that they travel in pairs. Most of the time that you use a tag - say <blockquote> - you
must also close it with another tag - in this case, </blockquote>. Note the slash - / -
before the word blockquote; that is what distinguishes a closing tag from an
opening tag.
The basic HTML page begins with the tag <html> and ends with </html>. In between,
the file has two sections - the header and the body.
The header - enclosed by the <head> and </head> tags - contains information about a
page that will not appear on the page itself, such as the title. The body - enclosed by
<body> and </body> - is where the action is. Everything that appears on the page is
contained within these tags.
x Static
x Dynamic
Static Pages
Static pages, as the name indicates, comprise static content (text or images). So you
can only see the contents of a web page without being able to have any interaction
with it. 31
Scripting Languages
Dynamic Pages
Dynamic pages are those where the content of the web page depend on user input. So
interaction with the user is required in order to display the web page. For example,
consider a web page which requires a number to be entered from the user in order to
find out if it is even or odd. When the user enters the number and clicks on the
appropriate button, the number is sent to the web server, which in turn returns the
result to the user in an HTML page.
Consider the example shown in Fig. 2.1. Type the code specified in the figure in a text
editor such as notepad and save it as fig1.html. To render the file and see your page
you can choose one of two ways: 1) Find the icon of the html file you just made
(fig1.htm) and double click on it. Or- 2) In Internet Explorer, click on File/Open File
and point to the file (fig1.htm).
<HTML>
<!- - This is a comment - - >
<HEAD>
<TITLE> IGNOU </TITLE>
</HEAD>
<BODY>
This is my first web page.
</BODY>
</HTML>
The bulk of the page will be within the BODY tag, as shown in Figure.2.1.
<HEAD>
<TITLE> IGNOU </TITLE>
</HEAD>
Here the document has been given the title IGNOU. It is a good practice to give a title
to the document created.
What you have made here is a skeleton HTML document. This is the minimum
required information for a web document and all web documents should contain these
basic components. Secondly, the document title is what appears at the very top of the
browser window.
Whenever you make a change to your document, just save it and hit the
Reload/Refresh button on your browser. In some instances just hitting the
Reload/Refresh button doesnt quite work. In that case hit Reload/Refresh while
holding down the SHIFT key.
a. BGCOLOUR: It can be used for changing the background colour of the page. By
default the background colour is white.
b. BACKGROUND: It is used for specifying the image to be displayed in the
background of the page.
c. LINK: It indicates the colour of the hyperlinks, which have not been visited or
clicked on.
d. ALINK: It indicates the colour of the active hyperlink. An active link is the one
on which the mouse button is pressed.
e. VLINK: It indicates the colour of the hyperlinks after the mouse is clicked on it.
f. TEXT: It is used for specifying the colour of the text displayed on the page.
<HTML>
<TITLE> IGNOU</TITLE>
<BODY BGCOLOUR="#1234567" TEXT = #FF0000>
Welcome to IGNOU
</BODY>
33
Scripting Languages </HTML>
The values specified for BGCOLOUR and TEXT tags indicate the colour of the
background of the page and that of the text respectively. These are specified in
hexadecimal format. The range of allowable values in this format is from #000000
to #FFFFFF. The# symbol has to precede the value of the colour so as to indicate
to the browser that has to be interpreted as a hexadecimal value. In this six digit value,
the first two digits specify the concentration of the colour red, the next two digits
specify the concentration of the colour green and the last two digits specify the
concentration of the colour blue. So the value is a combination of the primary colours
red, green and blue and that is why it is called RGB colour. If we specify the value
#FF0000, the colour appears to be red.#000000 gives black and #FFFFFF gives
the colour white. You also have the option of specifying the colour by giving its
name, like:
<BODY TEXT = WHITE>.
You can also specify a background image instead. (Note that the image should be in
the same folder as your HTML file. More on this below).
<HTML>
<BODY BACKGROUND="swirlies.gif">
Welcome to INDIA
</BODY>
</HTML>
2.4.1 Headers
34
Headers are used to specify the headings of sections or sub-sections in a document. Introduction to
HTML
Depending on the desired size of the text, any of six available levels (<H1> to <H6>)
of headers can be used. Figure 2.4 shows the usage and varying size of the rendered
text depending upon the tag used.
<HTML>
<HEAD>
<TITLE> IGNOU</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1> Header Level 1</H1>
<H2> Header Level 2</H2>
<H3> Header Level 3</H3>
<H4> Header Level 4</H4>
<H5> Header Level 5</H5>
<H6> Header Level 6</H6>
</CENTER>
</BODY>
</HTML>
There is no predefined sequence for using the different levels of the header tags nor
any restrictions on which one can be used. So the user has the option of using any
level of header tag anywhere in the document. If you want to center text on a page,
use the CENTER tag. The text written between <CENTER> and </CENTER> tag
gets aligned in the center of the HTML page. As seen in Figure 2.4, the maximum size
of the text is displayed using the <H1> tag. So the size goes in decreasing order with
the increasing order of the level (i.e. From <H1> to <H6>).
a. BOLD: The text can be displayed in boldface by writing it in between the <B> and
</B> tags.
b. ITALICS: It starts with <I> and ends with </I> tag. It is used to display the text in
italics.
c. UNDERLINE: It is used for underlining the text to be displayed. The <U> tag is
used for this purpose. These tags can be nested. So in order to see the text in
boldface, in italics and underlined, it should be placed between the <B><I><U>
and </U></I></B> tags. Note that the closing tags are written in reverse order,
because any tag used within some other tag should be closed first.
d. PARAGRAPH: If you want to display the text in the form of paragraphs, then the
<P> tag should be used.
e. TT: The <TT> tag is used for displaying text in a fixed width font similar to that
of a typewriter.
36
Introduction to
HTML
f. STRIKE: If you want the text to be marked with a strikethrough character, place it
within the <S> and </S> tags.
g. STRONG: There are certain text-based browsers that do not render the text as
boldfaced. So you can use the <STRONG> tag instead of the <B> tag. This
displays the text to stand out in the most appropriate manner for the browser.
h. EM: Just as the <STRONG> tag corresponds to the <B> tag, the <EM> can be
used instead of the <I> tag. The reason for using it is the same as for the
<STRONG> tag. The <EM> tag is used for emphasizing the text in the manner
most appropriate to the browser.
i. BR: This tag is used for inserting a line break. The text written after the <BR> tag
is displayed from the beginning of the next line onwards. This tag does not need a
corresponding terminating tag.
j. HR: This tag puts a horizontal line on the page. It has the following attributes:
x ALIGN: It is used for aligning the line on the page. The possible values of this
attribute are LEFT, RIGHT, and CENTER. It is useful when the width of the
line is less than the width of the page.
x NOSHADE: This attribute is used to prevent any shading effect.
x SIZE: It is used for specifying the thickness of the line.
x WIDTH: You can set the width of a line using this attribute. The value can be
specified either in pixels or as a percentage of the width of the page, e.g., <HR
WIDTH = 30%>.
k. BLOCKQUOTE: This tag indents the left margin of the text. It is used for
displaying the text as quoted text as shown in Figure 2.5.
l. ADDRESS: This tag, as shown in Figure 2.5, displays the text in italics.
m. CITE: The text placed in between the <CITE> and </CITE> tags is rendered in
italics by the browser.
IGNOU also offers a virtual campus. Studying through the virtual campus is a new
concept in the field of education and this is the first such experiment in India.
While studying through the virtual campus mode, students have access to the
following learning resources and experiences:
x Satellite based interactive tele-conferencing sessions.
x Viewing recorded video sessions.
x Computer based tutorials on CD-ROM.
As shown in Figure 2.6, the format of the text presented in the browser remains the
same as written in the code.
If we do not use the <PRE> tag, the browser condenses the white space when
presenting the text on the web page.
<HTML>
<HEAD>
<TITLE> IGNOU </TITLE>
</HEAD>
<BODY BGCOLOUR="#FFFFFF">
<CENTER>
</CENTER>
</BODY>
</HTML>
38
Introduction to
HTML
Let us look at the syntax of the <FONT> tag with its different attributes.
<FONT FACE = name SIZE = n colour = #RGB >
c. COLOUR: With this attribute you can change the desired font colour. The values
can be specified either by using the hexadecimal format as already described, i.e.,
#RGB, or by the name of the colour. The hex code of the colour has been
explained earlier in this unit. As shown in Figure 2.7, the value of the colour
attribute in the third line has been specified as Blue. So the text present in the
code between the <FONT> and </FONT> tags appears in blue. By default the
colour of the text is black. If we specify the text colour in the <FONT> tag then
this value overrides the colour value, if any, specified in the <BODY> tag.
<HTML>
<BODY BGCOLOUR=s#FFFFFF>
This is
Used for blank space.
<BR>
< is the Less Than symbol <BR>
> is the Greater Than symbol <BR>
39
Scripting Languages & is the ampersand symbol <BR> C
" is the quotation mark symbol <BR> l
e
à is small a, grave accent symbol <BR> a
À is capital a, grave accent symbol <BR> s
ñ is small n, tilde symbol <BR> e
Ñ is capital n, tilde symbol <BR> c
ü is the umlaut small u symbol <BR> o
Ü is the umlaut <BR> r
r
 is the symbol Delta<BR> e
¼ is the quarter symbol <BR> c
½is the hay symbol <BR> t
</BODY> t
</HTML> h
i
s
t
o
s
h
o
... [1]w
C
l
e
a
s
e
c
Figure 2.8: Entering Special Characters o
r
r
The special characters shown in Figure 2.8 are some of the most frequently used e
characters displayed on web pages. Each of the special characters can be displayed by c
using its character sequence after the &. These can be seen in the following Table 2.1. t
t
Table 2.1: Displaying Special Characters
h
i
Special Character Character Symbol Description s
You specify an image with the <IMG> (image) tag. Earlier in this unit, displaying the
images on a page was explained using the BACKGROUND attribute of the <BODY>
tag, which displays the image as the background image. Background images make the
page heavy and hence the page takes a considerable amount of time to load. But the
<IMG>tag can be used for displaying an image with the desired height and width. Let
us look at an example (Figure 2.9).
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
</HEAD>
<BODY BGCOLOUR="#FFFFFF">
<IMG SRC="image.gif" WIDTH=130 HEIGHT=101 ALT = "IMAGE IS
TURNED OFF" ALIGN = "BOTTOM" BORDER = 2> This text is placed at the
middle of the image. 41
Scripting Languages </BODY>
</HTML>
b. WIDTH: This is used for specifying the desired width of the image.
c. HEIGHT: This is used for specifying the desired height of the image.
<BODY BGCOLOUR="#FFFFFF">
<IMG SRC="image.gif" WIDTH=130 HEIGHT=101 BORDER=10>
</BODY>
e. ALT: Another IMG attribute that is important is ALT. ALT is sort of a substitute
for the image that is displayed or used when the user is using a browser that does
not display images. Someone may be using a text only browser, he may have
image loading turned off for speed or he may be using a voice browser (a browser
where the web page is read out). In those cases, that ALT attribute could be very
important to your visitor as it could be used (given the proper text) to describe the
image that is not on the screen.
x Save it as a .jpg or .gif file in the same subdirectory (or folder) that you are
keeping the html page that you have been creating.
x Create a simple HTML file with a background, and put the name of your .jpg or
42
.gif file after the BACKGROUND attribute. (Note: You can easily create the Introduction to
HTML
simple html file by copying the html tags above from this web page and pasting
them into your new html file. Be sure to substitute the name of your .jpg or .gif file
for image.gif).
x Save the simple html file that you have just created and open it with your web
browser. What do you see? When you are finished, return to this page and
continue.
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
<META NAME="author" CONTENT="IGNOU">
<META NAME="description " CONTENT="This website shows you the
different courses offered by
IGNOU">
<META NAME="keywords " CONTENT=" Website, different courses offered,
IGNOU,mca,bca">
</HEAD>
<BODY>
<P>
The meta attributes of this document identify the author and courses offered.
</P>
</BODY>
</HTML>
The CONTENT attribute provides the list of words in the form of a sentence to the
search engine. So if someone searches for one of the keywords listed by you in the
META tag, then your web site would also appear in the result of the search. It is
useful to include META tags that include as many keywords as possible. This makes
the web page more likely to show up in a search.
You can also specify keywords by separating them by commas as shown in the
following code fragment of Figure 2.10.
Consider another example shown in Figure 2.11. This example demonstrates how to
redirect a user if your site address has changed.
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
<META HTTP-EQUIV="Refresh"
CONTENT="5;URL=http://www.ignou.ac.in">
</HEAD>
<BODY>
<P>
Sorry! We have moved! The new URL is: www.ignou.ac.in
</p>
<p>
You will be redirected to the new address in five seconds.
</p>
</BODY>
</HTML>
It indicates to the browser that the page has to be refreshed in 5 seconds with the new
URL http://www.ignou.ac.in. So when the user sees this page by specifying its
original URL,the browser is redirected to the webpage www.ignou.ac.in after five
seconds. This type of redirection is useful when you want that a user accessing your
old website should automatically be redirected to the new website address.
44
Introduction to
HTML
Now let us consider an example that makes use of almost all the tags explained so far.
Case Study: Design a single page web site for a store listing the products and services
offered. The store sells computers and related products. The site should contain
images explaining the products graphically.
<HTML>
<HEAD>
<TITLE> SOLVED CASE STUDY FOR HTML </TITLE>
</HEAD>
<BODY LINK="#0000ff" VLINK="#800080">
<P ALIGN="CENTER"> </P>
<B><I><U><FONT SIZE=5><P ALIGN="CENTER">ABC Products</P> </FONT>
</B></O></I><P>ABC store sells the latest in computers and computer products.
Besides, we also stock stationery.</P>
<P ALIGN="CENTER"><HR></P>
<B><U><P>Product 1.</P>
</U></B><P><IMG SRC="Image1.gif" WIDTH=127 HEIGHT=102></P>
<P>This is a notebook. It has 200 pages. Each page has three columns with a heading
for date, name and address. Its cost is Rs. 100 only.</P>
<P ALIGN="CENTER"><HR></P>
<B><U><P>Product 2.</P>
</U></B><P><IMG SRC="Image2.gif" WIDTH=127 HEIGHT=102></P>
<P>This is a computer. It has 512 MB RAM with a 2.3 GHz processor and an 80 GB
HDD. Its cost is Rs. 30,000 only. It is pre-loaded with Windows 2003. You can buy
Microsoft Office software too from us.</P></BODY>
</HTML>
2.7 SUMMARY
In this unit we have learnt how to create simple HTML pages. The contents of the
page have to be written within the BODY tag. The HEAD tag includes the title of the
document. An important part of displaying a page is the proper formatting of the text.
There exist many tags to do this job. The headers of the sections and sub-sections of
the document can be displayed using the header tags (<H1> to <H6>). The <P> tag is
used to demarcate a paragraph. The <B>, <I> and <U> tags are used to mark the text
as bold, italics and underlined respectively. The <STRONG> and <EM> tags are used
to emphasize the text in bold and italics. The <BLOCKQUOTE> tag indents the left
margin of the text. The <ADDRESS> tag displays the text in italics. Any text placed
between the <CITE> and </CITE> tags, is rendered in italics by the browser. You can
display the text exactly as written in the code using the <PRE> tag. The size, colour
and the type of the font can be specified using the <FONT> tag. The <IMG> tag is
used for inserting images in the document. We have also looked at the very useful
<META> tag. This tag is used to redirect the users to other pages, and to provide
information about the page.
References: INTERNET & WORLD WIDE WEB BY DEITEL, DEITEL & NIETO
HANDS ON HTML BY GREG ROBERTSON
45
Scripting Languages
The requirement for the job is that the person should be B.E./M.E/M.C.A having
an aggregate score of 70% or above. The job is project based, so it would be for
½ year only initially. ¼ of the salary would be deducted towards income tax, PF
and other statutory deductions.
Comment: Please correct the solution
</PRE> to reflect the pre-formatted text as
amended in the question.
<B><FONT SIZE=4><FONT FACE="Arial, sans-
47
Scripting Languages serif">Ram</FONT></FONT></B></P>
<B><U><FONT SIZE=3><FONT FACE="Arial,
sans-serif">Qualification</FONT></FONT></U></B></P>
<P ALIGN="CENTER"> </P>
<B><I><U><FONT SIZE=4><P ALIGN="CENTER">IGNOU</P>
</I></U></FONT><FONT SIZE=2><P>I</B>ndira <B>G</B>andhi
<B>N</B>ational <B>O</B>pen University is a very old and reputed
49
Scripting Languages
University. IGNOU offers various types of courses that are both academic and
technical. </P>
<P> </P>
50
Page 40: [1] Comment milind
Please correct this to show a small a with a grave accent.
Page 40: [2] Comment milind
Please correct this to show a small n with a tilde.
Page 40: [3] Comment milind
Please omit the delta symbol if it is not displaying correctly.
Advanced HTML
3.0 INTRODUCTION
In the previous unit you have learned the basics of HTML. After learning about how
to make static web pages, let us now learn how to develop Interactive Web sites. A
good web site should be interactive and easy to use and understand. Of course, very
simple web sites that merely need to present some static information may not provide
for user input. Interactive web sites are those that are capable of taking input from
the user and presenting the output on the basis of the inputs given. To be able to do
so, you will need more HTML features than have been covered so far. Features like
Links, Lists, Tables, Input controls will allow you to create sophisticated web pages
that respond dynamically to user input. HTML provides all these features using
different tags such as A, UL, OL, INPUT, FRAMESET and others, that you will
study in this unit. Besides the tags themselves you will also learn about their common
attributes.
3.1 OBJECTIVES
This unit will enable you to create sophisticated, interactive web pages. After going
through this unit you will be able to learn:
51
Scripting Languages
x tables;
x frames to divide a web page into different parts; and
x forms for accepting user input.
3.2 LINKS
Hyperlinks, or links are one of the most important characteristics of web pages. A
link moves us from the current page to a destination that is specified in the HTML
page.
URL Stands for Universal Resource Locator. A URL is just an address that tells the
browser precisely where on the Internet the resource is to be found. The process of
parsing the URL and actually connecting to the resource can be somewhat complex
and does not concern us here.
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Go to <A HREF="http://www.ignou.ac.in/">IGNOU!</A>
</BODY>
</HTML>
As shown in Figure 3.1, the text “IGNOU” present between the <A> and </A> tags
becomes the hyperlink. On clicking anywhere on this hyperlink, the browser would
attempt to connect to the given URL and the website http://www.ignou.ac.in would
open, if possible. An email link can be specified in the same way. We just have to
specify the email address instead of a page address as the value of HREF as shown in
the following code. On clicking on the link, the default mail program on the user’s
computer opens up with a “To:” address as specified in the hyperlink. You can then
type your message and send e-mail to that address.
<BODY BGCOLOR="#FFFFFF">
Send me <A HREF="mailto:forrest@bubbagump.com">mail</A>
</BODY>
It is also possible to make an image a link if desired. This is done using the <IMG>
tag. Consider the following example.
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Go to <A HREF="http://ignou.ac.in/"><IMG SRC="image.gif" WIDTH=130
HEIGHT=101></A>
</BODY>
</HTML>
52
Advanced HTML
So in the example shown in Figure 3.2, the image becomes the link. When the user
clicks on the image, the web site http://www.ignou.ac.in opens up, if possible.
2. Write HTML code for the following page (the underlined text is linked to
another file called link_text)
3.3 LISTS
Lists are used when the data are to be mentioned in the form of points like: causes of
a particular issue, list of items etc. Lists break up the monotony of a long paragraph
and direct the reader’s attention to the essential parts.
Lists are segregated into three types, namely Ordered lists, Unordered lists and
Definition lists.
<HTML>
<HEAD> Comment: Better give an example that
<TITLE>IGNOU</TITLE> an Indian reader will relate to.
</HEAD>
<BODY BGCOLOR="#FFFFFF">
What I want for Id
<UL>
<LI>a big red truck</LI>
<LI>an aeroplane that flies</LI>
<LI> a nice soft toy</LI>
<LI>a drum set</LI>
<LI>a Walkman</LI>
<LI> extra pocket money</LI>
</UL>
53
Scripting Languages
</BODY>
</HTML>
The bullet appearance can be changed to be round (a dark circle), a disc or a circle
depending on the value of the TYPE attribute. As shown in the Figure 3.3, the list of
items are included within the <UL> and </UL> tags. Each list item must be preceded with
a <LI> tag.
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
What I want for my birthday
<OL>
<LI>a big red truck</LI>
<LI>a toy train</LI>
<LI>a Barbie doll</LI>
<LI>a drum set</LI>
<LI>binoculars</LI>
<LI>a month’s extra pocket money</LI>
</OL>
</BODY>
</HTML>
The type of the numbering format desired should be specified as the value of the
TYPE attribute. The possible types are shown above in the syntax. The numbering
starts from the START attribute’s value.
3.3.3 Definition Lists
Another type of list is a definition list. Definition lists have a heading and the text
appears below that.
<HTML>
<HEAD>
<TITLE>IGNOU</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<DL>
<DT>10th Amendment </DT>
54
Advanced HTML
<DD>The powers not delegated to the United States by the Constitution, nor
prohibited by it to the States, are reserved to the States respectively, or to the
people.
</DD>
</DL>
</BODY>
</HTML>
A definition list is introduced by the <DL> tag and terminated by </DL>. The
Definition heading should be specified between the <DT> and </DT> tags. The
Definition should be specified between <DD> and </DD> tags.
3.4 TABLES
In this section you will see how to put tables in your web documents. It is not that a
table is simply a combination of rows and columns. If you have ever seen any table in
an attractive web page you might be interested to learn how they make good use of
the <TABLE> and related tags.
TABLE: This is the main tag. It tells the browser that a table follows. It has
attributes like size and border width.
You are now ready to create some tables! We must stress that if you want to learn
how to make quality HTML documents, then you would be spending your time well
55
Scripting Languages
if you teach yourself the tags. In our opinion the best HTML editors to use for
beginners are text-based editors. These editors will force you to code HTML
yourself. They don’t attempt to do it for you. Once you are an expert, you can use
other tools to improve your productivity so that you do not have to handcode your
pages.
Now let us start creating tables. The following example shows some tables with
different attributes.
<HTML>
<HEAD>
<TITLE> IGNOU</TITLE>
</HEAD>
<BODY>
<!- - Table with border = 5 - - >
First: Table with border = 5
<TABLE BORDER=5>
<TR>
<TD>Ajay</TD>
</TR>
</TABLE>
<!- - Table with width = 50%- - >
Second: Table with width = 50%
<TABLE BORDER=3 WIDTH=50%>
<TR>
<TD>Ajay</TD>
</TR>
</TABLE>
<!- - Table with width = 50 - - >
Third: Table with width = 50
<TABLE BORDER=1 WIDTH=50>
<TR>
<TD>Ajay</TD>
</TR>
</TABLE>
<!- - Table with height = 75 and align = center and valign=top - - >
Fourth: Table with height = 75 and align = center and valign=top -
<TABLE BORDER=3 WIDTH=100 HEIGHT=75>
<TR>
<TD ALIGN=CENTER>Ajay</TD>
</TR>
</TABLE>
<!- - Table with an image- - >
Fifth: Table with an image
<TABLE BORDER=3>
<TR>
<TD ALIGN=LEFT VALIGN=MIDDLE><IMG SRC="image1.gif"
WIDTH=32
HEIGHT=32></TD>
</TR>
</TABLE>
<!- - A complete Table with different sized columns- - >
Sixth: A complete Table with different sized columns
<TABLE BORDER=3 WIDTH=300 HEIGHT=75>
<TR>
<TD WIDTH=60%>Ajay</TD>
<TD WIDTH=20%>Ramesh</TD>
<TD WIDTH=20%>Vijay</TD>
</TR>
<TR>
56
Advanced HTML
<TD>Pankaj</TD>
<TD>Vikas</TD>
<TD>Rohan</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Figure 3.1: Tables with Different Attributes. Comment: This output cannot come
from the code given earlier. From where
In the first table the BORDER attribute is given a value of 5. The default is no border are “First:”, “Second:” etc coming?
i.e. border = 0.
When no sizes are specified, the table is only as big as it needs to be, as shown in the
first and third table in Figure 3.6. Specifying a table size is easy. Let us reduce the
table size to 50% of the browser window as has been done in the second example.
See the output in the second table in Figure 3.6. As you can see in the example there
are two ways to specify the table width. Each style has its uses.
You can also change the height of a table. The fourth table in Figure 3.6 shows the
effect of the changed height.
You can control where in the cell the data will appear. For this purpose we use the
ALIGN attribute. In the fourth table in Figure 3.6, we have used a center alignment.
Similarly, right and left can be used for right and left alignment respectively. The
default value is ALIGN=left. This is the value that the browser assumes if you have
not told it otherwise.
You can also control where data will appear vertically in a cell. For this purpose you
specify the VALIGN attribute. In the fourth table, we have used the value center.
You can also use top or bottom. Images can also be placed and manipulated in a table
data cell. In the folder that contains the document with the HTML code, substitute an
IMG tag for text. This is shown in the fifth table. You can also include size attributes
with all your image tags. We will not go into the details here, but doing so makes it
easier for the browser to display the table and avoids any nasty little surprises while
resizing the browser window, for instance.
Now, let us look at multiple rows. Suppose three more friends from across the street
see what is going on and want to be in your table. We think we will give them their
own row. Each row can be assigned a different width for its columns. In the sixth
table we have used 60/20/20 as the relative percentage widths of the three columns.
The last table shows how to create a table with multiple rows and columns. The
WIDTH attributes in the first row carry over to the second row.
57
Scripting Languages
<HTML>
<HEAD>
<TITLE> IGNOU</TITLE>
</HEAD>
<BODY>
First: Table with cellspacing and cellpadding
<TABLE BORDER=3 CELLSPACING=7 CELLPADDING=7>
<TR>
<TD>Ajay</TD>
<TD>Vijay</TD>
<TD>Rohan</TD>
</TR>
<TR>
<TD>Pankaj</TD>
<TD>Vikas</TD>
<TD>Sanjay</TD>
</TR>
</TABLE>
Second: Table with colspan
<TABLE BORDER=1>
<TR>
<TD COLSPAN=2>Ajay</TD>
<TD>Vijay</TD>
</TR>
<TR>
<TD>Vikas</TD>
<TD>Pankaj</TD>
<TD>Rohan</TD>
</TR>
</TABLE>
Third: Table with rowspan
<TABLE BORDER=1>
<TR>
<TD ROWSPAN=2>Ajay</TD>
<TD>Vijay</TD>
<TD>Rohan</TD>
</TR>
<TR>
<TD>Pankaj</TD>
<TD>Deepak</TD>
</TR>
</TABLE>
Fourth :Table with rowspan and colspan
<TABLE BORDER=1>
<TR>
<TD ROWSPAN=2>Ajay</TD>
<TD COLSPAN=2>Vijay</TD>
58
Advanced HTML
</TR>
<TR>
<TD>Pankaj</TD>
<TD>Rohan</TD>
</TR>
</TABLE>
Fifth: Table with strong tag and a link in cell's data
<TABLE BORDER=1>
<TR>
<TD COLSPAN=3
ALIGN=CENTER><STRONG><AHREF="http://IGNOU.org/">Ajay</STRO
NG>
</TD>
</TR>
<TR>
<TD>Vijay</TD>
<TD>Vikas</TD>
<TD>Pankaj</TD>
</TR>
</TABLE>
</BODY>
</HTML>
If we want the cell containing Ajay in Figure 3.7 to be extended to the next cell as
well and make that area part of it own, we can use the COLSPAN attribute. This
amounts to merging the two cells into one. Those of you who are familiar with
spreadsheets such as Microsoft Excel will recognize this as similar to its “merge
cells” feature. As you may have guessed, <ROWSPAN> is just like <COLSPAN>.
The second table in Figure 3.7 shows COLSPAN, the third table shows ROWSPAN
and the fourth table shows an example featuring both COLSPAN and ROWSPAN.
59
Scripting Languages
2. Make out a brief bio-data of yours and code it as an HTML Page. You can
consider using tables to show your academic history.
3.5 FRAMES
Now let us understand how to make frames for web documents. The intelligent use of
frames can give your pages a cleaner look and make them easier to navigate.
The basic concept goes like this: Each frame is a regular, complete HTML document.
If you wanted to lay out your page into two frames placed side by side, then you
would put one complete HTML document in the left frame and another complete
HTML document in the right frame. In addition you need to write a third HTML
document. This MASTER PAGE contains the <FRAME> tags that specify what goes
where. Dividing a page into frames is actually quite simple.
There are only two major frame tags that you need to learn: <FRAMESET> and
<FRAME>. The easiest way to explain them is to start making some frames. As an
aspiring computer professional, you would be well advised to learn the HTML tags in
detail. Do not use HTML editors unless you know HTML, just as you would not let
a child use a calculator unless she already knows her arithmetic well. Once you have
a thorough grasp of HTML, you can then save labour by using different tools. The
tools might not offer the flexibility that you can get through handcoding HTML. So
they should be used judiciously. Of course, this advice is not meant for lay persons
who want to make web pages.
We will now need a few HTML documents. We will give each document a name.
Create a new folder somewhere and create the first HTML file as One.htm. Now
make another html document. Save this in the same folder as Two.htm. Now do the
same for Three, Four, Five, and Six. Save them just like the others. You should now
have a folder that contains 6 complete standalone HTML documents.
3.5.1 Frameset
Comme
Now make a master page in which you write the following code. heck
out the
code
<HTML> for all
<HEAD> the
FRAM
<TITLE>My Frame Page -- The Master Page</TITLE> ES
</HEAD> related
<FRAMESET> exampl
es. Do
</FRAMESET> we
</HTML> need a
<BOD
Y> tag?
Now, save it in your folder (with all the other files) as index.htm. If you try to open
it with your browser now it will be blank. All you have done so far is make a title.
Now let us start defining just how things are going to look. Tell the browser to split
the main window into 2 columns, each occupying 50% of the window.
<FRAMESET COLS="50%,50%">
</FRAMESET>
This will still give a blank output as you have not specified what goes into the
windows. We have one more thing to do before our code displays some output.
60
Advanced HTML
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50%,50%">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
</FRAMESET>
</HTML>
You also need to note here that <FRAMESET> is a container tag, and <FRAME>
is not. A container tag has an opening <TAG> and a closing </TAG>. So notice that
the <FRAME> tag has no delimiter to terminate it. Everything is in its attributes.
The <FRAMESET> tag does all the dividing of the page into different windows. It
also has attributes that specify how to divide them up. Can we divide the page into
more than 2 pieces? Yes, just make sure that you specify a page to occupy each
section or the browser will get confused. Look at the code and the output in Figure
3.10.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="20%,20%,20%,20%,20%">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
<FRAME SRC="Three.htm">
<FRAME SRC="Four.htm">
<FRAME SRC="Five.htm">
</FRAMESET>
</HTML>
It is only a small step to making the frames all of different sizes. Just make sure your
arithmetic is correct and that the percentages you specify add up to 100, or the
browser will come up with its own interpretation.
If we divide the page into ROWS instead of COLS we get a different layout.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET ROWS="10%,20%,30%,15%,25%">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
<FRAME SRC="Three.htm">
<FRAME SRC="Four.htm">
61
Scripting Languages
<FRAME SRC="Five.htm">
</FRAMESET>
</HTML>
Let us now take another example with only 2 frames. We can specify 50 to indicate
that number of pixels instead of 50%. We can also use * instead of a number. The *
means whatever is left over.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50,*">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
</FRAMESET>
</HTML>
When you use frames you have to be very careful to code properly to ensure that all
viewers are able to look at reasonably consistent views. Let us suppose that you
make a frame 100 pixels wide on the left and 100 pixels wide on the right. If some
users are running an 800 u 600 screen they see the middle area as 600 pixels wide.
Other users may have a screen set at 640 u 480. What do they see? The middle area
for them is only 440 pixels wide. So if you use any absolute dimensions in your
<FRAMESET> tags you should have at least one * that will produce an elastic
frame. That way everything will look at least reasonably good. If you do not do that,
your page might need to scroll on one resolution and not on another. As far as
possible you might want to avoid absolute values in your frames and work on relative
numbers so that things get taken care of automatically by the browser.
We can have more than one leftover frame and specify a size relationship between Comme
them. Try it yourself and see the result. his is
not
clear.
The
<HTML> proble
<HEAD> m is
<TITLE>My Frame Page- The Master Page</TITLE> more
likely
</HEAD> with
<FRAMESET COLS="50,*,2*"> absolut
<FRAME SRC="One.htm"> e
number
<FRAME SRC="Two.htm"> s where
<FRAME SRC="Three.htm"> 50
</FRAMESET> pixels
might
</HTML> be a
good
size on
The above code means: Make 3 frames. Make the first 50 pixels wide. Divide the rest a 640 X
between frames 2 and 3. But make frame 3 twice as big as frame 2. Put One.html/ in 480
screen
the first frame, Two.html/ in the second and Three.html/ in the third. but
might
It is important to note that everything is done in order. The first <FRAME> is be
displayed according to the first size attribute in the <FRAMESET> tag (50/One), the miniscu
le on a
second frame with the second (*/Two) and the third frame with the third attribute set 1600 X
(2*/Three). 1200
screen.
62
Advanced HTML
Here we will discuss how to divide frames into different frames i.e. how to put
horizontal frames in a vertical one and vice-versa. Here we are going to divide a
frame in half horizontally.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50,*,2*">
<FRAME SRC="One.htm">
<FRAME SRC="Two.htm">
<FRAMESET ROWS="50%,50%">
<FRAME SRC="Three.htm">
<FRAME SRC="Four.htm">
</FRAMESET>
</FRAMESET>
Here the frame three is at the top and Four at the bottom. This has been done just to
illustrate how to achieve the effect and is not meant to suggest that you actually
divide up your pages like this. Too many frames on a page do not look good. A good
rule of thumb is not to have more than 3 frames on your page. If you can, avoid
frames altogether.
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="50,*,2*">
<FRAMESET ROWS="50,*,*">
<FRAME SRC="One.htm">
<FRAME SRC="Five.htm">
<FRAME SRC="Six.htm">
</FRAMESET>
<FRAME SRC="Two.htm">
<FRAMESET ROWS="50%,50%">
<FRAME SRC="Three.htm">
<FRAME SRC="Four.htm">
</FRAMESET>
</FRAMESET>
<BODY><NOFRAMES> your browser does not handle frames! </NOFRAMES>
</BODY>
63
Scripting Languages
</HTML>
Put your non-frames page down between the <NOFRAMES> tags. If someone is
using an old browser, it will skip everything above and come straight down here.
Frames-capable browsers will ignore what is between the <NOFRAMES> tags.
We can also put images in the frames. Let us see how to put in “world.gif” as an
example.
<FRAME SRC="world.gif" WIDTH=146 HEIGHT=162>
The scrollbars that you see can be specified as YES, NO or AUTO. YES means the
window gets scrollbars - whether they are needed or not. NO means there will be no
scrollbars. AUTO is the default. If scrollbars are needed, they appear while if they
are not needed they stay conveniently out of the way. So let us see how to get rid of
our scrollbars.
<FRAME SRC="world.gif" WIDTH=146 HEIGHT=162 SCROLLING=NO>
You would notice a problem with this code. The image is not in the right frame. The
next two attributes deal with margins. The browser automatically gives each frame
some empty space around its contents. This is normally useful for aesthetic purposes.
You can control the size of these margins by using MARGINWIDTH and
MARGINHEIGHT. They control the left and right and top and bottom margins
respectively. We will set them both to 1. (1 is the minimum)
<HTML>
<HEAD>
<TITLE>My Frame Page- The Master Page</TITLE>
</HEAD>
<FRAMESET COLS="146,*">
<FRAMESET ROWS="162,*">
<FRAME SRC="world.gif" WIDTH=146 HEIGHT=162 SCROLLING=NO
MARGINWIDTH=1 MARGINHEIGHT=1>
Comme
<FRAME SRC="One.htm"> lease
</FRAMESET> check
<FRAME SRC="Two.htm"> out all
the
</FRAMESET> code
for
FRAM
ES by
running
it
3.6 FORMS exactly
as it
appears
.
64
Advanced HTML
Now let us get a grip on how to add interactivity to your web documents by way of
the <FORM> tag. With this tag you can add to your web pages a guestbook, order
forms, surveys, get feedback or put in any other form that you wish.
Next we must tell the browser where to send the data we gather and how to send it.
There are two ways you can do this.
1) You can send the data to a cgi script or use some other mechanism for
processing, or
2) You can have the data emailed to you. The first option is outside the scope of
discussion of this unit.
The second, or mailto, form should have the following attributes in the
<FORM> tag.
Note: Microsoft's Internet Explorer 3.0 does not support mailto forms. When you try
to submit the information, the new mail message window pops up. It does support
forms sent to a CGI script.
<HTML>
<HEAD>
<TITLE> Welcome to IGNOU </TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="mailto:xxx@xxx.xxx"
ENCTYPE="application/x-www-form-urlencoded">
</FORM>
</BODY>
</HTML>
The line containing the mailto keyword in the Figure 3.17 is very important. The only
thing you have to do is specify your email address after mailto: The rest must be
written exactly as shown. The words FORM, METHOD, POST and ACTION do not
have to be capitalized but there must be a space between every two attributes,
between FORM and METHOD, between POST and ACTION, and between the e-
mail address and ENCTYPE.
Some mail programs are capable of converting the data without needing a separate
program. You may want to try this method first. Just remove the instruction
ENCTYPE="application/x-www-form-urlencoded" and in its place use
ENCTYPE="text/plain".
The following example shows a general form that includes some of the commonly
used controls.
<HTML>
<HEAD>
<TITLE> Welcome to IGNOU </TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST>
65
Scripting Languages
<BR>Checkbox<BR>
<INPUT TYPE=CHECKBOX NAME="AJAY" VALUE="YES"> Ajay <BR>
<INPUT TYPE=CHECKBOX NAME="Rohan" VALUE="YES"> Rohan <BR>
<INPUT TYPE=CHECKBOX NAME="BU" VALUE="YES"> Bunty<P>
</SELECT>
</FORM>
</HTML>
66
Advanced HTML
This will automatically pair the value 44 XYZ with the name ADDRESS, unless the
user changes it. Take care to use quotes as specified in the example.
The default value is 20. You already know that the default value is the value that the
browser assumes if you have not told it otherwise.
Remember that each <INPUT> must have a NAME, that gives the name of the
field.
<INPUT TYPE=PASSWORD NAME="USER PASSWORD">
The SIZE, VALUE, and MAXLENGTH attributes work here also just as they do
with TEXT
Each of the Radio Buttons must be assigned a VALUE and you must label each
button. The code given in Figure 3.18 illustrates this. You can also modify these
labels with other HTML tags if you wish.
This takes care of the basics of your radio buttons. You can tidy things up by adding
a statement above the buttons, and if you want choose a default selection (optional).
To choose a default selection you need to add “CHECKED” with the appropriate
radio button. The user of course can only choose one option. The choice will be
returned to you as the name/value pair BEST FRIEND=Ajay (or whatever the user
picks).
3.6.4 Checkbox
Checkboxes are used when one or more out of the group of options is to be chosen.
Building Check boxes is very similar to radio buttons. Figure 3.18 illustrates the use
of Checkbox.
The user can choose any number such as 1, 2, none or all of the options. The choices
will be returned to you as the name/value pairs
Ajay=YES
Tarun=YES
(or whatever the user chooses. If nothing, nothing will be returned to you)
67
Scripting Languages
The following is code for making a table containing different options for 3 different
questions. Try it yourself and see the result.
<CENTER>
<TABLE WIDTH=600 BORDER=1 CELLSPACING=1><TR>
<TD WIDTH=199>
Which of these guys are your friends?<BR>
<INPUT TYPE=CHECKBOX NAME="Friend?..Ajay" VALUE="YES"> Ajay
<BR>
<INPUT TYPE=CHECKBOX NAME="Friend?..Rohan" VALUE="YES"> Rohan
<BR>
<INPUT TYPE=CHECKBOX NAME="Friend?..Tarun" VALUE="YES">
Tarun<BR>
<INPUT TYPE=CHECKBOX NAME="Friend?..BU" VALUE="YES"> Bunty<P>
</TD>
<TD WIDTH=200>
Which of these guys would you lend money to?<BR>
<INPUT TYPE=CHECKBOX NAME="Lend money?...Ajay" VALUE="YES">
Ajay <BR>
<INPUT TYPE=CHECKBOX NAME="Lend money?...Rohan" VALUE="YES">
Rohan <BR>
<INPUT TYPE=CHECKBOX NAME="Lend money?...Tarun" VALUE="YES">
Tarun<BR>
<INPUT TYPE=CHECKBOX NAME="Lend money?...BU" VALUE="YES">
Bunty<P>
</TD>
<TD WIDTH=199>
Which of these guys would you trust with your sister?<BR>
<INPUT TYPE=CHECKBOX NAME="Date sister?...Ajay" VALUE="YES"> Ajay
<BR>
<INPUT TYPE=CHECKBOX NAME="Date sister?...Rohan" VALUE="YES">
Rohan <BR>
<INPUT TYPE=CHECKBOX NAME="Date sister?...Tarun" VALUE="YES">
Tarun<BR>
<INPUT TYPE=CHECKBOX NAME="Date sister?...BU" VALUE="YES">
Bunty<P>
</TD>
</TR></TABLE>
</CENTER>
68
Advanced HTML
when we have a long list of items to be displayed. The user can also choose any item.
All we have to do to turn it into a Scrolling List is to add a SIZE attribute to the
<SELECT> tag. The SIZE is simply how many options show in the window.
3.6.6 Hidden
Yet another type of input is HIDDEN input.
<INPUT TYPE=HIDDEN NAME="FORMNAME" VALUE="Friend Form
1">
A HIDDEN input is a name/value pair that is returned to you but does not show up
anywhere on the web page. The hidden input above is needed for use with the mailto
Formatter (MTF). It is how MTF recognizes the forms it has to parse.
Suppose you were a company trying to generate leads for a new product. You have a
standard form for gathering information that has name, company, phone, products
interested in, etc. The only problem is there are 6 slightly different versions of the
form in 6 different places. You need to know what is coming from where. What to
do?
<HTML>
<BODY>
<FORM METHOD=POST>
<INPUT TYPE=HIDDEN NAME="FORMNAME" VALUE="Version 1"> ...for the
first version
<INPUT TYPE=HIDDEN NAME="FORMNAME" VALUE="Version 2"> ...for the
second version
<INPUT TYPE=HIDDEN NAME="FORMNAME" VALUE="Version 3"> ...for the
third version
</FORM>
</HTML>
By the way, it doesn't matter what the name/value pair in the hidden input is (or any
input for that matter).
<INPUT TYPE=HIDDEN NAME="E" VALUE="Mc^2"> HIDDEN inputs are
also useful for cgi scripts. For example, many Internet Service Providers have a script
you can have your forms sent to. It then sends the form back to you properly
formatted. The hidden input can be used to tell the cgi script who you are, where to
send the parsed data, and so on.
If necessary, the SUBMIT button can also have a NAME. You would need this if, for
whatever reason, you had more than one SUBMIT button.
69
Scripting Languages
3.7.1 COLGROUP
<COLGROUP> defines a group of columns in the table and allows you to set the
properties of those columns. <COLGROUP> goes immediately after the <TABLE>
tag and before any <TR>. <COLGROUP> works very much like <COL>, but you
should note that <COLGROUP> requires both an opening and a closing tag.
<TABLE BORDER=1 CELLPADDING=4 RULES=GROUPS FRAME=BOX>
<COLGROUP></COLGROUP> Comme
<COLGROUP SPAN=3></COLGROUP> his
code
fragme
3.7.2 THEAD, TBODY, TFOOT nt does
not at
all
<THEAD>, <TBODY>, and <TFOOT> form groups of rows. <THEAD> indicates explain
that a group of rows are the header rows at the top of the table. <TBODY> indicates the tag.
that a group of rows are body rows. <TFOOT> indicates that a group of rows are the Please
give a
footer rows at the bottom of the table. more
informa
The most popular use for these three tags, which are currently only recognized by tive
exampl
MSIE 4 and up, is to put borders between groups of rows instead of between every e
two rows. For example, suppose you have a table in which you want borders around
the top row, the bottom row, and around the entire block of rows in between. You
could do that with the following code. Note that in addition to <THEAD>,
<TBODY>, and <TFOOT> you also must use <TABLE RULES=GROUPS>. The
following example shows the use of these tags:
<HTML>
<BODY>
<TABLE CELLPADDING=6 RULES=GROUPS FRAME=BOX>
<THEAD>
<TR> <TH>Weekday</TH> <TH>Date</TH> <TH>Manager</TH>
<TH>Qty</TH> </TR>
</THEAD>
<TBODY>
70
Advanced HTML
<HTML>
<BODY>
<UL>
<LI>TARGET = "_blank"</LI>
<A HREF="newwindow.html" TARGET="_blank">a new window</A> <BR>
<LI>TARGET = "_top"</LI>
<A HREF="selftarget.html" TARGET="_top">top</A><BR>
</UL>
71
Scripting Languages
</HTML>
x TARGET = "_blank"
"_blank" opens the new document in a new window. Run the code given in Figure
3.22 and check how it works. This value does not require the use of any frames.
"_blank" is popular in web pages which are devoted to links to "other resources on
the net". By opening a new window for each resource, the user has a sense of a
"main" page (the list of resources) and "secondary" pages (each individual resource).
Also, the web site providing the link does not risk being supplanted by a link that it
has provided.
x TARGET = "_self"
"_self" puts the new document in the same window and frame as the current
document. "_self" works the same as if you had not used TARGET at all. For an
example see Figure 3.22.
x TARGET = "_parent"
"_parent" is used in a situation where a frameset file is nested inside another frameset
file. A link in one of the inner frameset documents which uses "_parent" will load the
new document where the inner frameset file had been.
If the current document's frameset file does not have any "parent", then "_parent"
works exactly like "_top": the new document is loaded in the full window. Note that
"_parent" does not work in a frameset, which is merely nested inside another frameset
in the same frameset file.
x TARGET = "_top"
"_top" loads the linked document in the topmost frame, that is, the new page fills the
entire window.
Refer to Figure 3.22.
3.7.4 IFRAME
<IFRAME> is an HTML 4.0 addition to the frames toolbox. Currently only MSIE
supports <IFRAME>. Unlike frames created using <FRAMESET> and <FRAME>,
<IFRAME> creates a frame that sits in the middle of a regular non-framed web page.
<IFRAME> works like <IMG>, only instead of putting a picture on the page, it puts
another web page.
For example, suppose within the same directory as this page there is a file called
"hello.html". This code puts hello.html into an inline frame:
72
Advanced HTML
If you can see this, your browser does not understand IFRAME. However, we'll still
link <A HREF="hello.html">link</A> you to the file.
</IFRAME>
which gives us this inline frame:
Here’s what the code means:
IFRAME
If you can see this, your browser doesn't understand IFRAME. However, we'll still
<A HREF="hello.html">link</A> you to the file.
You can do most of the things with <IFRAME> that you can do with regular frames,
including setting the frame border, internal margins, and setting information on scroll
bars. You can use the attribute so that you can set links to the target frame.
3.7.5 <LABEL>
<LABEL>, an HTML 4.0 element supported by MSIE and Netscape 6, defines a set
of text that is associated with a particular form element. For example, the code below
indicates that the phrase "send more information" is associated with the “moreinfo”
checkbox because the checkbox is within the <LABEL> element:
<HTML>
<BODY>
<LABEL FOR="moreinfo">
send more information
<INPUT NAME="moreinfo" TYPE=CHECKBOX ID="moreinfo">
</LABEL>
</HTML>
The FOR attribute is required in the above example. The value of FOR should be the
same as the value of ID in the form field that the label applies to.
You can also associate a <LABEL> with a field that is not within its contents using
the FOR attribute.
Normally, when the user tabs from field to field in a form (in a browser that allows
tabbing, not all browsers do) the tab order is the order in which the fields appear in
the HTML code.
73
Scripting Languages
However, sometimes you want the tab order to flow a little differently. In that case,
you can number the fields using TABINDEX. The tabs then flow in order from the
one with the lowest TABINDEX to the highest.
<HTML>
<BODY>
<TABLE BORDER CELLPADDING=3 CELLSPACING=5
BGCOLOR="#FFFFCC">
<TR>
<TD>name: <INPUT NAME="realname" TABINDEX=1></TD>
<TD ROWSPAN=3>comments<BR>
<TEXTAREA COLS=25 ROWS=5
TABINDEX=4></TEXTAREA></TD></TR>
<TR> <TD>email: <INPUT NAME="email" TABINDEX=2></TD></TR>
<TR> <TD>department: <SELECT NAME="dep" TABINDEX=3>
<OPTION VALUE="">...
<OPTION VALUE="mkt">Marketing
<OPTION VALUE="fin">Finance
<OPTION VALUE="dev">Development
<OPTION VALUE="prd">Production</SELECT></TD></TR>
</TABLE>
</HTML>
TABINDEX can also be used with <A>, <INPUT>, <TEXTAREA>, and Comme
<BUTTON>. he
browser
output
3.7.7 TEXTAREA has
been
<TEXTAREA> indicates a form field where the user can enter large amounts of text. given
for all
In most respects, <TEXTAREA> works like an <INPUT> field. It can have a name the
and a default value. It has to be noticed that <TEXTAREA> is a container tag, so it three
has a start tag and an ending tag. code
fragme
nts. It
In its simplest form, <TEXTAREA> requires the NAME, COLS and ROWS would
attributes, and nothing between <TEXTAREA ...> and </TEXTAREA>. Look at the be
better
code fragment shown below to make
it clear
<FORM ACTION="../cgi-bin/mycgi.pl" METHOD=POST> that
your comments:<BR> they are
<TEXTAREA NAME="comments" COLS=40 ROWS=6></TEXTAREA> fragme
nts and
are not
<P><INPUT TYPE=SUBMIT VALUE="submit"> complet
e code
</FORM> that
gives us this form: will run
directly
.
74
Advanced HTML
your comments:
The matter between <TEXTAREA ...> and </TEXTAREA> are used as the default Comment: Maybe you would like this
value sentence to be inside a <PRE> tag.
<FORM ACTION="../cgi-bin/mycgi.pl">
your response:<BR>
<TEXTAREA NAME="comments" COLS=40 ROWS=6>
Kamal said
: I think it's a great idea
: but it needs more thought
</TEXTAREA>
The contents are interpreted as text only; HTML markup is ignored. Theoretically the
user can type unlimited amounts of text into the textarea field. In practice the browser
sets a limit that is usually no more than 32 K. If you want users to send in their latest
novel, consider using some file upload mechanism.
Case Study: Suppose your boss has asked you to create a Web page from which
customers can order computer equipment. You need to collect the customer’s name,
address, phone number, age, credit card information, and what the customer wants to
order.
<HTML>
<HEAD>
<TITLE>ComputoRama Order Form</TITLE>
</HEAD>
<BODY>
<FORM ACTION="mailto:mail@abc.com" METHOD=POST>
<TABLE BORDER="2" CELLPADDING="1">
<TR>
<TD ROWSPAN="2">Who Are You?</TD>
<TD><INPUT TYPE="text" NAME="FirstName" SIZE=2Ø></TD>
<TD><INPUT TYPE="text" NAME="MiddleInitial" SIZE=1></TD>
<TD><INPUT TYPE="text" NAME="LastName" SIZE=2Ø></TD>
<TD><INPUT TYPE="text" NAME="Age" SIZE=3></TD>
</TR>
<TR>
<TD><FONT SIZE="-2">First Name</FONT></TD>
<TD><FONT SIZE="-2">MI</FONT></TD>
<TD><FONT SIZE="-2">Last Name></TD>
75
Scripting Languages
<TD><FONT SIZE="-2">Age</TD>
</TR>
<TR>
<TD ROWSPAN="3">How Do We Contact You?</TD>
<TD COLSPAN="4" VALIGN="TOP">Street Address: <TEXTAREA
name="StreetAddress" rows=2 cols=3Ø></TEXTAREA></TD>
</TR>
<TR>
<TD COLSPAN="2">City: <INPUT TYPE="text" NAME="City"
SIZE=20></TD>
<TD COLSPAN="2">State: <INPUT TYPE="text" NAME= "State"
SIZE=2></TD>
</TR>
<TR>
<TD COLSPAN="2">ZIP Code: <INPUT TYPE="text"
NAME="ZIPCode"
SIZE=10></TD>
<TD COLSPAN="2">Daytime Phone
(<INPUT TYPE="text" NAME="Phone1" SIZE=3>)
<INPUT TYPE="text" NAME="Phone2" SIZE=3>-
<INPUT TYPE="text" NAME="Phone3" SIZE=4></TD>
</TR>
<TR>
<TD>Credit Card
<INPUT TYPE="radio" NAME="CreditCardType" VALUE="Visa"
CHECKED>Visa
<INPUT TYPE="radio" NAME="CreditCardType"
VALUE="MasterCard">M/C</TD>
<TD COLSPAN="2" ALIGN="CENTER">
<INPUT TYPE="text" NAME="CreditCardNumber1" SIZE=4>
<INPUT TYPE="text" NAME="CreditCardNumber2" SIZE=4>
<INPUT TYPE="text" NAME="CreditCardNumber3" SIZE=4>
<INPUT TYPE="text" NAME="CreditCardNumber4"
SIZE=4></TD>
<TD COLSPAN="2">Expiration Date:
<INPUT TYPE="text" NAME="ExpirationMonth" SIZE=2>/
<INPUT TYPE="text" NAME="ExpirationYear" SIZE=2></TD>
</TR>
<TR>
<TD>Merchandise</TD>
<TD COLSPAN=4><SELECT MULTIPLE NAME="Merchandise"
SIZE=1>
<OPTION SELECTED> HAL-47Ø <OPTION> Banana9ØØØ
<OPTION> High Res Monitor <OPTION> Low Res Monitor
<OPTION> Deluxe Keyboard <OPTION> Regular Keyboard
<OPTION> Laser Printer <OPTION> Inkjet Printer <OPTION>
Dot Matrix Printer
<OPTION> Mouse <OPTION> Trackball
<OPTION> Scanner
</SELECT></TD>
</TR>
<TR>
<TD ALIGN=CENTER COLSPAN="5">
<H1>Thank You For Your Order!</H1>
</TD>
</TR>
</TABLE>
<CENTER>
<INPUT TYPE="submit" VALUE="Ship It!"> <INPUT TYPE="reset"
VALUE="Clear Entries">
76
Advanced HTML
</CENTER>
</FORM>
</BODY>
</HTML>
3.8 SUMMARY
In this unit we have learned some important and advanced topics of HTML. You
should now be able to develop interactive Web pages also. We have discussed ways
of linking to different locations in a Web site. We have learned about lists that allow
us to develop Web pages with elementary data. Lists can be of three types i.e.
Ordered Lists, Unordered Lists and Definition Lists. We all know how important a
table is in any document -- from someone’s bio data to a Chief Executive’s report a
table is the simplest way to understand the information. If we display the data in
paragraph form then it would look unorganized and would be difficult to
comprehend. On the other hand, a table presents all the data at a glance. We have also
seen how frames are used to divide a page into multiple sections. For example if we
want to create a Web page that contains information on three different topics, then we
could use frames.
One of the most important points in Web pages is the interaction with the end user.
For creating interactive Web pages we use Forms. In a form we can have different
controls like Text box, Radio buttons, check box, drop down lists etc. All these
controls allow us to interact with the user accept inputs from the user. In the final
section we have learned about some of the recently introduced tags that are available
in the latest version of HTML.
77
Scripting Languages
1. Following is the code to design a Web page that provides links to five different
Web sites.
<HTML>
<TITLE> Link to five different Web sites </title>
<BODY>
Web site 1 <A HREF="http://www.hotmail.com/">Hotmail</A>
Web site 2 <A HREF="http://www.google.com/">google</A>
Web site 3 <A HREF="http://www.astalavista.com/">altavista</A>
Web site 4 <A HREF="http://www.education.com/">education</A>
Web site 5 <A HREF="http://www.computer.com/">computer</A>
</BODY>
</HTML> Comme
he
output
2. Following is the code for the given page of this
code is
<HTML> not
<HEAD> very
</HEAD> pleasin
g – all
<BODY> the
<B><FONT SIZE=5><P>GENERAL TABLE OF CONTENTS</P> options
are on
</FONT><P>So, you want to make a Web page</P></B> LESSONS: the
<P><A HREF="../../makapage/introduction.htm">Introduction</A></P> same
<P><A HREF="../../makapage/lesson01.html">Lesson 1</A>: getting started, saving physica
l line.
as html <BR> Could
<A HREF="../../makapage/lesson02.html">Lesson 2</A>: backgrounds, bold, italic, be
font & fontsize <BR> improv
ed
<A HREF="../../makapage/lesson03.html">Lesson 3</A>: basic formatting, line
breaks, inserting images <BR>
<A HREF="../../makapage/lesson04.html">Lesson 4</A>: links, images, thumbnails,
anchors <BR>
<A HREF="../../makapage/lesson05.html">Lesson 5</A>: lists, more formatting,
horizontal rules, comments <BR>
<A HREF="../../makapage/lesson06.html">Lesson 6</A>: more resources <BR>
<A HREF="../../makapage/picker/index.html">Color Picker</A> <BR>
<A HREF="../../makapage/dafonts/master.html">Handy Dandy Font Viewer</A> -
<A HREF="../../makapage/dafonts/index.html">(intro)</A> <BR>
<A HREF="../../makapage/special.html">Special Characters</A> <BR>
<A HREF="../../makapage/upload.html">Upload your page to the Web</A> </P>
<P> </P>
<FONT SIZE=2><P> </P></FONT></BODY>
</HTML>
78
Advanced HTML
2. Design your Bio-Data in HTML Page. Comment: Better use tables to show
the academic history.
<HTML>
<HEAD>
</HEAD>
<BODY>
<B><U><P>Qualifications</P></B></U>
<P ALIGN="JUSTIFY"><B>X & XII</B> from CBSE Board.</P>
<P ALIGN="JUSTIFY"><B>BCOM (PASS)</B> from Delhi University in
1999.</P>
<P ALIGN="JUSTIFY"><B>O Level</B> from DOEACC Society India in
2000.</P>
<P ALIGN="JUSTIFY"><B>MCP </B>(Microsoft Certified Professional) in 2001
in Analyzing Requirements and Defining Solutions Architecture with
<U>93.9%</U>.</P>
<P ALIGN="JUSTIFY"><B>CIC</B> (Certificate In Computing) from Indira
Gandhi National Open University with <U>Ist Division</U>. </P>
<P ALIGN="JUSTIFY"><B>PGDCA</B> (Post Graduate Diploma in Computer
Applications) from IGNOU with <U>Ist Division</U>.</P>
<P ALIGN="JUSTIFY"><B>ADCA </B>(Advance Diploma in Computer
Applications) from IGNOU with <U>Ist Division</U>.</P>
<P ALIGN="JUSTIFY"><B>MCA </B>from Indira Gandhi National Open
University with <U>Ist Division</U>. </P>
<B><U><P>Languages Known</P>
<P ALIGN="JUSTIFY"></B></U>C including data structures, C++ including data
structure, MS COBOL 4.5, MS FORTRAN 77, Assembly using MASM, Unix Shell
Programming,<FONT SIZE=5> </FONT>HTML, Corman Common LISP, Visual
Basic 6.0.</P>
<B><U><P>Personal Details</P>
79
Scripting Languages
</B></U><P>Name ABC</P>
<P>Father’s Name<B>	</B>XYZ	</P>
<P>Date of Birth<B>	</B>23<SUP>rd</SUP> Jan,1979.	</P>
<P>Address<B>	</B>A-2, East Of Kailash, New Delhi.	</P>
<P>Tel.<B>	</B>29090909</P>
<P>Email<B>	</B>ram@hotmail.com</P>
<P>Sex<B>	</B>Male	</P>
<P>Marital Status<B>	</B>Single</P>
<B><U><P>Interests and activities</P>
</B></U><P>Troubleshooting hardware and software problems.	</P>
<B><U><P>Additional Assets</P>
</B></U><P>Hard work, devotion and curiosity to learn and adapt to new
environments.	</P>
<FONT SIZE=2><P> </P>
</FONT><B><P>Date:</B><FONT SIZE=2>
<B> (RAM)</P>
<P>Place:</P></B></FONT></BODY>
</HTML>
80
Advanced HTML
</tr>
<tr>
<td width="31%" class="td">Re-Enter Password:</td>
<td width="43%"> <input name=confirmPassword type=password> <span
>*</span></td>
</tr>
<tr>
<td width="31%" class="td">Security Queston:</td>
<td width="43%"> <input name=secretQus> <span >* </span></td>
<td bgcolor=#f0f0f0 rowspan=2 width="26%" class="td1">Just in case you
forget your password, we'll verify your identity by asking you this
question. Choose a question only you know the answer to and that has
nothing to do with your password whatsoever.</td>
</tr>
<tr>
<td height=2 width="31%" class="td">Your Answer:</td>
<td height=2 width="43%"> <input name=secretAns> <span >*</span>
</td>
</tr>
<tr>
<td width="31%" class="td">Alternative Email</td>
<td width="43%"> <input maxlength=100 name=altEmail size=35>
<span >(optional)
</span></td>
<td bgcolor=#f0f0f0 width="26%" class="td1"> This will help you to retrieve
your IGNOU ID <br>
and password in case you forget it. </td>
</tr>
<tr bgcolor=#0066cc>
<td colspan=3><b class="tdw"> <font color="#FFFFFF"><span
class="tdb">PERSONAL
INFORMATION</span></font></b></td>
</tr>
<tr>
<td width="31%" class="td">First Name:</td>
<td width="43%"> <input name=firstName
document.theform.firstname.focus();>
<input type=hidden name=frmURL>
<input type=hidden name="education" value="u">
<span >* </span></td>
<td width="26%"> </td>
</tr>
<tr>
<td width="31%" class="td">Middle Name:</td>
<td width="43%"> <input name=MiddleName> </td>
<td width="26%"> </td>
</tr>
<tr>
<td width="31%" class="td">Last Name:</td>
<td width="43%"> <input name=lastName> <span >*</span> </td>
<td width="26%"> </td>
</tr>
<tr>
<td width="31%" class="td">Date of Birth</td>
<td width="43%"> <font face="MS Sans Serif" size=2>
<select name="date">
<option selected><font face="Arial, Helvetica, sans-
serif">date</font></option>
<option value="01"><font face="Arial, Helvetica, sans-
serif">01</font></option>
81
Scripting Languages
82
Advanced HTML
</select>
<select name="month">
<option selected><font face="Arial, Helvetica, sans-
serif">month</font></option>
<option value="01"><font face="Arial, Helvetica, sans-
serif">01</font></option>
<option value="02"><font face="Arial, Helvetica, sans-
serif">02</font></option>
<option value="03"><font face="Arial, Helvetica, sans-
serif">03</font></option>
<option value="04"><font face="Arial, Helvetica, sans-
serif">04</font></option>
<option value="05"><font face="Arial, Helvetica, sans-
serif">05</font></option>
<option value="06"><font face="Arial, Helvetica, sans-
serif">06</font></option>
<option value="07"><font face="Arial, Helvetica, sans-
serif">07</font></option>
<option value="08"><font face="Arial, Helvetica, sans-
serif">08</font></option>
<option value="09"><font face="Arial, Helvetica, sans-
serif">09</font></option>
<option value="10"><font face="Arial, Helvetica, sans-
serif">10</font></option>
<option value="11"><font face="Arial, Helvetica, sans-
serif">11</font></option>
<option value="12"><font face="Arial, Helvetica, sans-
serif">12</font></option>
</select>
<select
size=1 name=year>
<option selected>year</option>
<option value="1970">1970</option>
<option value="1971">1971</option>
<option value="1972">1972</option>
<option value="1973">1973</option>
<option value="1974">1974</option>
<option value="1975">1975</option>
<option value="1976">1976</option>
<option value="1977">1977</option>
<option value="1978">1978</option>
<option value="1979">1979</option>
<option value="1980">1980</option>
<option value="1981">1981</option>
<option value="1982">1982</option>
<option value="1983">1983</option>
<option value="1984">1984</option>
<option value="1985">1985</option>
<option value="1986">1986</option>
<option value="1987">1987</option>
<option value="1988">1988</option>
<option value="1989">1989</option>
<option value="1990">1990</option>
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
<option value="1997">1997</option>
83
Scripting Languages
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
</select>
</font><span > *</span> </td>
<td rowspan=5 align="center"> <font face=arial size=2 color=red><b>Accounts
not accessed for a <br>
consecutive period of 120 days or<br>
more may be deactivated without<br>
any prior intimation. All data in such<br>
mailboxes will be lost. IGNOU will<br>
have no liability for the same.</b> </font> </td>
</tr>
<tr>
<td height=25 width="31%" class="td">Marital Status </td>
<td height=25 width="43%"> <select name=maritalStatus size=1 id="select">
<option selected value="">[Select one]</option>
<option value="S">Single</option>
<option value="M">Married</option>
</select> <span >*</span> </td>
</tr>
<tr>
<td width="31%" class="td">Gender</td>
<td width="43%"> <font face="Arial, Helvetica, sans-serif"
size=2>
<select size=1 name=gender>
<option value=""
selected>[Select one]</option>
<option value=M>Male</option>
<option
value=F>Female</option>
</select>
</font> <span >*</span> </td>
</tr>
<tr>
<td height=35 width="31%" class="td">Pincode </td>
<td height=35 width="43%"> <span class=td1r>
<input name=pin size=10 maxlength=15 onKeyPress="if (event.keyCode <
45 || event.keyCode > 57) event.returnValue = false;">
</span> <span >*</span> </td>
</tr>
<tr>
<td height=24 width="31%" class="td">Country:</td>
<td height=24 width="43%"> <select name="country" size=3>
<option value="in">Select One
<option value="us">United States of America
<option value="bs">Bahamas
<option value="bh">Bahrain
<option value="bd">Bangladesh
<option value="bb">Barbados
<option value="by">Belarus
<option value="be">Belgium
<option value="bz">Belize
<option value="bj">Benin
<option value="bm">Bermuda
<option value="bt">Bhutan
<option value="cv">Cape Verde
<option value="zm">Zambia
84
Advanced HTML
85
Scripting Languages
<TD height=25>
<SELECT name=occupation size=1 style="HEIGHT: 22px; WIDTH: 190px">
<option value="" selected>[Select one]</option>
<option value="Artist">Artist</option>
<option value="Social worker">Social worker</option>
<option value="Student">Student</option>
<option value="Teacher/Administrator">Teacher / Administrator</option>
<option value="Unemployed/Between_jobs">Unemployed / Between
jobs</option>
<option value="No_Work">What ? me work</option>
<option value="Others">others</option>
</SELECT> <font color=#ff0000 face=Arial size=1>*</font> </TD>
<TD height=25> </TD>
</TR>
<TR>
<TD height=29><FONT face="Arial, Helvetica, sans-serif"
size=2>Industry</FONT></TD>
<TD height=29>
<SELECT name=industry>
<OPTION selected value="">[Select one]</OPTION>
<OPTION value=Sales>Sales</OPTION>
<OPTION value=Marketing>Marketing</OPTION>
<OPTION value=Production>Production</OPTION>
<OPTION value="Self_Employed">Self Employed</OPTION>
<OPTION value=Student>Student</OPTION>
<OPTION value=Others>Others</OPTION>
</SELECT> <font color=#ff0000 face=Arial size=1>*</font> </TD>
<TD height=29> </TD>
</TR>
</table>
</form>
</body>
</html>
86
Scripting Languages
UNIT 4 INTRODUCTION TO JAVASCRIPT
Structure Page No.
4.0 Introduction 90
4.1 Objectives 90
4.2 JavaScript Variables and Data Types 91
4.2.1 Declaring Variables
4.2.2 Data Types
4.3 Statements and Operators
92
4.4 Control Structures 94
4.4.1 Conditional Statements
4.4.2 Loop Statements
4.5 Object-Based Programming 97
4.5.1 Functions
4.5.2 Executing Deferred Scripts
4.5.3 Objects
4.6 Messagebox in Javascript
107
4.6.1 Dialog Boxes
4.6.2 Alert Boxes
4.6.3 Confirm Boxes
4.6.4 Prompt Boxes
4.7 Javascript with HTML 109
4.7.1 Events
4.7.2 Event Handlers
4.8 Forms 112
Forms Array
4.9 Summary 119
4.10 Solutions/ Answers 120
4.11 Further Readings 129
4.0 INTRODUCTION
JavaScript is the programming language of the Web. It is used mainly for validating
forms. JavaScript and Java can be related to each other. There exist many other
differences between the two. The client interprets JavaScript, whereas in Java, one can
execute a Java file only after compiling it. JavaScript is based on an object model. In
this unit you will learn how to write JavaScript code and insert them into your HTML
documents, and how to make your pages more dynamic and interactive.
Besides basic programming constructs and concepts, you will also learn about Object-
based programming in JavaScript. We will also discuss some commonly used objects,
message boxes and forms. One of the most important parts of JavaScript is Event
handling that will allow you to write Event-driven code.
4.1 OBJECTIVES
After going through this unit you would be able to learn and use the following
features of the JavaScript:
x Operators;
x Loop constructs;
x Functions;
x Objects such as Math object, Date object;
x Input and output boxes;
90
Introduction to
x Event handlers;
JavaScript
x Form object; and
x Form array.
<HTML>
<HEAD>
<TITLE>IGNOU </TITLE>
<SCRIPT LANGUAGE = JavaScript>
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
JavaScript code should be written between the <SCRIPT> and </SCRIPT> tags. The
value LANGUAGE = JavaScript indicates to the browser that Javascript code has
been used in the HTML document. It is a good programming practice to include the
Javascript code within the <HEAD> and </HEAD> tags.
Now let us start with variables. Variables store and retrieve data, also known as
"values". A variable can refer to a value, which changes or is changed. Variables are
referred to by name, although the name you give them must conform to certain rules.
A JavaScript identifier, or name, must start with a letter or underscore ("_");
subsequent characters can also be digits (0-9). Because JavaScript is case sensitive,
letters include the characters "A" through "Z" (uppercase) and the characters "a"
through "z" (lowercase). Typically, variable names are chosen to be meaningful and
related to the value they hold. For example, a good variable name for containing the
total price of goods orders would be total_price.
You can also declare a variable by simply assigning a value to the variable. But if you
do not assign a value and simply use the variable then it leads to an error.
Strname = some value
Or like this:
strname = "Hello"
The variable name is on the left hand side of the expression and the value you want to
assign to the variable is on to the right side. Thus the variable "strname" shown above
gets the value "Hello" assigned to it.
If you declare a variable outside a function, all the functions on your page can access it.
The lifetime of these variables starts when they are declared, and ends when the page is
closed.
Logical Operators
Description: The logical operators evaluate expressions and then return a true or false value
based on the result. 93
Scripting Languages Operator Functionality Example/ Explanation
Looks at two expressions and returns a If day = 'friday' && date=13 then
value of "true" if the expressions on the alert("Are You Superstitious?")
&& left and right of the operator are both Compares the value of the day and the
true value of the date. If it is true that today is
a Friday and if it is also true that the date
is the 13th, then an alert box pops up with
the message "Are You Superstitious?"
Looks at two expressions and returns a if day='friday'&&date=13 then
value of "true" if either one -- but not alert("Are You Superstitious?") else if
both -- of the expressions are true. day='friday'||date=13 then alert("Aren't
you glad it isn't Friday the 13th?")
|| Compares the value of the day and the
value of the date. If it is true that today is
a Friday and if it is also true that the date
is the 13th, then an alert box pops up with
the message "Are You Superstitious?" If
both are not true, the script moves onto
the next line of code... Which compares
the value of the day and the value of the
date. If either one -- but not both -- is
true, then an alert box pops up with the
message "Aren't you glad it isn't Friday
the 13th?"
if( myVariable == 2 ) {
myVariable = 1;
} else {
myVariable = 0;
}
If the value of myVariable in Figure 4.1 is 2 then the first condition evaluates to true
and the value of myVariable is set to 1. If it is anything other than 2 then the else part
gets executed.
Now let us see an example of a nested if statement in Figure 4.2.
if ( myVariable == 2 ) {
myVariable = 1;
94
} else { Introduction to
JavaScript
If (myVariable == 5 ) {
myVariable = 3;
} else {
myVariable = 4;
}
}
Switch Statement
If there exist multiple conditions, the switch statement is recommended. This is
because only one expression gets evaluated based on which control directly jumps to
the respective case.
switch(myVar) {
case 1:
//if myVar is 1 this is executed
case 'sample':
//if myVar is 'sample' (or 1, see the next paragraph)
//this is executed
case false:
//if myVar is false (or 1 or 'sample', see the next paragraph)
//this is executed
default:
//if myVar does not satisfy any case, (or if it is
//1 or 'sample' or false, see the next paragraph)
//this is executed
}
As shown in Figure 4.3, depending on the value of myvar, the statement of the
respective case gets executed. If a case is satisfied, the code beyond that case will also
be executed unless the break statement is used. In the above example, if myVar is 1,
the code for case 'sample', case false and default will all be executed as well. Comment: Please be consistent. If one
value is in quotes, it is better to put the
others in quotes as well.
4.4.2 Loop Statements
A loop is a set of commands that executes repeatedly until a specified condition is
met. JavaScript supports two loop statements: for and while. In addition, you can use
the break and continue statements within loop statements. Another statement, for...in,
executes statements repeatedly but is used for object manipulation.
x For Statement
Comment: Please be careful about
A for loop repeats until a specified condition evaluates to false. The JavaScript for upper and lower case especially in
loop is similar to the Java and C for loops. A for statement looks as follows: JavaScript.
<HTML>
<HEAD>
<TITLE>IGNOU </TITLE> C
a
<SCRIPT LANGUAGE = JavaScript> n
function howMany(selectObject) { y
var numberSelected=0
o
for (var i=0; i < selectObject.options.length; i++) { f
if (selectObject.options[i].selected==true)
t
numberSelected++ h
} e
return numberSelected
e
} x
</SCRIPT> a
</HEAD> m
p
<BODY> l
<FORM NAME="selectForm"> e
<P><B>Choose some music types, then click the button below:</B> s
<BR><SELECT NAME="musicTypes" MULTIPLE> h
<OPTION SELECTED> R&B a
<OPTION> Jazz v
e
<OPTION> Blues
<OPTION> New Age n
<OPTION> Classical o
<OPTION> Opera s
</SELECT> e
<P><INPUT TYPE="button" VALUE="How many are selected?" m
i
onClick="alert ('Number of options selected: ' + c
howMany(document.selectForm.musicTypes))"> o
l
</FORM> o
</BODY> n
</HTML> s
x While Statement a
t
The while statement defines a loop that iterates as long as a condition remains true. In
t
the following example the control waits until the value of a text field becomes "go": h
while (Document.Form1.Text1.Value != "go") {Statements } e
e
In a while loop the condition is evaluated first before executing the statements. n
x For In Statement d
This is a different type of loop, used to iterate through the properties of an object or o
f
the elements of an array. For example consider the following statement that loops
through the properties of the Scores object, using the variable x to hold each property s
in turn: t
a
For (x in Scores) {Statements} t
e
m
x Break Statement e
n
The break statement is used for terminating the current While or For loop and then t
transferring program control to the statement just after the terminated loop. The s
96 .
following function has a break statement that terminates the while loop when i Introduction to
JavaScript
becomes equal to 3, and then returns the value 3 * x.
function testBreak(x) {
var i = 0
while (i < 6) {
if (i == 3)
break Comment: The example could be
i++ slightly more realistic why would one
want to terminate at 3?
}
return i*x
}
x Continue Statement
A continue statement terminates execution of the block of statements in a while or for
loop and continues execution of the loop with the next iteration. In contrast to the
break statement, continue does not terminate the execution of the loop entirely.
Instead,
x In a while loop, it jumps back to the condition.
x In a for loop, it jumps back to the increment-expression.
The following example shows a While loop with a continue statement that executes
when the value of i becomes equal to three. Thus, n takes on the values one, three,
seven, and twelve.
i=0
n=0
while (i < 5) {
i++
if (i == 3) continue
n += i
}
4.5.1 Functions
Functions are the central working units of JavaScript. Almost all the scripting code
uses one or more functions to get the desired result. If you want your page to provide
certain a user-defined functionality, then functions are a convenient way of doing so.
Therefore it is important that you understand what a function is and how it works.
First let us understand the basic syntax of a function; then we look at how to call it.
After that you must know how to pass arguments and why you need to do this.
Finally, you have to know how to return a value from a function. The following code 97
Scripting Languages shows the implementation of a function. C
h
function example(a,b) a
{ t
number += a;
i
alert('You have chosen: ' + b); s
}
n
u
The function made above can be called using the following syntax. m
Example(1,'house') b
e
r
In fact, when you define the function Example, you create a new JavaScript command
that you can call from anywhere on the page. Whenever you call it, the JavaScript h
code inside the curly brackets {} is executed. e
r
e
Calling the Function ?
You can call the function from any other place in your JavaScript code. After the W
i
function is executed, the control goes back to the other script that called it. l
alert('Example 1: the House'); l
example(1,'house');
t
(write more code) h
i
So this script first generates an alert box, then calls the function and after the function s
is finished it continues to execute the rest of the instructions in the calling code. c
o
Arguments d
e
You can pass arguments to a function. These are variables, either numbers or strings,
w
which are used inside the function. Of course the output of the function depends on o
the arguments you give it. r
k
?
In the following example we pass two arguments, the number 1 and the string 'house':
example(1,'house'); I
n
When these arguments arrive at the function, they are stored in two variables, a and b. a
You have to declare these in the function header, as you can see below. n
function example(a,b) y
c
a
<HTML> s
<HEAD> e
<TITLE>IGNOU </TITLE> t
<SCRIPT Language = "JavaScript"> h
function example(a, b) e
{ f
var number; u
number += a ; n
c
alert('You have chosen: ' + b); t
} i
</SCRIPT> o
n
</HEAD>
<BODY> d
<FORM NAME="selectForm"> o
e
<P><B>Click the button below:</B> s
<BR>
<P><INPUT TYPE="button" VALUE="Click" onClick="example(1,house)"> n
o
</FORM> t
</BODY>
d
98 ... [1]o
</HTML> Introduction to
JavaScript
It adds 1 to number and displays You have chosen: house. Of course, if you call the
function like example (5,'palace'), then it adds 5 to number and displays You have
chosen: palace. The output of the function depends on the arguments you give it.
Returning a value
One more thing a function can do is to return a value. Suppose we have the following
function:
<HTML>
<HEAD>
<TITLE>IGNOU </TITLE>
<SCRIPT Language = "JavaScript">
function calculate(a,b,c)
{
d = (a+b) * c;
return d;
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT Language = "JavaScript">
var x = calculate(4,5,9);
var y = calculate((x/3),3,5);
alert('calculate(4,5,9) = ' +x + ' and ' + ' calculate((x/3),3,5) = ' + y);
</SCRIPT>
</BODY>
</HTML>
99
Scripting Languages Figure 4.2: Using a Function that Returns a Value
The function shown in Figure 4.8 calculates a number from the numbers you pass to
it. When it is done it returns the result of the calculation. The function passes the
result back to the function that called it. When the function executes the return
statement, control goes back to the calling program without executing any more code
in the function, if there is any.
The calling of the function is done using the following two statements in the figure:
var x = calculate(4,5,9);
var y = calculate((x/3),3,5);
It means that you have declared a variable x and are telling JavaScript to execute
calculate( ) with the arguments 4, 5 and 9 and to put the returned value (81) in x. Then
you declare a variable y and execute calculate( ) again. The first argument is x/3,
which means 81/3 = 27, so y becomes 150.Of course you can also return strings or
even Boolean values (true or false). When using JavaScript in forms, you can write a
function that returns either true or false and thus tells the browser whether to submit a
form or not.
Calling a function from the same script is very simple. You just need to specify the
name of the function, as demonstrated in Figure 4.9.
<HTML>
<HEAD>
<TITLE>Calling deferred code from its own script</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
makeLine(30)
function makeLine(lineWidth) {
document.write("<HR SIZE=" + lineWidth + ">")
}
makeLine(10)
// -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
100
Introduction to
4.5.3 Objects JavaScript
A JavaScript object is an instance of datatype. Object is given a unique name and the
collection of properties of the corresponding object may be accessed using the dot
syntax. As a quick introduction to the concept of JavaScript objects, here is the code
that creates an instance of an object called myObj:
Comment: Please put in a short
var myObj = new Object(); description of the contents of myObj;
myObj.business = "Voice and Data Networking"; myObj.CEO = "IGNOU";
myObj.ticker = "CSCO";
After having run that code (in a scope situation that allowed myObj to be accessed as
required), you could run this...
document.write("My Object ticker symbol is " + myObj.ticker + ".");
...and get a complete sentence in your HTML document.
x Document Object
The document object is a property of the window object. This object is the container
for all HTML HEAD and BODY objects associated within the HTML tags of an
HTML document
Method Description
Clear This is depreciated
Close Closes an output stream that was used to create a
document object
contextual It can be used to specify style of specific tags. The
following example specified that text in blockquotes is to
be blue:
document.contextual(document.tags.blockquote).color =
"blue";
Multiple styles may be specified in the contextual
method to set the value of text in a <H3> tag that is
underlined to the color blue, for example.
document.contextual(document.tags.H3,
document.tags.U).color = "blue";
elementFromPoint(x, y) Returns the object at point x, y in the HTML document.
getSelection Get the selected text (if any is selected) 101
Scripting Languages open([mimeType]) Opens a new document object with the optional mime
type.
write(expr1[,expr2...exprN]) Add data to a document. Writes the values passed to the
write function to the document. For example
document.write("<H3>") document.writeln("This is a
Header") document.write("</H3>")
writeln(expr1[,expr2...exprN]) Adds the passed values to the document appended with a
new line character.
x Predefined Objects
Let us consider some of the most frequently used predefined objects provided in Javascript.
x Math object
In most applications we need to perform calculations, whether it is accounting
software or scientific software. Programmers are often typecast as good
mathematicians. Every mathematician needs a calculator sometimes, or in the case of
JavaScript, the Math object. If we want to calculate "2.5 to the power of 8" or
"Sin0.9" in your script, then JavaScript's virtual calculator is what you need. The Math
object contains a number of manipulating functions:
Methods Description
Math.abs(x) Return absolute value of x
Math.acos(x) Return arc cosine of x in radians
Math.asin(x) Return arc sine of x in radians
Math.atan(x) Return arc tan of x in radians C
Math.atan2(x, y) Counterclockwise angle between x axis and point (x,y) l
Math.ceil(x) Rounds a number up e
a
Math.cos(x) Trigonometric cosine of x (x in radians) s
Math.exp(x) Exponential method ex e
Math.floor(x) Rounds a number down p
Math.log(x) Natural logarithm of x (base e) u
Math.max(a, b) Returns the larger of two values t
Math.min(a, b) Returns the smaller of two values s
Math.pow(x, y) Returns xy t
a
Math.round(x) Rounds x to the closest integer t
Math.sin(x) Trigonometric sine of x (x in radians) e
Math.sqrt(x) Square root of x m
e
Math.tan(x) Trigonometric tangent of x (x in radians) n
Properties Description t
Math.E Eulers constant ( ~ 2.718)
t
Math.LN10 Natural logarithm of 10 (~ 2.302) e
Math.LN2 Natural logarithm of 2 (~ 0.693) r
Math.LOG10E Base 10 logarithm of Eulers constant (~ 0.0434) m
i
Math.LOG2E Base 2 logarithm of Eulers constant (~1.442) n
Math.PI The ratio of a circles circumference to its diameter a
(~3.141) t
o
Math.SQRT1_2 Square root of 0.5 ( ~ 0.707) r
Math.SQRT2 Square root of 2.0 ( ~ 1.414) s
e
Let us have Javascript perform some mathematical calculations: v
//calculate e5 e
r
Math.exp(5) y
//calculate cos(2PI) w
Math.cos(2*Math.PI) h
e
r
102 e
The "with" statement Introduction to
JavaScript
If you intend to invoke Math multiple times in your script, a good statement to
remember is "with." Using it you can omit the "Math." prefix for any subsequent Math
properties/methods:
with (Math){
var x= sin(3.5)
var y=tan(5)
var result=max(x,y)
}
x Date Object
The Date object is used to work with dates and times.
After creating an instance of the Date object, you can access all the methods of the
object from the "my_date" variable. If, for example, you want to return the date (from
1-31) of a Date object, you should write the following:
my_date.getDate( )
You can also write a date inside the parentheses of the Date( ) object. The following
line of code shows some of the date formats available.
new Date("Month dd, yyyy hh:mm:ss"), new Date("Month dd, yyyy"), new
Date(yy,mm,dd,hh,mm,ss), new Date(yy,mm,dd), new Date(milliseconds)
Here is how you can create a Date object for each of the ways above:
Methods Explanation
Date( ) Returns a Date object
GetDate( ) Returns the date of a Date object (from 1-31)
GetDay( ) Returns the day of a Date object (from 0-6. 0=Sunday,
1=Monday, etc.)
GetMonth( ) Returns the month of a Date object (from 0-11. 0=January,
1=February, etc.)
GetFullYear( ) Returns the year of the Date object (four digits)
GetHours( ) Returns the hour of the Date object (from 0-23)
GetMinutes( ) Returns the minute of the Date object (from 0-59)
GetSeconds( ) Returns the second of the Date object (from 0-59)
Examples:
Date
Returns the current date, including date, month, and year. Note that the getMonth
method returns 0 in January, 1 in February etc. So add 1 to the getMonth method to
display the correct date.
103
Scripting Languages <HTML>
<BODY>
<SCRIPT LANGUAGE="JAVASCRIPT">
var d = new Date()
document.write("date = ")
document.write(d.getDate( ))
document.write(".")
document.write(d.getMonth() + 1)
document.write(".")
document.write(d.getFullYear())
document.write("time = ")
document.write(d.getHours())
document.write(".")
document.write(d.getMinutes() + 1)
document.write(".")
document.write(d.getSeconds())
</SCRIPT>
</BODY>
</HTML>
Time
Returns the current time for the timezone in hours, minutes, and seconds as shown in
Figure 5.11. To return the time in GMT use getUTCHours, getUTCMinutes etc.
x Array Object
An Array object is used to store a set of values in a single variable name. Each value
is an element of the array and has an associated index number. You can refer to a
particular element in the array by using the name of the array and the index number.
The index number starts at zero.
You create an instance of the Array object with the "new" keyword.
var family_names=new Array(5)
The expected number of elements goes inside the parentheses, in this case it is 5.
You assign data to each of the elements in the array like this:
family_names[0]="Sharma" family_names[1]="Singh" family_names[2]="Gill"
family_names[3]="Kumar" family_names[4]="Khan"
The data can be retrieved from any element by using the index of the array element
you want:
104
Mother=family_names[0] father=family_names[1] Introduction to
JavaScript
Methods Explanation
Length Returns the number of elements in an array. This property is assigned a value
when an array is created
reverse( ) Returns the array reversed
slice( ) Returns a specified part of the array
Sort( ) Returns a sorted array
x History Object
The History object is a predefined JavaScript object which is accessible through the
history property of a window object. The window.history property is an array of URL
strings, which reflect the entries in the History object. The History object consists of
an array of URLs, accessible through the browser's Go menu, which the client has
visited within a window. It is possible to change a window's current URL without an
entry being made in the History object by using the location.replace method. The
History object contains 4 properties and 3 methods as summarized here:
x Location Object
The Location object is part of a Window object and is accessed through the
window.location property. It contains the complete URL of a given Window object,
or, if none is specified, of the current Window object. Syntax : All of its properties are
strings representing different portions of the URL, which generally takes the
following form:
<protocol>//<host>[:<port>]/<pathname>[<hash>][<search>]
You can create a Location object by simply assigning a URL to the location property
of an object:
Comment: Throughout this chapter
Syntax: window.location = "file:///C:/Projects" there has been little regard for the
correctness of the case of a letter. Please
Property Description ensure that the correct case is used unless
the case is not significant. In Javascript,
Hash The hash property is a string beginning with a hash (#), that specifies an it usually is significant.
anchor name in an HTTP URL
Host The host property is a string comprising the hostname and port strings.
hostname The hostname property specifies the server name, subdomain and domain
name (or IP address) of a URL.
Href The href property is a string specifying the entire URL, and of which all
other link properties are substrings.
pathname The pathname property is a string portion of a URL specifying how a
particular resource can be accessed.
Port The port property is a string specifying the communications port that the
server uses.
protocol The protocol property is the string at the beginning of a URL, up to and I
ncluding the first colon (:), which specifies the method of access to the
URL. 105
Scripting Languages Property Description C
search The search property is a string beginning with a question mark that P
specifies any query information in an HTTP URL. l
e
a
Some Common Methods s
e
Method Description b
reload The reload method forces a reload of the windows current document, i.e. e
the one contained in the Location.href
a
Replace The replace method replaces the current history entry with the specified c
URL. After calling the replace method to change the history entry, you c
cannot navigate back to the previous URL using the browser's Back u
button. r
a
t
Check Your Progress 1 e
.
1. Write a JavaScript code block using arrays and generate the current date in words. I
This should include the day, the month and the year. f
2. Write JavaScript code that converts the entered text to upper case.
y
3. Write JavaScript code to validate Username and Password. Username and o
Password are stored in variables. u
4. Design the following Web page
d
o
u
s
e
t
h
e
r
e
p
l
a
c
e
4.6 MESSAGEBOX IN JAVASCRIPT m
e
In this section, we cover the topic of dialog boxes. This topic is important for t
h
understanding the way parameters are passed between different windows. This o
mechanism is a key component of some of the new capabilities of Internet Explorer d
5.5 and 6.0, such as print templates. You use dialog boxes all over. The alert box is
b
probably the most popular one. u
t
4.6.1 Dialog Boxes d
o
In this the user cannot switch to the window without closing the current window. This
kind of dialog box is referred to as a modal dialog box. You create a modal dialog box n
o
with showModalDialog(). t
The following example will generate a simple alert box based on clicking either a link
or a form button.
<html>
<title>Codeave.com(JavaScript: Alert Box)</title>
<body bgcolor="#ffffff">
<!-- Example of a form button that will open an alert box -->
<form>
<input type="button" value="Open Alert Box"
onClick='alert("Place your message here... \n Click OK to continue.")'>
</form>
<p>
<!-- Example of a link that will open an alert box -->
<a href='javascript:onClick=alert("Place your message here... \n Click OK to
continue.")'>
Open Alert Box</a>
</body>
</html>
The text entry field is similar to a form input type="text". The 2 buttons are OK and
Cancel. The value returned is either the text entered or null.
4.7.1 Events
Events are actions that can be detected by JavaScript. An example would be the
onMouseOver event, which is detected when the user moves the mouse over an
object. Another event is the onLoad event, which is detected as soon as the page is
finished loading. Usually, events are used in combination with functions, so that the
function is called when the event happens. An example would be a function that
would animate a button. The function simply shifts two images. One image that shows
the button in an "up" position, and another image that shows the button in a "down"
position. If this function is called using an onMouseOver event, it will make it look as
108 if the button is pressed down when the mouse is moved over the image.
Introduction to
JavaScript
4.7.2 Event Handlers
An event handler executes a segment of a code based on certain events occurring
within the application, such as onLoad or onClick. JavaScript event handlers can be
divided into two parts: interactive event handlers and non-interactive event handlers.
An interactive event handler is the one that depends on user interaction with the form
or the document.
For example, you might have a popup asking the user to enter his name upon his first
arrival to your page. The name is then stored in a cookie. Furthermore, when the
visitor leaves your page a cookie stores the current date. Next time the visitor arrives
at your page, it will have another popup saying something like: "Welcome Ajay, this
page has not been updated since your last visit 8 days ago".
Another common use of the onLoad and onUnload events is in making annoying
pages that immediately open several other windows as soon as you enter the page.
The following example shows the use of the onFocus event handler to replace the
default string displayed in the text box. Note that the first line is HTML code and that
the text box resides on a form called 'myForm'.
Syntax : onfocus = script
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM NAME = "myform" >
<input type="text" name="myText" value="Give me focus" onFocus =
"changeVal()">
</BODY> 109
Scripting Languages <SCRIPT LANGUAGE="JAVASCRIPT">
s1 = new String(myform.myText.value)
function changeVal() {
s1 = "I'm feeling focused"
document.myform.myText.value = s1.toUpperCase()
}
</SCRIPT>
</HTML>
onblur = script
The onBlur event handler executes the specified JavaScript code or function on the
occurrence of a blur event. This is when a window, frame or form element loses focus.
This can be caused by the user clicking outside of the current window, frame or form
element, by using the TAB key to cycle through the various elements on screen, or by
a call to the window.blur method.
The following example shows the use of the onBlur event handler to ask the user to
check that the details given are correct. Note that the first line is HTML code.
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM NAME = "myform" >
Enter email address <INPUT TYPE="text" VALUE="" NAME="userEmail"
onBlur=addCheck( )>
</BODY>
<SCRIPT LANGUAGE="JAVASCRIPT">
function addCheck() {
alert("Please check your email details are correct before submitting")
}
</SCRIPT>
</HTML>
110
Introduction to
JavaScript
x OnError
The onError event handler executes the specified JavaScript code or function on the
occurrence of an error event. This happens when an image or document causes an
error during loading. A distinction must be made between a browser error, when the
user types in a non-existent URL, for example, and a JavaScript runtime or syntax
error. This event handler will only be triggered by a JavaScript error, not a browser
error.
Apart from the onError handler triggering a JavaScript function, it can also be set to
onError="null", which suppresses the standard JavaScript error dialog boxes. To
suppress JavaScript error dialogs when calling a function using onError, the function
must return true (Example 2 below demonstrates this).
There are two things to bear in mind when using window.onerror. First, this only
applies to the window containing window.onerror, not any others, and secondly,
window.onerror must be spelt all lower-case and contained within <script> tags; it
cannot be defined in HTML (this obviously does not apply when using onError with
an image tag, as in example 1 below).
The first example suppresses the normal JavaScript error dialogs if a problem arises
when trying to load the specified image, while Example 2 does the same, but applied
to a window, by using a return value of true in the called function, and displays a
customized message instead.
Example 1
<IMG NAME="imgFaculty" SRC="dodgy.jpg onError="null">
Example 2
<script type="text/javascript" language="JavaScript">
s1 = new String(myForm.myText.value)
window.onerror=myErrorHandler
function myErrorHandler() {
alert('A customized error message')
return true
}
</script>
<body onload=nonexistantFunc( )>
4.8 FORMS
Each form in a document creates a form object. Since a document can contain more
than one form, Form objects are stored in an array called forms.
C
<HTML> h
<HEAD> i
<SCRIPT LANGUAGE=JavaScript> s
function window_onload() e
{ x
var numberForms = document.forms.length; a
m
var formIndex; p
for (formIndex = 0; formIndex < numberForms; formIndex++) l
e
{
alert(document.forms[formIndex].name); c
} o
d
} e
</SCRIPT>
</HEAD> d
o
<BODY LANGUAGE=JavaScript onLoad="window_onload()"> e
<FORM NAME="form1"> s
<P>This is inside form1</P>
n
</FORM> o
<FORM NAME="form2"> t
<P>This is inside form2</P>
w
</FORM> o
<FORM NAME="form3"> r
<P>This is inside form3</P> k
</FORM> c
</BODY> o
</HTML> r
r
e
c
Within the body of the page we define three forms. Each form is given a name, and t
contains a paragraph of text. Within the definition of the <BODY> tag, the l
window_onload( ) function is connected to the window object's onLoad event handler. y
.
<BODY LANGUAGE=JavaScript onLoad="return
P
window_onload( )"> l
e
a
This means that when the page is loaded, our window_onload() function will be s
called. The window_onload( ) function is defined in a script block in the HEAD of the e
page. Within this function we loop through the forms[ ] array. Just like any other
c
JavaScript array, the forms[ ] array has a length property, which we can use to o
determine how many times we need to loop. Actually, as we know how many forms r
there are, we could just write the number in. However, here we are also demonstrating r
e
the length property, since it is then easier to add to the array without having to change c
the function. Generalizing your code like this is a good practice to follow. t
.
The function starts by getting the number of Form objects within the forms array and
stores it in the variable numberForms.
function window_onload( )
{
var numberForms = document.forms.length;
Next we define a variable, formIndex, to be used in our for loop. After this comes the
for loop itself.
112
var formIndex; Introduction to
JavaScript
for (formIndex = 0; formIndex < numberForms; formIndex++)
{
alert(document.forms[formIndex].name);
}
Remember that since the indices for arrays start at zero, our loop needs to go from an
index of 0 to an index of numberForms - 1. We do this by initializing the formIndex
variable to zero, and setting the condition of the for loop to formIndex <
numberForms.
Within the for loop's code, we pass the index of the desired form (that is, formIndex)
to document.forms[ ], which gives us the Form object at that array index in the forms
array. To access the Form object's name property, we put a dot at the end and the
name of the property, name.
x Form Object
Form is a property of the document object. This corresponds to an HTML input form
constructed with the FORM tag. A form can be submitted by calling the JavaScript
submit method or clicking the form SUBMIT button. Some of the form properties are:
x Action - This specifies the URL and CGI script file name the form is to be
submitted to. It allows reading or changing the ACTION attribute of the HTML
FORM tag.
x Button An object representing a GUI control.
x Elements - An array of fields and elements in the form.
x Encoding - This is a read or write string. It specifies the encoding method the form
data is encoded in, before being submitted to the server. It corresponds to the
ENCTYPE attribute of the FORM tag. The default is "application/x-www-form-
urlencoded". Other encoding includes text/plain or multipart/form- data.
x Length - The number of fields in the elements array, that is, the length of the
elements array.
x Method - This is a read or write string. It has the value "GET" or "POST".
x Name - The form name. Corresponds to the FORM Name attribute.
x Password An object representing a password field.
x Radio An object representing a radio button field.
x Reset - An object representing a reset button.
x Select - An object representing a selection list.
x Submit - An object representing a submit button.
x Target - The name of the frame or window to which the form submission response
is sent by the server.
Corresponds to the FORM TARGET attribute.
x Text - An object representing a text field.
x Textarea - An object representing a text area field.
t
<HTML> o
<HEAD>
t
<SCRIPT LANGUAGE = javascript> h
function check () e
{ if (document.myform.email.value == ) {
c
alert(please enter your email-id); a
return false; } s
} e
</SCRIPT> s
</HEAD> t
<BODY> u
d
Enter your Email to subscribe : <p> y
<FORM Name = myform Action = mailto:subscribe@abc.com Method = POST
d
Enctype = multipart/form-data onsubmit = return check() > o
<Input type = text Name = email> e
<Input type = submit value = submit> s
</FORM> n
</BODY> o
</HTML> t
w
o
The above code is used for obtaining the users email-id. In case the user clicks the r
submit button without entering the email-id in the desired text field, he sees a message k
box indicating that the email-id has not been entered.
c
o
Case Study r
r
Design a Web page with appropriate functionality to accept an order for a fast food e
c
outlet. It should check if the user has entered a valid name and email-id. It should also t
calculate the value of the order. l
y
.
<HTML>
T
<HEAD> h
<TITLE>Donald Duck</TITLE> i
<SCRIPT Language="JavaScript"> s
var m; n
function chk_name() e
{ e
d
if( document.form1.txt_name.value == "") s
{
alert("Please enter your name"); t
o
document.form1.txt_name.focus();
} b
} e
function chk_email() t
{ a
var str = document.form1.txt_email.value ; k
e
114 var i; ... [3]n
if ( document.form1.txt_email.value == "") Introduction to
JavaScript
{
alert("Please enter your Email-ID");
document.form1.txt_email.focus();
}
i = str.indexOf("@");
if ( i< 0)
{
alert ("Please enter a valid Email-Id");
}
}
function mainitem(F1)
{ var z=" ";
for(j=0;j<3;j++)
{
for(i=0;i<F1.elements[j].length;i++)
{
if (F1.elements[j][i].selected)
{
var y=F1.elements[j].options[i].value;
z=z+"\n"+y;
F1.elements[3].value=z;
}
}
}
m=z;
}
function cal(F1)
{ var d=0;
for(j=0;j<3;j++)
{
for(i=0;i<F1.elements[j].length;i++)
{
if (F1.elements[j][i].selected)
{
var y=F1.elements[j].options[i].value;
s=new String(y);
var a=s.indexOf(">");
var b=s.substring(a+1,a+3);
c=parseInt(b);
d=d+c;
}
}
}
p="Total cost of the selected items="+d;
m=m+"\n"+p;
F1.elements[3].value=m;
}
function clr(F1)
{
F1.elements[3].value=" ";
}
</SCRIPT>
</HEAD>
<BODY>
<h2><font color="blue"><center> Welcome to the World renowned online Fast Food
Center </font> 115
Scripting Languages <font color="red"> Donald Duck ! </center></font></h2>
<Form name="form1" ACTION = "mailto:dlc@ignou.ac.in" METHOD = POST>
Select the Menu Items of your choice and then click on the Total Cost to find the bill
amount-
<BR><BR>
<Table >
<TR valign=top ><td>
Major dishes :<BR>
<select name="s1" MULTIPLE onBlur="mainitem(this.form)">
<option value="Onion cheese capsicum Pizza->300" selected> Onion cheese
capsicum Pizza
<option value="Onion mushroom Pizza->200"> Onion mushroom Pizza
<option value="Chicken Tikka Pizza->460"> Chicken Tikka Pizza
<option value="Cheese Pizza->150"> Cheese Pizza
</select>
<BR><BR></td>
<td> </td><td> </td>
<td>
Soups :<BR>
<select name="s2" MULTIPLE onBlur="mainitem(this.form)">
<option value="Tomato Soup->70"> Tomato Soup
<option value="Sweet corn Soup->80">Sweet corn Soup
<option value="Sweet n Sour soup->90">Sweet n Sour soup
<option value="Mixed veg soup->50">Mixed veg soup
</select>
<BR><BR></td>
<td> </td><td> </td>
<td>
Miscellaneous :<BR>
<select name="s3" onBlur="mainitem(this.form)">
<option value=" ">'Desserts'
<option value="Milkshakes->35">Milkshakes
<option value="Soft drinks->20">Soft drinks
<option value="Ice cream sodas->25">Softy
</select>
<BR><BR></td>
<td> </td><td> </td>
</TR>
</Table>
<Table>
<TR valign=top><td>
The items selected form the Menu are :
<TEXTAREA Name="TA1" Rows=10 Cols=50>
</TEXTAREA><BR><BR></td>
<td> </td><td> </td>
<td><BR>
<input type="button" Value="Total Cost" onClick="cal(this.form)">
<input type="button" Value="Clear" onClick="clr(this.form)">
</td>
</TR>
</Table>
<HR noshade>
<h2><font color="red"> Personal Details </center></font></h2>
<Table >
<TR valign=top ><td>
Name:<BR>
<Input Type = "Text" Name = "txt_name" Onblur = "chk_name()">
116
<BR><BR></td> Introduction to
JavaScript
<td> </td><td> </td>
<td>
Contact Address :<br>
<TEXTAREA Name="TA2" Rows=3 Cols=10>
</TEXTAREA>
<BR><BR></td>
<td> </td><td> </td>
<td>
Email :<BR>
<Input Type = "Text" Name = "txt_email" Onblur = "chk_email()">
<BR><BR></td>
<td> </td><td> </td>
</TR>
</Table>
<Table>
<TR valign=top ><td>
Phone :<BR>
<Input Type = "Text" Name = "txt_phone">
<BR><BR></td>
<td> </td><td> </td>
<td>
<BR>
<Input Type = "submit" Name = "btnsubmit" Value = " Submit ">
<BR><BR></td>
<td> </td><td> </td>
</TR>
</Table>
</Form>
</BODY>
</HTML>
117
Scripting Languages 2. Design the following Web page.
3. Design the following Web page in such a way that selecting any option from
the radio button displays the appropriate result in the Result box.
4. Suppose you have an order form that updates automatically each time you
enter or change a quantity, the cost for that item and the total cost are updated. Each
field must be validated. Design the following web page. (Case Study)
4.9 SUMMARY
In this unit we have learned about the major features of JavaScript. Besides normal
programming constructs, datatypes and variables, we have also discussed the most
commonly used objects. These are: Document, Math, Date, History, Location etc. The
Submit and Reset objects are used to submit the information to the server and reset the
information entered, respectively. Finally, we discussed a very important object, the
Form object.
<HTML>
<HEAD>
118
<TITLE> Date validations </TITLE> Introduction to
JavaScript
<SCRIPT>
var monthNames = new Array(12);
monthNames[0]= "January";
monthNames[1]= "February";
monthNames[2]= "March";
monthNames[3]= "April";
monthNames[4]= "May";
monthNames[5]= "June";
monthNames[6]= "July";
monthNames[7]= "August";
monthNames[8]= "September";
monthNames[9]= "October";
monthNames[10]= "November";
monthNames[11]= "December";
<BODY>
<H1>WELCOME!</H1>
<SCRIPT>
document.write(customDateString( new Date()))
</SCRIPT>
</BODY>
</HTML>
2.
<SCRIPT language="JavaScript">
function checkData(column_data)
{
if (column_data != "" && column_data.value !=
column_data.value.toUpperCase( ))
{
column_data.value = column_data.value.toUpperCase( )
}
}
</SCRIPT>
</HEAD> 119
Scripting Languages
<BODY>
<FORM>
<INPUT TYPE="text" NAME="collector" SIZE=10
onChange="checkData(this)">
<INPUT TYPE="text" NAME="dummy" SIZE=10>
</FORM>
</BODY>
</HTML>
3.
<HTML>
<HEAD>
<TITLE>Password Validation</TITLE>
<SCRIPT language="JavaScript">
<!--
var userpassword = new Array(4);
userpassword[0]= "Ajay";
userpassword[1]= "ajay";
userpassword[2]= "Rohan";
userpassword[3]= "rohan";
function checkOut()
{
var flag =0;
var flag1 =0;
var i =0;
var j =0;
4.
<HTML>
<HEAD>
<TITLE>Displaying the Date and time in the Browser</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
function begin(form)
{
form_name = form;
time_out=window.setTimeout("display_date()",500)
}
function display_date()
{
form_name.date.value=new Date();
time_out=window.setTimeout("display_date()",1000)
}
function display_clock()
{
document.write('<FONT COLOR=red SIZE=+1><FORM
NAME=time_form><CENTER><BR><BR>Current Date & Time :')
document.write(' <INPUT NAME=date size=19
value=""</FORM></FONT></CENTER>')
begin(document.time_form)
}
display_clock()
</SCRIPT>
</BODY>
</HTML>
function goodbye( )
{
alert('Goodbye ' + name + ', Sorry to see you go!');
}
</SCRIPT>
</HEAD>
<BODY onLoad="hello( );" onUnload="goodbye( );">
<IMG SRC="Images\Pinkwhit.gif ">
</BODY>
</HTML>
1.
<HTML>
<HEAD>
<TITLE>FORMS</TITLE>
<!-- This code allows to access the Form objects Elements Array //-->
<SCRIPT Language="JavaScript">
function Ver(form1)
{
v=form1.elements.length;
if (form1.elements[3].name=="Button1")
{
alert('First form name : '+document.forms[0].name);
alert('No. of Form elements of ' +document.forms[0].name + ' = '+v);
}
else if (form1.elements[4].name=="Button2")
{
alert('Second form name : '+document.forms[1].name);
alert('No. of Form elements of ' +document.forms[1].name + ' = '+v);
}
for(i=0;i<v;i++)
alert(form1.elements[i].name+ ' is at position '+i);
}
</SCRIPT>
</HEAD>
122
Introduction to
JavaScript
<BODY>
<FORM Name="Survey Form 1">
FIRST FORM: <i><b>Survey Form 1 </b></i><BR><BR>
First Name : <Input Type=Text Name="Text1" Value=""><BR><BR>
<Input Type="radio" Name="Radio1" Value=""> Fresher
<Input Type="radio" Name="Radio1" Value="">
Experienced<BR><BR>
<Input Type="Button" Name="Button1" Value="Click1"
onClick="Ver(form)">
</FORM>
2.
<HMTL>
<HEAD>
<TITLE>FORMS</TITLE>
<!-- This code checks the Checkbox when the button is clicked //-->
<SCRIPT Language='JavaScript'>
function Chk(f1)
{
f1.Check.checked=true;
alert(" The Checkbox just got checked ");
f1.Check.checked=false;
f1.Radio[0].checked=true;
f1.Radio[1].checked=false;
alert(" The Radio button just got checked ");
}
</SCRIPT> Comment: The desired functionality is
not apparent in this question. It should be
</HEAD> stated explicitly.
<BODY>
<FORM>
Client Name : <Input Type=Text Name="Text" Value=""><BR><BR> 123
Scripting Languages Client Address: <Input Type=Text Name="Text1" Value=""> <BR><BR>
Client E-mail Address :<Input Type=Text Name="Text2"
Value=""><BR><BR>
<Input Type="radio" Name="Radio" Value=""> Male
<Input Type="radio" Name="Radio" Value=""> Female<BR><BR>
<Input Type="CheckBox" Name="Check" Value=""> Employed <BR><BR>
<Input Type="Button" Name="Bt" Value="Set Element Array Value"
onClick="Chk(this.form)">
</FORM>
</BODY>
</HTML>
3.
<HTML>
<HEAD>
<TITLE> Working with Radio Buttons </TITLE>
<SCRIPT LANGUAGE="JavaScript">
function calculate(form)
{
if(form.elements[2].checked)
{
form.result.value = form.entry.value * form.entry.value;
}
else
{
form.result.value = form.entry.value * 2;
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM >
<CENTER><BR>
<B>Value:</B>
<INPUT TYPE="text" NAME="entry" VALUE=0>
<BR><BR>
<SPACER Size= 190>
<B>Action:<B><BR>
126
<TEXTAREA NAME="shipto" COLS=40 ROWS=4 onChange="CopyAddress();"> Introduction to
JavaScript
Enter your shipping address here. </TEXTAREA>
<B>Products to Order:</B><BR>
Qty: <INPUT TYPE="TEXT" NAME="qty1" VALUE="0" SIZE=4 onChange =
"UpdateCost(1, 240);">
Cost: <INPUT TYPE="TEXT" NAME="cost1" SIZE=6> (Rs.240 ) Vanilla cake
<BR>
Qty: <INPUT TYPE="TEXT" NAME="qty2" VALUE="0" SIZE=4 onChange =
"UpdateCost(2, 270);">
Cost: <INPUT TYPE="TEXT" NAME="cost2" SIZE=6> (Rs.270 ) Strawberry cake
<BR>
Qty: <INPUT TYPE="TEXT" NAME="qty3" VALUE="0" SIZE=4 onChange =
"UpdateCost(3, 300);">
Cost: <INPUT TYPE="TEXT" NAME="cost3" SIZE=6> (Rs.300 ) Black Forest
cake <BR>
Qty: <INPUT TYPE="TEXT" NAME="qty4" VALUE="0" SIZE=4 onChange =
"UpdateCost(4, 600);">
Cost: <INPUT TYPE="TEXT" NAME="cost4" SIZE=6> (Rs.600 ) Chocolate cake
<HR> <B>Total Cost:</B> <INPUT TYPE="TEXT" NAME="totalcost"
SIZE=8><HR> <B>
Method of Payment</B>:
<SELECT NAME="payby"> <OPTION VALUE="check" SELECTED>
Check or Money Order
<OPTION VALUE="cash">Cash or Cashier's Check
<OPTION VALUE="credit">Credit Card (specify number)
</SELECT><BR> <B>Credit Card or Check Number:</B>:
<INPUT TYPE="TEXT" NAME="creditno" SIZE="20"><BR>
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Send Your Order">
<INPUT TYPE="RESET" VALUE="Clear Form">
</FORM>
</BODY>
</HTML>
2. Beginning JavaScript, Paul Wilton. Publisher: Wrox Press Inc. 1st Edition
3. JavaScript: The Definitive Guide, David Flanagan. Publisher: O'Reilly. 4th Edition
2001.
4. The JavaScript Bible, Danny Goodman. Publisher: John Wiley & Sons Inc. Edition
2001.
127
Page 98: [1] Comment milind
What is number here? Will this code work? In any case the function does not do
anything meaningful. What is the purpose of the argument a here?
Page 106: [2] Comment milind
Please be accurate. If you do use the replace method but do not change the history entry,
does the statement still hold good?
Page 114: [3] Comment milind
The solution to the case study does not work correctly. This needs to be taken care of.
4567897*+,-*+.-+/0
12345 674893:4
496.59.6/ :-+/2;<
=>3 ?@ABCDEFAGC@ 123
=>1 HIJKFAGLKM 123
=>N OPQA?MRSTFBGUAV 121
=>2 WDDG@XRSTFBGUAYCDKACQ@Z[\]^QXK 121
=>_ RSTFBGUASQMGFM 12N
=>_>1 RSTFBGUA`QAQ[aUKM
=>_>N RSTFBGUARQBGQIbKM
=>_>2 RSTFBGUAYC@MAQ@AM
=>_>_ RSTFBGUAHUKBQACBM
=>= cMG@XYC@DGAGC@QbTAQAKdK@AM 12e
=>f ]CCUG@X[PBCEXPYCDK 12g
=>e RSTFBGUA^BCFKDEBKM 1__
=>h RSTFBGUAYCDG@XYC@LK@AGC@M 1_f
=>g `GFAGC@QBaHIJKFAG@RSTFBGUA 1_h
=>g>1 \KAPCDMiRSTFBGUA`GFAGC@QBaHIJKFA
=>g>N RSTFBGUA`GFAGC@QBaHIJKFA^BCUKBAGKM
=>13 jBBHIJKFA 1=2
=>13>1 \KAPCDMiRSTFBGUAjBBHIJKFA
=>13>N ^BCUKBAGKMiRSTFBGUAjBBHIJKFA
=>11 TEddQBa 1f2
=>1N TCbEAGC@MkW@MlKBM 1f2
=>12 mEBAPKBnKQDG@XM 1eN
5<o 3249pq1843p2
WrAKBbKQB@G@XsQLQTFBGUAACdQtKOKI^QXKMAPQABKuEGBKMCdKbCXGFQbUBCFKMMG@XvlK
lGbbDGMFEMMQ@CAPKBLKBaFCddC@MFBGUAG@XbQ@XEQXKvFQbbKDRSTFBGUA>RSTFBGUAGM
\GFBCMCrAwMMFBGUAG@XbQ@XEQXK>?AK@QIbKMEMAClBGAKUBCXBQdMAPQAK@PQ@FKAPKUClKB
CrOKIUQXKMIaQbbClG@XEMACFC@ABCbAPKGBIKPQLGCEB>WbAPCEXPZ[\]K@QIbKMEM
ACDKLKbCUOKIUQXKMvlKFQ@@CAG@FCBUCBQAKG@ACAPKdFC@DGAGC@MCBIEMG@KMMBEbKM
lGAPCEAEMG@XQ@CAPKBACCbbGtKQMFBGUAG@XbQ@XEQXK>
?@APGME@GAlKlGbbDGMFEMMAPKUBCXBQddG@XFC@MABEFAMAPQAQBKMEUUCBAKDIa
RSTFBGUA>[PKFC@MABEFAMlGbbK@QIbKaCEACGdUbKdK@AQbbtG@DMCrbCXGFrCBaCEB
OKIUQXKM>
OKlGbbQbMCDGMFEMMQICEAHIJKFAMG@RSTFBGUAQ@DAQbtQICEAAPK`GFAGC@QBaCIJKFAG@
DKAQGbQMQ@KxQdUbK>jBBCBPQ@DbG@XGMQ@GdUCBAQ@AUQBACrQ@atG@DCrUBCXBQddG@X>
?@APGME@GAlKDGMFEMMKBBCBPQ@DbG@XG@RSTFBGUA>[PKjBBCIJKFAGMEMKDrCBAPK
UEBUCMKIaRSTFBGUA
5<y p7z{8436{4
[PKCIJKFAGLKCrAPGME@GAGMACKxUbQG@APKIQMGFMCrRSTFBGUA>WrAKBFCdUbKAG@XAPGM
E@GAvaCElGbbIKQIbKAClBGAKFCDKrCBOKIUQXKMEMG@XRSTFBGUA>|CElGbbIKQIbKAC
E@DKBMAQ@DAPKrCbbClG@XFCdUC@K@AMCrRSTFBGUAi
} RQBGQIbKM
} ]CCUM
} YC@DGAGC@QbMAQAKdK@AM
} ^BCFKDEBKM
} ^BCUKBAGKMQ@D\KAPCDMCr`GFAGC@QBaHIJKFA
123 } ^BCUKBAGKMQ@D\KAPCDMCrAPKjnnHIJKFA>
)*+ ,-./031231203/4 12345678
56789:;<:=>?@?A@9BCD:89B=BC<E=5:=F>G6>=:8C>?:GHBCI@J@GB;?@K<;9BIF8<=L
M<N@9?@?A@9=:K8GFI@5:=F>G6>=:8OP9BC@==:BK>G>KI7<>KI>9IQI:<:BK=R>KI5:=F>G
6>=:8CB9S;;G:8><:BK=TUN:8N:=<N@=89:;<:KVG>KVF>V@CB9D:89B=BC<QW8@GL56789:;<
:=>=89:;<:KVG>KVF>V@CB9XYDZ;>V@=BK<N@[B9GI[:I@[@A>KI8B9;B9><@
:K<9>K@<=L56789:;<:=;BU@9CFG>KIN>=>G?B=<>GG<N@C@><F9@=BC5:=F>G6>=:8LMK@BC
<N@<N:KV=HBF=NBFGIA@8BK8@9K@I>ABF<:=<N@=>C@<H>KI=@8F9:<HBC8G:@K<?>8N:K@=
<N><>88@==HBF9[@A=:<@LD:89B=BC<<BB\<N:=8BK=:I@9><:BK:K<B>88BFK<UN@K
89@><:KV56789:;<LPB<@K<:>GGHI>KV@9BF=B;@9><:BK=<N><8>KA@IBK@:K5:=F>G6>=:8
N>J@A@@K9@?BJ@IC9B?56789:;<T:K8GFI:KV<N@8>;>A:G:<H<B>88@==IHK>?:8G:K\
G:A9>9:@=I:9@8<GH>KI<B>88@==<N@C:G@=H=<@?BK<N@8G:@K<?>8N:K@L
)*] .^^0_`1231203/1a^b/a._-/cd3.`b
eBF8>KF=@<N@7fghPY@G@?@K<<B>II56789:;<8BI@<B>KXYDZ;>V@L
/ijk31203/l/mn
56789:;<8BI@:=U9:<<@KU:<N:K;>:9@Io7fghPYp<>V=LqB9@W>?;G@T>;9B8@IF9@
<B<@=<>I@G:J@9HI><@?:VN<>;;@>9>=CBGGBU=r
o7fghPYZSstuStQvw56789:;<wp
oxyy
qFK8<:BKf>Kz@G:J@9Oz<R
f>Kz@G:J@9vOfz><@Oz<RysBUORRp{
QKIqFK8<:BK
yyp
o|7fghPYp
6@V:KK:KV>KI@KI:KVo7fghPYp<>V==F99BFKI<N@8BI@LYN@ZSstuStQ
><<9:AF<@:KI:8><@=<N@=89:;<:KVG>KVF>V@LeBF?F=<=;@8:CH<N@G>KVF>V@A@8>F=@
A9BU=@9=8>KF=@B<N@9=89:;<:KVG>KVF>V@=T=F8N>=}>J>789:;<LsB<:8@<N><<N@
f>Kz@G:J@9CFK8<:BK:=@?A@II@I:K8B??@K<<>V=Ooxyy>KIyypRLYN:=;9@J@K<=
A9BU=@9=<N><IBKB<=F;;B9<<N@o7fghPYp<>VC9B?I:=;G>H:KV<N@8BI@BK<N@
;>V@L
7:K8@<N@@W>?;G@:=>V@K@9>GCFK8<:BKy:<:=KB<<:@I<B>KH;>9<:8FG>9CB9?
8BK<9BGyHBF8>K:K8GFI@:<:K<N@XQSz=@8<:BKBC<N@;>V@>==NBUK:Kq:VF9@
~LA@GBUr
oXYDZp
oXQSzp
oYhYZQpPG>8@eBF9M9I@9o|YhYZQp
o7fghPYZSstuStQvw56789:;<wp
oxyy
qFK8<:BKf>Kz@G:J@9Oz<R
f>Kz@G:J@9vOfz><@Oz<RysBUORRp{
QKIqFK8<:BK
yyp
o|7fghPYp
o|XQSzp
o6Mzep
LLL
4567897*+,-*+.-+/0 1234563789:;<=>?@24A756BCD8E8F656G>HIJ5K8L123456J3MMD8NF6
?2MDMD8OPQ156RGSTQ784MF267LG2C8U8EVB23CF@@JE2?5?@BC56MM2J3M5@@
K868E5@WJ3EJ27874EFJMF6K42R8F6MD8GSTQ784MF26F62ER8EM2A88J5@@MD842R8
M2K8MD8ELX88JF6KB23E42R8F6MD8GSTQ784MF268673E87MD5M5@@MD842R8F7E85R
56RR842R8R?8Y2E8FMF7688R8R?B56B45@@7YE2NCFMDF6MD8OPQ1784MF26L
P6862M5?@88Z48JMF26M2MDF7E3@8F7MD5MB23N5BC56MM2JE2UFR8F6@F6874EFJMF6K
42R8CFMDF6Y2EN7M2E87J26RM2MD88U86M72Y2?[84M7F6B23EY2ENL\2E8Z5NJ@8V
B234568N?8R74EFJMF6K42R8M2E87J26RM25?3MM264@F4AF65Y2EN577D2C6F6
\FK3E8]L3^
_G>HI`
_GSTQ`
_><>IS`>87MO3MM26SU86M7_a><>IS`
_aGSTQ`
_OPQ1`
_\P;H bTHScd\2EN1d`
_<b=e>>1=ScdO3MM26dbTHScdO3MM261d
fTIeScd:@F4Ad`
_9:;<=>\P;cdO3MM261dSfSb>cd26:@F4Ad
ITbgeTgScdfO94EFJMd`
H7KO2ZdO3MM26=E8778Rhd
_a9:;<=>`
_a\P;H`
_aOPQ1`
_aG>HI`
>DF78Z5NJ@8CF@@RF7J@5B5?3MM2626MD8i8?=5K8LiD86B234@F4A26MD8
?3MM26FMC23@RRF7J@5B5N8775K8?2Z7M5MF6KjO3MM26=E8778RkL
H27M2YB23E42R8CF@@5JJ85EF68FMD8E4.l2Em.*597n*JE248R3E8756RCF@@?8
45@@8R26@BCD86MD842R8B23D5U8CEFMM86453787MD5MY364MF26M28Z843M8L
G2C8U8EVB23456CEFM8fO94EFJM42R823M7FR8JE248R3E87V?3M7MF@@CFMDF65
9:;<=>?@24AL>DF742R8F78Z843M8R26@B2648VCD86MD8G>HIJ5K8@25R7L
>DF75@@2C7B23M2F6FMF5@Fo8R5M52ERB65NF45@@B4D56K8MD8@22A2YB23Ei8?
J5K8CD86FM@25R7L
pqr st4uvwxytz4wu4
>DF7784MF26CF@@RF74377MD8?57F472YfO94EFJM56RR874EF?842648JM7@FA8R5M5MBJ87V
@22J756R2MD8E7L
pqrq{ st456789|-9-y}8/0
fO94EFJMD5726@B268R5M5MBJ845@@8R5s-67-*9LTs-67-*9F757J84F5@AF6R2Y
R5M5MBJ8MD5M456426M5F6RFYY8E86MAF6R72YF6Y2EN5MF26VR8J86RF6K26D2CFMF7
378RLO845378s-67-*9F7MD826@BR5M5MBJ8F6fO94EFJMVFMF75@72MD8R5M5MBJ8
E8M3E68R?B5@@Y364MF267F6fO94EFJML
TMFM77FNJ@87MV5s-67-*9456426M5F68FMD8E63N8EF42E7MEF6KF6Y2EN5MF26LT
s-67-*9?8D5U8757563N?8ECD86B23378FMF6563N8EF4426M8ZM56R5757MEF6K
CD86B23378FMF657MEF6K426M8ZML>D5MF7VFYB235E8C2EAF6KCFMDR5M5MD5M@22A7
@FA863N?8E7VfO94EFJM5773N87MD5MFMF7563N?8E56RR287CD5M8U8EF7N27M
5JJE2JEF5M8Y2E63N?8E7L9FNF@5E@BVFYB235E8C2EAF6KCFMDR5M5MD5M45626@B?8
7MEF6KR5M5VfO94EFJMME85M7FM577MEF6KR5M5L1234565@C5B7N5A863N?8E7
123 ?8D5U8577MEF6K7?B864@27F6KMD8NF6~32M5MF26N5EA7ddL
1)56)*83+,8-7./ 12345678
01234567189:;<14=:1>9?3>86>94@?<A889B9?A69348CA1)56)*8?A4:AD1B=>671>
598694?69348AE3=66718;1?9B9?4A6=>13B4=:1>9?94B3>:A6934FG3>1HA:;<1C23=
?A47AI14=:1>9?94B3>:A693467A6>1;>181468A5A613>A69:1FJ714=815K967
3671>5A613>69:15A6AC671>18=<6981H;>18815A8A5A613>A69:1FL3=?A4A<83
7AI1A>9?7IA>91623B4=:1>9?94B3>:A6934>A4@94@B>3:033<1A4IA<=18637=@1
B<3A694@M;39464=:E1>8FN718159BB1>146?A61@3>9183B94B3>:A693467A6?A4E1
?346A941594A1)56)*8A>1?A<<158=E62;18FO3863B67169:1C23=?A4P=86;=6671
D9453B5A6A23=KA4694A1)56)*8CA456711)56)*8E17AI1894AKA267A698:386
A;;>3;>9A61B3>6715A6A96?346A948F
N71B3<<3K94@6AE<1873K86718=E62;183B5A6A67A6A1)56)*8?A4?346A94F
3+,8-7. Q./456786R*
ST78-1)56)*8 U494969A<9V15FWA<=198XB3>4=:1>9?IA>9AE<183>AV1>3M<14@6786>94@
YZZ[B3>86>94@IA>9AE<18F
\+]]1)56)*8 ^946146934A<<2?346A94843IA<955A6AF
2RR].)* _346A94819671>N>=13>GA<81F
2-8. _346A9489461@1>94671>A4@1X63`aaF
b*8.c.5 _346A9489461@1>94671>A4@1Md`Cefg63d`CefeF
h+55.*4- Mi``CddeC̀XdCfgaCjeeFagXg63i``CddeC̀XdCfgaCjeeFagXeF
kR*c _346A9489461@1>94671>A4@1M`CljeCjgdCfjg63`CljeCjgdCfjeF
36*c]. _346A948A894@<1M;>1?98934CB<3A694@M;39464=:E1>94671>A4@1M
dFjX`g`dmdg63MlFjXl`igmMjaB3>41@A69I1IA<=18nlFjXl`igmMja63
dFjX`g`dmdgB3>;38969I1IA<=18F
QR+,]. _346A948A53=E<1M;>1?98934CB<3A694@M;39464=:E1>94671>A4@1M
lFeiefidldjgf`d`mdXg63MjFijXfafjagjl`jemMd`jB3>41@A69I1
IA<=18njFijXfafjagjl`jemMd`j63lFeiefidldjgf`d`mdXgB3>
;38969I1IA<=18F
Q)8. _346A948A4=:E1>67A6>1;>181468A5A61E16K114oA4=A>2lClXX63
p1?1:E1>dlCiiiiF
q6T. r1;>181468A69:1E16K114XsXXsXXA45`dsaisai
3856*c _346A948AIA>9AE<1M<14@6786>94@67A6?A4E1=;63A;;>3H9:A61<2`
E9<<934?7A>A?61>894<14@67F
t,u.48 _346A948A43EP1?6F
S55R5 _346A948A41>>3>4=:E1>F
L3=?A4=81?34I1>8934B=4?6934863?34I1>65A6AB>3:3418=E62;163A43671>F^4
A5596934C671WA>N2;1B=4?6934>16=>4894B3>:A6934AE3=673K23=>5A6A98863>15
K96794A1)56)*8F
vwxwy 123456781)56),]./
zIA>9AE<198A?34I149146;<A?173<51>67A6>1B1>863A?3:;=61>:1:3>2<3?A6934
K71>123=?A4863>1;>3@>A:94B3>:A693467A6:A2?7A4@1K79<123=>8?>9;698
>=4494@FG3>1HA:;<1C23=:9@76?>1A61AIA>9AE<1?A<<15_<9?D_3=4663863>1671
4=:E1>3B69:18A=81>?<9?D8A43EP1?634A;A>69?=<A>J1E;A@1FJ71>1671
IA>9AE<198863>1594?3:;=61>:1:3>298=49:;3>6A46FJ7A6989:;3>6A469867A6
23=34<27AI163>1B1>63AIA>9AE<1E24A:163811968IA<=13>63?7A4@1968IA<=1F
^4W0{?>9;6CIA>9AE<18A>1A<KA283B341B=45A:146A<5A6A62;1CWA>9A46F
Q.4])56*c1)56),]./
L3=51?<A>1IA>9AE<181H;<9?96<29423=>8?>9;6=894@671p9:86A61:146C671|=E<9?
86A61:146CA45671|>9IA6186A61:146FG3>1HA:;<1s
p9:p1@>118GA7>147196
L3=51?<A>1:=<69;<1IA>9AE<18E281;A>A694@1A?7IA>9AE<14A:1K967A?3::AF
G3>1HA:;<1s ldd
4567897*+,-*+.-+/0 12345678599537:;<97=2>?9
@5ABCDCEF5G;BECH;CICH2CJE;236E2B29EKJKF236EKAF2D>29FDC3;2DK5AHFBH269L
4?C92FD59>;D;HCEEKC>55G6HCB92B;J;BCAF;K5AB5AEG32FF6;EE9?;ICH2CJE;
DC3;2D5D;5H35H;6ECB;F7BCAF2D>AD;M6;B9;GH;FAE9FN?;DK5AHFBH2692F
HADD2D>LO5H9?C9H;CF5D79?;P6925DQM6E2B29F9C9;3;D92FCIC2ECJE;95H;RA2H;
;M6E2B29G;BECHC925D5<CEEICH2CJE;FL
S-T7*+U/0967597V*0
WCH2CJE;DC3;F<5EE5N9?;F9CDGCHGHAE;F<5HDC32D>CDK9?2D>2DW8XBH269LY
ICH2CJE;DC3;Z
[ \AF9J;>2DN29?CDCE6?CJ;92BB?CHCB9;HL
[ ]CDD59B5D9C2DCD;3J;GG;G6;H25GL
[ \AF9D59;MB;;G^__B?CHCB9;HFL
[ \AF9J;AD2RA;2D9?;FB56;2DN?2B?292FG;BECH;GL
45V8/-*`,7a/97T/Vab-67-cd/0
4?;FB56;5<CICH2CJE;2FG;9;H32D;GJKN?;H;K5AG;BECH;29Le?;DK5AG;BECH;
CICH2CJE;N29?2DC6H5B;GAH;75DEKB5G;N29?2D9?C96H5B;GAH;BCDCBB;FF5H
B?CD>;9?;ICEA;5<9?C9ICH2CJE;Lf9?CFE5BCEFB56;CDG2FBCEE;GC6H5B;GAH;gE;I;E
ICH2CJE;Lf<K5AG;BECH;CICH2CJE;5A9F2G;C6H5B;GAH;7K5A3Ch;29I2F2JE;95CEE
9?;6H5B;GAH;F2DK5AHFBH269L4?2F2FCFBH269gE;I;EICH2CJE;7CDG29?CFFBH269gE;I;E
FB56;L
i5NE5D>CICH2CJE;;M2F9FG;<2D;F29FE2<;923;L4?;E2<;923;5<CFBH269gE;I;E
ICH2CJE;;M9;DGF<H539?;923;292FG;BECH;GAD92E9?;923;9?;FBH2692F<2D2F?;G
HADD2D>LY96H5B;GAH;E;I;E7CICH2CJE;;M2F9F5DEKCFE5D>CFK5ACH;2D9?;
6H5B;GAH;Le?;D9?;6H5B;GAH;;M29F79?;ICH2CJE;2FG;F9H5K;GL:5BCEICH2CJE;F
CH;2G;CECF9;365HCHKF95HC>;F6CB;N?;DC6H5B;GAH;2F;M;BA92D>L@5ABCD?CI;
E5BCEICH2CJE;F5<9?;FC3;DC3;2DF;I;HCEG2<<;H;D96H5B;GAH;FJ;BCAF;;CB?2F
H;B5>D2j;G5DEKJK9?;6H5B;GAH;2DN?2B?292FG;BECH;GL
k007+*7*+b-d./09Vb-67-cd/0
WCEA;FCH;CFF2>D;G95ICH2CJE;FBH;C92D>CD;M6H;FF25DCF<5EE5NFZ9?;ICH2CJE;2F
5D9?;E;<9F2G;5<9?;;M6H;FF25DCDG9?;ICEA;K5ANCD995CFF2>D959?;ICH2CJE;
2F5D9?;H2>?97N29?9?;lmnF2>DJ;2D>9?;CFF2>D3;D956;HC95HLO5H;MC36E;Z
8m^oo
45-d-6b-67-cd/0-*`k66-pb-67-cd/0
\5F95<9?;923;7K5AqAF9NCD995CFF2>DCF2D>E;ICEA;95CICH2CJE;K5A?CI;
G;BECH;GLYICH2CJE;B5D9C2D2D>CF2D>E;ICEA;2FCFBCECHICH2CJE;LY959?;H923;F7
292FB5DI;D2;D995CFF2>D35H;9?CD5D;H;EC9;GICEA;95CF2D>E;ICH2CJE;L4?;D
K5ABCDBH;C9;CICH2CJE;9?C9BCDB5D9C2DCF;H2;F5<ICEA;FL4?2F2FBCEE;GCDCHHCK
ICH2CJE;LYHHCKICH2CJE;FCDGFBCECHICH2CJE;FCH;G;BECH;G2D9?;FC3;NCK7;MB;69
9?C99?;G;BECHC925D5<CDCHHCKICH2CJE;AF;F6CH;D9?;F;Frs<5EE5N2D>9?;ICH2CJE;
DC3;LfD9?;<5EE5N2D>;MC36E;7CF2D>E;gG23;DF25DCHHCKB5D9C2D2D>11;E;3;D9F
2FG;BECH;GZ
123Yr1os
YE9?5A>?9?;DA3J;HF?5ND2D9?;6CH;D9?;F;F2F1o7CEECHHCKF2DW8XBH269CH;
B5AD9;G<H53JCF;o7F59?C99?2FCHHCKCB9ACEEKB5D9C2DF11;E;3;D9FLfDFAB?CD
CHHCK79?;DA3J;H5<CHHCK;E;3;D9F2FCENCKF9?;DA3J;HF?5ND2D6CH;D9?;F;F
123 6EAF5D;L4?2Fh2DG5<CHHCK2FBCEE;GC<2M;GgF2j;CHHCKL
)*+,--./01,2,2*3,45*62533738302-*6253,99,:+-.0/,0.013;.02*253,99,:< 12345678
=3/.00.0/,2>39*,01301.0/,2?@A1,2,4,0B3,--./0312*2533738302-*6,0
,99,:,-6*77*C-D
EF@GHIJK
EF?GHLIM
EFIGH?@@
<<<
EF?@GHJJ
N.8.7,97:A2531,2,4,0B39329.3O3169*8,0:3738302+-.0/,0.013;.02*253
P,92.4+7,9,99,:3738302:*+C,02<Q*93;,8P73D
<<<
N*83R,9.,B73HEFSG
<<<
E99,:-,930*27.8.2312*,-.0/731.830-.*0<)*+4,05,O3,-8,0:,-K@
1.830-.*0-A,725*+/58*-2P3*P734,00*24*8P9353018*9325,025933*96*+9
1.830-.*0-<T+72.P731.830-.*0-,931347,931B:-3P,9,2.0/,0,99,:U--.>3
0+8B39-.0253P,930253-3-C.254*88,-<V02536*77*C.0/3;,8P73A253T:W,B73
O,9.,B73.-,2C*X1.830-.*0,7,99,:4*0-.-2.0/*6K9*C-,01??4*7+80-D
Y.8T:W,B73FJA?@G
V0,2C*X1.830-.*0,7,99,:A2536.9-20+8B39.-,7C,:-2530+8B39*69*C-Z
253-34*010+8B39.-2530+8B39*64*7+80-<
)*+4,0,7-*1347,93,0,99,:C5*-3-.>345,0/3-C5.73:*+9-49.P2.-9+00.0/<
W5.-.-4,7731,1:0,8.4,99,:<W53,99,:.-.0.2.,77:1347,931C.25.0,P9*431+93
+-.0/3.2539253[6\ -2,238302*9+-.0/253]3Y.8-2,238302<^*C3O39A6*9,
1:0,8.4,99,:A0*-.>3*90+8B39*61.830-.*0-.-P7,431.0-.13253P,930253-3-<
Q*93;,8P73D
Y.8T:E99,:FG
]3Y.8E0*2539E99,:FG
W*+-3,1:0,8.4,99,:A:*+8+-2-+B-3_+3027:+-3`a[6\ 2*132398.03253
0+8B39*61.830-.*0-,01253-.>3*63,451.830-.*0<V02536*77*C.0/3;,8P73A
`a[6\ -32-253.0.2.,7-.>3*62531:0,8.4,99,:2*IJ<E-+B-3_+302`a[6\
-2,23830293-.>3-253,99,:2*L@AB+2+-3-253b5aca5dae3:C*912*P93-39O3253
4*02302-*6253,99,:,-25393-.>.0/2,e3-P7,43<
]3Y.8T:E99,:FIJG
<<<
]3Y.8f93-39O3T:E99,:FL@G
W5393.-0*7.8.22*2530+8B39*62.83-:*+4,093-.>3,1:0,8.4,99,:AB+2
:*+-5*+71e0*C25,2.6:*+8,e3,0,99,:-8,773925,0.2C,-A:*+7*-3253
1,2,.025337.8.0,2313738302-<
ghihj 12345678klmc8nm8c
E4*0-2,02.-,83,0.0/6+70,8325,22,e3-253P7,43*6,0+8B39*9-29.0/,01
03O3945,0/3-<R=N49.P2136.03-,0+8B39*6.029.0-.44*0-2,02-<)*+4,0/32
132,.731.06*98,2.*0,B*+2253-3.029.0-.44*0-2,02-69*8253R=N49.P2o,0/+,/3
]36393043<
?LJ
4567897*+,-*+.-+/0 16/-97*+12*09-*90
3456789:85;87<=8>?@8=64@;:9@:;?@ABC67?D:5;?@E:F8G4@;:;:9:8H8@:IJF?;
K8:;L456789:8;:7?@E47@5H87?664@;:9@:;M?:FH89@?@E>5K@9H8;9@=9KK4M;L45
:49;;?E@:F8HK?:879KN9K58;IO478P9HDK8Q
G4@;:RLC:7?@ESTJF?;?;HL;:7?@EIT
G4@;:RLUE8SVW
X4:8:F9::F8;:7?@EK?:879K?;8@6K4;8=?@Y54:9:?4@H97Z;[TT\I]54:9:?4@H97Z;
978:F8H4;:4^N?45;M9L:4=?>>878@:?9:8;:7?@EN9K58;>74H@5H87?6N9K58;I_9:8
K?:879K;9@=:?H8K?:879K;97878D78;8@:8=^L8@6K4;?@E:F8H?@@5H^87;?E@;[`\I
O478P9HDK8Q
G4@;:G5:4>>_9:8S`3<1<Wa`
345H9LM9@::49=4D:9@9H?@E;6F8H8:4=?>>878@:?9:864@;:9@:;>74HN97?9^K8;I
JF?;M?KK;9N8L45>74H:7L?@E:4789;;?E@64@;:9@:N9K58;MF?K8L457;67?D:?;
75@@?@EIO478P9HDK8bL45H?EF:M9@::45;89TN^T47T64@TD78>?P4@L457
64@;:9@:@9H8;b47L45H?EF:@9H8L45764@;:9@:;?@9KK69D?:9KK8::87;I
_?>>878@:?9:?@E64@;:9@:;>74HN97?9^K8;8K?H?@9:8;64@>5;?4@9;L45=8N8K4D
H47864HDK8P;67?D:;I
cdede fg456789h8/6-9260
ABC67?D:F9;9>5KK79@E84>4D879:47;b?@6K5=?@E97?:FH8:?64D879:47;b64HD97?;4@
4D879:47;b64@69:8@9:?4@4D879:47;b9@=K4E?69K4D879:47;I
h8/6-926i6/5/j/*5/
kF8@;8N879K4D879:?4@;46657?@9@8PD78;;?4@b896FD97:?;8N9K59:8=9@=
78;4KN8=?@9D78=8:87H?@8=47=8769KK8=4D879:47D7868=8@68I34569@5;8
D978@:F8;8;:44N877?=8:F847=874>D7868=8@689@=>4768;4H8D97:;4>9@
8PD78;;?4@:4^88N9K59:8=^8>4784:F87;IlD879:?4@;M?:F?@D978@:F8;8;978
9KM9L;D87>47H8=^8>478:F4;845:;?=8Ik?:F?@D978@:F8;8;bF4M8N87b;:9@=97=
4D879:47D7868=8@68?;H9?@:9?@8=I
kF8@8PD78;;?4@;64@:9?@4D879:47;>74HH478:F9@4@869:8E47Lb97?:FH8:?6
4D879:47;9788N9K59:8=>?7;:b64HD97?;4@4D879:47;9788N9K59:8=@8P:b9@=K4E?69K
4D879:47;9788N9K59:8=K9;:IG4HD97?;4@4D879:47;9KKF9N88Y59KD7868=8@68m:F9:
?;b:F8L9788N9K59:8=?@:F8K8>:<:4<7?EF:47=87?@MF?6F:F8L9DD897IU7?:FH8:?6
9@=K4E?69K4D879:47;9788N9K59:8=?@:F8>4KK4M?@E47=874>D7868=8@68I
ndo679pq/97528/6-9260 rd12q8-6702*28/6-9260 sd,2+75-t28/6-9260
u/05678972* 4vqw2tu/05678972* 4vqw2tu/05678972* 4vqw2t
xPD4@8@:?9:?4@ y xY59K?:L S z4E?69K@8E9:?4@ X4:
{@97L@8E9:?4@ < |@8Y59K?:L }~ z4 E?69K
64@5@6:?4@ U@=
R5K:?DK?69:?4@ z8;;:F9@ } z4 E?69K
=?;5@6:?4@ l7
_?N?;?4@ 789:87:F9@ ~ z4E?69K8P6K5;?4@ 47
|@:8E87=?N?;?4@ z8;;:F9@478Y59K:4 }S z4 E?69K
8Y5?N9K8@68 xYN
R4=5K5; R4= 7 89:87:F9@478Y59K ~S z4E?69K
97?:FH8:?6 :4 ?HDK?69:?4@ |HD
U==?:?4@
l^86:8Y5?N9K8@68 |;
C5^:796:?4@ <
C:7?@E
64@69:8@9:?4@
123
)*+,--./0,102013.41*+.5+6,1.6-0-7+411.608*19:*+;<=710570/,10.;,;>>020-0.; 12345678
.//=61.8+1*+60;,;+?56+--0.;@+,/*.5+6,10.;0-+2,7=,1+>,-01.//=6-46.<7+41
1.608*19A0B+C0-+@C*+;,>>010.;,;>-=D16,/10.;.//=61.8+1*+60;,;+?56+--0.;@
+,/*.5+6,10.;0-+2,7=,1+>0;.6>+6.4,55+,6,;/+46.<7+411.608*19
)*+-160;8/.;/,1+;,10.;EFG.5+6,1.60-;.1,;,601*<+10/.5+6,1.6@D=10;
56+/+>+;/+014,77-,41+6,77,601*<+10/.5+6,1.6-,;>D+4.6+,77/.<5,60-.;
.5+6,1.6-9)*+HI.5+6,1.60-,;.DJ+/16+4+6+;/+/.<5,60-.;.5+6,1.69K1>.+-;.1
/.<5,6+.DJ+/1-.61*+062,7=+-L01/*+/B-.;731.>+1+6<0;+041C..DJ+/1
6+4+6+;/+-6+4+61.1*+-,<+.DJ+/19
MNM O3HPQRSPTHUHSPVW3UVUXYXPU3
Z.=/,;/.;16.71*+47.C.43.=6-/6051C01*/.;>010.;,7-1,1+<+;1-,;>7..50;8
-1,1+<+;1-9[-0;8/.;>010.;,7-1,1+<+;1-@3.=/,;C601+\]^/6051/.>+1*,1<,B+-
>+/0-0.;-,;>6+5+,1-,/10.;-9)*+4.77.C0;8/.;>010.;,7-1,1+<+;1-,6+,2,07,D7+
0;\]^/6051_
K4999)*+;999̀7-+-1,1+<+;1
^+7+/1a,-+-1,1+<+;1
Ybc6deTf46I6gdIOI6deHhNNNUifdNNNXjIf
)*+HhNNNUifdNNNXjIf-1,1+<+;10-=-+>1.+2,7=,1+C*+1*+6,/.;>010.;0-U5kf.6
lbjIf,;>@>+5+;>0;8.;1*+6+-=71@1.-5+/043.;+.6<.6+-1,1+<+;1-1.+?+/=1+9
[-=,7731*+/.;>010.;0-,;+?56+--0.;1*,1=-+-,/.<5,60-.;.5+6,1.61./.<5,6+
.;+2,7=+.62,60,D7+C01*,;.1*+69m.60;4.6<,10.;,D.=1/.<5,60-.;.5+6,1.6-@
-++a.<5,60-.;n5+6,1.6-9HhNNNUifdNNNXjIf-1,1+<+;1-/,;D+;+-1+>1.,-<,;3
7+2+7-,-3.=;++>9
okdd6de38b8fpfd8I6hbRgdq686gd6IU5kf
).6=;.;73.;+-1,1+<+;1C*+;,/.;>010.;0-U5kf@=-+1*+-0;87+r70;+-3;1,?4.6
1*+HhNNNUifdNNNXjIf-1,1+<+;19)*+4.77.C0;8+?,<57+-*.C-1*+-0;87+r70;+
-3;1,?9s.10/+1*,11*0-+?,<57+.<01-1*+XjIfB+3C.6>9
^=Dm0?t,1+EG
t0<<3t,1+
<3t,1+uvwxyzx{|v
K4<3t,1+}s.C)*+;<3t,1+us.C
`;>^=D
).6=;<.6+1*,;.;+70;+.4/.>+@3.=<=-1=-+1*+<=71057+r70;+E.6D7./BG
-3;1,?9)*0--3;1,?0;/7=>+-1*+XdqHh-1,1+<+;1@,--*.C;0;1*+4.77.C0;8
+?,<57+_
^=D~7+61[-+6E2,7=+G
K42,7=+u)*+;
~7+61A,D+79m.6+a.7.6u2D+>
~7+61A,D+79m.;19].7>u)6=+
~7+61A,D+79m.;19K1,70/u)6=+
`;>K4
`;>^=D
yz
4567897*+,-*+.-+/0 1.**7*+2/69-7*49-9/3/*9074-25*67975*7076./-*61.**7*+899/60
74-25*67975*70:-;0/
<=>?@A>BC@AD4EEE79/*EEEF;0/BG@GCHCAGG=ICJKACGL=MN=?OB=JCPC?>G@MNC
BG@GCHCAGBQ=ACMN=?OG=R>AKJGSC?=AIKGK=AKB76./TGSC=GSCRMN=?OG=R>AKJ
GSC?=AIKGK=AKB:-;0/U
V>MWNCRGXBCRYZ@N>C[
\JZ@N>C]^_SCA
WNCRG̀@MCNUa=RCb=N=R]ZMcCI
WNCRG̀@MCNUa=AGUd=NI]_R>C
WNCRG̀@MCNUa=AGU\G@NK?]_R>C
eNBC
WNCRG̀@MCNUa=RC?=N=R]ZMdN@?O
WNCRG̀@MCNUa=AGUd=NI]a@NBC
WNCRG̀@MCNUa=AGU\G@NK?]a@NBC
eAI\J
eAIV>M
_SCJ=NN=LKAfJN=L?S@RGCPgN@KABGSCJN=L=JGSC@M=ZCCP@HgNCU
VG@RG
<CB \BZ@N>C]^ h=
WNCRG̀@MCNUa=RCb=N=R]ZMcCI WNCRG̀@MCNUa=RCb=N=R]ZMdN@?O
WNCRG̀@MCNUa=AGUd=NI]_R>C WNCRG̀@MCNUa=AGUd=NI]a@NBC
WNCRG̀@MCNUa=AGU\G@NK?]_R>C WNCRG̀@MCNUa=AGU\G@NK?]a@NBC
VG=g
i/5767*+j/9k//*4/l/6-;m;9/6*-97l/0
WZ@RK@GK=A=AGSCD4EEE79/*EEEF;0/BG@GCHCAG@NN=LBn=>G=?S==BCJR=H
BCZCR@N@NGCRA@GKZCBUWIIKAfF;0/D4?N@>BCBCPg@AIBGSCJ>A?GK=A@NKGn=JGSC
D4EEE79/*EEEF;0/BG@GCHCAGB=GS@Gn=>?@A?=AGR=NgR=fR@HJN=LM@BCI=A
IKJJCRCAGg=BBKMKNKGKCBUa=RCP@HgNCQ
V>McCg=RGo@N>CYZ@N>C[
\JZ@N>C]^_SCA
pBfd=PZ@N>C
eNBC\JZ@N>C]1_SCA
pBfd=PZ@N>C
eNBC\JZ@N>C]qGSCA
123 pBfM=PZ@N>C
)*+, 12345678
-+./01234*5,05607849.,:2
)9;<7
=05>494;;4+?49@ABCDEF>*45+,+4+@059,,;60G80HI;,4*6,8946IH,>J0I>,+K
)16,9+IH,5+,076J,ABCDEF>*45+,+076,9/,>0?,+>5?/,8+0?,KL/,66,8M4@60
>J00+,/,6M,,9+,H,84*4*6,8946IH,+I+6J,3DBD48NOCD+646,?,96K
POQ6RSTD46C6URCV68W3DBD48NOCD
XJ,3DBD48NOCD+685>658,G80HI;,+494*6,8946IH,60EFYYYZWDRYYYABCDEF708
+,*,>6IH,*@,1,>56I9.09,/*0>[07+646,?,96+780?4?09.?5*6IG*,/*0>[+07
+646,?,96+KL3DBD48NOCD+646,?,96G80HI;,+>4G4/I*I6@+I?I*48606J,
EFYYYZWDRYYYABCDC8O8D\DR8]/56I6?4[,+>0;,?08,,77I>I,9649;8,4;4/*,K
L3DBD48NOCD+685>658,M08[+MI6J4+I9.*,6,+6,1G8,++I096J46I+,H4*546,;09>,]
466J,60G076J,+685>658,KXJ,8,+5*6076J,,1G8,++I09I+6J,9>0?G48,;MI6J6J,
H4*5,+708,4>JNOCDI96J,+685>658,K<76J,8,I+4?46>J]6J,/*0>[07+646,?,96+
4++0>I46,;MI6J6J46NOCDI+,1,>56,;^
_,*,>6`4+,a0>5?,96Kb08?cK̀48;X@G,KdG6I09+e_,*,>6,;<9;,1fKX,16
`4+,2-4+6,8`48;2
aI+G*4@-`g0.0
34*I;46,-`L>>0596
`4+,23I+42
aI+G*4@3I+4g0.0
34*I;46,3I+4L>>0596
`4+,2L?,8I>49)1G8,++2
aI+G*4@L-)h`dg0.0
34*I;46,L-)h`dL>>0596
`4+,)*+,
aI+G*4@i9[90M9<?4.,
j80?G6L.4I9
)9;_,*,>6
k06I>,6J466J,3DBD48NOCD+685>658,,H4*546,+49,1G8,++I0909>,466J,60G076J,
+685>658,K<9>09684+6]6J,EFYYYZWDRYYYABCDEF+685>658,>49,H4*546,4;I77,8,96
,1G8,++I09708,4>JABCDEF+646,?,96K=05>498,G*4>,49EFYYYZWDRYYYABCDEF
+685>658,MI6J43DBD48NOCD+685>658,09*@I7,4>JABCDEF+646,?,96,H4*546,+6J,
+4?,,1G8,++I09K
lYm noopEqrZstoursNoTA
uC6RSnUU7C8UtD7DO8NUvD
g00GI9.4**0M+@05608594.805G07+646,?,96+8,G,46,;*@K_0?,*00G+8,G,46
+646,?,96+596I*4>09;I6I09I+wOBCDx06J,8+8,G,46+646,?,96+596I*4>09;I6I09I+
Z5yDKXJ,8,48,4*+0*00G+6J468,G,46+646,?,96+4+G,>I7I>95?/,8076I?,+K
XJ,70**0MI9.*00GI9.+646,?,96+48,4H4I*4/*,I93z_>8IG6^
a0KKKg00G^g00G+MJI*,08596I*4>09;I6I09I+Z5yDK
{JI*,KKK{,9;^g00G+MJI*,4>09;I6I09I+Z5yDK
b08KKKk,16^i+,+4>0596,860859+646,?,96+4+G,>I7I,;95?/,8076I?,+K
b08)4>JKKKk,16^~,G,46+4.805G07+646,?,96+708,4>JI6,?I94>0**,>6I0908 c|}
4567897*+,-*+.-+/0 123415161789:272;;2<=
>07*+?@,@@80
A9B327BC1?@DDD,@@8C82816178C89;B72E593F9:C82816178C27G7H1:G7G81
7B6E1;9:8G61C=I41C82816178C2;1;1J1281H1G841;K4G512397HG8G97GCL6./9;
B78G52397HG8G97E13961CL6./=
M/8/-97*+49-9/N/*90OP7Q/-R@*S797@*70L6./
TC1841OP7Q/F1<K9;H893413F2397HG8G97G72?@DDD,@@8C82816178=A9B327
3413F841397HG8G97E1:9;1<9B1781;841599JU2CC49K7G7841:9559KG7V
W4FXG;C8Y4G511Z26J51[\9;<9B3273413FG82:81;841599J42C;B728512C89731
U2CC49K7G7841W4F]2C8Y4G511Z26J51[=^7841W4FXG;C8Y4G51J;931HB;1\G:
6<_B6GCC1889`G7C812H9:a3\841C82816178CG7CGH1841599JKG5571b1;;B7=^7
841W4F]2C8Y4G51J;931HB;1\841C82816178CG7CGH1841599J;B7975<9731E132BC1
841397HG8G97GC25;12H<c-Q0/=
dBEW4FXG;C8Y4G51U[
eG639B781;\6<_B6
39B781;f3
6<_B6fa3
e9Y4G516<_B6g13
6<_B6f6<_B6h1
39B781;f39B781;i1
]99J
jCVk9ZlI41599J62H1lm39B781;ml;1J18G8G97C=l
n7HdBE
dBEW4F]2C8Y4G51U[
eG639B781;\6<_B6
39B781;f3
6<_B6f`
e9
6<_B6f6<_B6h1
39B781;f39B781;i1
]99JY4G516<_B6g13
jCVk9ZlI41599J62H1lm39B781;ml;1J18G8G97C=l
n7HdBE
I412E9b1:GVB;1C49KC8K91Z26J5139H1:;2V6178CG55BC8;28G7V841H9o
599J27HH9K4G51o 599JC82816178C=^7841:G;C8599J841397HG8G97GC
3413F1HE1:9;11Z13B8G7V84139H1EB8G7841C1397H599J841C82816178C2;1
:G;C81Z13B81H973127H8417841397HG8G97GC3413F1H=^7841:G;C8599J841
G7C8;B38G97CVGb17G7841599JpCE9H<KG5571b1;E11Z13B81HG:841397HG8G97
:2G5CG7G8G255<EB8G7841C1397H599J841C1G7C8;B38G97CK9B5HE11Z13B81H28
512C89731=I41:9559KG7V:59K342;8C49KC8411Z13B8G97J5279:841C1397H
J;931HB;1G=1=W413F]2C8Y4G51q
123
)*+,* 12345678
2<>*>+?>@.34053*1A+<=:15<*.,*18
9.:,.+/.34053;47+<=2<:,.+/.:15<*.,;47
2/34053678 -./
01
9>/B?+4*C.D+?5.1E:15<*.,
)*1B
F6GH5IJKLMNOI4H86PQRSTQPU8VI3I4PQWXPP76QF6GH5IJKY
ZI7IT86QGT38T8I[IQ8\Q86ST]PQW686PQ2I4P[I^_5HI
-15:+<5/.*C.\Q86S`.4a1,=><*a1a+4/*1:C.:`+:1<=>*>1<><+
bPKKKXPP7/*+*.3.<*c-15:+<:C.:`*C.:1<=>*>1<;.E1,.415.<*.,*C.?11B
d+//C1a<><*C.E1??1a><efC`g>,/*h<*>?.i+3B?.jk1,415:+<:C.:`>*+E*.,
*C.?11BC+/,5<+*?.+/*1<:.d+//C1a<><*C.fC`l+/*h<*>?.i+3B?.jcm/
?1<e+/*C.:1<=>*>1<>/FTS^Ik*C.?11B:1<*><5./c
)5;fC`g>,/*h<*>?dj
9>3:15<*.,k34053
:15<*.,n8
34053no8
91h<*>?34053n78
34053n34053p7
:15<*.,n:15<*.,q7
l11B
r/es1ituC.?11B3+=.tv:15<*.,vt,.B.*>*>1</ct
w<=)5;
)5;fC`l+/*h<*>?dj
9>3:15<*.,k34053
:15<*.,n8
34053n7
91
34053n34053q7
:15<*.,n:15<*.,q7
l11Bh<*>?34053n78
r/es1ituC.?11B3+=.tv:15<*.,vt,.B.*>*>1</ct
w<=)5;
NO686QGTbPKKKXPP738T8I[IQ8U5P[ xQ^6WI8VIXPP7
-15:+<.i>*+bPKKKXPP7;45/><e*C.NO68bP/*+*.3.<*cs.:+5/.4155/5+??4
a+<**1.i>*1<?4><:.,*+></>*5+*>1</k/5:C+/*1+D1>=+<.<=?.//?11Bk415 7y7
4567897*+,-*+.-+/0 1234564178279:79;<18=87>7?8@?827A6./18=87>7?8B53CD3E=?
FGHHHAI/*HHH9J0/18=87>7?8KLE827C3?6@8@3?@1M-J0/N827533OP4?1=1414=5K
Q827PR@17NS34OP3B=B5S6@6?38?776=533O@?827E@P18O5=C7K
L?827E3553R@?T7U=>O57N>SV4>@1=11@T?76=W=54782=8CP7=871=?7?65711533OK
X27FGHHHAI/*HHH9J0/18=87>7?8C27CD1E3P82@1C3?6@8@3?NOP7W7?8@?T8277?65711
P7O78@8@3?K
Y4BZU@8ZU=>O57[\
]@>C34?87PN>SV4>
C34?87P^_
>SV4>^`
]3a?8@5>SV4>^1_
>SV4>^>SV4>b1
C34?87P^C34?87Pc1
LE>SV4>d1_X27?ZU@8]3
e33O
f1Tg3UhX27533O>=67hiC34?87PihP7O78@8@3?1Kh
Z?6Y4B
j07*+kI7J/HHHk/*l
X27kI7J/HHHk/*l18=87>7?8@1OP3W@676@?mgYCP@O8E3P82317R23=P7
E=>@5@=PR@82@8141=T7Kn3R7W7PNB7C=4173E8275=CD3EE57U@B@5@8S@?
kI7J/HHHk/*lN@8@1P7C3>>7?67682=8S34417;<HHH,<<8@?187=6K
j07*+M<6HHHo/:9
p34C=?417M<6HHHo/:918=87>7?8183P4?=B53CD3E18=87>7?81=1O7C@E@C
?4>B7P3E8@>71Kq3P533O1N417=C34?87PW=P@=B57R2317W=547@1@?CP7=1763P
67CP7=176R@827=C2P7O78@8@3?3E827533OK
q3P7U=>O57N827E3553R@?TOP3C764P7C=4171=OP3C764P7C=5576fSrP3C83
7U7C487s_8@>71KX27M<618=87>7?81O7C@E@71827C34?87PW=P@=B57U=?6@81
18=P8=?67?6W=5471KX27o/:918=87>7?8@?CP7>7?81827C34?87PW=P@=B57BS1K
Y4B]3fSrP3Cs_X@>71[\
]@>U
q3PU^1X3s_
fSrP3C
V7U8
Z?6Y4B
a1@?T82749/8D7SR3P6NS34C=?@?CP7=173P67CP7=17827C34?87PW=P@=B57BS827
W=547S341O7C@ESKL?827E3553R@?T7U=>O57N827C34?87PW=P@=B57t@1@?CP7>7?876
BS37=C28@>7827533OP7O7=81Ku27?827533O@1E@?@1276N838=5@182714>3E3N2N
vNwN=?61_K
Y4BXR31X38=5[\
]@>tN838=5
q3Pt^3X31_Y87O3
838=5^838=5ct
V7U8
123 f1Tg3UhX27838=5@1hi838=5
)*+,-. 12345678
/0+123145167120-*61384394.:1;<0--514*1=4698138>784:-1?@0-A-565B129C<
4*1*+84:-1674695:155674*6715643684:-1?D*671C0::0E9*=1F4AB:1;67120-*613
84394.:1A<G-A95+1231451+.<H142769A1671:00B31B1465?I71*671:00B95
C9*9571+;6064:956715-A0CJK;JL;JH;JM;N;K;L;4*+H?
,-.G1E/064:OP
Q9AA<G-A;6064:
R03A<G-ASJK/0H,61BTH
6064:S6064:UA<G-A
G1F6
V5=W0FX/716064:95XY6064:
)*+,-.
@0-24*1F964*<Z[5\\\]>^856461A1*6.1C03167120-*61331427159651*+84:-1.<
-59*=671_^68Z[556461A1*6?W124-51<0--5-4::<E4*6601F960*:<9*213649*
596-4690*5;5-2745E71*4*13303022-35;<0-570-:+-51671_^68Z[556461A1*69*
671`5a>56461A1*6.:02b0C4*cd\\\`e>f\\\_gh>56461A1*6?DC67120*+9690*95
Zigh>;671:00B3-*545-5-4:?j6713E951<0-B30.4.:<+9+*06*11+60-51671
:00B9*671C9356B:421?
kh6flZ[5_i4e\\\]>^8
mZ[5_i4e\\\]>^8:00B9559A9:43604Z[5\\\]>^8:00B?D*5614+0C31B1469*=671
56461A1*6545B129C91+*-A.130C69A15;4Z[5_i4e\\\]>^8:00B31B14654=30-B0C
56461A1*65C031427961A9*420::12690*0C0.n126503C0314271:1A1*60C4*4334<?
/7959515B1294::<71:BC-:9C<0-+0*06b*0E70EA4*<1:1A1*65431B3151*69*4
20::12690*?
D*671C0::0E9*=o/Vp20+11F4AB:1;67120*61*650C4q6486[fi5r0.n126431
-51+60B:42161F69*518134:61F6.0F15s }~/79520+11F4AB:1+015
Gj/9::-563461671R03)427G1F6:00B?
DC67120-*60C+24*.1+1613A9*1+;671*
0*1*11+*06.1-59*=6795:00B4*+671
to/Vpu R03G1F6:00BE9::+0?y:1451=9814
to)mQut/D/p)uR03A54*+):1A1*65tv/D/p)utvo)mQu .166131F4AB:1?m64A9*9A-A;E39616795
1F4AB:160A4b1-510C671R03
t,wxDy/pmGz{mz)SX|W,239B6Xu )427G1F6:00B?
t
TT
,-.2A+w74*=1j*w:92b
Q9A+ w31461484394.:1
,16+Sw31461j.n126OX,239B69*=?Q92690*43<XP
+?m++XMX;Xm671*5X m++50A1b1<54*+961A5
+?m++XJX;XW1:=34+1X
+?m++XHX;Xw4930X
4S+?961A5
R039SM/0+?w0-*6
+02-A1*6?C3AR03A?):1A1*65O9P?|4:-1S4O9P
G1F6
)*+,-.
TTu
tv,wxDy/u
tWjQ@u
JL
34567869*+,9*-,*./ 01234256
07859 3:92;<=>?7@>?<60A6
0BCADE4FAG;<4GHE<60A6
0BCADE4FAG;<4GHE<60A6
0BCADE4FAG;<4GHE<60A6
0BCADE4FAG;<IDEE@C<3:92;<J?K1LMCNG<O:PQ2;<1RSJT
UG>G<60A6
0V78596
0V1234256
0VI8WX6
0VU49P6
YZ.4[\]-5^5]*5.//_
1` a>SEGJ@KGE@JLGJTbLGELG>MCD?cG>SdGeGCMCKA>S?G@>@KKMCKA>S?G`
f` a>SEGJ@KGSCOIgJ>SAEE@NGCG>MEGELG7Sc@CCMJJSdG>SGd`4LSdN@Gd1h1hfhih
jhkhl MCKd@@C`7>@?ELGELS>KCD?cG>@CbM>KdhELGCELCD?cG>SdELGdD?
@=ELGmCn1oELMCKELGmCnfoELCD?cG>d`
i` a>SEGJ@KGE@=SCKELG=MJE@>SMR@=MCFNSeGCCD?cG>`4LSdSdELGA>@KDJE@=MRR
CD?cG>d=>@?fE@ELMECD?cG>`
pqr st3Yuv^w^uxYyz{uy3
BCOIgJ>SAEELG>GM>GEb@TSCKd@=A>@JGKD>Gd|ELGgDcA>@JGKD>GMCKELG
7DCJES@CA>@JGKD>G`
3-}^5]4.~-5./
:3-}A>@JGKD>GSdMdG>SGd@=OIgJ>SAEdEMEG?GCEdhGCJR@dGKcF3-}MCKy9~
3-}dEMEG?GCEdhELMEAG>=@>?MJES@CdcDEK@CE>GED>CMeMRDG`:3-}A>@JGKD>G
JMCEMTGM>ND?GCEdmJ@CdEMCEdheM>SMcRGdh@>GHA>GddS@CdELMEM>GAMddGKcFM
JMRRSCNA>@JGKD>Go`B=M3-}A>@JGKD>GLMdC@M>ND?GCEdhSEd3-}dEMEG?GCE?DdE
SCJRDKGMCG?AEFdGE@=AM>GCELGdGdmo`
7SND>Gj1̀dL@bdM3-}A>@JGKD>GDdGdEb@SCE>SCdSJh@>cDSRESChOIgJ>SAE
=DCJES@Cdh9dNI@HMCKBCADEI@HhE@A>@?AEMDdG>=@>d@?GSC=@>?MES@C`BEELGC
KSdARMFdELG>GdDREd@=MJMRJDRMES@CcMdGK@CELMESC=@>?MES@C`4LGJMRJDRMES@CSd
AG>=@>?GKSCM-9486]9A>@JGKD>GJ>GMEGKDdSCNOIgJ>SAÈ4LG-9486]9
A>@JGKD>GSddL@bCM=EG>ELG=@RR@bSCNKSdJDddS@C`
gDc1@CeG>E4G?Amo
EG?A;BCADEI@Hm<RGMdGGCEG>ELGEG?AG>MED>GSCKGN>GGd7`<h1o
9dNI@H<4LGEG?AG>MED>GSd<1GRdSDdmEG?Ao<KGN>GGd1`<
2CKgDc
-9486]9^5]4.~-5./
:-9486]9A>@JGKD>GSdMdG>SGd@=OIgJ>SAEdEMEG?GCEdGCJR@dGKcFELG
-9486]9MCKy9~-9486]9dEMEG?GCEd`:-9486]9A>@JGKD>GSddS?SRM>E@M
3-}A>@JGKD>GhcDEJMCMRd@>GED>CMeMRDG`:-9486]9A>@JGKD>GJMCEMTG
M>ND?GCEdmJ@CdEMCEdheM>SMcRGdh@>GHA>GddS@CdELMEM>GAMddGKE@SEcFMJMRRSCN
A>@JGKD>Go`B=M-9486]9A>@JGKD>GLMdC@M>ND?GCEdhSEd-9486]9dEMEG?GCE
122 ?DdESCJRDKGMCG?AEFdGE@=AM>GCELGdGdmo`:-9486]9>GED>CdMeMRDGcF
)**+,-+-,).)/0123+2*-)41+-3-1354351*2)2141-2*3627185391:051;<71 12345678
51205-2=8136)>?@486A@+*)/B)=*)1C56C@8;
D-27163//3B+-,1E)48/1F271G1/*+0*60-92+3-9)/90/)21*:1,511*G1/*+0*6534
:1,511*H)751-71+2;I71-27160-92+3-+*9)//1:6534271G3-.152<1483?J
85391:051F).)5+)K/193-2)+-+-,271)5,041-2.)/01+*8)**1:2327160-92+3-;<71
51*0/2362719)/90/)2+3-+*51205-1:232719)//+-,85391:051)-::+*8/)=1:+-)
41**),1K3E;
L0KG3-.152<148MN
2148OD-802P3EMQR/1)*11-215271214815)2051+-:1,511*H;QFSN
T*,P3EQ<71214815)2051+*QUG1/*+0*M2148NUQ:1,511*G;Q
V-:L0K
H0-92+3-G1/*+0*M6W1,511*N
G1/*+0*OM6W1,511*XYZN[\]^
V-:H0-92+3-
_`886@abC8C6@8AC@cA?8Ade5A4`c?5`f
V)978+19136:)2)+*8)**1:+-23=30585391:051*0*+-,)-)5,041-2;g5,041-2*
*15.1)*8/)9173/:15*635271:)2)=30B)-2238)**+-23=30585391:051;h309)-
-)41=305)5,041-2*B+27)-=.)/+:.)5+)K/1-)41;I71-=30951)21)85391:051
0*+-,1+27152713?J*2)2141-235271>?@486A@*2)2141-2F8)51-271*1*40*2K1
+-9/0:1:)6215271-)413627185391:051;g-=)5,041-2*)518/)91:+-*+:1271*1
8)51-271*1*F*18)5)21:K=9344)*;H351E)48/1F+-27163//3B+-,1E)48/1F
6W1,511*+*)8/)9173/:15635271.)/01K1+-,8)**1:+-23271G1/*+0*60-92+3-635
93-.15*+3-i
H0-92+3-G1/*+0*M6W1,511*N
G1/*+0*OM6W1,511*XYZN[\]^
V-:H0-92+3-
<3,12:)2)30236)85391:051F=3040*20*1)>?@486A@;j1414K15F)>?@486A@
85391:0519)-51205-).)/01k)3?J85391:0519)--32;
lf6@a3?JC@c>?@486A@e5A4`c?5`f6@mAc`
g>?@486A@+-=30593:140*2)/B)=*K10*1:3-2715+,72*+:136).)5+)K/1
)**+,-41-235+-)-1E851**+3-;H351E)48/1i
<148OG1/*+0*M6W1,511*N
35
T*,P3EQ<71G1/*+0*214815)2051+*QUG1/*+0*M6W1,511*NUQ:1,511*;Q
<39)//)3?J85391:0516534)-3271585391:051F=309)-n0*22=81271-)4136
27185391:051)/3-,B+27.)/01*635)-=51o0+51:)5,041-2*F1)97*18)5)21:K=)
9344);<71G)//*2)2141-2+*-3251o0+51:FK02+6=30:30*1+2F=3040*21-9/3*1
)-=)5,041-2*+-8)51-271*1*;
<7163//3B+-,1E)48/1*73B*2B39)//*23271T=R53985391:051;p-10*1*271
mCqq*2)2141-2+-27193:1k27132715:31*-32;P327:31E)92/=271*)4127+-,;
G)//T=R539M6+5*2)5,F*193-:)5,N
T=R5396+5*2)5,F*193-:)5,
r32+9127)22718)51-271*1*)5134+221:+-2719)//B71-271mCqq*2)2141-2+*-s2
0*1:;
St\
4567897*+,-*+.-+/0
123 4546789:6;<8=>6;=4?=:8;=4
@ABCDEFADGHDICADJKLHJMEEHJICADJINKIOKPNHQRPAMSLCIHFABHMJCDETCFLAJAUI
VCJMKQWKJCFXFLCRICDEYBCICADZ@ABCDEFADGHDICADJFKDCDFQMBHINHUAQQASCDE[
\KOCDEFADGHDICADJUALA]^HFIJ_GKLCK]QHJ_KDBRLAFHBMLHJ
@AOOHDICDEFADGHDICADJ
`HaIUALOKIICDEKDBCDBHDICDEEMCBHQCDHJ
`NHOKCDLHKJADUALMJCDEKFADJCJIHDIJHIAUFABCDEFADGHDICADJCJIAJIKDBKLBCbH
INHJILMFIMLHKDBFABCDEJIPQHAUKJFLCRIALJHIAUJFLCRIJJAINKIPAMKDBAINHLJ
FKDHKJCQPLHKBKDBMDBHLJIKDBINHFABHZcJCDEEAABFABCDEFADGHDICADJLHJMQIJCD
RLHFCJH_LHKBK]QH_KDBMDKO]CEMAMJJAMLFHFABHINKICJFADJCJIHDISCINAINHL
QKDEMKEHFADGHDICADJKDBCJKJCDIMCICGHKJRAJJC]QHZ
6d*09-*9=-e7*+6d*f/*97d*0
YKLQCHLGHLJCADJAUVWXFLCRINKBDAOHFNKDCJOUALFLHKICDEMJHLgBHUCDHB
FADJIKDIJZ@ADJIKDIJ_CUMJHB_SHLHCORQHOHDIHBKJGKLCK]QHJKDBBCJICDEMCJNHB
ULAOAINHLGKLCK]QHJMJCDEKQQMRRHLFKJHFNKLKFIHLJZTMQICRQHSALBJSHLH
JHRKLKIHBMJCDEINHMDBHLJFALHhijFNKLKFIHLZkALHaKORQH[
cXYlimnX`iTop
\Yqimn\Y
qNCQHINCJCJJICQQKDKFFHRIK]QHSKPIACBHDICUPPAMLFADJIKDIJ_PAMOKPSKDIIA
MJHKDKQIHLDKICGHDKOCDEJFNHOH_DASINKIPAMFKDFLHKIHILMHFADJIKDIJMJCDE
INH@ADJIJIKIHOHDIZ`NCJFADGHDICADMJHJKOCaHBgFKJHUALOKICDSNCFNFADJIKDI
DKOHJNKGHKrFADrRLHUCaZkALHaKORQH[
@ADsAMLtSD@ADJIKDI
4-67-uv/=-e7*+6d*f/*97d*0
kALRMLRAJHJAULHKBK]CQCIPKDBFADJCJIHDFP_MJHINHUAQQASCDERLHUCaHJSCIN
BHJFLCRICGHDKOHJUALGKLCK]QHJCDPAMLVWXFLCRIFABHZ
4.u9w8/ 96/x7y ?y-e8v/
WAAQHKD WQD WQDkAMDB
WPIH WPI WPIzMKDICIP
{KIH {IO {IOXIKLI
{AM]QH {]Q {]Q|LCFH
YLLAL YLL YLLtLBHL\MO
nDIHEHL nDI nDI|LCFH
mADE mDE mDE{CJIKDFH
t]^HFI t]^ t]^@MLLHDI
XCDEQH XDE XDEoGHLKEH
XILCDE XIL XIL\KOH
4-67-uv/45d8/
VKLCK]QHJJNAMQBKQSKPJ]HBHUCDHBSCININHJOKQQHJIJFARHRAJJC]QHZVWXFLCRI
GKLCK]QHJFKDNKGHINHUAQQASCDEJFARHZ
45d8/ }~/6/4-67-uv/70 4707u7v79w
</5v-6/
|LAFHBMLHgQHGHQ YGHDI_kMDFICAD_ALXM] VCJC]QHCDINHRLAFHBMLH
RLAFHBMLH CDSNCFNCICJBHFQKLHB
XFLCRIgQHGHQ Yo{JHFICADAUKD VCJC]QHCDHGHLP
`TmRKEH_AMIJCBHKDP RLAFHBMLHCDINHJFLCRI
RLAFHBMLH
123
1)56)*+,34-7,.5,/60,1 12345678
23345678369:;5<=3>3<?<:38@:ABCD:<EF:6G;BFC:8<HD64ICJ?6EE:5:G86B8:8@:
34<7:<EAB56BFC:3K2<G:LC:88:534<7:75:E6M75:4:?6G;8@:8J7:75:E6M75<A6?:3
8@63>=68@<D8DG?DCJ6G45:B36G;8@:369:<EAB56BFC:GBN:3K
34-7, .5,/60 O0)P7+,
Q5<4:?D5:LC:A:C R<G: SFCQ564:
T45678LC:A:C T TSFCQ564:
U,1456786V,1)56)*+,)WX.5-4,XY5,Z)P,1
[@:F<?J<EBAB56BFC:<575<4:?D5:GBN:3@<DC?D3:N6M:?4B3:BG?3@<DC?F:B3
4<N7C:8:B3G:4:33B5J8<?:3456F:6837D57<3:K\GB??686<G>75<4:?D5:GBN:3
3@<DC?F:;6G=68@BA:5F>3D4@B3\G68RBN:255BJ<5]C<3:S6BC<;K
^<5E5:HD:G8CJD3:?<5C<G;8:5N3>38BG?B5?BFF5:A6B86<G3B5:5:4<NN:G?:?8<
@:C7I::7GBN:C:G;8@5:B3<GBFC:K\G;:G:5BC>AB56BFC:GBN:3;5:B8:58@BG_`
4@B5B48:534BGF:?6EE64DC88<5:B?Ka@:GD36G;BFF5:A6B86<G3>NBI:3D5:8@:JB5:
4<G3638:G88@5<D;@<D88@::G865:345678K^<5:MBN7C:>5BG?<NCJ3=684@6G;F:8=::G
]G8BG?]<DG8=68@6GB345678<53:8<E3456783NBJC:B?8<4<GED36<GK
b*c,48Z)P6Wde-WV,W86-W1
[@:E<CC<=6G;8BFC:C63835:4<NN:G?:?4<GA:G86<G3E<5<Ff:483J<DNBJ
:G4<DG8:5=@6C:75<;5BNN6G;ghT45678K
e-X,e-PP,W86Wde-WV,W86-W1
2CC75<4:?D5:33@<DC?F:;6G=68@BF56:E4<NN:G8?:3456F6G;=@B88@:J?<K[@63
?:3456786<G3@<DC?G<8?:3456F:8@:6N7C:N:G8B86<G?:8B6C3i@<=68?<:368j
F:4BD3:8@:3:<E8:G4@BG;:<A:586N:>5:3DC86G;6GDGG:4:33B5J4<NN:G8
NB6G8:GBG4:=<5I><5=<53:>:55<G:<D34<NN:G83K[@:4<?:683:CEBG?BGJ
G:4:33B5J6GC6G:4<NN:G83?:3456F:8@:6N7C:N:G8B86<GK
25;DN:G837B33:?8<B75<4:?D5:3@<DC?F:?:3456F:?=@:G8@:657D57<3:63G<8
<FA6<D3BG?=@:G8@:75<4:?D5::M7:4838@:B5;DN:G838<F:6GB37:46E645BG;:K
k:8D5GABCD:3E<5EDG486<G3BG?AB56BFC:38@B8B5:4@BG;:?FJB75<4:?D5:>
:37:46BCCJ8@5<D;@5:E:5:G4:B5;DN:G83>3@<DC?BC3<F:?:3456F:?B88@:F:;6GG6G;
<E:B4@75<4:?D5:K
Q5<4:?D5:@:B?:54<NN:G833@<DC?6G4CD?:8@:E<CC<=6G;3:486<G@:B?6G;3K^<5
:MBN7C:3>3::8@:E<CC<=6G;8BFC:8@B8:M7CB6G38@:3:486<G@:B?6G;BG?8@:
4<NN:G84<G8:G838<F:6G3:58:?=@6C:?:A:C<76G;4<?:K
3,486-Wl,)X6Wd e-PP,W8e-W8,W81
QD57<3: a@B88@:75<4:?D5:?<:3iG<8@<=jK
233DN786<G3 m638<EBGJ:M8:5GBCAB56BFC:>4<G85<C><5<8@:5:C:N:G8=@<3:
38B8:BEE:4838@6375<4:?D5:K
nEE:483 m638<E8@:75<4:?D5:o3:EE:48<G:B4@:M8:5GBCAB56BFC:>4<G85<C>
<5<8@:5:C:N:G8K
\G7D83 nM7CBGB86<G<E:B4@B5;DN:G88@B863G<8<FA6<D3KnB4@
B5;DN:G83@<DC?F:<GB3:7B5B8:C6G:=68@6GC6G:4<NN:G83K
k:8D5GgBCD:3 nM7CBGB86<G<E8@:ABCD:5:8D5G:?K
p,P,P*,58q,r-++-s6Wd.-6W81t
nA:5J6N7<58BG8AB56BFC:?:4CB5B86<G3@<DC?6G4CD?:BG6GC6G:4<NN:G8?:3456F6G;
8@:D3:<E8@:AB56BFC:F:6G;?:4CB5:?K
gB56BFC:3>4<G85<C3>BG?75<4:?D5:33@<DC?F:GBN:?4C:B5CJ:G<D;@8@B86GC6G:
4<NN:G83B5:<GCJG::?:?E<54<N7C:M6N7C:N:G8B86<G?:8B6C3K
uvw
4567897*+,-*+.-+/0 122345467887869:;9<=>?=7@2A;9<>39<BC78?B<C4D89E4=E74F23D2C4>?=754>234
>?=7@2A48<G4=D278695H4?2>A@=9?4C<=4>ADB69=723G>AC7DB9659I4>AD8C9234= 3
>;>24GC4@48C48?74>JK9G427G4>D@74?49:@>4<C9?9C4C4>?=75786234DB69=723G ;
?D85434B@:<BJ =
4
LM6N-997*+OM.6PMQ/ @
4
K?=448>@D?4>39<BC54?98>4=E4CD>G<?3D>@9>>75B4AF37B4>27BBDBB9F786?9C4 D
2
:9=GD2278629=4:B4?2B967?>2=<?2<=4D8C84>2786JR4=4D=4D:4F@97824=>S 2
T K2D8CD=C84>24C5B9?U>>39<BC5478C4824C:9<=>@D?4>J 3
7
T V349E4=E74F?9GG482>9:D@=9?4C<=4>39<BC5478C4824C984>@D?4J >
T V3437634>2B4E4B>2D24G482>23D2:9BB9F2349E4=E74F?9GG482>>39<BC54
78C4824C:9<=>@D?4>AF7234D?384>24C5B9?U78C4824CD8DCC72798DB:9<=
<
>@D?4>JW9=4IDG@B4A>44234?9C478W76<=4XJ1Y54B9FS 4
>
2
Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ 7
Z\<=@9>4S]9?D24>234:7=>29??<==48?49:D>@4?7:74C<>4= 9
8
Z 78234^>4=]7>2D==D;J
Z_8@<2>S>2=^>4=]7>2̀aS234B7>29:<>4=>2954>4D=?34CJ
Z >2=VD=642^>4=S2348DG49:234<>4=29>4D=?3:9=J V
3
Zb42<=8>SV3478C4I9:234:7=>29??<==48?49:234>2=VD=642^>4= 4
Z 78234>2=^>4=]7>2D==D;J
Z _:2342D=642<>4=7>892:9<8CA=42<=8c1J G
4
Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ 8
<
W<8?2798782W78C^>4=`>2=^>4=]7>2̀aA>2=VD=642^>4=a C
d7G7 Z]99@?9<824=J =
d7G5B8W9<8C ZVD=642:9<8C:BD6 7
E
782W78C^>4=ec1
4
7ef Z_8727DB7g4B99@?9<824=
d9h37B47ie^59<8C`>2=^>4=]7>2aD8Cj925B8W9<8C 3
_:>2=^>4=]7>2̀7ae>2=VD=642^>4=V348 7
5B8W9<8CeV=<4 ZK42:BD629V=<4 >
782W78C^>4=e7ZK42=42<=8EDB<429B99@?9<82 7
k8C_: >
7e7l1 Z_8?=4G482B99@?9<824= :
]99@ 7
k8CW<8?2798 8
4
7
:
Pm/5nOM.6o6M+6/00p 2
3
1J h=724DG48<cC=7E48@=96=DG78qrK?=7@229?34?UF34234=D8<G54=7> 4
4E48A9CCD8CF34234=727>@=7G4J >
2
sJ h=724D@=9?4C<=429?34?UF34234=D>2=7867>D@DB78C=9G4J <
C
4
tuv wxPyxz{|}Oz~Pyx{~4P}xoy 8
2
>
V34d7?2798D=;95H4?2>29=4>CD2DD>U4;A724G@D7=>J1d7?2798D=;95H4?27>234 3
4<7EDB4829:D\kb]D>>9?7D27E4D==D;J_24G>AF37?3?D854D8;:9=G9:CD2DAD=4 D
>29=4C78234D==D;JkD?3724G7>D>>9?7D24CF723D<87<4U4;JV34U4;7><>4C29 E
4
=42=74E4D878C7E7C<DB724GD8C7><><DBB;D8782464=9=D>2=786A5<2?D854D8;23786
4I?4@2D8D==D;J C
V34:9BB9F786?9C47BB<>2=D24>39F29?=4D24D8C<>4Dd7?2798D=;95H4?2S 9
8
4
123
)*+,-. 12345678
)*/01.)+2+-/.3456789:/;<6<9=7)>+2+-/.)>*/01. deffghij?`4Y:94==`<)>*/01.Q<
)?@A2B+-0CDE0D/FGHI?J5KL=G. 8a=<5=`<)>?@A2B+.k
)MNN
1K6: O@5<8=<8?J5KL=-<P<;P85K8Q;<
?<=:F@5<8=<RQS<J=TG?J5KL=K9UV1KJ=K4985WGX
?YQJ6:0::ZR9@;KJ[
:V0::G\G]G0685G O0::746<[<W789:K=<67
:V0::G^G]GIY9=WG
:V0::G_G]G@`8689G
8F:VK=<67
345KF\+4:V@4Y9=
:4JY6<9=Va563456V/;<6<9=7TKXVH8;Y<F8TKX
C<b=
/9:?YQ
?YQJ6:/bK7=Z49@;KJ[
:V0::G8G]G0685G O0::746<[<W789:K=<67V
:V0::GQG]GIY9=WG
:V0::GJG]G@`8689G
2a:V/bK7=7TGJGX+`<9
67UQ4bG@[<W<bK7=7VG
/;7<
67UQ4bG@[<W:4<794=<bK7=VG
/9:2a
/9:?YQ
?YQJ6:c<WZ49@;KJ[
:V0::G8G]G0685G O0::746<[<W789:K=<67V
:V0::GQG]GIY9=WG
:V0::GJG]G@`8689G
:Vc<WTGJGXFG:G O?<=[<Wa45GJG=4G:GV
/9:3Y9J=K49 deffghijl`<5<K7=`<3Y9J=K49
Q<UK99K9Uk+`<J4:<;K7=K9U77`4Y;:Q<
=<7=<:4Y=Y7K9UJ4LW89:L87=<V
/9:?YQ
?YQJ6:c<W7Z49@;KJ[
:V0::G8G]G0685G O0::746<[<W789:K=<67V
:V0::GQG]GIY9=WG
:V0::GJG]G@`8689G
8F:V[<W7
345KF\+4:V@4Y9=
:4JY6<9=Va563456V/;<6<9=7TKXVH8;Y<F8TKX
C<b=
/9:?YQ
?YQJ6:A<64P<Z49@;KJ[
:V0::G8G]G0685G O0::746<[<W789:K=<67V
:V0::GQG]GIY9=WG
:V0::GJG]G@`8689G
:VA<64P<TGQGX
8F:V[<W7
345KF\+4:V@4Y9=
:4JY6<9=Va563456V/;<6<9=7TKXVH8;Y<F8TKX
C<b=
^mn
4567897*+,-*+.-+/0 123456
4567839:8;<=>?:3>@:29AB7C
3D9:8;<=>?:3>EF6G>HI9:8;<=>
3DJ33K<KLKJ8<=K MJ33N:8>C>ON<23BI>8ND
3DJ33K6KLKP52IOK
3DJ33K7KLK9Q<8<2K
3DJ33KPKLKP<AIB8:=>K MJ338>IQ:3R<BAN:2IQBNAB2>6>7<5N>IQ>
MA>II>=6<A=><3O>HBNINB2IQ>SB7IB:2<=OD
123456
TTU
VW49XYZGU
VP[S\U
V91]G1XU
V^[X? ]J?1EKR=8^:=8KUV;U
VY2;5IGO;>EKG>HIKUV;U
VY2;5IGO;>EKG>HIKUV;U
VY2;5IGO;>EKG>HIKUV;U
VY2;5IGO;>EKP5II:2K]J?1EK783J33K_J`a1EKJ33KU
VY2;5IGO;>EKP5II:2K]J?1EK7831HBNIK_J`a1EK1HBNIKU
VY2;5IGO;>EKP5II:2K]J?1EK783b>ONK_J`a1EKb>ONKU
VY2;5IGO;>EKP5II:2K]J?1EK783X>8:F>K_J`a1EKX>8:F>KUV;U
VY2;5IGO;>EKP5II:2K]J?1EK7839:8;<=>?:3>K_J`a1EK9:8;<=>
?:3>KU
VY2;5IGO;>EKP5II:2K]J?1EK783b>OK_J`a1EKb>OKU
VW^[X?U
VW91]G1XU
VWP[S\U
VWcG?`U
d7+.6/efghijk/l07*+9m/n7597j*-6opqr/59
efsfg t/9mjk0huv456789n7597j*-6opqr/59
t/9mjk n/0567897j*
J33?>IQ:3 J33N<C>OLBI>8;<B=D
1HBNIN?>IQ:3 Y23B7<I>NBR<N;>7BRB>3C>O>HBNIND
YI>8N?>IQ:3 X>I5=2N<2<==<O7:2I<B2B2w<AABI>8NB2<SB7IB:2<=O:6x>7ID
b>ON?>IQ:3 X>I5=2N<2<==<O7:2I<B2B2w<AAC>ONB2<SB7IB:2<=O:6x>7ID
X>8:F>?>IQ:3 X>8:F>N<C>OLBI>8;<B=DZ=:;>=IB>Ny_P47=B;ISB7IB:2<=O[6x>7I
123
)**+,8-.* 12345678
3/0812 3456789:;;<6=>?86@
ABC,48 DE6FG@63HGI?78?3FGJ=3456789K6LM?J6;
N,/ DE6<6=GOO37?G86;P?8E8E6?86@46?FQG;;6;9K6LM?J6;9
R8,S DE6?86@GOO37?G86;P?8E8E6<6=46?FQG;;6;9K6LM?J6;9
T,S15UV :F6JJ3J377MJO?H8E6<6=GWJ6G;=6X?O8O9
K6H6J83Y?QMJ6Z9[\H3J8E66XG@]W69^F8E67@;:;;_3F`W?7<]J376;MJ68E?O@68E3;
?OMO6;83G;;8E6a6=OGF;^86@O838E6I?78?3FGJ=3456789
b26V8V+,8-.*
K68MJFODJM6?HGO]67?H?6;<6=6X?O8O?F8E6I?78?3FGJ=345678>YGWO6?H?8;36OF389
3/0812 3456789cX?O8Od<6=e
ABC,48 DE6FG@63HGI?78?3FGJ=3456789K6LM?J6;9
N,/ DE6<6=fGWM646?FQO6GJ7E6;H3J?F8E6I?78?3FGJ=3456789K6LM?J6;9
K6H6J83Y?QMJ6Z9[\H3J8E66XG@]W69^F8E67@;cX?O8O_3F`W?7<]J376;MJ68E?O
@68E3;?OMO6;837E67<8E66X?O86F763HGF=a6=fGWM6?F8E6I?78?3FGJ=3456789
R8,SV+,8-.*
K68MJFOGFGJJG=73F8G?F?FQGWW8E6?86@O?FGI?78?3FGJ=3456789
3/0812 3456789^86@O
ABC,48 DE6FG@63HGI?78?3FGJ=3456789K6LM?J6;9
K6H6J83Y?QMJ6Z9[\H3J8E66XG@]W673;69^F8E67@;:;;_3F`W?7<]J376;MJ68E?O
@68E3;?OMO6;83J68J?6f68E6?86@O?F8E6GJJG=fGJ?G4W69
N,/V+,8-.*
K68MJFOGFGJJG=73F8G?F?FQGWW6X?O8?FQ<6=O?FGI?78?3FGJ=3456789
3/0812 3456789a6=O
ABC,48 DE6FG@63HGI?78?3FGJ=3456789K6LM?J6;9
K6H6J83Y?QMJ6Z9[\H3J6XG@]W673;69^F8E67@;a6=O_3F`W?7<]J376;MJ68E?O
@68E3;?OMO6;83J68J?6f68E6a6=O?F8E6GJJG=fGJ?G4W69
T,S.g,+,8-.*
K6@3f6OG<6=>?86@]G?JHJ3@GI?78?3FGJ=3456789:F6JJ3J377MJO?H8E6O]67?H?6;
<6=>?86@]G?J;36OF386X?O89
3/0812 3456789K6@3f6d<6=e
ABC,48 DE6FG@63HGI?78?3FGJ=3456789K6LM?J6;
N,/ DE6a6=GOO37?G86;P?8E8E6<6=h?86@]G?J=3MPGF883J6@3f6HJ3@8E6
I?78?3FGJ=3456789K6LM?J6;
K6H6J83Y?QMJ6Z9[\H3J6XG@]W673;69^F8E67@;K6@3f6_3F`W?7<]J376;MJ68E?O
@68E3;?OMO6;83J6@3f68E6?86@HJ3@8E6;?78?3FGJ=3456789
ijkjl 12345678m6486.015/ABC,48n5.7,586,V
oMO8W?<6F3J@GW345678O8E6I?78?3FGJ=345678GWO3EGO76J8G?F]J3]6J8?6O9DE6O6
]J3]6J8?6O7GF46O6883GF=fGW?;fGWM6GF;7GF46J68J?6f6;GOGF;PE6FJ6LM?J6;9
pZp
4567897*+,-*+.-+/0 1628/693 4/05678972*
56789:;<6=;>:68;:?@ AB;C6789:DE6F76=;G6:E?:DFHI;@EJ
56KF?>:68;:?@ AB;FK7L;:6GD?;7EDF9MDC?D6F9:@6LN;C?J
O?;7>:68;:?@ PFD?;7G6:9I;@J
Q;@>:68;:?@ PI;@R@F?9STUVRC:D8?MDC?D6F9:@WLN;C?
RC:D8?DFHJMDC?D6F9:@
X2Y8-6/Z2[/1628/693
R;?E9F=:;?K:FE?B;C6789:DE6F76=;G6:C6789:DFHE?:DFHI;@EDF9MDC?D6F9:@
6LN;C?J
R@F?9ST6LN;C?J56789:;<6=;\]^_`abcde
AB;56789:;<6=;8:68;:?@B9E?B;G6ff6gDFH89:?ET
1-69 4/05678972*
WLN;C? h;iKD:;=JPfg9@E?B;F97;6G9MDC?D6F9:@6LN;C?J
56789:; W8?D6F9fJOG8:6jD=;=k^_`abcdDE9j9fK;:;8:;E;F?DFH?B;C6789:DE6F76=;KE;=
L@GKFC?D6FEEKCB9ER?:5678J
AB;^_`abcd9:HK7;F?B9E?B;G6ff6gDFHE;??DFHET
X2*09-*9 l-m./ 4/05678972*
ULVDF9:@56789:; n >;:G6:79LDF9:@C6789:DE6FJ
jLA;S?56789:; 1 >;:G6:79?;S?K9fC6789:DE6FJ
h;79:IET
U9fK;EH:;9?;:?B9F3C9FL;KE;=?6:;G;:?6C6789:DE6FEKEDFHE8;CDGDCo6C9f;OME
po5OMqJPF;::6:6CCK:EDG@6K?:@?6CB9FH;?B;C6789:DE6F76=;6G9MDC?D6F9:@
6LN;C??B9?9f:;9=@C6F?9DFE=9?9J
AB;56789:;<6=;8:68;:?@KE;E?B;E97;j9fK;E9E?B;^_`abcd9:HK7;F?G6:?B;
R?:5678GKFC?D6FJ
h;G;:?6rDHK:;2J3nG6:;S978f;C6=;JOF?B;C7=56789:;<6=;s6F5fDCI8:6C;=K:;
?BDE8:68;:?@DEKE;=?6E;??B;C6789:;76=;?6A;S?kE6?B9?F6?g6?;S?I;@E?B9?9:;
?B;E97;C9FL;9==;=J
X2.*91628/693
h;?K:FE?B;FK7L;:6GD?;7EDF9C6ff;C?D6F6:MDC?D6F9:@6LN;C?JABDE8:68;:?@C9F
6Ff@L;:;9=9F=C9FF6?L;E;?=D:;C?f@J
43*9-t 6LN;C?J56KF?
uvw/59 AB;F97;6G9MDC?D6F9:@6LN;C?Jh;iKD:;=J
h;G;:?6rDHK:;2J3nG6:;S978f;C6=;JOF?B;C7=P==s6F5fDCI8:6C;=K:;?BDE
8:68;:?@DEKE;=?6:;?:D;j;?B;FK7L;:6GD?;7EE?6:;=DF?B;MDC?D6F9:@6LN;C?J
x9/Y 1628/693
R;?E6::;?K:FE9Fyzd`G6:9E8;CDGD;={d|DF9MDC?D6F9:@6LN;C?Jr6:C6ff;C?D6FEk
:;?K:FE9Fyzd`L9E;=6F?B;E8;CDGD;={d|JABDE8:68;:?@C9FL;:;?:D;j;=6:E;?J
R@F?9ST6LN;C?JO?;7pI;@q\]F;gD?;7e
AB;O?;78:68;:?@B9E?B;G6ff6gDFH89:?ET
123
)*58 +,-456786./ 12345678
012345 63789:3;<=>?@AB5C3D@E30F@40>>34590D0:G94590D@:A012345<
H3A 63789:3;<IJK@BB049@53;?95C5C3LMJN139DO:35:93P3;0:@;;3;<
D3?953E QR 590D@><SB3;F0:G94590D@:A0123450D>ATD0@RR>94@590DF0:40>>34590DB<UF
R:0P9;3;VWJXLMJN9B5C3D3?P@>83@BB049@53;?95C5C3BR349F93;YJK<
63E@:HBZ
UFYJK9BD05F08D;?C3D4C@DO9DO@DLMJNV@D3?YJK9B4:3@53;?95C5C3BR349F93;
WJXLMJN<UFYJK9BD05F08D;?C3D@553ER59DO50:358:D@D3[9B59DO953EV@D3?YJK9B
4:3@53;@D;95B40::3BR0D;9DO953E9B>3F53ER5A<
\,])5.7,58]
^35B@H3A9D@G94590D@:A012345<UFH3A9BD05F08D;?C3D4C@DO9DO@H3AV@D3::0:
?9>>0448:<
^AD5@[Z_`aJbM<c3AdYJKefWJXYJK
gC3\,]R:0R3:5AC@B5C3F0>>0?9DOR@:5BZ
)*58 +,-456786./
012345 63789:3;<=>?@AB5C3D@E30F@+6486./*5]012345<
c3A 63789:3;<IJKP@>83139DO4C@DO3;<
D3?H3A 63789:3;<h3?P@>835C@5:3R>@43B5C3BR349F93;YJK<
63F3:50i9O8:3j<klF0:3[@ER>340;3<UD5C34E;c3Am0Dn>94HR:043;8:35C9B
R:0R3:5A9B8B3;504C@DO35C3H3AP@>83F:0Eonp50oGp<
qrst uvvw2xuyz
gC3{|^4:9R5}::Q1234540D5@9DB9DF0:E@590D@1085:8D~59E33::0:B<gC3R:0R3:593B
0F5C3}::012345@:3B351A5C3O3D3:@50:0F@D3::0:~{9B8@>|@B94V@D=850E@590D
012345V0:5C3{|^4:9R5R:0O:@EE3:<
gC3;3F@8>5R:0R3:5A0F5C3}::0123459Bh8E13:<}::<h8E13:40D5@9DB@D9D53O3:@D;
4@D138B3;1A@D=850E@590D01234550:358:D@D^nQG}<
C3D@:8D~59E33::0:0448:BV5C3R:0R3:593B0F5C3}::012345@:3F9>>3;?95C
9DF0:E@590D5C@58D9783>A9;3D59F93B5C33::0:@D;9DF0:E@590D5C@54@D138B3;50
C@D;>395<g0O3D3:@53@:8D~59E33::0:9DA08:40;3V8B35C3{|^4:9R5}::Q12345
6@9B335C0;<gC3}::012345BR:0R3:593B@:3:3B35503:00:3:0~>3DO5CB5:9DOBde
@F53:@DQD}::0:63B8E3h3[5B5@53E3D5<gC3{|^4:9R5}::Q12345n>3@:35C0;4@D
138B3;503[R>9495>A:3B35}::012345<gC3}::0123459B@D9D5:9DB94012345?95CO>01@>
B40R3~5C3:39BD0D33;504:3@53@D9DB5@D430F959DA08:40;3<
n0DB9;3:5C3F0>>0?9DO3[@ER>3V?C94C;9BR>@ABB0E30F5C3R0BB91>33::0:B5C@54@D
13:@9B3;3[R>9495>A50O3D3:@53:8D59E33::0:B<
g
}=G
gUg}UhQSgUg}
^n6Ug=hS=}f{|^4:9R5
~~
^814E;^81E95mQDn>94H
j
4567897*+,-*+.-+/0 1234454467896:6;<
=>?6@A<5766BC<?6876462<646DE2F<?B2GH
ICJK62JD5@8962<HC5491H<;<LG6HMEN86OPQOR?62
S7GT5;UV58987<62<64F584EG6W6C54678W9B<<B2GHU
3;B<X8W
32DIC
=>?6@A<5766BC<?6876462<646DE289W64H
ICJ:5<JI7:8964B@JD5@8962<HC5491H<;<LG6HMEN86OOOR?62
S7GT5;UV58987<62<64E289W64C54F584EG6HU
3;B<X8W
32DIC
=>?6@A<5766BC<?6EG662<646DB7MENBDH
ICJD5@8962<HC5491H<;<LG6HMEN86YPQO14JD5@8962<HC5491H<;<LG6HMEN86Z1QQO
R?62
S7GT5;UR?6EG6F5862<646DB7B2MENBDHU
3;B<X8W
32DIC
=[E<EN55A75AEF7578W9B<B<H
S7GT5;UR?E2A7C54\45MBDB2GF584EG6HU
D5@8962<HC5491H78W9B<
32DX8W
X8W@9D<F\6]12>NB@A
1234454^67896:6;<
C54BP1<5_2
344H@N6E4
344H^EB76B
S7GT5;344HD67@4B\<B52`Ua34454289W64aU`B
:6;<
32DX8W
aaZ
YbX>^IcRZ
Ybd3L[Z
YT1[V WG>5N54PUeCCCC@@UR6;<PUeQQQQffUZ
Yd1Z34454dE2DNB2GE2DMENBDE<B527Ybd1Z
YTZYcZR?B76;E9\N6D69527<4E<67MENBDE<B52<6@?2Bg867E2D34454?E2DNB2GB2
hTX@4B\<HYbcZYiTZ
123 YTZcN6E7662<64<?6EG6W6<j6621E2D1QQH1<?64jB76kE2644549677EG6j58NDW6
)*+,-./012*3243156-.,78936876601:;<=> 12345678
;?@AB CDBEFG)0H9IG>
;JD=KE>
;JA>
;JL>E16.HM07H+5.N;<JL>
;JL>;OCPQJJRPEFGJ.S6GCDBEFG6S6D5.GTOUEFGVG>;<JL>
;<JA>
;JA>
;JL>;OCPQJJRPEFG=76601GCDBEFG29/T78936GWDKQEFGT78936G>;<JL>
;JL>;<JL>
;JL>;OCPQJJRPEFG=76601GCDBEFG29/6MX.GWDKQEFG JMX.@)EHH0H,
G>;<JL>
;JL>;<JL>
;<JA>
;<JD=KE>
;<?@AB>
;<=@LR>
;<YJBK>
Z6[\5]^_`ab55c5defgh6f[6f12345678
^_ij_i k]8lcgma12345678b55nop]48
qh]e5k]8lcg r*.+H,+**XH0X.H6M,.66315,:
se6m]k]8lcg t.1.H+6.+H71u639..HH0H:
v 12345678b55nop]48qh]e5k]8lcg
3wf8ex a EHH:r*.+H
r*.+H,+**XH0X.H6M,.66315,0)6-.EHH08y.26:Q,.r*.+H60.SX*3236*M2*.+H6-.
EHH08y.26+)6.H+1.HH0H-+,8..1-+1/*./:J-3,3,1.2.,,+HMz)0H.S+9X*.z{-.1
M077,./.).HH./.HH0H-+1/*315{36-@1EHH0HA.,79.C.S6:W=T2H3X62+**,6-.
r*.+H9.6-0/+7609+632+**M{-.1.|.H+1M0)6-.)0**0{315,6+6.9.16,+H.
.S.276./N
}@1EHH0HA.,79.C.S6
}ES36T78
}ES36?7126301
v 12345678b55nop]48se6m]k]8lcg
3wf8exa EHH:A+3,.~1798.Hz,07H2.z/.,2H3X6301z-.*X)3*.z-.*X2016.S6
J-.@1EHH0HA.,79.C.S6,6+6.9.16z+*,02+**./+1.HH0H-+1/*.Hz3,+
XH02./7H.u*.|.*,6+6.9.16:O601*MH.9+31,31.)).26{36-316-.XH02./7H.6-+6
2016+31,6-.01.HH0H/.2*+H+6301:J-.W=T2H3X6316.HXH.6.Hz*34.9+1M
!""
4567897*+,-*+.-+/0 123452467892:76723699;9<;=:4=69>211:3416?61753<:1:<@:3A72B9;>6A596<=2<
=23A167<=6699;9CD@3;36:7@;53A8<=67>9:B<=21<723A<=65769:7B96763<6AE:<=
<=6699;996751<7FG<=6:3<69B96<69CH=6I2:76J6<=;A:7576A@;9463692<:34
953K<:J6699;97CL11<=62945J63<7;@<=:7J6<=;A296;B<:;3216M>6B<N5JF69C
O;E6?698:@G;5576I2:768E:<=;5<7B6>:@G:347;J62945J63<7823A<=6
B9;B69<G76<<:347;@<=6P99;FQ6><>;3<2:3?21567<=2<=2?63;<F663>16296A8
<=;76?21567F6>;J6<=6?21567@;9G;59699;9CR=6376<<:34<=635JF69
B9;B69<G<;G;59;E3699;9>;A6:323L5<;J2<:;3;FQ6><8G;52AAG;59699;9
>;A635JF69<;<=6>;37<23<?FSFQ6><P99;9CT;96M2JB168<;463692<6<=6699;9
35JF691U2U8277:43?FSFQ6><P99;9V1U2U<;<=635JF69B9;B69<GC
W6+.X/*90 Y/0567897Z*
[.X\/6 L];34:3<646975F<GB6<=2<:A63<:@:67<=632<596;@<=6699;9C^_`>9:B<
699;97aF;<=^_`>9:B<KA6@:36A23A5769KA6@:36A699;97b296:3<=692346UK
322c2C
4Z.65/ L7<9:346MB9677:;332J:34<=6;FQ6><;92BB1:>2<:;3<=2<;9:4:3211G
463692<6A<=6699;9CR=6376<<:34<=:7B9;B69<G@;923L5<;J2<:;3;FQ6><8
576<=6@;9JB9;Q6><C>1277CD@3;<=:34:77B6>:@:6A8<=6B9;492JJ2<:>Dd;@
<=6>59963<^_`>9:B<B9;Q6><:7576AC
Y/0567897Z* L7<9:346MB9677:;3A67>9:F:34<=6699;9CD@537B6>:@:6A8<=6?2156:335JF69
:76M2J:36ACD@:<>23F6J2BB6A<;2^_`>9:B<953K<:J6699;9>;A6827<9:34
B9;?:A6AFG^_`>9:B<:7576A27<=6A67>9:B<:;3CD@<=696:73;^_`>9:B<
699;9>;9967B;3A:34<;35JF698246369:>699;9J677246:7576AC
e/f8g7f/ H=6@511Gh521:@:6AB2<=<;<=6O61B@:16:3E=:>==61B;3<=:7699;9>23F6
@;53ACD@537B6>:@:6A8^_`>9:B<5767<=6@511Gh521:@:6AA9:?68B2<=823A@:16
32J6;@<=6^_`>9:B<O61B@:16C
e/f85Z*9/i9 H=6>;3<6M<Dd:A63<:@G:342<;B:>E:<=:3=61B@:16<=2<B9;?:A67=61B@;9<=6
699;9CD@;J:<<6A8<=6^_`>9:B<O61B@:16>;3<6M<Dd@;9<=6699;9
>;9967B;3A:34<;<=635JF69B9;B69<G:7576A8:@:<6M:7<7
jklmkno6Z8/697/0pqr456789s66t\u/59
o6Z8/697/0 Y/0567897Z*
Y/0567897Z*o6Z8/69v H=6A67>9:B<:?67<9:34277;>:2<6AE:<=23699;9C
e/f8wZ*9/i9o6Z8/69v L>;3<6M<Dd@;92<;B:>:32R:3A;E7=61B@:16C
e/f8x7f/o6Z8/69v L@511Gh521:@:6AB2<=<;2R:3A;E7=61B@:16C
[.X\/6o6Z8/69v L35J69:>?2156:A63<:@G:3423699;9C
4Z.65/o6Z8/69v H=632J6;@<=6;FQ6><;92BB1:>2<:;3<=2<;9:4:3211G
463692<6A<=6699;9C
y Y/0567897Z*o6Z8/69v
I6<5937;976<72A67>9:B<:?67<9:34277;>:2<6AE:<=23699;9CH=6d67>9:B<:;3
B9;B69<G>;37:7<7;@27=;9<A67>9:B<:;3;@<=6699;9Cz76<=:7B9;B69<G<;2169<
<=65769<;23699;9<=2<G;5>233;<;9A;3;<E23<<;=23A16CR=63463692<:342
5769KA6@:36A699;98277:4327=;9<A67>9:B<:;3;@G;59699;9<;<=:7B9;B69<GCD@
d67>9:B<:;3:73;<@:116A:3823A<=6?2156;@<=6^_`>9:B<P99SFQ6><N5JF69
{9;B69<G>;9967B;3A7<;2^_`>9:B<953K<:J6699;98<=6A67>9:B<:?67<9:34
277;>:2<6AE:<=<=6699;9:796<5936AC
4v*9-i P99Cd67>9:B<:;3|}~
~~
W6+.X/*9p L7<9:346MB9677:;3>;3<2:3:342A67>9:B<:;3;@<=6699;9C
4967*+/i86/007Z*
y e/f8wZ*9/i9o6Z8/69v
123 `6<7;996<59372>;3<6M<Dd@;92<;B:>:32O61BT:16CD@2O61B@:16:77B6>:@:6A
)*+,-./012)3+422567-1+8-93:)9-;2<3-2+=>+,-8-93?<*+-@+32<3-2+=)ABA-C 12345678
+<DB+<ED+)1D99=C)A39D=+,-8-93+<3)1)C-*+)F)-CGHF6<+,8-93:)9-D*C
8-93?<*+-@+D2--E3+=>+,-ID9B-<F+,-./012)3+422567-1+JBE6-2;2<3-2+=
)A1,-1K-CGHF)+1<22-A3<*CA+<D./012)3+2B*L+)E--22<2ID9B->+,-*+,-
./012)3+8-931<*+-@+HMF<2+,--22<2)ABA-CGHF+,-JBE6-232<3-2+=C<-A*<+
1<22-A3<*C+<D./012)3+-22<2>+,-1<*+-*+AA12--*F<2+,-./012)3+8-93F)9-)A
C)A39D=-CG
3NO8PQ 422G8-93?<*+-@+RSTUVWXYWZ[\
]5^_`aO8b4cO8aQ8de fID9)C)C-*+)F)-2F<2D8-93+<3)1g)+,)*+,-8-93F)9-G
53+)<*D9G
h iaj7k6jal5c7a58N
0-+A<22-+B2*ADFB99=mBD9)F)-C3D+,+<D8-93:)9-GHFD8-93F)9-)AA3-1)F)-C)*
8-93:)9->)+)ADB+<ED+)1D99=1D99-Cg,-*+,-BA-219)1KA+,-8-936B++<*n<2
32-AA-A+,-:oK-=p)*+,--22<2E-AADq-C)D9<q6<@GHF+,-./012)3+422567-1+
8-93?<*+-@+;2<3-2+=1<*+D)*ADID9)C1<*+-@+HMF<2+,-A3-1)F)-CF)9->+,D+
+<3)1)ADB+<ED+)1D99=C)A39D=-CGHF*<8-93:)9-)AA3-1)F)-C>+,-./012)3+8-93
F)9-)AC)A39D=-CG
3NO8PQ 422G8-93:)9-RSTUVWXYWZ[\
]5^_`aO8b4cO8aQ8de r,-FB99=mBD9)F)-C3D+,+<+,-8-93F)9-G53+)<*D9G
h s_`ta5l5c7a58N
u-+B2*A<2A-+AD*BE-2)1ID9B-A3-1)F=)*qD*-22<2GJBE6-2)A+,-422<67-1+vA
C-FDB9+32<3-2+=Gw,-*2-+B2*)*qDBA-2LC-F)*-C-22<2F2<ED*fB+<ED+)<*
<67-1+>A-+422GJBE6-26=DCC)*q+,-*BE6-2=<BA-9-1+-CDAD*-22<21<C-+<
+,-1<*A+D*+I6567-1+422<2G:<2-@DE39->=<BBA-+,-F<99<g)*q1<C-+<2-+B2*
+,-*BE6-2oxyoDAD*-22<21<C-z
422GuD)A-JBE6-2zSI6567-1+422<2{oxyo>0<B21-zS|0<E-?9DAA|
3NO8PQ 422GJBE6-2RSX}}U}V~X}\
]5^_`aO8ba55c5O_`ta5 f*)*+-q-22-32-A-*+)*qD./012)3+-22<2*BE6-2<2D*0?5M4
-22<2ID9B-G
h 3c_54al5c7a58N
u-+B2*A<2A-+A+,-*DE-<F+,-<67-1+<2D339)1D+)<*+,D+<2)q)*D99=q-*-2D+-C
+,--22<2Gr,-0<B21-32<3-2+=A3-1)F)-ADA+2)*q-@32-AA)<*+,D+)ABABD99=+,-
19DAA*DE-<232<q2DEED+)1HM<F+,-<67-1++,D+1DBA-C+,--22<2GA-0<B21-
+<32<I)C-=<B2BA-2Ag)+,)*F<2ED+)<*g,-*=<B21<C-)AB*D69-+<,D*C9-D*
-22<2q-*-2D+-C)*D*D11-AA-C<67-1+G:<2-@DE39->)F=<BD11-AA)12<A<F+
4@1-9D*C)+q-*-2D+-ADM)I)A)<*6=-2<-22<2>)12<A<F+4@1-9A-+A+,-
./012)3+422567-1+JBE6-2;2<3-2+=+<)+A-22<21<C-F<2+,D+-22<2D*CA-+A
0<B21-+<4@1-9D339)1D+)<*GJ<+-+,D+)F+,--22<2)Aq-*-2D+-C)*D*<+,-2<67-1+
1D99-C6=)12<A<F+4@1-9>4@1-9)*+-21-3+A+,--22<2D*CA-+A422GJBE6-2+<)+A
<g*1<C-F<2M)I)A)<*6=-2<G8<g-I-2>)+9-DI-A+,-<+,-2422<67-1+
n)*19BC)*q0<B21-pDAA-+6=+,-<67-1++,D+q-*-2D+-C+,--22<2G
0<B21-D9gD=A1<*+D)*A+,-*DE-<F+,-<67-1++,D+<2)q)*D99=q-*-2D+-C+,-
-22<2L=<B21<C-1D*+2=+<,D*C9-+,--22<2D11<2C)*q+<+,--22<2
C<1BE-*+D+)<*<F+,-<67-1+=<BD11-AA-CGHF=<B2-22<2,D*C9-2FD)9A>=<B1D*
BA-+,-422<67-1+)*F<2ED+)<*+<C-A12)6-+,--22<2+<=<B2BA-2>BA)*q0<B21-
D*C+,-<+,-2422+<)*F<2E+,-BA-2g,)1,<67-1+<2)q)*D99=1DBA-C+,--22<2>D
C-A12)3+)<*<F+,--22<2>D*CA<F<2+,G
oy
4567897*+,-*+.-+/0 41*9-2 344567849:;<=>?@ABCDE?C==@FAG
H6+.I/*9J LMN4OPQ:RS4:MMO7P4:S4:M:PNOPQNT:USSVO9UNO7PNTUNQ:P:4UN:W
0967*+/286/007K* NT::44745
X-0/49.Y1JZ:MOQPU[:\SUQ:][TO9TOM8M:W^74U99:SNOPQOP^74_UNO7P4:QU4WOPQ
MN79`M5aU`:M84:NT:^74_S:4^74_MNT:S7MMO\V:bUVOWUNO7PM5cT:MO_SV::RU_SV:
97W:\:V7[_:4:VdMT7[MNT:^74_UPWU99:SNMOPS8N\8NW7:MP7NMN74:NT:WUNU74
S:4^74_UPdU9NO7P5
efcagh
ef3LZh
e6ijklcgLmnoLn3<pqr694OSNph
estt
68\9_WuM8\_ONuvPiVO9`
wc797PNOP8:NT:^V7[O^UPd:447479984M
7P34474j:M8_:m:RN
k^W798_:PN5^74_15cRNmU_:5qUV8:<pp74W798_:PN5^74_15cRN3aUOV5qUV8:<pp
cT:P
ZO_ada:MMUQ:
ada:MMUQ:<plV:UM::PN:4d784PU_:UPW:t_UOVUWW4:MM5p
aMQr7Rada:MMUQ:]x]pkP97_SV:N:y74_34474p
W798_:PN5^74_15cRNmU_:5^798Mz{
3PWk^
wiT:9`N7M::O^NT:8M:4:PN:4:WUPdNTOPQ5
k^zg:PzW798_:PN5^74_15NRNLQ:5bUV8:{<x{cT:P
aMQr7Rp|78_8MN:PN:4d784UQ:\:^74:M8\_ONNOPQ5p
3RON68\
W798_:PN5^74_15NRNLQ:5^798Mz{
3PWk^
k^zm7NzkMm8_:4O9zW798_:PN5^74_15NRNLQ:5bUV8:{{{cT:P
aMQr7Rp|78_8MN:PN:4UP8_\:4^74d784UQ:5p
3RONM8\
3PWk^
wiT:9`N7M::O^NT:UQ::PN:4:WOMbUVOW5
k^zW798_:PN5^74_15NRNLQ:5bUV8:ex{v4zW798_:PN5^74_15NRNLQ:5bUV8:h1xx{
cT:P
w aMQr7RpcT:UQ:d78:PN:4:WOMOPbUVOW5p
34459V:U4
3445jUOM:}
3445W:M94OSNO7P<p34474tcT:UQ:d78:PN:4:WOMOPbUVOW5p
_MQ\7R3445W:M94OSNO7P
3RON68\
123 3PWk^
)*+,+-../0./+10.02345,5,6 12345678
7089.:;<=+>/0?.@0=+@5>81.2@A5BC06;
D.E24B>,6?.@4F602345,
G>DH23
IIJ
KLHMNOP<J
KLQGR*J
K9S*T 38M.-.@U;V????EE;<B:,U;VWWWWXX;Y5>/U;V??WWWW;ZY5>/U;V??WWWW;
RY5>/U;VWWXXWW;J
K[IIG\*S]R**IIJ
K]SN7 >+4BU;?.@4F;J
KMG\<GNJ
K<R9YG9SN*GNU^MGYYHPRMO\_UFMGYYPR**O\_UW
`O*<QU;aWW;JK<NJK<*J
K<R9YG9SN*GNUbMGYYHPRMO\_UFMGYYPR**O\_UW
`O*<QUFWWcJK<NJK<*J
K]S\<HOdGU;;]RMGU;R@5+-;JK9JKMG\<GNJKQeJH+4f-BH,.E/
H2@AB1KLQeJKLMG\<GNJKL9JKL]S\<JKL<*J
KR\R7GU;O,B4R>E=.@F;JKLRJ
KL<NJKL<R9YGJ
KQNJ
K<R9YG9SN*GNUbMGYYHPRMO\_UFMGYYPR**O\_UW`O*<QUFWWcJ
K<NJ
K<*RYO_\UNO_Q<Jg\+4BhKL<*J
K<*JKO\Pi<<TPGU;<Gj<;\R7GU;<:,\+4B;J
KL<*J
K<*RYO_\UNO_Q<JgGI7+5-hKL<*J
K<*JKO\Pi<<TPGU;<Gj<;\R7GU;<:,G7+5-;JKL<*J
KL<NJ
K<NJK<*RYO_\UNO_Q<JRDD@B00hKL<*J
K<*JKO\Pi<<TPGU;<Gj<;\R7GU;<:,RDD@B00;JKL<*J
K<*RYO_\UNO_Q<JR8BhKL<*J
K<*JKO\Pi<<TPGU;<Gj<;\R7GU;,:,R8B;JKL<*J
KR\R7GU;O,B4R>E=.@F;JKLRJ
KL<NJKL<R9YGJ
K<R9YG9SN*GNUWMGYYHPRMO\_UFMGYYPR**O\_UW
`O*<QUFWWcJK<NJK<*J
KMG\<GNJ
K]S\<HOdGU;;]RMGU;R@5+-;J
KMG\<GNJ
K<R9YG9SN*GNU;W;MGYYPR**O\_U;W;MGYYHPRMO\_U;W;
`O*<QU;kbc;J
K9NJKLMG\<GNJ
KL]S\<JKLMG\<GNJKL<*J
K<*J
K]S\<HOdGU;;]RMGU;R@5+-;J
KL<NJ
KL<R9YGJ
K<R9YG9SN*GNUWMGYYHPRMO\_UFMGYYPR**O\_UWJ
K<NJ
FbX
4567897*+,-*+.-+/0 1234
12567869:38:;3412:4123 <57=>?;@29A@4
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1643KLMGHNKOPQGHRSKLTUKRTKVWKGHKRMK1X64
1XB9?24
1X234
1X2:4
1X256784
12567869:38:;34
12:4
123<57=>?;@29A@4
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1=?AY22ZA8;@:53=9@?5[8;@:8CY72\:I]HP6QTTPR^_@<57Y8;@:I]HP^
3@4NK`HRRKG
1XB9?24
1X234
123<57=>?;@29A@4
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1=?AY22ZA8;@:53=9@?5[8;@:8CY72\:I]HP6QTTPR^_@<57Y8;@:I]HP^
1@4HRTKGUK]HITK
1XB9?24
1X234
123<57=>?;@29A@4
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1=?AY22ZA8;@:53=9@?5[8;@:8CY72\:I]HP6QTTPR^_@<57Y8;@:I]HP^
E@4KVWKGT
1XB9?24
1X234
123<57=>?;@29A@4
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1XB9?24
1X234
1X2:4
1X256784
1X234
15?5[8;@=TKU5RMaPGb@41X54
1X2:4
1X256784
12567869:38:;3F877CA5F=?>;1F877A533=?>;34
12:4
1234
12567869:38:;34
12:4
1234
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1642OWKLPc=RSKLTUKRTLOPQUIdK1X64
1XB9?24
1X234
1X2:4
1X256784
12567869:38:;3412:4123 <57=>?;@29A@4
1B9?2 C=D8;@E@B5F8;@5GHIJ@4
1=?AY22ZA8;@Fe8Ff69g@?5[8;@:8CY72\FaKMd6PV^b@
<57Y8;@FaKMd6PV^3@4=R]HSH]QIJCTPMdL16:4
1=?AY22ZA8;@Fe8Ff69g@?5[8;@:8CY72\FaKMd6PV^b@
123 <57Y8;@FaKMd6PV^1@49WTHPRL16:4
)*+,-../,012340356782+9:012;0<-=.>3?@AB6CDEF2 12345678
G9=-0123?@AB6CDEH2I:JKJLMNJOPQ)6;I
)*+,-../,012340356782+9:012;0<-=.>3?@AB6CDEF2
G9=-0123?@AB6CDER2I;@LM0QKLK@
)SN7+.I
)S.TI
)S.;I
)S.96=0I
)S.TI
)9+9:012*K@U9OA?CVW2I)S9I
)S.;I
)S.96=0I
).96=067;T0;1X30==<,93*+Y1Z30==,9TT*+Y1XI
).;I
).TI
).96=067;T0;1XI
).;I
).T G9=*Y+12.7,2I
)N7+. <*[012H2N930129V\LM2I
)6I4C]PC^CJ_J^^CJVQKCABQ`)S6I
)SN7+.I
)S.TI
)S.;I
)S.96=0I
).96=067;T0;1XI).;I).TG9=*Y+12.7,2I
)N7+. <*[012H2N930129V\LM2I
)aEET;7,>T7b+>./,0EEI
)<0=03.+9:012;0<-=.>;LP\C6JKKCOEW2I
)7,.*7+I
)S7,.*7+I
)aEET;7,>T7b+>./,0+9:012;0<-=.>;LP\C6JKKCOEW2G9=-012;LP\CEX2E
EI)7,.*7+IZc7OE=\O@)S7,.*7+I
)aEET;7,>T7b+>./,0+9:012;0<-=.>;LP\C6JKKCOEW2G9=-012;LP\CEZ2E
EI)7,.*7+IHc.CJA?.CO@.VLP\Od
)S7,.*7+I
)aEET;7,>T7b+>./,0+9:012;0<-=.>;LP\C6JKKCOEW2G9=-012;LP\CEH2E
EI)7,.*7+IRc6VCB@V9QQ\QK@P
)S7,.*7+I
)aEET;7,>T7b+>./,0+9:012;0<-=.>;LP\C6JKKCOEW2G9=-012;LP\CER2E
EI)7,.*7+IFc7K?@V)S7,.*7+I
)S<0=03.I
)SN7+.I
)S.TI
)S.;I
)S.96=0I
)S.TI
)9+9:012*K@U9OA?CVe2I)S9I
)S.;I
)S.96=0I
).96=067;T0;1X30==<,93*+Y1Z30==,9TT*+Y1XI
).;I).TI
).96=067;T0;1X30==<,93*+Y1Z30==,9TT*+Y1XI
).;I).TI
)N7+. <*[012H2N930129V\LM2I
)6Ib?LK\Q^CJV?CKQKCABf\ABgCVK?\Q^@LV`)S6I
)SN7+.I)S.TI
)S.;I).;I
).TI
ZeZ
4567897*+,-*+.-+/0 12345 6789:;3;2<=9:;<>?@A;B
174CD55EC9:;59F5;4<G9:;H96DI5J5KLM2?KANO2;6789:;PQ;
G<FI94R5S:;PQ;B
1T2345B
1T5UB1T5HB
1T5<VI9B
1T5UB
1<4<G9:;7MKW<XYZ[>\;B1T<B
15UB
15<VI9V3HU9H:Q=9II6C<=74R:1=9IIC<UU74R:QB15HB15UB
12345 6789:;3;2<=9:;<>?@A;B
1VB6M[Y]6^W_[A?`^[a]X[b?M1TVB
1T2345B
1T5UB
1T5HB15HB
15UB
12345 6789:;3;2<=9:;<>?@A;B
174CD55EC9:;59F5;4<G9:;H96DI5J5KLM2?KANO\;6789:;c;
G<FI94R5S:;c;B
1T2345B
1T5UB1T5HB
1T5<VI9B
1T5UB
1<4<G9:;7MKW<XYZ[>d;B1T<B
1T5HB
1T5<VI9B
15<VI9V3HU9H:Q=9II6C<=74R:1=9IIC<UU74R:QB
15HB15UB
15<VI9V3HU9H:Q=9II6C<=74R:1=9IIC<UU74R:QB
15HB15Ue<I7R4:;V3553G;B
12345 6789:;3;2<=9:;<>?@A;B
1VB<X^7XfKgMWKXM<Nf?YK`[>[MZK>gh1TVB
1T2345B
1T5UB
1T5HB15HB
15UB
12345 6789:;3;2<=9:;<>?@A;B
159F5<H9<4<G9:;H96DI5J5KLM<>K@Od;H3i6:;\;=3I6:;Pj;
iH<C:;6325;B1T59F5<H9<B
1T2345B1T5UB1T5HB
1T5<VI9B
1T5UB
1<4<G9:;7MKW<XYZ[>k;B1T<B
1T5UB1T5HB15HB15UB
1T=9459HB
1T5UB1T5HB
1T5<VI9B
1T5UB1T5HB
1T5<VI9B
1T=9459HB
1VHB
1=9459HB
174CD55EC9:;6DVG75;4<G9:;YWNJga_W?M;e<ID9:;6a_W?M;B
1T=9459HB
1T23HGB
123 1TV3UEB
)*+,-./ 12345678
01243456575585299:
;< =>?@ABCD>EFGGFH@BAH>IJKA>H@CDKGGLKG@MKC@FB?KBMNOBC@P>>QQFQ
DKBMG@BAR
S< TOJJF?>UVFODKW>M>W>GFJ>M?FP>EQ>>HKQ>KBMOJGFKM>M@CCFCD>XBC>QB>C<
Y>EFQ>MFHBGFKM@BACD>?FECHKQ>UCD>O?>QDK?CFE@GGOJKBM?OIP@CKB@BCQFMOZCFQV
EFQP<=>?@ABCD>EFQPK??DFHBH@CDWKG@MKC@FBFECD>@BJOC?[0\92386]^_`
ab̀b 3cddef4
XBCD@?OB@CVFODKW>G>KQB>MDFHCFZQ>KC>g>IJKA>?CDKCO?>LYTZQ@JC<hFODKW>
G>KQB>MCFKMMGFA@ZCFVFOQg>IJKA>?K?H@CDKBVFCD>QJQFAQKPP@BAKJJG@ZKC@FB<
hFODKW>KG?FG>KQB>MiIj>ZC?OJJFQC@BLYTZQ@JC<iB>FECD>W>QVZFPPFBKBMFEC>B
O?>MFIj>ZC?UCD>=@ZC@FBKQViIj>ZCDK?I>>BM@?ZO??>M@BM>CK@G<LKG@MKC@FB?EFQPKB
@PJFQCKBCJKQCFEEFQP?UHD@ZDDKW>I>>B?DFHB@BPKBVFECD>>kKPJG>?@BCD@?OB@C<
hFODKW>KG?FG>KQB>MDFHCFO?>CD>lQQFIj>ZCEFQDKBMG@BANOBC@P>>QQFQ?<hFOH@GG
BFHI>KIG>CFM>W>GFJg>IJKA>?G@m>lBnO@QVEFQP?UKMP@??@FBEFQP?KBM?FFB<
hFODKW>G>KQB>MKIFOCCD>M@EE>Q>BCFJ>QKCFQ?KBMMKCKCVJ>??OJJFQC>MIVLYTZQ@JC
KBMDFHCFO?>CD>P<hFODKW>G>KQBCKIFOCEOBZC@FB?KBMJQFZ>MOQ>?UKBMDFHCF
PKm>VFOQJQFAQKP?PFMOGKQO?@BACD>P<oFM@BAZFBW>BC@FB??DFOGMI>EFGGFH>M@B
FQM>QCFPKm>VFOQJQFAQKP?Q>KMKIG>KBM>K?@GVOBM>Q?CKBMKIG>IVFCD>Q?<,D>?>
@BZGOM>@BM>BCKC@FBFECD>ZFM>UBKP@BACD>WKQ@KIG>?KBMZFB?CKBC?KBMFCD>Q
EFQPKCC@BAZFBW>BC@FB??OZDK?CDF?>EFQZFPP>BC?<
ab̀p 3qrcstqu3veu3wxf3
01243456575585299b
;< ,D>EFGGFH@BAZFM>H@GGMFCD>jFIR
)ToNXy,.z{|}z|l~WI?ZQ@JC/
)
;
4567897*+,-*+.-+/0 1234567389:;6<=>95;?
95;@5;6<>95;?
A6<BC3D45;
BC3@5;2=
45;@1
6E>4635>95;?F1?5G=3
89:;6<=@EHC9=
=I65E2345673
=3J6E
6E>4635>95;?@17;4635>95;?@K7;4635>95;?@L?5G=3
89:;6<=@5;2=
=I65E2345673
=3J6E
E7;45;@4635>95;?M157K95=NM1
6E>4635>95;?<7J>45;?@O?5G=3
BC3@EHC9=
=3J6E
3=I5
89:;6<=@BC3
P3J12345673
1234567389PQ=3>95;?
95;@5;6<>95;?
6E>95;@ROR?5G=3
89PQ=3@5;2=
=I65E2345673
=3J6E
6E>4635>95;?<7J>K?@O?5G=3
89PQ=3@5;2=
=C9=
89PQ=3@EHC9=
=3J6E
P3J12345673
S2B<H63>?
95;@5=I51TQHC2=
A6<BC3PQ=3DBC3:;6<=
6E375>6932<=;64>95;??5G=3
<9UB7IRV7532<=;64R
=I6592B
=3J6E
6E>89PQ=3>95;??5G=3
<9UB7IRPQ=3R
=C9=
<9UB7IRWJJR
=3J6E
6E>89:;6<=>95;??5G=3
<9UB7IRN;6<=R
=C9=
123 <9UB7IR375N;6<=R
)*+,- 12345678
.*+/01
2
33445
63/789:;5 IJKKLMNO9@DB0C+1)1)@@)G@BE,P)
+G,P)GFB+)?B@AH@@A)?FG,Q@FH*1)
<= >?)@A)-BCCBD,*E-0*F@,B*@BE)*)GH@)@A)-,1B**HFF,?)G,)?= FA)FR)+B0@=;A)?HS)ABC+?-BGB@A)G
H*?D)G?H?D)CC=
T>U7;9VU-,1W*X
,-WUYZXBGWUY[X@A)*
T,1Y[
.C?)T,1YT,1WU4[X\T,1WU4<X
.U]9-
.U]T>U7;9VU
^= >?)@A)-BCCBD,*E-0*F@,B*@B-,*+@A)-HF@BG,HC
T0*F@,B*THF@BG,HCW*X
],S,
9-*6Z;A)*
THF@BG,HCYZ
._,@T0*F@,B*
.*+9-
THF@BG,HCY[
TBG,Y<;B*
THF@BG,HCYTHF@BG,HC`,
U)_@
.*+T0*F@,B*
abc4defg5h5fi5cjjk
[= 6l;mn5
6l.o]5
6m.;oUom.Ypq.U.8o;V8p7B*@)*@Ypm,FGB?B-@r,?0HC/@0+,B
s=Zp5
6;9;n.563;9;n.5
6/789:;noUq>oq.YP1?FG,Q@5
6t44
T0*F@,B*9?:G,S)W?@GX
?@GY@G,SW?@GX
],S1C*uF@G
1C*Y@G0)
F@GY[
,-WF,*@W?@GX6[X@A)*
9?:G,S)Y-HC?)
)_,@-0*F@,B*
)*+,-
,-WF,*@W?@GXY[BGF,*@W?@GXY<BGF,*@W?@GXY^X@A)*
9?:G,S)Y@G0)
)_,@-0*F@,B*
)*+,-
-BGF@GYF,*@W?@GX4[@B<?@)Q4[
,-WF,*@W?@GXSB+WF@GXYZX@A)*
[sv
34567869*+,9*-,*./ 012345167
72894
27:;
<6=>9?73012
@28AB2C;9D2
AB2C;9D2<6@E72F6;>G
6;>3;>9?F6;>G
94F6;>3HIHG;J72
<6@E723;>B7
7:9;4B2C;9D2
72894
94FC92;F6;>G?D8FKG3IG;J72
<6@E723;>B7
7167
<6@E72345167
72894
@28AB2C;9D2
LB0?M6B0FG
6;>3;7:;1NE51B7
942D;F962B?7>9CF6;>GG;J72
?6O0D:HPD;2B?7>9CH
7:9;6B0
72894
94F>58FIGNCJ7CQ78G;J72
94F<6@E72F6;>GG;J72
?6O0D:HR769;967E72H
7167
?6O0D:HPD9;962D;7E72H
72894
@:9;6B0
72894
94F>58F1GNCJ7CQ78G;J72
94F<6@E72F6;>GG;J72
?6O0D:HPD9;962D;D88H
7167
?6O0D:HR769;96D88H
72894
@:9;6B0
72894
94F>58FKGNCJ7CQ78G;J72
94F<6=>9?7F6;>GG;J72
?6O0D:HR769;965S>9?72B?07>H
7167
?6O0D:HPD9;962D;5S>9?72B?07>H
72894
@:9;6B0
72894
@28LB0
122
12345678
))**+
,)-./012+
,)3456+
,7869+
,1+
4:;<
,0=1>2?@A;BCDEFG<DH;BICDEIJK;JL;E:DMN;BI;:;<I+
8EE
,0=1>2?@A;BCDEFG<DH;BICDEI:DMN;BIGEEI+
1CFH;
,0=1>2?@A;BCDEFG<DH;BICDEI:DMN;BIACFH;I+
,)1+
,1+,0=1>2FEB?;O?P<DH;B?;O?P+,)1+
,1+,0=1>2FEBQN??G<P?@A;BQN??G<:DMN;B7N??G<<DH;BQN??G<P
R5=S>5S4BTD:DUJCFA?G<JMFJLBIH@UNQVWI+,)1+
,)7869+
,)32XR+
YZ [GMMG\F<]FU?K;JGE;^
[N<J?FG<0U1DMF<ECGH;VU?CW
6FHF-?DC?_F4<E_J?C_QM<1DMF<
U?CB?CFHVU?CW
QM<1DMF<B?CN;
F4<EBM;<VU?CW
F.<?BCGN<EVF4<E)YW
F-?DC?BP
`GCJ?CBP?GJF<?VF.<?W
F̀VHFEVU?C_F4<E_PW,+HFEVU?C_F-?DC?_PWW?K;<
0U1DMF<ECGH;B`DMU;
4OF?[N<J?FG<
;<EF̀
F-?DC?BJF<?VF-?DC?WaP
F4<EBJF<?VF4<EW*P
<;O?
F̀VQM<1DMF<B?CN;W?K;<
0U1DMF<ECGH;B?CN;
;MU;
0U1DMF<ECGH;B`DMU;
;<EF̀
4<E[N<J?FG<
-NQQMD<L-?CVW
U?CB?;O?PZ:DMN;
F̀V?CFHVU?CWBIIW?K;<
HU]QGOI1MUZ;<?;CD<NHQ;CI
;OF?UNQ
;<EF̀
F̀V0U1DMF<ECGH;VU?CWW?K;<
HU]QGOI9;UI
;MU;
HU]QGOI=GI
Pbc
4567897*+,-*+.-+/0 12345
623789
:;/5<=>.6?6>+6/00@
1A BCDEFG
BCHG IJK1LM1K4N2JO19PJN1OQ4RQRS2TJ42KTQ1UV7RW4PT8K135SW
RJXR8XJT42NK89TSTJXKY
TJZ1KY34KRS82TKJ23TSTJXKJKO1XXJKRS318K13TS[JX43JT18K1W
42P8TAB\CHG
BC6]MG
BD^DF6GUV7RW4PTLIJK17T83_B\D^DF6G
B7I`^aDF]bcd]c6efUV7RW4PTfG
Bghh]33TQ4KTS42KTW8RT2S2h^69WSOK1WKTSKi4PS[1WUV7RW4PTjS38X1KA
kPT4S26ZPX4R4T
789Rj3IJXR8XJT1lk2IX4Ri
M4j]jS82TS5M4KRS82T
M4j]jS82TS5DJZ
M4jM^7IkdbDlF^E^D
M4jM^7IkdbDl`]D6
M4j789TSTJXV15SW1
M4j789TSTJX]5T1W
M4jD]ml`]D6
M4jDSTJXISKT
^5nF12nMSR8j12TA5WjIJK17T83_ATZTo8J2T4T_AUJX81peqpDQ12
EKNVSZfrS8j8KT12T1WJs8J2T4T_Af
6Z4T789
623^5
^5nbST^Kb8j1W4RnMSR8j12TA5WjIJK17T83_ATZTo8J2T4T_AUJX81ppDQ12
EKNVSZfo8J2T4T_j8KT91J28j1W4R[JX81Af
6Z4T789
623^5
^5nF12nMSR8j12TA5WjIJK17T83_ARj9aWS38RTKAUJX81peqpDQ12
EKNVSZfrS8j8KTK1X1RTJPWS38RTAf
6Z4T789
623^5
M^7IkdbDlF^E^De1qqq
M^7IkdbDl`]D6eA1q
D]ml`]D6eqAq2
tIJXR8XJT1TQ1K89TSTJX5SWTQ1SW31WA
789TSTJXV15SW1eMSR8j12TA5WjIJK17T83_ATZTo8J2T4T_AUJX81u
MSR8j12TA5WjIJK17T83_AX9Xd24TISKTA[JX81
^5n789TSTJXV15SW1GM^7IkdbDlF^E^DpDQ12
]jS82TS5M4KRS82Te789TSTJXV15SW1uM^7IkdbDl`]D6
6XK1
]jS82TS5M4KRS82Teq
123
)*+,- 12345678
./0121345-1678./01213496-276:5;2/*12-<=>?2/*1
@A34?/431613B6>3*+12134?2>1C
5;2/*12-D3B8./0121345-167ED5FGH5D)
D2134A2>18./0121345-167I5;2/*12-D3B
@<=>J43K1L676>/41>C
<2?/;6*1C-7;A3>6.1/+KC404./01213496-276CM34/68./01213496-276
<2?/;6*1C-7;A3>6.1/+KC404<=>?2/*1CM34/685;2/*12-<=>?2/*1
<2?/;6*1C-7;A3>6.1/+KC404./0121345-167CM34/68./0121345-167
<2?/;6*1C-7;A3>6.1/+KC404D3B6>CM34/685;2/*12-D3B
<2?/;6*1C-7;A3>6.1/+KC404D2134A2>1CM34/68D2134A2>1
)*+./0
./0?;+./0;=1G2*A4=?N
@./0;=11L=>27+67-27J72?6>>=*OC
P>O92BQR2/727+67L3>066*>/0;=116+CQ
<2?/;6*1C-7;A3>6.1/+KC./0;=1
)*+./0
./0?;0S72+/?1>G2*?L3*O6TU
.646?1A3>6<2?/;6*1C-7;A3>6.1/+KC?;0S72+/?1>C.646?16+,*+6B
A3>6V
<2?/;6*1C-7;A3>6.1/+KC404W*=1A2>1CM34/68VXYZ
A3>6[
<2?/;6*1C-7;A3>6.1/+KC404W*=1A2>1CM34/68\\Z
A3>6]
<2?/;6*1C-7;A3>6.1/+KC404W*=1A2>1CM34/68VY^Z
A3>6)4>6
<2?/;6*1C-7;A3>6.1/+KC404W*=1A2>1CM34/68Z
)*+.646?1
)*+./0
::_
`a.AH,SD_
`ab)5<_
`9c<R_
`dcHP e5P)8Q-7;A3>6.1/+KQ_
`D59f)_
`DH_
`D<_`9_P2*=127g̀a9_`aD<_
`D<_
`.)f)ADe5P)8Q?;0S72+/?1>Q_
`cSD,ceh5fW)8QZQ_`acSD,ce_
`cSD,ceh5fW)8QVQ_,16;V`acSD,ce_
`cSD,ceh5fW)8Q[Q_,16;[`acSD,ce_
`cSD,ceh5fW)8Q]Q_,16;]`acSD,ce_
`a.)f)AD_
`aD<_
`aDH_
`DH_
`D<_`9_i/3*1=1Kg̀a9_`aD<_
`D<_
VjY
4567897*+,-*+.-+/0 12345667489:68;6:3<=89:>?>@ABC>D>E:F
1G6HF
1G6IF
16IF
16HF12345667489:JA>>KC:3<=89:LMNOBPLAPB>Q:
R<S589:OBPLAPB>Q
OKT>:F1G6HF
16HF1G6HF
1G6IF
16IF
16HF1JF5CD>OKT>U1GJF1G6HF
16HF
12345667489:68;6:3<=89:PVP5CD>OKT>:F
1G6HF
1G6IF
16IF
16HF1JFWAV>K>BPVQXKYQNDTLKAC>U1GJF1G6HF
16HF
12345667489:68;6:3<=89:PVPWAV>K>BPJQXKYQ:F
1G6HF
1G6IF
16IF
16HF1JFHDTLKAC>U1GJF1G6HF
16HF
12345667489:68;6:3<=89:PVPHDTLKAC>:F
1G6HF
1G6IF
16IF
16HF1JFWAV>K>BPBX>QYNDTLKAC>U1GJF1G6HF
16HF
12345667489:68;6:3<=89:PVPWAV>K>BP<X>QY:F
1G6HF
1G6IF
16IF
16HF1JF6B?QTU1GJF1G6HF
16HF
12345667489:68;6:3<=89:PVP6B?QT:F
1G6HF
1G6IF
16IF
16HF1JF6K>BPOKT>U1GJF1G6HF
16HF
12345667489:68;6:3<=89:PVP6K>BPOKT>:F
1G6HF
1G6IF
16IF
16HF12345667489:JA>>KC:3<=89:LMNWAVMD>:
R<S589:WAVMD>
ZYNQY:F1G6HF
16HF1G6HF
1G6IF
1G6<JS8F
1G[ZI=F
1GJZH7F
1G\6=SF
123
12345678
)* +,-./0 GHIIJKLM-NC@OC@PQ<R@:N>98=STU:
+,1230 O8>@D8:@N8;>==8=S>@@<B>@*EQ><@>
V8==>V:*
+-4-/10256789:;<=>?@A>BC@:=<:C8DE<B>+F-4-/10
+F,1230
+5W3X5Y6W/WAZ[,4-10+61\-1A0
+]W\-74^1Z_]261Z`2=C<Q̀6W/WAZ5/a10256+F]W\-0
+]W\-74^1Zb6W/WAZ5/26c0A>BC@:=<:C8D+F]W\-0
+F61\-1A0
+,A6W/WAZ`5/a1`0
+]W\-]261Z`6W.467<D@.7`0-N<DdR8U98=:<dCDB:N>:CS>:8
O8;DQ8<O<DO:>@:8U=D>;P=8OUV:*4D8=O>=:8@>=e>R8U;>QQf;><@d:N<:R8U
@UTSC::N>98QQ8;CDBCD98=S<:C8DT>98=>O8;DQ8<OCDB
+]W\-]261Z2A42/6W/WAZ5/a10256+F]W\-0@89:;<=>*
+,A6W/WAZA13[43-,Z_bg0+61\-1A0
+-25/15WA31A5WA31A6W/WAZ`5/a1`0
+-A0
+-32/4Y\ZA4Y,-0h\<S>i+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:\<S>`0
+F-30
+F-A0
+-A0
+-32/4Y\ZA4Y,-0h1l.<CQi+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:1.<CQ̀0+F-30
+F-A0
+-A0+-32/4Y\ZA4Y,-02OO=>@@i+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:2OO=>@@`0+F-30
+F-A0
+-A0
+-32/4Y\ZA4Y,-06C:Ri+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:6C:R`0+F-30
+F-A0
+-A0
+-32/4Y\ZA4Y,-07:<:>i+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:7:<:>`0+F-30
+F-A0
+-A0
+-32/4Y\ZA4Y,-0^CPi+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:^CP`0+F-30
+F-A0
+-A0
+-32/4Y\ZA4Y,-068UD:=Ri+F-30
+-30+4\Ea--XE1Z`-1j-`\2.1Z`-k:68UD:=R`0+F-30
+F-A0
+-A0
+-36W/7E2\Z)2/4Y\Z61\-1A0+4\Ea--XE1Z`7a5.4-`
\2.1Z`5:Dm`n2/a1Z`7>DO4:o`0+5A0+]W\-74^1Z)0hA>pUC=>O
]C>QO+F]W\-0+F-30
+F-A0
+F-25/10
+,A6W/WAZA13[43-,Z_bg0
+]W\-74^1Z)0-N<Dd@o+F]W\-0
+76A4E-/2\Ya2Y1Z`n57V=CP:̀0
+oll
7UT5:DmqWD6QCVd
49-k:\<S>*n<QU>Z``W=-k:1.<CQ*n<QU>Z``-N>D
3CS.R.>@@<B>
.R.>@@<B>Z`EQ><@>>D:>=R8U=D<S><DO>lS<CQ<OO=>@@*`
m_m
4567897*+,-*+.-+/0 123456171822938:;:<=>?5@AB8C8D5E@FEE5E<
F>G=H
F>GIJKLLM
NOIPQ=RSM
NO4TUVM
NOWS1XM
YZ[\ ]^_`ab__bcdefg4
1h ijklmnmopqrslntuK7R9JBX5@96hRJKBv2w8ExTyQ8vBB7hV89Ex3;;1
3h zm{ukmupqrslntuK7|B86W5@8E:U9EE8>}vBBhRJKBv2w8Ex~E56RE822=>?RJKh
V89Ex3;;
h pq{slntulujl
n
jjK7R9JBSwJEE5CC:5B9>W82C8EhRJKBv2w8Ex
R89?wAvCRE822hV89Ex1
h jksl{jp{slntunmk{K78vCw4E5Aw7:Sv@5Cw758C2hRJKBv2w8Ex
I9@2RJKBv2wv>3h789Ex1
123
0123$5678$95*$+,--3./$ -010.2$ $
345$67879:$:4;<$=>7<:;?@A$$B47$C7@>$D6;E7@$896:$;<$@?:$:47$86;C965$F?G><$?F$:47$<7G:;?@$
H?@7$I5J$$B47$=>7<:;?@$D?7<$@?:$<;H@;F;G9@:K5$D;FF76$F6?C$=>7<:;?@$L$?F$MNO$LJ$
$
0123$5678$9P*$+,--3./$ -010.2$ $
B4;<$;<$F;@7$;F$:47$<:>D7@:<$49E7$D?@7$OQRS$796K;76J$$T:476U;<7$:47$67F767@G7$:?$OQRS$G9@$
I7$D7K7:7DJ$
$
$
12345634732
9)*+, 1-./01./2.-
342564523 7483)9:
;<= >?@ABCDE@FB? GHI
;<G JKLME@FNMO GHI
;<P QOF?RSAMTUVMTNMA GHI
;<I WAMT@MTXF@MYBUMZTRM GH;
;<[ SMOFR?TZTRMF?\T]BD@^FMV GHH
;<_ >?OMA@>UTRMO G`I
;<; >?OMA@aMb@ G`;
;<H cBAdF?X@T?CTAC^FMV G`H
;<` ^FMV@eMXF@MfFgMO G`h
;<h \F?diBDASBEDUM?@O Gh=
;<G= XBgD@FB?Ojk?OVMAO GhP
,:l *)+-m19n+*m)
kcMKOF@MFOTOM@BogF?dMCCBEDUM?@OVF@eOeTAMCT@@AFKD@MOpODEeTOAMgT@MC@BqFEOp
TOFUFgTACMOFR?pBATOeTAMCqDAqBOM<rTEABUMCFTSAMTUVMTNMAFOTOF@MEAMT@FB?
T?CUT?TRMUM?@@BBgpOB]BDET?DOMF@@BEAMT@MEBUqgM@McMKOF@MOpF?TCCF@FB?@B
F?CFNFCDTgCBEDUM?@O<
sM@@F?RO@TA@MCF?rTEABUMCFTSAMTUVMTNMAFOTOMTO]TOBqM?F?RT?MbFO@F?RYar\
CBEDUM?@BAEAMT@F?RT?MVB?M<SAMTUVMTNMAFOTqABoMOOFB?TgcMKOF@M
CMNMgBqUM?@qABRATU<>@eTOKMM?CMNMgBqMC@B@TdMTCNT?@TRMBo@eMETqTKFgF@FMOBo
@eMgT@MO@RM?MAT@FB?BoKABVOMAOpUTdF?RF@MTO]oBACMNMgBqMAO@BDOMTCNT?EMC
oMT@DAMOODEeTOO@]gMOeMM@OT?CC]?TUFEYar\<>@eTOKMM?CMOFR?MCoABU@eM
RABD?CDq@BVBAd@eMVT]qABoMOOFB?TgcMKCMNMgBqMAOjCMOFR?MAOCB<SAMTUVMTNMA
OqMMCODqOF@MEB?O@ADE@FB?T?CO@AMTUgF?MOOF@MUTF?@M?T?EM<
aeFOD?F@VBDgCKMNMA]EB?EFOMF?F@OCMOEAFq@FB?Bo@eMoMT@DAMOBo@eMEBUqB?M?@OBo
SAMTUVMTNMA<aBMgTKBAT@MB?MNMA]@eF?RVBDgCKMTNBgDUF?BDO@TOd@eT@UMAF@OT
oDggKBBdoBAF@OMgo<YBVMNMAp@eFOD?F@VFggF?@ABCDEM]BD@B@eMMOOM?@FTgMgMUM?@O<
aBRM@@eMUBO@BD@Bo]BDASAMTUVMTNMAMbqMAFM?EMp]BDOeBDgCD?CMAO@T?C@eM
KTOFEEB?EMq@OKMeF?C@eMSAMTUVMTNMAVBAdTAMTT?Cd?BVeBV@BEeBBOMBq@FB?Op
DOMF?OqME@BAOT?CqT?MgOpT?COM@qAMoMAM?EMO@eT@KMO@oF@]BDAVBAdO@]gM<
,:t muv.n+*2.3
ko@MARBF?R@eABDRe@eFOD?F@]BDVFggKMTKgM@Bw
x Q?CMAO@T?CVBAdTAMT
x XM@Dq@eMXF@MX@ADE@DAM
x SMOFR?TqTRMF?gT]BD@NFMV
x kCCEB?@M?@O@BcMKOF@M
x >?OMA@FUTRMOj@TKgMO@BTcMKqTRM
,:y 93*)z1-./01./2.-
192{/234
\M@DOO@TA@VF@eTKAFMoBNMANFMVBo@eMSAMTUVMTNMAVBAdTAMT<>o]BDeTNM?|@
TgAMTC]gTD?EeMCSAMTUVMTNMApCBDKgM}EgFEd@eMSAMTUVMTNMAFEB?B?]BDACMOd@Bq
@BCBOB<
ceM?]BDgTD?EeSAMTUVMTNMAp@eMoBggBVF?RVBAdTAMTF@MUOBqM?Dq<aeM
SAMTUVMTNMAVBAdTAMTTEEBUUBCT@MOCFooMAM?@O@]gMOBoVBAdF?RT?CgMNMgOBo
GHI
123456478)*78+*8,-
./0.1234.5678.9:;<.2=88;42:>.?2:@.9A:=1?=7?:2B.14B:128;24C9:;>3<B2D3@.
2:E:1@37=2:2=DD9AD=7@40=8.5FB.G3<;1.A.D:E4B:E4?3GG.1.728:>0:7.724:G2B.
E:1@=1.=5
H FB.I:8;>.72E37?:E?340D=942B.8;11.72?:8;>.72=49:;81.=2.=7?.?32325
H FB.6AJ.8240=7.D8:72=37438:749:;8D38@2:374.12:AJ.824379:;1?:8;>.72C
=7?2:8B=7<.2B.E=99:;E:1@37=?:8;>.725
H I1.=>E.=K.101:K3?.4>=79GD:=237<0=7.D4C4;8B=42B.LFMNO29D.40=7.D=7?
2B.P:?.3740.82:1CEB38B.7=AD.9:;2:E:1@E32B:2B.1I1.=>E.=K.1.D.>.7245
H FB.N=;78B.1A=18:72=374A;22:74G:1:0.737<=7?8D:437<9:;1>:42G1.Q;.72D9
;4.?3740.82:14=7?0=7.D45
H FB.R1:0.1293740.82:1?340D=9401:0.123.4G:12B.4.D.82.?:AJ.82:12./2C=7?D.24
9:;>:?3G92B:4.01:0.123.45STUVWUXYZX[Y\V[]^XX[^YV_\U[V_]X[W\ZY`[X[_`]
Z_\U[Zab[W\^W\Vc[de][d[W\[`V_\U[`ZWfg[_\hi
j:;E:;D?A.E.DD=?K34.?2:8D:4.=DD2B.GD:=237<0=7.D=7?:023:74A:/.48D;22.137<
;02B.E:1@=1.=A98D38@37<:72B.k:72B.2:013<B28:17.1:G2B.A:/.45F::0.7
I1.=>E.=K.1l4E37?:E4C3740.82:14C=7?0=7.D4C;4.2B.m37?:E>.7;5n8B.8@
>=1@7./22:=732.>372B.m37?:E>.7;37?38=2.42B=22B.7=>.?32.>348;11.72D9
:0.7S2B:;<B32>=9A.B3??.7A.B37?:2B.1E37?:E4i5F:?340D=9=732.>2B=2347l2
8;11.72D9:0.7C8B::4.2B.32.>7=>.G1:>2B.>.7;:1;4.324@.9A:=1?4B:128;25
op3q47847r3,*st,*u,3
N.2;47:E42=12:;1J:;17.9372:2B.1.=D>:GI1.=>E.=K.15m.A.<37E32B29037<
37=G.E2.42D37.437:;1I.43<7K3.E5O..B:E:;1E:1@=1.=B=4A..7?3K3?.?372:
2E:E37?:E4C:7.?340D=937<:;12./2=7?2B.:2B.1?340D=937<2B.8:11.40:7?37<
LFMN8:?.5
vwx
12345634732
9)*+,-+.
/+0-12
,-+.
/3+45.+46+3742*-0894:4*)7;5+2<-2<=3++.4:0>
? 404/+0-126-+.@
? 4049)*+6-+.@42*
? 404089-<6-+.<=4<0=).0A)<=<=+*+0-1242*<=+BCDE7)*+F
9)*+6-+. /+0-12
,-+.
9)*+G*+0-126-+.
HIJKLMNOPQLPRSPTSNTLSKLUJVMWPTJWXSNOYZP[PKQMRSPTSNQLP\WPM]TPMRPW
QJJ[^MWF_`:*+a4;9<@/3+45.+46+3*-0894:0<=+/)7;5+2<.-2*).-2/+0-126-+.F
b);.);9*A+.)3c-215)0<)a<=+<-5+-2<=+*+0-126-+.42*8+3a)3547<-)200;7=
407;<<-21@840<-21@-20+3<-218-7<;3+0@<4A9+042*0))2Fd)37=421-21)349<+3-21<=+
BCDEG073-8<-210-*+@:);=46+<).)3c-27)*+6-+.F
e24**-<-)2@:);742.)3c.-<=/3+45.+46+3f0/+0-126-+.-2<.)*-aa+3+2<.4:0g
-2<=+h4ijkl7m3642*nl4op42p7m36FHqJVZP[PKQQLPZPRSPTZSNQLPrSPTKMQPOJWU
JsQLPt^uPKQZvMNP[w_e2<=+E4:);<6-+.:);742*+0-124841+94:);<@-20+3<
1348=-70@<+x<@42*)<=+35+*-4Fe2<=+y<42*43*6-+.@-24**-<-)2<)-20+3<-21
1348=-70<+x<42*5+*-4@:);742490)-20+3<94:+30@73+4<+a345+*)7;5+2<0@73+4<+
<4A9+0@42*4889:)<=+37=421+0<):);3841+g)8<-)20<=4<43+2)<464-94A9+-2<=+
E4:);<6-+.Fe2<=++x+37-0+@:);.-990++=).<)*+0-12z+A841+0-2<=+94:);<
6-+.a)99).+*A:<=+0<42*43*5)*+F
n3lk{l|3nml3nl2k}lk23
y<3;7<;3-21<=+z+A0-<+-0<=+a-30<0<+8<).43*0A;-9*-21<=+7)38)34<+z+A0-<+F
y<3;7<;3-21-279;*+073+4<-214a)9*+3@.=-7=-279;*+0499);38-7<;3+a-9+0@<+x<a-9+0
42**4<4A40+a-9+0-2<=+-33+08+7<-6+a)9*+30-279;*+*-2<=+54-2a)9*+3@.=-7=490)
-279;*+0<=+=)5+841+F
C)A+<<+3;2*+30<42*<=+7)27+8<)ay<3;7<;3-21<=+z+Ay-<+@:);7);9*;0+<=+
/3+45.+46+3<;<)3-49a-9+<=4<-0843<)a<=+847c41+Fe2/3+45.+46+3f054-25+2;
7=))0+y-<+~8+2y-<+@<=+20+9+7<C;<)3-49/3+45.+46+3FC=+C;<)3-49
/3+45.+46+30-<+9-2c0<)<=+j5{4nml3a-9+09)74<+*-2<=+/3+45.+46+3
GC;<)3-49a)9*+3Fa<+30+9+7<-21<=+9)7490-<+@0c-8<)<=+93+4<+C=+y-<+B)5+
41+
0+7<-)2)a<=+/3+45.+46+3<;<)3-49F
123456478)*78+*8,-
./0 12345356317536893:4;3
<=>?@A?ABC?DB?EFG?FEDCBBD?FHI=EB?=ECJKHAKDBAJLABBD?BI=E?@DM=NHABBBC?DO
P=FQRRGEDA?D?@DICEB?HAKDSA@=NDHAKDI=E?@DBC?DTUBP=FVFCRL?@CBHAKDOP=FQRR
ALLCNAKDBO?DW?OAJLXRAB@ABBD?BYP=FEL=GFNDJ?>CRRG=J?ACJ?@DBANDLDBCKJ
G=NH=JDJ?BAB?@DG=NHRD?DLM=NHABB@=NDHAKDT
1*Z,[\+3]\2+^,76
_DKCJVPBA`CJK?@DL=GFNDJ?P=FQED>=EaCJK=JT
bT cDA`D?@DdC?D>CJL=>=HDJOAJLGRCGa?@De=GFNDJ?>CJL=>?=NAaDC?
AG?C̀DT
f@DdC?D>CJL=>EDNACJB=HDJCJ?@DVAGaKE=FJLT
gT M@==BDXCRDhdA`DT
iT jJ?@DdA`DUBLCAR=KV=WOBDRDG??@DM=NHABBkdC?DI=RLDEAB?@DR=GA?C=JI=E
?@CBL=GFNDJ?T
lT jJ?@DXCRD<ANDICDRLO?PHDNPkM=NHABBm=NDT@?NRT
nT MRCGadA`DT
<=?CGD?@A??@DL=GFNDJ?JANDJ=>AHHDAEBA??@D?=H=I?@De=GFNDJ?>CJL=>T
],o47,6p,]\2+^,76:*8,546q,
f@=FK@?@DL=GFNDJ?@ABAICRDJANDOJ=?CGDC?CBB?CRRRAVDRRDLrJ?C?RDLe=GFNDJ?Y
?@A?CBVDGAFBDC?JDDLBAJmfscL=GFNDJ?JANDO=EHAKD?C?RDTeDICJCJKAHAKD?C?RD
@DRHBBC?D`CBC?=EBCLDJ?CIP?@DHAKD?@DPAEDVE=>BCJKt?@DHAKD?C?RDAHHDAEBCJ?@D
VE=>BDE?C?RDVAEAJLCJ?@DV==aNAEaRCB?TjIP=FGEDA?DAL=GFNDJ?>C?@=F?AHAKD
?C?RDO?@DL=GFNDJ?AHHDAEBCJ?@DVE=>BDE>C?@?@D?C?RDrJ?C?RDLe=GFNDJ?T
jJ?@CBHAE?=I?@D?F?=ECAROP=FQRR?C?RDP=FEHAKDt
buv
12345634732
9) *+,-,-./0123.4,5+460571,+8.91-00:.;+.5<=00>?7@+A,-.,00>?7@+:4B,
7>@.76C8+:+?>.)
/@.735.78.@B:,00>?7@7DD.7@:7?08.,-./0123.4,5+4605
E) F4,-.=+,>.A+.>69,CD.G03D7::H03.I7J.K,-.41>+1L+4,-./0123.4,
5+4605,0:..,-.D7J.,+,>.2D67,.6+4,-./0123.4,5+4605B:,+,>.?7@)
M N78.C02@A+>.)
OPQ 1RSTUVWXWURTVYWZ[\]^TR_
`025+>>:,7@,C02@A+@:,D7J.5-+>.50@L+4J+4/@.735.78.@B:a7C02,8+.5)`025+>>
>7C02,,-.D7J.746,-.4+4:.@,+37J.:746,.b,)=-.D7J.C02103D>.,.+4,-+:
:.1,+040A,-.,2,0@+7>5+>>>00L:+3+>7@,0,-.D7J.?.>05)
_c2defY4gchi^e36
/@.735.78.@-7:,508+:27>6.:+J48+.5:jN,7467@68+.5746a7C02,8+.5)`02B>>
:,7@,?C50@L+4J+4a7C02,8+.595-+1-7>>05:C02,06@75>7C02,1.>>:0@>7C02,
,7?>.:+4,05-+1-C02174766104,.4,:21-7:+37J.:9,.b,90@0,-.@3.6+7)
F4,-+:D7@,0A,-.,2,0@+7>9C025+>>>7C02,,-.D7J.K+4,-.4.b,:.1,+04C025+>>766
104,.4,)kl41.C02B@.103A0@,7?>.5+,-,-.:.,50,7:L:9C0237CA+46+,.7:+.@,0766
>7C02,746104,.4,,0J.,-.@)m
9) F4,-.l?n.1,:D74.>91>+1L,-.a7C02,;+.5+104+A+,+:4B,7>@.76C:.>.1,.6)
=-.o.,,+4JN,7@,.6+4a7C02,;+.56+7>0J?0b7DD.7@:7466.:1@+?.:,-.
a7C02,8+.50D,+04:)
E) p.8+.5,-.0D,+04:9,-.41>+1Llq,01>0:.,-.6+7>0J?0b)
M) F4,-.l?n.1,:D74.>246.@a7C02,40,+1.,-7,,-.a7C02,0D,+04:j/@75
a7C02,G.>>746/@75a7C02,=7?>.j7@.405787+>7?>.K,-.:.0D,+04:7@.4B,
787+>7?>.+4N,7467@68+.5)
1246Y4gchir3sst
9uu
123456478)*78+*8,-
./0123456789234:1/;<19=12345:8==>1/;=1234551?=8>53;8@7/85A8;8>7B/1<81>
3@1;3:4C8/5DEA7>51>F7>81>78<531::3CG=7>A7@234G<8G1<81>1CG=83@5A8G1B8
234H<8:<8157/B?8@3<8234?8B7/=127/B3451G1B8D
033F155A8@3==397/B>1CG=8=1234553B851/7;813@5A8G1B8=12345234H<8:<8157/B
7/5A7>>8:573/3@5A85453<71=DEA8<8H>1:8==@3<5A8I3CG1>>=3B3J151?=8975A5A<88
:8==>@3<>758/167B1573/?4553/>J1:8==@3<1/35A8<B<1GA7:J1/;151?=8@3<5A<88:8==>
5A1597==A3=;58K5D
L3497==;<1951?=8>1/;:8==>>7C7=1<535A7>=123451>23493<F7/234<;3:4C8/5D
M7<>5J23497==;<191=12345:8==7/9A7:A23497==7/>8<55A8I3CG1>>=3B3D
ND I=7:F7/5A8O3:4C8/597/;393@5A8C2PI3CG1>>Q3C8;3:4C8/553C1F85A8
;3:4C8/51:5768D
RD .@5A821<8/H51=<81;23G8/J3G8/5A8@3==397/B93<F1<81533=>S
T EA8U?V8:5>G1/8=W:A33>8X7/;39YU?V8:5>ZJ9A7:A234H==4>8531;;
3?V8:5>53234<;3:4C8/5D
T EA8[<3G8<527/>G8:53<W:A33>8X7/;39Y[<3G8<578>ZJ9A7:A23497==4>853
>85G<3G8<578>3<155<7?458>@3<3?V8:5>7/234<;3:4C8/5D.@5A8[<3G8<52
7/>G8:53<7>/H51=<81;28KG1/;8;J:=7:F5A88KG1/;8<1<<397/5A8=398<<7BA5
:3</8<>3234:1/>881==5A8G<3G8<523G573/>D
\D ./5A8U?V8:5>G1/8=J:=7:F5A8O<19012345I8==7:3/D
]D ^3685A8G37/58<535A8O3:4C8/597/;39_5A8C34>8G37/58<:A1/B8>531
;<197/B533=W=33F>=7F81>C1==:<3>>ZDI=7:F7/5A84GG8<=8@5:3</8<3@5A8
;3:4C8/5J5A8/;<1B53;<191=12345:8==D
XA8/234<8=81>85A8C34>8J1=12345:8==1GG81<>7/1=1234551?=8D
N`a
12345634732
9)*+,-./00,1+**23,4560.78++0)*9.:/;*40<845.<=,455*784*60)*3,>*+,-./0
,?*,@9)*<)80*?*:0,4>+*860)*+,-./0:*++-./A/605?*<@B./:,43+,:*,55808.4,+
+,-./0:*++6840)*>?,-,?*,.70)*+,-./00,1+*@
C3DEF3G4HIJKL3MMD
9.3?*:86*+-5*68>4,3,>*=-./:,46*00)*68N*.7:*++6-./,5584,5.:/;*40@B./
:,4,+6.?*3.6808.4:*++6840)*3,>*@
O@ P+8:Q0)*1.?5*?.70)*+,-./0:*++0.6*+*:080@
R,45+*6,33*,?,?./45,6*+*:0*5+,-./0:*++S
T@ 9.?*68N*0)86+,-./0:*++=5..4*.70)*7.++.<84>S
U V40)*W?.3*?0-8463*:0.?7.?0)*+,-./0:*++=0-3*XOY840)*Z82*578*+50.6*0
0)*:*++[6<850)0.XOY382*+6=0)*4:+8:Q840)*5.:/;*400.6**0)*:*++<850)
:),4>*@
\.0*SV7-./*40*?,382*+<850)0),086+,?>*?0),40)*<850).70)*+,-./0
0,1+*=.?0),0:,/6*60)*:*++0..]*?+,3,4.0)*?:*++84,+,-./00,1+*=
9?*,;<*,]*?,+*?06-./,45,5A/6060)*:*++<850)0.,],+85<850)@
U ^40)*?8>)0685*.70)*+,-./0:*++=5?,>0)*;855+*?*68N*),45+*0.0)*?8>)0
/408+0)*:*++860)*5*68?*5<850)@_)*4-./?*+*,6*0)*;./6*=0)*:*++[6
<850)865863+,-*5840)*:.+/;4)*,5*?,?*,,+.4>0)*0.3.70)*+,-./00,1+*@
`aabJMKEcM3G4HIJKL3MMD
\*20-./<8++,550)?**+,-./0:*++61*+.<0)*+.>.:*++-./A/60:?*,0*5@d,0*?-./
<8++846*?00)*3,>*[64,]8>,08.41/00.46840)*6*:*++6@
O@ V40)*^1A*:063,4*+=:+8:Q0)*9?,<d,-./0P*++8:.4e0)*4).+55.<40)*
P.40?.+Q*-f_845.<6g.?P.;;,45Q*-fh,:840.6)g@
T@ V40)*9.:/;*40<845.<=3.6808.40)*3.840*?1*+.<0)*:*++-./5?*<7.?0)*
+.>.e0)*45?,>0.5?,<,+,-./0:*++@
P.4084/*0.).+50)*P.40?.+Q*-f_845.<6g.?P.;;,45Q*-fh,:840.6)g,45
5?,<0<.;.?*+,-./0:*++6@B./?6:?**46)./+5+..Q68;8+,?0.0)86@
Oij
123456478)*78+*8,-
./0,*)*1/+62,33
456789::;<7=>9:8?<@:A:==B9:C<<7:DA@7<@:E678AD9E:B>F:D9;G7H:<@:=D678<
A:==BDB6789::;IJ78AD9A@D9K:<@:B>F:75D=D678<A:==L68B>9K79:75><BE:B>F:
@D9;=:BI
J78AD997<A=>AMD9;;EDKDA:==<7G7H:><<7D9:N?7B><>79I456789::;<7G7H:D
=D678<A:==<7E:?7B><>79><>9D;7A8G:9<O57==7N<@:B:B<:?BI
PI Q=>AM<@:L7E;:E75D=D678<A:==<7B:=:A<><I
RI S7G7H:<@:=D678<A:==O;779:75<@:57==7N>9KT
U VB:<@:DEE7NM:6BI
U W7=;;7N9X@>5<D9;8B:<@:DEE7NM:6B<7G7H:D=D678<A:==Y?>C:=BD<D<>G:I
Z3/+52,33-47*)*1/+6[*\3,
]7N678N>==?8<<@:9DH>KD<>79L8<<79A:==B678^8B<AE:D<:;>9<7DB>9K=:<DL=:I
_E78?>9K<@:A:==B>9<7D<DL=::9DL=:B678<7A79<E7=<@:A:==B?DA>9KD9;<7:DB>=6
G7H:<@:A:==BDBDKE78?>5678ND9<<7A@D9K:<@:?DK:=D678<IJ78N>==AE:D<:D
<DL=:57E<@:9DH>KD<>79L8<<79B<@D<>B<@:BDG:N>;<@DB<@:=7K7A:==DL7H:><I
VB:`EDNaD678<SDL=:<7KE78?<@:9DH>KD<>79L8<<79>GDK:BI
PI 49<@:bL^:A<B?D9:=OA=>AM<@:`EDNaD678<SDL=:>A79I
RI 49<@:`7A8G:9<N>9;7NO?7B><>79<@:?7>9<:ED<<@:<7?=:5<A7E9:E75<@:5>EB<
9DH>KD<>79L8<<79A:==c<@:9;EDK<@:?7>9<:EB7<@:<DL=:A79<D>9B<@:<@E::A:==B
D9;>B<@:=:9K<@75<@:=7K7A:==I
PI d:=:DB:<@:G78B:<7B::<@:A:==BKE78?:;>9D9:N<DL=:I
Pef
12345634732
9) *+,-./0120.304.3.5603-.31+73.8793-2006.:+,310669;3-0<-830.20.873-0
3.560=.74.70>?3:9?.10;3-0@2.:.20.873-03.560=)
AB73CD3E4FBGCH4IJ3
*+,1.7906013.74>+/0.6.:+,33.5603++3-02.20.987.4+1,>073)*+,1.77+3K
-+<0/02K>+/0.6.:+,33.5609+3-.383+/026.?9.7+3-02)
L0M3:+,<866>+/03-03.560:+,N,93120.304.O0<?8M0693+3-028@-33++OO9033-0
.68@7>073+O3-07./8@.38+75,33+793+3-06+@+<-073-0:.2087902304873-0?.@0)
P) Q73-0R+1,>073<874+<1681S3-03.5+73-0T.:+,33.5603+>+/083)
9) R2.@3-06.:+,33.560.O0<?8M0693+3-028@-33+20?+9838+783K3-0742.@+70+O3-0
3.560U928@-32098V0-.746093+.68@73-028@-398409+O3-06+@+.747./8@.38+7
5,33+76.:+,310669)
L+38103-.3.9:+,120.3070<3.5609.7410669K@28468709.??0.2+,368787@3-06.:+,3
.20.)*+,1.7,903-090@284687093+.68@73-06.:+,3060>0739)
WXX4YBCD32E4FBGCZ3JJ
L0M3.44.6.:+,31066O+23-0T0.27[+20\5+,3@2.?-81)
P) Q73-0]5N0139?.706K1681S3-0R2.<T.:+,3^06681+7)
9) Q73-0R+1,>073<874+<K42.<.70<1066873-09?.10506+<3-07./8@.38+7
5,33+73.560)
*+,2?.@09-+,646++S98>86.23+3-89_
P`P
123456478)*78+*8,-
.3,*6,*)*/0+61*23,
456789:;6;8<6=>5?>@@;8A<899;6><B8:68:6:C98DE>FG?>@F=99;887>F6>;6:B6F=67
:6:C98:5A:AA<899;9:68BD
HD 45678ICJ8<6;K:589G<9=<L678MB:FN:?>@6O:C98=<>5D
PD Q>R8678K>=568B6>678M><@S856F=5A>FD45678:B8:C89>F6789:?>@6<899?>@
J@;6:AA8AGAB:T678K>=568B6>678B=T766>:9=T5F=67678B=T76;=A8>U6786>KS>;6
<899V6785AB:TA>F56>678C>66>S>U678M><@S856F=5A>FD
W3*X)*/0+6.,33-47*1*23,
E>F:AA9:?>@6<899;=56>F7=<7?>@F=99:AA68Y6:C>@66B:R899><:6=>5;D
HD 45678ICJ8<6;K:589G<9=<L678MB:FN:?>@6Z899=<>5:5AS>R8678K>=568B6>678
9:?>@66:C98?>@J@;6AB8FD
PD MB:F:6:C98<899:KKB>Y=S:689?>58[67=BA678;K:<8=56786:C98D
\D Z9=<L678C>BA8B>U6789:?>@6<8996>;898<6=6V6785=5678]B>K8B6?=5;K8<6>B^;
_=Y8AU=89AG6?K8H`a6>;86678<899b;F=A67D
cD MB:F:5>678B6:C98<899:KKB>Y=S:689?>58[67=BA678;K:<8=56786:C9858Y66>678
U=B;6<899D
dD Z9=<L678C>BA8B>U6789:?>@6<8996>;898<6=6V6785=5678]B>K8B6?=5;K8<6>B^;
_=Y8AU=89AG6?K8H`a6>;86678<899b;F=A67D
eD MB:F6789:;66:C98<899=5678B8S:=5=5T;K:<8=56786:C98Df8;=g8>BS>R8678
<899;6>:AJ@;6678;=g8>BK>;=6=>5>U678<899;:;588A8AD
h>@B;<B885;7>@9A9>>L;=S=9:B6>67=;i
HjP
12345634732
9)* +,-./0+123.-
45678999:;<=>757;?@>58=@:<>8A;B:@8=C<:;A7:;D:<E6@8=BC<:;A7:;D:<F@
A;8=A:=6;=G6@8=B>H:IJK:L>@M;=:9N
ON P98LQ;=?7H:<:8=>H:95B59;?56>L:99R>H:>5MA5@>9;?56>L:99SN
P98LQ8=B8=;9;?56>L:99M9;L:@>H:8=@:<>85=M58=>8=>H:L:9978>H56>@:9:L>8=B>H:
L:99N
TN PH55@:U=@:<>VUA;B:N
WN U=>H:X:9:L>UA;B:X56<L:G8;95BJ5YZ95L;>:>H:P5AM;@@[X8>:\59G:<;=G
=;D8B;>:>5>H:]@@:>@\59G:<Z>H:=>H:8A;B:@\59G:<^L98LQ>H:L5AM;@@[95B5NB8\
>5@:9:L>8>N
_N `;Q:@6<:>H:a:9;>8D:b5M5Mc6MA:=695L;>:G;>>H:J5>>5A5\>H:G8;95BJ5Y
8@@:>>5C5L6A:=>Z>H:=L98LQX:9:L>Rd8=G57@S5<IM:=R`;L8=>5@HS>5@:9:L>
>H:8A;B:N
bH:8A;B:;MM:;<@8=>H:9;?56>L:99N
eN P98LQ;=?7H:<:8=>H:f:;<=`5<:]J56>9;?56>L:99>5M9;L:>H:8=@:<>85=M58=>
8=>H:L:99N
gN U=>H:IJK:L>@M;=:9F@P5AA5=L;>:B5<?ZL98LQ>H:U=@:<>UA;B:8L5=N
hN U=>H:X:9:L>UA;B:X56<L:G8;95BJ5YZ95L;>:>H:P5AM;@@[X8>:i]@@:>@i8A;B:@
\59G:<Z;=G=;D8B;>:>59:;<=`5<:]J56>NB8\^>H:=L98LQX:9:L>Rd8=G57@S5<IM:=
R`;L8=>5@HS>5@:9:L>>H:8A;B:N
bH:8A;B:;MM:;<@8=>H:9;?56>L:99N
jN PH55@:k89:VX;D:>5@;D:>H:LH;=B:@?56A;G:>5>H:H5A:M;B:N
l234m34/noon732+54p3
]<5995D:<8A;B:8@;=8A;B:7H5@:G8@M9;?LH;=B:@7H:=>H:M58=>:<M;@@:@Rq<599@qS
5D:<8>N45678996@:C<:;A7:;D:<F@U=@:<>a5995D:<UA;B:L5AA;=G>5L<:;>:>H<::
<5995D:<8A;B:@\5<>H:=;D8B;>85=J6>>5=@Eb<8Mr9;==:<ZC:@>8=;>85=@Z;=Gb<;D:9
f5B@N
]<5995D:<8A;B:L5=@8@>@5\>758A;B:@s>H:8A;B:G8@M9;?:G7H:=>H:M;B:\8<@>
95;G@8=>H:J<57@:<Z;=G>H:8A;B:G8@M9;?:G7H:=>H:M58=>:<A5D:@5D:<>H:
5<8B8=;98A;B:Nt:@6<:>56@:8A;B:@>H;>;<:>H:@;A:@8u:NbH:\8<@>8A;B:G8L>;>:@
>H:@8u:5\>H:G8@M9;?Z@58\>H:@:L5=G8A;B:8@A6LH@A;99:<5<A6LH9;<B:<Z>H:
<:@69>@7899955QG8@>5<>:G5<6=M<5\:@@85=;9N
v:Y>Z?567899;GG;=;D8B;>85=J6>>5=78>H;<5995D:<8A;B:>5?56<M;B:NbH:=?56
7899;GG>H:5>H:<=;D8B;>85=J6>>5=@;=GM<:D8:7>H:M;B:8=;J<57@:<>5>:@>>H:
<5995D:<@N
ON U=>H:C5L6A:=>78=G57ZL98LQ8=>H:\8<@>L:995\>H:=;D8B;>85=J6>>5=>;J9:N
bH8@>:99@C<:;A7:;D:<7H:<:?567;=>>H:8A;B:8=@:<>:GN
TN b58=@:<>;<5995D:<8A;B:ZG55=:5\>H:\599578=Bs
OjW
123456478)*78+*8,-
. /0123456650781395:;5<123=>?371@A803BC7BD7E123/0@3:1F5BB5G3:
/6893D750H
. 4255@3/0@3:1I/013:871DG3/6893IF5BB5G3:/6893H
JH /0123/0@3:1F5BB5G3:/6893KD8B59>5LC1;A3AB8003:D0123/6893M863<D3BKH
N2D@9DG3@123D68938O0DPO30863C80K68E3@D138@DB;DK301D<D8>B3D0123
QNRS75K3H
TH /0123=:D9D08B/6893<D3BKC7BD7EU:5V@3W123008GD981315R30ON:DAXB8003:H9D<
80K7BD7EY3B371Z[D0K5V@\5:=A30ZR87D015@2\H
N2D@13BB@]:386V38G3:V2D72D689315KD@AB8;V230123A893<D:@1B58K@H
^H /0123F5BB5G3:/6893<D3BKC7BD7EU:5V@3W123008GD981315
R30ON:DAXB8003:_50H9D<80K7BD7EY3B371Z[D0K5V@\5:=A30ZR87D015@2\H
N2D@13BB@]:386V38G3:V2D72D689315KD@AB8;V230123A5D013:D@5G3:123
5:D9D08BD6893H
`H R8E3@O:3123X:3B58KF5BB5G3:/68935A1D50D@@3B3713K@51281123:5BB5G3:
D6893@B58KV230123A893B58K@D0123>:5V@3:C30@O:D098POD7E1:80@D1D50
>31V330D6893@V2308O@3:65G3@123A5D013:5G3:1235:D9D08BD6893H
aH 4BD7E=b157B5@3123KD8B59>5LH
N23D68938AA38:@D0123K57O6301H
cH F3@Dd3123B8;5O173BB15<D1123D6893H
e3,*6,6f,g6f,3hgiigj,3kl*8,
M5V;5OVDBB8KK:5BB5G3:D6893@<5:1235123:08GD981D50>O1150@H
mH /0123]57O6301VD0K5VC7BD7ED0123@3750K08GD981D50>O115073BBW1230D0123
456650781395:;5<123=>?371@A803BC7BD7E123/0@3:1F5BB5G3:/6893D750H
nH /0123/0@3:1F5BB5G3:/6893KD8B59>5LC1;A3K3@1D081D50@D0123/6893M863
<D3BK15A:5GDK3123D68938O0DPO30863H
JH /0123=:D9D08B/6893<D3BKC7BD7EU:5V@3C123008GD98131580K@3B371
R30O]3@1D081D50@H9D<H
TH /0 123 F5BB5G3:/6893 <D3BKC7BD7E U:5V@3C1230 08GD9813 15 80K @3B371
R30O]3@1D081D50@_50H9D<H
^H R8E3@O:3123X:3B58KF5BB5G3:/68935A1D50D@@3B3713KC12307BD7E=b157B5@3
123KD8B59>5LH
`H /0123]57O6301VD0K5VC7BD7ED012312D:K08GD981D50>O115073BBW1230D0123
=>?371@A803Bo@456650781395:;C7BD7E123/0@3:1F5BB5G3:/6893D750H
aH /0123/0@3:1F5BB5G3:/6893KD8B59>5LC1;A31:8G3BB59D0123/6893M863<D3BK
15A:5GDK3123D68938O0DPO30863H
cH /0123=:D9D08B/6893<D3BKC7BD7EU:5V@3123008GD98131580K@3B371
R30ON:8G3BS59@H9D<H
pH /0 123 F5BB5G3: /6893 <D3BKC7BD7E U:5V@3 1230 08GD9813 15 80K @3B371
R30ON:8G3BS59@_50H9D<H
mcT
12345634732
9)*+,-./01.23.41.56,7865569.1:;,<.6=2>6?>//.5.@2.7A23.?@5>@-BC26@56/.
23.7>,56<D6E*
99*8./>F.23.2G65,H602@.55/26I>223.>;,<.*
J237K36LMN21MON53PQ
R60@,??629>.G165569.1D.3,9>61>?S1.,;G.,9.1T/S6@0;.?2G>?76GU165569.1
>;,<./G61-6?5H>?,D16G/.1*V6G.9.1AH60@,?=1.9>.G23.76@0;.?2>?
S1.,;G.,9.126/..>2/D16G/.1W1.5,2.7I0?@2>6?/*R6076?623,9.26/,9.23.
76@0;.?2D.I61.H60=1.9>.G>2*
9* 41.//X9Y26/..H60176@0;.?2>?,Z.DD16G/.1*
+69.23.;60/.=6>?2.169.123.165569.1>;,<./H60@1.,2.726/..23.;
@3,?<.*
Y* Z3.?H60I>?>/3=1.9>.G>?<23.I>5.A@56/.23.D16G/.1G>?76G*
[* 8.201?26S1.,;G.,9.1T/S6@0;.?2G>?76G,?7@366/.X>5.\],9.26/,9.
23.@3,?<./H60;,7.2623.36;.=,<.*
^_^ `abcdeecfe
g6GH60G>55,772.E2>?23.@.55/6I23.D6226;5,H6022,D5.*
:?S1.,;G.,9.1AH60@,?2H=.@6?2.?27>1.@25H>?26,5,H602@.55A61H60@,?@02,?7
=,/2.@6?2.?2I16;,?623.176@0;.?2>?26,5,H602@.55*:?23>/0?>2AH60G>55,772.E2
2623.5,H602@.55DH@6=H>?<,?7=,/2>?<@6?2.?2I16;,?.E>/2>?<2.E2I>5.26,5,H602
@.55*
9* h366/.X>5.\B=.?U23.?A>?23.h6;=,//i]>2.I657.1A6=.?
SZjiV6;.k.E2*2E2*
k3.SZjiV6;.k.E2*2E276@0;.?26=.?/>?,?.GS1.,;G.,9.1S6@0;.?2
G>?76G*
Y* :?SZjiV6;.k.E2*2E2/.5.@223.I>1/22G65>?./6I2.E2AlX5HX>/3>?<l23160<3
l1,9>65>*l
[* h366/.m7>2\h6=H26@6=H23.2.E2*
j* :?23.;Hih6;=,//V6;.76@0;.?2A@5>@->?23.I>1/25,H602@.55>?23.2.E2W
7./@1>=2>6?5,H6022,D5.*
n* h366/.m7>2\4,/2.26=,/2.23.2.E2>?2623.5,H602@.55*
o* :?SZjiV6;.k.E2*2E2/.5.@223.?.E22G65>?./6I2.E2Alp.9.5n8,=>7/l23160<3
l]>D.1>,*l
q* h366/.m7>2\h6=H26@6=H23.2.E2*
r* :?23.;Hih6;=,//V6;.76@0;.?2A@5>@->?23./.@6?7@.55>?23.2.E2
7./@1>=2>6?5,H6022,D5.*
s* h366/.m7>2\4,/2.26=,/2.23.2.E2>?2623.5,H602@.55*
9rn
123456478)*78+*8,-
./0123456789:;:<=0=<=>:?:@==A:?B>==C8?D2:>8E=:<=FGHIJ:=K8I2LMBNBOD2JG
=AP8IJAGHIJ:=K8I2L0G
..0Q8RN=A:=:<=F=A:2RB>=:D=D2=A:=ADPL@:??D2=A:?BN8I==BS?:0
.T0Q?8>:3456789:;:<=0=<=F=A:2@?D@OD2=A:9N6Q89RB>>789:0A=9?=89BO:D=
=A:B@=DU:L8@I9:2=0
VW3X*6Y,Z6
[8I@B2E8P9B==:<=D2=A:38@I9:2=CD2L8CSN>:==D2JRP8R:P=D:>D2=A:HP8R:P=N
D2>R:@=8P0\DP>=F>:?:@==A:=:<=N8ICB2==8E8P9B=FB2L=A:2BRR?N=A:@AB2J:>0[8I
CD??@AB2J:=A:E82==NR:B2L>D]:8E=A:=:<=0
.0 1E=A:HP8R:P=ND2>R:@=8PD>2^=8R:2F@A88>:4D2L8C_HP8R:P=D:>0
T0 12=A:EDP>==:<=L:>@PDR=D82?BN8I=@:??F>:?:@=B??=A:=:<=EP89=A:C8PLG\?NFG
=AP8IJA=A:?B>=C8PLGPBUD8?D0G
`0 12=A:HP8R:P=ND2>R:@=8P^>>:@82L\8P9B=R8RaIR9:2IFCAD@A@IPP:2=?NP:BL>
3:EBI?=\82=F>:?:@=b:PLB2BFcPDB?F7:?U:=D@BF>B2>a>:PDE0
50 12=A:KD]:R8RaIR9:2IF>:?:@=T0
;A:=:<=D2N8IPL8@I9:2=BI=89B=D@B??NIRLB=:>=8P:E?:@==A:@AB2J:>0
d0 e:R:B==A:BS8U:>=:R>=8>:?:@=B2LE8P9B==A:=:<=D2=A:8=A:P=C8=:<=a
L:>@PDR=D82?BN8I=@:??>0
f55ghiWgW3*7j16hg,
k8CN8ICD??BRR?NBLLD=D82B?E8P9B==D2J@AB2J:>=8=A:=:<=>I@AB>@AB2JD2J=A:
@8?8PB2L>=N?:=8@P:B=:A:BLD2J=:<=0
.0 12=A:EDP>==:<=L:>@PDR=D82?BN8I=@:??F>:?:@==A:A:BLD2J=:<=EP89=A:C8PL
G\?NG=AP8IJA=A:C8PLGl8I2=BD2>0G
T0 12=A:HP8R:P=ND2>R:@=8PF@?D@O=A:@8?8PRD@O:Pm=A:298U:=A::N:LP8RR:P=8=A:
n:BP2l8P:cS8I=D9BJ:D2=A:L8@I9:2=CD2L8CB2L>:?:@==A:SP8C2@8?8P8E
=A:=:<=D2=A:D9BJ:0
`0 K=D??D2=A:HP8R:P=ND2>R:@=8PF@?D@O=A:oD@82=8BRR?NS8?L>=N?:=8=A:=:<=0
50 e:R:B==A:BS8U:>=:R>=8BRR?N@8?8PB2L>=N?:=8=A:A:BLD2J=:<=D2=A:8=A:P
=:<=L:>@PDR=D82?BN8I=@:??>0
d0 HP:>>\.T=8RP:UD:CN8IPRBJ:D2BSP8C>:P0
[8IPRBJ:>A8I?L?88O>D9D?BP=8=A:RBJ:S:?8C0
k8=D@:=A:=:<=0;A:P:D>?D==?:>:RBPB=D82S:=C::2=:<=D282:?BN8I=@:??B2L=A:
2:<=F:>R:@DB??NS:=C::2=A:>:@82LB2L=ADPL@:??>0[8ICD??ED<=AB=D2=A:?B=:P
RBP=8E=A:I2D=0
p0 Q?8>:=A:SP8C>:PCD2L8CF=A:2@?D@OD2=A:38@I9:2=CD2L8C=89BO:D=B@=DU:0
.qp
12345634732
9)* +,-./0123013-14/5+
6789:;<=>?=@A>BCD:BD9EB78=FG9:;H>IC7G>@JKA9:GA89:L7F7MN:@;O9@;9D89:E
M>@=GF>B>O>F;@=F6789:;<=>?PL>E;7=FLA7FG>@O:@;I>L9OCB>;>M=FQ;7FM7EM
<=>?JHA>F89:@?=;LA;9Q;7FM7EM<=>?P89:?=BB@>>A9?RE>7O?>7<>E:@>@;7IB>@
;9LE>7;>89:EC7G>@;E:L;:E>JKA>6789:;;7IB>@=F6789:;<=>?7E>S;7IB>T;7G@=F
Q;7FM7EM<=>?J
U9?89:?=BBB>7EFA9?;9?9EV?=;A;7IB>@;9L9F;=F:>D=F>W;:F=FG89:EM>@=GFJ
X=E@;P89:?=BB@?=;LA;9RE>7O?>7<>EY@Q;7FM7EM<=>?J
Z [F;A>\IN>L;@C7F>BPLB=LV;A>Q;7FM7EM]=>?=L9FJ
^9:EC7G>@A9:BMB99V@=O=B7E;9;A>@LE>>FI>B9?J
13_`3aab2cd32_e3f
g>BBA>=GA;M>;>EO=F>@;A>A>=GA;9D;A>@C7L>?=;A=F7L>BBE9?JU9;=L>;A>@C7L>
7E9:FM;A>g9OC7@@B9G9J^9:?7F;;9E>O9<>;A>>h;E7@C7L>I>;?>>F;A>B9G97FM
F7<=G7;=9FI:;;9F@J
iJ gB=LV7F8?A>E>=F;A>IB7FV7E>79D;A>L>BBL9F;7=F=FG;A>g9OC7@@B9G9=O7G>
jI:;F9;;A>=O7G>=;@>BDkJ
lJ [F;A>L>BBmE9C>E;8=F@C>L;9EP=F;A>nD=>BMjA>=GA;kP;A7;L:EE>F;B8L9F;7=F@7
<7B:>PM>B>;>;A><7B:>J
oJ Q;=BB=F;A>mE9C>E;8=F@C>L;9EPLB=LV;A>pGL9B9EI9h=L9FB9L7;>M=F;A>I9;;9O
7E>79D;A>mE9C>E;8=F@C>L;9Eq;A>F:@>;A>>8>ME9CC>E;9@>B>L;IB7LVJ
KA>I7LVGE9:FML9B9E=@7CCB=>M;9;A>L>BBJ
rJ gB=LV7F8?A>E>=F;A>R9L:O>F;?=FM9?;9@>>;A>LA7FG>J
13a3s_etu424va3
U>h;89:?=BB7MN:@;;A>@C7L>=F;A>F7<=G7;=9FI:;;9F;7IB>JKA>>7@=>@;?78;9
@>B>L;7;7IB>=FQ;7FM7EM<=>?=@I8:@=FG;A>;7G@>B>L;9EP?A=LAM=@CB78@nKw6
;7G@9D>B>O>F;@=F;A>M9L:O>F;J
^9:?=BB:@>;A>;7G@>B>L;9E;9@>B>L;;A>;7IB>L9F;7=F=FG;A>F7<=G7;=9FI:;;9F@J
iJ gB=LV=F;A>L>BB;A7;L9F;7=F@;A>KE=CmB7FF>E=O7G>J
U9;=L>;A>;7G@>B>L;9E7;;A>I9;;9OB>D;9D;A>R9L:O>F;?=FM9?J
U9;>xKA>;7G@=F89:E;7G@>B>L;9EO78<7E8I7@>M9F;A>F:OI>E9D;7IB>@89:
LE>7;>M?A=B>=F6789:;<=>?J
lJ [F;A>;7G@>B>L;9EPLB=LV;A>E=GA;O9@;S;7IB>T;7GJ
iyz
123456478)*78+*8,-
./012345672/089/:48;<4=:2=;>>2;=?;=46/:012/;@9A;094/<6004/0;<B2C
;/:012D=4>2=0E9/?>2504=/48=2FB250?>=4>2=092?F4=;0;<B2G
1,6H*IJ,K3L5,364,-
M48E4689BB6?20120;<B2D=4>2=0E9/?>2504=045B2;=0122N0=;?>;529/012
/;@9A;094/<6004/?0;<B2;/:04;::;<;5OA=46/:54B4=9/0120;<B2G
PG ./012D=4>2=0E9/?>2504=C5B95O012QB2;=R48S29A10?954/G.09?01204>B2F0
<6004/9/012B482=1;BF4F012D=4>2=0E9/?>2504=G
T122N0=;?>;529?=274@2:F=470120;<B2G
UG V09BB9/012D=4>2=0E9/?>2504=C5B95O012WAQ4B4=54B4=<4N954/C012/6?2012
2E2:=4>>2=04?2B25001254B4=<B;5OG
T12<B;5O<;5OA=46/:54B4=9?;>>B92:04012/;@9A;094/<6004/?0;<B2G
XYYZ,JJK*YY478
M2N0CE4689BB7;O251;/A2?0401252BB?01;054/0;9/02N0G[?E465;/?22C01202N09?
0445B4?2040122:A2?4F01252BB?G\4689BB;::>;::9/A0401252BB?04B2;@2=447
<20822/01202N0;/:52BB?G
PG QB95O9/012F9=?052BB9/01202N0:2?5=9>094/0;<B2G
UG ./0120;A?2B2504=C5B95O012=9A1074?0]0;<B2^0;A04?2B2500120;<B2G
_G ./012D=4>2=0E9/?>2504=`?Q2BBD;:F92B:C0E>2Pa04;::Pa>9N2B?4F?>;52
<20822/01202N0;/:0120;<B252BB?G
bG QB95O;/E812=29/012345672/089/:4804?2201251;/A2?G
cG V;@2E46=:45672/0G
def ghij Hki1hHilh)i1
T4?22;19A1mB2@2B=2>=2?2/0;094/4F012?0=6506=24F;B45;B?902CE466?2
3=2;782;@2=`?V902n;>@928G\465;/;B?46?2012?9027;>04;::/28F9B2?04012
?902C04;::C=274@2C;/:51;/A2B9/O?C;/:045=2;02;A=;>195F9B24F012?90201;0E46
5;/2N>4=004;/:>=9/0F=47;/97;A2m2:909/A;>>B95;094/G
T12?9027;>;B8;E?:9?>B;E?0121472>;A2F4=;?902;001204>4F0127;>o<2B48
0121472>;A2E465;/?2281951F9B2?0121472>;A2B9/O?04G
T12=2;=2;/67<2=4F8;E?04:2F9/2;?902`?1472>;A2GT122;?92?08;E04?20;
1472>;A29?<E6?9/A01254/02N072/689019/012V90289/:48G
Ppp
12345634732
9) *+,-./01/,/+123456/017,/18,9:58/5;3.1,/3-/,<1)=>6/017,/18,9:58,?95/
<,?,2+1@-055?1A,9:58B7,/1C,+1?)D
E) >9/017,/18,9:58F?G5-3+C5+:14+,?/@4,H0/I-+,-.=A,9:58?D54*59/45+I-+,-.
=J3-,9/5?0D/01;KL*5;M3??N5;1)0/;+:5-O;19/P/019,9/01-59/1Q/;19O@
-055?171/3?N5;1R3H1)
S) *+,-./017,/1J3M,-59,9/01/5M+16/341356/017,/18,9:58P/019,9/017,/1
J3MM5MIOM;19O@?1+1-/J3M39:C,+1?)
T017,/18,9:589583MM134?8,/0/85<,18?56K5O4+5-3+?,/1U59/01+16/,?3?,/1
;3M@80,-0H43M0,-3++K41M41?19/?/01-O4419/?/4O-/O4156/01*5;M3???,/1=8,/0
;KL*5;M3??N5;1)0/;+3?/0105;1M3H1D@39:59/014,H0/,?3+,?/56/01+5-3+
65+:14F?-59/19/?)
T01;KL*5;M3??N5;1)0/;+M3H1-O4419/+K03?95+,9.?)V5O8,++3::+,9.?/5/0,?
M3H1,9/0191Q/?1-/,5956/0,?O9,/)
G13<1/017,/18,9:585M19654958@?5/03/K5O-39?11058/01?,/1;3MH1/?
OM:3/1:3?K5O3::+,9.?/5/0105;1M3H1)
WXY Z[\]^_`a1_b`cd\ef
>;3H1?,9/01/5M341356/01*5;M3??05;1M3H1HO,:1<,?,/54?/5?M1-,6,-M3H1?59
/01?,/1)g58K5O8,++3::+,9.?654/0193<,H3/,592O//59?)
V5O8,++?11/03//014134139O;2145683K?/5-413/1+,9.?O?,9Hh413;813<14)
C,4?/@K5O8,++3::3+,9.645;/01T4,MR+39914,;3H1/5/01T4,MR+39914)0/;+M3H1
O?,9H/01R45M14/K,9?M1-/54)
9ij
123456478)*78+*8,-
./ 012345624761897:89;<=4>?=6?@2346?91A9B234CDEF9CGHIIJ9C4/32C=A6=461
46234BGH14/
K34CDEF9CGHIIJ9C4/32C=A6=4<4?9C4I234H?26L4761897/
M/ 01234N9?;C412761897:?=6?@234KB6GO=H114B6CHP491?429I4=4?262/
Q/ F399I4R61897SOB9G4B264I299G41234OB9G4B2D61IG4?29B6A626I1T2H=B4H8D
9G41/
K34OB9G4B2D61IG4?29B86IG=HDI61A9BCH2691H<9;2234I4=4?2486CHP4/
UV6,WK34X61@A64=8?912H61IH1;C<4BI6P1YZ[:9A241B4A4BB4829HIH1;==9B
\8;CCD\=61@:?B4H2487341D9;61I4B248234B9==9L4B6CHP4/N9192B4C9L4236I
?3HBH?24B/0276==I991<4B4G=H?487623234A6=41HC49A23489?;C412D9;=61@29/
]/ 01234OB9G4B2D61IG4?29B:?=6?@234A9=84B6?9129234B6P329A234X61@A64=8/
^/ 0123454=4?2_6=486H=9P<9`:<B97I429234F9CGHIIE5624A9=84BH18234129
NR]EKB6GO=H114B/32C=a?=6?@54=4?2YR61897I[9BbG41YcH?6129I3[29I4=4?2
234A6=4299G417341234KB6GO=H114B<;22916I?=6?@48/
K34A6=41HC4HGG4HBI61234X61@A64=89A234OB9G4B2D61IG4?29B/d97D9;76==
H88H=61@29234N4I261H2691I6CHP4;I61P234OB9G4B2D61IG4?29BH182345624
761897/
e/ F=6?@234262=4<HB9A234562476189729CH@462H?26L4:9B?399I4R61897S5624
_6=4I/f4I6g4D9;BN9?;C412761897:6A14?4IIHBD:I923H2D9;?H1G9I62691234
=4A2I6849A234N9?;C412761897H182345624761897I684<DI684/
h/ 01234N9?;C412761897:?=6?@234N4I261H2691I6CHP429I4=4?262/
i/ 01234OB9G4B2D61IG4?29B:?=6?@234NBHP29_6=46?91Y=9?H24829234B6P329A234
X61@A64=8[:23418BHP234G96124B292345624761897H1861234X9?H=_9=84BX6I2:
G961229234A6=4NR]EN4I261H2691I/32C=/
K34A6=41HC4HGG4HBI61234X61@A64=861234OB9G4B2D61IG4?29BA9B234GB98;?2I
6CHP4/
j/ F=6?@2345624cHG6?91612345624761897/K34I624CHGP42I;G8H24829B4A=4?2
234=61@D9;k;I2H8848/
.jl
12345634732
9)*+,-./,01223455672890*3025:3,053;7)02<0=753,5:755:390*3=625702,
*02>,5665:3?<6=+;325,@A*0=>5:3)*+,,0125634)72<5:3,053;7)56<0,)*785:3
7,,6=0753<90*3,B=*0=>5:3;02+,-C/,01256=6**7),35:3,053;7)@
D345E86+F0**7<<7*02>96?5:3G?7H3*61,0;713@
IJ@K25:3L6=+;325F02<6FE=*0=>5:3G?7H3*61,0;71356,3*3=505@
II@K25:3M?6)3?5802,)3=56?E<?715:3M6025C56CN0*30=62565:3O053F02<6FE72<
)6025565:390*3LPQRG?7H3*61@:5;*@
IS@A:66,3N0*3TO7H356,7H35:3=:7213,86+:7H3;7<3565:3:6;3)713@
U3VWXYZ2[4\3
]6+=7226553,586+?*02>,02L?37;F37H3?B86+;+,5=:3=>86+?*02>,027^?6F,3?
56;7>3,+?35:3)713,6)3?7537,86+34)3=5@
I@ M?3,,NIS56)?3H03F5:3)713027^?6F,3?@
A*0=>5:327H0175062^+5562,56=:3=>86+?*02>,@A*0=>86+?^?6F,3?_,^7=>
^+556256?35+?25686+?:6;3)713@
S@ P:3286+7?39020,:3<53,502186+?)713E=:66,3N0*3TA*6,356=*6,35:3)713@
`a3bcXYZ2[2Y\23VVd
I@ P:757?35:3<0993?325<3,012H03F,7H70*7^*302L?37;F37H3?72<F:750,37=:
H03F+,3<96?e
fffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffff
ff
S@ P:75<686+;372^8g6**6H3?0;71372<:6F<686+=?3753623e
fffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffff
ff
hidj kl1mnopqrmsq
`a3bcXYZ2[2Y\23VVd
I@ 7@ t786+5u03Fv86+=72<3,012)713*786+5E02,3?51?7):0=,E72<65:3?
;3<07@
^@ O572<7?<u03Fv027<<050625602,3?50211?7):0=,534572<;3<07E86+=72
7*,602,3?5*783?,E=?37539?7;3<6=+;325,E=?375357^*3,Ew65:3?6)5062,
26502*786+5H03F
S@ 9?6**6H3?0;7130,720;713F:6,3<0,)*78=:7213,F:325:3)60253?)7,,3,
-x?6**y/6H3?05@9?6**6H3?0;713=62,0,5,695F60;713,v5:30;713<0,)*783<
F:325:3)71390?,5*67<,025:3^?6F,3?72<5:30;713<0,)*783<F:325:3
)60253?;6H3,6H3?5:36?01027*0;713@G6=?37537?6**6H3?0;713E<65:3
96**6F021z
{ K25:3=6;;62=75316?8695:36^|3=5)723*EK2,3?5g6**6H3?K;713K=62@
{ A:66,3K2,3?5TK253?7=50H3K;713Tg6**6H3?K;713@
{ K2,3?55:3K2,3?5g6**6H3?K;713L07*61^64E58)327;3695:3K;71302
K;713D7;3N03*<@
I}I
123456478)*78+*8,-
. /012345676089/:873;639<=>393?11236:87314<6>@98AB230123@873
948<>C
. /0123D4994E35/:873;639<=>393?1123/:87314<6>@98AB230123:4F>3
@4601356>4E3512345676089/:873C
. G53948<D4994E35/:873>24F9<H3>393?13<14948<12354994E356:873
B230123@873B230123@8736>60616899A948<3<148E46<<398A>C
. I96?JKL14?94>3123<68947H4MC
NOP
HTML (Hypertext
SECTION 1 HTML (HYPERTEXT MARKUP Markup Language)
LANGUAGE)
Structure
1.0 Basics of HTML
1.1 How to Create HTML Document?
1.2 Steps for Creating a Simple HTML Program
1.3 Exercises for Practice in Lab Sessions
No matter where they originated, most Web documents are created using Hypertext
Markup Language (HTML). HTML is a powerful authoring language and has
different versions like HTML 4.2, HTML 4.0, HTML 3.2, HTML 3.0 and HTML 2.
HTML is used to define document structure and format, with the help of a single tag
or a pair of tags. A tag is a string in the language surrounded by a less than (<) and a
greater than (>) sign. An opening tag does not begin with a slash (/). An ending or
closing tag is a string that begins with a slash (/).
HTML documents format textual information with embedded markup tags that
provide style and structure information. A whole document in HTML begins with
<HTML> and ends with </HTML>.
5
Lab Manual 2. Begin with a document type tag and an <HTML> opening tag. Enter the
following line in your doc.
<HTML>
3. Indicate that you are beginning the head element of a document by issuing the
<HEAD> opening tag. If a <HEAD> element is included, it must appear within
an <HTML> element. The following line should appear next in your document:
<HEAD>
6. At this point the body of the document is developed. A <BODY> opening tag
indicates that this point has been reached. Enter the following line.
<BODY>
7. In the following example, the body of the document contains a simple text
statement which you can now enter in your file:
Hello World !
8. A </BODY> closing tag marks the end of the <BODY> element. Similar to the
Head element, the <BODY> element is also completely nested within the
<HTML> element. To end the <BODY> element, issue the closing
corresponding tag in your document.
</BODY>
6
HTML (Hypertext
Markup Language)
11. To view the document open the .html document in the browser.
2. Create an HTML document giving details of your name, age, telephone number,
address, TLC code & enrolment number aligned in proper order.
SESSION 2
Exercises
1. Create a page to show different attributes of Font tag.
3. Design a page having background colour yellow, giving text colour red and
using all the attributes of font tab.
SESSION 3
Exercises
1. Write an HTML code to create a Web page of blue color and display links in
red colour.
2. Write an HTML code to create a Web page that contains an image at its center.
3. Create a Web page with appropriate content and insert an image towards the left
hand side of the page. When user clicks on the image, it should open another
Web page.
7
Lab Manual SESSION 4
Exercises
1. Create a Web page using href attribute of anchor tag & the attribute: alink, vlink
etc.
2. Create a Web page, wherein when the user clicks on the link it should go to the
bottom of the page.
3. Write HTML code to create a Web page of pink colour and display a moving
message in red colour.
SESSION 5
Exercises
1. Create a Web page, showing an ordered list of the names of five of your friends.
2. Create an HTML document containing a nested list showing the content page of
any book
3. Create a web page, showing an unordered list of names of five of your friends.
SESSION 6
Exercises
1. Create a Web page, which should contain a table having two rows and two
columns.
2. Fill in some dummy data in the table created by you in question 1 of this session.
SESSION 7
Exercises
1. Create the following table
Colour (White)
RED GREEN BLACK
Image 1
Image 2
Image 3
SESSION 8
Exercises
1. What are HTML Physical style tags and Logical style tags?
2. Which HTML tag allows you to scroll text on the Web page?
4. Design an HTML Page for the “Block Introduction” of this book: The page
should allow scrolling and the code should contain a comment header with your
name and enrolment number.
SESSION 9
Exercises
1. What difference does it make if we express the width of a table in percentage or
in pixel value? And how do we set the width of a particular column or cell in a
table?
1 2 3 4
5 6
Image
7 8
9 10 11 12
3. Create a Web page that should contain a table having seven rows and four
columns, along with the attributes – colspan & rowspan.
SESSION 10
Exercises
1. What are the different versions of HTML?
9
Lab Manual
SECTION 2 ADVANCED HTML
Structure
2.0 Advanced Topics of HTML
2.1 Exercises for Practice in Lab Sessions
Frame pages are basically an HTML file which break the browser window up into
separate parts or frames. In each frame a different HTML file can be loaded.
The basic idea of an HTML form is the same as that of a paper form. HTML deals
with forms exactly the same way you would with a paper form. There are groups of
items and single items all gathered together in one large form, like a paper form.
SESSION 2
Exercises
1. Write an HTML code to develop a Web page having two frames that divide the
Web page into two equal rows.
2. Write an HTML code to develop a Web page having two frames that divide the
Web page into two equal rows and then divide the second row into two equal
columns.
3. Write an HTML code to develop a Web page having frames as described in the
above question and then fill each frame with a different background colour.
SESSION 3
Exercises
1. What are the tags used to display information for browsers that do not support
frames?
3. Write a code in HTML to design a page with two frames. The frame should
10 remain proportionate even when page is resized.
SESSION 4 Advanced HTML
Exercises
1. Write the code to develop a Web page, as shown below, using frames:
2. Write the code to make the background colour of each frame in the above
question different.
SESSION 5
Exercises
1. Create a Web page having two frames, one containing links and the containing
content of the links. When link is clicked, appropriate contents should be
displayed in Frame 2.
TLC Information
3. Create a Web page using all the attributes of the frame and other tags.
SESSION 6
Exercises
1. Design a page with a text box called ‘name’ and a button with label ‘Enter.
When you click on the button another page should open, with the message
“Welcome <name>”, where name should be equal to the name entered in the
first page.
3. Set default value of ‘name’ text box of question 1 of this session to Victoria.
Add another button called Reset on click of this button name ‘text box’ should
be set to 100 default value.
SESSION 7
Exercises
1. Design a form using all input types. 11
Lab Manual 2. Create a simple form accepting:
Name
Enrolment Number
And Submit button
SESSION 8
Exercises
1. Design a Web Page, which is like ‘compose’ page of e-mail
To
Copy
Message:
Send
3. Write a code to create a Web page having radio buttons labeled as name of
colours. Clicking on each radio button should change the colour of the Web
page.
SESSION 9
Exercises
1. What is the purpose of hidden field?
SESSION 10
Exercises
1. Design a series of three HTML Pages for ABC. COM each called from the
previous one. Accept Name on the first page. When the user clicks on the enter
button, second page should open. The second page should not display the name
but a ‘Welcome screen with some information about ABC.COM. When the user
will click on the ‘next’ button it should display the name accepted in page 1 on
page 3.
(Hint: you may use hidden fields)
2. Create a Web page; divide that page into two frames. In one frame create two
links that will display different HTML forms in the other frame.
12
JavaScript
SECTION 3 JAVASCRIPT
Structure
3.0 Script Basics
3.1 Incorporating JavaScript into a Web Page
3.2 Exercises for Practice in Lab Sessions.
Today’s Web sites include graphics, sound animation, video and sometimes even
useful content! Web scripting languages, such as JavaScript, are one of the easiest
ways to spice up the Web page and to interact with users in new ways, HTML, unlike
which is a simple text markup language, which can’t respond to the user, make
decisions, or automate repetitive tasks. Web scripting languages allow you to
combine scripting with HTML to create interactive Web pages.
The <SCRIPT> tag tells the browser to start treating the text as a script, and the
</SCRIPT> tag returns to the regularly scheduled HTML as given below. Note that
the file will be stored as .html or .htm.
13
Lab Manual
In this example, we placed the script within the body of the HTML document. There
are actually four different places where you can use scripts:
! In the body of the page. In this case, the output of the script is displayed, as part
of the HTML document, when the browser loads the page.
! In the header of the page, between the <HEAD> tags. Scripts in the header
aren’t executed immediately, but can be referred to by other scripts. The header
is often used for functions.
14
! Within an HTML tag. This is called an event handler and allows the script to JavaScript
work with HTML elements. Event handlers are one type of script where you
don’t need to use the <SCRIPT> tag.
! In a separate file entirely JavaScript supports the use of files with the .js
extension containing scripts; these can be included by specifying a file in the
<SCRIPT> tag. This feature works only in Netscape Navigator 3.0 or later and
Internet Explorer 4.0 or later.
2. Embed JavaScript in HTML document asking user’s name and then printing
Hello <User_Name>
SESSION 2
Exercises
1. Evaluate the expression:
a. 7+5
b. “7” + “5”
c. 7*5
d. 7/5
e. 7%5
2. Write the segment of Script that would ask the user if he wants a greeting
message and if he does, display a Gif file called Welcome .gif and display
“Welcome to Netscape Navigator!” in the document window following the Gif
3. Write the object definition for an object called car with four properties model,
make, year & price.
SESSION 3
Exercises
1. Write a program to display a multiplication table.
SESSION 4
Exercises
1. Write a program to move a text with mouse pointer.
15
Lab Manual 3. Create a Web page using two image files, which switch b/w one another as the
mouse pointer moves over the image. Use the On Mouse over and On Mouse
out event handler
SESSION 5
Exercises
1. Write a JavaScript code to accept radius & display the area of the circle.
2. Use the date function get Date & set Date to prompt the user for an integer b/w
1 – 31 & return day of the week it represents.
3. Display time and print message accordingly e.g., ‘Good Morning’ in Morning
etc.
SESSION 6
Exercises
1. Using JavaScript create a digital clock.
SESSION 7
Exercises
1. Using JavaScript create a calculator.
SESSION 8
Exercises
1. Create an HTML form that has a number of text boxes. The user fills the
textboxes with data. Write a script that verifies that all textboxes have been
filled. If a text box has been left empty pop up an alert message indicating the
box that has been left empty. When OK button is clicked, set focus to that
specific textbox. If all the textboxes are filled, display thank you.
SESSION 9
Exercises
1. Create an HTML form that inputs employee details and display the same on the
HTML page.
2. Write a program, which prompts the user to enter a sum of two numbers and
display whether the answer is correct or incorrect.
SESSION 10
Exercises
1. Illustrate how the reset button on form functions.
SESSION 11
Exercises
1. Create a program to generate a hit counter.
16
2. Create a program to verify whether email address provided by the user is valid JavaScript
or invalid.
SESSION 12
Exercises
1. Write a program to scroll the text on status bar.
SESSION 13
Exercises
1. The form consists of two multiple choice lists and one single choice list
a. The first multiple choice list displays the major dishes available.
b. The second multiple choice list displays the stocks available.
c. The single choice list displays the miscellaneous (Milkshakes, soft drinks,
softy etc. available)
SESSION 14
Exercises
1. Create a Web page with two forms, one office copy and one customer copy
when user enters date in customer copy it gets updated in office copy.
SESSION 15
Exercises
1. Use JavaScript for authentication and verification of the textboxes in the static
site developed by the student in the HTML exercise.
17
Lab Manual
SECTION 4 VBSCRIPT
Structure
4.0 VBScript Basics
4.1 Incorporating VBScript into HTML Page
4.2 Exercises for Practice in Lab Sessions
The Web browser receives scripts along with the rest of the Web document. The
browser parses and processes the scripts. HTML was extended to include a tag that is
used to incorporate scripts into HTML-the <SCRIPT> tag.
The LANGUAGE attribute of SCRIPT tag specifies the language used for scripting.
Scripts are usually placed at the top of the Web document, in the HEAD. There are
four different places where you can use scripts:
! In the body of the page. In this case, the output of the script is displayed, as part
of the HTML document, when the browser loads the page.
! In the header of the page, between the <HEAD> tags. Scripts in the header
aren’t executed immediately, but can be referred to by other scripts. The header
is often used for functions-groups of VBScript statements that can be used as a
group.
! Within an HTML tag. This is called an event handler and allows the script to
work with HTML elements. Event handlers are the one type of script where you
don’t need to use the <SCRIPT> tag.
! In a separate file entirely.
Not all browsers support scripting languages. To handle such browsers you can
enclose your script in comment tags (<!-- and -->).
2. Create a Web page that displays a message box with the message:
“Welcome to my Website”
SESSION 2
Exercises
1. Write a VBScript code that accepts the length, breadth and height and displays
the area of a rectangle.
SESSION 3
Exercises
1. Write a programme, which prompts, the user to enter the sum of two numbers
and display whether the answer is correct or incorrect.
SESSION 4
Exercises
1. Create a programme to check for null or empty string.
2. Create a form that has an e-mail field. Now write VBScript code for validation
of the email address.
SESSION 5
Exercises
1. List the Mouse and Keyboard events in VBScript.
SESSION 6
Exercises
1. Create a form in HTML containing the following fields and then perform the
validation of each field using VBScript.
Name - textbox
Address - textbox
Date of Birth - a combo box (one for each, day, month and
year)
Email - textbox
2. How do you declare variables in VBScript and enlist the various variables-
naming rules.
19
Lab Manual SESSION 7
Exercises
1. What is the purpose of Option Explicit in VBScript code?
2. Using an HTML form accept the Principal, Rate of Interest and Time from the
user, validate the three fields and then display the Simple Interest to the user.
SESSION 8
Exercises
1. Create a programme that accepts the time from the system clock and
accordingly displays a Good Morning, Good Afternoon or Good Evening
message to the user. Use If – Then – Else statement.
SESSION 9
Exercises
1. Write a programme in VBScript that uses For..Next looping statement to create
a Fibonacci series.
SESSION 10
Exercises
1. Write a programme that displays the multiplication of two matrices.
3. Write a programme that accepts a number from the user and displays its
factorial only if it is a prime number.
20
Dreamweaver
SECTION 5 DREAMWEAVER
Structure
5.0 How to Work in Dreamweaver?
5.1 How to Save your File?
5.2 Menu
5.3 Adding Layers to the Timeline and Giving Motion to the Layer.
5.4 Inserting Scripts
5.5 Inserting External Media in the Web Page
5.6 Adding SSI (Server-side include to the Page)
5.7 Adding CSS Style to your Page
5.8 Adding XML Files to your Page
5.9 To Export a Dreamweaver Document as XML File
5.10 Exercises for Practice in Lab Sessions.
21
Lab Manual
On opening Dreamweaver you will see 3 main windows, (1) Object; which contains
Character, Common, Forms, Frames, Head and Invisible. Many options are available
under these, like under common where you will get, insertion of image, rollover
image, layer, tabular data, horizontal bar, line break, email link, date, flash movie,
fireworks object, shockwave file, generator, plug-ins, active x controls, SSI etc.
under character in which you will find some special character/symbols like ©, ®, £,
¥, ™ etc; under frames where you will find different type/style of frames; under
forms where you will find all the elements of forms, like text box, password box,
radio button, check box, selection box, jump menu, submit & reset button etc. (2)
Properties; which provides the properties of the selected object/item, page properties
etc; (3) Launcher; which contains: Site, Library, HTML Style, CSS Style,
Behaviours, History, HTML Source; On clicking any of the items on the Launcher
the subsequent window opens up.
Before creating your Web page you have to create a Root directory in which all of
your work will be saved. Then in Dreamweaver create a Site and Provide the Root
Directory (which you have created). To do this:
Step 1: Select Site from Launcher window
Step 2: Click on Define Site
Step 3: Click on NEW
Step 4: Give a name under “Site Name”
Step 5: Select the folder by browsing under “Local root folder”
Step 6: Click on OK
Step 7: Click on DONE
5.2 MENU
File Menu: Under it we have New, Save, Save as, Save as template, Import, Export,
Preview in browser etc. options.
Edit Menu: In this menu we have Cut, Copy, Paste, Undo, Redo, Select all, Find,
Replace, Preference etc. options which help us in editing the document.
View Menu: Rulers, Grids, Plugins etc. are available under this.
Insert Menu: It contains almost all the things, which are there, in the Object tool bar.
Modify Menu: Under this we have Page properties, selection properties, Make link,
remove link, link target, table, layer, frameset, library, template, timeline, translate
etc. This menu helps to modify the page by choosing the option as per requirement.
Text Menu: It helps to format the text written in the page by providing details, such
as indent, outdent, list (ol, ul, dl), alignment, font, style, size, size increase, size
22
Dreamweaver
decrease, HTML style, CSS style, colour etc. It also provides the facility to check the
spellings in the page.
Site Menu: This menu contains site files, site map, new site, open site, define site
options.
Window Menu: It contains all the different windows, like object, properties,
launcher, site file, site map, CSS, timeline, history, behaviour, layer, frame, library,
template etc.
23
Lab Manual
On choosing (a) of step 4 you will get a new screen in which you have to provide the
following details in Category:
i. Type: Provide the Font, Size, Style, Weight, Decoration, then click OK
ii. Background: provide a Colour or insert an image, then click OK
iii. Block: Give the alignment style, then click OK
iv. Box: Provide the margin setup of Top, Left, Right & Bottom, then click OK
v. Border: Provide the width & colour, then click OK
vi. List: Select the list type (OL, UL, DL), then click OK
vii. Positioning: Provide the style, Visibility, Z-index, Placement (Top, Left, Right
& Bottom), click OK.
After providing the details, select the style from the CSS style window. Choose
where to apply this style (body, p, layer etc.), by clicking on Apply button in the CSS
style window.
When an XML file is imported, Dreamweaver merges the XML content into the
Template, which is being specified in the XML file and shows the result in the
document window of Dreamweaver. If that specified Template is not found, then
Dreamweaver prompts you to select another Template for use.
The XML file should contain the name of the Template and editable region as XML
tags.
Example:
<doctitle>
<![CDATA[<title>newTemplate</title>]]>
</doctitle>
<Edit-Region>
24
Dreamweaver
<![CDATA[{Edit-Region}]]>
</Edit-Region>
Here doctitle identifies the title of the Template and edit-region identifies the editable
region.
But in a standard Dreamweaver file XML tags use the “item name”. The above
example (XML tags) is given below in standard Dreamweaver file:
<item name="doctitle">
<![CDATA[ <title>newTemplate</title>]]>
</item>
<item name="Edit-Region">
<![CDATA[{Edit-Region}]]></item>
</item>
Here “item name=doctitle” identifies the title of the Template and “item name=edit
region” identifies the editable region.
When the document is exported, the generated XML file contains the name of the
Template the document is using and all editable region names.
2. Design a Home page for a Toy Company. The page has an image as the
background. Do some attractive text formatting to the text written in the page.
3. Insert an image in your page. Give a zigzag motion to the image in your page.
(Hint: Using timeline)
SESSION 2
Exercises
1. Insert an image in a page. In the browser, when you take cursor over it, another
image emerges under it and when you click on the second image, it takes you
to exercise 2 of session 1.
2. Design a Web page which contains details about your TLC. Give links to a few
options. Also make a link “Mail Us”. On clicking this, it will open the
compose box for mailing to “bit@ignou.ac.in”.
25
Lab Manual
SESSION 3
Exercises
1. Show the course contents of HND in a table.
SESSION 4
Exercises
1. Design a form as shown below:
2. a. Include an SSI file in your document. Show the SSI file in this document.
b. Include an SSI file in your document. Don’t show the SSI file in this
document.
SESSION 5
Exercises
1. Show the course contents of HND in a table using XML and not HTML.
26
Dreamweaver
SESSION 6
Exercises
1. Create a website that divides the Web page into two unequal frames. In Frame
One, there are two links to two different forms. The forms are validated on
submitting and the result is shown at the bottom of the same page. Use CSS for
formatting.
SESSION 7
Exercises
1. Design a form, which has a list menu. On selecting any item from that menu it
jumps to the related page. Insert a “GO” button alongside the list menu.
SESSION 8
Exercises
1. Make a Web page to include:
1) a background image,
2) set the text colour to blue,
3) make 2 logos, link them to the IGNOU home page,
4) set the colour of all other text links black. (Use Hexadecimal
colour values rather than named colours).
Use Cascading Style Sheets to develop the above Web page
27
Lab Manual
</table>
<table>
<tr>
<td>
<input type="Button" value="Home">
<input type="Button" value="Contact Us">
<input type="Button" value="Feedback">
<input type="Button" value="Email">
<input type="Button" value="Help">
</td>
</tr>
</table>
</body>
</html>
SESSION 9
Exercises
1. Develop a Web page with the following enhancements:
! A rollover effect, where an image changes if the user places the mouse
over it.
! An animation that occurs in response to the user clicking on an image.
! A pull-down menu with each option linking to a specific page.
2. Design a Web page. Integrate images, audio, video and animation all in one
page.
SESSION 10
Exercises
1. Design a website about yourself (minimum 5-7 pages).
2. Design the home page using Frames. The top frame will contain a Flash
animation file (showing pictures of you from childhood to till date), the left
frame will contain all the links and the right page will contain “Welcome to
My Home Page”. When clicked on the links the related page will open in the
right frame.
28