{
  "name": "TapjoyAdvertiserSDK",
  "version": "9.0.4",
  "license": {
    "type": "Commercial",
    "text": "    \n    https://dashboard.tapjoy.com/sdk/license\n    \n    Copyright © 2013 Tapjoy, Inc. All Rights Reserved\n    TAPJOY SDK DOWNLOAD LICENSE AGREEMENT\n\n    BY USING THE SDK, YOU AND THE COMPANY OR ENTITY THAT YOU REPRESENT (\"YOU\") ARE AGREEING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS TAPJOY SDK LICENSE AGREEMENT (\"AGREEMENT\"). IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, CLICK THE \"CANCEL\" BUTTON AND THE DOWNLOAD AND INSTALLATION PROCESS WILL NOT CONTINUE. IF THESE TERMS ARE CONSIDERED AN OFFER, ACCEPTANCE IS EXPRESSLY LIMITED TO THESE TERMS.\n\n        GRANT. Subject to Your compliance with all of the terms and conditions of this Agreement, Tapjoy, Inc. (\"Tapjoy\") hereby grants You (i) if you are a publisher, a limited, personal, non-sublicensable, non-transferable, royalty-free, nonexclusive license to copy, install and use the SDK development kit that You are about to download along with any documentation that accompanies it (collectively, the \"SDK\") solely for the purpose of internally creating end user mobile (including tablet) applications (\"Application(s)\") that are interoperable with the Tapjoy service (as such service is described at www.Tapjoy.com) (the \"Service\"), and (ii) if you are an advertiser, a limited, personal, non-sublicensable, non-transferable, royalty-free, nonexclusive license to copy, install and use the SDK solely for the purpose of advertising with the Tapjoy Service. You may exercise the foregoing license only within and for the benefit of Your organization. You shall not distribute the SDK to any third party.\n        USER DATA. You agree that the SDK will enable You to exchange Your user information with Tapjoy which may inculde UDID (unique device identifier), MAC address and OpenUDID. As a condition of any user of the SDKs, You must obtain express consent to collect and share user data with Tapjoy by including, as applicable, in Your terms of service and/or privacy policy provisions the following (or similar terms that are no less protective of Tapjoy):\n\n        You agree that in order to provide services to you which you have requested including relevant content and advertising, and to track and award virtual rewards, we may exchange information that we collect from you with third parties who help us perform these tasks and provide these products and services including UDID (unique device identifier), MAC address, OpenUDID, information about your device systems, application software and periphials, and the country setting on the device.\n        RESTRICTIONS. You shall not, directly or indirectly (or allow any third party to): use the SDK to create (or facilitate the creation of) any product or service that is competitive (in any way) with the Service; use the SDK for any commercial purpose (except to the extent, if you are a publisher, your Application(s) are considered to have a \"commercial purpose\"); rent or lease the SDK; use the SDK for timesharing or service bureau purposes, or otherwise for the benefit of third parties; use the SDK for performing comparisons or other \"benchmarking\" activities, either alone or in connection with any software (and You will not publish any such performance information or comparisons); use the SDK except as expressly licensed above; or remove or alter or obscure any proprietary notices from the SDK. Further, if Tapjoy makes available and You use the SDK in compiled form, You shall not decompile, reverse engineer, modify or create derivative works of the SDK (including the runtime components and any other portions thereof).\n        OWNERSHIP; FEEDBACK. As between the parties, title, ownership rights, and intellectual property rights in and to the SDK, and any copies or portions thereof, shall remain in Tapjoy and its suppliers or licensors. You agree that Tapjoy may collect and use comments, feedback, suggestions and other technical information provided by you, if any, related to the SDK, and that Tapjoy may use this information to improve, develop and otherwise provide applications, services and technologies. You understand that Tapjoy may modify or discontinue offering the SDK at any time. The SDK is protected by the copyright laws of the United States and international copyright treaties. Tapjoy reserves all rights in the SDK not expressly licensed above.\n        SUPPORT AND UPGRADES. If Tapjoy provides You with any upgrades, patches, enhancements, or fixes for the SDK, then the items that are provided will become part of the SDK and subject to this Agreement. Tapjoy shall have no obligation, however, under this Agreement to provide any upgrades, patches, enhancements, fixes or any other support to You for the SDK. Tapjoy may make such support services available to You under a separate agreement for a fee.\n        INDEMNITY. You agree that Tapjoy shall have no liability whatsoever for any use You make of the SDK. You hereby agree to indemnify and hold harmless Tapjoy from any and all claims, demands, damages, losses, liabilities, costs, and expenses (including attorney's fees) arising from Your use of the SDK.\n        WARRANTY AND DISCLAIMER. TAPJOY PROVIDES THE SDK \"AS IS\" AND WITHOUT WARRANTY OF ANY KIND, AND TAPJOY HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, PERFORMANCE, ACCURACY, RELIABILITY, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT.\n        LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES (AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE) SHALL TAPJOY OR ITS LICENSORS OR SUPPLIERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY: (I) DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER, EVEN IF FORESEEABLE, INCLUDING, WITHOUT LIMITATION, COST OF SUBSTITUTE TECHNOLOGY, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, (II) AMOUNTS IN THE AGGREGATE IN EXCESS OF US$100.00, OR (III) MATTERS BEYOND THEIR REASONABLE CONTROL.\n        TERMINATION. You may terminate this Agreement and the license granted herein at any time by destroying or removing from all hard drives, networks, and other storage media all copies of the SDK. Tapjoy may terminate this Agreement and the license granted herein immediately if You breach any provision of this Agreement. Upon receiving notice of termination from Tapjoy You agree to destroy or remove from such storage media all copies of the SDK. Sections 2 through 12 shall survive termination of this Agreement.\n        EXPORT CONTROLS. You shall comply with all export laws and restrictions and regulations of the Department of Commerce, the United States Department of Treasury Office of Foreign Assets Control (\"OFAC\"), or other United States or foreign agency or authority, and not to export, or allow the export or re-export of the SDK in violation of any such restrictions, laws or regulations. By downloading or using the SDK, You are agreeing to the foregoing and You are representing and warranting that You are not located in, under the control of, or a national or resident of any restricted country or on any such list.\n        U.S. GOVERNMENT RESTRICTED RIGHTS. Use, duplication or disclosure by the Government is subject to restrictions set forth in subparagraphs (a) through (d) of the Commercial Computer-Restricted Rights clause at FAR 52.227-19 when applicable, or in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause in DFARS 252.227-7013, and in similar clauses in the NASA FAR Supplement.\n        MISCELLANEOUS. You shall not assign or transfer any part of this Agreement to any third party. This Agreement represents the complete agreement concerning this license between the parties and supersedes all prior agreements and representations between them. If any provision of this Agreement is held to be unenforceable for any reason, such provision shall be reformed only to the extent necessary to make it enforceable. This Agreement shall be governed by and construed under California law as such law applies to agreements between California residents entered into and to be performed within California. Any disputes arising from this Agreement shall be subject to the sole and exclusive jurisdiction of, and venue in, the state and Federal Courts located in San Francisco, California (and the You hereby consent and submit to such jurisdiction and venue). The prevailing party in any action or proceeding to enforce this Agreement will be entitled to costs and attorneys' fees.\n\n    Tapjoy, Inc.\n    111 Sutter Street, 13th Floor\n    San Francisco, CA 94104\n\n    When you access and download the SDK, You may also have access to use the Silverlight SharpZipLib software product. The Silverlight SharpZip Lib software is licensed pursuant to the GNU General Public License version 2 (GPLv2), Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA which is available at http://slsharpziplib.codeplex.com/license (the \"License\"). Any use of Silverlight SharpZipLib shall be subject to the License. For a complete machine-readable copy of the Silverlight SharpZipLib 0.86.0.518 source code, please contact Tapjoy at the address set forth above or download it at: http://slsharpziplib.codeplex.com/releases/view/50561.\n\n    When you access and download the SDK, You may have access to use the UIDevice-with-UniqueIdentifier-for-iOS-5. The UIDevice-with-UniqueIdentifier-for-iOS-5 software is licensed pursuant to the MIT license as follows and available at https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5/blob/master/license. For a complete machine-readable copy of the UIDevice-with-UniqueIdentifier-for-iOS-5 source code, please contact Tapjoy at the address set forth above or download it at https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5:\n\n    Copyright (C) 2012, Georg Kitz, @gekitz\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n"
  },
  "summary": "Publisher libraries allow you to display advertisements in your app (including the offerwall) and / or acquire new users from Tapjoy.",
  "homepage": "http://www.tapjoy.com/",
  "authors": {
    "Tapjoy": "advertise@tapjoy.com "
  },
  "source": {
    "http": "https://s3.amazonaws.com/tapjoy/sdks/TapjoyAdvertiserSDK_iOS_v9.0.4.zip"
  },
  "platforms": {
    "ios": null
  },
  "source_files": "TapjoyAdvertiserSDK_iOS_v9.0.4/TapjoyAdvertiserLibrary/*.h",
  "preserve_paths": "TapjoyAdvertiserSDK_iOS_v9.0.4/TapjoyAdvertiserLibrary/TapjoyAdvertiserLibrary.a",
  "xcconfig": {
    "OTHER_LDFLAGS": "\"$(PODS_ROOT)/TapjoyAdvertiserSDK/TapjoyAdvertiserSDK_iOS_v9.0.4/TapjoyAdvertiserLibrary/TapjoyAdvertiserLibrary.a\""
  },
  "requires_arc": false
}
