iOS 常用变量

1. usr/include/Availability.h

/*

 * Copyright (c) 2007-2011 by Apple Inc.. All rights reserved.

 *

 * @APPLE_LICENSE_HEADER_START@

 * 

 * This file contains Original Code and/or Modifications of Original Code

 * as defined in and that are subject to the Apple Public Source License

 * Version 2.0 (the 'License'). You may not use this file except in

 * compliance with the License. Please obtain a copy of the License at

 * http://www.opensource.apple.com/apsl/ and read it before using this

 * file.

 * 

 * The Original Code and all software distributed under the License are

 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER

 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,

 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,

 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.

 * Please see the License for the specific language governing rights and

 * limitations under the License.

 * 

 * @APPLE_LICENSE_HEADER_END@

 */

 

#ifndef __AVAILABILITY__

#define __AVAILABILITY__

 /*     

    These macros are for use in OS header files. They enable function prototypes

    and Objective-C methods to be tagged with the OS version in which they

    were first available; and, if applicable, the OS version in which they 

    became deprecated.  

     

    The desktop Mac OS X and iOS each have different version numbers.

    The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop

    and iOS version numbers.  For instance:

        __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)

    means the function/method was first available on Mac OS X 10.2 on the desktop

    and first available in iOS 2.0 on the iPhone.

    

    If a function is available on one platform, but not the other a _NA (not

    applicable) parameter is used.  For instance:

            __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)

    means that the function/method was first available on Mac OS X 10.3, and it

    currently not implemented on the iPhone.


    At some point, a function/method may be deprecated.  That means Apple

    recommends applications stop using the function, either because there is a 

    better replacement or the functionality is being phased out.  Deprecated

    functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()

    macro which specifies the OS version where the function became available

    as well as the OS version in which it became deprecated.  For instance:

        __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)

    means that the function/method was introduced in Mac OS X 10.0, then

    became deprecated beginning in Mac OS X 10.5.  On iOS the function 

    has never been available.  

    

    For these macros to function properly, a program must specify the OS version range 

    it is targeting.  The min OS version is specified as an option to the compiler:

    -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z

    when building for the iPhone.  The upper bound for the OS version is rarely needed,

    but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for

    Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS.  

    

    Examples:


        A function available in Mac OS X 10.5 and later, but not on the phone:

        

            extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);



        An Objective-C method in Mac OS X 10.5 and later, but not on the phone:

        

            @interface MyClass : NSObject

            -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);

            @end


        

        An enum available on the phone, but not available on Mac OS X:

        

            #if __IPHONE_OS_VERSION_MIN_REQUIRED

                enum { myEnum = 1 };

            #endif

           Note: this works when targeting the Mac OS X platform because 

           __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero. 

        


        An enum with values added in different iPhoneOS versions:

enum {

    myX  = 1, // Usable on iPhoneOS 2.1 and later

    myY  = 2, // Usable on iPhoneOS 3.0 and later

    myZ  = 3, // Usable on iPhoneOS 3.0 and later

...

      Note: you do not want to use #if with enumeration values

  when a client needs to see all values at compile time

  and use runtime logic to only use the viable values.

 


    It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one

    source base that can be compiled to target a range of OS versions.  It is best

    to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.

    That is because you might get compiled on an old OS that does not define a later

    OS version macro, and in the C preprocessor undefined values evaluate to zero

    in expresssions, which could cause the #if expression to evaluate in an unexpected

    way.

    

        #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED

            // code only compiled when targeting Mac OS X and not iPhone

            // note use of 1050 instead of __MAC_10_5

            #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050

                // code in here might run on pre-Leopard OS

            #else

                // code here can assume Leopard or later

            #endif

        #endif



*/


#define __MAC_10_0      1000

#define __MAC_10_1      1010

#define __MAC_10_2      1020

#define __MAC_10_3      1030

#define __MAC_10_4      1040

#define __MAC_10_5      1050

#define __MAC_10_6      1060

#define __MAC_10_7      1070

#define __MAC_10_8      1080

#define __MAC_NA        9999   /* not available */


#define __IPHONE_2_0     20000

#define __IPHONE_2_1     20100

#define __IPHONE_2_2     20200

#define __IPHONE_3_0     30000

#define __IPHONE_3_1     30100

#define __IPHONE_3_2     30200

#define __IPHONE_4_0     40000

#define __IPHONE_4_1     40100

#define __IPHONE_4_2     40200

#define __IPHONE_4_3     40300

#define __IPHONE_5_0     50000

#define __IPHONE_5_1     50100

#define __IPHONE_6_0     60000

#define __IPHONE_NA      99999  /* not available */


#include <AvailabilityInternal.h>



