{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf190
{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue255;\red255\green0\blue0;}
{\info
{\title Apple Inc.}
{\author Joyce Chow}
{\*\company Apple Inc.}}\margl1267\margr994\margb1080\margt634\vieww30680\viewh19140\viewkind0
\deftab720
\pard\pardeftab720\ri0

\f0\b\fs24 \cf0 Apple Inc.\
Software License Agreement for Web Inspector Images\
Internal Use License Only \'96 No Redistribution Permitted\
\
PLEASE READ THIS SOFTWARE LICENSE AGREEMENT ("LICENSE") CAREFULLY BEFORE USING THE APPLE SOFTWARE INCLUDED IN THIS PACKAGE.  BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE.  IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, DO NOT USE THIS SOFTWARE.\
\pard\pardeftab720\ri0

\b0 \cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri0

\b \cf0 1. General.
\b0   The Apple binary runtime software, Apple Web Inspector images, and documentation accompanying this License whether made available by Apple for download, on media, in read only memory or in any other form (collectively the \'93Apple Software\'94) are licensed, not sold, to you by Apple Inc. (\'93Apple\'94) and Apple\'92s licensors for use only under the terms of this License.  Apple and/or its licensors retain ownership of the Apple Software itself and reserve all rights not expressly granted to you. The terms of this License will govern any software updates provided by Apple that replace and/or supplement the original Apple Software, unless such update is accompanied by a separate license in which case the terms of that license will govern.\
\pard\pardeftab720\ri0
\cf0 \
\pard\pardeftab720\ri0

\b \cf0 2. Permitted License Uses and Restrictions; No Redistribution.
\b0   \
A.  As used in this License, the term \'93WebKit\'94 means the official WebKit Open Source Project that is hosted by Apple at {\field{\*\fldinst{HYPERLINK "http://www"}}{\fldrslt \cf2 \ul \ulc2 www.webkit.org}}, including any and all open source projects that are part of the official WebKit source tree at {\field{\*\fldinst{HYPERLINK "http://www.webkit.org"}}{\fldrslt \cf2 \ul \ulc2 www.webkit.org}}. This License does not extend to any other forks or branches of WebKit. Subject to the terms and conditions of this License:\
\
(i)  you may, in connection with your development of WebKit, use the Apple Software for personal use or internally within your business or organization, and you may make a reasonable number of copies of the Apple Software to the extent necessary to effect such internal use purposes; and \
\
(ii)  you may also make one copy of the Apple Software in machine-readable form for backup purposes only.\
\
You may not redistribute the Apple Software, in whole or in part. \
\
B.  In all cases, you must reproduce the Apple copyright notices that are on the original version of the Apple Software on each copy of the Apple Software that you make. If you provide copies of the Apple Software to others within your business or organization for their internal use in connection with WebKit, you must provide them with a copy of this License. You may not rent, lease, loan, sublicense, sell, transfer or otherwise redistribute the Apple Software, in whole or in part.  Except as and only to the extent expressly permitted in this License or by applicable law, you may not copy, decompile, reverse engineer, disassemble, modify, create derivative works of, incorporate into or compile in combination with your own programs, the Apple Software, in whole or in part.\
\

\b 3. Termination.
\b0   This License is effective until terminated.  Your rights under this License will terminate automatically without notice from Apple if you fail to comply with any term(s) of this License. Upon the termination of this License, you shall cease all use of the Apple Software and destroy all copies, full or partial, of the Apple Software.  Sections 3, 4, 5, 6, 8 and 9 of this License shall survive any such termination.\
\

\b 4.  Disclaimer of Warranties
\b0 . \
A.  YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE APPLE SOFTWARE IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU. \
\
B.  TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE APPLE SOFTWARE IS PROVIDED "AS IS", WITH ALL FAULTS AND WITHOUT WARRANTY OF ANY KIND, AND APPLE AND APPLE'S LICENSORS (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE PURPOSES OF SECTIONS 4 AND 5) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH RESPECT TO THE APPLE SOFTWARE, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NON-INFRINGEMENT OF THIRD PARTY RIGHTS.  \
\
C.  APPLE DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE APPLE SOFTWARE, THAT THE FUNCTIONS CONTAINED IN THE APPLE SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, THAT THE APPLE SOFTWARE WILL BE COMPATIBLE OR WORK WITH ANY THIRD PARTY SOFTWARE, APPLICATIONS, OR THIRD PARTY SERVICES, OR THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED. INSTALLATION OF THIS SOFTWARE MAY AFFECT THE USABILITY OF THIRD PARTY SOFTWARE, APPLICATIONS OR THIRD PARTY SERVICES. \
\
D.  NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY.  SHOULD THE APPLE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.  SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR LIMITATIONS ON APPLICABLE STATUTORY RIGHTS OF A CONSUMER, SO THE ABOVE EXCLUSION AND LIMITATIONS MAY NOT APPLY TO YOU.  \

\b \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri0
\cf0 5. Limitation of Liability.
\b0  TO THE EXTENT NOT PROHIBITED BY APPLICABLE LAW, IN NO EVENT SHALL APPLE BE LIABLE FOR PERSONAL INJURY, OR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA OR INFORMATION, BUSINESS INTERRUPTION OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO YOUR USE OR INABILITY TO USE THE APPLE SOFTWARE, HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY (CONTRACT, TORT OR OTHERWISE) AND EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY FOR PERSONAL INJURY, OR OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Apple's total liability to you for all damages (other than as may be required by applicable law in cases involving personal injury) exceed the amount of fifty dollars ($50.00). The foregoing limitations will apply even if the above stated remedy fails of its essential purpose.\
\pard\pardeftab720\ri0
\cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ri0

\b \cf0 6. Export Control.  
\b0 You may not use or otherwise export or reexport the Apple Software except as authorized by United States law and the laws of the jurisdiction in which the Apple Software was obtained. In particular, but without limitation, the Apple Software may not be exported or re-exported (a) into any U.S. embargoed countries or (b) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Department of Commerce Denied Person\'92s List or Entity List.  By using the Apple Software, you represent and warrant that you are not located in any such country or on any such list. You also agree that you will not use the Apple Software for any purposes prohibited by United States law, including, without limitation, the development, design, manufacture or production of missiles, nuclear, chemical or biological weapons.\
\

\b 7. Government End Users.
\b0   The Apple Software and related documentation are \'93Commercial Items\'94, as that term is defined at 48 C.F.R. \'a72.101, consisting of \'93Commercial Computer Software\'94 and \'93Commercial Computer Software Documentation\'94, as such terms are used in 48 C.F.R. \'a712.212 or 48 C.F.R. \'a7227.7202, as applicable.  Consistent with 48 C.F.R. \'a712.212 or 48 C.F.R. \'a7227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein.  Unpublished-rights reserved under the copyright laws of the United States.\
\

\b 8. Controlling Law and Severability
\b0 . This License will be governed by and construed in accordance with the laws of the State of California, excluding its conflict of law principles. This License shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly excluded. If for any reason a court of competent jurisdiction finds any provision, or portion thereof, to be unenforceable, the remainder of this License shall continue in full force and effect.\
\

\b 9. Complete Agreement.
\b0  This License constitutes the entire agreement between you and Apple relating to the use of the Apple Software and supersedes all prior or contemporaneous understandings regarding such subject matter. No amendment to or modification of this License will be binding unless in writing and signed by Apple. The parties hereto confirm that they have requested that this License and all related documents be drafted in English.\cf3 \
\pard\pardeftab720\ri0
\cf0 \
EA1013\
052413\
							\
}