#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED

    #define __OSX_AVAILABLE_STARTING(_osx, _ios) __AVAILABILITY_INTERNAL##_ios

    #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) \

                                                    __AVAILABILITY_INTERNAL##_iosIntro##_DEP##_iosDep


#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED)

    #define __OSX_AVAILABLE_STARTING(_osx, _ios) __AVAILABILITY_INTERNAL##_osx

    #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) \

                                                    __AVAILABILITY_INTERNAL##_osxIntro##_DEP##_osxDep


#else

    #define __OSX_AVAILABLE_STARTING(_osx, _ios)

    #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) 

#endif



#endif /* __AVAILABILITY__ */


2. usr/include/AvailabilityInternal.h

/*

 * Copyright (c) 2007-2011 by Apple Inc.. All rights reserved.

 *

 * @APPLE_LICENSE_HEADER_START@

 * 

 * This file contains Original Code and/or Modifications of Original Code

 * as defined in and that are subject to the Apple Public Source License

 * Version 2.0 (the 'License'). You may not use this file except in

 * compliance with the License. Please obtain a copy of the License at

 * http://www.opensource.apple.com/apsl/ and read it before using this

 * file.

 * 

 * The Original Code and all software distributed under the License are

 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER

 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,

 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,

 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.

 * Please see the License for the specific language governing rights and

 * limitations under the License.

 * 

 * @APPLE_LICENSE_HEADER_END@

 */


/*

    File:       AvailabilityInternal.h

 

    Contains:   implementation details of __OSX_AVAILABLE_* macros from <Availability.h>


*/

#ifndef __AVAILABILITY_INTERNAL__

#define __AVAILABILITY_INTERNAL__




#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED

    #ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__

        /* compiler sets __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ when -miphoneos-version-min is used */

        #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__

    #endif

#endif


#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED

    /* don't use visibility attribute for iPhoneOS */

    #define __AVAILABILITY_INTERNAL_DEPRECATED         __attribute__((deprecated))

    #define __AVAILABILITY_INTERNAL_UNAVAILABLE        __attribute__((unavailable))

    #define __AVAILABILITY_INTERNAL_WEAK_IMPORT        __attribute__((weak_import))

    #define __AVAILABILITY_INTERNAL_REGULAR            

#else

    #define __AVAILABILITY_INTERNAL_DEPRECATED         __attribute__((deprecated,visibility("default")))

    #define __AVAILABILITY_INTERNAL_UNAVAILABLE        __attribute__((unavailable,visibility("default")))

    #define __AVAILABILITY_INTERNAL_WEAK_IMPORT        __attribute__((weak_import,visibility("default")))

    #define __AVAILABILITY_INTERNAL_REGULAR            __attribute__((visibility("default")))

#endif


#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED

    /* make sure a default max version is set */

    #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED

        #define __IPHONE_OS_VERSION_MAX_ALLOWED     __IPHONE_6_0

    #endif

    /* make sure a valid min is set */

    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0

        #undef __IPHONE_OS_VERSION_MIN_REQUIRED

        #define __IPHONE_OS_VERSION_MIN_REQUIRED    __IPHONE_2_0 

    #endif


    #ifdef __has_attribute

        #if __has_attribute(availability)

            /* use better attributes if possible */

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0                    __attribute__((availability(ios,introduced=2.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0    __attribute__((availability(ios,introduced=2.0,deprecated=2.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __attribute__((availability(ios,introduced=2.0,deprecated=2.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __attribute__((availability(ios,introduced=2.0,deprecated=2.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __attribute__((availability(ios,introduced=2.0,deprecated=3.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1    __attribute__((availability(ios,introduced=2.0,deprecated=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __attribute__((availability(ios,introduced=2.0,deprecated=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=2.0,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=2.0,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=2.0,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=2.0,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=2.0,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=2.0,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=2.0,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=2.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1                    __attribute__((availability(ios,introduced=2.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __attribute__((availability(ios,introduced=2.1,deprecated=2.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __attribute__((availability(ios,introduced=2.1,deprecated=2.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __attribute__((availability(ios,introduced=2.1,deprecated=3.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1    __attribute__((availability(ios,introduced=2.1,deprecated=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __attribute__((availability(ios,introduced=2.1,deprecated=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=2.1,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=2.1,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=2.1,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=2.1,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=2.1,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=2.1,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=2.1,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=2.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2                    __attribute__((availability(ios,introduced=2.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __attribute__((availability(ios,introduced=2.2,deprecated=2.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __attribute__((availability(ios,introduced=2.2,deprecated=3.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1    __attribute__((availability(ios,introduced=2.2,deprecated=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __attribute__((availability(ios,introduced=2.2,deprecated=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=2.2,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=2.2,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=2.2,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=2.2,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=2.2,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=2.2,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=2.2,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=2.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0                    __attribute__((availability(ios,introduced=3.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __attribute__((availability(ios,introduced=3.0,deprecated=3.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1    __attribute__((availability(ios,introduced=3.0,deprecated=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __attribute__((availability(ios,introduced=3.0,deprecated=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=3.0,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=3.0,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=3.0,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=3.0,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=3.0,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=3.0,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=3.0,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=3.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1                    __attribute__((availability(ios,introduced=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1    __attribute__((availability(ios,introduced=3.1,deprecated=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __attribute__((availability(ios,introduced=3.1,deprecated=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=3.1,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=3.1,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=3.1,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=3.1,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=3.1,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=3.1,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=3.1,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=3.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2                    __attribute__((availability(ios,introduced=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __attribute__((availability(ios,introduced=3.2,deprecated=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=3.2,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=3.2,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=3.2,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=3.2,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=3.2,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=3.2,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=3.2,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=3.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0                    __attribute__((availability(ios,introduced=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __attribute__((availability(ios,introduced=4.0,deprecated=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=4.0,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=4.0,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=4.0,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=4.0,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=4.0,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=4.0,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=4.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1                    __attribute__((availability(ios,introduced=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __attribute__((availability(ios,introduced=4.1,deprecated=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=4.1,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=4.1,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=4.1,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=4.1,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=4.1,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=4.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2                    __attribute__((availability(ios,introduced=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __attribute__((availability(ios,introduced=4.2,deprecated=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=4.2,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=4.2,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=4.2,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=4.2,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=4.2)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3                    __attribute__((availability(ios,introduced=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __attribute__((availability(ios,introduced=4.3,deprecated=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=4.3,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=4.3,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=4.3,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=4.3)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0                    __attribute__((availability(ios,introduced=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __attribute__((availability(ios,introduced=5.0,deprecated=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=5.0,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=5.0,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=5.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1                    __attribute__((availability(ios,introduced=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __attribute__((availability(ios,introduced=5.1,deprecated=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=5.1,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=5.1)))

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0                    __attribute__((availability(ios,introduced=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __attribute__((availability(ios,introduced=6.0,deprecated=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA     __attribute__((availability(ios,introduced=6.0)))

            #define __AVAILABILITY_INTERNAL__IPHONE_NA                     __attribute__((availability(ios,unavailable)))

            #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA      __attribute__((availability(ios,unavailable)))

        #endif

    #endif


    #ifndef __AVAILABILITY_INTERNAL__IPHONE_2_0

        /* set up old style internal macros (up to 2.0) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_0

        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0    __AVAILABILITY_INTERNAL_DEPRECATED

        /* set up old style internal macros (up to 2.1) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_1

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 2.2) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_2

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 3.0) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_3_0

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 3.1) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_3_1

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_1    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 3.2) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_3_2

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_3_2    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 4.0) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_4_0

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_0    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 4.1) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_4_1

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL__IPHONE_4_1

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_1    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 4.2) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_4_2

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_4_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL__IPHONE_4_2

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_2    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 4.3) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_4_3

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL__IPHONE_4_3

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_4_3    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 5.0) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_5_0

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_4_3

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL__IPHONE_5_0

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_0    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 5.1) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_5_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_5_1

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_4_3

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_5_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL__IPHONE_5_1

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_5_1    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up old style internal macros (up to 6.0) */

        #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0                __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0                __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_6_0

        #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_2_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_3_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_2

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_3

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_4_3

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_5_0

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_5_0

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_5_1

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_5_1

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_5_1

        #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_REGULAR

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL__IPHONE_6_0

        #else

            #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_3_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_2_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_4_3_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_5_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_5_1_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__IPHONE_6_0_DEP__IPHONE_6_0    __AVAILABILITY_INTERNAL_DEPRECATED

        #endif

        /* set up internal macros (n/a) */

        #define __AVAILABILITY_INTERNAL__IPHONE_NA                     __AVAILABILITY_INTERNAL_UNAVAILABLE

        #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA      __AVAILABILITY_INTERNAL_UNAVAILABLE

    #endif


#elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)

    /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */

    #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__

    /* make sure a default max version is set */

    #ifndef __MAC_OS_X_VERSION_MAX_ALLOWED

        #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_10_8

    #endif


    #ifdef __has_attribute

        #if __has_attribute(availability)

            /* use better attributes if possible */

            #define __AVAILABILITY_INTERNAL__MAC_10_0                  __attribute__((availability(macosx,introduced=10.0)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_0    __attribute__((availability(macosx,introduced=10.0,deprecated=10.0)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1    __attribute__((availability(macosx,introduced=10.0,deprecated=10.1)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2    __attribute__((availability(macosx,introduced=10.0,deprecated=10.2)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3    __attribute__((availability(macosx,introduced=10.0,deprecated=10.3)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4    __attribute__((availability(macosx,introduced=10.0,deprecated=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5    __attribute__((availability(macosx,introduced=10.0,deprecated=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.0,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.0,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.0,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.0)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1                  __attribute__((availability(macosx,introduced=10.1)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1    __attribute__((availability(macosx,introduced=10.1,deprecated=10.1)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2    __attribute__((availability(macosx,introduced=10.1,deprecated=10.2)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3    __attribute__((availability(macosx,introduced=10.1,deprecated=10.3)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4    __attribute__((availability(macosx,introduced=10.1,deprecated=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5    __attribute__((availability(macosx,introduced=10.1,deprecated=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.1,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.1,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.1,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.1)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2                  __attribute__((availability(macosx,introduced=10.2)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2    __attribute__((availability(macosx,introduced=10.2,deprecated=10.2)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3    __attribute__((availability(macosx,introduced=10.2,deprecated=10.3)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4    __attribute__((availability(macosx,introduced=10.2,deprecated=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5    __attribute__((availability(macosx,introduced=10.2,deprecated=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.2,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.2,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.2,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.2)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3                  __attribute__((availability(macosx,introduced=10.3)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3    __attribute__((availability(macosx,introduced=10.3,deprecated=10.3)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4    __attribute__((availability(macosx,introduced=10.3,deprecated=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5    __attribute__((availability(macosx,introduced=10.3,deprecated=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.3,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.3,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.3,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.3)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4                  __attribute__((availability(macosx,introduced=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4    __attribute__((availability(macosx,introduced=10.4,deprecated=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5    __attribute__((availability(macosx,introduced=10.4,deprecated=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.4,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.4,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.4,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.4)))

            #define __AVAILABILITY_INTERNAL__MAC_10_5                  __attribute__((availability(macosx,introduced=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5    __attribute__((availability(macosx,introduced=10.5,deprecated=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.5,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.5,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.5,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.5)))

            #define __AVAILABILITY_INTERNAL__MAC_10_6                  __attribute__((availability(macosx,introduced=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6    __attribute__((availability(macosx,introduced=10.6,deprecated=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.6,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.6,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.6)))

            #define __AVAILABILITY_INTERNAL__MAC_10_7                  __attribute__((availability(macosx,introduced=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7    __attribute__((availability(macosx,introduced=10.7,deprecated=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.7,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.7)))

            #define __AVAILABILITY_INTERNAL__MAC_10_8                  __attribute__((availability(macosx,introduced=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8    __attribute__((availability(macosx,introduced=10.8,deprecated=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_NA      __attribute__((availability(macosx,introduced=10.8)))

            #define __AVAILABILITY_INTERNAL__MAC_NA                    __attribute__((availability(macosx,unavailable)))

            #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA        __attribute__((availability(macosx,unavailable)))

        #endif

    #endif


    #ifndef __AVAILABILITY_INTERNAL__MAC_10_0

        /* use old style attributes */

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_8

            #define __AVAILABILITY_INTERNAL__MAC_10_8        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_8

            #define __AVAILABILITY_INTERNAL__MAC_10_8        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_8        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_7

            #define __AVAILABILITY_INTERNAL__MAC_10_7        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_7

            #define __AVAILABILITY_INTERNAL__MAC_10_7        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_7        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_6

            #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6

            #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_5

            #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_5

            #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_UNAVAILABLE

        #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_WEAK_IMPORT

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_REGULAR

        #endif

        #define __AVAILABILITY_INTERNAL__MAC_NA             __AVAILABILITY_INTERNAL_UNAVAILABLE

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_1        __AVAILABILITY_INTERNAL__MAC_10_1

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_2

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_3

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_4

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_5

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_5

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_6

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_5

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_6

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_7

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_5

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_6

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_7        __AVAILABILITY_INTERNAL__MAC_10_7

        #endif

        #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_8

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

            #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8        __AVAILABILITY_INTERNAL_DEPRECATED

        #else

            #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_0

            #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_1

            #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_2

            #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_3

            #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_4

            #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_5

            #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_6

            #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_7

            #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_10_8        __AVAILABILITY_INTERNAL__MAC_10_8

        #endif

        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_0

        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_1

        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_2

        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_3

        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_4

        #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_5

        #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_6

        #define __AVAILABILITY_INTERNAL__MAC_10_7_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_7

        #define __AVAILABILITY_INTERNAL__MAC_10_8_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_8

        #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA               __AVAILABILITY_INTERNAL_UNAVAILABLE

    #endif

#endif


#endif /* __AVAILABILITY_INTERNAL__ */





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值