PixelYourSite – Facebook Pixel (Events, WooCommerce & Easy Digital Downloads) - Version 7.1.8

Version Description

Download this release

Release Info

Developer PixelYourSite
Plugin Icon 128x128 PixelYourSite – Facebook Pixel (Events, WooCommerce & Easy Digital Downloads)
Version 7.1.8
Comparing to
See all releases

Code changes from version 7.1.7 to 7.1.8

Files changed (197) hide show
  1. composer.json +10 -0
  2. composer.lock +146 -0
  3. dist/scripts/public.js +37 -5
  4. facebook-pixel-master.php +2 -2
  5. includes/class-events-manager.php +127 -2
  6. includes/class-pys.php +70 -8
  7. includes/class-settings.php +50 -0
  8. includes/functions-admin.php +2 -72
  9. includes/functions-common.php +176 -1
  10. includes/options_defaults.json +6 -1
  11. includes/options_fields.json +6 -1
  12. includes/views/html-main-general.php +70 -3
  13. includes/views/html-main-woo.php +58 -2
  14. modules/facebook/PYSServerEventAsyncTask.php +40 -0
  15. modules/facebook/PYSServerEventHelper.php +177 -0
  16. modules/facebook/facebook.php +112 -13
  17. modules/facebook/function-helpers.php +17 -4
  18. modules/facebook/options_defaults.json +20 -1
  19. modules/facebook/options_fields.json +20 -1
  20. modules/google_analytics/ga.php +8 -3
  21. notices/0_clean.php +8 -1
  22. notices/1_from_pre_7x.php +5 -18
  23. notices/7_1_0.php +6 -18
  24. notices/7_1_8.php +43 -0
  25. pixelyoursite.php +1 -1
  26. readme.txt +12 -1
  27. vendor/composer/autoload_classmap.php +1 -0
  28. vendor/composer/autoload_psr4.php +1 -0
  29. vendor/composer/autoload_real.php +3 -0
  30. vendor/composer/autoload_static.php +13 -0
  31. vendor/composer/installed.json +92 -0
  32. vendor/facebook/php-business-sdk/fb_ca_chain_bundle.crt +3920 -0
  33. vendor/facebook/php-business-sdk/src/FacebookAds/AnonymousSession.php +35 -0
  34. vendor/facebook/php-business-sdk/src/FacebookAds/Api.php +247 -0
  35. vendor/facebook/php-business-sdk/src/FacebookAds/ApiConfig.php +29 -0
  36. vendor/facebook/php-business-sdk/src/FacebookAds/ApiRequest.php +219 -0
  37. vendor/facebook/php-business-sdk/src/FacebookAds/CrashReporter.php +216 -0
  38. vendor/facebook/php-business-sdk/src/FacebookAds/Cursor.php +536 -0
  39. vendor/facebook/php-business-sdk/src/FacebookAds/Enum/AbstractEnum.php +181 -0
  40. vendor/facebook/php-business-sdk/src/FacebookAds/Enum/EmptyEnum.php +56 -0
  41. vendor/facebook/php-business-sdk/src/FacebookAds/Enum/EnumInstanceInterface.php +91 -0
  42. vendor/facebook/php-business-sdk/src/FacebookAds/Exception/Exception.php +29 -0
  43. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/AbstractAdapter.php +56 -0
  44. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/AdapterInterface.php +64 -0
  45. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/AbstractCurl.php +130 -0
  46. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/Curl.php +101 -0
  47. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/Curl55.php +96 -0
  48. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/CurlInterface.php +106 -0
  49. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/CurlAdapter.php +201 -0
  50. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Client.php +220 -0
  51. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/AuthorizationException.php +29 -0
  52. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ClientException.php +29 -0
  53. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/EmptyResponseException.php +42 -0
  54. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/PermissionException.php +29 -0
  55. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/RequestException.php +248 -0
  56. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ServerException.php +29 -0
  57. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ThrottleException.php +29 -0
  58. vendor/facebook/php-business-sdk/src/FacebookAds/Http/FileParameter.php +89 -0
  59. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Headers.php +29 -0
  60. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Parameters.php +59 -0
  61. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Request.php +296 -0
  62. vendor/facebook/php-business-sdk/src/FacebookAds/Http/RequestInterface.php +169 -0
  63. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Response.php +125 -0
  64. vendor/facebook/php-business-sdk/src/FacebookAds/Http/ResponseInterface.php +73 -0
  65. vendor/facebook/php-business-sdk/src/FacebookAds/Http/Util.php +48 -0
  66. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger.php +276 -0
  67. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger/JsonAwareParameters.php +38 -0
  68. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger/JsonNode.php +196 -0
  69. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/LoggerInterface.php +54 -0
  70. vendor/facebook/php-business-sdk/src/FacebookAds/Logger/NullLogger.php +60 -0
  71. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractArchivableCrudObject.php +92 -0
  72. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractCrudObject.php +531 -0
  73. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractObject.php +185 -0
  74. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Ad.php +516 -0
  75. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccount.php +3220 -0
  76. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountActivity.php +80 -0
  77. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdRulesHistory.php +61 -0
  78. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdVolume.php +57 -0
  79. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountContentFilterLevelsInheritance.php +57 -0
  80. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountCreationRequest.php +103 -0
  81. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDefaultDestination.php +57 -0
  82. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDefaultObjective.php +61 -0
  83. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDeliveryEstimate.php +59 -0
  84. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountMatchedSearchApplicationsEdgeData.php +59 -0
  85. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountMaxBid.php +57 -0
  86. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountPromotableObjects.php +57 -0
  87. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountReachEstimate.php +57 -0
  88. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountRecommendedCamapaignBudget.php +57 -0
  89. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountRoas.php +57 -0
  90. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountSubscribedApps.php +64 -0
  91. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountTargetingUnified.php +67 -0
  92. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountTrackingData.php +57 -0
  93. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountUser.php +76 -0
  94. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdActivity.php +61 -0
  95. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpec.php +59 -0
  96. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecAssetLabel.php +57 -0
  97. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecBody.php +57 -0
  98. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecCaption.php +57 -0
  99. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecDescription.php +57 -0
  100. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecGroupRule.php +57 -0
  101. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecImage.php +57 -0
  102. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecLinkURL.php +57 -0
  103. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecTitle.php +57 -0
  104. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecVideo.php +57 -0
  105. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequest.php +105 -0
  106. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequestSet.php +167 -0
  107. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequestSetNotificationResult.php +57 -0
  108. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdBidAdjustments.php +57 -0
  109. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignActivity.php +92 -0
  110. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignBidConstraint.php +57 -0
  111. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignDeliveryEstimate.php +59 -0
  112. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignDeliveryStatsUnsupportedReasons.php +57 -0
  113. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignFrequencyControlSpecs.php +57 -0
  114. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignGroupActivity.php +84 -0
  115. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignIssuesInfo.php +57 -0
  116. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignLearningStageInfo.php +57 -0
  117. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignOptimizationEvent.php +57 -0
  118. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignPacedBidInfo.php +57 -0
  119. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreative.php +282 -0
  120. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeCollectionThumbnailInfo.php +57 -0
  121. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInsights.php +57 -0
  122. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInteractiveComponentsSpec.php +57 -0
  123. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkData.php +61 -0
  124. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataAppLinkSpec.php +57 -0
  125. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataCallToAction.php +59 -0
  126. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataCallToActionValue.php +57 -0
  127. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataChildAttachment.php +57 -0
  128. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataImageLayerSpec.php +71 -0
  129. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataImageOverlaySpec.php +69 -0
  130. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataSponsorshipInfoSpec.php +57 -0
  131. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataTemplateVideoSpec.php +57 -0
  132. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeObjectStorySpec.php +57 -0
  133. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePhotoData.php +57 -0
  134. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePlaceData.php +57 -0
  135. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePlatformCustomization.php +57 -0
  136. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePortraitCustomizations.php +57 -0
  137. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePostClickConfiguration.php +57 -0
  138. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeRecommenderSettings.php +57 -0
  139. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeStaticFallbackSpec.php +57 -0
  140. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeTemplateURLSpec.php +57 -0
  141. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeTextData.php +57 -0
  142. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeVideoData.php +57 -0
  143. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCustomizationRuleSpec.php +57 -0
  144. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdDynamicCreative.php +57 -0
  145. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdEntityTargetSpend.php +57 -0
  146. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdImage.php +264 -0
  147. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdKeywords.php +57 -0
  148. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdLabel.php +226 -0
  149. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdMonetizationProperty.php +183 -0
  150. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdNetworkAnalyticsAsyncQueryResult.php +57 -0
  151. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdNetworkAnalyticsSyncQueryResult.php +67 -0
  152. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSet.php +115 -0
  153. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSetMetadata.php +57 -0
  154. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacement.php +80 -0
  155. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPreview.php +68 -0
  156. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPromotedObject.php +59 -0
  157. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRecommendation.php +61 -0
  158. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRecommendationData.php +57 -0
  159. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdReportRun.php +168 -0
  160. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdReportSpec.php +103 -0
  161. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRule.php +215 -0
  162. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleEvaluationSpec.php +59 -0
  163. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleExecutionOptions.php +59 -0
  164. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleExecutionSpec.php +59 -0
  165. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleFilters.php +59 -0
  166. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistory.php +59 -0
  167. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistoryResult.php +59 -0
  168. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistoryResultAction.php +57 -0
  169. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleSchedule.php +57 -0
  170. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleScheduleSpec.php +57 -0
  171. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleTrigger.php +61 -0
  172. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdSet.php +702 -0
  173. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudy.php +251 -0
  174. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyCell.php +204 -0
  175. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjective.php +306 -0
  176. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjectiveID.php +57 -0
  177. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdVideo.php +695 -0
  178. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupActivity.php +84 -0
  179. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupIssuesInfo.php +57 -0
  180. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupPlacementSpecificReviewFeedback.php +57 -0
  181. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupRelevanceScore.php +57 -0
  182. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupReviewFeedback.php +57 -0
  183. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsActionStats.php +57 -0
  184. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsImageCrops.php +57 -0
  185. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsInsights.php +78 -0
  186. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsOptimalDeliveryGrowthOpportunity.php +57 -0
  187. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixel.php +436 -0
  188. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixelStats.php +57 -0
  189. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixelStatsResult.php +66 -0
  190. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsTALHealthCheckError.php +57 -0
  191. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AgeRange.php +57 -0
  192. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AgencyClientDeclaration.php +57 -0
  193. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Album.php +330 -0
  194. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AndroidAppLink.php +57 -0
  195. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AppRequest.php +104 -0
  196. vendor/facebook/php-business-sdk/src/FacebookAds/Object/AppRequestFormerRecipient.php +57 -0
  197. vendor/facebook/php-business-sdk/src/FacebookAds/Object/Application.php +668 -0
composer.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "pixelyoursite/pro",
3
+ "description": "Track conversions and every action on your online store",
4
+ "type": "project",
5
+ "require": {
6
+ "facebook/php-business-sdk": "6.0.0",
7
+ "glenscott/url-normalizer": "1.4.0",
8
+ "techcrunch/wp-async-task": "dev-master"
9
+ }
10
+ }
composer.lock ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "de7dcb29de2632a7e987ab99f4a3277f",
8
+ "packages": [
9
+ {
10
+ "name": "facebook/php-business-sdk",
11
+ "version": "6.0.0",
12
+ "source": {
13
+ "type": "git",
14
+ "url": "https://github.com/facebook/facebook-php-business-sdk.git",
15
+ "reference": "32c8678d3c50e0570b68d7cbb23062c16a5faf15"
16
+ },
17
+ "dist": {
18
+ "type": "zip",
19
+ "url": "https://api.github.com/repos/facebook/facebook-php-business-sdk/zipball/32c8678d3c50e0570b68d7cbb23062c16a5faf15",
20
+ "reference": "32c8678d3c50e0570b68d7cbb23062c16a5faf15",
21
+ "shasum": ""
22
+ },
23
+ "require-dev": {
24
+ "phpunit/phpunit": "~8",
25
+ "symfony/finder": "~2.6"
26
+ },
27
+ "type": "library",
28
+ "autoload": {
29
+ "psr-4": {
30
+ "FacebookAds\\": "src/FacebookAds/"
31
+ }
32
+ },
33
+ "notification-url": "https://packagist.org/downloads/",
34
+ "description": "PHP SDK for Facebook Business",
35
+ "homepage": "https://developers.facebook.com/",
36
+ "keywords": [
37
+ "ads",
38
+ "business",
39
+ "facebook",
40
+ "instagram",
41
+ "page",
42
+ "sdk"
43
+ ],
44
+ "time": "2020-02-03T20:06:10+00:00"
45
+ },
46
+ {
47
+ "name": "glenscott/url-normalizer",
48
+ "version": "1.4.0",
49
+ "source": {
50
+ "type": "git",
51
+ "url": "https://github.com/glenscott/url-normalizer.git",
52
+ "reference": "b8e79d3360a1bd7182398c9956bd74d219ad1b3c"
53
+ },
54
+ "dist": {
55
+ "type": "zip",
56
+ "url": "https://api.github.com/repos/glenscott/url-normalizer/zipball/b8e79d3360a1bd7182398c9956bd74d219ad1b3c",
57
+ "reference": "b8e79d3360a1bd7182398c9956bd74d219ad1b3c",
58
+ "shasum": ""
59
+ },
60
+ "require": {
61
+ "ext-mbstring": "*",
62
+ "php": ">=5.3.0"
63
+ },
64
+ "type": "library",
65
+ "autoload": {
66
+ "psr-4": {
67
+ "URL\\": "src/URL"
68
+ }
69
+ },
70
+ "notification-url": "https://packagist.org/downloads/",
71
+ "license": [
72
+ "MIT"
73
+ ],
74
+ "authors": [
75
+ {
76
+ "name": "Glen Scott",
77
+ "email": "glen@glenscott.co.uk"
78
+ }
79
+ ],
80
+ "description": "Syntax based normalization of URL's",
81
+ "time": "2015-06-11T16:06:02+00:00"
82
+ },
83
+ {
84
+ "name": "techcrunch/wp-async-task",
85
+ "version": "dev-master",
86
+ "source": {
87
+ "type": "git",
88
+ "url": "https://github.com/techcrunch/wp-async-task.git",
89
+ "reference": "9bdbbf9df4ff5179711bb58b9a2451296f6753dc"
90
+ },
91
+ "dist": {
92
+ "type": "zip",
93
+ "url": "https://api.github.com/repos/techcrunch/wp-async-task/zipball/9bdbbf9df4ff5179711bb58b9a2451296f6753dc",
94
+ "reference": "9bdbbf9df4ff5179711bb58b9a2451296f6753dc",
95
+ "shasum": ""
96
+ },
97
+ "require-dev": {
98
+ "10up/wp_mock": "dev-master",
99
+ "phpunit/phpunit": "*@stable"
100
+ },
101
+ "type": "wordpress-plugin",
102
+ "autoload": {
103
+ "classmap": [
104
+ "wp-async-task.php"
105
+ ]
106
+ },
107
+ "notification-url": "https://packagist.org/downloads/",
108
+ "license": [
109
+ "MIT"
110
+ ],
111
+ "authors": [
112
+ {
113
+ "name": "Alex Khadiwala",
114
+ "role": "developer"
115
+ },
116
+ {
117
+ "name": "Nicolas Vincent",
118
+ "role": "developer"
119
+ },
120
+ {
121
+ "name": "Eric Mann",
122
+ "email": "eric.mann@10up.com",
123
+ "role": "developer"
124
+ },
125
+ {
126
+ "name": "John P. Bloch",
127
+ "email": "john.bloch@10up.com",
128
+ "role": "developer"
129
+ }
130
+ ],
131
+ "description": "Run asynchronous tasks for long-running operations in WordPress",
132
+ "time": "2016-03-10T17:37:13+00:00"
133
+ }
134
+ ],
135
+ "packages-dev": [],
136
+ "aliases": [],
137
+ "minimum-stability": "stable",
138
+ "stability-flags": {
139
+ "techcrunch/wp-async-task": 20
140
+ },
141
+ "prefer-stable": false,
142
+ "prefer-lowest": false,
143
+ "platform": [],
144
+ "platform-dev": [],
145
+ "plugin-api-version": "1.1.0"
146
+ }
dist/scripts/public.js CHANGED
@@ -712,12 +712,41 @@ if (!Array.prototype.includes) {
712
  Utils.copyProperties(data, params);
713
  Utils.copyProperties(options.commonEventParams, params);
714
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
715
  if (options.debug) {
716
  console.log('[Facebook] ' + name, params);
717
  }
718
 
719
- fbq(actionType, name, params);
720
-
 
 
 
721
  }
722
 
723
  /**
@@ -768,9 +797,12 @@ if (!Array.prototype.includes) {
768
  if (options.facebook.removeMetadata) {
769
  fbq('set', 'autoConfig', false, pixelId);
770
  }
771
-
772
- fbq('init', pixelId, options.facebook.advancedMatching);
773
-
 
 
 
774
  });
775
 
776
  initialized = true;
712
  Utils.copyProperties(data, params);
713
  Utils.copyProperties(options.commonEventParams, params);
714
 
715
+ // fire server side event gdpr plugin installed
716
+ var isApiDisabled = options.gdpr.all_disabled_by_api ||
717
+ options.gdpr.facebook_disabled_by_api ||
718
+ options.gdpr.cookiebot_integration_enabled ||
719
+ options.gdpr.ginger_integration_enabled ||
720
+ options.gdpr.cookie_notice_integration_enabled ||
721
+ options.gdpr.cookie_law_info_integration_enabled;
722
+ if( ( "Purchase" === name || "CompleteRegistration" === name) && isApiDisabled){
723
+ var json = {
724
+ action: 'pys_api_event',
725
+ pixel: 'facebook',
726
+ event: name,
727
+ data:data
728
+ };
729
+ jQuery.ajax( {
730
+ type: 'POST',
731
+ url: options.ajaxUrl,
732
+ data: json,
733
+ success: function(){},
734
+ });
735
+ }
736
+
737
+ if("CompleteRegistration" === name && options.facebook.wooCRSendFromServer && options.facebook.serverApiEnabled) {
738
+ return;
739
+ }
740
+
741
  if (options.debug) {
742
  console.log('[Facebook] ' + name, params);
743
  }
744
 
745
+ if("Purchase" === name || "CompleteRegistration" === name) { // Deduplicate Pixel and Server-Side Events for Purchase event
746
+ fbq(actionType, name, params,{eventID:params.eventID});
747
+ } else {
748
+ fbq(actionType, name, params);
749
+ }
750
  }
751
 
752
  /**
797
  if (options.facebook.removeMetadata) {
798
  fbq('set', 'autoConfig', false, pixelId);
799
  }
800
+
801
+ if(options.facebook.advancedMatching.length === 0) {
802
+ fbq('init', pixelId);
803
+ } else {
804
+ fbq('init', pixelId, options.facebook.advancedMatching);
805
+ }
806
  });
807
 
808
  initialized = true;
facebook-pixel-master.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: PixelYourSite
5
  * Plugin URI: http://www.pixelyoursite.com/
6
  * Description: No codding <strong>Facebook Pixel</strong> and <strong>Google Analytics</strong> install. Track key actions with our Global Events, or configure your own events. WooCommerce and EDD fully supported, with Facebook Dynamic Ads Pixel set-up and Google Analytics Enhanced Ecommerce. Insert any custom script with our Head & Footer option. Add the <strong>Pinterest Tag</strong> with our free add-on. The PRO version adds support for the Google Ads tag plus a lot of extra stuff.
7
- * Version: 7.1.7
8
  * Author: PixelYourSite
9
  * Author URI: http://www.pixelyoursite.com
10
  * License: GPLv3
@@ -13,7 +13,7 @@
13
  * Tested up to: 5.4
14
  *
15
  * WC requires at least: 2.6.0
16
- * WC tested up to: 4.0
17
  *
18
  * Text Domain: pys
19
  */
4
  * Plugin Name: PixelYourSite
5
  * Plugin URI: http://www.pixelyoursite.com/
6
  * Description: No codding <strong>Facebook Pixel</strong> and <strong>Google Analytics</strong> install. Track key actions with our Global Events, or configure your own events. WooCommerce and EDD fully supported, with Facebook Dynamic Ads Pixel set-up and Google Analytics Enhanced Ecommerce. Insert any custom script with our Head & Footer option. Add the <strong>Pinterest Tag</strong> with our free add-on. The PRO version adds support for the Google Ads tag plus a lot of extra stuff.
7
+ * Version: 7.1.8
8
  * Author: PixelYourSite
9
  * Author URI: http://www.pixelyoursite.com
10
  * License: GPLv3
13
  * Tested up to: 5.4
14
  *
15
  * WC requires at least: 2.6.0
16
+ * WC tested up to: 4.1
17
  *
18
  * Text Domain: pys
19
  */
includes/class-events-manager.php CHANGED
@@ -5,9 +5,14 @@ namespace PixelYourSite;
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit; // Exit if accessed directly.
7
  }
 
 
 
8
 
9
  class EventsManager {
10
-
 
 
11
  public $doingAMP = false;
12
 
13
  private $dynamicEventsParams = array();
@@ -129,6 +134,8 @@ class EventsManager {
129
 
130
  public function setupEventsParams() {
131
 
 
 
132
  // initial event
133
  $this->addStaticEvent( 'init_event' );
134
 
@@ -148,6 +155,9 @@ class EventsManager {
148
 
149
  if ( isWooCommerceActive() && PYS()->getOption( 'woo_enabled' ) ) {
150
  $this->setupWooCommerceEvents();
 
 
 
151
  }
152
 
153
  if ( isEddActive() && PYS()->getOption( 'edd_enabled' ) ) {
@@ -180,11 +190,15 @@ class EventsManager {
180
  * @param string $eventType Event name for internal usage
181
  * @param CustomEvent|null $customEvent
182
  */
183
- private function addStaticEvent( $eventType, $customEvent = null ) {
184
 
185
  foreach ( PYS()->getRegisteredPixels() as $pixel ) {
186
  /** @var Pixel|Settings $pixel */
187
 
 
 
 
 
188
  $eventData = $pixel->getEventData( $eventType, $customEvent );
189
 
190
  if ( false === $eventData ) {
@@ -338,10 +352,120 @@ class EventsManager {
338
  // Purchase Event
339
  if ( isEventEnabled( 'woo_purchase_enabled' ) && is_order_received_page() && isset( $_REQUEST['key'] ) ) {
340
  $this->addStaticEvent( 'woo_purchase' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
341
  }
342
 
 
 
343
  }
344
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  public function setupWooLoopProductData()
346
  {
347
  global $product;
@@ -678,4 +802,5 @@ class EventsManager {
678
 
679
  }
680
 
 
681
  }
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit; // Exit if accessed directly.
7
  }
8
+ use FacebookAds\Object\ServerSide\Event;
9
+ use FacebookAds\Object\ServerSide\CustomData;
10
+ use FacebookAds\Object\ServerSide\Content;
11
 
12
  class EventsManager {
13
+
14
+ static public $facebookServerEvents = array();
15
+
16
  public $doingAMP = false;
17
 
18
  private $dynamicEventsParams = array();
134
 
135
  public function setupEventsParams() {
136
 
137
+ EventsManager::$facebookServerEvents = array();
138
+
139
  // initial event
140
  $this->addStaticEvent( 'init_event' );
141
 
155
 
156
  if ( isWooCommerceActive() && PYS()->getOption( 'woo_enabled' ) ) {
157
  $this->setupWooCommerceEvents();
158
+ if(count(EventsManager::$facebookServerEvents)>0 && Facebook()->enabled()) {
159
+ Facebook()->trackEventByServerApi(EventsManager::$facebookServerEvents);
160
+ }
161
  }
162
 
163
  if ( isEddActive() && PYS()->getOption( 'edd_enabled' ) ) {
190
  * @param string $eventType Event name for internal usage
191
  * @param CustomEvent|null $customEvent
192
  */
193
+ private function addStaticEvent( $eventType, $customEvent = null, $filterPixelSlug = null ) {
194
 
195
  foreach ( PYS()->getRegisteredPixels() as $pixel ) {
196
  /** @var Pixel|Settings $pixel */
197
 
198
+ if($filterPixelSlug != null && $filterPixelSlug != $pixel->getSlug()) {
199
+ continue;
200
+ }
201
+
202
  $eventData = $pixel->getEventData( $eventType, $customEvent );
203
 
204
  if ( false === $eventData ) {
352
  // Purchase Event
353
  if ( isEventEnabled( 'woo_purchase_enabled' ) && is_order_received_page() && isset( $_REQUEST['key'] ) ) {
354
  $this->addStaticEvent( 'woo_purchase' );
355
+
356
+ if(Facebook()->enabled()) {
357
+ $eventData = Facebook()->getEventData( 'woo_purchase' );
358
+ if($eventData != null) {
359
+ $this->addEventToFacebookServerApi(Facebook(),'woo_purchase',$eventData);
360
+ }
361
+ }
362
+
363
+ /**
364
+ * Add complete registration event
365
+ */
366
+ if ( Facebook()->enabled() && isEventEnabled( 'complete_registration_event_enabled' ) &&
367
+ Facebook()->getOption("woo_complete_registration_fire_every_time")
368
+ ) {
369
+
370
+ $this->addStaticEvent( 'complete_registration',null,"facebook" );
371
+ // send by server api
372
+ $eventData = Facebook()->getEventData( 'complete_registration',null );
373
+ if($eventData != null) {
374
+ $this->addEventToFacebookServerApi(Facebook(),'complete_registration',$eventData);
375
+ }
376
+
377
+ }
378
+
379
  }
380
 
381
+
382
+
383
  }
384
 
385
+ function addEventToFacebookServerApi($pixel,$eventType,$eventData) {
386
+ $isDisabled = apply_filters( 'pys_disable_by_gdpr', false ) ||
387
+ apply_filters( 'pys_disable_facebook_by_gdpr', false ) ||
388
+ isCookiebotPluginActivated() && PYS()->getOption( 'gdpr_cookiebot_integration_enabled' ) ||
389
+ isGingerPluginActivated() && PYS()->getOption( 'gdpr_ginger_integration_enabled' ) ||
390
+ isCookieNoticePluginActivated() && PYS()->getOption( 'gdpr_cookie_notice_integration_enabled' ) ||
391
+ isCookieLawInfoPluginActivated() && PYS()->getOption( 'gdpr_cookie_law_info_integration_enabled' );
392
+
393
+
394
+ if( !$isDisabled ) {
395
+ $name = $eventData['name'];
396
+ $data = $eventData['data'];
397
+
398
+ if(isset($data['contents'])) {
399
+ $contents = json_decode(stripslashes($data['contents']));
400
+ $data['contents']=$contents;
401
+ }
402
+
403
+ EventsManager::sendFbApiEvent($pixel,$name,$data);
404
+ }
405
+ }
406
+
407
+ static function sendFbApiEvent($pixel,$name,$data,$async = true) {
408
+
409
+ if(!$pixel->isServerApiEnabled() || !isset($data['eventID'])) return;
410
+
411
+ $event = ServerEventHelper::newEvent($name,$data['eventID']);
412
+ $event->setEventTime(time());
413
+
414
+ if(isset($data['contents']) && is_array($data['contents'])) {
415
+ $contents = array();
416
+ foreach ($data['contents'] as $c) {
417
+ $content = array();
418
+ $content['product_id'] = $c->id;
419
+ $content['quantity'] = $c->quantity;
420
+ $content['item_price'] = $c->item_price;
421
+ $contents[] = new Content($content);
422
+ }
423
+ $data['contents'] = $contents;
424
+ } else {
425
+ $data['contents'] = array();
426
+ }
427
+
428
+ $event->setCustomData(new CustomData($data));
429
+
430
+ $custom_data = $event->getCustomData();
431
+ if(isset($data['category_name'])) {
432
+ $custom_data->setContentCategory($data['category_name']);
433
+ }
434
+
435
+ //$custom_data->setOrderId($data['transaction_id']);
436
+ if($async) {
437
+ EventsManager::$facebookServerEvents[]=$event;
438
+ //$pixel->trackEventByServerApi($event);
439
+ } else {
440
+ Facebook::sendServerRequest(array($event));
441
+ }
442
+
443
+ }
444
+
445
+ static function sendApiEvent() {
446
+
447
+ $pixelName = $_POST['pixel'];
448
+ $event = $_POST['event'];
449
+ $data = $_POST['data'];
450
+
451
+ switch ($pixelName) {
452
+ case 'facebook': {
453
+ if(isset($data['content_ids'])) {
454
+ $content_ids = json_decode(stripslashes($data['content_ids']));
455
+ $data['content_ids']=$content_ids;
456
+ }
457
+ if(isset($data['contents'])) {
458
+ $contents = json_decode(stripslashes($data['contents']));
459
+ $data['contents']=$contents;
460
+ }
461
+ EventsManager::sendFbApiEvent(Facebook::instance(),$event,$data,false);
462
+ break;
463
+ }
464
+ }
465
+ /* echo "hi";
466
+ wp_die();*/
467
+ }
468
+
469
  public function setupWooLoopProductData()
470
  {
471
  global $product;
802
 
803
  }
804
 
805
+
806
  }
includes/class-pys.php CHANGED
@@ -77,9 +77,16 @@ final class PYS extends Settings implements Plugin {
77
 
78
  } );
79
 
 
 
 
80
  add_action( 'wp_ajax_pys_get_gdpr_filters_values', array( $this, 'ajaxGetGdprFiltersValues' ) );
81
  add_action( 'wp_ajax_nopriv_pys_get_gdpr_filters_values', array( $this, 'ajaxGetGdprFiltersValues' ) );
82
 
 
 
 
 
83
  }
84
 
85
  public function init() {
@@ -284,16 +291,16 @@ final class PYS extends Settings implements Plugin {
284
  if ( in_array( getCurrentAdminPage(), $this->adminPagesSlugs ) ) {
285
 
286
 
287
- wp_register_style( 'select2', PYS_FREE_URL . '/dist/styles/select2.min.css' );
288
- wp_enqueue_script( 'select2', PYS_FREE_URL . '/dist/scripts/select2.min.js',
289
  array( 'jquery' ) );
290
 
291
  wp_enqueue_script( 'popper', PYS_FREE_URL . '/dist/scripts/popper.min.js', 'jquery' );
292
  wp_enqueue_script( 'bootstrap', PYS_FREE_URL . '/dist/scripts/bootstrap.min.js', 'jquery',
293
  'popper' );
294
 
295
- wp_enqueue_style( 'pys', PYS_FREE_URL . '/dist/styles/admin.css', array( 'select2' ), PYS_FREE_VERSION );
296
- wp_enqueue_script( 'pys', PYS_FREE_URL . '/dist/scripts/admin.js', array( 'jquery', 'select2', 'popper',
297
  'bootstrap' ), PYS_FREE_VERSION );
298
 
299
  }
@@ -475,6 +482,8 @@ final class PYS extends Settings implements Plugin {
475
  } else {
476
  $core_options = array();
477
  }
 
 
478
 
479
  $gdpr_ajax_enabled = isset( $core_options['gdpr_ajax_enabled'] )
480
  ? $core_options['gdpr_ajax_enabled'] // value from form data
@@ -484,10 +493,19 @@ final class PYS extends Settings implements Plugin {
484
  $core_options['gdpr_ajax_enabled'] = apply_filters( 'pys_gdpr_ajax_enabled', $gdpr_ajax_enabled );
485
 
486
  if (isPixelCogActive() ) {
487
- if (isset($core_options['woo_purchase_value_option'])) update_option('woo_purchase_value_cog', $core_options['woo_purchase_value_option']);
488
- if (isset($core_options['woo_view_content_value_option'])) update_option('woo_content_value_cog', $core_options['woo_view_content_value_option']);
489
- if (isset($core_options['woo_add_to_cart_value_option'])) update_option('woo_add_to_cart_value_cog', $core_options['woo_add_to_cart_value_option']);
490
- if (isset($core_options['woo_initiate_checkout_value_option'])) update_option('woo_initiate_checkout_value_cog', $core_options['woo_initiate_checkout_value_option']);
 
 
 
 
 
 
 
 
 
491
  }
492
 
493
  // update core options
@@ -507,6 +525,17 @@ final class PYS extends Settings implements Plugin {
507
 
508
  }
509
 
 
 
 
 
 
 
 
 
 
 
 
510
  private function adminResetSettings() {
511
 
512
  if ( ! $this->adminSecurityCheck() ) {
@@ -558,6 +587,39 @@ final class PYS extends Settings implements Plugin {
558
  }
559
 
560
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
561
  }
562
 
563
  /**
77
 
78
  } );
79
 
80
+ add_action( 'wp_ajax_pys_api_event','PixelYourSite\EventsManager::sendApiEvent');
81
+ add_action( 'wp_ajax_nopriv_pys_api_event', 'PixelYourSite\EventsManager::sendApiEvent');
82
+
83
  add_action( 'wp_ajax_pys_get_gdpr_filters_values', array( $this, 'ajaxGetGdprFiltersValues' ) );
84
  add_action( 'wp_ajax_nopriv_pys_get_gdpr_filters_values', array( $this, 'ajaxGetGdprFiltersValues' ) );
85
 
86
+ /*
87
+ * Restore settings after COG plugin
88
+ * */
89
+ add_action( 'deactivate_pixel-cost-of-goods/pixel-cost-of-goods.php',array($this,"restoreSettingsAfterCog"));
90
  }
91
 
92
  public function init() {
291
  if ( in_array( getCurrentAdminPage(), $this->adminPagesSlugs ) ) {
292
 
293
 
294
+ wp_register_style( 'select2_css', PYS_FREE_URL . '/dist/styles/select2.min.css' );
295
+ wp_enqueue_script( 'select2_js', PYS_FREE_URL . '/dist/scripts/select2.min.js',
296
  array( 'jquery' ) );
297
 
298
  wp_enqueue_script( 'popper', PYS_FREE_URL . '/dist/scripts/popper.min.js', 'jquery' );
299
  wp_enqueue_script( 'bootstrap', PYS_FREE_URL . '/dist/scripts/bootstrap.min.js', 'jquery',
300
  'popper' );
301
 
302
+ wp_enqueue_style( 'pys_css', PYS_FREE_URL . '/dist/styles/admin.css', array( 'select2_css' ), PYS_FREE_VERSION );
303
+ wp_enqueue_script( 'pys_js', PYS_FREE_URL . '/dist/scripts/admin.js', array( 'jquery', 'select2_js', 'popper',
304
  'bootstrap' ), PYS_FREE_VERSION );
305
 
306
  }
482
  } else {
483
  $core_options = array();
484
  }
485
+
486
+
487
 
488
  $gdpr_ajax_enabled = isset( $core_options['gdpr_ajax_enabled'] )
489
  ? $core_options['gdpr_ajax_enabled'] // value from form data
493
  $core_options['gdpr_ajax_enabled'] = apply_filters( 'pys_gdpr_ajax_enabled', $gdpr_ajax_enabled );
494
 
495
  if (isPixelCogActive() ) {
496
+
497
+ if (isset($core_options['woo_purchase_value_option'])) {
498
+ $core_options = $this->updateDefaultNoCogOption($core_options,'woo_purchase_value_option','woo_purchase_value_cog');
499
+ }
500
+ if (isset($core_options['woo_view_content_value_option'])) {
501
+ $core_options = $this->updateDefaultNoCogOption($core_options,'woo_view_content_value_option','woo_content_value_cog');
502
+ }
503
+ if (isset($core_options['woo_add_to_cart_value_option'])) {
504
+ $core_options = $this->updateDefaultNoCogOption($core_options,'woo_add_to_cart_value_option','woo_add_to_cart_value_cog');
505
+ }
506
+ if (isset($core_options['woo_initiate_checkout_value_option'])) {
507
+ $core_options = $this->updateDefaultNoCogOption($core_options,'woo_initiate_checkout_value_option','woo_initiate_checkout_value_cog');
508
+ }
509
  }
510
 
511
  // update core options
525
 
526
  }
527
 
528
+ private function updateDefaultNoCogOption($core_options,$optionName,$defaultOptionName) {
529
+ $val = $core_options[$optionName];
530
+ $currentVal = $this->getOption($optionName);
531
+ if($val != 'cog') {
532
+ $core_options[$defaultOptionName] = $val;
533
+ } elseif ( $currentVal != 'cog' ) {
534
+ $core_options[$defaultOptionName] = $currentVal;
535
+ }
536
+ return $core_options;
537
+ }
538
+
539
  private function adminResetSettings() {
540
 
541
  if ( ! $this->adminSecurityCheck() ) {
587
  }
588
 
589
  }
590
+
591
+ function restoreSettingsAfterCog() {
592
+
593
+ $params = array();
594
+ $oldPurchase = $this->getOption("woo_purchase_value_cog");
595
+ $oldContent = $this->getOption("woo_content_value_cog");
596
+ $oldAddCart = $this->getOption("woo_add_to_cart_value_cog");
597
+ $oldInitCheckout = $this->getOption("woo_initiate_checkout_value_cog");
598
+
599
+ if($this->getOption('woo_purchase_value_option') == 'cog') {
600
+ if(!empty($oldPurchase)) $params['woo_purchase_value_option'] = $oldPurchase;
601
+ else $params['woo_purchase_value_option'] = "price";
602
+ }
603
+ if($this->getOption('woo_view_content_value_option') == 'cog') {
604
+ if(!empty($oldContent)) $params['woo_view_content_value_option'] = $oldContent;
605
+ else $params['woo_view_content_value_option'] = "price";
606
+ }
607
+ if($this->getOption('woo_add_to_cart_value_option') == 'cog') {
608
+ if(!empty($oldAddCart)) $params['woo_add_to_cart_value_option'] = $oldAddCart;
609
+ else $params['woo_add_to_cart_value_option'] = "price";
610
+ }
611
+ if($this->getOption('woo_initiate_checkout_value_option') == 'cog') {
612
+ if(!empty($oldInitCheckout)) $params['woo_initiate_checkout_value_option'] = $oldInitCheckout;
613
+ else $params['woo_initiate_checkout_value_option'] = "price";
614
+ }
615
+
616
+ $params['woo_purchase_value_cog'] = '';
617
+ $params['woo_content_value_cog'] = '';
618
+ $params['woo_add_to_cart_value_cog'] = '';
619
+ $params['woo_initiate_checkout_value_cog'] = '';
620
+
621
+ $this->updateOptions($params);
622
+ }
623
  }
624
 
625
  /**
includes/class-settings.php CHANGED
@@ -291,6 +291,56 @@ abstract class Settings {
291
  <?php
292
 
293
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
 
295
  /**
296
  * Output text area input
291
  <?php
292
 
293
  }
294
+
295
+ /**
296
+ * Output text area input array item
297
+ *
298
+ * @param $key
299
+ * @param string $placeholder
300
+ * @param int $index
301
+ */
302
+ public function render_text_area_array_item( $key, $placeholder = '', $index = 0 ) {
303
+
304
+ $attr_name = "pys[$this->slug][$key][]";
305
+ $attr_id = 'pys_' . $this->slug . '_' . $key . '_' . $index;
306
+
307
+ $values = (array) $this->getOption( $key );
308
+ $attr_value = isset( $values[ $index ] ) ? $values[ $index ] : null;
309
+
310
+ ?>
311
+
312
+ <textarea type="text" name="<?php esc_attr_e( $attr_name ); ?>"
313
+ id="<?php esc_attr_e( $attr_id ); ?>"
314
+ placeholder="<?php esc_attr_e( $placeholder ); ?>"
315
+ class="form-control"><?php esc_attr_e( $attr_value ); ?></textarea>
316
+
317
+ <?php
318
+ }
319
+
320
+ /**
321
+ * Output text input array item
322
+ *
323
+ * @param $key
324
+ * @param string $placeholder
325
+ * @param int $index
326
+ */
327
+ public function render_text_input_array_item( $key, $placeholder = '', $index = 0 ) {
328
+
329
+ $attr_name = "pys[$this->slug][$key][]";
330
+ $attr_id = 'pys_' . $this->slug . '_' . $key . '_' . $index;
331
+
332
+ $values = (array) $this->getOption( $key );
333
+ $attr_value = isset( $values[ $index ] ) ? $values[ $index ] : null;
334
+
335
+ ?>
336
+
337
+ <input type="text" name="<?php esc_attr_e( $attr_name ); ?>"
338
+ id="<?php esc_attr_e( $attr_id ); ?>"
339
+ value="<?php esc_attr_e( $attr_value ); ?>"
340
+ placeholder="<?php esc_attr_e( $placeholder ); ?>"
341
+ class="form-control">
342
+ <?php
343
+ }
344
 
345
  /**
346
  * Output text area input
includes/functions-admin.php CHANGED
@@ -141,76 +141,6 @@ function manageAdminPermissions() {
141
  }
142
 
143
  }
144
-
145
- if (!isPixelCogActive() ) {
146
-
147
- $event_purchase = get_option('woo_purchase_value_cog');
148
- $content_value = get_option('woo_content_value_cog');
149
- $add_to_cart_value = get_option('woo_add_to_cart_value_cog');
150
- $initiate_checkout_value = get_option('woo_initiate_checkout_value_cog');
151
-
152
- $event_purchase_old = get_option('woo_purchase_value_option');
153
- $content_value_old = get_option('woo_view_content_value_option');
154
- $add_to_cart_value_old = get_option('woo_add_to_cart_value_option');
155
- $initiate_checkout_value_old = get_option('woo_initiate_checkout_value_option');
156
-
157
- if (!$event_purchase) add_option('woo_purchase_value_cog', $event_purchase_old);
158
- if (!$content_value) add_option('woo_content_value_cog', $content_value_old);
159
- if (!$add_to_cart_value) add_option('woo_add_to_cart_value_cog', $add_to_cart_value_old);
160
- if (!$initiate_checkout_value) add_option('woo_initiate_checkout_value_cog', $initiate_checkout_value_old);
161
-
162
- $PixelCogDeActive = array(
163
- 'woo_view_content_value_option' => 'price',
164
- 'woo_add_to_cart_value_option' => 'price',
165
- 'woo_initiate_checkout_value_option' => 'price',
166
- 'woo_purchase_value_option' => 'price'
167
- );
168
- // update settings
169
- PYS()->updateOptions( $PixelCogDeActive );
170
- PYS()->reloadOptions();
171
- } else {
172
- $event_purchase = get_option('woo_purchase_value_cog');
173
- $content_value = get_option('woo_content_value_cog');
174
- $add_to_cart_value = get_option('woo_add_to_cart_value_cog');
175
- $initiate_checkout_value = get_option('woo_initiate_checkout_value_cog');
176
-
177
- if ($initiate_checkout_value == 'cog') {
178
- $PixelCogDeActive = array(
179
- 'woo_initiate_checkout_value_option' => 'cog'
180
- );
181
- // update settings
182
- PYS()->updateOptions( $PixelCogDeActive );
183
- PYS()->reloadOptions();
184
- }
185
-
186
- if ($add_to_cart_value == 'cog') {
187
- $PixelCogDeActive = array(
188
- 'woo_add_to_cart_value_option' => 'cog'
189
- );
190
- // update settings
191
- PYS()->updateOptions( $PixelCogDeActive );
192
- PYS()->reloadOptions();
193
- }
194
-
195
- if ($content_value == 'cog') {
196
- $PixelCogDeActive = array(
197
- 'woo_view_content_value_option' => 'cog',
198
- );
199
- // update settings
200
- PYS()->updateOptions( $PixelCogDeActive );
201
- PYS()->reloadOptions();
202
- }
203
-
204
- if ($event_purchase == 'cog') {
205
- $PixelCogDeActive = array(
206
- 'woo_purchase_value_option' => 'cog',
207
- );
208
- // update settings
209
- PYS()->updateOptions( $PixelCogDeActive );
210
- PYS()->reloadOptions();
211
- }
212
- }
213
-
214
  }
215
 
216
  function renderPopoverButton( $popover_id ) {
@@ -326,7 +256,7 @@ function adminRenderNotices() {
326
  * Pixel ID notices
327
  */
328
 
329
- $facebook_pixel_id = Facebook()->getOption( 'pixel_id' );
330
 
331
  if ( Facebook()->enabled() && empty( $facebook_pixel_id ) ) {
332
  $no_facebook_pixels = true;
@@ -334,7 +264,7 @@ function adminRenderNotices() {
334
  $no_facebook_pixels = false;
335
  }
336
 
337
- $ga_tracking_id = GA()->getOption( 'tracking_id' );
338
 
339
  if ( GA()->enabled() && empty( $ga_tracking_id ) ) {
340
  $no_ga_pixels = true;
141
  }
142
 
143
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  }
145
 
146
  function renderPopoverButton( $popover_id ) {
256
  * Pixel ID notices
257
  */
258
 
259
+ $facebook_pixel_id = Facebook()->getPixelIDs() ;
260
 
261
  if ( Facebook()->enabled() && empty( $facebook_pixel_id ) ) {
262
  $no_facebook_pixels = true;
264
  $no_facebook_pixels = false;
265
  }
266
 
267
+ $ga_tracking_id = GA()->getPixelIDs() ;
268
 
269
  if ( GA()->enabled() && empty( $ga_tracking_id ) ) {
270
  $no_ga_pixels = true;
includes/functions-common.php CHANGED
@@ -811,5 +811,180 @@ function compareURLs( $url, $base = '', $rule = 'match' ) {
811
  return false;
812
 
813
  }
814
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
815
  }
811
  return false;
812
 
813
  }
814
+
815
+ }
816
+
817
+ /**
818
+ * Currency symbols
819
+ *
820
+ * @return array
821
+ * */
822
+
823
+ function getPysCurrencySymbols() {
824
+ return array(
825
+ 'AED' => '&#x62f;.&#x625;',
826
+ 'AFN' => '&#x60b;',
827
+ 'ALL' => 'L',
828
+ 'AMD' => 'AMD',
829
+ 'ANG' => '&fnof;',
830
+ 'AOA' => 'Kz',
831
+ 'ARS' => '&#36;',
832
+ 'AUD' => '&#36;',
833
+ 'AWG' => 'Afl.',
834
+ 'AZN' => 'AZN',
835
+ 'BAM' => 'KM',
836
+ 'BBD' => '&#36;',
837
+ 'BDT' => '&#2547;&nbsp;',
838
+ 'BGN' => '&#1083;&#1074;.',
839
+ 'BHD' => '.&#x62f;.&#x628;',
840
+ 'BIF' => 'Fr',
841
+ 'BMD' => '&#36;',
842
+ 'BND' => '&#36;',
843
+ 'BOB' => 'Bs.',
844
+ 'BRL' => '&#82;&#36;',
845
+ 'BSD' => '&#36;',
846
+ 'BTC' => '&#3647;',
847
+ 'BTN' => 'Nu.',
848
+ 'BWP' => 'P',
849
+ 'BYR' => 'Br',
850
+ 'BYN' => 'Br',
851
+ 'BZD' => '&#36;',
852
+ 'CAD' => '&#36;',
853
+ 'CDF' => 'Fr',
854
+ 'CHF' => '&#67;&#72;&#70;',
855
+ 'CLP' => '&#36;',
856
+ 'CNY' => '&yen;',
857
+ 'COP' => '&#36;',
858
+ 'CRC' => '&#x20a1;',
859
+ 'CUC' => '&#36;',
860
+ 'CUP' => '&#36;',
861
+ 'CVE' => '&#36;',
862
+ 'CZK' => '&#75;&#269;',
863
+ 'DJF' => 'Fr',
864
+ 'DKK' => 'DKK',
865
+ 'DOP' => 'RD&#36;',
866
+ 'DZD' => '&#x62f;.&#x62c;',
867
+ 'EGP' => 'EGP',
868
+ 'ERN' => 'Nfk',
869
+ 'ETB' => 'Br',
870
+ 'EUR' => '&euro;',
871
+ 'FJD' => '&#36;',
872
+ 'FKP' => '&pound;',
873
+ 'GBP' => '&pound;',
874
+ 'GEL' => '&#x20be;',
875
+ 'GGP' => '&pound;',
876
+ 'GHS' => '&#x20b5;',
877
+ 'GIP' => '&pound;',
878
+ 'GMD' => 'D',
879
+ 'GNF' => 'Fr',
880
+ 'GTQ' => 'Q',
881
+ 'GYD' => '&#36;',
882
+ 'HKD' => '&#36;',
883
+ 'HNL' => 'L',
884
+ 'HRK' => 'kn',
885
+ 'HTG' => 'G',
886
+ 'HUF' => '&#70;&#116;',
887
+ 'IDR' => 'Rp',
888
+ 'ILS' => '&#8362;',
889
+ 'IMP' => '&pound;',
890
+ 'INR' => '&#8377;',
891
+ 'IQD' => '&#x639;.&#x62f;',
892
+ 'IRR' => '&#xfdfc;',
893
+ 'IRT' => '&#x062A;&#x0648;&#x0645;&#x0627;&#x0646;',
894
+ 'ISK' => 'kr.',
895
+ 'JEP' => '&pound;',
896
+ 'JMD' => '&#36;',
897
+ 'JOD' => '&#x62f;.&#x627;',
898
+ 'JPY' => '&yen;',
899
+ 'KES' => 'KSh',
900
+ 'KGS' => '&#x441;&#x43e;&#x43c;',
901
+ 'KHR' => '&#x17db;',
902
+ 'KMF' => 'Fr',
903
+ 'KPW' => '&#x20a9;',
904
+ 'KRW' => '&#8361;',
905
+ 'KWD' => '&#x62f;.&#x643;',
906
+ 'KYD' => '&#36;',
907
+ 'KZT' => 'KZT',
908
+ 'LAK' => '&#8365;',
909
+ 'LBP' => '&#x644;.&#x644;',
910
+ 'LKR' => '&#xdbb;&#xdd4;',
911
+ 'LRD' => '&#36;',
912
+ 'LSL' => 'L',
913
+ 'LYD' => '&#x644;.&#x62f;',
914
+ 'MAD' => '&#x62f;.&#x645;.',
915
+ 'MDL' => 'MDL',
916
+ 'MGA' => 'Ar',
917
+ 'MKD' => '&#x434;&#x435;&#x43d;',
918
+ 'MMK' => 'Ks',
919
+ 'MNT' => '&#x20ae;',
920
+ 'MOP' => 'P',
921
+ 'MRU' => 'UM',
922
+ 'MUR' => '&#x20a8;',
923
+ 'MVR' => '.&#x783;',
924
+ 'MWK' => 'MK',
925
+ 'MXN' => '&#36;',
926
+ 'MYR' => '&#82;&#77;',
927
+ 'MZN' => 'MT',
928
+ 'NAD' => 'N&#36;',
929
+ 'NGN' => '&#8358;',
930
+ 'NIO' => 'C&#36;',
931
+ 'NOK' => '&#107;&#114;',
932
+ 'NPR' => '&#8360;',
933
+ 'NZD' => '&#36;',
934
+ 'OMR' => '&#x631;.&#x639;.',
935
+ 'PAB' => 'B/.',
936
+ 'PEN' => 'S/',
937
+ 'PGK' => 'K',
938
+ 'PHP' => '&#8369;',
939
+ 'PKR' => '&#8360;',
940
+ 'PLN' => '&#122;&#322;',
941
+ 'PRB' => '&#x440;.',
942
+ 'PYG' => '&#8370;',
943
+ 'QAR' => '&#x631;.&#x642;',
944
+ 'RMB' => '&yen;',
945
+ 'RON' => 'lei',
946
+ 'RSD' => '&#x434;&#x438;&#x43d;.',
947
+ 'RUB' => '&#8381;',
948
+ 'RWF' => 'Fr',
949
+ 'SAR' => '&#x631;.&#x633;',
950
+ 'SBD' => '&#36;',
951
+ 'SCR' => '&#x20a8;',
952
+ 'SDG' => '&#x62c;.&#x633;.',
953
+ 'SEK' => '&#107;&#114;',
954
+ 'SGD' => '&#36;',
955
+ 'SHP' => '&pound;',
956
+ 'SLL' => 'Le',
957
+ 'SOS' => 'Sh',
958
+ 'SRD' => '&#36;',
959
+ 'SSP' => '&pound;',
960
+ 'STN' => 'Db',
961
+ 'SYP' => '&#x644;.&#x633;',
962
+ 'SZL' => 'L',
963
+ 'THB' => '&#3647;',
964
+ 'TJS' => '&#x405;&#x41c;',
965
+ 'TMT' => 'm',
966
+ 'TND' => '&#x62f;.&#x62a;',
967
+ 'TOP' => 'T&#36;',
968
+ 'TRY' => '&#8378;',
969
+ 'TTD' => '&#36;',
970
+ 'TWD' => '&#78;&#84;&#36;',
971
+ 'TZS' => 'Sh',
972
+ 'UAH' => '&#8372;',
973
+ 'UGX' => 'UGX',
974
+ 'USD' => '&#36;',
975
+ 'UYU' => '&#36;',
976
+ 'UZS' => 'UZS',
977
+ 'VEF' => 'Bs F',
978
+ 'VES' => 'Bs.S',
979
+ 'VND' => '&#8363;',
980
+ 'VUV' => 'Vt',
981
+ 'WST' => 'T',
982
+ 'XAF' => 'CFA',
983
+ 'XCD' => '&#36;',
984
+ 'XOF' => 'CFA',
985
+ 'XPF' => 'Fr',
986
+ 'YER' => '&#xfdfc;',
987
+ 'ZAR' => '&#82;',
988
+ 'ZMW' => 'ZK',
989
+ );
990
  }
includes/options_defaults.json CHANGED
@@ -70,5 +70,10 @@
70
  "gdpr_ginger_integration_enabled": false,
71
  "gdpr_cookie_notice_integration_enabled": false,
72
  "gdpr_cookie_law_info_integration_enabled": false,
73
- "gdpr_ajax_enabled": false
 
 
 
 
 
74
  }
70
  "gdpr_ginger_integration_enabled": false,
71
  "gdpr_cookie_notice_integration_enabled": false,
72
  "gdpr_cookie_law_info_integration_enabled": false,
73
+ "gdpr_ajax_enabled": false,
74
+
75
+ "woo_purchase_value_cog": "",
76
+ "woo_content_value_cog": "",
77
+ "woo_add_to_cart_value_cog": "",
78
+ "woo_initiate_checkout_value_cog": ""
79
  }
includes/options_fields.json CHANGED
@@ -59,5 +59,10 @@
59
  "gdpr_ginger_integration_enabled": "checkbox",
60
  "gdpr_cookie_notice_integration_enabled": "checkbox",
61
  "gdpr_cookie_law_info_integration_enabled": "checkbox",
62
- "gdpr_ajax_enabled": "checkbox"
 
 
 
 
 
63
  }
59
  "gdpr_ginger_integration_enabled": "checkbox",
60
  "gdpr_cookie_notice_integration_enabled": "checkbox",
61
  "gdpr_cookie_law_info_integration_enabled": "checkbox",
62
+ "gdpr_ajax_enabled": "checkbox",
63
+
64
+ "woo_purchase_value_cog": "radio",
65
+ "woo_content_value_cog": "radio",
66
+ "woo_add_to_cart_value_cog": "radio",
67
+ "woo_initiate_checkout_value_cog": "radio"
68
  }
includes/views/html-main-general.php CHANGED
@@ -32,6 +32,35 @@ if ( ! defined( 'ABSPATH' ) ) {
32
  target="_blank">pro version</a>.</p>
33
  </div>
34
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  <hr>
36
 
37
  <?php endif; ?>
@@ -85,8 +114,8 @@ if ( ! defined( 'ABSPATH' ) ) {
85
  </div>
86
  </div>
87
 
88
- <div class="card">
89
- <div class="card-header">
90
  Dynamic Ads for Blog Setup <?php cardCollapseBtn(); ?>
91
  </div>
92
  <div class="card-body">
@@ -101,6 +130,24 @@ if ( ! defined( 'ABSPATH' ) ) {
101
  </div>
102
  </div>
103
  <?php if ( Facebook()->enabled() ) : ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
 
105
  <div class="row mt-3">
106
  <div class="col">
@@ -113,6 +160,18 @@ if ( ! defined( 'ABSPATH' ) ) {
113
  </div>
114
  </div>
115
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  <div class="row mt-3">
117
  <div class="col">
118
  <?php Facebook()->render_switcher_input( 'fdp_view_content_enabled' ); ?>
@@ -131,6 +190,11 @@ if ( ! defined( 'ABSPATH' ) ) {
131
  <h4 class="switcher-label">Enable the AddToCart event on every blog page</h4>
132
  </div>
133
 
 
 
 
 
 
134
  <div class="col-11 form-inline col-offset-left">
135
  <label>Fire the AddToCart when scroll to</label>
136
  <?php Facebook()->render_number_input( 'fdp_add_to_cart_event_fire_scroll',50 ); ?>
@@ -142,7 +206,10 @@ if ( ! defined( 'ABSPATH' ) ) {
142
  <?php Facebook()->render_switcher_input( 'fdp_purchase_enabled' ); ?>
143
  <h4 class="switcher-label">Enable the Purchase event on every blog page</h4>
144
  </div>
145
-
 
 
 
146
  <div class="col-11 form-inline col-offset-left">
147
  <label>Fire the Purchase event</label>
148
 
32
  target="_blank">pro version</a>.</p>
33
  </div>
34
  </div>
35
+ <?php if(isWooCommerceActive()) : ?>
36
+ <div class="row align-items-center mb-3">
37
+ <div class="col-3">
38
+
39
+ </div>
40
+ <div class="col-7">
41
+ <h4 class="label">Optional:</h4>
42
+ <?php Facebook()->render_checkbox_input(
43
+ "use_server_api",
44
+ "Also send events directly from your web server to Facebook through the server-side API. This can help you capture more events. An access token is required to use the server-side API. <a href='https://www.pixelyoursite.com/documentation/configure-server-side-events' target='_blank'>Generate Access Token</a>"
45
+ ); ?>
46
+ <?php Facebook()->render_text_area_array_item("server_access_api_token","Api token") ?>
47
+ <small class="form-text">
48
+ This is an experimental feature and for now works only for the WooCommerce Purchase event.
49
+ </small>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="row align-items-center mb-3">
54
+ <div class="col-3"></div>
55
+ <div class="col-7">
56
+ <h4 class="label">test_event_code :</h4>
57
+ <?php Facebook()->render_text_input_array_item("test_api_event_code","Code"); ?>
58
+ <small class="form-text">
59
+ Use this if you need to test the server-side event. <strong>Remove it after testing</strong>
60
+ </small>
61
+ </div>
62
+ </div>
63
+ <?php endif; ?>
64
  <hr>
65
 
66
  <?php endif; ?>
114
  </div>
115
  </div>
116
 
117
+ <div class="card" >
118
+ <div class="card-header" style="background-color:#cd6c46;color:white;">
119
  Dynamic Ads for Blog Setup <?php cardCollapseBtn(); ?>
120
  </div>
121
  <div class="card-body">
130
  </div>
131
  </div>
132
  <?php if ( Facebook()->enabled() ) : ?>
133
+ <hr/>
134
+ <div class="row mt-3">
135
+ <div class="col">
136
+ <?php Facebook()->render_switcher_input( 'fdp_use_own_pixel_id',false,true ); ?>
137
+ <h4 class="switcher-label">
138
+ Fire this events just for this Pixel ID with the
139
+ <a href="https://www.pixelyoursite.com/?utm_source=pixelyoursite-free-plugin&utm_medium=plugin&utm_campaign=free-plugin-ids" target="_blank">pro version</a>
140
+ </h4>
141
+ </div>
142
+ </div>
143
+ <div class="row mt-3">
144
+ <div class="col-6">
145
+ <label>Facebook Pixel ID:</label>
146
+ <?php Facebook()->render_text_input( 'fdp_pixel_id',"",true ); ?>
147
+ </div>
148
+ </div>
149
+
150
+ <hr/>
151
 
152
  <div class="row mt-3">
153
  <div class="col">
160
  </div>
161
  </div>
162
 
163
+ <div class="row mt-3">
164
+ <div class="col">
165
+ <label>Currency:</label><?php
166
+ $options = array();
167
+ $cur = getPysCurrencySymbols();
168
+ foreach ($cur as $key => $val) {
169
+ $options[$key]=$key;
170
+ }
171
+ Facebook()->render_select_input( 'fdp_currency',$options ); ?>
172
+ </div>
173
+ </div>
174
+
175
  <div class="row mt-3">
176
  <div class="col">
177
  <?php Facebook()->render_switcher_input( 'fdp_view_content_enabled' ); ?>
190
  <h4 class="switcher-label">Enable the AddToCart event on every blog page</h4>
191
  </div>
192
 
193
+ <div class="col-11 form-inline col-offset-left">
194
+ <label>Value:</label>
195
+ <?php Facebook()->render_number_input( 'fdp_add_to_cart_value',"Value" ); ?>
196
+ </div>
197
+
198
  <div class="col-11 form-inline col-offset-left">
199
  <label>Fire the AddToCart when scroll to</label>
200
  <?php Facebook()->render_number_input( 'fdp_add_to_cart_event_fire_scroll',50 ); ?>
206
  <?php Facebook()->render_switcher_input( 'fdp_purchase_enabled' ); ?>
207
  <h4 class="switcher-label">Enable the Purchase event on every blog page</h4>
208
  </div>
209
+ <div class="col-11 form-inline col-offset-left">
210
+ <label>Value:</label>
211
+ <?php Facebook()->render_number_input( 'fdp_purchase_value',"Value" ); ?>
212
+ </div>
213
  <div class="col-11 form-inline col-offset-left">
214
  <label>Fire the Purchase event</label>
215
 
includes/views/html-main-woo.php CHANGED
@@ -448,7 +448,7 @@ e&utm_campaign=pro-feature' ); ?>
448
  <?php if ( Pinterest()->enabled() ) : ?>
449
  <div class="row">
450
  <div class="col">
451
- <?php Pinterest()->render_switcher_input( 'woo_checkout_enabled' ); ?>
452
  <h4 class="switcher-label">Enable the Checkout event on Pinterest</h4>
453
  <?php Pinterest()->renderAddonNotice(); ?>
454
  </div>
@@ -822,7 +822,7 @@ e&utm_campaign=pro-feature' ); ?>
822
  <?php if ( Pinterest()->enabled() ) : ?>
823
  <div class="row">
824
  <div class="col">
825
- <?php Pinterest()->render_switcher_input( 'woo_page_visit_enabled' ); ?>
826
  <h4 class="switcher-label">Enable the PageVisit event on Pinterest</h4>
827
  <?php Pinterest()->renderAddonNotice(); ?>
828
  </div>
@@ -1006,6 +1006,62 @@ e&utm_campaign=pro-feature' ); ?>
1006
  </div>
1007
  </div>
1008
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1009
 
1010
  <h2 class="section-title">PRO Events</h2>
1011
 
448
  <?php if ( Pinterest()->enabled() ) : ?>
449
  <div class="row">
450
  <div class="col">
451
+ <?php Pinterest()->render_switcher_input( 'woo_purchase_enabled' ); ?>
452
  <h4 class="switcher-label">Enable the Checkout event on Pinterest</h4>
453
  <?php Pinterest()->renderAddonNotice(); ?>
454
  </div>
822
  <?php if ( Pinterest()->enabled() ) : ?>
823
  <div class="row">
824
  <div class="col">
825
+ <?php Pinterest()->render_switcher_input( 'woo_view_content_enabled' ); ?>
826
  <h4 class="switcher-label">Enable the PageVisit event on Pinterest</h4>
827
  <?php Pinterest()->renderAddonNotice(); ?>
828
  </div>
1006
  </div>
1007
  </div>
1008
 
1009
+ <div class="card">
1010
+ <div class="card-header">
1011
+ CompleteRegistration for the Facebook Pixel<?php cardCollapseBtn(); ?>
1012
+ </div>
1013
+ <div class="card-body">
1014
+ <?php if ( Facebook()->enabled() ) : ?>
1015
+ <div class="row mb-1">
1016
+ <div class="col">
1017
+ <?php Facebook()->render_checkbox_input( 'woo_complete_registration_fire_every_time',
1018
+ "Fire this event every time a transaction takes place"); ?>
1019
+ </div>
1020
+ </div>
1021
+
1022
+ <div class="row mb-1">
1023
+ <div class="col col-offset-left">
1024
+ <?php Facebook()->render_switcher_input( 'woo_complete_registration_use_custom_value'); ?>
1025
+ <h4 class="switcher-label">Event value on Facebook</h4>
1026
+ <div class="row mt-2">
1027
+ <div class="col col-offset-left">
1028
+ <div class="collapse-inner pt-0">
1029
+ <div class="custom-controls-stacked">
1030
+ <?php Facebook()->render_radio_input("woo_complete_registration_custom_value","price",
1031
+ "Order's total") ?>
1032
+ <?php if ( !isPixelCogActive() ) { ?>
1033
+ <?php Facebook()->render_radio_input( 'woo_complete_registration_custom_value', 'cog',
1034
+ 'Price minus Cost of Goods', true, true ); ?>
1035
+ <?php } else { ?>
1036
+ <?php Facebook()->render_radio_input( 'woo_complete_registration_custom_value', 'cog',
1037
+ 'Price minus Cost of Goods', false ); ?>
1038
+ <?php } ?>
1039
+ <?php Facebook()->render_radio_input("woo_complete_registration_custom_value","percent",
1040
+ "Percent of the order's total") ?>
1041
+ <div class="form-inline">
1042
+ <?php Facebook()->render_number_input( 'woo_complete_registration_percent_value' ); ?>
1043
+ </div>
1044
+ <?php Facebook()->render_radio_input("woo_complete_registration_custom_value","global",
1045
+ "Use global value") ?>
1046
+ <div class="form-inline">
1047
+ <?php Facebook()->render_number_input( 'woo_complete_registration_global_value' ); ?>
1048
+ </div>
1049
+ </div>
1050
+ </div>
1051
+ </div>
1052
+ </div>
1053
+ </div>
1054
+ </div>
1055
+
1056
+ <div class="row mb-1">
1057
+ <div class="col">
1058
+ <?php Facebook()->render_switcher_input( 'woo_complete_registration_send_from_server'); ?>
1059
+ <h4 class="switcher-label">Send this from your server only. It won't be visible on your browser.</h4>
1060
+ </div>
1061
+ </div>
1062
+ <?php endif; ?>
1063
+ </div>
1064
+ </div>
1065
 
1066
  <h2 class="section-title">PRO Events</h2>
1067
 
modules/facebook/PYSServerEventAsyncTask.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PixelYourSite;
3
+
4
+
5
+ defined('ABSPATH') or die('Direct access not allowed');
6
+
7
+
8
+ class PYSServerEventAsyncTask extends \WP_Async_Task {
9
+ protected $action = 'pys_send_server_event';
10
+
11
+ protected function prepare_data($data) {
12
+ try {
13
+ if (!empty($data)) {
14
+ return array('data' => base64_encode(serialize($data)));
15
+ }
16
+ } catch (\Exception $ex) {
17
+ error_log($ex);
18
+ }
19
+
20
+ return array();
21
+ }
22
+
23
+ protected function run_action() {
24
+ try {
25
+ $data = unserialize(base64_decode($_POST['data']));
26
+ $events = is_array($data[0]) ? $data[0] : $data ;
27
+ if (empty($events)) {
28
+ return;
29
+ }
30
+
31
+ foreach ($events as $event) {
32
+ Facebook::sendServerRequest([$event]);
33
+ }
34
+
35
+ }
36
+ catch (\Exception $ex) {
37
+ error_log($ex);
38
+ }
39
+ }
40
+ }
modules/facebook/PYSServerEventHelper.php ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PixelYourSite;
3
+
4
+ use FacebookAds\Object\ServerSide\Event;
5
+ use FacebookAds\Object\ServerSide\UserData;
6
+ use PixelYourSite;
7
+
8
+ defined('ABSPATH') or die('Direct access not allowed');
9
+
10
+ class ServerEventHelper {
11
+ public static function newEvent($event_name,$eventId) {
12
+ $user_data = ServerEventHelper::getUserData()
13
+ ->setClientIpAddress(self::getIpAddress())
14
+ ->setClientUserAgent(self::getHttpUserAgent())
15
+ ->setFbp(self::getFbp())
16
+ ->setFbc(self::getFbc());
17
+
18
+ $event = (new Event())
19
+ ->setEventName($event_name)
20
+ ->setEventTime(time())
21
+ ->setEventId($eventId)
22
+ ->setEventSourceUrl(self::getRequestUri())
23
+ ->setUserData($user_data);
24
+
25
+ return $event;
26
+ }
27
+
28
+ private static function getIpAddress() {
29
+ $HEADERS_TO_SCAN = array(
30
+ 'HTTP_CLIENT_IP',
31
+ 'HTTP_X_FORWARDED_FOR',
32
+ 'HTTP_X_FORWARDED',
33
+ 'HTTP_X_CLUSTER_CLIENT_IP',
34
+ 'HTTP_FORWARDED_FOR',
35
+ 'HTTP_FORWARDED',
36
+ 'REMOTE_ADDR'
37
+ );
38
+
39
+ foreach ($HEADERS_TO_SCAN as $header) {
40
+ if (array_key_exists($header, $_SERVER)) {
41
+ $ip_list = explode(',', $_SERVER[$header]);
42
+ foreach($ip_list as $ip) {
43
+ $trimmed_ip = trim($ip);
44
+ if (self::isValidIpAddress($trimmed_ip)) {
45
+ return $trimmed_ip;
46
+ }
47
+ }
48
+ }
49
+ }
50
+
51
+ return null;
52
+ }
53
+
54
+ private static function isValidIpAddress($ip_address) {
55
+ return filter_var($ip_address,
56
+ FILTER_VALIDATE_IP,
57
+ FILTER_FLAG_IPV4
58
+ | FILTER_FLAG_IPV6
59
+ | FILTER_FLAG_NO_PRIV_RANGE
60
+ | FILTER_FLAG_NO_RES_RANGE);
61
+ }
62
+
63
+ private static function getHttpUserAgent() {
64
+ $user_agent = null;
65
+
66
+ if (!empty($_SERVER['HTTP_USER_AGENT'])) {
67
+ $user_agent = $_SERVER['HTTP_USER_AGENT'];
68
+ }
69
+
70
+ return $user_agent;
71
+ }
72
+
73
+ private static function getRequestUri() {
74
+ $request_uri = null;
75
+
76
+ if (!empty($_SERVER['REQUEST_URI'])) {
77
+ $request_uri = $_SERVER['REQUEST_URI'];
78
+ }
79
+
80
+ return $request_uri;
81
+ }
82
+
83
+ private static function getFbp() {
84
+ $fbp = null;
85
+
86
+ if (!empty($_COOKIE['_fbp'])) {
87
+ $fbp = $_COOKIE['_fbp'];
88
+ }
89
+
90
+ return $fbp;
91
+ }
92
+
93
+ private static function getFbc() {
94
+ $fbc = null;
95
+
96
+ if (!empty($_COOKIE['_fbc'])) {
97
+ $fbc = $_COOKIE['_fbc'];
98
+ }
99
+
100
+ return $fbc;
101
+ }
102
+
103
+ private static function getUserData() {
104
+ $userData = new UserData();
105
+
106
+ /**
107
+ * Add purchase WooCommerce Advanced Matching params
108
+ */
109
+
110
+ if ( is_order_received_page() && isset( $_REQUEST['key'] ) ) {
111
+
112
+ $order_key = sanitize_key($_REQUEST['key']);
113
+ $order_id = wc_get_order_id_by_order_key( $order_key );
114
+ $order = wc_get_order( $order_id );
115
+
116
+ if ( $order ) {
117
+
118
+ if ( PixelYourSite\isWooCommerceVersionGte( '3.0.0' ) ) {
119
+
120
+ $userData->setEmail($order->get_billing_email());
121
+ $userData->setPhone($order->get_billing_phone());
122
+ $userData->setFirstName($order->get_billing_first_name());
123
+ $userData->setLastName($order->get_billing_last_name());
124
+ $userData->setCity($order->get_billing_city());
125
+ $userData->setState($order->get_billing_state());
126
+
127
+ } else {
128
+ $userData->setEmail($order->billing_email);
129
+ $userData->setPhone($order->billing_phone);
130
+ $userData->setFirstName($order->billing_first_name);
131
+ $userData->setLastName($order->billing_last_name);
132
+ $userData->setCity($order->billing_city);
133
+ $userData->setState($order->billing_state);
134
+ }
135
+ } else {
136
+ return ServerEventHelper::getRegularUserData();
137
+ }
138
+
139
+ } else {
140
+ return ServerEventHelper::getRegularUserData();
141
+ }
142
+
143
+ return $userData;
144
+ }
145
+
146
+ private static function getRegularUserData() {
147
+ $user = wp_get_current_user();
148
+ $userData = new UserData();
149
+ if ( $user->ID ) {
150
+ // get user regular data
151
+ $userData->setFirstName($user->get( 'user_firstname' ));
152
+ $userData->setLastName($user->get( 'user_lastname' ));
153
+ $userData->setEmail($user->get( 'user_email' ));
154
+
155
+ /**
156
+ * Add common WooCommerce Advanced Matching params
157
+ */
158
+ if ( PixelYourSite\isWooCommerceActive() && PixelYourSite\PYS()->getOption( 'woo_enabled' ) ) {
159
+ // if first name is not set in regular wp user meta
160
+ if (empty($userData->getFirstName())) {
161
+ $userData->setFirstName($user->get('billing_first_name'));
162
+ }
163
+
164
+ // if last name is not set in regular wp user meta
165
+ if (empty($userData->getLastName())) {
166
+ $userData->setLastName($user->get('billing_last_name'));
167
+ }
168
+
169
+ $userData->setPhone($user->get('billing_phone'));
170
+ $userData->setCity($user->get('billing_city'));
171
+ $userData->setState($user->get('billing_state'));
172
+ }
173
+ }
174
+ return $userData;
175
+ }
176
+
177
+ }
modules/facebook/facebook.php CHANGED
@@ -9,8 +9,12 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  /** @noinspection PhpIncludeInspection */
10
  require_once PYS_FREE_PATH . '/modules/facebook/function-helpers.php';
11
  require_once PYS_FREE_PATH . '/modules/facebook/FDPEvent.php';
 
 
12
 
13
  use PixelYourSite\Facebook\Helpers;
 
 
14
 
15
  class Facebook extends Settings implements Pixel {
16
 
@@ -41,6 +45,9 @@ class Facebook extends Settings implements Pixel {
41
  /** @var PYS $core */
42
  $core->registerPixel( $this );
43
  } );
 
 
 
44
 
45
  }
46
 
@@ -51,12 +58,12 @@ class Facebook extends Settings implements Pixel {
51
  public function configured() {
52
 
53
  if ( $this->configured === null ) {
54
-
55
- $pixel_id = $this->getOption( 'pixel_id' );
56
  $this->configured = $this->enabled()
57
- && ! empty( $pixel_id )
 
58
  && ! apply_filters( 'pys_pixel_disabled', false, $this->getSlug() );
59
-
60
  }
61
 
62
  return $this->configured;
@@ -66,8 +73,8 @@ class Facebook extends Settings implements Pixel {
66
  public function getPixelIDs() {
67
 
68
  $ids = (array) $this->getOption( 'pixel_id' );
69
-
70
- return (array) reset( $ids ); // return first id only
71
 
72
  }
73
 
@@ -82,6 +89,8 @@ class Facebook extends Settings implements Pixel {
82
  'wooVariableAsSimple' => $this->getOption( 'woo_variable_as_simple' ),
83
  'downloadEnabled' => $this->getOption( 'download_event_enabled' ),
84
  'formEventEnabled' => $this->getOption( 'form_event_enabled' ),
 
 
85
  );
86
 
87
  }
@@ -151,7 +160,10 @@ class Facebook extends Settings implements Pixel {
151
  case 'edd_purchase':
152
  return $this->getEddCartEventParams( 'Purchase' );
153
 
154
- default:
 
 
 
155
  return false; // event does not supported
156
  }
157
 
@@ -325,11 +337,15 @@ class Facebook extends Settings implements Pixel {
325
  if($event->event_name == "fdp_add_to_cart") {
326
  $name = "AddToCart";
327
  $params = Helpers\getFDPAddToCartEventParams();
 
 
328
  }
329
 
330
  if($event->event_name == "fdp_purchase") {
331
  $name = "Purchase";
332
  $params = Helpers\getFDPPurchaseEventParams();
 
 
333
  }
334
 
335
 
@@ -354,7 +370,7 @@ class Facebook extends Settings implements Pixel {
354
  $params = array();
355
 
356
  $product = wc_get_product( $post->ID );
357
-
358
  $content_id = Helpers\getFacebookWooProductContentId( $post->ID );
359
  $params['content_ids'] = json_encode( $content_id );
360
 
@@ -381,7 +397,6 @@ class Facebook extends Settings implements Pixel {
381
  $value_option = PYS()->getOption( 'woo_view_content_value_option' );
382
  $global_value = PYS()->getOption( 'woo_view_content_value_global', 0 );
383
 
384
- update_option('woo_content_value_cog', $value_option);
385
 
386
  $params['value'] = getWooEventValue( $value_option, $amount, $global_value, $post->ID );
387
  $params['currency'] = get_woocommerce_currency();
@@ -604,12 +619,10 @@ class Facebook extends Settings implements Pixel {
604
  $value_option = PYS()->getOption( 'woo_purchase_value_option' );
605
  $global_value = PYS()->getOption( 'woo_purchase_value_global', 0 );
606
 
607
- update_option('woo_purchase_value_cog', $value_option);
608
-
609
  $params['value'] = getWooEventValueOrder( $value_option, $amount, $global_value, $order_id, $content_ids );
610
  $params['currency'] = get_woocommerce_currency();
611
- $params['transaction_id'] = $order_id;
612
-
613
  return array(
614
  'name' => 'Purchase',
615
  'data' => $params,
@@ -949,6 +962,92 @@ class Facebook extends Settings implements Pixel {
949
 
950
  }
951
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
952
  }
953
 
954
  /**
9
  /** @noinspection PhpIncludeInspection */
10
  require_once PYS_FREE_PATH . '/modules/facebook/function-helpers.php';
11
  require_once PYS_FREE_PATH . '/modules/facebook/FDPEvent.php';
12
+ require_once PYS_FREE_PATH . '/modules/facebook/PYSServerEventAsyncTask.php';
13
+ require_once PYS_FREE_PATH . '/modules/facebook/PYSServerEventHelper.php';
14
 
15
  use PixelYourSite\Facebook\Helpers;
16
+ use FacebookAds\Api;
17
+ use FacebookAds\Object\ServerSide\EventRequest;
18
 
19
  class Facebook extends Settings implements Pixel {
20
 
45
  /** @var PYS $core */
46
  $core->registerPixel( $this );
47
  } );
48
+
49
+ // initialize the s2s event async task
50
+ new PYSServerEventAsyncTask();
51
 
52
  }
53
 
58
  public function configured() {
59
 
60
  if ( $this->configured === null ) {
61
+
62
+ $pixel_id = $this->getPixelIDs();
63
  $this->configured = $this->enabled()
64
+ && count( $pixel_id ) > 0
65
+ && !empty($pixel_id[0])
66
  && ! apply_filters( 'pys_pixel_disabled', false, $this->getSlug() );
 
67
  }
68
 
69
  return $this->configured;
73
  public function getPixelIDs() {
74
 
75
  $ids = (array) $this->getOption( 'pixel_id' );
76
+ $ids = (array) reset( $ids );// return first id only
77
+ return apply_filters("pys_facebook_ids",$ids);
78
 
79
  }
80
 
89
  'wooVariableAsSimple' => $this->getOption( 'woo_variable_as_simple' ),
90
  'downloadEnabled' => $this->getOption( 'download_event_enabled' ),
91
  'formEventEnabled' => $this->getOption( 'form_event_enabled' ),
92
+ 'serverApiEnabled' => $this->isServerApiEnabled() && count($this->getApiToken()) > 0,
93
+ 'wooCRSendFromServer' => $this->getOption("woo_complete_registration_send_from_server") && $this->getOption("woo_complete_registration_fire_every_time")
94
  );
95
 
96
  }
160
  case 'edd_purchase':
161
  return $this->getEddCartEventParams( 'Purchase' );
162
 
163
+ case 'complete_registration':
164
+ return $this->getCompleteRegistrationEventParams();
165
+
166
+ default:
167
  return false; // event does not supported
168
  }
169
 
337
  if($event->event_name == "fdp_add_to_cart") {
338
  $name = "AddToCart";
339
  $params = Helpers\getFDPAddToCartEventParams();
340
+ $params["value"] = $this->getOption("fdp_add_to_cart_value");
341
+ $params["currency"] = $this->getOption("fdp_currency");
342
  }
343
 
344
  if($event->event_name == "fdp_purchase") {
345
  $name = "Purchase";
346
  $params = Helpers\getFDPPurchaseEventParams();
347
+ $params["value"] = $this->getOption("fdp_purchase_value");
348
+ $params["currency"] = $this->getOption("fdp_currency");
349
  }
350
 
351
 
370
  $params = array();
371
 
372
  $product = wc_get_product( $post->ID );
373
+ if(!$product) return false;
374
  $content_id = Helpers\getFacebookWooProductContentId( $post->ID );
375
  $params['content_ids'] = json_encode( $content_id );
376
 
397
  $value_option = PYS()->getOption( 'woo_view_content_value_option' );
398
  $global_value = PYS()->getOption( 'woo_view_content_value_global', 0 );
399
 
 
400
 
401
  $params['value'] = getWooEventValue( $value_option, $amount, $global_value, $post->ID );
402
  $params['currency'] = get_woocommerce_currency();
619
  $value_option = PYS()->getOption( 'woo_purchase_value_option' );
620
  $global_value = PYS()->getOption( 'woo_purchase_value_global', 0 );
621
 
 
 
622
  $params['value'] = getWooEventValueOrder( $value_option, $amount, $global_value, $order_id, $content_ids );
623
  $params['currency'] = get_woocommerce_currency();
624
+ //$params['transaction_id'] = $order_id;
625
+ $params['eventID'] = $order_id;
626
  return array(
627
  'name' => 'Purchase',
628
  'data' => $params,
962
 
963
  }
964
 
965
+ /**
966
+ * @return array
967
+ */
968
+ public function getApiToken() {
969
+ $ids = (array) $this->getOption( 'server_access_api_token' );
970
+ if ( isSuperPackActive() && SuperPack()->getOption( 'enabled' ) && SuperPack()->getOption( 'additional_ids_enabled' ) ) {
971
+ return $ids;
972
+ } else {
973
+ return (array) reset( $ids ); // return first id only
974
+ }
975
+ }
976
+
977
+ /**
978
+ * @return array
979
+ */
980
+ public function getApiTestCode() {
981
+ $ids = (array) $this->getOption( 'test_api_event_code' );
982
+ if ( isSuperPackActive() && SuperPack()->getOption( 'enabled' ) && SuperPack()->getOption( 'additional_ids_enabled' ) ) {
983
+ return $ids;
984
+ } else {
985
+ return (array) reset( $ids ); // return first id only
986
+ }
987
+ }
988
+
989
+ /**
990
+ * @return bool
991
+ */
992
+ public function isServerApiEnabled() {
993
+ return $this->getOption("use_server_api");
994
+ }
995
+
996
+ public function trackEventByServerApi($event) {
997
+ do_action('pys_send_server_event', $event);
998
+ }
999
+
1000
+ public static function sendServerRequest($events) {
1001
+ if (empty($events)) {
1002
+ return;
1003
+ }
1004
+ $access_token = Facebook::instance()->getApiToken();
1005
+ $testCode = Facebook::instance()->getApiTestCode();
1006
+ $isDebug = PYS()->getOption( 'debug_enabled' );
1007
+ $pixel_Ids = Facebook::instance()->getPixelIDs();
1008
+
1009
+ $count = count($pixel_Ids);
1010
+ for($i=0; $i<$count; $i++) {
1011
+
1012
+ if(empty($access_token[$i])) continue;
1013
+
1014
+ $api = Api::init(null, null, $access_token[$i]);
1015
+
1016
+ $request = (new EventRequest($pixel_Ids[$i]))->setEvents($events);
1017
+ $request->setPartnerAgent("dvpixelyoursite");
1018
+ if(!empty($testCode[$i])) $request->setTestEventCode($testCode[$i]);
1019
+
1020
+ if($isDebug) error_log("send fb api request ".print_r($request,true));
1021
+
1022
+ try{
1023
+ $response = $request->execute();
1024
+ } catch (\Exception $e) {
1025
+ error_log("error send Fb API request ".$e->getMessage());
1026
+
1027
+ }
1028
+
1029
+ if($isDebug && isset($response)) error_log("fb api response ".print_r($response,true));
1030
+ }
1031
+ }
1032
+
1033
+ private function getCompleteRegistrationEventParams() {
1034
+
1035
+ if ( ! $this->getOption( 'complete_registration_event_enabled' ) ) {
1036
+ return false;
1037
+ }
1038
+ $params = array();
1039
+ if($this->getOption("woo_complete_registration_fire_every_time") &&
1040
+ $this->getOption("woo_complete_registration_use_custom_value") &&
1041
+ isset( $_REQUEST['key'] ) ) {
1042
+ $params = Helpers\getCompleteRegistrationOrderParams();
1043
+ }
1044
+
1045
+ return $params = array(
1046
+ 'name' => 'CompleteRegistration',
1047
+ 'data' => $params,
1048
+ );
1049
+
1050
+ }
1051
  }
1052
 
1053
  /**
modules/facebook/function-helpers.php CHANGED
@@ -295,8 +295,6 @@ function getWooSingleAddToCartParams( $product_id, $qty = 1 ) {
295
  $value_option = PixelYourSite\PYS()->getOption( 'woo_add_to_cart_value_option' );
296
  $global_value = PixelYourSite\PYS()->getOption( 'woo_add_to_cart_value_global', 0 );
297
 
298
- update_option('woo_add_to_cart_value_cog', $value_option);
299
-
300
  $params['value'] = PixelYourSite\getWooEventValue( $value_option, $amount, $global_value, $product_id );
301
  $params['currency'] = get_woocommerce_currency();
302
 
@@ -398,8 +396,6 @@ function getWooCartParams( $context = 'cart' ) {
398
  $value_option = PixelYourSite\PYS()->getOption( $value_option_option );
399
  $global_value = PixelYourSite\PYS()->getOption( $value_global_option, 0 );
400
 
401
- update_option('woo_initiate_checkout_value_cog', $value_option);
402
-
403
  $params['value'] = PixelYourSite\getWooEventValueCart( $value_option, $amount, $global_value );
404
  $params['currency'] = get_woocommerce_currency();
405
 
@@ -555,5 +551,22 @@ function getFDPPurchaseEventParams() {
555
  );
556
 
557
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
558
  return $params;
559
  }
295
  $value_option = PixelYourSite\PYS()->getOption( 'woo_add_to_cart_value_option' );
296
  $global_value = PixelYourSite\PYS()->getOption( 'woo_add_to_cart_value_global', 0 );
297
 
 
 
298
  $params['value'] = PixelYourSite\getWooEventValue( $value_option, $amount, $global_value, $product_id );
299
  $params['currency'] = get_woocommerce_currency();
300
 
396
  $value_option = PixelYourSite\PYS()->getOption( $value_option_option );
397
  $global_value = PixelYourSite\PYS()->getOption( $value_global_option, 0 );
398
 
 
 
399
  $params['value'] = PixelYourSite\getWooEventValueCart( $value_option, $amount, $global_value );
400
  $params['currency'] = get_woocommerce_currency();
401
 
551
  );
552
 
553
 
554
+ return $params;
555
+ }
556
+
557
+ function getCompleteRegistrationOrderParams() {
558
+ $params = array();
559
+ $order_key = sanitize_key( $_REQUEST['key']);
560
+ $order_id = (int) wc_get_order_id_by_order_key( $order_key );
561
+ $order = new \WC_Order( $order_id );
562
+
563
+ $amount = $order->get_total();
564
+ $value_option = PixelYourSite\Facebook()->getOption( 'woo_complete_registration_custom_value' );
565
+ $global_value = PixelYourSite\Facebook()->getOption( 'woo_complete_registration_global_value', 0 );
566
+ $percents_value = PixelYourSite\Facebook()->getOption( 'woo_complete_registration_percent_value', 100 );
567
+
568
+ $params['eventID'] = $order_id;
569
+ $params['value'] = PixelYourSite\getWooEventValueOrder( $value_option, $amount, $global_value, $order_id, "", $percents_value );
570
+ $params['currency'] = get_woocommerce_currency();
571
  return $params;
572
  }
modules/facebook/options_defaults.json CHANGED
@@ -41,5 +41,24 @@
41
  "fdp_purchase_enabled": false,
42
  "fdp_purchase_event_fire" : "scroll_pos",
43
  "fdp_purchase_event_fire_scroll": "90",
44
- "fdp_purchase_event_fire_css": ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  }
41
  "fdp_purchase_enabled": false,
42
  "fdp_purchase_event_fire" : "scroll_pos",
43
  "fdp_purchase_event_fire_scroll": "90",
44
+ "fdp_purchase_event_fire_css": "",
45
+
46
+ "fdp_pixel_id": "",
47
+ "fdp_use_own_pixel_id": false,
48
+ "fdp_currency" : "USD",
49
+ "fdp_add_to_cart_value" : "0",
50
+ "fdp_purchase_value" : "0",
51
+
52
+ "use_server_api": false,
53
+ "server_access_api_token": "",
54
+ "test_api_event_code": "",
55
+
56
+ "complete_registration_event_enabled" : true,
57
+ "woo_complete_registration_fire_every_time": false,
58
+ "woo_complete_registration_use_custom_value": true,
59
+ "woo_complete_registration_custom_value": "price",
60
+ "woo_complete_registration_percent_value": "",
61
+ "woo_complete_registration_global_value": "",
62
+ "woo_complete_registration_custom_value_old": "",
63
+ "woo_complete_registration_send_from_server": true
64
  }
modules/facebook/options_fields.json CHANGED
@@ -40,5 +40,24 @@
40
  "fdp_purchase_enabled": "checkbox",
41
  "fdp_purchase_event_fire" : "select",
42
  "fdp_purchase_event_fire_scroll": "text",
43
- "fdp_purchase_event_fire_css": "text"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  }
40
  "fdp_purchase_enabled": "checkbox",
41
  "fdp_purchase_event_fire" : "select",
42
  "fdp_purchase_event_fire_scroll": "text",
43
+ "fdp_purchase_event_fire_css": "text",
44
+
45
+ "fdp_pixel_id": "text",
46
+ "fdp_use_own_pixel_id": "checkbox",
47
+ "fdp_currency" : "select",
48
+ "fdp_add_to_cart_value" : "text",
49
+ "fdp_purchase_value" : "text",
50
+
51
+ "use_server_api": "checkbox",
52
+ "server_access_api_token": "array",
53
+ "test_api_event_code": "array",
54
+
55
+ "complete_registration_event_enabled" : "checkbox",
56
+ "woo_complete_registration_percent_value": "text",
57
+ "woo_complete_registration_global_value": "text",
58
+ "woo_complete_registration_fire_every_time": "checkbox",
59
+ "woo_complete_registration_use_custom_value": "checkbox",
60
+ "woo_complete_registration_custom_value": "radio",
61
+ "woo_complete_registration_custom_value_old": "radio",
62
+ "woo_complete_registration_send_from_server": "checkbox"
63
  }
modules/google_analytics/ga.php CHANGED
@@ -48,9 +48,10 @@ class GA extends Settings implements Pixel {
48
 
49
  if ( $this->configured === null ) {
50
 
51
- $tracking_id = $this->getOption( 'tracking_id' );
52
  $this->configured = $this->enabled()
53
- && ! empty( $tracking_id )
 
54
  && ! apply_filters( 'pys_pixel_disabled', false, $this->getSlug() );
55
 
56
  }
@@ -63,7 +64,7 @@ class GA extends Settings implements Pixel {
63
 
64
  $ids = (array) $this->getOption( 'tracking_id' );
65
 
66
- return (array) reset( $ids ); // return first id only
67
 
68
  }
69
 
@@ -380,6 +381,7 @@ class GA extends Settings implements Pixel {
380
  }
381
  $content_id = GA\Helpers\getWooProductContentId($product_id);
382
  $product = wc_get_product( $product_id );
 
383
  $price = getWooProductPriceToDisplay( $product_id, 1 );
384
  $name = $product->get_title();
385
 
@@ -510,6 +512,7 @@ class GA extends Settings implements Pixel {
510
  $content_id = GA\Helpers\getWooProductContentId( $product_id );
511
 
512
  $product = wc_get_product( $product_id );
 
513
  $name = $product->get_title();
514
 
515
  if ( $line_item['variation_id'] ) {
@@ -600,6 +603,8 @@ class GA extends Settings implements Pixel {
600
  $content_id = GA\Helpers\getWooProductContentId( $product_id );
601
 
602
  $product = wc_get_product( $product_id );
 
 
603
  $name = $product->get_title();
604
 
605
  if ( $cart_item['variation_id'] ) {
48
 
49
  if ( $this->configured === null ) {
50
 
51
+ $tracking_id = $this->getPixelIDs() ;
52
  $this->configured = $this->enabled()
53
+ && count( $tracking_id ) > 0
54
+ && !empty($tracking_id[0])
55
  && ! apply_filters( 'pys_pixel_disabled', false, $this->getSlug() );
56
 
57
  }
64
 
65
  $ids = (array) $this->getOption( 'tracking_id' );
66
 
67
+ return apply_filters("pys_ga_ids",(array) reset( $ids )) ; // return first id only
68
 
69
  }
70
 
381
  }
382
  $content_id = GA\Helpers\getWooProductContentId($product_id);
383
  $product = wc_get_product( $product_id );
384
+ if(!$product) return false;
385
  $price = getWooProductPriceToDisplay( $product_id, 1 );
386
  $name = $product->get_title();
387
 
512
  $content_id = GA\Helpers\getWooProductContentId( $product_id );
513
 
514
  $product = wc_get_product( $product_id );
515
+ if(!$product) continue;
516
  $name = $product->get_title();
517
 
518
  if ( $line_item['variation_id'] ) {
603
  $content_id = GA\Helpers\getWooProductContentId( $product_id );
604
 
605
  $product = wc_get_product( $product_id );
606
+ if(!$product) continue;
607
+
608
  $name = $product->get_title();
609
 
610
  if ( $cart_item['variation_id'] ) {
notices/0_clean.php CHANGED
@@ -9,11 +9,18 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  function adminGetPromoNoticesContent() {
10
  return [
11
  'woo' => [
 
12
  ],
13
  'edd' => [
 
 
 
14
  ],
15
  'no_woo_no_edd' => [
 
 
16
  ],
17
- 'next' => '7_1_0'
 
18
  ];
19
  }
9
  function adminGetPromoNoticesContent() {
10
  return [
11
  'woo' => [
12
+
13
  ],
14
  'edd' => [
15
+
16
+
17
+
18
  ],
19
  'no_woo_no_edd' => [
20
+
21
+
22
  ],
23
+ 'next' => '7_1_8'
24
+
25
  ];
26
  }
notices/1_from_pre_7x.php CHANGED
@@ -9,28 +9,15 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  function adminGetPromoNoticesContent() {
10
  return [
11
  'woo' => [
12
- [
13
- 'disabled' => false,
14
- 'from' => 0,
15
- 'to' => 2,
16
- 'content' => 'PixelYourSite has been updated and it does a lot of new stuff for you: <a href="https://www.pixelyoursite.com/pixelyoursite-free-plugin">find out more here!</a>'
17
- ],
18
  ],
19
  'edd' => [
20
- [
21
- 'disabled' => false,
22
- 'from' => 0,
23
- 'to' => 2,
24
- 'content' => 'PixelYourSite has been updated and it does a lot of new stuff for you: <a href="https://www.pixelyoursite.com/pixelyoursite-free-plugin">find out more here!</a>'
25
- ],
26
  ],
27
  'no_woo_no_edd' => [
28
- [
29
- 'disabled' => false,
30
- 'from' => 0,
31
- 'to' => 2,
32
- 'content' => 'PixelYourSite has been updated and it does a lot of new stuff for you: <a href="https://www.pixelyoursite.com/pixelyoursite-free-plugin">find out more here!</a>'
33
- ],
34
  ],
 
 
35
  ];
36
  }
9
  function adminGetPromoNoticesContent() {
10
  return [
11
  'woo' => [
12
+
 
 
 
 
 
13
  ],
14
  'edd' => [
15
+
 
 
 
 
 
16
  ],
17
  'no_woo_no_edd' => [
18
+
 
 
 
 
 
19
  ],
20
+ 'next' => '7_1_8'
21
+
22
  ];
23
  }
notices/7_1_0.php CHANGED
@@ -9,28 +9,16 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  function adminGetPromoNoticesContent() {
10
  return [
11
  'woo' => [
12
- [
13
- 'disabled' => false,
14
- 'from' => 0,
15
- 'to' => 2,
16
- 'content' => 'PixelYourSite: implement the Microsoft (<b>Bing</b>) UET Tag for WooCommerce with this <a href="https://www.pixelyoursite.com/bing-tag?utm_source=free-plugin-notice&utm_medium=plugin&utm_campaign=free-with-woo-notice" target="_blank">dedicated paid add-on</a>'
17
- ],
18
  ],
19
  'edd' => [
20
- [
21
- 'disabled' => false,
22
- 'from' => 0,
23
- 'to' => 2,
24
- 'content' => 'PixelYourSite: implement the Microsoft (<b>Bing</b>) UET Tag for Easy Digital Downloads with this <a href="https://www.pixelyoursite.com/bing-tag?utm_source=free-plugin-notice&utm_medium=plugin&utm_campaign=free-with-edd-notice" target="_blank">dedicated paid add-on</a>'
25
- ],
26
  ],
27
  'no_woo_no_edd' => [
28
- [
29
- 'disabled' => false,
30
- 'from' => 0,
31
- 'to' => 2,
32
- 'content' => 'PixelYourSite: implement the Microsoft (<b>Bing</b>) UET Tag with this <a href="https://www.pixelyoursite.com/bing-tag?utm_source=free-plugin-notice&utm_medium=plugin&utm_campaign=free-notice" target="_blank">dedicated paid add-on</a>'
33
- ],
34
  ],
 
 
 
35
  ];
36
  }
9
  function adminGetPromoNoticesContent() {
10
  return [
11
  'woo' => [
12
+
 
 
 
 
 
13
  ],
14
  'edd' => [
15
+
 
 
 
 
 
16
  ],
17
  'no_woo_no_edd' => [
18
+
 
 
 
 
 
19
  ],
20
+
21
+ 'next' => '7_1_8'
22
+
23
  ];
24
  }
notices/7_1_8.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace PixelYourSite;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly.
7
+ }
8
+
9
+ function adminGetPromoNoticesContent() {
10
+ return [
11
+ 'woo' => [
12
+
13
+ [
14
+ 'disabled' => false,
15
+ // 'from' => 1,
16
+ // 'to' => 2,
17
+ 'content' => '</br>PixelYourSite & WooCommerce: track both PROFIT and TOTAL for your Facebook Ads: <a href="https://www.pixelyoursite.com/cost-of-goods-purchase-and-completeregistration" target="_blank">LEARN HOW</a></br></br>'
18
+ ],
19
+
20
+
21
+ ],
22
+ 'edd' => [
23
+
24
+ [
25
+ 'disabled' => false,
26
+ // 'from' => 0,
27
+ // 'to' => 1,
28
+ 'content' => '</br>PixelYourSite: Learn how to do Facebook Dynamic Ads for NORMAL WordPress posts: <a href="https://www.pixelyoursite.com/facebook-dynamic-product-ads-for-wordpress" target="_blank">CLICK HERE</a></br></br>'
29
+ ],
30
+
31
+ ],
32
+ 'no_woo_no_edd' => [
33
+
34
+ [
35
+ 'disabled' => false,
36
+ // 'from' => 0,
37
+ // 'to' => 1,
38
+ 'content' => '</br>PixelYourSite: Learn how to do Facebook Dynamic Ads for NORMAL WordPress posts: <a href="https://www.pixelyoursite.com/facebook-dynamic-product-ads-for-wordpress" target="_blank">CLICK HERE</a></br></br>'
39
+ ],
40
+
41
+ ],
42
+ ];
43
+ }
pixelyoursite.php CHANGED
@@ -4,7 +4,7 @@ if ( ! defined( 'ABSPATH' ) ) {
4
  exit; // Exit if accessed directly.
5
  }
6
 
7
- define( 'PYS_FREE_VERSION', '7.1.7' );
8
  define( 'PYS_FREE_PINTEREST_MIN_VERSION', '2.0.6' );
9
  define( 'PYS_FREE_BING_MIN_VERSION', '1.0.0' );
10
  define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
4
  exit; // Exit if accessed directly.
5
  }
6
 
7
+ define( 'PYS_FREE_VERSION', '7.1.8' );
8
  define( 'PYS_FREE_PINTEREST_MIN_VERSION', '2.0.6' );
9
  define( 'PYS_FREE_BING_MIN_VERSION', '1.0.0' );
10
  define( 'PYS_FREE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: Facebook Pixel, New Facebook Pixel, Facebook Conversion Pixel, Facebook Pi
4
  Requires at least: 3.0.1
5
  Requires PHP: 5.4
6
  Tested up to: 5.4
7
- Stable tag: 7.1.7
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -23,6 +23,8 @@ Take a look at this video to see the plugin in action:
23
 
24
  [youtube https://www.youtube.com/watch?v=OUHU9lZ2lwQ]
25
 
 
 
26
  TRACK EVERYTHING WITH A SINGLE PLUGIN:
27
 
28
  The Facebook Pixel: one click install
@@ -388,6 +390,15 @@ NO, absolutely not! We don't track any type of data about your website. We simpl
388
 
389
  == Changelog ==
390
 
 
 
 
 
 
 
 
 
 
391
 
392
  = PixelYourSite 7.1.6 =
393
 
4
  Requires at least: 3.0.1
5
  Requires PHP: 5.4
6
  Tested up to: 5.4
7
+ Stable tag: 7.1.8
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
23
 
24
  [youtube https://www.youtube.com/watch?v=OUHU9lZ2lwQ]
25
 
26
+ NEW: Facebook Pixel server-side events for WooCommerce (Purchase and CompleteRegistration): [Learn how to configure server-side events](https://www.pixelyoursite.com/documentation/configure-server-side-events)
27
+
28
  TRACK EVERYTHING WITH A SINGLE PLUGIN:
29
 
30
  The Facebook Pixel: one click install
390
 
391
  == Changelog ==
392
 
393
+ = PixelYourSite 7.1.8 =
394
+
395
+ * NEW: Facebook Pixel server-side events for WooCommerce. It works for the Purchase and CompleteRegistration event.
396
+
397
+ * NEW: Fire the CompleteRegistration event for each WooCommerce transaction and configure it to use PROFIT as value. You can send this event server-side only (hide it from the browser). This is useful if you want to track both the TOTAL and the PROFIT generated by your ads. Requires [WooCommerce Cost of Goods plugin by PixelYourSite](https://www.pixelyoursite.com/woocommerce-cost-of-goods)
398
+
399
+ * FIX: Potential issue related to the Pinterest Tag add-on and WooCommerce events. Some events were not fired if there was no Facebook Pixel installed. You need to update the Pinterest Tag add-on too.
400
+
401
+ * Declare compatibility with WooCommerce 4.1
402
 
403
  = PixelYourSite 7.1.6 =
404
 
vendor/composer/autoload_classmap.php CHANGED
@@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
9
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
+ 'WP_Async_Task' => $vendorDir . '/techcrunch/wp-async-task/wp-async-task.php',
10
  );
vendor/composer/autoload_psr4.php CHANGED
@@ -7,4 +7,5 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'URL\\' => array($vendorDir . '/glenscott/url-normalizer/src/URL'),
 
10
  );
7
 
8
  return array(
9
  'URL\\' => array($vendorDir . '/glenscott/url-normalizer/src/URL'),
10
+ 'FacebookAds\\' => array($vendorDir . '/facebook/php-business-sdk/src/FacebookAds'),
11
  );
vendor/composer/autoload_real.php CHANGED
@@ -13,6 +13,9 @@ class ComposerAutoloaderInita417e793a2a91963599b4f8d4312034c
13
  }
14
  }
15
 
 
 
 
16
  public static function getLoader()
17
  {
18
  if (null !== self::$loader) {
13
  }
14
  }
15
 
16
+ /**
17
+ * @return \Composer\Autoload\ClassLoader
18
+ */
19
  public static function getLoader()
20
  {
21
  if (null !== self::$loader) {
vendor/composer/autoload_static.php CHANGED
@@ -11,6 +11,10 @@ class ComposerStaticInita417e793a2a91963599b4f8d4312034c
11
  array (
12
  'URL\\' => 4,
13
  ),
 
 
 
 
14
  );
15
 
16
  public static $prefixDirsPsr4 = array (
@@ -18,6 +22,14 @@ class ComposerStaticInita417e793a2a91963599b4f8d4312034c
18
  array (
19
  0 => __DIR__ . '/..' . '/glenscott/url-normalizer/src/URL',
20
  ),
 
 
 
 
 
 
 
 
21
  );
22
 
23
  public static function getInitializer(ClassLoader $loader)
@@ -25,6 +37,7 @@ class ComposerStaticInita417e793a2a91963599b4f8d4312034c
25
  return \Closure::bind(function () use ($loader) {
26
  $loader->prefixLengthsPsr4 = ComposerStaticInita417e793a2a91963599b4f8d4312034c::$prefixLengthsPsr4;
27
  $loader->prefixDirsPsr4 = ComposerStaticInita417e793a2a91963599b4f8d4312034c::$prefixDirsPsr4;
 
28
 
29
  }, null, ClassLoader::class);
30
  }
11
  array (
12
  'URL\\' => 4,
13
  ),
14
+ 'F' =>
15
+ array (
16
+ 'FacebookAds\\' => 12,
17
+ ),
18
  );
19
 
20
  public static $prefixDirsPsr4 = array (
22
  array (
23
  0 => __DIR__ . '/..' . '/glenscott/url-normalizer/src/URL',
24
  ),
25
+ 'FacebookAds\\' =>
26
+ array (
27
+ 0 => __DIR__ . '/..' . '/facebook/php-business-sdk/src/FacebookAds',
28
+ ),
29
+ );
30
+
31
+ public static $classMap = array (
32
+ 'WP_Async_Task' => __DIR__ . '/..' . '/techcrunch/wp-async-task/wp-async-task.php',
33
  );
34
 
35
  public static function getInitializer(ClassLoader $loader)
37
  return \Closure::bind(function () use ($loader) {
38
  $loader->prefixLengthsPsr4 = ComposerStaticInita417e793a2a91963599b4f8d4312034c::$prefixLengthsPsr4;
39
  $loader->prefixDirsPsr4 = ComposerStaticInita417e793a2a91963599b4f8d4312034c::$prefixDirsPsr4;
40
+ $loader->classMap = ComposerStaticInita417e793a2a91963599b4f8d4312034c::$classMap;
41
 
42
  }, null, ClassLoader::class);
43
  }
vendor/composer/installed.json CHANGED
@@ -1,4 +1,43 @@
1
  [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  {
3
  "name": "glenscott/url-normalizer",
4
  "version": "1.4.0",
@@ -37,5 +76,58 @@
37
  }
38
  ],
39
  "description": "Syntax based normalization of URL's"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  }
41
  ]
1
  [
2
+ {
3
+ "name": "facebook/php-business-sdk",
4
+ "version": "6.0.0",
5
+ "version_normalized": "6.0.0.0",
6
+ "source": {
7
+ "type": "git",
8
+ "url": "https://github.com/facebook/facebook-php-business-sdk.git",
9
+ "reference": "32c8678d3c50e0570b68d7cbb23062c16a5faf15"
10
+ },
11
+ "dist": {
12
+ "type": "zip",
13
+ "url": "https://api.github.com/repos/facebook/facebook-php-business-sdk/zipball/32c8678d3c50e0570b68d7cbb23062c16a5faf15",
14
+ "reference": "32c8678d3c50e0570b68d7cbb23062c16a5faf15",
15
+ "shasum": ""
16
+ },
17
+ "require-dev": {
18
+ "phpunit/phpunit": "~8",
19
+ "symfony/finder": "~2.6"
20
+ },
21
+ "time": "2020-02-03T20:06:10+00:00",
22
+ "type": "library",
23
+ "installation-source": "dist",
24
+ "autoload": {
25
+ "psr-4": {
26
+ "FacebookAds\\": "src/FacebookAds/"
27
+ }
28
+ },
29
+ "notification-url": "https://packagist.org/downloads/",
30
+ "description": "PHP SDK for Facebook Business",
31
+ "homepage": "https://developers.facebook.com/",
32
+ "keywords": [
33
+ "ads",
34
+ "business",
35
+ "facebook",
36
+ "instagram",
37
+ "page",
38
+ "sdk"
39
+ ]
40
+ },
41
  {
42
  "name": "glenscott/url-normalizer",
43
  "version": "1.4.0",
76
  }
77
  ],
78
  "description": "Syntax based normalization of URL's"
79
+ },
80
+ {
81
+ "name": "techcrunch/wp-async-task",
82
+ "version": "dev-master",
83
+ "version_normalized": "9999999-dev",
84
+ "source": {
85
+ "type": "git",
86
+ "url": "https://github.com/techcrunch/wp-async-task.git",
87
+ "reference": "9bdbbf9df4ff5179711bb58b9a2451296f6753dc"
88
+ },
89
+ "dist": {
90
+ "type": "zip",
91
+ "url": "https://api.github.com/repos/techcrunch/wp-async-task/zipball/9bdbbf9df4ff5179711bb58b9a2451296f6753dc",
92
+ "reference": "9bdbbf9df4ff5179711bb58b9a2451296f6753dc",
93
+ "shasum": ""
94
+ },
95
+ "require-dev": {
96
+ "10up/wp_mock": "dev-master",
97
+ "phpunit/phpunit": "*@stable"
98
+ },
99
+ "time": "2016-03-10T17:37:13+00:00",
100
+ "type": "wordpress-plugin",
101
+ "installation-source": "source",
102
+ "autoload": {
103
+ "classmap": [
104
+ "wp-async-task.php"
105
+ ]
106
+ },
107
+ "notification-url": "https://packagist.org/downloads/",
108
+ "license": [
109
+ "MIT"
110
+ ],
111
+ "authors": [
112
+ {
113
+ "name": "Alex Khadiwala",
114
+ "role": "developer"
115
+ },
116
+ {
117
+ "name": "Nicolas Vincent",
118
+ "role": "developer"
119
+ },
120
+ {
121
+ "name": "Eric Mann",
122
+ "email": "eric.mann@10up.com",
123
+ "role": "developer"
124
+ },
125
+ {
126
+ "name": "John P. Bloch",
127
+ "email": "john.bloch@10up.com",
128
+ "role": "developer"
129
+ }
130
+ ],
131
+ "description": "Run asynchronous tasks for long-running operations in WordPress"
132
  }
133
  ]
vendor/facebook/php-business-sdk/fb_ca_chain_bundle.crt ADDED
@@ -0,0 +1,3920 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ##
2
+ ## ca-bundle.crt -- Bundle of CA Root Certificates
3
+ ##
4
+ ## Certificate data from Mozilla as of: Thu Oct 18 19:05:59 2012
5
+ ##
6
+ ## This is a bundle of X.509 certificates of public Certificate Authorities
7
+ ## (CA). These were automatically extracted from Mozilla's root certificates
8
+ ## file (certdata.txt). This file can be found in the mozilla source tree:
9
+ ## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
10
+ ##
11
+ ## It contains the certificates in PEM format and therefore
12
+ ## can be directly used with curl / libcurl / php_curl, or with
13
+ ## an Apache+mod_ssl webserver for SSL client authentication.
14
+ ## Just configure this file as the SSLCACertificateFile.
15
+ ##
16
+
17
+ # @(#) $RCSfile: certdata.txt,v $ $Revision: 1.86 $ $Date: 2012/10/18 16:26:52 $
18
+
19
+ GTE CyberTrust Global Root
20
+ ==========================
21
+ -----BEGIN CERTIFICATE-----
22
+ MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
23
+ Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
24
+ A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
25
+ MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
26
+ Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
27
+ IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
28
+ sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
29
+ HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
30
+ AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
31
+ M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
32
+ NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
33
+ -----END CERTIFICATE-----
34
+
35
+ Thawte Server CA
36
+ ================
37
+ -----BEGIN CERTIFICATE-----
38
+ MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
39
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
40
+ dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
41
+ AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
42
+ b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
43
+ BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
44
+ c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
45
+ A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
46
+ ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
47
+ /Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
48
+ 1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
49
+ MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
50
+ GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
51
+ GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
52
+ -----END CERTIFICATE-----
53
+
54
+ Thawte Premium Server CA
55
+ ========================
56
+ -----BEGIN CERTIFICATE-----
57
+ MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
58
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
59
+ dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
60
+ AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
61
+ ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
62
+ AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
63
+ VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
64
+ aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
65
+ cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
66
+ aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
67
+ Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
68
+ qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
69
+ SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
70
+ 8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
71
+ UCemDaYj+bvLpgcUQg==
72
+ -----END CERTIFICATE-----
73
+
74
+ Equifax Secure CA
75
+ =================
76
+ -----BEGIN CERTIFICATE-----
77
+ MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
78
+ ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
79
+ MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
80
+ B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
81
+ nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
82
+ fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
83
+ 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
84
+ A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
85
+ CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
86
+ A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
87
+ spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
88
+ Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
89
+ zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
90
+ BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
91
+ 70+sB3c4
92
+ -----END CERTIFICATE-----
93
+
94
+ Digital Signature Trust Co. Global CA 1
95
+ =======================================
96
+ -----BEGIN CERTIFICATE-----
97
+ MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
98
+ ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
99
+ MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
100
+ IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
101
+ A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
102
+ NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
103
+ o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
104
+ BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
105
+ dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
106
+ IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
107
+ MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
108
+ BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
109
+ ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
110
+ kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
111
+ RbyhkwS7hp86W0N6w4pl
112
+ -----END CERTIFICATE-----
113
+
114
+ Digital Signature Trust Co. Global CA 3
115
+ =======================================
116
+ -----BEGIN CERTIFICATE-----
117
+ MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
118
+ ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
119
+ MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
120
+ IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
121
+ A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
122
+ VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
123
+ xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
124
+ BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
125
+ dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
126
+ IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
127
+ MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
128
+ BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
129
+ AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
130
+ up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
131
+ mPnHfxsb1gYgAlihw6ID
132
+ -----END CERTIFICATE-----
133
+
134
+ Verisign Class 3 Public Primary Certification Authority
135
+ =======================================================
136
+ -----BEGIN CERTIFICATE-----
137
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
138
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
139
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
140
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
141
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
142
+ A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
143
+ f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
144
+ hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
145
+ TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
146
+ WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
147
+ Tqj/ZA1k
148
+ -----END CERTIFICATE-----
149
+
150
+ Verisign Class 1 Public Primary Certification Authority - G2
151
+ ============================================================
152
+ -----BEGIN CERTIFICATE-----
153
+ MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
154
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
155
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
156
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
157
+ dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
158
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
159
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
160
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
161
+ dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
162
+ k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
163
+ WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
164
+ MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
165
+ XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
166
+ lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
167
+ -----END CERTIFICATE-----
168
+
169
+ Verisign Class 2 Public Primary Certification Authority - G2
170
+ ============================================================
171
+ -----BEGIN CERTIFICATE-----
172
+ MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
173
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
174
+ cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
175
+ Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
176
+ c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
177
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
178
+ cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
179
+ Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
180
+ c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
181
+ nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
182
+ wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
183
+ ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
184
+ 1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
185
+ LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
186
+ -----END CERTIFICATE-----
187
+
188
+ Verisign Class 3 Public Primary Certification Authority - G2
189
+ ============================================================
190
+ -----BEGIN CERTIFICATE-----
191
+ MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
192
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
193
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
194
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
195
+ dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
196
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
197
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
198
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
199
+ dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
200
+ FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
201
+ lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
202
+ MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
203
+ 1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
204
+ Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
205
+ -----END CERTIFICATE-----
206
+
207
+ GlobalSign Root CA
208
+ ==================
209
+ -----BEGIN CERTIFICATE-----
210
+ MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
211
+ GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
212
+ b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
213
+ BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
214
+ VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
215
+ DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
216
+ THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
217
+ Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
218
+ c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
219
+ gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
220
+ HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
221
+ AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
222
+ Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
223
+ j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
224
+ hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
225
+ X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
226
+ -----END CERTIFICATE-----
227
+
228
+ GlobalSign Root CA - R2
229
+ =======================
230
+ -----BEGIN CERTIFICATE-----
231
+ MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
232
+ YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
233
+ bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
234
+ aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
235
+ bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
236
+ ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
237
+ s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
238
+ S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
239
+ TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
240
+ ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
241
+ FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
242
+ YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
243
+ BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
244
+ 9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
245
+ 01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
246
+ 9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
247
+ TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
248
+ -----END CERTIFICATE-----
249
+
250
+ ValiCert Class 1 VA
251
+ ===================
252
+ -----BEGIN CERTIFICATE-----
253
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
254
+ b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
255
+ YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
256
+ bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
257
+ MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
258
+ d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
259
+ UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
260
+ LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
261
+ A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
262
+ GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
263
+ DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
264
+ lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
265
+ icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
266
+ Orf1LXLI
267
+ -----END CERTIFICATE-----
268
+
269
+ ValiCert Class 2 VA
270
+ ===================
271
+ -----BEGIN CERTIFICATE-----
272
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
273
+ b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
274
+ YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
275
+ bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
276
+ MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
277
+ d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
278
+ UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
279
+ LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
280
+ A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
281
+ CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
282
+ ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
283
+ SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
284
+ UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
285
+ W9ViH0Pd
286
+ -----END CERTIFICATE-----
287
+
288
+ RSA Root Certificate 1
289
+ ======================
290
+ -----BEGIN CERTIFICATE-----
291
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
292
+ b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
293
+ YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
294
+ bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
295
+ MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
296
+ d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
297
+ UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
298
+ LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
299
+ A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
300
+ 3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
301
+ BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
302
+ 3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
303
+ V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
304
+ on+jjBXu
305
+ -----END CERTIFICATE-----
306
+
307
+ Verisign Class 1 Public Primary Certification Authority - G3
308
+ ============================================================
309
+ -----BEGIN CERTIFICATE-----
310
+ MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
311
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
312
+ cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
313
+ IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
314
+ dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
315
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
316
+ dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
317
+ cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
318
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
319
+ ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
320
+ bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
321
+ rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
322
+ Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
323
+ FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
324
+ q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
325
+ y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
326
+ ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
327
+ a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
328
+ D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
329
+ -----END CERTIFICATE-----
330
+
331
+ Verisign Class 2 Public Primary Certification Authority - G3
332
+ ============================================================
333
+ -----BEGIN CERTIFICATE-----
334
+ MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
335
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
336
+ azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
337
+ b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
338
+ aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
339
+ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
340
+ c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
341
+ aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
342
+ ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
343
+ AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
344
+ tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
345
+ C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
346
+ 0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
347
+ Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
348
+ JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
349
+ 0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
350
+ sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
351
+ JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
352
+ GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
353
+ -----END CERTIFICATE-----
354
+
355
+ Verisign Class 3 Public Primary Certification Authority - G3
356
+ ============================================================
357
+ -----BEGIN CERTIFICATE-----
358
+ MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
359
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
360
+ cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
361
+ IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
362
+ dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
363
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
364
+ dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
365
+ cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
366
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
367
+ ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
368
+ EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
369
+ cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
370
+ EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
371
+ 055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
372
+ ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
373
+ j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
374
+ /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
375
+ xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
376
+ t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
377
+ -----END CERTIFICATE-----
378
+
379
+ Verisign Class 4 Public Primary Certification Authority - G3
380
+ ============================================================
381
+ -----BEGIN CERTIFICATE-----
382
+ MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
383
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
384
+ cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
385
+ IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
386
+ dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
387
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
388
+ dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
389
+ cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
390
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
391
+ ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
392
+ tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
393
+ 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
394
+ Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
395
+ Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
396
+ j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
397
+ mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
398
+ fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
399
+ RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
400
+ UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
401
+ -----END CERTIFICATE-----
402
+
403
+ Entrust.net Secure Server CA
404
+ ============================
405
+ -----BEGIN CERTIFICATE-----
406
+ MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
407
+ BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
408
+ cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
409
+ ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
410
+ cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
411
+ A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
412
+ eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
413
+ dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
414
+ aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
415
+ aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
416
+ gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
417
+ ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
418
+ CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
419
+ dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
420
+ bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
421
+ cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
422
+ dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
423
+ NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
424
+ HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
425
+ BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
426
+ Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
427
+ n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
428
+ -----END CERTIFICATE-----
429
+
430
+ Entrust.net Premium 2048 Secure Server CA
431
+ =========================================
432
+ -----BEGIN CERTIFICATE-----
433
+ MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
434
+ ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
435
+ bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
436
+ BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
437
+ NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
438
+ d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
439
+ MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
440
+ ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
441
+ MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
442
+ Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
443
+ hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
444
+ nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
445
+ VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
446
+ AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
447
+ gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
448
+ AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
449
+ oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
450
+ o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
451
+ 2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
452
+ OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
453
+ -----END CERTIFICATE-----
454
+
455
+ Baltimore CyberTrust Root
456
+ =========================
457
+ -----BEGIN CERTIFICATE-----
458
+ MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
459
+ ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
460
+ ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
461
+ SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
462
+ dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
463
+ uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
464
+ UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
465
+ G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
466
+ XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
467
+ l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
468
+ VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
469
+ BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
470
+ cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
471
+ hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
472
+ Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
473
+ RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
474
+ -----END CERTIFICATE-----
475
+
476
+ Equifax Secure Global eBusiness CA
477
+ ==================================
478
+ -----BEGIN CERTIFICATE-----
479
+ MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
480
+ RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
481
+ bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
482
+ HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
483
+ b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
484
+ PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
485
+ qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
486
+ hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
487
+ BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
488
+ MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
489
+ I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
490
+ NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
491
+ -----END CERTIFICATE-----
492
+
493
+ Equifax Secure eBusiness CA 1
494
+ =============================
495
+ -----BEGIN CERTIFICATE-----
496
+ MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
497
+ RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
498
+ LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
499
+ ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
500
+ IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
501
+ 1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
502
+ IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
503
+ MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
504
+ Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
505
+ AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
506
+ lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
507
+ KpYrtWKmpj29f5JZzVoqgrI3eQ==
508
+ -----END CERTIFICATE-----
509
+
510
+ Equifax Secure eBusiness CA 2
511
+ =============================
512
+ -----BEGIN CERTIFICATE-----
513
+ MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
514
+ ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
515
+ MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
516
+ DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
517
+ nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
518
+ 2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
519
+ BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
520
+ A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
521
+ JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
522
+ A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
523
+ uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
524
+ Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
525
+ jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
526
+ 78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
527
+ V+GRMOrN
528
+ -----END CERTIFICATE-----
529
+
530
+ AddTrust Low-Value Services Root
531
+ ================================
532
+ -----BEGIN CERTIFICATE-----
533
+ MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
534
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
535
+ cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
536
+ CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
537
+ ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
538
+ AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
539
+ 54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
540
+ oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
541
+ Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
542
+ GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
543
+ HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
544
+ AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
545
+ RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
546
+ HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
547
+ ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
548
+ iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
549
+ eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
550
+ mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
551
+ ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
552
+ -----END CERTIFICATE-----
553
+
554
+ AddTrust External Root
555
+ ======================
556
+ -----BEGIN CERTIFICATE-----
557
+ MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
558
+ QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
559
+ VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
560
+ NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
561
+ cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
562
+ Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
563
+ +iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
564
+ Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
565
+ aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
566
+ 2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
567
+ 7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
568
+ BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
569
+ VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
570
+ VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
571
+ IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
572
+ j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
573
+ 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
574
+ e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
575
+ G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
576
+ -----END CERTIFICATE-----
577
+
578
+ AddTrust Public Services Root
579
+ =============================
580
+ -----BEGIN CERTIFICATE-----
581
+ MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
582
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
583
+ cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
584
+ BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
585
+ dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
586
+ AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
587
+ nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
588
+ d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
589
+ Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
590
+ HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
591
+ A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
592
+ /zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
593
+ FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
594
+ A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
595
+ JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
596
+ +YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
597
+ GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
598
+ Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
599
+ EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
600
+ -----END CERTIFICATE-----
601
+
602
+ AddTrust Qualified Certificates Root
603
+ ====================================
604
+ -----BEGIN CERTIFICATE-----
605
+ MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
606
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
607
+ cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
608
+ CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
609
+ IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
610
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
611
+ 64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
612
+ KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
613
+ L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
614
+ wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
615
+ MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
616
+ BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
617
+ BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
618
+ azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
619
+ ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
620
+ GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
621
+ dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
622
+ RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
623
+ iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
624
+ -----END CERTIFICATE-----
625
+
626
+ Entrust Root Certification Authority
627
+ ====================================
628
+ -----BEGIN CERTIFICATE-----
629
+ MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
630
+ BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
631
+ b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
632
+ A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
633
+ MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
634
+ MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
635
+ Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
636
+ dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
637
+ ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
638
+ A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
639
+ Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
640
+ j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
641
+ rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
642
+ DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
643
+ MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
644
+ hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
645
+ A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
646
+ Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
647
+ v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
648
+ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
649
+ tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
650
+ -----END CERTIFICATE-----
651
+
652
+ RSA Security 2048 v3
653
+ ====================
654
+ -----BEGIN CERTIFICATE-----
655
+ MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
656
+ ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
657
+ MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
658
+ BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
659
+ AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
660
+ Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
661
+ WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
662
+ KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
663
+ +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
664
+ MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
665
+ FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
666
+ v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
667
+ 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
668
+ VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
669
+ nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
670
+ pKnXwiJPZ9d37CAFYd4=
671
+ -----END CERTIFICATE-----
672
+
673
+ GeoTrust Global CA
674
+ ==================
675
+ -----BEGIN CERTIFICATE-----
676
+ MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
677
+ Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
678
+ MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
679
+ LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
680
+ CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
681
+ BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
682
+ 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
683
+ T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
684
+ vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
685
+ AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
686
+ DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
687
+ zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
688
+ d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
689
+ mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
690
+ XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
691
+ Mw==
692
+ -----END CERTIFICATE-----
693
+
694
+ GeoTrust Global CA 2
695
+ ====================
696
+ -----BEGIN CERTIFICATE-----
697
+ MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
698
+ R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
699
+ MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
700
+ LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
701
+ ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
702
+ NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
703
+ LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
704
+ Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
705
+ HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
706
+ MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
707
+ K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
708
+ srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
709
+ ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
710
+ OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
711
+ x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
712
+ H4z1Ir+rzoPz4iIprn2DQKi6bA==
713
+ -----END CERTIFICATE-----
714
+
715
+ GeoTrust Universal CA
716
+ =====================
717
+ -----BEGIN CERTIFICATE-----
718
+ MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
719
+ R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
720
+ MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
721
+ Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
722
+ ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
723
+ JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
724
+ RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
725
+ 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
726
+ 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
727
+ qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
728
+ Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
729
+ Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
730
+ KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
731
+ ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
732
+ XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
733
+ hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
734
+ aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
735
+ qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
736
+ oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
737
+ xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
738
+ KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
739
+ DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
740
+ xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
741
+ p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
742
+ P/rmMuGNG2+k5o7Y+SlIis5z/iw=
743
+ -----END CERTIFICATE-----
744
+
745
+ GeoTrust Universal CA 2
746
+ =======================
747
+ -----BEGIN CERTIFICATE-----
748
+ MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
749
+ R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
750
+ MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
751
+ SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
752
+ A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
753
+ DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
754
+ j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
755
+ JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
756
+ QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
757
+ WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
758
+ 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
759
+ ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
760
+ SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
761
+ 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
762
+ +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
763
+ BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
764
+ dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
765
+ 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
766
+ mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
767
+ A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
768
+ Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
769
+ pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
770
+ FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
771
+ gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
772
+ X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
773
+ -----END CERTIFICATE-----
774
+
775
+ UTN-USER First-Network Applications
776
+ ===================================
777
+ -----BEGIN CERTIFICATE-----
778
+ MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
779
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
780
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
781
+ BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
782
+ WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
783
+ YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
784
+ dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
785
+ cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
786
+ mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
787
+ DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
788
+ Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
789
+ P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
790
+ j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
791
+ HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
792
+ cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
793
+ CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
794
+ IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
795
+ RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
796
+ xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
797
+ DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
798
+ -----END CERTIFICATE-----
799
+
800
+ America Online Root Certification Authority 1
801
+ =============================================
802
+ -----BEGIN CERTIFICATE-----
803
+ MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
804
+ QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
805
+ Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
806
+ A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
807
+ T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
808
+ ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
809
+ v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
810
+ DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
811
+ sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
812
+ 8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
813
+ AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
814
+ o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
815
+ GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
816
+ VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
817
+ 3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
818
+ Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
819
+ sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
820
+ -----END CERTIFICATE-----
821
+
822
+ America Online Root Certification Authority 2
823
+ =============================================
824
+ -----BEGIN CERTIFICATE-----
825
+ MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
826
+ QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
827
+ Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
828
+ A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
829
+ T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
830
+ ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
831
+ fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
832
+ f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
833
+ qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
834
+ RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
835
+ gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
836
+ 6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
837
+ FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
838
+ Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
839
+ B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
840
+ aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
841
+ AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
842
+ T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
843
+ +DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
844
+ JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
845
+ zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
846
+ ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
847
+ 1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
848
+ GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
849
+ Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
850
+ cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
851
+ -----END CERTIFICATE-----
852
+
853
+ Visa eCommerce Root
854
+ ===================
855
+ -----BEGIN CERTIFICATE-----
856
+ MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
857
+ EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
858
+ QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
859
+ WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
860
+ VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
861
+ bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
862
+ F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
863
+ RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
864
+ TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
865
+ /k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
866
+ GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
867
+ MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
868
+ CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
869
+ YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
870
+ zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
871
+ YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
872
+ 398znM/jra6O1I7mT1GvFpLgXPYHDw==
873
+ -----END CERTIFICATE-----
874
+
875
+ Certum Root CA
876
+ ==============
877
+ -----BEGIN CERTIFICATE-----
878
+ MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
879
+ ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
880
+ Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
881
+ by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
882
+ wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
883
+ kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
884
+ 89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
885
+ Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
886
+ NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
887
+ hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
888
+ GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
889
+ GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
890
+ 0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
891
+ qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
892
+ -----END CERTIFICATE-----
893
+
894
+ Comodo AAA Services root
895
+ ========================
896
+ -----BEGIN CERTIFICATE-----
897
+ MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
898
+ R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
899
+ TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
900
+ MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
901
+ c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
902
+ BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
903
+ ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
904
+ C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
905
+ i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
906
+ Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
907
+ Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
908
+ Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
909
+ BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
910
+ cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
911
+ LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
912
+ 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
913
+ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
914
+ 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
915
+ 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
916
+ -----END CERTIFICATE-----
917
+
918
+ Comodo Secure Services root
919
+ ===========================
920
+ -----BEGIN CERTIFICATE-----
921
+ MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
922
+ R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
923
+ TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
924
+ MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
925
+ Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
926
+ BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
927
+ ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
928
+ 9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
929
+ rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
930
+ oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
931
+ p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
932
+ FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
933
+ gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
934
+ YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
935
+ aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
936
+ 4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
937
+ Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
938
+ DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
939
+ pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
940
+ RR3B7Hzs/Sk=
941
+ -----END CERTIFICATE-----
942
+
943
+ Comodo Trusted Services root
944
+ ============================
945
+ -----BEGIN CERTIFICATE-----
946
+ MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
947
+ R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
948
+ TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
949
+ MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
950
+ bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
951
+ IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
952
+ AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
953
+ 3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
954
+ /9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
955
+ juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
956
+ ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
957
+ DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
958
+ /zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
959
+ ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
960
+ cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
961
+ uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
962
+ pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
963
+ BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
964
+ R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
965
+ 9y5Xt5hwXsjEeLBi
966
+ -----END CERTIFICATE-----
967
+
968
+ QuoVadis Root CA
969
+ ================
970
+ -----BEGIN CERTIFICATE-----
971
+ MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
972
+ ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
973
+ eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
974
+ MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
975
+ cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
976
+ EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
977
+ AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
978
+ J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
979
+ F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
980
+ YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
981
+ AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
982
+ PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
983
+ ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
984
+ MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
985
+ YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
986
+ ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
987
+ Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
988
+ Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
989
+ BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
990
+ FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
991
+ aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
992
+ tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
993
+ fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
994
+ LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
995
+ gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
996
+ 5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
997
+ 5nrQNiOKSnQ2+Q==
998
+ -----END CERTIFICATE-----
999
+
1000
+ QuoVadis Root CA 2
1001
+ ==================
1002
+ -----BEGIN CERTIFICATE-----
1003
+ MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1004
+ EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
1005
+ ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
1006
+ aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1007
+ DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
1008
+ XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
1009
+ lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
1010
+ lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
1011
+ lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
1012
+ 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
1013
+ wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
1014
+ D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
1015
+ BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
1016
+ J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
1017
+ DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
1018
+ a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
1019
+ ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
1020
+ Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
1021
+ UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
1022
+ VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
1023
+ +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
1024
+ IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
1025
+ WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
1026
+ f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
1027
+ 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
1028
+ VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
1029
+ -----END CERTIFICATE-----
1030
+
1031
+ QuoVadis Root CA 3
1032
+ ==================
1033
+ -----BEGIN CERTIFICATE-----
1034
+ MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1035
+ EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
1036
+ OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
1037
+ aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1038
+ DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
1039
+ DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
1040
+ KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
1041
+ DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
1042
+ BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
1043
+ p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
1044
+ nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
1045
+ MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
1046
+ Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
1047
+ uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
1048
+ BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
1049
+ YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
1050
+ aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
1051
+ BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
1052
+ VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
1053
+ ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
1054
+ AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
1055
+ qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
1056
+ hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
1057
+ POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
1058
+ Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
1059
+ 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
1060
+ bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
1061
+ g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
1062
+ vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
1063
+ qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
1064
+ -----END CERTIFICATE-----
1065
+
1066
+ Security Communication Root CA
1067
+ ==============================
1068
+ -----BEGIN CERTIFICATE-----
1069
+ MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1070
+ U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
1071
+ HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1072
+ U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
1073
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
1074
+ 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
1075
+ DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
1076
+ 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
1077
+ DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
1078
+ JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
1079
+ DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
1080
+ 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
1081
+ mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
1082
+ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
1083
+ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
1084
+ FL39vmwLAw==
1085
+ -----END CERTIFICATE-----
1086
+
1087
+ Sonera Class 1 Root CA
1088
+ ======================
1089
+ -----BEGIN CERTIFICATE-----
1090
+ MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
1091
+ U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
1092
+ NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
1093
+ IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
1094
+ 7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
1095
+ EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
1096
+ 0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
1097
+ 2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
1098
+ HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
1099
+ iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
1100
+ 28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
1101
+ yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
1102
+ vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
1103
+ qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
1104
+ IRlXvVWa
1105
+ -----END CERTIFICATE-----
1106
+
1107
+ Sonera Class 2 Root CA
1108
+ ======================
1109
+ -----BEGIN CERTIFICATE-----
1110
+ MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
1111
+ U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
1112
+ NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
1113
+ IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
1114
+ /Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
1115
+ dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
1116
+ f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
1117
+ tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
1118
+ nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
1119
+ XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
1120
+ 0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
1121
+ cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
1122
+ Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
1123
+ EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
1124
+ llpwrN9M
1125
+ -----END CERTIFICATE-----
1126
+
1127
+ Staat der Nederlanden Root CA
1128
+ =============================
1129
+ -----BEGIN CERTIFICATE-----
1130
+ MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
1131
+ ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
1132
+ Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
1133
+ HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
1134
+ bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
1135
+ vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
1136
+ jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
1137
+ C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
1138
+ vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
1139
+ 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
1140
+ HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
1141
+ dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
1142
+ BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
1143
+ EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
1144
+ MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
1145
+ nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
1146
+ iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
1147
+ -----END CERTIFICATE-----
1148
+
1149
+ TDC Internet Root CA
1150
+ ====================
1151
+ -----BEGIN CERTIFICATE-----
1152
+ MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
1153
+ ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
1154
+ NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
1155
+ ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
1156
+ MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
1157
+ xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
1158
+ znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
1159
+ 5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
1160
+ otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
1161
+ AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
1162
+ VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
1163
+ MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
1164
+ AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
1165
+ UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
1166
+ CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
1167
+ gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
1168
+ 2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
1169
+ O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
1170
+ Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
1171
+ -----END CERTIFICATE-----
1172
+
1173
+ TDC OCES Root CA
1174
+ ================
1175
+ -----BEGIN CERTIFICATE-----
1176
+ MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
1177
+ ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5
1178
+ MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB
1179
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH
1180
+ nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0
1181
+ zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV
1182
+ iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde
1183
+ dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO
1184
+ 3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB
1185
+ 5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k
1186
+ ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm
1187
+ cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp
1188
+ Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x
1189
+ LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM
1190
+ MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm
1191
+ aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
1192
+ MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647
1193
+ +RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6
1194
+ NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4
1195
+ A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc
1196
+ A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9
1197
+ AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1
1198
+ AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
1199
+ -----END CERTIFICATE-----
1200
+
1201
+ UTN DATACorp SGC Root CA
1202
+ ========================
1203
+ -----BEGIN CERTIFICATE-----
1204
+ MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
1205
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
1206
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
1207
+ BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
1208
+ MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
1209
+ HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
1210
+ dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
1211
+ AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
1212
+ raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
1213
+ wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
1214
+ 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
1215
+ 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
1216
+ DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
1217
+ BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
1218
+ LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
1219
+ DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
1220
+ Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
1221
+ I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
1222
+ EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
1223
+ DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
1224
+ -----END CERTIFICATE-----
1225
+
1226
+ UTN USERFirst Email Root CA
1227
+ ===========================
1228
+ -----BEGIN CERTIFICATE-----
1229
+ MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
1230
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
1231
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
1232
+ BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
1233
+ OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
1234
+ FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
1235
+ ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
1236
+ dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
1237
+ MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
1238
+ B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
1239
+ om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
1240
+ TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
1241
+ yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
1242
+ AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
1243
+ HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
1244
+ bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
1245
+ AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
1246
+ xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
1247
+ 5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
1248
+ NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
1249
+ w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
1250
+ -----END CERTIFICATE-----
1251
+
1252
+ UTN USERFirst Hardware Root CA
1253
+ ==============================
1254
+ -----BEGIN CERTIFICATE-----
1255
+ MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
1256
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
1257
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
1258
+ BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
1259
+ OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
1260
+ eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
1261
+ ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
1262
+ DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
1263
+ wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
1264
+ tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
1265
+ i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
1266
+ Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
1267
+ gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
1268
+ lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
1269
+ UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
1270
+ BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
1271
+ //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
1272
+ XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
1273
+ lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
1274
+ iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
1275
+ nfhmqA==
1276
+ -----END CERTIFICATE-----
1277
+
1278
+ UTN USERFirst Object Root CA
1279
+ ============================
1280
+ -----BEGIN CERTIFICATE-----
1281
+ MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
1282
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
1283
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
1284
+ BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
1285
+ NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
1286
+ HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
1287
+ dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
1288
+ BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
1289
+ loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
1290
+ w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
1291
+ lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
1292
+ RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
1293
+ BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
1294
+ ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
1295
+ c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
1296
+ DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
1297
+ NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
1298
+ PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
1299
+ qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
1300
+ hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
1301
+ -----END CERTIFICATE-----
1302
+
1303
+ Camerfirma Chambers of Commerce Root
1304
+ ====================================
1305
+ -----BEGIN CERTIFICATE-----
1306
+ MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
1307
+ QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
1308
+ ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
1309
+ NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
1310
+ cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
1311
+ MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
1312
+ AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
1313
+ xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
1314
+ NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
1315
+ DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
1316
+ d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
1317
+ EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
1318
+ cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
1319
+ AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
1320
+ bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
1321
+ VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
1322
+ aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
1323
+ fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
1324
+ L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
1325
+ UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
1326
+ ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
1327
+ erfutGWaIZDgqtCYvDi1czyL+Nw=
1328
+ -----END CERTIFICATE-----
1329
+
1330
+ Camerfirma Global Chambersign Root
1331
+ ==================================
1332
+ -----BEGIN CERTIFICATE-----
1333
+ MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
1334
+ QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
1335
+ ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
1336
+ NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
1337
+ YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
1338
+ MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
1339
+ ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
1340
+ 1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
1341
+ by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
1342
+ 6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
1343
+ 8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
1344
+ BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
1345
+ aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
1346
+ Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
1347
+ aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
1348
+ ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
1349
+ bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
1350
+ PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
1351
+ gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
1352
+ PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
1353
+ IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
1354
+ t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
1355
+ -----END CERTIFICATE-----
1356
+
1357
+ NetLock Qualified (Class QA) Root
1358
+ =================================
1359
+ -----BEGIN CERTIFICATE-----
1360
+ MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
1361
+ CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
1362
+ BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
1363
+ eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
1364
+ bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
1365
+ MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
1366
+ LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
1367
+ dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
1368
+ aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
1369
+ CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
1370
+ 8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
1371
+ m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
1372
+ 0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
1373
+ 0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
1374
+ HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
1375
+ YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
1376
+ biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
1377
+ a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
1378
+ YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
1379
+ YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
1380
+ ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
1381
+ L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
1382
+ Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
1383
+ aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
1384
+ YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
1385
+ IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
1386
+ DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
1387
+ wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
1388
+ W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
1389
+ R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
1390
+ 5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
1391
+ -----END CERTIFICATE-----
1392
+
1393
+ NetLock Notary (Class A) Root
1394
+ =============================
1395
+ -----BEGIN CERTIFICATE-----
1396
+ MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
1397
+ EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
1398
+ dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
1399
+ ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
1400
+ DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
1401
+ EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
1402
+ VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
1403
+ cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
1404
+ D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
1405
+ z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
1406
+ /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
1407
+ tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
1408
+ 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
1409
+ A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
1410
+ Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
1411
+ bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
1412
+ IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
1413
+ LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
1414
+ ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
1415
+ IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
1416
+ IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
1417
+ b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
1418
+ bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
1419
+ Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
1420
+ bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
1421
+ ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
1422
+ ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
1423
+ CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
1424
+ KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
1425
+ 8CgHrTwXZoi1/baI
1426
+ -----END CERTIFICATE-----
1427
+
1428
+ NetLock Business (Class B) Root
1429
+ ===============================
1430
+ -----BEGIN CERTIFICATE-----
1431
+ MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
1432
+ CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
1433
+ BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
1434
+ VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
1435
+ VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
1436
+ bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
1437
+ VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
1438
+ iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
1439
+ o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
1440
+ 1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
1441
+ HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
1442
+ RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
1443
+ dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
1444
+ ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
1445
+ c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
1446
+ YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
1447
+ c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
1448
+ Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
1449
+ bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
1450
+ IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
1451
+ YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
1452
+ cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
1453
+ 43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
1454
+ stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
1455
+ -----END CERTIFICATE-----
1456
+
1457
+ NetLock Express (Class C) Root
1458
+ ==============================
1459
+ -----BEGIN CERTIFICATE-----
1460
+ MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
1461
+ CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
1462
+ BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
1463
+ KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
1464
+ BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
1465
+ dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
1466
+ ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
1467
+ jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
1468
+ W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
1469
+ euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
1470
+ DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
1471
+ RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
1472
+ YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
1473
+ IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
1474
+ aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
1475
+ ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
1476
+ ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
1477
+ dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
1478
+ emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
1479
+ IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
1480
+ UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
1481
+ YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
1482
+ xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
1483
+ gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
1484
+ -----END CERTIFICATE-----
1485
+
1486
+ XRamp Global CA Root
1487
+ ====================
1488
+ -----BEGIN CERTIFICATE-----
1489
+ MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
1490
+ BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
1491
+ dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
1492
+ dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
1493
+ HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
1494
+ U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1495
+ dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
1496
+ IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
1497
+ foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
1498
+ zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
1499
+ AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
1500
+ xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
1501
+ EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
1502
+ oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
1503
+ AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
1504
+ /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
1505
+ qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
1506
+ nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
1507
+ 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
1508
+ -----END CERTIFICATE-----
1509
+
1510
+ Go Daddy Class 2 CA
1511
+ ===================
1512
+ -----BEGIN CERTIFICATE-----
1513
+ MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
1514
+ VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
1515
+ ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
1516
+ A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
1517
+ RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
1518
+ ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
1519
+ 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
1520
+ qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
1521
+ YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
1522
+ vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
1523
+ BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
1524
+ atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
1525
+ MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
1526
+ A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
1527
+ PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
1528
+ I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
1529
+ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
1530
+ Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
1531
+ vZ8=
1532
+ -----END CERTIFICATE-----
1533
+
1534
+ Starfield Class 2 CA
1535
+ ====================
1536
+ -----BEGIN CERTIFICATE-----
1537
+ MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
1538
+ U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
1539
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
1540
+ MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
1541
+ A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
1542
+ SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
1543
+ bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
1544
+ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
1545
+ epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
1546
+ F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
1547
+ MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
1548
+ hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
1549
+ bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
1550
+ QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
1551
+ afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
1552
+ PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
1553
+ xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
1554
+ KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
1555
+ QBFGmh95DmK/D5fs4C8fF5Q=
1556
+ -----END CERTIFICATE-----
1557
+
1558
+ StartCom Certification Authority
1559
+ ================================
1560
+ -----BEGIN CERTIFICATE-----
1561
+ MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
1562
+ U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
1563
+ ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
1564
+ NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
1565
+ LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
1566
+ U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
1567
+ ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
1568
+ o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
1569
+ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
1570
+ eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
1571
+ 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
1572
+ 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
1573
+ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
1574
+ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
1575
+ UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
1576
+ 37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
1577
+ FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
1578
+ Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
1579
+ YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
1580
+ AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
1581
+ Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
1582
+ U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
1583
+ LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
1584
+ cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
1585
+ cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
1586
+ dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
1587
+ AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
1588
+ 3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
1589
+ vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
1590
+ fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
1591
+ fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
1592
+ EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
1593
+ yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
1594
+ 1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
1595
+ lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
1596
+ g14=
1597
+ -----END CERTIFICATE-----
1598
+
1599
+ Taiwan GRCA
1600
+ ===========
1601
+ -----BEGIN CERTIFICATE-----
1602
+ MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
1603
+ EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
1604
+ DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
1605
+ dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
1606
+ ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
1607
+ w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
1608
+ BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
1609
+ 1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
1610
+ htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
1611
+ J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
1612
+ Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
1613
+ B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
1614
+ O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
1615
+ lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
1616
+ HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
1617
+ 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
1618
+ TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
1619
+ Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
1620
+ Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
1621
+ D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
1622
+ DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
1623
+ Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
1624
+ 7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
1625
+ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
1626
+ +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
1627
+ -----END CERTIFICATE-----
1628
+
1629
+ Firmaprofesional Root CA
1630
+ ========================
1631
+ -----BEGIN CERTIFICATE-----
1632
+ MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
1633
+ GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
1634
+ Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
1635
+ ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
1636
+ MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
1637
+ OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
1638
+ ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
1639
+ AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
1640
+ j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
1641
+ lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
1642
+ 3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
1643
+ NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
1644
+ KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
1645
+ AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
1646
+ DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
1647
+ ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
1648
+ u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
1649
+ wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
1650
+ 7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
1651
+ VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
1652
+ -----END CERTIFICATE-----
1653
+
1654
+ Wells Fargo Root CA
1655
+ ===================
1656
+ -----BEGIN CERTIFICATE-----
1657
+ MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
1658
+ BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
1659
+ cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
1660
+ MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
1661
+ bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
1662
+ MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
1663
+ SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
1664
+ x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
1665
+ E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
1666
+ OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
1667
+ sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
1668
+ YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
1669
+ BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
1670
+ ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
1671
+ m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
1672
+ OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
1673
+ x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
1674
+ tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
1675
+ -----END CERTIFICATE-----
1676
+
1677
+ Swisscom Root CA 1
1678
+ ==================
1679
+ -----BEGIN CERTIFICATE-----
1680
+ MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
1681
+ EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
1682
+ dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
1683
+ MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
1684
+ aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
1685
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
1686
+ MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
1687
+ NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
1688
+ AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
1689
+ b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
1690
+ 7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
1691
+ cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
1692
+ WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
1693
+ haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
1694
+ MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
1695
+ HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
1696
+ BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
1697
+ MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
1698
+ jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
1699
+ MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
1700
+ VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
1701
+ vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
1702
+ OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
1703
+ 1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
1704
+ nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
1705
+ x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
1706
+ NY6E0F/6MBr1mmz0DlP5OlvRHA==
1707
+ -----END CERTIFICATE-----
1708
+
1709
+ DigiCert Assured ID Root CA
1710
+ ===========================
1711
+ -----BEGIN CERTIFICATE-----
1712
+ MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
1713
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
1714
+ IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
1715
+ MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
1716
+ ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
1717
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
1718
+ 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
1719
+ UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
1720
+ /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
1721
+ oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
1722
+ GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
1723
+ 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
1724
+ hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
1725
+ EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
1726
+ SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
1727
+ 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
1728
+ +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
1729
+ -----END CERTIFICATE-----
1730
+
1731
+ DigiCert Global Root CA
1732
+ =======================
1733
+ -----BEGIN CERTIFICATE-----
1734
+ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
1735
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
1736
+ HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
1737
+ MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
1738
+ dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
1739
+ hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
1740
+ TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
1741
+ BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
1742
+ 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
1743
+ 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
1744
+ o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
1745
+ 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
1746
+ BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
1747
+ EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
1748
+ tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
1749
+ UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
1750
+ CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
1751
+ -----END CERTIFICATE-----
1752
+
1753
+ DigiCert High Assurance EV Root CA
1754
+ ==================================
1755
+ -----BEGIN CERTIFICATE-----
1756
+ MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
1757
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
1758
+ KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
1759
+ MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
1760
+ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
1761
+ Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
1762
+ Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
1763
+ OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
1764
+ MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
1765
+ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
1766
+ h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
1767
+ Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
1768
+ JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
1769
+ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
1770
+ myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
1771
+ mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
1772
+ vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
1773
+ -----END CERTIFICATE-----
1774
+
1775
+ Certplus Class 2 Primary CA
1776
+ ===========================
1777
+ -----BEGIN CERTIFICATE-----
1778
+ MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
1779
+ BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
1780
+ OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
1781
+ dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
1782
+ ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
1783
+ 5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
1784
+ Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
1785
+ YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
1786
+ e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
1787
+ CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
1788
+ YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
1789
+ L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
1790
+ P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
1791
+ TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
1792
+ 7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
1793
+ //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
1794
+ l7+ijrRU
1795
+ -----END CERTIFICATE-----
1796
+
1797
+ DST Root CA X3
1798
+ ==============
1799
+ -----BEGIN CERTIFICATE-----
1800
+ MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
1801
+ ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
1802
+ DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
1803
+ cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
1804
+ ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
1805
+ rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
1806
+ UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
1807
+ xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
1808
+ utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
1809
+ AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
1810
+ MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
1811
+ dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
1812
+ GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
1813
+ RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
1814
+ fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
1815
+ -----END CERTIFICATE-----
1816
+
1817
+ DST ACES CA X6
1818
+ ==============
1819
+ -----BEGIN CERTIFICATE-----
1820
+ MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
1821
+ EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
1822
+ MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
1823
+ MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
1824
+ CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
1825
+ AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
1826
+ DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
1827
+ pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
1828
+ GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
1829
+ MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
1830
+ EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
1831
+ Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
1832
+ dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
1833
+ CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
1834
+ 5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
1835
+ Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
1836
+ nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
1837
+ vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
1838
+ oKfN5XozNmr6mis=
1839
+ -----END CERTIFICATE-----
1840
+
1841
+ TURKTRUST Certificate Services Provider Root 1
1842
+ ==============================================
1843
+ -----BEGIN CERTIFICATE-----
1844
+ MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
1845
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
1846
+ MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
1847
+ acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
1848
+ MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
1849
+ U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
1850
+ TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
1851
+ aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
1852
+ AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
1853
+ yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
1854
+ Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
1855
+ 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
1856
+ W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
1857
+ BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
1858
+ sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
1859
+ q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
1860
+ B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
1861
+ nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
1862
+ -----END CERTIFICATE-----
1863
+
1864
+ TURKTRUST Certificate Services Provider Root 2
1865
+ ==============================================
1866
+ -----BEGIN CERTIFICATE-----
1867
+ MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
1868
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
1869
+ MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
1870
+ QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
1871
+ MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
1872
+ dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
1873
+ A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
1874
+ acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
1875
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
1876
+ LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
1877
+ x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
1878
+ QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
1879
+ 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
1880
+ AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
1881
+ A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
1882
+ Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
1883
+ Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
1884
+ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
1885
+ 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
1886
+ UrbnBEI=
1887
+ -----END CERTIFICATE-----
1888
+
1889
+ SwissSign Platinum CA - G2
1890
+ ==========================
1891
+ -----BEGIN CERTIFICATE-----
1892
+ MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
1893
+ BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
1894
+ HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
1895
+ U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
1896
+ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
1897
+ 669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
1898
+ eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
1899
+ WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
1900
+ j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
1901
+ 8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
1902
+ aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
1903
+ domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
1904
+ +m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
1905
+ CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
1906
+ EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
1907
+ zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
1908
+ IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
1909
+ Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
1910
+ NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
1911
+ U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
1912
+ KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
1913
+ 9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
1914
+ aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
1915
+ OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
1916
+ Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
1917
+ IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
1918
+ -----END CERTIFICATE-----
1919
+
1920
+ SwissSign Gold CA - G2
1921
+ ======================
1922
+ -----BEGIN CERTIFICATE-----
1923
+ MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
1924
+ EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
1925
+ MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
1926
+ c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
1927
+ AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
1928
+ t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
1929
+ jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
1930
+ vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
1931
+ ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
1932
+ AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
1933
+ jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
1934
+ peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
1935
+ 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
1936
+ GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
1937
+ AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
1938
+ OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
1939
+ L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
1940
+ 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
1941
+ 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
1942
+ Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
1943
+ Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
1944
+ mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
1945
+ vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
1946
+ KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
1947
+ NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
1948
+ viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
1949
+ -----END CERTIFICATE-----
1950
+
1951
+ SwissSign Silver CA - G2
1952
+ ========================
1953
+ -----BEGIN CERTIFICATE-----
1954
+ MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
1955
+ BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
1956
+ DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
1957
+ aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
1958
+ 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
1959
+ N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
1960
+ +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
1961
+ 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
1962
+ MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
1963
+ qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
1964
+ FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
1965
+ ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
1966
+ celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
1967
+ CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
1968
+ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
1969
+ tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
1970
+ cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
1971
+ 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
1972
+ kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
1973
+ 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
1974
+ /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
1975
+ DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
1976
+ e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
1977
+ WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
1978
+ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
1979
+ DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
1980
+ -----END CERTIFICATE-----
1981
+
1982
+ GeoTrust Primary Certification Authority
1983
+ ========================================
1984
+ -----BEGIN CERTIFICATE-----
1985
+ MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
1986
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
1987
+ ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
1988
+ CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
1989
+ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
1990
+ CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
1991
+ b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
1992
+ nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
1993
+ RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
1994
+ tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
1995
+ AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
1996
+ hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
1997
+ Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
1998
+ NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
1999
+ Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
2000
+ 1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
2001
+ -----END CERTIFICATE-----
2002
+
2003
+ thawte Primary Root CA
2004
+ ======================
2005
+ -----BEGIN CERTIFICATE-----
2006
+ MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
2007
+ BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
2008
+ aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
2009
+ cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
2010
+ MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
2011
+ SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
2012
+ KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
2013
+ FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
2014
+ oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
2015
+ 1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
2016
+ q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
2017
+ aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
2018
+ afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
2019
+ VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
2020
+ AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
2021
+ uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
2022
+ xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
2023
+ jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
2024
+ z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
2025
+ -----END CERTIFICATE-----
2026
+
2027
+ VeriSign Class 3 Public Primary Certification Authority - G5
2028
+ ============================================================
2029
+ -----BEGIN CERTIFICATE-----
2030
+ MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
2031
+ BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
2032
+ ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
2033
+ IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
2034
+ ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
2035
+ yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
2036
+ biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
2037
+ dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
2038
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
2039
+ ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
2040
+ j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
2041
+ Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
2042
+ Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
2043
+ fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
2044
+ BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
2045
+ Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
2046
+ aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
2047
+ SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
2048
+ X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
2049
+ KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
2050
+ Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
2051
+ ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
2052
+ -----END CERTIFICATE-----
2053
+
2054
+ SecureTrust CA
2055
+ ==============
2056
+ -----BEGIN CERTIFICATE-----
2057
+ MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
2058
+ EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
2059
+ dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
2060
+ BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
2061
+ ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
2062
+ OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
2063
+ DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
2064
+ GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
2065
+ 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
2066
+ ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
2067
+ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
2068
+ aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
2069
+ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
2070
+ SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
2071
+ mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
2072
+ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
2073
+ 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
2074
+ -----END CERTIFICATE-----
2075
+
2076
+ Secure Global CA
2077
+ ================
2078
+ -----BEGIN CERTIFICATE-----
2079
+ MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
2080
+ EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
2081
+ bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
2082
+ MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
2083
+ Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
2084
+ YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
2085
+ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
2086
+ 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
2087
+ HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
2088
+ 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
2089
+ EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
2090
+ oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
2091
+ MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
2092
+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
2093
+ CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
2094
+ 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
2095
+ f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
2096
+ -----END CERTIFICATE-----
2097
+
2098
+ COMODO Certification Authority
2099
+ ==============================
2100
+ -----BEGIN CERTIFICATE-----
2101
+ MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
2102
+ BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
2103
+ A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
2104
+ dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
2105
+ MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
2106
+ T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
2107
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
2108
+ +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
2109
+ xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
2110
+ 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
2111
+ 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
2112
+ rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
2113
+ BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
2114
+ b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
2115
+ AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
2116
+ OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
2117
+ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
2118
+ IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
2119
+ +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
2120
+ -----END CERTIFICATE-----
2121
+
2122
+ Network Solutions Certificate Authority
2123
+ =======================================
2124
+ -----BEGIN CERTIFICATE-----
2125
+ MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
2126
+ EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
2127
+ IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
2128
+ MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
2129
+ MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
2130
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
2131
+ jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
2132
+ aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
2133
+ crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
2134
+ /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
2135
+ AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
2136
+ BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
2137
+ bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
2138
+ A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
2139
+ 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
2140
+ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
2141
+ wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
2142
+ ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
2143
+ -----END CERTIFICATE-----
2144
+
2145
+ WellsSecure Public Root Certificate Authority
2146
+ =============================================
2147
+ -----BEGIN CERTIFICATE-----
2148
+ MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
2149
+ F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
2150
+ NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
2151
+ MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
2152
+ bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
2153
+ VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
2154
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
2155
+ iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
2156
+ i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
2157
+ bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
2158
+ K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
2159
+ AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
2160
+ cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
2161
+ lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
2162
+ i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
2163
+ GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
2164
+ Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
2165
+ K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
2166
+ bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
2167
+ qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
2168
+ E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
2169
+ tylv2G0xffX8oRAHh84vWdw+WNs=
2170
+ -----END CERTIFICATE-----
2171
+
2172
+ COMODO ECC Certification Authority
2173
+ ==================================
2174
+ -----BEGIN CERTIFICATE-----
2175
+ MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
2176
+ R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
2177
+ ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
2178
+ dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
2179
+ GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
2180
+ Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
2181
+ b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
2182
+ 4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
2183
+ wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
2184
+ BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
2185
+ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
2186
+ U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
2187
+ -----END CERTIFICATE-----
2188
+
2189
+ IGC/A
2190
+ =====
2191
+ -----BEGIN CERTIFICATE-----
2192
+ MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
2193
+ VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
2194
+ Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
2195
+ MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
2196
+ EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
2197
+ STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
2198
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
2199
+ TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
2200
+ So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
2201
+ HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
2202
+ frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
2203
+ tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
2204
+ egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
2205
+ iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
2206
+ q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
2207
+ MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
2208
+ Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
2209
+ lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
2210
+ 0mBWWg==
2211
+ -----END CERTIFICATE-----
2212
+
2213
+ Security Communication EV RootCA1
2214
+ =================================
2215
+ -----BEGIN CERTIFICATE-----
2216
+ MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
2217
+ U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
2218
+ dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
2219
+ BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
2220
+ Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
2221
+ AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
2222
+ /VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
2223
+ WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
2224
+ ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
2225
+ bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
2226
+ 9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
2227
+ SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
2228
+ iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
2229
+ Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
2230
+ mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
2231
+ T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
2232
+ -----END CERTIFICATE-----
2233
+
2234
+ OISTE WISeKey Global Root GA CA
2235
+ ===============================
2236
+ -----BEGIN CERTIFICATE-----
2237
+ MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
2238
+ BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
2239
+ A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
2240
+ bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
2241
+ VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
2242
+ IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
2243
+ IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
2244
+ Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
2245
+ Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
2246
+ d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
2247
+ /yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
2248
+ LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
2249
+ AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
2250
+ KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
2251
+ MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
2252
+ +vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
2253
+ hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
2254
+ okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
2255
+ -----END CERTIFICATE-----
2256
+
2257
+ S-TRUST Authentication and Encryption Root CA 2005 PN
2258
+ =====================================================
2259
+ -----BEGIN CERTIFICATE-----
2260
+ MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
2261
+ BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh
2262
+ cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT
2263
+ LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w
2264
+ NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk
2265
+ ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj
2266
+ aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp
2267
+ b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
2268
+ MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob
2269
+ 4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL
2270
+ g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf
2271
+ eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3
2272
+ KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB
2273
+ /wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv
2274
+ bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU
2275
+ D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD
2276
+ pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08
2277
+ P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA
2278
+ nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit
2279
+ F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b
2280
+ Hz2eBIPdltkdOpQ=
2281
+ -----END CERTIFICATE-----
2282
+
2283
+ Microsec e-Szigno Root CA
2284
+ =========================
2285
+ -----BEGIN CERTIFICATE-----
2286
+ MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
2287
+ BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
2288
+ EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
2289
+ MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
2290
+ dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
2291
+ GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
2292
+ AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
2293
+ d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
2294
+ oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
2295
+ QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
2296
+ PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
2297
+ MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
2298
+ IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
2299
+ VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
2300
+ LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
2301
+ dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
2302
+ AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
2303
+ 4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
2304
+ AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
2305
+ egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
2306
+ Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
2307
+ PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
2308
+ c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
2309
+ cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
2310
+ IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
2311
+ WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
2312
+ MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
2313
+ MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
2314
+ Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
2315
+ HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
2316
+ nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
2317
+ aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
2318
+ 86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
2319
+ yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
2320
+ S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
2321
+ -----END CERTIFICATE-----
2322
+
2323
+ Certigna
2324
+ ========
2325
+ -----BEGIN CERTIFICATE-----
2326
+ MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
2327
+ EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
2328
+ MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
2329
+ Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
2330
+ XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
2331
+ GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
2332
+ ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
2333
+ DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
2334
+ Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
2335
+ tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
2336
+ BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
2337
+ SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
2338
+ hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
2339
+ ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
2340
+ PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
2341
+ 1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
2342
+ WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
2343
+ -----END CERTIFICATE-----
2344
+
2345
+ AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
2346
+ ======================================
2347
+ -----BEGIN CERTIFICATE-----
2348
+ MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT
2349
+ AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg
2350
+ LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w
2351
+ HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+
2352
+ U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh
2353
+ IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B
2354
+ AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN
2355
+ yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU
2356
+ 2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3
2357
+ 4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP
2358
+ 2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm
2359
+ 8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf
2360
+ HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa
2361
+ Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK
2362
+ 5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b
2363
+ czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
2364
+ AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g
2365
+ ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF
2366
+ BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug
2367
+ cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf
2368
+ AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX
2369
+ EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v
2370
+ /zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3
2371
+ MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4
2372
+ 3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk
2373
+ eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f
2374
+ /RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h
2375
+ RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU
2376
+ Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ==
2377
+ -----END CERTIFICATE-----
2378
+
2379
+ TC TrustCenter Class 2 CA II
2380
+ ============================
2381
+ -----BEGIN CERTIFICATE-----
2382
+ MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
2383
+ REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
2384
+ IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
2385
+ MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
2386
+ c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
2387
+ AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
2388
+ AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
2389
+ IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
2390
+ xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
2391
+ Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
2392
+ SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
2393
+ /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
2394
+ 7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
2395
+ Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
2396
+ cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
2397
+ SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
2398
+ TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
2399
+ dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
2400
+ KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
2401
+ TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
2402
+ JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
2403
+ vQ==
2404
+ -----END CERTIFICATE-----
2405
+
2406
+ TC TrustCenter Class 3 CA II
2407
+ ============================
2408
+ -----BEGIN CERTIFICATE-----
2409
+ MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
2410
+ REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
2411
+ IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw
2412
+ MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
2413
+ c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE
2414
+ AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
2415
+ AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W
2416
+ yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo
2417
+ 6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ
2418
+ uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk
2419
+ 2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB
2420
+ /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB
2421
+ 7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
2422
+ Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
2423
+ cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
2424
+ SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
2425
+ TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE
2426
+ O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8
2427
+ yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9
2428
+ IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal
2429
+ 092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc
2430
+ 5A==
2431
+ -----END CERTIFICATE-----
2432
+
2433
+ TC TrustCenter Universal CA I
2434
+ =============================
2435
+ -----BEGIN CERTIFICATE-----
2436
+ MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
2437
+ REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
2438
+ IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
2439
+ MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
2440
+ VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
2441
+ JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
2442
+ ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
2443
+ qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
2444
+ xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
2445
+ ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
2446
+ gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
2447
+ BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
2448
+ AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
2449
+ 1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
2450
+ vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
2451
+ ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
2452
+ ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
2453
+ 7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
2454
+ -----END CERTIFICATE-----
2455
+
2456
+ Deutsche Telekom Root CA 2
2457
+ ==========================
2458
+ -----BEGIN CERTIFICATE-----
2459
+ MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
2460
+ RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
2461
+ A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
2462
+ MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
2463
+ A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
2464
+ b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
2465
+ bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
2466
+ KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
2467
+ AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
2468
+ Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
2469
+ jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
2470
+ HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
2471
+ E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
2472
+ zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
2473
+ rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
2474
+ dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
2475
+ Cm26OWMohpLzGITY+9HPBVZkVw==
2476
+ -----END CERTIFICATE-----
2477
+
2478
+ ComSign CA
2479
+ ==========
2480
+ -----BEGIN CERTIFICATE-----
2481
+ MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD
2482
+ EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy
2483
+ MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp
2484
+ Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q
2485
+ ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy
2486
+ P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN
2487
+ GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk
2488
+ YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM
2489
+ rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy
2490
+ oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P
2491
+ AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+
2492
+ VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2
2493
+ QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI
2494
+ mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb
2495
+ /627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG
2496
+ zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U
2497
+ AGegcQCCSA==
2498
+ -----END CERTIFICATE-----
2499
+
2500
+ ComSign Secured CA
2501
+ ==================
2502
+ -----BEGIN CERTIFICATE-----
2503
+ MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
2504
+ AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
2505
+ NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
2506
+ QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
2507
+ ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
2508
+ 49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
2509
+ 7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
2510
+ kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
2511
+ 9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
2512
+ AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
2513
+ U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
2514
+ j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
2515
+ AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
2516
+ BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
2517
+ FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
2518
+ 51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
2519
+ OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
2520
+ -----END CERTIFICATE-----
2521
+
2522
+ Cybertrust Global Root
2523
+ ======================
2524
+ -----BEGIN CERTIFICATE-----
2525
+ MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
2526
+ ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
2527
+ MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
2528
+ ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
2529
+ +Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
2530
+ 0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
2531
+ AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
2532
+ 89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
2533
+ 8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
2534
+ BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
2535
+ MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
2536
+ A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
2537
+ lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
2538
+ 5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
2539
+ hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
2540
+ X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
2541
+ WL1WMRJOEcgh4LMRkWXbtKaIOM5V
2542
+ -----END CERTIFICATE-----
2543
+
2544
+ ePKI Root Certification Authority
2545
+ =================================
2546
+ -----BEGIN CERTIFICATE-----
2547
+ MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
2548
+ EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
2549
+ Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
2550
+ MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
2551
+ MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
2552
+ AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
2553
+ IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
2554
+ lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
2555
+ qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
2556
+ 12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
2557
+ WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
2558
+ ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
2559
+ lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
2560
+ vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
2561
+ Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
2562
+ MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
2563
+ ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
2564
+ 1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
2565
+ KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
2566
+ xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
2567
+ NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
2568
+ GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
2569
+ xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
2570
+ gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
2571
+ sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
2572
+ BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
2573
+ -----END CERTIFICATE-----
2574
+
2575
+ T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
2576
+ =============================================================================================================================
2577
+ -----BEGIN CERTIFICATE-----
2578
+ MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
2579
+ DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
2580
+ aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
2581
+ b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
2582
+ BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
2583
+ S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
2584
+ MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
2585
+ IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
2586
+ n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
2587
+ IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
2588
+ dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
2589
+ cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
2590
+ AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
2591
+ Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
2592
+ xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
2593
+ 6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
2594
+ hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
2595
+ BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
2596
+ MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
2597
+ N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
2598
+ y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
2599
+ LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
2600
+ dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
2601
+ -----END CERTIFICATE-----
2602
+
2603
+ Buypass Class 2 CA 1
2604
+ ====================
2605
+ -----BEGIN CERTIFICATE-----
2606
+ MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
2607
+ QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
2608
+ MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
2609
+ c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
2610
+ hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
2611
+ cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
2612
+ 0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
2613
+ 0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
2614
+ uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
2615
+ MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
2616
+ AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
2617
+ 1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
2618
+ 7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
2619
+ fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
2620
+ wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
2621
+ -----END CERTIFICATE-----
2622
+
2623
+ Buypass Class 3 CA 1
2624
+ ====================
2625
+ -----BEGIN CERTIFICATE-----
2626
+ MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
2627
+ QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
2628
+ MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
2629
+ c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
2630
+ hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
2631
+ ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
2632
+ n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
2633
+ AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
2634
+ 1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
2635
+ MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
2636
+ AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
2637
+ pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
2638
+ EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
2639
+ htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
2640
+ el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
2641
+ -----END CERTIFICATE-----
2642
+
2643
+ EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
2644
+ ==========================================================================
2645
+ -----BEGIN CERTIFICATE-----
2646
+ MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF
2647
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
2648
+ QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe
2649
+ Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p
2650
+ ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
2651
+ IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG
2652
+ SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by
2653
+ X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
2654
+ gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr
2655
+ eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ
2656
+ TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy
2657
+ Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn
2658
+ uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI
2659
+ qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm
2660
+ ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
2661
+ Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
2662
+ /wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW
2663
+ Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t
2664
+ FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm
2665
+ zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k
2666
+ XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT
2667
+ bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
2668
+ RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK
2669
+ 1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt
2670
+ 2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
2671
+ Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9
2672
+ AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
2673
+ -----END CERTIFICATE-----
2674
+
2675
+ certSIGN ROOT CA
2676
+ ================
2677
+ -----BEGIN CERTIFICATE-----
2678
+ MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
2679
+ VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
2680
+ Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
2681
+ CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
2682
+ JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
2683
+ rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
2684
+ ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
2685
+ 0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
2686
+ AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
2687
+ Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
2688
+ AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
2689
+ SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
2690
+ x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
2691
+ vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
2692
+ TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
2693
+ -----END CERTIFICATE-----
2694
+
2695
+ CNNIC ROOT
2696
+ ==========
2697
+ -----BEGIN CERTIFICATE-----
2698
+ MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
2699
+ ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
2700
+ OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
2701
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
2702
+ o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
2703
+ VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
2704
+ VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
2705
+ czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
2706
+ y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
2707
+ wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
2708
+ lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
2709
+ Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
2710
+ O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
2711
+ BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
2712
+ G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
2713
+ mxE=
2714
+ -----END CERTIFICATE-----
2715
+
2716
+ ApplicationCA - Japanese Government
2717
+ ===================================
2718
+ -----BEGIN CERTIFICATE-----
2719
+ MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
2720
+ SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
2721
+ MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
2722
+ cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
2723
+ CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
2724
+ fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
2725
+ wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
2726
+ jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
2727
+ nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
2728
+ WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
2729
+ BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
2730
+ vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
2731
+ o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
2732
+ /DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
2733
+ io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
2734
+ dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
2735
+ rosot4LKGAfmt1t06SAZf7IbiVQ=
2736
+ -----END CERTIFICATE-----
2737
+
2738
+ GeoTrust Primary Certification Authority - G3
2739
+ =============================================
2740
+ -----BEGIN CERTIFICATE-----
2741
+ MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
2742
+ BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
2743
+ IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
2744
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
2745
+ NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
2746
+ YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
2747
+ LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
2748
+ hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
2749
+ K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
2750
+ c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
2751
+ IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
2752
+ dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
2753
+ MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
2754
+ 2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
2755
+ cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
2756
+ Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
2757
+ AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
2758
+ t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
2759
+ -----END CERTIFICATE-----
2760
+
2761
+ thawte Primary Root CA - G2
2762
+ ===========================
2763
+ -----BEGIN CERTIFICATE-----
2764
+ MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
2765
+ VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
2766
+ IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
2767
+ Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
2768
+ MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
2769
+ b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
2770
+ IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
2771
+ LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
2772
+ 8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
2773
+ mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
2774
+ G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
2775
+ rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
2776
+ -----END CERTIFICATE-----
2777
+
2778
+ thawte Primary Root CA - G3
2779
+ ===========================
2780
+ -----BEGIN CERTIFICATE-----
2781
+ MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
2782
+ BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
2783
+ aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
2784
+ cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
2785
+ ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
2786
+ d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
2787
+ VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
2788
+ A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
2789
+ MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
2790
+ P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
2791
+ +BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
2792
+ 7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
2793
+ vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
2794
+ BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
2795
+ KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
2796
+ A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
2797
+ t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
2798
+ 8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
2799
+ er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
2800
+ -----END CERTIFICATE-----
2801
+
2802
+ GeoTrust Primary Certification Authority - G2
2803
+ =============================================
2804
+ -----BEGIN CERTIFICATE-----
2805
+ MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
2806
+ VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
2807
+ Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
2808
+ ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
2809
+ OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
2810
+ MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
2811
+ b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
2812
+ BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
2813
+ KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
2814
+ VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
2815
+ EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
2816
+ ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
2817
+ npaqBA+K
2818
+ -----END CERTIFICATE-----
2819
+
2820
+ VeriSign Universal Root Certification Authority
2821
+ ===============================================
2822
+ -----BEGIN CERTIFICATE-----
2823
+ MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
2824
+ BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
2825
+ ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
2826
+ IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
2827
+ IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
2828
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
2829
+ cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
2830
+ IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
2831
+ aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
2832
+ 1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
2833
+ MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
2834
+ 9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
2835
+ AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
2836
+ tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
2837
+ CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
2838
+ a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
2839
+ DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
2840
+ Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
2841
+ Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
2842
+ P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
2843
+ wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
2844
+ mJO37M2CYfE45k+XmCpajQ==
2845
+ -----END CERTIFICATE-----
2846
+
2847
+ VeriSign Class 3 Public Primary Certification Authority - G4
2848
+ ============================================================
2849
+ -----BEGIN CERTIFICATE-----
2850
+ MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
2851
+ VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
2852
+ b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
2853
+ ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
2854
+ YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
2855
+ MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
2856
+ cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
2857
+ b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
2858
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
2859
+ Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
2860
+ rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
2861
+ /zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
2862
+ HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
2863
+ Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
2864
+ A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
2865
+ AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
2866
+ -----END CERTIFICATE-----
2867
+
2868
+ NetLock Arany (Class Gold) Főtanúsítvány
2869
+ ============================================
2870
+ -----BEGIN CERTIFICATE-----
2871
+ MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
2872
+ A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
2873
+ dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
2874
+ cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
2875
+ MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
2876
+ ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
2877
+ biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
2878
+ c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
2879
+ 0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
2880
+ /HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
2881
+ H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
2882
+ fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
2883
+ neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
2884
+ BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
2885
+ qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
2886
+ YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
2887
+ bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
2888
+ NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
2889
+ dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
2890
+ -----END CERTIFICATE-----
2891
+
2892
+ Staat der Nederlanden Root CA - G2
2893
+ ==================================
2894
+ -----BEGIN CERTIFICATE-----
2895
+ MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
2896
+ CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
2897
+ Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
2898
+ TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
2899
+ ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
2900
+ 5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
2901
+ vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
2902
+ CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
2903
+ e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
2904
+ OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
2905
+ CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
2906
+ 48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
2907
+ trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
2908
+ qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
2909
+ AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
2910
+ ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
2911
+ HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
2912
+ A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
2913
+ +51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
2914
+ f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
2915
+ kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
2916
+ CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
2917
+ URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
2918
+ CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
2919
+ oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
2920
+ IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
2921
+ 66+KAQ==
2922
+ -----END CERTIFICATE-----
2923
+
2924
+ CA Disig
2925
+ ========
2926
+ -----BEGIN CERTIFICATE-----
2927
+ MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
2928
+ QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
2929
+ MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
2930
+ bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
2931
+ DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
2932
+ GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
2933
+ Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
2934
+ hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
2935
+ ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
2936
+ gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
2937
+ AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
2938
+ aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
2939
+ ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
2940
+ BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
2941
+ WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
2942
+ mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
2943
+ CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
2944
+ ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
2945
+ 4Z7CRneC9VkGjCFMhwnN5ag=
2946
+ -----END CERTIFICATE-----
2947
+
2948
+ Juur-SK
2949
+ =======
2950
+ -----BEGIN CERTIFICATE-----
2951
+ MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
2952
+ c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
2953
+ DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
2954
+ SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
2955
+ aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
2956
+ ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
2957
+ TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
2958
+ +Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
2959
+ UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
2960
+ Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
2961
+ MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
2962
+ HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
2963
+ AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
2964
+ cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
2965
+ AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
2966
+ cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
2967
+ FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
2968
+ A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
2969
+ ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
2970
+ abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
2971
+ IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
2972
+ Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
2973
+ yyqcjg==
2974
+ -----END CERTIFICATE-----
2975
+
2976
+ Hongkong Post Root CA 1
2977
+ =======================
2978
+ -----BEGIN CERTIFICATE-----
2979
+ MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
2980
+ DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
2981
+ NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
2982
+ IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
2983
+ AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
2984
+ ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
2985
+ auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
2986
+ qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
2987
+ V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
2988
+ HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
2989
+ h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
2990
+ l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
2991
+ IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
2992
+ T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
2993
+ c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
2994
+ -----END CERTIFICATE-----
2995
+
2996
+ SecureSign RootCA11
2997
+ ===================
2998
+ -----BEGIN CERTIFICATE-----
2999
+ MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
3000
+ SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
3001
+ b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
3002
+ KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
3003
+ cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
3004
+ TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
3005
+ wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
3006
+ g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
3007
+ O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
3008
+ bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
3009
+ t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
3010
+ OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
3011
+ bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
3012
+ Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
3013
+ y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
3014
+ lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
3015
+ -----END CERTIFICATE-----
3016
+
3017
+ ACEDICOM Root
3018
+ =============
3019
+ -----BEGIN CERTIFICATE-----
3020
+ MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
3021
+ T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
3022
+ MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
3023
+ A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
3024
+ AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
3025
+ WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
3026
+ YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
3027
+ MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
3028
+ m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
3029
+ HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
3030
+ xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
3031
+ 3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
3032
+ 2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
3033
+ TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
3034
+ 4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
3035
+ 9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
3036
+ bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
3037
+ aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
3038
+ eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
3039
+ zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
3040
+ ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
3041
+ KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
3042
+ nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
3043
+ I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
3044
+ MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
3045
+ tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
3046
+ -----END CERTIFICATE-----
3047
+
3048
+ Verisign Class 1 Public Primary Certification Authority
3049
+ =======================================================
3050
+ -----BEGIN CERTIFICATE-----
3051
+ MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
3052
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5
3053
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
3054
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx
3055
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
3056
+ A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ
3057
+ VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2
3058
+ yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa
3059
+ XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n
3060
+ 0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ
3061
+ RjXZ+Hxb
3062
+ -----END CERTIFICATE-----
3063
+
3064
+ Verisign Class 3 Public Primary Certification Authority
3065
+ =======================================================
3066
+ -----BEGIN CERTIFICATE-----
3067
+ MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
3068
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
3069
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
3070
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
3071
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
3072
+ A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
3073
+ f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
3074
+ hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky
3075
+ CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX
3076
+ bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/
3077
+ D/xwzoiQ
3078
+ -----END CERTIFICATE-----
3079
+
3080
+ Microsec e-Szigno Root CA 2009
3081
+ ==============================
3082
+ -----BEGIN CERTIFICATE-----
3083
+ MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
3084
+ MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
3085
+ c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
3086
+ dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
3087
+ BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
3088
+ U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
3089
+ DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
3090
+ fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
3091
+ 0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
3092
+ pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
3093
+ 1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
3094
+ AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
3095
+ QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
3096
+ FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
3097
+ lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
3098
+ I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
3099
+ tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
3100
+ yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
3101
+ LXpUq3DDfSJlgnCW
3102
+ -----END CERTIFICATE-----
3103
+
3104
+ E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
3105
+ ===================================================
3106
+ -----BEGIN CERTIFICATE-----
3107
+ MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
3108
+ EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz
3109
+ ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3
3110
+ MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0
3111
+ cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u
3112
+ aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
3113
+ AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY
3114
+ 8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y
3115
+ jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI
3116
+ JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk
3117
+ 9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD
3118
+ AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG
3119
+ SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d
3120
+ F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq
3121
+ D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4
3122
+ Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
3123
+ fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
3124
+ -----END CERTIFICATE-----
3125
+
3126
+ GlobalSign Root CA - R3
3127
+ =======================
3128
+ -----BEGIN CERTIFICATE-----
3129
+ MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
3130
+ YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
3131
+ bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
3132
+ aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
3133
+ bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
3134
+ iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
3135
+ 0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
3136
+ rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
3137
+ OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
3138
+ xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
3139
+ FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
3140
+ lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
3141
+ EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
3142
+ bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
3143
+ YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
3144
+ kpeDMdmztcpHWD9f
3145
+ -----END CERTIFICATE-----
3146
+
3147
+ TC TrustCenter Universal CA III
3148
+ ===============================
3149
+ -----BEGIN CERTIFICATE-----
3150
+ MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC
3151
+ REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
3152
+ IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe
3153
+ Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU
3154
+ QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex
3155
+ KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB
3156
+ AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt
3157
+ QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO
3158
+ juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut
3159
+ CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1
3160
+ M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G
3161
+ A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
3162
+ BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA
3163
+ g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+
3164
+ KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK
3165
+ BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
3166
+ CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq
3167
+ woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
3168
+ -----END CERTIFICATE-----
3169
+
3170
+ Autoridad de Certificacion Firmaprofesional CIF A62634068
3171
+ =========================================================
3172
+ -----BEGIN CERTIFICATE-----
3173
+ MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
3174
+ BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
3175
+ MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
3176
+ QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
3177
+ NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
3178
+ Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
3179
+ B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
3180
+ 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
3181
+ ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
3182
+ plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
3183
+ MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
3184
+ LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
3185
+ bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
3186
+ vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
3187
+ EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
3188
+ DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
3189
+ cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
3190
+ bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
3191
+ ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
3192
+ 51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
3193
+ R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
3194
+ T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
3195
+ Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
3196
+ osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
3197
+ crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
3198
+ saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
3199
+ KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
3200
+ 6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
3201
+ -----END CERTIFICATE-----
3202
+
3203
+ Izenpe.com
3204
+ ==========
3205
+ -----BEGIN CERTIFICATE-----
3206
+ MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
3207
+ EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
3208
+ MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
3209
+ QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
3210
+ 03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
3211
+ ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
3212
+ +zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
3213
+ PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
3214
+ OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
3215
+ F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
3216
+ 0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
3217
+ 0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
3218
+ leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
3219
+ AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
3220
+ SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
3221
+ NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
3222
+ MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
3223
+ BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
3224
+ Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
3225
+ kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
3226
+ hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
3227
+ g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
3228
+ aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
3229
+ nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
3230
+ ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
3231
+ Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
3232
+ WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
3233
+ -----END CERTIFICATE-----
3234
+
3235
+ Chambers of Commerce Root - 2008
3236
+ ================================
3237
+ -----BEGIN CERTIFICATE-----
3238
+ MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
3239
+ MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
3240
+ bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
3241
+ QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
3242
+ Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
3243
+ ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
3244
+ EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
3245
+ cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
3246
+ AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
3247
+ XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
3248
+ h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
3249
+ ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
3250
+ NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
3251
+ D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
3252
+ lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
3253
+ 0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
3254
+ ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
3255
+ EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
3256
+ G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
3257
+ BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
3258
+ bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
3259
+ bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
3260
+ CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
3261
+ AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
3262
+ wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
3263
+ 3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
3264
+ RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
3265
+ M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
3266
+ YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
3267
+ 9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
3268
+ zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
3269
+ nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
3270
+ OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
3271
+ -----END CERTIFICATE-----
3272
+
3273
+ Global Chambersign Root - 2008
3274
+ ==============================
3275
+ -----BEGIN CERTIFICATE-----
3276
+ MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
3277
+ MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
3278
+ bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
3279
+ QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
3280
+ NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
3281
+ Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
3282
+ QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
3283
+ aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
3284
+ VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
3285
+ XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
3286
+ ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
3287
+ /gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
3288
+ TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
3289
+ H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
3290
+ Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
3291
+ HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
3292
+ wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
3293
+ AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
3294
+ BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
3295
+ BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
3296
+ aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
3297
+ aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
3298
+ 1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
3299
+ dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
3300
+ /5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
3301
+ ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
3302
+ dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
3303
+ 9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
3304
+ foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
3305
+ qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
3306
+ P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
3307
+ c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
3308
+ 09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
3309
+ -----END CERTIFICATE-----
3310
+
3311
+ Go Daddy Root Certificate Authority - G2
3312
+ ========================================
3313
+ -----BEGIN CERTIFICATE-----
3314
+ MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
3315
+ B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
3316
+ MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
3317
+ MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
3318
+ b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
3319
+ A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
3320
+ hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
3321
+ 9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
3322
+ +qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
3323
+ fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
3324
+ NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
3325
+ MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
3326
+ BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
3327
+ vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
3328
+ 5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
3329
+ N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
3330
+ LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
3331
+ -----END CERTIFICATE-----
3332
+
3333
+ Starfield Root Certificate Authority - G2
3334
+ =========================================
3335
+ -----BEGIN CERTIFICATE-----
3336
+ MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
3337
+ B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
3338
+ b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
3339
+ eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
3340
+ DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
3341
+ VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
3342
+ dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
3343
+ W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
3344
+ bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
3345
+ N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
3346
+ ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
3347
+ JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
3348
+ AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
3349
+ TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
3350
+ 4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
3351
+ F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
3352
+ pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
3353
+ c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
3354
+ -----END CERTIFICATE-----
3355
+
3356
+ Starfield Services Root Certificate Authority - G2
3357
+ ==================================================
3358
+ -----BEGIN CERTIFICATE-----
3359
+ MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
3360
+ B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
3361
+ b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
3362
+ IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
3363
+ BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
3364
+ dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
3365
+ Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
3366
+ AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
3367
+ h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
3368
+ hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
3369
+ LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
3370
+ rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
3371
+ AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
3372
+ SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
3373
+ E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
3374
+ xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
3375
+ iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
3376
+ YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
3377
+ -----END CERTIFICATE-----
3378
+
3379
+ AffirmTrust Commercial
3380
+ ======================
3381
+ -----BEGIN CERTIFICATE-----
3382
+ MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
3383
+ BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
3384
+ MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
3385
+ bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
3386
+ AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
3387
+ DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
3388
+ C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
3389
+ BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
3390
+ MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
3391
+ HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
3392
+ AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
3393
+ hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
3394
+ qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
3395
+ 0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
3396
+ sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
3397
+ -----END CERTIFICATE-----
3398
+
3399
+ AffirmTrust Networking
3400
+ ======================
3401
+ -----BEGIN CERTIFICATE-----
3402
+ MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
3403
+ BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
3404
+ MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
3405
+ bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
3406
+ AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
3407
+ Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
3408
+ dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
3409
+ /PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
3410
+ h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
3411
+ HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
3412
+ AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
3413
+ UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
3414
+ 12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
3415
+ WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
3416
+ /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
3417
+ -----END CERTIFICATE-----
3418
+
3419
+ AffirmTrust Premium
3420
+ ===================
3421
+ -----BEGIN CERTIFICATE-----
3422
+ MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
3423
+ BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
3424
+ OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
3425
+ dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
3426
+ MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
3427
+ BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
3428
+ 5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
3429
+ +7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
3430
+ GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
3431
+ p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
3432
+ S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
3433
+ 6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
3434
+ /bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
3435
+ +Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
3436
+ /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
3437
+ MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
3438
+ Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
3439
+ 6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
3440
+ L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
3441
+ +4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
3442
+ BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
3443
+ IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
3444
+ g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
3445
+ zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
3446
+ -----END CERTIFICATE-----
3447
+
3448
+ AffirmTrust Premium ECC
3449
+ =======================
3450
+ -----BEGIN CERTIFICATE-----
3451
+ MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
3452
+ BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
3453
+ MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
3454
+ cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
3455
+ IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
3456
+ N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
3457
+ BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
3458
+ BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
3459
+ 57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
3460
+ eQ==
3461
+ -----END CERTIFICATE-----
3462
+
3463
+ Certum Trusted Network CA
3464
+ =========================
3465
+ -----BEGIN CERTIFICATE-----
3466
+ MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
3467
+ ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
3468
+ biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
3469
+ MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
3470
+ ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
3471
+ MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
3472
+ AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
3473
+ l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
3474
+ J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
3475
+ fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
3476
+ cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
3477
+ Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
3478
+ DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
3479
+ jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
3480
+ mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
3481
+ Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
3482
+ 03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
3483
+ -----END CERTIFICATE-----
3484
+
3485
+ Certinomis - Autorité Racine
3486
+ =============================
3487
+ -----BEGIN CERTIFICATE-----
3488
+ MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
3489
+ Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
3490
+ LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
3491
+ A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
3492
+ JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
3493
+ ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
3494
+ wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
3495
+ Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
3496
+ 2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
3497
+ jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
3498
+ c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
3499
+ lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
3500
+ xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
3501
+ 530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
3502
+ 4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
3503
+ A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
3504
+ KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
3505
+ WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
3506
+ R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
3507
+ nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
3508
+ CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
3509
+ JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
3510
+ qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
3511
+ WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
3512
+ wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
3513
+ vgt2Fl43N+bYdJeimUV5
3514
+ -----END CERTIFICATE-----
3515
+
3516
+ Root CA Generalitat Valenciana
3517
+ ==============================
3518
+ -----BEGIN CERTIFICATE-----
3519
+ MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
3520
+ ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
3521
+ IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
3522
+ WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
3523
+ CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
3524
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
3525
+ F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
3526
+ ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
3527
+ D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
3528
+ JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
3529
+ AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
3530
+ dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
3531
+ ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
3532
+ AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
3533
+ YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
3534
+ AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
3535
+ aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
3536
+ AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
3537
+ YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
3538
+ AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
3539
+ OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
3540
+ dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
3541
+ BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
3542
+ A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
3543
+ b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
3544
+ TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
3545
+ Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
3546
+ NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
3547
+ iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
3548
+ +GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
3549
+ -----END CERTIFICATE-----
3550
+
3551
+ A-Trust-nQual-03
3552
+ ================
3553
+ -----BEGIN CERTIFICATE-----
3554
+ MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
3555
+ Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
3556
+ a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
3557
+ dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
3558
+ RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
3559
+ ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
3560
+ c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
3561
+ zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
3562
+ yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
3563
+ SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
3564
+ iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
3565
+ cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
3566
+ eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
3567
+ ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
3568
+ sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
3569
+ JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
3570
+ mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
3571
+ ahq97BvIxYSazQ==
3572
+ -----END CERTIFICATE-----
3573
+
3574
+ TWCA Root Certification Authority
3575
+ =================================
3576
+ -----BEGIN CERTIFICATE-----
3577
+ MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
3578
+ VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
3579
+ dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
3580
+ EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
3581
+ IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
3582
+ AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
3583
+ QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
3584
+ oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
3585
+ 4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
3586
+ y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
3587
+ BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
3588
+ 9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
3589
+ mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
3590
+ QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
3591
+ T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
3592
+ Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
3593
+ -----END CERTIFICATE-----
3594
+
3595
+ Security Communication RootCA2
3596
+ ==============================
3597
+ -----BEGIN CERTIFICATE-----
3598
+ MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
3599
+ U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
3600
+ dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
3601
+ SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
3602
+ aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
3603
+ ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
3604
+ +T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
3605
+ 3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
3606
+ spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
3607
+ EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
3608
+ QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
3609
+ CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
3610
+ u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
3611
+ 3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
3612
+ tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
3613
+ mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
3614
+ -----END CERTIFICATE-----
3615
+
3616
+ EC-ACC
3617
+ ======
3618
+ -----BEGIN CERTIFICATE-----
3619
+ MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
3620
+ BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
3621
+ ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
3622
+ VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
3623
+ CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
3624
+ BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
3625
+ MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
3626
+ SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
3627
+ Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
3628
+ cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
3629
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
3630
+ w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
3631
+ ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
3632
+ HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
3633
+ E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
3634
+ 0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
3635
+ BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
3636
+ VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
3637
+ Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
3638
+ dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
3639
+ lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
3640
+ Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
3641
+ l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
3642
+ E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
3643
+ 5EI=
3644
+ -----END CERTIFICATE-----
3645
+
3646
+ Hellenic Academic and Research Institutions RootCA 2011
3647
+ =======================================================
3648
+ -----BEGIN CERTIFICATE-----
3649
+ MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
3650
+ O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
3651
+ aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
3652
+ IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
3653
+ AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
3654
+ IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
3655
+ IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
3656
+ AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
3657
+ 1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
3658
+ 71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
3659
+ 8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
3660
+ 3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
3661
+ MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
3662
+ MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
3663
+ b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
3664
+ XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
3665
+ TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
3666
+ /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
3667
+ 7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
3668
+ -----END CERTIFICATE-----
3669
+
3670
+ Actalis Authentication Root CA
3671
+ ==============================
3672
+ -----BEGIN CERTIFICATE-----
3673
+ MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
3674
+ BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
3675
+ AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
3676
+ MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
3677
+ IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
3678
+ IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
3679
+ wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
3680
+ by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
3681
+ zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
3682
+ YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
3683
+ oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
3684
+ EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
3685
+ hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
3686
+ EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
3687
+ jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
3688
+ iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
3689
+ ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
3690
+ WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
3691
+ JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
3692
+ K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
3693
+ Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
3694
+ 4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
3695
+ 2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
3696
+ lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
3697
+ OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
3698
+ vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
3699
+ -----END CERTIFICATE-----
3700
+
3701
+ Trustis FPS Root CA
3702
+ ===================
3703
+ -----BEGIN CERTIFICATE-----
3704
+ MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
3705
+ EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
3706
+ IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
3707
+ BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
3708
+ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
3709
+ RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
3710
+ H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
3711
+ cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
3712
+ o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
3713
+ AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
3714
+ BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
3715
+ GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
3716
+ yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
3717
+ 8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
3718
+ l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
3719
+ iB6XzCGcKQENZetX2fNXlrtIzYE=
3720
+ -----END CERTIFICATE-----
3721
+
3722
+ StartCom Certification Authority
3723
+ ================================
3724
+ -----BEGIN CERTIFICATE-----
3725
+ MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
3726
+ U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
3727
+ ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
3728
+ NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
3729
+ LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
3730
+ U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
3731
+ ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
3732
+ o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
3733
+ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
3734
+ eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
3735
+ 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
3736
+ 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
3737
+ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
3738
+ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
3739
+ UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
3740
+ 37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
3741
+ VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
3742
+ Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
3743
+ dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
3744
+ c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
3745
+ bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
3746
+ aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
3747
+ aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
3748
+ L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
3749
+ cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
3750
+ fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
3751
+ N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
3752
+ Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
3753
+ tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
3754
+ e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
3755
+ 2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
3756
+ HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
3757
+ JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
3758
+ D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
3759
+ -----END CERTIFICATE-----
3760
+
3761
+ StartCom Certification Authority G2
3762
+ ===================================
3763
+ -----BEGIN CERTIFICATE-----
3764
+ MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
3765
+ U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
3766
+ RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
3767
+ ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
3768
+ dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
3769
+ o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
3770
+ 4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
3771
+ Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
3772
+ Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
3773
+ O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
3774
+ vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
3775
+ nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
3776
+ FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
3777
+ z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
3778
+ BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
3779
+ KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
3780
+ 2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
3781
+ J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
3782
+ JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
3783
+ /+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
3784
+ nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
3785
+ blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
3786
+ l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
3787
+ 7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
3788
+ obp573PYtlNXLfbQ4ddI
3789
+ -----END CERTIFICATE-----
3790
+
3791
+ Buypass Class 2 Root CA
3792
+ =======================
3793
+ -----BEGIN CERTIFICATE-----
3794
+ MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
3795
+ QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
3796
+ DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
3797
+ eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
3798
+ DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
3799
+ g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
3800
+ 9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
3801
+ /+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
3802
+ CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
3803
+ awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
3804
+ zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
3805
+ Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
3806
+ Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
3807
+ M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
3808
+ VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
3809
+ AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
3810
+ A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
3811
+ osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
3812
+ aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
3813
+ DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
3814
+ LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
3815
+ oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
3816
+ wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
3817
+ CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
3818
+ rJgWVqA=
3819
+ -----END CERTIFICATE-----
3820
+
3821
+ Buypass Class 3 Root CA
3822
+ =======================
3823
+ -----BEGIN CERTIFICATE-----
3824
+ MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
3825
+ QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
3826
+ DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
3827
+ eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
3828
+ DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
3829
+ sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
3830
+ 5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
3831
+ 7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
3832
+ ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
3833
+ 2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
3834
+ /afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
3835
+ RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
3836
+ Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
3837
+ j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
3838
+ VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
3839
+ AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
3840
+ cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
3841
+ uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
3842
+ Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
3843
+ ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
3844
+ KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
3845
+ 6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
3846
+ UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
3847
+ eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
3848
+ Cp/HuZc=
3849
+ -----END CERTIFICATE-----
3850
+
3851
+ TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı
3852
+ ======================================================
3853
+ -----BEGIN CERTIFICATE-----
3854
+ MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
3855
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
3856
+ MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
3857
+ QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
3858
+ DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
3859
+ a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
3860
+ BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
3861
+ bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
3862
+ DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
3863
+ YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
3864
+ KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
3865
+ KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
3866
+ rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
3867
+ AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
3868
+ BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
3869
+ Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
3870
+ aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
3871
+ Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
3872
+ BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
3873
+ poRq0Tl9
3874
+ -----END CERTIFICATE-----
3875
+
3876
+ T-TeleSec GlobalRoot Class 3
3877
+ ============================
3878
+ -----BEGIN CERTIFICATE-----
3879
+ MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
3880
+ IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
3881
+ cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
3882
+ MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
3883
+ dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
3884
+ ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
3885
+ DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
3886
+ 9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
3887
+ NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
3888
+ iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
3889
+ 0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
3890
+ MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
3891
+ AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
3892
+ fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
3893
+ ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
3894
+ P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
3895
+ e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
3896
+ -----END CERTIFICATE-----
3897
+
3898
+ EE Certification Centre Root CA
3899
+ ===============================
3900
+ -----BEGIN CERTIFICATE-----
3901
+ MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
3902
+ EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
3903
+ dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
3904
+ MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
3905
+ UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
3906
+ ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
3907
+ DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
3908
+ TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
3909
+ rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
3910
+ 93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
3911
+ P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
3912
+ AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
3913
+ MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
3914
+ BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
3915
+ xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
3916
+ lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
3917
+ uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
3918
+ 3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
3919
+ dcGWxZ0=
3920
+ -----END CERTIFICATE-----
vendor/facebook/php-business-sdk/src/FacebookAds/AnonymousSession.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds;
26
+
27
+ class AnonymousSession implements SessionInterface {
28
+
29
+ /**
30
+ * @return array
31
+ */
32
+ public function getRequestParameters() {
33
+ return array();
34
+ }
35
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Api.php ADDED
@@ -0,0 +1,247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds;
26
+
27
+ use FacebookAds\Http\Client;
28
+ use FacebookAds\Http\RequestInterface;
29
+ use FacebookAds\Http\ResponseInterface;
30
+ use FacebookAds\Logger\LoggerInterface;
31
+ use FacebookAds\Logger\NullLogger;
32
+ use FacebookAds\CrashReporter;
33
+
34
+ class Api {
35
+
36
+ /**
37
+ * @var string
38
+ */
39
+ const VERSION = ApiConfig::APIVersion;
40
+
41
+ /**
42
+ * @var Api
43
+ */
44
+ protected static $instance;
45
+
46
+ /**
47
+ * @var SessionInterface
48
+ */
49
+ private $session;
50
+
51
+ /**
52
+ * @var LoggerInterface
53
+ */
54
+ protected $logger;
55
+
56
+ /**
57
+ * @var Client
58
+ */
59
+ protected $httpClient;
60
+
61
+ /**
62
+ * @var string
63
+ */
64
+ protected $defaultGraphVersion;
65
+
66
+ /**
67
+ * @param Client $http_client
68
+ * @param SessionInterface $session A Facebook API session
69
+ */
70
+ public function __construct(
71
+ Client $http_client,
72
+ SessionInterface $session) {
73
+ $this->httpClient = $http_client;
74
+ $this->session = $session;
75
+ }
76
+
77
+ /**
78
+ * @param string $app_id
79
+ * @param string $app_secret
80
+ * @param string $access_token
81
+ * @return static
82
+ */
83
+ public static function init($app_id, $app_secret, $access_token, $log_crash=true) {
84
+ $session = new Session($app_id, $app_secret, $access_token);
85
+ $api = new static(new Client(), $session);
86
+ static::setInstance($api);
87
+ if ($log_crash) {
88
+ CrashReporter::enable();
89
+ }
90
+ return $api;
91
+ }
92
+
93
+ /**
94
+ * @return Api|null
95
+ */
96
+ public static function instance() {
97
+ return static::$instance;
98
+ }
99
+
100
+ /**
101
+ * @param Api $instance
102
+ */
103
+ public static function setInstance(Api $instance) {
104
+ static::$instance = $instance;
105
+ }
106
+
107
+ /**
108
+ * @param SessionInterface $session
109
+ * @return Api
110
+ */
111
+ public function getCopyWithSession(SessionInterface $session) {
112
+ $api = new self($this->getHttpClient(), $session);
113
+ $api->setDefaultGraphVersion($this->getDefaultGraphVersion());
114
+ $api->setLogger($this->getLogger());
115
+ return $api;
116
+ }
117
+
118
+ /**
119
+ * @param string $string
120
+ * @return string
121
+ */
122
+ public static function base64UrlEncode($string) {
123
+ $str = strtr(base64_encode($string), '+/', '-_');
124
+ $str = str_replace('=', '', $str);
125
+ return $str;
126
+ }
127
+
128
+ /**
129
+ * @param string $path
130
+ * @param string $method
131
+ * @param array $params
132
+ * @return RequestInterface
133
+ */
134
+ public function prepareRequest(
135
+ $path,
136
+ $method = RequestInterface::METHOD_GET,
137
+ array $params = array()) {
138
+
139
+ $request = $this->getHttpClient()->createRequest();
140
+ $request->setMethod($method);
141
+ $request->setGraphVersion($this->getDefaultGraphVersion());
142
+ $request->setPath($path);
143
+
144
+ if ($method === RequestInterface::METHOD_GET) {
145
+ $params_ref = $request->getQueryParams();
146
+ } else {
147
+ $params_ref = $request->getBodyParams();
148
+ }
149
+
150
+ if (!empty($params)) {
151
+ $params_ref->enhance($params);
152
+ }
153
+
154
+ $params_ref->enhance($this->getSession()->getRequestParameters());
155
+
156
+ return $request;
157
+ }
158
+
159
+ /**
160
+ * @param RequestInterface $request
161
+ * @return ResponseInterface
162
+ */
163
+ public function executeRequest(RequestInterface $request) {
164
+ $this->getLogger()->logRequest('debug', $request);
165
+ $response = $request->execute();
166
+ $this->getLogger()->logResponse('debug', $response);
167
+
168
+ return $response;
169
+ }
170
+
171
+ /**
172
+ * @return string
173
+ */
174
+ public function getDefaultGraphVersion() {
175
+ if ($this->defaultGraphVersion === null) {
176
+ $match = array();
177
+ if (preg_match("/^\d+\.\d+/", static::VERSION, $match)) {
178
+ $this->defaultGraphVersion = $match[0];
179
+ }
180
+ }
181
+
182
+ return $this->defaultGraphVersion;
183
+ }
184
+
185
+ /**
186
+ * @param string $version
187
+ */
188
+ public function setDefaultGraphVersion($version) {
189
+ $this->defaultGraphVersion = $version;
190
+ }
191
+
192
+ /**
193
+ * Make graph api calls
194
+ *
195
+ * @param string $path Ads API endpoint
196
+ * @param string $method Ads API request type
197
+ * @param array $params Assoc of request parameters
198
+ * @return ResponseInterface Graph API responses
199
+ */
200
+ public function call(
201
+ $path,
202
+ $method = RequestInterface::METHOD_GET,
203
+ array $params = array(),
204
+ array $file_params = array()) {
205
+
206
+ $request = $this->prepareRequest($path, $method, $params);
207
+
208
+ if (!empty($file_params)) {
209
+ foreach($file_params as $key => $value) {
210
+ $request->getFileParams()->offsetSet($key, $value);
211
+ }
212
+ }
213
+
214
+ return $this->executeRequest($request);
215
+ }
216
+
217
+ /**
218
+ * @return SessionInterface
219
+ */
220
+ public function getSession() {
221
+ return $this->session;
222
+ }
223
+
224
+ /**
225
+ * @param LoggerInterface $logger
226
+ */
227
+ public function setLogger(LoggerInterface $logger) {
228
+ $this->logger = $logger;
229
+ }
230
+
231
+ /**
232
+ * @return LoggerInterface
233
+ */
234
+ public function getLogger() {
235
+ if ($this->logger === null) {
236
+ $this->logger = new NullLogger();
237
+ }
238
+ return $this->logger;
239
+ }
240
+
241
+ /**
242
+ * @return Client
243
+ */
244
+ public function getHttpClient() {
245
+ return $this->httpClient;
246
+ }
247
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/ApiConfig.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+ namespace FacebookAds;
25
+ class ApiConfig {
26
+ const APIVersion = '6.0';
27
+ const SDKVersion = '6.0.0';
28
+ const TYPE_CHECKER_STRICT_MODE = false;
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/ApiRequest.php ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds;
26
+
27
+ use FacebookAds\Cursor;
28
+ use FacebookAds\AbstractObject;
29
+
30
+ class ApiRequest {
31
+ protected $api;
32
+ protected $id;
33
+ protected $method;
34
+ protected $endpoint;
35
+ protected $return_prototype;
36
+ protected $accepted_fields;
37
+ protected $param_checker;
38
+ protected $api_type;
39
+ protected $use_graph_video_endpoint;
40
+ private $fields;
41
+ private $params;
42
+ private $file_params;
43
+ private $allow_file_upload;
44
+ private $file_counter;
45
+
46
+ public function __construct(
47
+ Api $api,
48
+ $id,
49
+ $method,
50
+ $endpoint,
51
+ $return_prototype = null,
52
+ $api_type = null,
53
+ $accepted_fields = array(),
54
+ TypeChecker $param_checker = null,
55
+ $allow_file_upload = false,
56
+ $use_graph_video_endpoint = false) {
57
+ $this->fields = [];
58
+ $this->params = [];
59
+ $this->file_params = [];
60
+ $this->file_counter = 0;
61
+ $this->api = $api;
62
+ $this->id = $id;
63
+ $this->method = $method;
64
+ $this->endpoint = $endpoint;
65
+ $this->return_prototype = $return_prototype;
66
+ $this->api_type = $api_type;
67
+ $this->accepted_fields = $accepted_fields;
68
+ $this->param_checker = $param_checker;
69
+ $this->allow_file_upload = $allow_file_upload;
70
+ $this->use_graph_video_endpoint = $use_graph_video_endpoint;
71
+ }
72
+
73
+ public function addParam($param, $value) {
74
+ $extracted_value = $this->extractValue($value);
75
+ if (!ApiConfig::TYPE_CHECKER_STRICT_MODE
76
+ || !$this->param_checker->isValidParam($param)
77
+ ) {
78
+ if ($this->param_checker->isFileParam($param)) {
79
+ $this->file_params[$param] = $extracted_value;
80
+ } else {
81
+ $this->params[$param] = $extracted_value;
82
+ }
83
+ } else {
84
+ if ($this->param_checker->isValidParamPair($param, $value)) {
85
+ if ($this->param_checker->isFileParam($param)) {
86
+ $this->file_params[$param] = $extracted_value;
87
+ } else {
88
+ $this->params[$param] = $extracted_value;
89
+ }
90
+ } elseif ($this->param_checker->isPrimitiveType($param)) {
91
+ $param_type = $this->param_checker->getType($param);
92
+ $this->params[$param] = $this->param_checker->convertStringToPrimType(
93
+ $param_type, $value);
94
+ } else {
95
+ throw new \LogicException('The value for '.$param.' is not compatible');
96
+ }
97
+ }
98
+ return $this;
99
+ }
100
+
101
+ public function addParams($params) {
102
+ foreach ($params as $key => $value) {
103
+ $this->addParam($key, $value);
104
+ }
105
+ return $this;
106
+ }
107
+
108
+ public function removeParam($param) {
109
+ if (array_key_exists($param, $this->params)) {
110
+ unset($this->params[$param]);
111
+ } elseif (array_key_exists($param, $this->params)) {
112
+ unset($this->file_params[$param]);
113
+ }
114
+ return $this;
115
+ }
116
+
117
+ public function clearParams() {
118
+ $this->params = [];
119
+ $this->file_params = [];
120
+ return $this;
121
+ }
122
+
123
+ public function getParams() {
124
+ $all_params = array_merge($this->params, $this->file_params);
125
+ return $all_params;
126
+ }
127
+
128
+ public function addField($field) {
129
+ if (ApiConfig::TYPE_CHECKER_STRICT_MODE
130
+ && !in_array($field, $this->accepted_fields)
131
+ ) {
132
+ throw new \LogicException('Field '.$field.' is not supported');
133
+ }
134
+ if (!(in_array($field, $this->fields))) {
135
+ $this->fields[] = $field;
136
+ }
137
+ return $this;
138
+ }
139
+
140
+ public function addFields($fields) {
141
+ foreach ($fields as $field) {
142
+ $this->addField($field);
143
+ }
144
+ return $this;
145
+ }
146
+
147
+ public function removeField($field) {
148
+ if (in_array($field, $this->fields)) {
149
+ $index_to_remove = array_search($field, $this->fields);
150
+ unset($this->fields[$index_to_remove]);
151
+ }
152
+ return $this;
153
+ }
154
+
155
+ public function clearFields() {
156
+ $this->fields = [];
157
+ return $this;
158
+ }
159
+
160
+ public function getFields() {
161
+ return $this->fields;
162
+ }
163
+
164
+ public function addFile($filename) {
165
+ if (ApiConfig::TYPE_CHECKER_STRICT_MODE && !$this->allow_file_upload) {
166
+ throw new \LogicException("This api cannot upload files");
167
+ }
168
+ $file_key = 'source'.$this->file_counter;
169
+ if (file_exists($filename)) {
170
+ $this->file_params[$file_key] = $filename;
171
+ $this->file_counter++;
172
+ }
173
+ return $this;
174
+ }
175
+
176
+ /**
177
+ * Execute the request
178
+ */
179
+ public function execute() {
180
+ $url_path = '/'.$this->id.$this->endpoint;
181
+ $updated_params = $this->params;
182
+ if (!empty($this->fields)) {
183
+ $fields = implode(',', $this->fields);
184
+ $updated_params['fields'] = $fields;
185
+ }
186
+ $response = $this->api->call(
187
+ $url_path, $this->method, $updated_params, $this->file_params);
188
+ if ($this->api_type === "EDGE" && $this->method === "GET") {
189
+ return new Cursor($response, $this->return_prototype, $this->api);
190
+ } else if ($this->method === "DELETE") {
191
+ return $response;
192
+ } else {
193
+ return $this->createObject($response->getContent());
194
+ }
195
+ }
196
+
197
+ protected function extractValue($value) {
198
+ if ($this->param_checker->isAbstractObject($value)) {
199
+ return $value->exportAllData();
200
+ } else if (is_array($value)) {
201
+ $extracted_value = [];
202
+ foreach ($value as $key => $sub_value) {
203
+ $extracted_value[$key] = $this->extractValue($sub_value);
204
+ }
205
+ return $extracted_value;
206
+ } else {
207
+ return $value;
208
+ }
209
+ }
210
+
211
+ protected function createObject(array $object_data) {
212
+ $object = clone $this->return_prototype;
213
+ $object->setDataWithoutValidation($object_data);
214
+ if ($object instanceof AbstractCrudObject) {
215
+ $object->setApi($this->api);
216
+ }
217
+ return $object;
218
+ }
219
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/CrashReporter.php ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds;
26
+
27
+ use FacebookAds\Api;
28
+ use FacebookAds\Exception\Exception;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\Http\Exception\RequestException;
31
+
32
+ /**
33
+ * Class CrashReasons
34
+ * @package FacebookAds
35
+ */
36
+ class CrashReasons {
37
+ const SDK = 'SDK';
38
+ const API = 'API';
39
+ }
40
+
41
+ /**
42
+ * Class CrashReporter
43
+ * @package FacebookAds
44
+ */
45
+ class CrashReporter {
46
+ const E_FATAL =
47
+ E_ERROR |
48
+ E_USER_ERROR |
49
+ E_PARSE |
50
+ E_CORE_ERROR |
51
+ E_COMPILE_ERROR |
52
+ E_RECOVERABLE_ERROR;
53
+
54
+ /**
55
+ * @var CrashReporter
56
+ */
57
+ private static $instance;
58
+
59
+ /**
60
+ * @var resource
61
+ */
62
+ private static $handle;
63
+
64
+ /**
65
+ * @var int
66
+ */
67
+ private $app_id;
68
+
69
+ /**
70
+ * CrashReporter constructor.
71
+ * @param int $app_id
72
+ * @return void
73
+ */
74
+ private function __construct(
75
+ $app_id
76
+ ) {
77
+ $this->app_id = $app_id;
78
+ }
79
+
80
+ /**
81
+ * @return void
82
+ */
83
+ public static function enable() {
84
+ if (!static::$handle) {
85
+ static::$handle = fopen('php://stdout', 'w');
86
+ }
87
+ if (!static::$instance) {
88
+ $api = Api::instance();
89
+ if ($api == null) {
90
+ self::log('Could not initialize API' . PHP_EOL);
91
+ }
92
+ static::$instance = new static($api->getSession()->getAppId());
93
+ static::$instance->registerExceptionHandler();
94
+ self::log('Enabled' . PHP_EOL);
95
+ }
96
+ }
97
+
98
+ /**
99
+ * @return void
100
+ */
101
+ public static function disable() {
102
+ if (static::$instance) {
103
+ static::$instance = null;
104
+ restore_exception_handler();
105
+ restore_error_handler();
106
+ self::log('Disabled');
107
+ }
108
+ }
109
+
110
+ /**
111
+ * @param $handle
112
+ */
113
+ public static function setLogger($handle) {
114
+ if(is_resource($handle)) {
115
+ static::$handle = $handle;
116
+ }
117
+ }
118
+
119
+ /**
120
+ * @return void
121
+ */
122
+ private function registerExceptionHandler() {
123
+ $lastHandler = set_exception_handler(
124
+ function (\Throwable $e) use (&$lastHandler) {
125
+ self::log('Exception detected!');
126
+ $params = $this->buildParamsFromException($e);
127
+ if ($params != null) {
128
+ $this->sendReport(array(
129
+ 'bizsdk_crash_report' => $params
130
+ ));
131
+ }
132
+ // restore the previous exception
133
+ if (is_callable($lastHandler)) {
134
+ return call_user_func_array($lastHandler, [$e]);
135
+ } else {
136
+ throw $e;
137
+ }
138
+ }
139
+ );
140
+
141
+ $lastError = set_error_handler(
142
+ function ($errno, $errstr, $errfile, $errline) use (&$lastError) {
143
+ self::log('Error detected!');
144
+ if (($errno & self::E_FATAL) && strpos($errfile, 'FacebookAds') != false) {
145
+ $e = new \ErrorException($errstr, 0, $errno, $errfile, $errline);
146
+ $params = $this->buildParamsFromException($e);
147
+ if ($params != null) {
148
+ $this->sendReport(array(
149
+ 'bizsdk_crash_report' => $params
150
+ ));
151
+ }
152
+ }
153
+ if (is_callable($lastError)) {
154
+ return call_user_func_array($lastError, [$errno, $errstr, $errfile, $errline]);
155
+ } else {
156
+ // fall through to the standard PHP error handler
157
+ return false;
158
+ }
159
+ }
160
+ );
161
+ }
162
+
163
+ /**
164
+ * @param \Throwable $e
165
+ * @return array|null
166
+ */
167
+ private function buildParamsFromException(\Throwable $e) {
168
+ if (!($e instanceof Exception || $e instanceof \ErrorException)) {
169
+ return NULL;
170
+ }
171
+ $reason = CrashReasons::SDK;
172
+ if ($e instanceof RequestException) {
173
+ $reason = CrashReasons::API;
174
+ }
175
+ $reason .= ' : ' . $e->getMessage();
176
+ $callstack = explode(PHP_EOL, $e->getTraceAsString());
177
+ return array(
178
+ 'reason' => $reason,
179
+ 'callstack' => $callstack,
180
+ 'platform' => phpversion()
181
+ );
182
+ }
183
+
184
+ /**
185
+ * @param $params
186
+ */
187
+ private function sendReport($params) {
188
+ try {
189
+ $session = new AnonymousSession();
190
+ $api = new Api(Api::instance()->getHttpClient(), $session);
191
+ $request = $api->prepareRequest(
192
+ '/' . $this->app_id . '/instruments',
193
+ RequestInterface::METHOD_POST,
194
+ $params
195
+ );
196
+
197
+ $response = $api->executeRequest($request);
198
+ $data = $response->getContent();
199
+ if ($data && $data['success']) {
200
+ self::log('Successfully sent report' . PHP_EOL);
201
+ } else {
202
+ self::log('Failed to send report' . PHP_EOL);
203
+ }
204
+ } catch (\Exception $e) {
205
+ self::log('Exception on sending report' . PHP_EOL);
206
+ }
207
+ }
208
+
209
+ /**
210
+ * @param $message
211
+ */
212
+ private static function log($message) {
213
+ $content = sprintf("%s : %s%s",static::class, $message, PHP_EOL);
214
+ fwrite(static::$handle, $content);
215
+ }
216
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Cursor.php ADDED
@@ -0,0 +1,536 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds;
26
+
27
+ use FacebookAds\Http\RequestInterface;
28
+ use FacebookAds\Http\ResponseInterface;
29
+ use FacebookAds\Http\Util;
30
+ use FacebookAds\Object\AbstractObject;
31
+
32
+ class Cursor implements \Iterator, \Countable, \arrayaccess {
33
+ /**
34
+ * @var ResponseInterface
35
+ */
36
+ protected $response;
37
+
38
+ /**
39
+ * @var Api
40
+ */
41
+ protected $api;
42
+
43
+ /**
44
+ * @var AbstractObject[]
45
+ */
46
+ protected $objects = array();
47
+
48
+ /**
49
+ * @var int|null
50
+ */
51
+ protected $indexLeft;
52
+
53
+ /**
54
+ * @var int|null
55
+ */
56
+ protected $indexRight;
57
+
58
+ /**
59
+ * @var int|null
60
+ */
61
+ protected $position;
62
+
63
+ /**
64
+ * @var AbstractObject
65
+ */
66
+ protected $objectPrototype;
67
+
68
+ /**
69
+ * @var bool
70
+ */
71
+ protected static $defaultUseImplicitFetch = false;
72
+
73
+ /**
74
+ * @var bool
75
+ */
76
+ protected $useImplicitFetch;
77
+
78
+ public function __construct(
79
+ ResponseInterface $response,
80
+ AbstractObject $object_prototype,
81
+ Api $api = null) {
82
+ $this->response = $response;
83
+ $this->objectPrototype = $object_prototype;
84
+ $this->api = $api !== null ? $api : Api::instance();
85
+ $this->appendResponse($response);
86
+ }
87
+
88
+ /**
89
+ * @param array $object_data
90
+ * @return AbstractObject
91
+ */
92
+ protected function createObject(array $object_data) {
93
+ $object = clone $this->objectPrototype;
94
+ $object->setDataWithoutValidation($object_data);
95
+ if ($object instanceof AbstractCrudObject) {
96
+ $object->setApi($this->api);
97
+ }
98
+ return $object;
99
+ }
100
+
101
+ /**
102
+ * @param ResponseInterface $response
103
+ * @return array
104
+ * @throws \InvalidArgumentException
105
+ */
106
+ protected function assureResponseData(ResponseInterface $response) {
107
+ $content = $response->getContent();
108
+
109
+ // First, check if the content contains data
110
+ if (isset($content['data']) && is_array($content['data'])) {
111
+ $data = $content['data'];
112
+
113
+ // If data is an object wrap the object into an array
114
+ if ($this->isJsonObject($data)) {
115
+ $data = array($data);
116
+ }
117
+ return $data;
118
+ }
119
+
120
+ // Second, check if the content contains special entries
121
+ if (isset($content['targetingsentencelines'])) {
122
+ return $content['targetingsentencelines'];
123
+ }
124
+ if (isset($content['adaccounts'])) {
125
+ return $content['adaccounts'];
126
+ }
127
+ if (isset($content['users'])) {
128
+ return $content['users'];
129
+ }
130
+
131
+ // Third, check if the content is an array of objects indexed by id
132
+ $is_id_indexed_array = true;
133
+ $objects = array();
134
+ if (is_array($content) && count($content) >= 1) {
135
+ foreach ($content as $key => $value) {
136
+ if ($key === '__fb_trace_id__') {
137
+ continue;
138
+ }
139
+
140
+ if ($value !== null &&
141
+ $this->isJsonObject($value) &&
142
+ isset($value['id']) &&
143
+ $value['id'] !== null &&
144
+ $value['id'] === $key) {
145
+ $objects[] = $value;
146
+ } else {
147
+ $is_id_indexed_array = false;
148
+ break;
149
+ }
150
+ }
151
+ } else {
152
+ $is_id_indexed_array = false;
153
+ }
154
+ if ($is_id_indexed_array) {
155
+ return $objects;
156
+ }
157
+
158
+ throw new \InvalidArgumentException("Malformed response data");
159
+ }
160
+
161
+ private function isJsonObject($object) {
162
+ if (!is_array($object)) {
163
+ return false;
164
+ }
165
+
166
+ // Consider an empty array as not object
167
+ if (empty($object)) {
168
+ return false;
169
+ }
170
+
171
+ // A json object is represented by a map instead of a pure list
172
+ return array_keys($object) !== range(0, count($object) - 1);
173
+ }
174
+
175
+ /**
176
+ * @param ResponseInterface $response
177
+ */
178
+ protected function prependResponse(ResponseInterface $response) {
179
+ $this->response = $response;
180
+ $data = $this->assureResponseData($response);
181
+ if (empty($data)) {
182
+ return;
183
+ }
184
+
185
+ $left_index = $this->indexLeft;
186
+ $count = count($data);
187
+ $position = $count - 1;
188
+ for ($i = $left_index - 1; $i >= $left_index - $count; $i--) {
189
+ $this->objects[$i] = $this->createObject($data[$position--]);
190
+ --$this->indexLeft;
191
+ }
192
+ }
193
+
194
+ /**
195
+ * @param ResponseInterface $response
196
+ */
197
+ protected function appendResponse(ResponseInterface $response) {
198
+ $this->response = $response;
199
+ $data = $this->assureResponseData($response);
200
+ if (empty($data)) {
201
+ return;
202
+ }
203
+
204
+ if ($this->indexRight === null) {
205
+ $this->indexLeft = 0;
206
+ $this->indexRight = -1;
207
+ $this->position = 0;
208
+ }
209
+
210
+ $this->indexRight += count($data);
211
+
212
+ foreach ($data as $object_data) {
213
+ $this->objects[] = $this->createObject($object_data);
214
+ }
215
+ }
216
+
217
+ /**
218
+ * @return bool
219
+ */
220
+ public static function getDefaultUseImplicitFetch() {
221
+ return static::$defaultUseImplicitFetch;
222
+ }
223
+
224
+ /**
225
+ * @param bool $use_implicit_fetch
226
+ */
227
+ public static function setDefaultUseImplicitFetch($use_implicit_fetch) {
228
+ static::$defaultUseImplicitFetch = $use_implicit_fetch;
229
+ }
230
+
231
+ /**
232
+ * @return bool
233
+ */
234
+ public function getUseImplicitFetch() {
235
+ return $this->useImplicitFetch !== null
236
+ ? $this->useImplicitFetch
237
+ : static::$defaultUseImplicitFetch;
238
+ }
239
+
240
+ /**
241
+ * @param bool $use_implicit_fetch
242
+ */
243
+ public function setUseImplicitFetch($use_implicit_fetch) {
244
+ $this->useImplicitFetch = $use_implicit_fetch;
245
+ }
246
+
247
+ /**
248
+ * @return string|null
249
+ */
250
+ public function getBefore() {
251
+ $content = $this->getLastResponse()->getContent();
252
+ return isset($content['paging']['cursors']['before'])
253
+ ? $content['paging']['cursors']['before']
254
+ : null;
255
+ }
256
+
257
+ /**
258
+ * @return string|null
259
+ */
260
+ public function getAfter() {
261
+ $content = $this->getLastResponse()->getContent();
262
+ return isset($content['paging']['cursors']['after'])
263
+ ? $content['paging']['cursors']['after']
264
+ : null;
265
+ }
266
+
267
+ /**
268
+ * @return RequestInterface
269
+ */
270
+ protected function createUndirectionalizedRequest() {
271
+ $request = $this->getLastResponse()->getRequest()->createClone();
272
+ $params = $request->getQueryParams();
273
+ if (isset($params['before'])) {
274
+ unset($params['before']);
275
+ }
276
+ if (isset($params['after'])) {
277
+ unset($params['after']);
278
+ }
279
+
280
+ return $request;
281
+ }
282
+
283
+ /**
284
+ * @return string|null
285
+ */
286
+ public function getPrevious() {
287
+ $content = $this->getLastResponse()->getContent();
288
+ if (isset($content['paging']['previous'])) {
289
+ return $content['paging']['previous'];
290
+ }
291
+
292
+ $before = $this->getBefore();
293
+ if ($before !== null) {
294
+ $request = $this->createUndirectionalizedRequest();
295
+ $request->getQueryParams()->offsetSet('before', $before);
296
+ return $request->getUrl();
297
+ }
298
+
299
+ return null;
300
+ }
301
+
302
+ /**
303
+ * @return string|null
304
+ */
305
+ public function getNext() {
306
+ $content = $this->getLastResponse()->getContent();
307
+ if (isset($content['paging']['next'])) {
308
+ return $content['paging']['next'];
309
+ }
310
+
311
+ $after = $this->getAfter();
312
+ if ($after !== null) {
313
+ $request = $this->createUndirectionalizedRequest();
314
+ $request->getQueryParams()->offsetSet('after', $after);
315
+ return $request->getUrl();
316
+ }
317
+
318
+ return null;
319
+ }
320
+
321
+ /**
322
+ * @param string $url
323
+ * @return RequestInterface
324
+ */
325
+ protected function createRequestFromUrl($url) {
326
+ $components = parse_url($url);
327
+ $request = $this->getLastResponse()->getRequest()->createClone();
328
+ $request->setDomain($components['host']);
329
+ $query = isset($components['query'])
330
+ ? Util::parseUrlQuery($components['query'])
331
+ : array();
332
+ $request->getQueryParams()->enhance($query);
333
+
334
+ return $request;
335
+ }
336
+
337
+ /**
338
+ * @return RequestInterface|null
339
+ */
340
+ public function createBeforeRequest() {
341
+ $url = $this->getPrevious();
342
+ return $url !== null ? $this->createRequestFromUrl($url) : null;
343
+ }
344
+
345
+ /**
346
+ * @return RequestInterface|null
347
+ */
348
+ public function createAfterRequest() {
349
+ $url = $this->getNext();
350
+ return $url !== null ? $this->createRequestFromUrl($url) : null;
351
+ }
352
+
353
+ public function fetchBefore() {
354
+ $request = $this->createBeforeRequest();
355
+ if (!$request) {
356
+ return;
357
+ }
358
+
359
+ $this->prependResponse($request->execute());
360
+ }
361
+
362
+ public function fetchAfter() {
363
+ $request = $this->createAfterRequest();
364
+ if (!$request) {
365
+ return;
366
+ }
367
+
368
+ $this->appendResponse($request->execute());
369
+ }
370
+
371
+ /**
372
+ * @deprecated Use getArrayCopy()
373
+ * @return AbstractObject[]
374
+ */
375
+ public function getObjects() {
376
+ return $this->objects;
377
+ }
378
+
379
+ /**
380
+ * @param bool $ksort
381
+ * @return AbstractObject[]
382
+ */
383
+ public function getArrayCopy($ksort = false) {
384
+ if ($ksort) {
385
+ // Sort the main array to improve best case performance in future
386
+ // invocations
387
+ ksort($this->objects);
388
+ }
389
+
390
+ return $this->objects;
391
+ }
392
+
393
+ /**
394
+ * @deprecated Use getLastResponse()
395
+ * @return ResponseInterface
396
+ */
397
+ public function getResponse() {
398
+ return $this->response;
399
+ }
400
+
401
+ /**
402
+ * @return ResponseInterface
403
+ */
404
+ public function getLastResponse() {
405
+ return $this->response;
406
+ }
407
+
408
+ /**
409
+ * @return int
410
+ */
411
+ public function getIndexLeft() {
412
+ return $this->indexLeft;
413
+ }
414
+
415
+ /**
416
+ * @return int
417
+ */
418
+ public function getIndexRight() {
419
+ return $this->indexRight;
420
+ }
421
+
422
+ public function rewind() {
423
+ $this->position = $this->indexLeft;
424
+ }
425
+
426
+ public function end() {
427
+ $this->position = $this->indexRight;
428
+ }
429
+
430
+ /**
431
+ * @param int $position
432
+ */
433
+ public function seekTo($position) {
434
+ $position = array_key_exists($position, $this->objects) ? $position : null;
435
+ $this->position = $position;
436
+ }
437
+
438
+ /**
439
+ * @return AbstractObject|bool
440
+ */
441
+ public function current() {
442
+ return isset($this->objects[$this->position])
443
+ ? $this->objects[$this->position]
444
+ : false;
445
+ }
446
+
447
+ /**
448
+ * @return int
449
+ */
450
+ public function key() {
451
+ return $this->position;
452
+ }
453
+
454
+ public function prev() {
455
+ if ($this->position == $this->getIndexLeft()) {
456
+ if ($this->getUseImplicitFetch()) {
457
+ $this->fetchBefore();
458
+ if ($this->position == $this->getIndexLeft()) {
459
+ $this->position = null;
460
+ } else {
461
+ --$this->position;
462
+ }
463
+ } else {
464
+ $this->position = null;
465
+ }
466
+ } else {
467
+ --$this->position;
468
+ }
469
+ }
470
+
471
+ public function next() {
472
+ if ($this->position == $this->getIndexRight()) {
473
+ if ($this->getUseImplicitFetch()) {
474
+ $this->fetchAfter();
475
+ if ($this->position == $this->getIndexRight()) {
476
+ $this->position = null;
477
+ } else {
478
+ ++$this->position;
479
+ }
480
+ } else {
481
+ $this->position = null;
482
+ }
483
+ } else {
484
+ ++$this->position;
485
+ }
486
+ }
487
+
488
+ /**
489
+ * @return bool
490
+ */
491
+ public function valid() {
492
+ return isset($this->objects[$this->position]);
493
+ }
494
+
495
+ /**
496
+ * @return int
497
+ */
498
+ public function count() {
499
+ return count($this->objects);
500
+ }
501
+
502
+ /**
503
+ * @param mixed $offset
504
+ * @param mixed $value
505
+ */
506
+ public function offsetSet($offset, $value) {
507
+ if ($offset === null) {
508
+ $this->objects[] = $value;
509
+ } else {
510
+ $this->objects[$offset] = $value;
511
+ }
512
+ }
513
+
514
+ /**
515
+ * @param mixed $offset
516
+ * @return bool
517
+ */
518
+ public function offsetExists($offset) {
519
+ return isset($this->objects[$offset]);
520
+ }
521
+
522
+ /**
523
+ * @param mixed $offset
524
+ */
525
+ public function offsetUnset($offset) {
526
+ unset($this->objects[$offset]);
527
+ }
528
+
529
+ /**
530
+ * @param mixed $offset
531
+ * @return mixed
532
+ */
533
+ public function offsetGet($offset) {
534
+ return isset($this->objects[$offset]) ? $this->objects[$offset] : null;
535
+ }
536
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Enum/AbstractEnum.php ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Enum;
26
+
27
+ abstract class AbstractEnum implements EnumInstanceInterface {
28
+
29
+ /**
30
+ * @var array|null
31
+ */
32
+ protected $map = null;
33
+
34
+ /**
35
+ * @var array|null
36
+ */
37
+ protected $names = null;
38
+
39
+ /**
40
+ * @var array|null
41
+ */
42
+ protected $values = null;
43
+
44
+ /**
45
+ * @var array|null
46
+ */
47
+ protected $valuesMap = null;
48
+
49
+ /**
50
+ * @var AbstractEnum[]
51
+ */
52
+ protected static $instances = array();
53
+
54
+ /**
55
+ * @return string
56
+ */
57
+ static function className() {
58
+ return get_called_class();
59
+ }
60
+
61
+ /**
62
+ * @return AbstractEnum
63
+ */
64
+ public static function getInstance() {
65
+ $fqn = get_called_class();
66
+ if (!array_key_exists($fqn, static::$instances)) {
67
+ static::$instances[$fqn] = new static();
68
+ }
69
+
70
+ return static::$instances[$fqn];
71
+ }
72
+
73
+ /**
74
+ * @return array
75
+ */
76
+ public function getArrayCopy() {
77
+ if ($this->map === null) {
78
+ $this->map = (new \ReflectionClass(get_called_class()))
79
+ ->getConstants();
80
+ }
81
+
82
+ return $this->map;
83
+ }
84
+
85
+ /**
86
+ * @return array
87
+ */
88
+ public function getNames() {
89
+ if ($this->names === null) {
90
+ $this->names = array_keys($this->getArrayCopy());
91
+ }
92
+
93
+ return $this->names;
94
+ }
95
+
96
+ /**
97
+ * @return array
98
+ */
99
+ public function getValues() {
100
+ if ($this->values === null) {
101
+ $this->values = array_values($this->getArrayCopy());
102
+ }
103
+
104
+ return $this->values;
105
+ }
106
+
107
+ /**
108
+ * @return array
109
+ */
110
+ public function getValuesMap() {
111
+ if ($this->valuesMap === null) {
112
+ $this->valuesMap = array_fill_keys($this->getValues(), null);
113
+ }
114
+
115
+ return $this->valuesMap;
116
+ }
117
+
118
+ /**
119
+ * @param string|int|float $name
120
+ * @return mixed
121
+ */
122
+ public function getValueForName($name) {
123
+ $copy = $this->getArrayCopy();
124
+ return array_key_exists($name, $copy)
125
+ ? $copy[$name]
126
+ : null;
127
+ }
128
+
129
+ /**
130
+ * @param string|int|float $name
131
+ * @return mixed
132
+ * @throws \InvalidArgumentException
133
+ */
134
+ public function assureValueForName($name) {
135
+ $value = $this->getValueForName($name);
136
+ if ($value === null) {
137
+ throw new \InvalidArgumentException(
138
+ 'Unknown name "'.$name.'" in '.static::className());
139
+ }
140
+
141
+ return $value;
142
+ }
143
+
144
+ /**
145
+ * @param string|int|float $name
146
+ * @return bool
147
+ */
148
+ public function isValid($name) {
149
+ return array_key_exists($name, $this->getArrayCopy());
150
+ }
151
+
152
+ /**
153
+ * @param string|int|float $name
154
+ * @throws \InvalidArgumentException
155
+ */
156
+ public function assureIsValid($name) {
157
+ if (!array_key_exists($name, $this->getArrayCopy())) {
158
+ throw new \InvalidArgumentException(
159
+ 'Unknown name "'.$name.'" in '.static::className());
160
+ }
161
+ }
162
+
163
+ /**
164
+ * @param string|int|float $value
165
+ * @return bool
166
+ */
167
+ public function isValidValue($value) {
168
+ return array_key_exists($value, $this->getValuesMap());
169
+ }
170
+
171
+ /**
172
+ * @param mixed $value
173
+ * @throws \InvalidArgumentException
174
+ */
175
+ public function assureIsValidValue($value) {
176
+ if (!$this->isValidValue($value)) {
177
+ throw new \InvalidArgumentException(
178
+ '"'.$value.'", not a valid value in '.static::className());
179
+ }
180
+ }
181
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Enum/EmptyEnum.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Enum;
26
+
27
+ class EmptyEnum extends AbstractEnum {
28
+
29
+ /**
30
+ * @return array
31
+ */
32
+ public function getArrayCopy() {
33
+ return array();
34
+ }
35
+
36
+ /**
37
+ * @return array
38
+ */
39
+ public function getNames() {
40
+ return array();
41
+ }
42
+
43
+ /**
44
+ * @return array
45
+ */
46
+ public function getValues() {
47
+ return array();
48
+ }
49
+
50
+ /**
51
+ * @return array
52
+ */
53
+ public function getValuesMap() {
54
+ return array();
55
+ }
56
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Enum/EnumInstanceInterface.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Enum;
26
+
27
+ interface EnumInstanceInterface {
28
+
29
+ /**
30
+ * @return EnumInstanceInterface
31
+ */
32
+ public static function getInstance();
33
+
34
+ /**
35
+ * @return array
36
+ */
37
+ public function getArrayCopy();
38
+
39
+ /**
40
+ * @return array
41
+ */
42
+ public function getNames();
43
+
44
+ /**
45
+ * @return array
46
+ */
47
+ public function getValues();
48
+
49
+ /**
50
+ * @return array
51
+ */
52
+ public function getValuesMap();
53
+
54
+ /**
55
+ * @param string|int|float $name
56
+ * @return mixed
57
+ */
58
+ public function getValueForName($name);
59
+
60
+ /**
61
+ * @param string|int|float $name
62
+ * @return mixed
63
+ * @throws \InvalidArgumentException
64
+ */
65
+ public function assureValueForName($name);
66
+
67
+ /**
68
+ * @param string|int|float $name
69
+ * @return bool
70
+ */
71
+ public function isValid($name);
72
+
73
+ /**
74
+ * @param string|int|float $name
75
+ * @return void
76
+ * @throws \InvalidArgumentException
77
+ */
78
+ public function assureIsValid($name);
79
+
80
+ /**
81
+ * @param mixed $value
82
+ * @return bool
83
+ */
84
+ public function isValidValue($value);
85
+
86
+ /**
87
+ * @param mixed $value
88
+ * @throws \InvalidArgumentException
89
+ */
90
+ public function assureIsValidValue($value);
91
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Exception/Exception.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Exception;
26
+
27
+ class Exception extends \Exception {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/AbstractAdapter.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter;
26
+
27
+ use FacebookAds\Http\Client;
28
+
29
+ abstract class AbstractAdapter implements AdapterInterface {
30
+
31
+ /**
32
+ * @var Client
33
+ */
34
+ protected $client;
35
+
36
+ /**
37
+ * @param Client $client
38
+ */
39
+ public function __construct(Client $client) {
40
+ $this->client = $client;
41
+ }
42
+
43
+ /**
44
+ * @return Client
45
+ */
46
+ public function getClient() {
47
+ return $this->client;
48
+ }
49
+
50
+ /**
51
+ * @return string
52
+ */
53
+ public function getCaBundlePath() {
54
+ return $this->getClient()->getCaBundlePath();
55
+ }
56
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/AdapterInterface.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter;
26
+
27
+ use FacebookAds\Http\Client;
28
+ use FacebookAds\Http\RequestInterface;
29
+ use FacebookAds\Http\ResponseInterface;
30
+
31
+ interface AdapterInterface {
32
+
33
+ /**
34
+ * @param Client $client
35
+ */
36
+ public function __construct(Client $client);
37
+
38
+ /**
39
+ * @return Client
40
+ */
41
+ public function getClient();
42
+
43
+ /**
44
+ * @return string
45
+ */
46
+ public function getCaBundlePath();
47
+
48
+ /**
49
+ * @return \ArrayObject
50
+ */
51
+ public function getOpts();
52
+
53
+ /**
54
+ * @param \ArrayObject $opts
55
+ * @return void
56
+ */
57
+ public function setOpts(\ArrayObject $opts);
58
+
59
+ /**
60
+ * @param RequestInterface $request
61
+ * @return ResponseInterface
62
+ */
63
+ public function sendRequest(RequestInterface $request);
64
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/AbstractCurl.php ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter\Curl;
26
+
27
+ abstract class AbstractCurl implements CurlInterface {
28
+
29
+ /**
30
+ * @var resource
31
+ */
32
+ protected $handle;
33
+
34
+ /**
35
+ * @throws \RuntimeException
36
+ */
37
+ public function __construct() {
38
+ if (!extension_loaded('curl')) {
39
+ throw new \RuntimeException("Extension curl not loaded");
40
+ }
41
+ }
42
+
43
+ public function __clone() {
44
+ $this->handle = curl_copy_handle($this->handle);
45
+ }
46
+
47
+ public function __destruct() {
48
+ if (is_resource($this->handle)) {
49
+ curl_close($this->handle);
50
+ }
51
+ }
52
+
53
+ /**
54
+ * @return CurlInterface
55
+ */
56
+ public static function createOptimalVersion() {
57
+ if (version_compare(PHP_VERSION, '5.5.0') >= 0) {
58
+ return new Curl55();
59
+ } else {
60
+ return new Curl();
61
+ }
62
+ }
63
+
64
+ /**
65
+ * @return resource
66
+ */
67
+ public function getHandle() {
68
+ return $this->handle;
69
+ }
70
+
71
+ /**
72
+ * @return int
73
+ */
74
+ public function errno() {
75
+ return curl_errno($this->handle);
76
+ }
77
+
78
+ /**
79
+ * @return string
80
+ */
81
+ public function error() {
82
+ return curl_error($this->handle);
83
+ }
84
+
85
+ /**
86
+ * @return mixed
87
+ */
88
+ public function exec() {
89
+ return curl_exec($this->handle);
90
+ }
91
+
92
+ /**
93
+ * @param int $opt
94
+ * @return mixed
95
+ */
96
+ public function getInfo($opt = 0) {
97
+ return curl_getinfo($this->handle, $opt);
98
+ }
99
+
100
+ /**
101
+ * @return void
102
+ */
103
+ public function init() {
104
+ $this->handle = $this->handle ?: curl_init();
105
+ }
106
+
107
+ /**
108
+ * @param array $opts
109
+ */
110
+ public function setoptArray(array $opts) {
111
+ curl_setopt_array($this->handle, $opts);
112
+ }
113
+
114
+ /**
115
+ * @param int $option
116
+ * @param mixed $value
117
+ * @return bool
118
+ */
119
+ public function setopt($option, $value) {
120
+ return curl_setopt($this->handle, $option, $value);
121
+ }
122
+
123
+ /**
124
+ * @param int $age
125
+ * @return array
126
+ */
127
+ public static function version($age) {
128
+ return curl_version($age);
129
+ }
130
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/Curl.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter\Curl;
26
+
27
+ use FacebookAds\Http\FileParameter;
28
+
29
+ class Curl extends AbstractCurl {
30
+
31
+ /**
32
+ * @throws \RuntimeException
33
+ */
34
+ public function __construct() {
35
+ parent::__construct();
36
+ if (version_compare(PHP_VERSION, '5.5.0') >= 0) {
37
+ throw new \RuntimeException("Unsupported Curl version");
38
+ }
39
+ }
40
+
41
+ /**
42
+ * @param string $string
43
+ * @return string
44
+ */
45
+ public function escape($string) {
46
+ return rawurlencode($string);
47
+ }
48
+
49
+ /**
50
+ * @param int $bitmask
51
+ * @return int
52
+ */
53
+ public function pause($bitmask) {
54
+ return 0;
55
+ }
56
+
57
+ /**
58
+ * FIXME should introduce v2.10 breaking change:
59
+ * implement abstract support for FileParameter in AdapterInterface
60
+ *
61
+ * @param string|FileParameter $filepath
62
+ * @return string
63
+ */
64
+ public function preparePostFileField($filepath) {
65
+ $mime_type = $name = '';
66
+ if ($filepath instanceof FileParameter) {
67
+ $mime_type = $filepath->getMimeType() !== null
68
+ ? sprintf(';type=%s', $filepath->getMimeType())
69
+ : '';
70
+ $name = $filepath->getName() !== null
71
+ ? sprintf(';filename=%s', $filepath->getName())
72
+ : '';
73
+ $filepath = $filepath->getPath();
74
+ }
75
+ return sprintf('@%s%s%s', $filepath, $mime_type, $name);
76
+ }
77
+
78
+ /**
79
+ * @return void
80
+ */
81
+ public function reset() {
82
+ $this->handle && curl_close($this->handle);
83
+ $this->handle = curl_init();
84
+ }
85
+
86
+ /**
87
+ * @param int $errornum
88
+ * @return NULL|string
89
+ */
90
+ public static function strerror($errornum) {
91
+ return curl_strerror($errornum);
92
+ }
93
+
94
+ /**
95
+ * @param string $string
96
+ * @return bool|string
97
+ */
98
+ public function unescape($string) {
99
+ return curl_unescape($this->handle, $string);
100
+ }
101
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/Curl55.php ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter\Curl;
26
+
27
+ use FacebookAds\Http\FileParameter;
28
+
29
+ class Curl55 extends AbstractCurl {
30
+
31
+ /**
32
+ * @throws \RuntimeException
33
+ */
34
+ public function __construct() {
35
+ parent::__construct();
36
+ if (version_compare(PHP_VERSION, '5.5.0') < 0) {
37
+ throw new \RuntimeException("Unsupported Curl version");
38
+ }
39
+ }
40
+
41
+ /**
42
+ * @param string $string
43
+ * @return bool|string
44
+ */
45
+ public function escape($string) {
46
+ return curl_escape($this->handle, $string);
47
+ }
48
+
49
+ /**
50
+ * @param int $bitmask
51
+ * @return int
52
+ */
53
+ public function pause($bitmask) {
54
+ return curl_pause($this->handle, $bitmask);
55
+ }
56
+
57
+ /**
58
+ * FIXME should introduce v2.10 breaking change:
59
+ * implement abstract support for FileParameter in AdapterInterface
60
+ *
61
+ * @param string|FileParameter $filepath
62
+ * @return \CURLFile
63
+ */
64
+ public function preparePostFileField($filepath) {
65
+ $mime_type = $name = ''; // can't be null in HHVM
66
+ if ($filepath instanceof FileParameter) {
67
+ $mime_type = $filepath->getMimeType() ?: '';
68
+ $name = $filepath->getName() ?: '';
69
+ $filepath = $filepath->getPath();
70
+ }
71
+ return new \CURLFile($filepath, $mime_type, $name);
72
+ }
73
+
74
+ /**
75
+ * @return void
76
+ */
77
+ public function reset() {
78
+ $this->handle && curl_reset($this->handle);
79
+ }
80
+
81
+ /**
82
+ * @param int $errornum
83
+ * @return NULL|string
84
+ */
85
+ public static function strerror($errornum) {
86
+ return curl_strerror($errornum);
87
+ }
88
+
89
+ /**
90
+ * @param string $string
91
+ * @return bool|string
92
+ */
93
+ public function unescape($string) {
94
+ return curl_unescape($this->handle, $string);
95
+ }
96
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/Curl/CurlInterface.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter\Curl;
26
+
27
+ interface CurlInterface {
28
+
29
+ /**
30
+ * @return resource
31
+ */
32
+ public function getHandle();
33
+
34
+ /**
35
+ * @return int
36
+ */
37
+ public function errno();
38
+
39
+ /**
40
+ * @return string
41
+ */
42
+ public function error();
43
+
44
+ /**
45
+ * @param string $string
46
+ * @return bool|string
47
+ */
48
+ public function escape($string);
49
+
50
+ /**
51
+ * @return mixed
52
+ */
53
+ public function exec();
54
+
55
+ /**
56
+ * @param int $opt
57
+ * @return mixed
58
+ */
59
+ public function getInfo($opt = 0);
60
+
61
+ /**
62
+ * @return void
63
+ */
64
+ public function init();
65
+
66
+ /**
67
+ * @param int $bitmask
68
+ * @return int
69
+ */
70
+ public function pause($bitmask);
71
+
72
+ /**
73
+ * @param $filepath
74
+ * @return string|\CurlFile
75
+ */
76
+ public function preparePostFileField($filepath);
77
+
78
+ /**
79
+ * @return void
80
+ */
81
+ public function reset();
82
+
83
+ /**
84
+ * @param array $opts
85
+ */
86
+ public function setoptArray(array $opts);
87
+
88
+ /**
89
+ * @param int $option
90
+ * @param mixed $value
91
+ * @return bool
92
+ */
93
+ public function setopt($option, $value);
94
+
95
+ /**
96
+ * @param $string
97
+ * @return string
98
+ */
99
+ public function unescape($string);
100
+
101
+ /**
102
+ * @param int $age
103
+ * @return array
104
+ */
105
+ public static function version($age);
106
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Adapter/CurlAdapter.php ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Adapter;
26
+
27
+ use FacebookAds\Exception\Exception;
28
+ use FacebookAds\Http\Adapter\Curl\AbstractCurl;
29
+ use FacebookAds\Http\Adapter\Curl\Curl;
30
+ use FacebookAds\Http\Adapter\Curl\CurlInterface;
31
+ use FacebookAds\Http\Client;
32
+ use FacebookAds\Http\Headers;
33
+ use FacebookAds\Http\RequestInterface;
34
+ use FacebookAds\Http\ResponseInterface;
35
+
36
+ class CurlAdapter extends AbstractAdapter {
37
+
38
+ /**
39
+ * @var CurlInterface
40
+ */
41
+ protected $curl;
42
+
43
+ /**
44
+ * @var \ArrayObject
45
+ */
46
+ protected $opts;
47
+
48
+ /**
49
+ * @param Client $client
50
+ * @param CurlInterface $curl
51
+ */
52
+ public function __construct(Client $client, CurlInterface $curl = null) {
53
+ parent::__construct($client);
54
+ $this->curl = $curl ?: AbstractCurl::createOptimalVersion();
55
+ $this->curl->init();
56
+ }
57
+
58
+ /**
59
+ * @return Curl
60
+ */
61
+ public function getCurl() {
62
+ return $this->curl;
63
+ }
64
+
65
+ /**
66
+ * @return \ArrayObject
67
+ */
68
+ public function getOpts() {
69
+ if ($this->opts === null) {
70
+ $this->opts = new \ArrayObject(array(
71
+ CURLOPT_CONNECTTIMEOUT => 10,
72
+ CURLOPT_TIMEOUT => 60,
73
+ CURLOPT_RETURNTRANSFER => true,
74
+ CURLOPT_HEADER => true,
75
+ CURLOPT_CAINFO => $this->getCaBundlePath(),
76
+ ));
77
+ }
78
+
79
+ return $this->opts;
80
+ }
81
+
82
+ /**
83
+ * @param \ArrayObject $opts
84
+ */
85
+ public function setOpts(\ArrayObject $opts) {
86
+ $this->opts = $opts;
87
+ }
88
+
89
+ /**
90
+ * @return int
91
+ */
92
+ protected function getheaderSize() {
93
+ return $this->getCurl()->getInfo(CURLINFO_HEADER_SIZE);
94
+ }
95
+
96
+ /**
97
+ * Extracts the headers and the body into a two-part array
98
+ * @param string $raw_response
99
+ * @return array
100
+ */
101
+ protected function extractResponseHeadersAndBody($raw_response) {
102
+ $header_size = $this->getheaderSize();
103
+
104
+ $raw_headers = mb_substr($raw_response, 0, $header_size);
105
+ $raw_body = mb_substr($raw_response, $header_size);
106
+
107
+ return array(trim($raw_headers), trim($raw_body));
108
+ }
109
+
110
+ /**
111
+ * @param Headers $headers
112
+ * @param string $raw_headers
113
+ */
114
+ protected function parseHeaders(Headers $headers, $raw_headers) {
115
+ $raw_headers = str_replace("\r\n", "\n", $raw_headers);
116
+
117
+ // There will be multiple headers if a 301 was followed
118
+ // or a proxy was followed, etc
119
+ $header_collection = explode("\n\n", trim($raw_headers));
120
+ // We just want the last response (at the end)
121
+ $raw_headers = array_pop($header_collection);
122
+
123
+ $header_components = explode("\n", $raw_headers);
124
+ foreach ($header_components as $line) {
125
+ if (strpos($line, ': ') === false) {
126
+ $headers['http_code'] = $line;
127
+ } else {
128
+ list ($key, $value) = explode(': ', $line, 2);
129
+ $headers[$key] = $value;
130
+ }
131
+ }
132
+ }
133
+
134
+ /**
135
+ * @param RequestInterface $request
136
+ * @return ResponseInterface
137
+ * @throws Exception
138
+ */
139
+ public function sendRequest(RequestInterface $request) {
140
+ $response = $this->getClient()->createResponse();
141
+ $this->getCurl()->reset();
142
+ $curlopts = array(
143
+ CURLOPT_URL => $request->getUrl(),
144
+ );
145
+
146
+ $method = $request->getMethod();
147
+ if ($method !== RequestInterface::METHOD_GET
148
+ && $method !== RequestInterface::METHOD_POST) {
149
+ $curlopts[CURLOPT_CUSTOMREQUEST] = $method;
150
+ }
151
+
152
+ $curlopts = $this->getOpts()->getArrayCopy() + $curlopts;
153
+
154
+ if ($request->getHeaders()->count()) {
155
+ $headers = array();
156
+ foreach ($request->getHeaders() as $header => $value) {
157
+ $headers[] = "{$header}: {$value}";
158
+ }
159
+ $curlopts[CURLOPT_HTTPHEADER] = $headers;
160
+ }
161
+
162
+ $postfields = array();
163
+ if ($method === RequestInterface::METHOD_POST
164
+ && $request->getFileParams()->count()
165
+ ) {
166
+ $postfields = array_merge(
167
+ $postfields,
168
+ array_map(
169
+ array($this->getCurl(), 'preparePostFileField'),
170
+ $request->getFileParams()->getArrayCopy()));
171
+ }
172
+ if ($method !== RequestInterface::METHOD_GET
173
+ && $request->getBodyParams()->count()) {
174
+ $postfields
175
+ = array_merge($postfields, $request->getBodyParams()->export());
176
+ }
177
+
178
+ if (!empty($postfields)) {
179
+ $curlopts[CURLOPT_POSTFIELDS] = $postfields;
180
+ }
181
+
182
+ $this->getCurl()->setoptArray($curlopts);
183
+ $raw_response = $this->getCurl()->exec();
184
+
185
+ $status_code = $this->getCurl()->getInfo(CURLINFO_HTTP_CODE);
186
+ $curl_errno = $this->getCurl()->errno();
187
+ $curl_error = $curl_errno ? $this->getCurl()->error() : null;
188
+
189
+ $response_parts = $this->extractResponseHeadersAndBody($raw_response);
190
+
191
+ $response->setStatusCode($status_code);
192
+ $this->parseHeaders($response->getHeaders(), $response_parts[0]);
193
+ $response->setBody($response_parts[1]);
194
+
195
+ if ($curl_errno) {
196
+ throw new Exception($curl_error, $curl_errno);
197
+ }
198
+
199
+ return $response;
200
+ }
201
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Client.php ADDED
@@ -0,0 +1,220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ use FacebookAds\Api;
28
+ use FacebookAds\Http\Adapter\AdapterInterface;
29
+ use FacebookAds\Http\Adapter\CurlAdapter;
30
+ use FacebookAds\Http\Exception\EmptyResponseException;
31
+ use FacebookAds\Http\Exception\RequestException;
32
+
33
+ class Client {
34
+
35
+ /**
36
+ * @var string
37
+ */
38
+ const DEFAULT_GRAPH_BASE_DOMAIN = 'facebook.com';
39
+
40
+ /**
41
+ * @var string
42
+ */
43
+ const DEFAULT_LAST_LEVEL_DOMAIN = 'graph';
44
+
45
+ /**
46
+ * @var RequestInterface
47
+ */
48
+ protected $requestPrototype;
49
+
50
+ /**
51
+ * @var ResponseInterface
52
+ */
53
+ protected $responsePrototype;
54
+
55
+ /**
56
+ * @var Headers
57
+ */
58
+ protected $defaultRequestHeaders;
59
+
60
+ /**
61
+ * @var AdapterInterface
62
+ */
63
+ protected $adapter;
64
+
65
+ /**
66
+ * @var string
67
+ */
68
+ protected $caBundlePath;
69
+
70
+ /**
71
+ * @var string
72
+ */
73
+ protected $defaultGraphBaseDomain = self::DEFAULT_GRAPH_BASE_DOMAIN;
74
+
75
+ /**
76
+ * @return RequestInterface
77
+ */
78
+ public function getRequestPrototype() {
79
+ if ($this->requestPrototype === null) {
80
+ $this->requestPrototype = new Request($this);
81
+ }
82
+
83
+ return $this->requestPrototype;
84
+ }
85
+
86
+ /**
87
+ * @param RequestInterface $prototype
88
+ */
89
+ public function setRequestPrototype(RequestInterface $prototype) {
90
+ $this->requestPrototype = $prototype;
91
+ }
92
+
93
+ /**
94
+ * @return RequestInterface
95
+ */
96
+ public function createRequest() {
97
+ return $this->getRequestPrototype()->createClone();
98
+ }
99
+
100
+ /**
101
+ * @return ResponseInterface
102
+ */
103
+ public function getResponsePrototype() {
104
+ if ($this->responsePrototype === null) {
105
+ $this->responsePrototype = new Response();
106
+ }
107
+
108
+ return $this->responsePrototype;
109
+ }
110
+
111
+ /**
112
+ * @param ResponseInterface $prototype
113
+ */
114
+ public function setResponsePrototype(ResponseInterface $prototype) {
115
+ $this->responsePrototype = $prototype;
116
+ }
117
+
118
+ /**
119
+ * @return ResponseInterface
120
+ */
121
+ public function createResponse() {
122
+ return clone $this->getResponsePrototype();
123
+ }
124
+
125
+ /**
126
+ * @return Headers
127
+ */
128
+ public function getDefaultRequestHeaderds() {
129
+ if ($this->defaultRequestHeaders === null) {
130
+ $this->defaultRequestHeaders = new Headers(array(
131
+ 'User-Agent' => 'fbbizsdk-php-v'.Api::VERSION,
132
+ 'Accept-Encoding' => '*',
133
+ ));
134
+ }
135
+
136
+ return $this->defaultRequestHeaders;
137
+ }
138
+
139
+ /**
140
+ * @param Headers $headers
141
+ */
142
+ public function setDefaultRequestHeaders(Headers $headers) {
143
+ $this->defaultRequestHeaders = $headers;
144
+ }
145
+
146
+ /**
147
+ * @return string
148
+ */
149
+ public function getDefaultGraphBaseDomain() {
150
+ return $this->defaultGraphBaseDomain;
151
+ }
152
+
153
+ /**
154
+ * @param string $domain
155
+ */
156
+ public function setDefaultGraphBaseDomain($domain) {
157
+ $this->defaultGraphBaseDomain = $domain;
158
+ }
159
+
160
+ /**
161
+ * @return AdapterInterface
162
+ */
163
+ public function getAdapter() {
164
+ if ($this->adapter === null) {
165
+ $this->adapter = new CurlAdapter($this);
166
+ }
167
+
168
+ return $this->adapter;
169
+ }
170
+
171
+ /**
172
+ * @param AdapterInterface $adapter
173
+ */
174
+ public function setAdapter(AdapterInterface $adapter) {
175
+ $this->adapter = $adapter;
176
+ }
177
+
178
+ /**
179
+ * @return string
180
+ */
181
+ public function getCaBundlePath() {
182
+ if ($this->caBundlePath === null) {
183
+ $this->caBundlePath = __DIR__.DIRECTORY_SEPARATOR
184
+ .str_repeat('..'.DIRECTORY_SEPARATOR, 3)
185
+ .'fb_ca_chain_bundle.crt';
186
+ }
187
+
188
+ return $this->caBundlePath;
189
+ }
190
+
191
+ /**
192
+ * @param string $path
193
+ */
194
+ public function setCaBundlePath($path) {
195
+ $this->caBundlePath = $path;
196
+ }
197
+
198
+ /**
199
+ * @param RequestInterface $request
200
+ * @return ResponseInterface
201
+ * @throws RequestException
202
+ */
203
+ public function sendRequest(RequestInterface $request) {
204
+ $response = $this->getAdapter()->sendRequest($request);
205
+ $response->setRequest($request);
206
+ $response_content = $response->getContent();
207
+
208
+ if ($response_content === null) {
209
+ throw new EmptyResponseException($response);
210
+ }
211
+
212
+ if (is_array($response_content)
213
+ && array_key_exists('error', $response_content)) {
214
+
215
+ throw RequestException::create($response);
216
+ }
217
+
218
+ return $response;
219
+ }
220
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/AuthorizationException.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ class AuthorizationException extends RequestException {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ClientException.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ class ClientException extends RequestException {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/EmptyResponseException.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ use FacebookAds\Http\ResponseInterface;
28
+
29
+ class EmptyResponseException extends RequestException {
30
+
31
+ /**
32
+ * @param ResponseInterface $response
33
+ */
34
+ public function __construct(ResponseInterface $response) {
35
+ $content = array(
36
+ 'error' => array(
37
+ 'message' => 'Empty Response',
38
+ ));
39
+ $response->setBody(json_encode($content));
40
+ parent::__construct($response);
41
+ }
42
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/PermissionException.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ class PermissionException extends RequestException {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/RequestException.php ADDED
@@ -0,0 +1,248 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ use FacebookAds\Exception\Exception;
28
+ use FacebookAds\Http\ResponseInterface;
29
+
30
+ class RequestException extends Exception {
31
+
32
+ /**
33
+ * @var ResponseInterface|null
34
+ */
35
+ protected $response;
36
+
37
+ /**
38
+ * @var Headers
39
+ */
40
+ protected $headers;
41
+
42
+ /**
43
+ * @var int|null
44
+ */
45
+ protected $errorCode;
46
+
47
+ /**
48
+ * @var int|null
49
+ */
50
+ protected $errorSubcode;
51
+
52
+ /**
53
+ * @var string|null
54
+ */
55
+ protected $errorMessage;
56
+
57
+ /**
58
+ * @var string|null
59
+ */
60
+ protected $errorUserTitle;
61
+
62
+ /**
63
+ * @var string|null
64
+ */
65
+ protected $errorUserMessage;
66
+
67
+ /**
68
+ * @var int|null
69
+ */
70
+ protected $errorType;
71
+
72
+ /**
73
+ * @var array|null
74
+ */
75
+ protected $errorBlameFieldSpecs;
76
+
77
+ /**
78
+ * @var string|null
79
+ */
80
+ protected $facebookTraceId;
81
+
82
+ /**
83
+ * @param ResponseInterface $response
84
+ */
85
+ public function __construct(ResponseInterface $response) {
86
+ $this->headers = $response->getHeaders();
87
+ $this->response = $response;
88
+ $error_data = static::getErrorData($response);
89
+
90
+ parent::__construct($error_data['message'], $error_data['code']);
91
+
92
+ $this->errorSubcode = $error_data['error_subcode'];
93
+ $this->errorUserTitle = $error_data['error_user_title'];
94
+ $this->errorUserMessage = $error_data['error_user_msg'];
95
+ $this->errorBlameFieldSpecs = $error_data['error_blame_field_specs'];
96
+ $this->facebookTraceId = $error_data['fbtrace_id'];
97
+ }
98
+
99
+ /**
100
+ * @return ResponseInterface|null
101
+ */
102
+ public function getResponse() {
103
+ return $this->response;
104
+ }
105
+
106
+ /**
107
+ * @param array|string $array
108
+ * @param string|int $key
109
+ * @param mixed $default
110
+ * @return mixed
111
+ */
112
+ protected static function idx($array, $key, $default = null) {
113
+ if (is_string($array)) {
114
+ $array = json_decode($array, true);
115
+ }
116
+ return array_key_exists($key, $array)
117
+ ? $array[$key]
118
+ : $default;
119
+ }
120
+
121
+ /**
122
+ * @param ResponseInterface $response
123
+ * @return array
124
+ */
125
+ protected static function getErrorData(ResponseInterface $response) {
126
+ $response_data = $response->getContent();
127
+ if (is_null($response_data)) {
128
+ $response_data = array();
129
+ }
130
+ $error_data = static::idx($response_data, 'error', array());
131
+
132
+ if (is_string(static::idx($error_data, 'error_data'))) {
133
+ $error_data["error_data"] =
134
+ json_decode(stripslashes(static::idx($error_data, 'error_data')), true);
135
+ }
136
+
137
+ return array(
138
+ 'code' =>
139
+ static::idx($error_data, 'code', static::idx($response_data, 'code')),
140
+ 'error_subcode' => static::idx($error_data, 'error_subcode'),
141
+ 'message' => static::idx($error_data, 'message'),
142
+ 'error_user_title' => static::idx($error_data, 'error_user_title'),
143
+ 'error_user_msg' => static::idx($error_data, 'error_user_msg'),
144
+ 'error_blame_field_specs' =>
145
+ static::idx(static::idx($error_data, 'error_data', array()),
146
+ 'blame_field_specs'),
147
+ 'fbtrace_id' => static::idx($error_data, 'fbtrace_id'),
148
+ 'type' => static::idx($error_data, 'type'),
149
+ );
150
+ }
151
+
152
+ /**
153
+ * Process an error payload from the Graph API and return the appropriate
154
+ * exception subclass.
155
+ * @param ResponseInterface $response
156
+ * @return RequestException
157
+ */
158
+ public static function create(ResponseInterface $response) {
159
+ $error_data = static::getErrorData($response);
160
+ if (in_array(
161
+ $error_data['error_subcode'], array(458, 459, 460, 463, 464, 467))
162
+ || in_array($error_data['code'], array(100, 102, 190))
163
+ || $error_data['type'] === 'OAuthException') {
164
+
165
+ return new AuthorizationException($response);
166
+ } elseif (in_array($error_data['code'], array(1, 2))) {
167
+
168
+ return new ServerException($response);
169
+ } elseif (in_array($error_data['code'], array(4, 17, 341))) {
170
+
171
+ return new ThrottleException($response);
172
+ } elseif ($error_data['code'] == 506) {
173
+
174
+ return new ClientException($response);
175
+ } elseif ($error_data['code'] == 10
176
+ || ($error_data['code'] >= 200 && $error_data['code'] <= 299)) {
177
+
178
+ return new PermissionException($response);
179
+ } else {
180
+
181
+ return new self($response);
182
+ }
183
+ }
184
+
185
+ /**
186
+ * @return int
187
+ */
188
+ public function getHttpStatusCode() {
189
+ return $this->response->getStatusCode();
190
+ }
191
+
192
+ /**
193
+ * @return int|null
194
+ */
195
+ public function getErrorSubcode() {
196
+ return $this->errorSubcode;
197
+ }
198
+
199
+ /**
200
+ * @return string|null
201
+ */
202
+ public function getErrorUserTitle() {
203
+ return $this->errorUserTitle;
204
+ }
205
+
206
+ /**
207
+ * @return string|null
208
+ */
209
+ public function getErrorUserMessage() {
210
+ return $this->errorUserMessage;
211
+ }
212
+
213
+ /**
214
+ * @return array|null
215
+ */
216
+ public function getErrorBlameFieldSpecs() {
217
+ return $this->errorBlameFieldSpecs;
218
+ }
219
+
220
+ /**
221
+ * @return string|null
222
+ */
223
+ public function getFacebookTraceId() {
224
+ return $this->facebookTraceId;
225
+ }
226
+
227
+ /**
228
+ * @return bool
229
+ */
230
+ public function isTransient() {
231
+ if ($this->getResponse() !== null) {
232
+ return false;
233
+ }
234
+
235
+ $body = $this->getResponse()->getBody();
236
+
237
+ return array_key_exists('error', $body)
238
+ && array_key_exists('is_transient', $body['error'])
239
+ && $body['error']['is_transient'];
240
+ }
241
+
242
+ /**
243
+ * @return Headers
244
+ */
245
+ public function getHeaders() {
246
+ return $this->headers;
247
+ }
248
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ServerException.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ class ServerException extends RequestException {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Exception/ThrottleException.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http\Exception;
26
+
27
+ class ThrottleException extends RequestException {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/FileParameter.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ class FileParameter {
28
+
29
+ /**
30
+ * @var string
31
+ */
32
+ protected $path;
33
+
34
+ /**
35
+ * @var string|null
36
+ */
37
+ protected $mimeType;
38
+
39
+ /**
40
+ * @var string|null
41
+ */
42
+ protected $name;
43
+
44
+ /**
45
+ * @param string $path
46
+ */
47
+ public function __construct($path) {
48
+ $this->path = $path;
49
+ }
50
+
51
+ /**
52
+ * @return string
53
+ */
54
+ public function getPath() {
55
+ return $this->path;
56
+ }
57
+
58
+ /**
59
+ * @return null|string
60
+ */
61
+ public function getMimeType() {
62
+ return $this->mimeType;
63
+ }
64
+
65
+ /**
66
+ * @param null|string $mime_type
67
+ * @return $this
68
+ */
69
+ public function setMimeType($mime_type) {
70
+ $this->mimeType = $mime_type;
71
+ return $this;
72
+ }
73
+
74
+ /**
75
+ * @return null|string
76
+ */
77
+ public function getName() {
78
+ return $this->name;
79
+ }
80
+
81
+ /**
82
+ * @param null|string $name
83
+ * @return $this
84
+ */
85
+ public function setName($name) {
86
+ $this->name = $name;
87
+ return $this;
88
+ }
89
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Headers.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ class Headers extends \ArrayObject {
28
+
29
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Parameters.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ class Parameters extends \ArrayObject {
28
+
29
+ /**
30
+ * @param array $data
31
+ */
32
+ public function enhance(array $data) {
33
+ foreach ($data as $key => $value) {
34
+ $this[$key] = $value;
35
+ }
36
+ }
37
+
38
+ /**
39
+ * @param mixed $value
40
+ * @return string
41
+ */
42
+ protected function exportNonScalar($value) {
43
+ return json_encode($value);
44
+ }
45
+
46
+ /**
47
+ * @return array
48
+ */
49
+ public function export() {
50
+ $data = array();
51
+ foreach ($this as $key => $value) {
52
+ $data[$key] = is_null($value) || is_scalar($value)
53
+ ? $value
54
+ : $this->exportNonScalar($value);
55
+ }
56
+
57
+ return $data;
58
+ }
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Request.php ADDED
@@ -0,0 +1,296 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ class Request implements RequestInterface {
28
+
29
+ /**
30
+ * @var string
31
+ */
32
+ const PROTOCOL_HTTP = 'http://';
33
+
34
+ /**
35
+ * @var string
36
+ */
37
+ const PROTOCOL_HTTPS = 'https://';
38
+
39
+ /**
40
+ * @var Client
41
+ */
42
+ protected $client;
43
+
44
+ /**
45
+ * @var Headers
46
+ */
47
+ protected $headers;
48
+
49
+ /**
50
+ * @var string
51
+ */
52
+ protected $method = self::METHOD_GET;
53
+
54
+ /**
55
+ * @var string
56
+ */
57
+ protected $protocol = self::PROTOCOL_HTTPS;
58
+
59
+ /**
60
+ * @var string
61
+ */
62
+ protected $domain;
63
+
64
+ /**
65
+ * @var string
66
+ */
67
+ protected $path;
68
+
69
+ /**
70
+ * @var string
71
+ */
72
+ protected $graphVersion;
73
+
74
+ /**
75
+ * @var Parameters
76
+ */
77
+ protected $queryParams;
78
+
79
+ /**
80
+ * @var Parameters
81
+ */
82
+ protected $bodyParams;
83
+
84
+ /**
85
+ * @var Parameters
86
+ */
87
+ protected $fileParams;
88
+
89
+ /**
90
+ * @param Client $client
91
+ */
92
+ public function __construct(Client $client) {
93
+ $this->client = $client;
94
+ }
95
+
96
+ public function __clone() {
97
+ $this->queryParams && $this->queryParams = clone $this->queryParams;
98
+ $this->bodyParams && $this->bodyParams = clone $this->bodyParams;
99
+ $this->fileParams && $this->fileParams = clone $this->fileParams;
100
+ }
101
+
102
+ /**
103
+ * @return Client
104
+ */
105
+ public function getClient() {
106
+ return $this->client;
107
+ }
108
+
109
+ /**
110
+ * @return string
111
+ */
112
+ public function getProtocol() {
113
+ return $this->protocol;
114
+ }
115
+
116
+ /**
117
+ * @param string $protocol
118
+ */
119
+ public function setProtocol($protocol) {
120
+ $this->protocol = $protocol;
121
+ }
122
+
123
+ /**
124
+ * @return string
125
+ */
126
+ public function getDomain() {
127
+ if ($this->domain === null) {
128
+ $this->domain = sprintf(
129
+ "%s.%s",
130
+ Client::DEFAULT_LAST_LEVEL_DOMAIN,
131
+ $this->client->getDefaultGraphBaseDomain());
132
+ }
133
+
134
+ return $this->domain;
135
+ }
136
+
137
+ /**
138
+ * @param string $domain
139
+ */
140
+ public function setDomain($domain) {
141
+ $this->domain = $domain;
142
+ }
143
+
144
+ /**
145
+ * @param string $last_level_domain
146
+ */
147
+ public function setLastLevelDomain($last_level_domain) {
148
+ $this->domain = sprintf(
149
+ "%s.%s",
150
+ $last_level_domain,
151
+ $this->client->getDefaultGraphBaseDomain());
152
+ }
153
+
154
+ /**
155
+ * @return Headers
156
+ */
157
+ public function getHeaders() {
158
+ if ($this->headers === null) {
159
+ $this->headers = clone $this->getClient()->getDefaultRequestHeaderds();
160
+ }
161
+
162
+ return $this->headers;
163
+ }
164
+
165
+ /**
166
+ * @param Headers $headers
167
+ */
168
+ public function setHeaders(Headers $headers) {
169
+ $this->headers = $headers;
170
+ }
171
+
172
+ /**
173
+ * @return string
174
+ */
175
+ public function getMethod() {
176
+ return $this->method;
177
+ }
178
+
179
+ /**
180
+ * @param string $method
181
+ */
182
+ public function setMethod($method) {
183
+ $this->method = $method;
184
+ }
185
+
186
+ /**
187
+ * @return string
188
+ */
189
+ public function getPath() {
190
+ return $this->path;
191
+ }
192
+
193
+ /**
194
+ * @param string $path
195
+ */
196
+ public function setPath($path) {
197
+ $this->path = $path;
198
+ }
199
+
200
+ /**
201
+ * @return string
202
+ */
203
+ public function getGraphVersion() {
204
+ return $this->graphVersion;
205
+ }
206
+
207
+ /**
208
+ * @param string $version
209
+ */
210
+ public function setGraphVersion($version) {
211
+ $this->graphVersion = $version;
212
+ }
213
+
214
+ /**
215
+ * @return Parameters
216
+ */
217
+ public function getQueryParams() {
218
+ if ($this->queryParams === null) {
219
+ $this->queryParams = new Parameters();
220
+ }
221
+
222
+ return $this->queryParams;
223
+ }
224
+
225
+ /**
226
+ * @param Parameters $params
227
+ */
228
+ public function setQueryParams(Parameters $params) {
229
+ $this->queryParams = $params;
230
+ }
231
+
232
+ /**
233
+ * @return string
234
+ */
235
+ public function getUrl() {
236
+ $delimiter = null;
237
+ if ($this->getQueryParams()->count() ) {
238
+ $delimiter = strpos($this->getPath(), '?') ? '&' : '?';
239
+ }
240
+ return $this->getProtocol().$this->getDomain()
241
+ .'/v'.$this->getGraphVersion().$this->getPath()
242
+ .$delimiter
243
+ .http_build_query($this->getQueryParams()->export(), '', '&');
244
+ }
245
+
246
+ /**
247
+ * @return Parameters
248
+ */
249
+ public function getBodyParams() {
250
+ if ($this->bodyParams === null) {
251
+ $this->bodyParams = new Parameters();
252
+ }
253
+
254
+ return $this->bodyParams;
255
+ }
256
+
257
+ /**
258
+ * @param Parameters $params
259
+ */
260
+ public function setBodyParams(Parameters $params) {
261
+ $this->bodyParams = $params;
262
+ }
263
+
264
+ /**
265
+ * @return Parameters
266
+ */
267
+ public function getFileParams() {
268
+ if ($this->fileParams === null) {
269
+ $this->fileParams = new Parameters();
270
+ }
271
+
272
+ return $this->fileParams;
273
+ }
274
+
275
+ /**
276
+ * @param Parameters $params
277
+ */
278
+ public function setFileParams(Parameters $params) {
279
+ $this->fileParams = $params;
280
+ }
281
+
282
+ /**
283
+ * @return ResponseInterface
284
+ */
285
+ public function execute() {
286
+ return $this->getClient()->sendRequest($this);
287
+ }
288
+
289
+ /**
290
+ * @return Request
291
+ * @see RequestInterface::createClone()
292
+ */
293
+ public function createClone() {
294
+ return clone $this;
295
+ }
296
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/RequestInterface.php ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ interface RequestInterface {
28
+
29
+ /**
30
+ * @var string
31
+ */
32
+ const METHOD_DELETE = 'DELETE';
33
+
34
+ /**
35
+ * @var string
36
+ */
37
+ const METHOD_GET = 'GET';
38
+
39
+ /**
40
+ * @var string
41
+ */
42
+ const METHOD_POST = 'POST';
43
+
44
+ /**
45
+ * @var string
46
+ */
47
+ const METHOD_PUT = 'PUT';
48
+
49
+ /**
50
+ * @param Client $client
51
+ */
52
+ public function __construct(Client $client);
53
+
54
+ /**
55
+ * @return Client
56
+ */
57
+ public function getClient();
58
+
59
+ /**
60
+ * @return Headers
61
+ */
62
+ public function getHeaders();
63
+
64
+ /**
65
+ * @param Headers $headers
66
+ */
67
+ public function setHeaders(Headers $headers);
68
+
69
+ /**
70
+ * @return string
71
+ */
72
+ public function getProtocol();
73
+
74
+ /**
75
+ * @param string $protocol
76
+ */
77
+ public function setProtocol($protocol);
78
+
79
+ /**
80
+ * @return string
81
+ */
82
+ public function getDomain();
83
+
84
+ /**
85
+ * @param string $domain
86
+ */
87
+ public function setDomain($domain);
88
+
89
+ /**
90
+ * @param string $last_level_domain
91
+ */
92
+ public function setLastLevelDomain($last_level_domain);
93
+
94
+ /**
95
+ * @return string
96
+ */
97
+ public function getMethod();
98
+
99
+ /**
100
+ * @param string $method
101
+ */
102
+ public function setMethod($method);
103
+
104
+ /**
105
+ * @return string
106
+ */
107
+ public function getPath();
108
+
109
+ /**
110
+ * @param string $version
111
+ */
112
+ public function setGraphVersion($version);
113
+
114
+ /**
115
+ * @return mixed
116
+ */
117
+ public function getGraphVersion();
118
+
119
+ /**
120
+ * @param string $path
121
+ */
122
+ public function setPath($path);
123
+
124
+ /**
125
+ * @return Parameters
126
+ */
127
+ public function getQueryParams();
128
+
129
+ /**
130
+ * @param Parameters $params
131
+ */
132
+ public function setQueryParams(Parameters $params);
133
+
134
+ /**
135
+ * @return string
136
+ */
137
+ public function getUrl();
138
+
139
+ /**
140
+ * @return Parameters
141
+ */
142
+ public function getBodyParams();
143
+
144
+ /**
145
+ * @param Parameters $params
146
+ */
147
+ public function setBodyParams(Parameters $params);
148
+
149
+ /**
150
+ * @return Parameters
151
+ */
152
+ public function getFileParams();
153
+
154
+ /**
155
+ * @param Parameters $params
156
+ */
157
+ public function setFileParams(Parameters $params);
158
+
159
+ /**
160
+ * @return ResponseInterface
161
+ */
162
+ public function execute();
163
+
164
+ /**
165
+ * Required for Mocking request/response chaining
166
+ * @return RequestInterface
167
+ */
168
+ public function createClone();
169
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Response.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ class Response implements ResponseInterface {
28
+
29
+ /**
30
+ * @var RequestInterface
31
+ */
32
+ protected $request;
33
+
34
+ /**
35
+ * @var int
36
+ */
37
+ protected $statusCode;
38
+
39
+ /**
40
+ * @var Headers
41
+ */
42
+ protected $headers;
43
+
44
+ /**
45
+ * @var string
46
+ */
47
+ protected $body;
48
+
49
+ /**
50
+ * @var mixed
51
+ */
52
+ protected $content;
53
+
54
+ /**
55
+ * @return RequestInterface
56
+ */
57
+ public function getRequest() {
58
+ return $this->request;
59
+ }
60
+
61
+ /**
62
+ * @param RequestInterface $request
63
+ */
64
+ public function setRequest(RequestInterface $request) {
65
+ $this->request = $request;
66
+ }
67
+
68
+ /**
69
+ * @return int
70
+ */
71
+ public function getStatusCode() {
72
+ return $this->statusCode;
73
+ }
74
+
75
+ /**
76
+ * @param int $status_code
77
+ */
78
+ public function setStatusCode($status_code) {
79
+ $this->statusCode = $status_code;
80
+ }
81
+
82
+ /**
83
+ * @return Headers
84
+ */
85
+ public function getHeaders() {
86
+ if ($this->headers === null) {
87
+ $this->headers = new Headers();
88
+ }
89
+
90
+ return $this->headers;
91
+ }
92
+
93
+ /**
94
+ * @param Headers $headers
95
+ */
96
+ public function setHeaders(Headers $headers) {
97
+ $this->headers = $headers;
98
+ }
99
+
100
+ /**
101
+ * @return string
102
+ */
103
+ public function getBody() {
104
+ return $this->body;
105
+ }
106
+
107
+ /**
108
+ * @param string $body
109
+ */
110
+ public function setBody($body) {
111
+ $this->body = $body;
112
+ $this->content = null;
113
+ }
114
+
115
+ /**
116
+ * @return array|null
117
+ */
118
+ public function getContent() {
119
+ if ($this->content === null) {
120
+ $this->content = json_decode($this->getBody(), true);
121
+ }
122
+
123
+ return $this->content;
124
+ }
125
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/ResponseInterface.php ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ interface ResponseInterface {
28
+
29
+ /**
30
+ * @return RequestInterface
31
+ */
32
+ public function getRequest();
33
+
34
+ /**
35
+ * @param RequestInterface $request
36
+ */
37
+ public function setRequest(RequestInterface $request);
38
+
39
+ /**
40
+ * @return int
41
+ */
42
+ public function getStatusCode();
43
+
44
+ /**
45
+ * @param int $status_code
46
+ */
47
+ public function setStatusCode($status_code);
48
+
49
+ /**
50
+ * @return Headers
51
+ */
52
+ public function getHeaders();
53
+
54
+ /**
55
+ * @param Headers $headers
56
+ */
57
+ public function setHeaders(Headers $headers);
58
+
59
+ /**
60
+ * @return string
61
+ */
62
+ public function getBody();
63
+
64
+ /**
65
+ * @param string $body
66
+ */
67
+ public function setBody($body);
68
+
69
+ /**
70
+ * @return array|null
71
+ */
72
+ public function getContent();
73
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Http/Util.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Http;
26
+
27
+ abstract class Util {
28
+
29
+ /**
30
+ * Avoid parse_str() for HHVM compatibility
31
+ * This implementation is not a complete sobstitute, but covers all the
32
+ * requirements of the Facebook Graph Cursor.
33
+ *
34
+ * @see hhvm.hack.disallow_dynamic_var_env_funcs
35
+ * @param $query_string
36
+ * @return array
37
+ */
38
+ public static function parseUrlQuery($query_string) {
39
+ $query = array();
40
+ $pairs = explode('&', $query_string);
41
+ foreach ($pairs as $pair) {
42
+ list($key, $value) = explode('=', $pair);
43
+ $query[$key] = urldecode($value);
44
+ }
45
+
46
+ return $query;
47
+ }
48
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger.php ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Logger;
26
+
27
+ use FacebookAds\Http\FileParameter;
28
+ use FacebookAds\Http\Parameters;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\Http\ResponseInterface;
31
+ use FacebookAds\Logger\CurlLogger\JsonAwareParameters;
32
+
33
+ class CurlLogger implements LoggerInterface {
34
+
35
+ /**
36
+ * @var string
37
+ */
38
+ const PARAM_DEFAULT_FLAG = 'd';
39
+
40
+ /**
41
+ * @var string
42
+ */
43
+ const PARAM_URLENCODE_FLAG = '-data-urlencode';
44
+
45
+ /**
46
+ * @var string
47
+ */
48
+ const PARAM_POST_FLAG = 'F';
49
+
50
+ /**
51
+ * @var string
52
+ */
53
+ const METHOD_DEFAULT_FLAG = '';
54
+
55
+ /**
56
+ * @var string
57
+ */
58
+ const METHOD_GET_FLAG = 'G';
59
+
60
+ /**
61
+ * @var string
62
+ */
63
+ const METHOD_PUT_FLAG = 'X PUT';
64
+
65
+ /**
66
+ * @var string
67
+ */
68
+ const METHOD_DELETE_FLAG = 'X DELETE';
69
+
70
+ /**
71
+ * @var resource
72
+ */
73
+ protected $handle;
74
+
75
+ /**
76
+ * @var bool
77
+ */
78
+ protected $jsonPrettyPrint = false;
79
+
80
+ /**
81
+ * @param resource $handle
82
+ */
83
+ public function __construct($handle = null) {
84
+ if (!defined('STDOUT')) {
85
+ define('STDOUT', fopen('php://stdout', 'w'));
86
+ }
87
+ $this->handle = is_resource($handle) ? $handle : STDOUT;
88
+ }
89
+
90
+ /**
91
+ * @return bool
92
+ */
93
+ public function isJsonPrettyPrint() {
94
+ return $this->jsonPrettyPrint;
95
+ }
96
+
97
+ /**
98
+ * @param bool $json_pretty_print
99
+ * @return $this
100
+ */
101
+ public function setJsonPrettyPrint($json_pretty_print) {
102
+ $this->jsonPrettyPrint = $json_pretty_print;
103
+ return $this;
104
+ }
105
+
106
+ /**
107
+ * @param string $method
108
+ * @return string
109
+ */
110
+ public static function getMethodFlag($method) {
111
+ switch ($method) {
112
+ case RequestInterface::METHOD_GET:
113
+ return static::METHOD_GET_FLAG;
114
+ case RequestInterface::METHOD_PUT:
115
+ return static::METHOD_PUT_FLAG;
116
+ case RequestInterface::METHOD_DELETE:
117
+ return static::METHOD_DELETE_FLAG;
118
+ }
119
+
120
+ return static::METHOD_DEFAULT_FLAG;
121
+ }
122
+
123
+ /**
124
+ * @param string $method
125
+ * @param string $value
126
+ * @return string
127
+ */
128
+ public static function getParamFlag($method, $value) {
129
+ return $method === RequestInterface::METHOD_POST
130
+ ? static::PARAM_POST_FLAG
131
+ : (strstr($value, "\n")
132
+ ? static::PARAM_URLENCODE_FLAG
133
+ : static::PARAM_DEFAULT_FLAG);
134
+ }
135
+
136
+ /**
137
+ * @param string $string
138
+ * @param int $indent
139
+ * @return string
140
+ */
141
+ protected function indent($string, $indent) {
142
+ return str_replace("\n", " \n".str_repeat(' ', $indent), $string);
143
+ }
144
+
145
+ /**
146
+ * @param Parameters $params
147
+ * @param string $method
148
+ * @param bool $is_file
149
+ * @return string
150
+ */
151
+ protected function processParams(Parameters $params, $method, $is_file) {
152
+ $chunks = array();
153
+ if ($this->isJsonPrettyPrint()) {
154
+ $params = new JsonAwareParameters($params);
155
+ }
156
+ foreach ($params->export() as $name => $value) {
157
+ if ($is_file && $params->offsetGet($name) instanceof FileParameter) {
158
+ $value = "@" . $this->normalizeFileParam($params->offsetGet($name));
159
+ } else {
160
+ $value = addcslashes(
161
+ strpos($value, "\n") !== false
162
+ ? $this->indent($value, 2)
163
+ : $value,
164
+ '\'');
165
+ }
166
+ $chunks[$name] = sprintf(
167
+ '-%s \'%s=%s\'',
168
+ $this->getParamFlag($method, $value),
169
+ $name,
170
+ $value);
171
+ }
172
+
173
+ return $chunks;
174
+ }
175
+
176
+ /**
177
+ * @param FileParameter $file_param
178
+ * @return string
179
+ */
180
+ protected function normalizeFileParam(FileParameter $file_param) {
181
+ return sprintf('%s%s%s%s%s',
182
+ $file_param->getPath(),
183
+ $file_param->getMimeType() != null ? ";type=" : "",
184
+ $file_param->getMimeType(),
185
+ $file_param->getName() != null ? ";name=" : "",
186
+ $file_param->getName());
187
+ }
188
+
189
+ /**
190
+ * @param RequestInterface $request
191
+ * @return string
192
+ */
193
+ protected function processUrl(RequestInterface $request) {
194
+ return $request->getProtocol().$request->getDomain()
195
+ .'/v'.$request->getGraphVersion().$request->getPath();
196
+ }
197
+
198
+ /**
199
+ * @param string $buffer
200
+ */
201
+ protected function flush($buffer) {
202
+ fwrite($this->handle, $buffer.PHP_EOL.PHP_EOL);
203
+ }
204
+
205
+ /**
206
+ * @param mixed $level
207
+ * @param string $message
208
+ * @param array $context
209
+ */
210
+ public function log($level, $message, array $context = array()) {
211
+ // We only care about requests
212
+ }
213
+
214
+ /**
215
+ * @param array $array
216
+ * @param mixed $key
217
+ * @return mixed
218
+ */
219
+ protected function removeArrayKey(array &$array, $key) {
220
+ if (array_key_exists($key, $array)) {
221
+ $value = $array[$key];
222
+ unset($array[$key]);
223
+ return $value;
224
+ } else {
225
+ return null;
226
+ }
227
+ }
228
+
229
+ /**
230
+ * @param array $params
231
+ * @return array
232
+ */
233
+ protected function sortParams(array $params) {
234
+ $access_token = $this->removeArrayKey($params, 'access_token');
235
+ $appsecret_proof = $this->removeArrayKey($params, 'appsecret_proof');
236
+ $access_token !== null && $params['access_token'] = $access_token;
237
+ $appsecret_proof !== null && $params['appsecret_proof'] = $appsecret_proof;
238
+
239
+ return $params;
240
+ }
241
+
242
+ /**
243
+ * @param string $level
244
+ * @param RequestInterface $request
245
+ * @param array $context
246
+ */
247
+ public function logRequest(
248
+ $level, RequestInterface $request, array $context = array()) {
249
+
250
+ $new_line = ' \\'.PHP_EOL.' ';
251
+ $method = $request->getMethod();
252
+ $method_flag = static::getMethodFlag($method);
253
+ $params = $this->sortParams(array_merge(
254
+ $this->processParams($request->getQueryParams(), $method, false),
255
+ $this->processParams($request->getBodyParams(), $method, false),
256
+ $this->processParams($request->getFileParams(), $method, true)));
257
+
258
+ $buffer = 'curl'.($method_flag ? ' -'.$method_flag : '');
259
+ foreach ($params as $param) {
260
+ $buffer .= $new_line.$param;
261
+ }
262
+ $buffer .= $new_line.$this->processUrl($request);
263
+
264
+ $this->flush($buffer);
265
+ }
266
+
267
+ /**
268
+ * @param string $level
269
+ * @param ResponseInterface $response
270
+ * @param array $context
271
+ */
272
+ public function logResponse(
273
+ $level, ResponseInterface $response, array $context = array()) {
274
+ // We only care about requests
275
+ }
276
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger/JsonAwareParameters.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Logger\CurlLogger;
26
+
27
+ use FacebookAds\Http\Parameters;
28
+
29
+ class JsonAwareParameters extends Parameters {
30
+
31
+ /**
32
+ * @param mixed $value
33
+ * @return string
34
+ */
35
+ protected function exportNonScalar($value) {
36
+ return JsonNode::factory($value)->encode();
37
+ }
38
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Logger/CurlLogger/JsonNode.php ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Logger\CurlLogger;
26
+
27
+ final class JsonNode {
28
+
29
+ /**
30
+ * @var int
31
+ */
32
+ const INDENT_UNIT = 2;
33
+
34
+ /**
35
+ * @var int
36
+ */
37
+ const EXPLOSION_THRESHOLD = 78;
38
+
39
+ /**
40
+ * @var mixed
41
+ */
42
+ protected $value;
43
+
44
+ /**
45
+ * @var \ArrayObject
46
+ */
47
+ protected $children;
48
+
49
+ /**
50
+ * @param mixed $value
51
+ * @return $this
52
+ * @throws \InvalidArgumentException
53
+ */
54
+ public static function factory($value) {
55
+ $object = new self();
56
+ switch (true) {
57
+ case is_object($value):
58
+ $value = (array) $value;
59
+ // fallthrough
60
+ case is_array($value):
61
+ foreach ($value as $key => $sub) {
62
+ $object->getChildren()->offsetSet($key, self::factory($sub));
63
+ }
64
+ // fallthrough
65
+ case is_null($value) || is_scalar($value):
66
+ $object->setValue($value);
67
+ break;
68
+ default:
69
+ throw new \InvalidArgumentException(
70
+ gettype($value).' can\'t be encoded');
71
+ }
72
+
73
+ return $object;
74
+ }
75
+
76
+ public function __construct() {
77
+ $this->children = new \ArrayObject();
78
+ }
79
+
80
+ /**
81
+ * @return mixed
82
+ */
83
+ public function getValue() {
84
+ return $this->value;
85
+ }
86
+
87
+ /**
88
+ * @param mixed $value
89
+ * @return $this
90
+ */
91
+ public function setValue($value) {
92
+ $this->value = $value;
93
+
94
+ return $this;
95
+ }
96
+
97
+ /**
98
+ * @return \ArrayObject
99
+ */
100
+ public function getChildren() {
101
+ return $this->children;
102
+ }
103
+
104
+ /**
105
+ * @return int
106
+ */
107
+ public function getMaxTreeChildrenCount() {
108
+ $max = $this->getChildren()->count();
109
+
110
+ /** @var JsonNode $child */
111
+ foreach ($this->getChildren() as $child) {
112
+ $ith = $child->getMaxTreeChildrenCount();
113
+ $max = $ith > $max ? $ith : $max;
114
+ }
115
+
116
+ return $max;
117
+ }
118
+
119
+ /**
120
+ * @param int $indent
121
+ * @return string
122
+ */
123
+ protected function getPadding($indent) {
124
+ return str_repeat(' ', $indent * self::INDENT_UNIT);
125
+ }
126
+
127
+ /**
128
+ * @return mixed
129
+ */
130
+ protected function getLastChildKey() {
131
+ if ($this->getChildren()->count() === 0) {
132
+ return null;
133
+ }
134
+
135
+ $copy = $this->getChildren()->getArrayCopy();
136
+ end($copy);
137
+
138
+ return key($copy);
139
+ }
140
+
141
+ /**
142
+ * @param int $indent
143
+ * @return string
144
+ */
145
+ protected function encodeList($indent) {
146
+ $value = $this->getValue();
147
+ if (empty($value) || (array_keys($value) === range(0, count($value) - 1))) {
148
+ $is_map = false;
149
+ } else {
150
+ $is_map = true;
151
+ }
152
+
153
+ ++$indent;
154
+ $last_key = $this->getLastChildKey();
155
+
156
+ $buffer = ($is_map ? '{' : '[')."\n";
157
+
158
+ /** @var JsonNode $child */
159
+ foreach ($this->getChildren() as $key => $child) {
160
+ $buffer .= sprintf(
161
+ "%s%s%s%s\n",
162
+ $this->getPadding($indent),
163
+ $is_map ? sprintf("%s: ", json_encode($key)) : '',
164
+ $child->encode($indent),
165
+ $key === $last_key ? '' : ',');
166
+ }
167
+
168
+ --$indent;
169
+ $buffer .= $this->getPadding($indent).($is_map ? '}' : ']');
170
+
171
+ return $buffer;
172
+ }
173
+
174
+ /**
175
+ * @param int $indent
176
+ * @return string
177
+ */
178
+ public function encode($indent = 0) {
179
+ $value = $this->getValue();
180
+ if (is_array($value) || is_object($value)) {
181
+ if ($this->getMaxTreeChildrenCount() > 2) {
182
+ return $this->encodeList($indent);
183
+ }
184
+
185
+ $ugly = json_encode($value);
186
+ $output_prediction = $this->getPadding($indent).$ugly;
187
+ if (strlen($output_prediction) > self::EXPLOSION_THRESHOLD) {
188
+ return $this->encodeList($indent);
189
+ }
190
+
191
+ return $ugly;
192
+ }
193
+
194
+ return json_encode($value);
195
+ }
196
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Logger/LoggerInterface.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Logger;
26
+
27
+ use FacebookAds\Http\RequestInterface;
28
+ use FacebookAds\Http\ResponseInterface;
29
+
30
+ interface LoggerInterface {
31
+
32
+ /**
33
+ * @param string $level
34
+ * @param string $message
35
+ * @param array $context
36
+ */
37
+ public function log($level, $message, array $context = array());
38
+
39
+ /**
40
+ * @param string $level
41
+ * @param RequestInterface $request
42
+ * @param array $context
43
+ */
44
+ public function logRequest(
45
+ $level, RequestInterface $request, array $context = array());
46
+
47
+ /**
48
+ * @param string $level
49
+ * @param ResponseInterface $response
50
+ * @param array $context
51
+ */
52
+ public function logResponse(
53
+ $level, ResponseInterface $response, array $context = array());
54
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Logger/NullLogger.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Logger;
26
+
27
+ use FacebookAds\Http\RequestInterface;
28
+ use FacebookAds\Http\ResponseInterface;
29
+
30
+ class NullLogger implements LoggerInterface {
31
+
32
+ /**
33
+ * @param string $level
34
+ * @param string $message
35
+ * @param array $context
36
+ */
37
+ public function log($level, $message, array $context = array()) {
38
+
39
+ }
40
+
41
+ /**
42
+ * @param string $level
43
+ * @param RequestInterface $request
44
+ * @param array $context
45
+ */
46
+ public function logRequest(
47
+ $level, RequestInterface $request, array $context = array()) {
48
+
49
+ }
50
+
51
+ /**
52
+ * @param string $level
53
+ * @param ResponseInterface $response
54
+ * @param array $context
55
+ */
56
+ public function logResponse(
57
+ $level, ResponseInterface $response, array $context = array()) {
58
+
59
+ }
60
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractArchivableCrudObject.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\Http\RequestInterface;
28
+
29
+ abstract class AbstractArchivableCrudObject extends AbstractCrudObject {
30
+
31
+ /**
32
+ * @var string
33
+ */
34
+ const STATUS_PARAM_NAME = 'status';
35
+
36
+ /**
37
+ * @var string
38
+ */
39
+ const STATUS_ACTIVE = 'ACTIVE';
40
+
41
+ /**
42
+ * @var string
43
+ */
44
+ const STATUS_PAUSED = 'PAUSED';
45
+
46
+ /**
47
+ * @var string
48
+ */
49
+ const STATUS_DELETED = 'DELETED';
50
+
51
+ /**
52
+ * @var string
53
+ */
54
+ const STATUS_ARCHIVED = 'ARCHIVED';
55
+
56
+ /**
57
+ * @return string
58
+ */
59
+ public function getStatusParamName() {
60
+ return self::STATUS_PARAM_NAME;
61
+ }
62
+
63
+ /**
64
+ * Archive this object
65
+ *
66
+ * @deprecated use api_update instead
67
+ * @param array $params
68
+ * @return void
69
+ */
70
+ public function archive(array $params = array()) {
71
+ $this->getApi()->call(
72
+ $this->getNodePath(),
73
+ RequestInterface::METHOD_POST,
74
+ array_merge($params, array(
75
+ $this->getStatusParamName() => static::STATUS_ARCHIVED)));
76
+ }
77
+
78
+ /**
79
+ * Delete this object
80
+ *
81
+ * @deprecated use api_update instead
82
+ * @param array $params
83
+ * @return void
84
+ */
85
+ public function delete(array $params = array()) {
86
+ $this->getApi()->call(
87
+ $this->getNodePath(),
88
+ RequestInterface::METHOD_POST,
89
+ array_merge($params, array(
90
+ $this->getStatusParamName() => static::STATUS_DELETED)));
91
+ }
92
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractCrudObject.php ADDED
@@ -0,0 +1,531 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+ namespace FacebookAds\Object;
25
+ use FacebookAds\Api;
26
+ use FacebookAds\Cursor;
27
+ use FacebookAds\Http\RequestInterface;
28
+ use FacebookAds\Http\ResponseInterface;
29
+ class AbstractCrudObject extends AbstractObject {
30
+ /**
31
+ * @var string
32
+ */
33
+ const FIELD_ID = 'id';
34
+ /**
35
+ * @var string[] set of fields to read by default
36
+ */
37
+ protected static $defaultReadFields = array();
38
+ /**
39
+ * @var array set of fields that have been mutated
40
+ */
41
+ protected $changedFields = array();
42
+ /**
43
+ * @var Api instance of the Api used by this object
44
+ */
45
+ protected $api;
46
+ /**
47
+ * @var string ID of the adaccount this object belongs to
48
+ */
49
+ protected $parentId;
50
+
51
+ /**
52
+ * @deprecated deprecate constructor with null and parent_id
53
+ * @param string $id Optional (do not set for new objects)
54
+ * @param string $parent_id Optional, needed for creating new objects.
55
+ * @param Api $api The Api instance this object should use to make calls
56
+ */
57
+ public function __construct($id = null, $parent_id = null, Api $api = null) {
58
+ parent::__construct();
59
+
60
+ // check that $id is an integer or a string integer or a string of
61
+ // two integer connected by an underscore, like "123_456"
62
+
63
+ $int_id = $id;
64
+ if (strpos($id, 'act_') === 0) {
65
+ $int_id = substr($id, 4);
66
+ }
67
+ $split_by_underscore = explode('_', (string) $id);
68
+ $is_regular_id = sizeof($split_by_underscore) == 2 &&
69
+ ctype_digit($split_by_underscore[0]) &&
70
+ ctype_digit($split_by_underscore[1]);
71
+ if (!is_null($int_id) && !ctype_digit((string) $int_id) && !$is_regular_id) {
72
+ $extra_message = '';
73
+ if (is_numeric($int_id)) {
74
+ $extra_message = ' Please use an integer string'
75
+ .' to prevent integer overflow.';
76
+ }
77
+ throw new \InvalidArgumentException(
78
+ 'Object ID must be an integer or integer string but was passed "'
79
+ .(string)$id.'" ('.gettype($id).').'.(string)$extra_message);
80
+ }
81
+ $this->data[static::FIELD_ID] = $id;
82
+
83
+ if (!is_null($parent_id)) {
84
+ $warning_message = "\$parent_id as a parameter of constructor is being " .
85
+ "deprecated, please try not to use this in new code.\n";
86
+ trigger_error($warning_message, E_USER_DEPRECATED);
87
+ }
88
+ $this->parentId = $parent_id;
89
+
90
+ $this->api = static::assureApi($api);
91
+ }
92
+
93
+ /**
94
+ * @param string $id
95
+ */
96
+ public function setId($id) {
97
+ $this->data[static::FIELD_ID] = $id;
98
+ return $this;
99
+ }
100
+ /**
101
+ * @deprecated deprecate parent_id in AbstractCrudObject
102
+ * @param string $parent_id
103
+ */
104
+ public function setParentId($parent_id) {
105
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
106
+ ' this in new code.',__FUNCTION__);
107
+ trigger_error($warning_message, E_USER_DEPRECATED);
108
+ $this->parentId = $parent_id;
109
+ return $this;
110
+ }
111
+ /**
112
+ * @param Api $api The Api instance this object should use to make calls
113
+ */
114
+ public function setApi(Api $api) {
115
+ $this->api = static::assureApi($api);
116
+ return $this;
117
+ }
118
+ /**
119
+ * @deprecated getEndpoint function is deprecated
120
+ * @return string
121
+ */
122
+ protected function getEndpoint() {
123
+ return null;
124
+ }
125
+ /**
126
+ * @param Api|null $instance
127
+ * @return Api
128
+ * @throws \InvalidArgumentException
129
+ */
130
+ protected static function assureApi(Api $instance = null) {
131
+ $instance = $instance ?: Api::instance();
132
+ if (!$instance) {
133
+ throw new \InvalidArgumentException(
134
+ 'An Api instance must be provided as argument or '.
135
+ 'set as instance in the \FacebookAds\Api');
136
+ }
137
+ return $instance;
138
+ }
139
+ /**
140
+ * @deprecated deprecate parent_id in AbstractCrudObject
141
+ * @return string|null
142
+ */
143
+ public function getParentId() {
144
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
145
+ ' this in new code.',__FUNCTION__);
146
+ trigger_error($warning_message, E_USER_DEPRECATED);
147
+ return $this->parentId;
148
+ }
149
+ /**
150
+ * @deprecated deprecate parent_id in AbstractCrudObject
151
+ * @return string
152
+ * @throws \Exception
153
+ */
154
+ protected function assureParentId() {
155
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
156
+ ' this in new code.',__FUNCTION__);
157
+ trigger_error($warning_message, E_USER_DEPRECATED);
158
+ if (!$this->parentId) {
159
+ throw new \Exception("A parent ID is required.");
160
+ }
161
+ return $this->parentId;
162
+ }
163
+ /**
164
+ * @return string
165
+ * @throws \Exception
166
+ */
167
+ protected function assureId() {
168
+ if (!$this->data[static::FIELD_ID]) {
169
+ throw new \Exception("field '".static::FIELD_ID."' is required.");
170
+ }
171
+ return (string) $this->data[static::FIELD_ID];
172
+ }
173
+ /**
174
+ * @return Api
175
+ */
176
+ public function getApi() {
177
+ return $this->api;
178
+ }
179
+ /**
180
+ * Get the values which have changed
181
+ *
182
+ * @return array Key value pairs of changed variables
183
+ */
184
+ public function getChangedValues() {
185
+ return $this->changedFields;
186
+ }
187
+ /**
188
+ * Get the name of the fields that have changed
189
+ *
190
+ * @return array Array of changed field names
191
+ */
192
+ public function getChangedFields() {
193
+ return array_keys($this->changedFields);
194
+ }
195
+ /**
196
+ * Get the values which have changed, converting them to scalars
197
+ */
198
+ public function exportData() {
199
+ $data = array();
200
+ foreach ($this->changedFields as $key => $val) {
201
+ $data[$key] = parent::exportValue($val);
202
+ }
203
+ return $data;
204
+ }
205
+ /**
206
+ * @return void
207
+ */
208
+ protected function clearHistory() {
209
+ $this->changedFields = array();
210
+ }
211
+ /**
212
+ * @param string $name
213
+ * @param mixed $value
214
+ */
215
+ public function __set($name, $value) {
216
+ if (!array_key_exists($name, $this->data)
217
+ || $this->data[$name] !== $value) {
218
+ $this->changedFields[$name] = $value;
219
+ }
220
+ parent::__set($name, $value);
221
+ }
222
+ /**
223
+ * @param string[] $fields
224
+ */
225
+ public static function setDefaultReadFields(array $fields = array()) {
226
+ static::$defaultReadFields = $fields;
227
+ }
228
+ /**
229
+ * @return string[]
230
+ */
231
+ public static function getDefaultReadFields() {
232
+ return static::$defaultReadFields;
233
+ }
234
+ /**
235
+ * @return string
236
+ */
237
+ protected function getNodePath() {
238
+ return '/'.$this->assureId();
239
+ }
240
+ /**
241
+ * @deprecated
242
+ * use (ParentObject)->creatXXX() instead
243
+ * Create function for the object.
244
+ *
245
+ * @param array $params Additional parameters to include in the request
246
+ * @return $this
247
+ * @throws \Exception
248
+ */
249
+ public function create(array $params = array()) {
250
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
251
+ ' this in new code.',__FUNCTION__);
252
+ trigger_error($warning_message, E_USER_DEPRECATED);
253
+ if ($this->data[static::FIELD_ID]) {
254
+ throw new \Exception("Object has already an ID");
255
+ }
256
+ $response = $this->getApi()->call(
257
+ '/'.$this->assureParentId().'/'.$this->getEndpoint(),
258
+ RequestInterface::METHOD_POST,
259
+ array_merge($this->exportData(), $params));
260
+ $this->clearHistory();
261
+ $data = $response->getContent();
262
+ if (!isset($params['execution_options'])){
263
+ $id = is_string($data) ? $data : $data[static::FIELD_ID];
264
+ /** @var AbstractCrudObject $this */
265
+ if ($this instanceof CanRedownloadInterface
266
+ && isset($params[CanRedownloadInterface::PARAM_REDOWNLOAD])
267
+ && $params[CanRedownloadInterface::PARAM_REDOWNLOAD] === true
268
+ && isset($data['data'][$id])
269
+ && is_array($data['data'][$id])
270
+ ) {
271
+ $this->setDataWithoutValidation($data['data'][$id]);
272
+ }
273
+ $this->data[static::FIELD_ID] = (string) $id;
274
+ }
275
+ return $this;
276
+ }
277
+ /**
278
+ * @deprecated
279
+ * use getSelf() instead
280
+ * Read object data from the graph
281
+ *
282
+ * @param string[] $fields Fields to request
283
+ * @param array $params Additional request parameters
284
+ * @return $this
285
+ */
286
+ public function read(array $fields = array(), array $params = array()) {
287
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
288
+ ' this in new code.',__FUNCTION__);
289
+ trigger_error($warning_message, E_USER_DEPRECATED);
290
+ $fields = implode(',', $fields ?: static::getDefaultReadFields());
291
+ if ($fields) {
292
+ $params['fields'] = $fields;
293
+ }
294
+ $response = $this->getApi()->call(
295
+ $this->getNodePath(),
296
+ RequestInterface::METHOD_GET,
297
+ $params);
298
+ $this->setDataWithoutValidation($response->getContent());
299
+ $this->clearHistory();
300
+ return $this;
301
+ }
302
+ /**
303
+ * @deprecated
304
+ * use updateSelf() instead
305
+ * Update the object. Function parameters are similar with the create function
306
+ *
307
+ * @param array $params Update parameters in assoc
308
+ * @return $this
309
+ */
310
+ public function update(array $params = array()) {
311
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
312
+ ' this in new code.',__FUNCTION__);
313
+ trigger_error($warning_message, E_USER_DEPRECATED);
314
+ $this->getApi()->call(
315
+ $this->getNodePath(),
316
+ RequestInterface::METHOD_POST,
317
+ array_merge($this->exportData(), $params));
318
+ $this->clearHistory();
319
+ return $this;
320
+ }
321
+ /**
322
+ * @deprecated
323
+ * use deleteSelf() in each subclass
324
+ * Delete this object from the graph
325
+ *
326
+ * @param array $params
327
+ * @return void
328
+ */
329
+ public function deleteSelf(array $params = array()) {
330
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
331
+ ' this in new code.',__FUNCTION__);
332
+ trigger_error($warning_message, E_USER_DEPRECATED);
333
+ $this->getApi()->call(
334
+ $this->getNodePath(),
335
+ RequestInterface::METHOD_DELETE,
336
+ $params);
337
+ }
338
+ /**
339
+ * @deprecated
340
+ * deprecate with ObjectValidation
341
+ * Perform object upsert
342
+ *
343
+ * Helper function which determines whether an object should be created or
344
+ * updated
345
+ *
346
+ * @param array $params
347
+ * @return $this
348
+ */
349
+ public function save(array $params = array()) {
350
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
351
+ ' this in new code.',__FUNCTION__);
352
+ trigger_error($warning_message, E_USER_DEPRECATED);
353
+ if ($this->data[static::FIELD_ID]) {
354
+ return $this->update($params);
355
+ } else {
356
+ return $this->create($params);
357
+ }
358
+ }
359
+ /**
360
+ * @deprecated
361
+ * deprecate with getEndpoint
362
+ * @param string $prototype_class
363
+ * @param string $endpoint
364
+ * @return string
365
+ * @throws \InvalidArgumentException
366
+ */
367
+ protected function assureEndpoint($prototype_class, $endpoint) {
368
+ $warning_message = sprintf('%s is being deprecated, please try not to use'.
369
+ ' this in new code.',__FUNCTION__);
370
+ trigger_error($warning_message, E_USER_DEPRECATED);
371
+ if (!$endpoint) {
372
+ $prototype = new $prototype_class(null, null, $this->getApi());
373
+ if (!$prototype instanceof AbstractCrudObject) {
374
+ throw new \InvalidArgumentException('Either prototype must be instance
375
+ of AbstractCrudObject or $endpoint must be given');
376
+ }
377
+ $endpoint = $prototype->getEndpoint();
378
+ }
379
+ return $endpoint;
380
+ }
381
+ /**
382
+ * @param array $fields
383
+ * @param array $params
384
+ * @param string $prototype_class
385
+ * @param string|null $endpoint
386
+ * @return ResponseInterface
387
+ */
388
+ protected function fetchConnection(
389
+ array $fields = array(),
390
+ array $params = array(),
391
+ $prototype_class,
392
+ $endpoint = null) {
393
+ $fields = implode(',', $fields ?: static::getDefaultReadFields());
394
+ if ($fields) {
395
+ $params['fields'] = $fields;
396
+ }
397
+ $endpoint = $this->assureEndpoint($prototype_class, $endpoint);
398
+ return $this->getApi()->call(
399
+ '/'.$this->assureId().'/'.$endpoint,
400
+ RequestInterface::METHOD_GET,
401
+ $params);
402
+ }
403
+ /**
404
+ * Read a single connection object
405
+ *
406
+ * @param string $prototype_class
407
+ * @param array $fields Fields to request
408
+ * @param array $params Additional filters for the reading
409
+ * @param string|null $endpoint
410
+ * @return AbstractObject
411
+ */
412
+ protected function getOneByConnection(
413
+ $prototype_class,
414
+ array $fields = array(),
415
+ array $params = array(),
416
+ $endpoint = null) {
417
+ $response = $this->fetchConnection(
418
+ $fields, $params, $prototype_class, $endpoint);
419
+ if (!$response->getContent()) {
420
+ return null;
421
+ }
422
+ $object = new $prototype_class(
423
+ null, null, $this->getApi());
424
+ /** @var AbstractCrudObject $object */
425
+ $object->setDataWithoutValidation($response->getContent());
426
+ return $object;
427
+ }
428
+ /**
429
+ * Read objects from a connection
430
+ *
431
+ * @param string $prototype_class
432
+ * @param array $fields Fields to request
433
+ * @param array $params Additional filters for the reading
434
+ * @param string|null $endpoint
435
+ * @return Cursor
436
+ */
437
+ protected function getManyByConnection(
438
+ $prototype_class,
439
+ array $fields = array(),
440
+ array $params = array(),
441
+ $endpoint = null) {
442
+ $response = $this->fetchConnection(
443
+ $fields, $params, $prototype_class, $endpoint);
444
+ return new Cursor(
445
+ $response,
446
+ new $prototype_class(null, null, $this->getApi()));
447
+ }
448
+ /**
449
+ * @param string $job_class
450
+ * @param array $fields
451
+ * @param array $params
452
+ * @return AbstractAsyncJobObject
453
+ * @throws \InvalidArgumentException
454
+ */
455
+ protected function createAsyncJob(
456
+ $job_class,
457
+ array $fields = array(),
458
+ array $params = array()) {
459
+ $object = new $job_class(null, $this->assureId(), $this->getApi());
460
+ if (!$object instanceof AbstractAsyncJobObject) {
461
+ throw new \InvalidArgumentException(
462
+ "Class {$job_class} is not of type "
463
+ .AbstractAsyncJobObject::className());
464
+ }
465
+ $params['fields'] = $fields;
466
+ return $object->create($params);
467
+ }
468
+ /**
469
+ * Delete objects.
470
+ *
471
+ * Used batch API calls to delete multiple objects at once
472
+ *
473
+ * @param string[] $ids Array or single Object ID to delete
474
+ * @param Api $api Api Object to use
475
+ * @return bool Returns true on success
476
+ */
477
+ public static function deleteIds(array $ids, Api $api = null) {
478
+ $batch = array();
479
+ foreach ($ids as $id) {
480
+ $request = array(
481
+ 'relative_url' => '/'.$id,
482
+ 'method' => RequestInterface::METHOD_DELETE,
483
+ );
484
+ $batch[] = $request;
485
+ }
486
+ $api = static::assureApi($api);
487
+ $response = $api->call(
488
+ '/',
489
+ RequestInterface::METHOD_POST,
490
+ array('batch' => json_encode($batch)));
491
+ foreach ($response->getContent() as $result) {
492
+ if (200 != $result['code']) {
493
+ return false;
494
+ }
495
+ }
496
+ return true;
497
+ }
498
+ /**
499
+ * Read function for the object. Convert fields and filters into the query
500
+ * part of uri and return objects.
501
+ *
502
+ * @param mixed $ids Array or single object IDs
503
+ * @param array $fields Array of field names to read
504
+ * @param array $params Additional filters for the reading, in assoc
505
+ * @param Api $api Api Object to use
506
+ * @return Cursor
507
+ */
508
+ public static function readIds(
509
+ array $ids,
510
+ array $fields = array(),
511
+ array $params = array(),
512
+ Api $api = null) {
513
+ if (empty($fields)) {
514
+ $fields = static::getDefaultReadFields();
515
+ }
516
+ if (!empty($fields)) {
517
+ $params['fields'] = implode(',', $fields);
518
+ }
519
+ $params['ids'] = implode(',', $ids);
520
+ $api = static::assureApi($api);
521
+ $response = $api->call('/', RequestInterface::METHOD_GET, $params);
522
+ $result = array();
523
+ foreach ($response->getContent() as $data) {
524
+ /** @var AbstractObject $object */
525
+ $object = new static(null, null, $api);
526
+ $object->setDataWithoutValidation((array) $data);
527
+ $result[] = $object;
528
+ }
529
+ return $result;
530
+ }
531
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AbstractObject.php ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+ namespace FacebookAds\Object;
25
+ use FacebookAds\ApiConfig;
26
+ use FacebookAds\TypeChecker;
27
+ use FacebookAds\Enum\EmptyEnum;
28
+ class AbstractObject {
29
+ /**
30
+ * @var mixed[] set of key value pairs representing data
31
+ */
32
+ protected $data = array();
33
+ protected $_type_checker;
34
+
35
+ public function __construct() {
36
+ $this->data = static::getFieldsEnum()->getValuesMap();
37
+ $this->_type_checker = new TypeChecker(
38
+ static::getFieldTypes(), static::getReferencedEnums());
39
+ }
40
+
41
+ protected static function getFieldTypes() {
42
+ $fields_enum = static::getFieldsEnum();
43
+ if (method_exists($fields_enum, 'getFieldTypes')) {
44
+ return $fields_enum->getFieldTypes();
45
+ } else {
46
+ return array();
47
+ }
48
+ }
49
+
50
+ protected static function getReferencedEnums() {
51
+ return array();
52
+ }
53
+
54
+ /**
55
+ * @param string $name
56
+ * @param mixed $value
57
+ */
58
+ public function __set($name, $value) {
59
+ if (ApiConfig::TYPE_CHECKER_STRICT_MODE
60
+ && $this->_type_checker->isValidParam($name)
61
+ ) {
62
+ if ($this->_type_checker->isValidParamPair($name, $value)) {
63
+ $this->data[$name] = $value;
64
+ } else {
65
+ throw new \InvalidArgumentException(
66
+ $name." and ".$this->exportValue($value)
67
+ ." are not a valid type value pair");
68
+ }
69
+ } else {
70
+ $this->data[$name] = $value;
71
+ }
72
+ return $this;
73
+ }
74
+
75
+ /**
76
+ * @param string $name
77
+ * @return mixed
78
+ * @throws \InvalidArgumentException
79
+ */
80
+ public function __get($name) {
81
+ if (array_key_exists($name, $this->data)) {
82
+ return $this->data[$name];
83
+ } else {
84
+ throw new \InvalidArgumentException(
85
+ $name.' is not a field of '.get_class($this));
86
+ }
87
+ }
88
+ /**
89
+ * @param string $name
90
+ * @return boolean
91
+ */
92
+ public function __isset($name) {
93
+ return array_key_exists($name, $this->data);
94
+ }
95
+ /**
96
+ * @param array
97
+ * @return $this
98
+ */
99
+ public function setData(array $data) {
100
+ foreach ($data as $key => $value) {
101
+ $this->{$key} = $value;
102
+ }
103
+ // Handle class-specific situations
104
+ if (method_exists($this, 'setDataTrigger')) {
105
+ $this->setDataTrigger($data);
106
+ }
107
+
108
+ return $this;
109
+ }
110
+ /**
111
+ * Like setData but will skip field validation
112
+ *
113
+ * @param array
114
+ * @return $this
115
+ */
116
+ public function setDataWithoutValidation(array $data) {
117
+ foreach ($data as $key => $value) {
118
+ $this->data[$key] = $value;
119
+ }
120
+ // Handle class-specific situations
121
+ if (method_exists($this, 'setDataTrigger')) {
122
+ $this->setDataTrigger($data);
123
+ }
124
+ return $this;
125
+ }
126
+ /**
127
+ * @return array
128
+ */
129
+ public function getData() {
130
+ return $this->data;
131
+ }
132
+ /**
133
+ * @param mixed $value
134
+ * @return mixed
135
+ */
136
+ protected function exportValue($value) {
137
+ $result = $value;
138
+ switch (true) {
139
+ case $value === null:
140
+ break;
141
+ case $value instanceof AbstractObject:
142
+ $result = $value->exportData();
143
+ break;
144
+ case is_array($value):
145
+ $result = array();
146
+ foreach ($value as $key => $sub_value) {
147
+ if ($sub_value !== null) {
148
+ $result[$key] = $this->exportValue($sub_value);
149
+ }
150
+ }
151
+ break;
152
+ }
153
+ return $result;
154
+ }
155
+ /**
156
+ * @return array
157
+ */
158
+ public function exportData() {
159
+ return $this->exportValue($this->data);
160
+ }
161
+ /**
162
+ * @return array
163
+ */
164
+ public function exportAllData() {
165
+ return $this->exportValue($this->data);
166
+ }
167
+ /**
168
+ * @return EmptyEnum
169
+ */
170
+ public static function getFieldsEnum() {
171
+ return EmptyEnum::getInstance();
172
+ }
173
+ /**
174
+ * @return array
175
+ */
176
+ public static function getFields() {
177
+ return static::getFieldsEnum()->getValues();
178
+ }
179
+ /**
180
+ * @return string
181
+ */
182
+ public static function className() {
183
+ return get_called_class();
184
+ }
185
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/Ad.php ADDED
@@ -0,0 +1,516 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdFields;
32
+ use FacebookAds\Object\Values\AdBidTypeValues;
33
+ use FacebookAds\Object\Values\AdConfiguredStatusValues;
34
+ use FacebookAds\Object\Values\AdDatePresetValues;
35
+ use FacebookAds\Object\Values\AdEffectiveStatusValues;
36
+ use FacebookAds\Object\Values\AdExecutionOptionsValues;
37
+ use FacebookAds\Object\Values\AdOperatorValues;
38
+ use FacebookAds\Object\Values\AdPreviewAdFormatValues;
39
+ use FacebookAds\Object\Values\AdPreviewRenderTypeValues;
40
+ use FacebookAds\Object\Values\AdStatusOptionValues;
41
+ use FacebookAds\Object\Values\AdStatusValues;
42
+ use FacebookAds\Object\Values\AdsInsightsActionAttributionWindowsValues;
43
+ use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
44
+ use FacebookAds\Object\Values\AdsInsightsActionReportTimeValues;
45
+ use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
46
+ use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
47
+ use FacebookAds\Object\Values\AdsInsightsLevelValues;
48
+ use FacebookAds\Object\Values\AdsInsightsSummaryActionBreakdownsValues;
49
+ use FacebookAds\Object\Traits\AdLabelAwareCrudObjectTrait;
50
+
51
+ /**
52
+ * This class is auto-generated.
53
+ *
54
+ * For any issues or feature requests related to this class, please let us know
55
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
56
+ * pull request for this class.
57
+ *
58
+ */
59
+
60
+ class Ad extends AbstractArchivableCrudObject
61
+ implements CanRedownloadInterface {
62
+
63
+ use AdLabelAwareCrudObjectTrait;
64
+
65
+ /**
66
+ * @deprecated getEndpoint function is deprecated
67
+ */
68
+ protected function getEndpoint() {
69
+ return 'ads';
70
+ }
71
+
72
+ /**
73
+ * @return AdFields
74
+ */
75
+ public static function getFieldsEnum() {
76
+ return AdFields::getInstance();
77
+ }
78
+
79
+ protected static function getReferencedEnums() {
80
+ $ref_enums = array();
81
+ $ref_enums['BidType'] = AdBidTypeValues::getInstance()->getValues();
82
+ $ref_enums['ConfiguredStatus'] = AdConfiguredStatusValues::getInstance()->getValues();
83
+ $ref_enums['EffectiveStatus'] = AdEffectiveStatusValues::getInstance()->getValues();
84
+ $ref_enums['Status'] = AdStatusValues::getInstance()->getValues();
85
+ $ref_enums['DatePreset'] = AdDatePresetValues::getInstance()->getValues();
86
+ $ref_enums['ExecutionOptions'] = AdExecutionOptionsValues::getInstance()->getValues();
87
+ $ref_enums['Operator'] = AdOperatorValues::getInstance()->getValues();
88
+ $ref_enums['StatusOption'] = AdStatusOptionValues::getInstance()->getValues();
89
+ return $ref_enums;
90
+ }
91
+
92
+
93
+ public function getAdCreatives(array $fields = array(), array $params = array(), $pending = false) {
94
+ $this->assureId();
95
+
96
+ $param_types = array(
97
+ );
98
+ $enums = array(
99
+ );
100
+
101
+ $request = new ApiRequest(
102
+ $this->api,
103
+ $this->data['id'],
104
+ RequestInterface::METHOD_GET,
105
+ '/adcreatives',
106
+ new AdCreative(),
107
+ 'EDGE',
108
+ AdCreative::getFieldsEnum()->getValues(),
109
+ new TypeChecker($param_types, $enums)
110
+ );
111
+ $request->addParams($params);
112
+ $request->addFields($fields);
113
+ return $pending ? $request : $request->execute();
114
+ }
115
+
116
+ public function createAdLabel(array $fields = array(), array $params = array(), $pending = false) {
117
+ $this->assureId();
118
+
119
+ $param_types = array(
120
+ 'adlabels' => 'list<Object>',
121
+ 'execution_options' => 'list<execution_options_enum>',
122
+ );
123
+ $enums = array(
124
+ 'execution_options_enum' => AdExecutionOptionsValues::getInstance()->getValues(),
125
+ );
126
+
127
+ $request = new ApiRequest(
128
+ $this->api,
129
+ $this->data['id'],
130
+ RequestInterface::METHOD_POST,
131
+ '/adlabels',
132
+ new Ad(),
133
+ 'EDGE',
134
+ Ad::getFieldsEnum()->getValues(),
135
+ new TypeChecker($param_types, $enums)
136
+ );
137
+ $request->addParams($params);
138
+ $request->addFields($fields);
139
+ return $pending ? $request : $request->execute();
140
+ }
141
+
142
+ public function getAdRulesGoverned(array $fields = array(), array $params = array(), $pending = false) {
143
+ $this->assureId();
144
+
145
+ $param_types = array(
146
+ 'pass_evaluation' => 'bool',
147
+ );
148
+ $enums = array(
149
+ );
150
+
151
+ $request = new ApiRequest(
152
+ $this->api,
153
+ $this->data['id'],
154
+ RequestInterface::METHOD_GET,
155
+ '/adrules_governed',
156
+ new AdRule(),
157
+ 'EDGE',
158
+ AdRule::getFieldsEnum()->getValues(),
159
+ new TypeChecker($param_types, $enums)
160
+ );
161
+ $request->addParams($params);
162
+ $request->addFields($fields);
163
+ return $pending ? $request : $request->execute();
164
+ }
165
+
166
+ public function getCopies(array $fields = array(), array $params = array(), $pending = false) {
167
+ $this->assureId();
168
+
169
+ $param_types = array(
170
+ 'date_preset' => 'date_preset_enum',
171
+ 'effective_status' => 'list<string>',
172
+ 'time_range' => 'Object',
173
+ 'updated_since' => 'int',
174
+ );
175
+ $enums = array(
176
+ 'date_preset_enum' => AdDatePresetValues::getInstance()->getValues(),
177
+ );
178
+
179
+ $request = new ApiRequest(
180
+ $this->api,
181
+ $this->data['id'],
182
+ RequestInterface::METHOD_GET,
183
+ '/copies',
184
+ new Ad(),
185
+ 'EDGE',
186
+ Ad::getFieldsEnum()->getValues(),
187
+ new TypeChecker($param_types, $enums)
188
+ );
189
+ $request->addParams($params);
190
+ $request->addFields($fields);
191
+ return $pending ? $request : $request->execute();
192
+ }
193
+
194
+ public function createCopy(array $fields = array(), array $params = array(), $pending = false) {
195
+ $this->assureId();
196
+
197
+ $param_types = array(
198
+ 'adset_id' => 'string',
199
+ 'rename_options' => 'Object',
200
+ 'status_option' => 'status_option_enum',
201
+ );
202
+ $enums = array(
203
+ 'status_option_enum' => AdStatusOptionValues::getInstance()->getValues(),
204
+ );
205
+
206
+ $request = new ApiRequest(
207
+ $this->api,
208
+ $this->data['id'],
209
+ RequestInterface::METHOD_POST,
210
+ '/copies',
211
+ new Ad(),
212
+ 'EDGE',
213
+ Ad::getFieldsEnum()->getValues(),
214
+ new TypeChecker($param_types, $enums)
215
+ );
216
+ $request->addParams($params);
217
+ $request->addFields($fields);
218
+ return $pending ? $request : $request->execute();
219
+ }
220
+
221
+ public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
222
+ $this->assureId();
223
+
224
+ $param_types = array(
225
+ 'action_attribution_windows' => 'list<action_attribution_windows_enum>',
226
+ 'action_breakdowns' => 'list<action_breakdowns_enum>',
227
+ 'action_report_time' => 'action_report_time_enum',
228
+ 'breakdowns' => 'list<breakdowns_enum>',
229
+ 'date_preset' => 'date_preset_enum',
230
+ 'default_summary' => 'bool',
231
+ 'export_columns' => 'list<string>',
232
+ 'export_format' => 'string',
233
+ 'export_name' => 'string',
234
+ 'fields' => 'list<string>',
235
+ 'filtering' => 'list<Object>',
236
+ 'level' => 'level_enum',
237
+ 'product_id_limit' => 'int',
238
+ 'sort' => 'list<string>',
239
+ 'summary' => 'list<string>',
240
+ 'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
241
+ 'time_increment' => 'string',
242
+ 'time_range' => 'Object',
243
+ 'time_ranges' => 'list<Object>',
244
+ 'use_account_attribution_setting' => 'bool',
245
+ );
246
+ $enums = array(
247
+ 'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
248
+ 'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
249
+ 'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
250
+ 'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
251
+ 'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
252
+ 'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
253
+ 'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
254
+ );
255
+
256
+ $request = new ApiRequest(
257
+ $this->api,
258
+ $this->data['id'],
259
+ RequestInterface::METHOD_GET,
260
+ '/insights',
261
+ new AdsInsights(),
262
+ 'EDGE',
263
+ AdsInsights::getFieldsEnum()->getValues(),
264
+ new TypeChecker($param_types, $enums)
265
+ );
266
+ $request->addParams($params);
267
+ $request->addFields($fields);
268
+ return $pending ? $request : $request->execute();
269
+ }
270
+
271
+ public function getInsightsAsync(array $fields = array(), array $params = array(), $pending = false) {
272
+ $this->assureId();
273
+
274
+ $param_types = array(
275
+ 'action_attribution_windows' => 'list<action_attribution_windows_enum>',
276
+ 'action_breakdowns' => 'list<action_breakdowns_enum>',
277
+ 'action_report_time' => 'action_report_time_enum',
278
+ 'breakdowns' => 'list<breakdowns_enum>',
279
+ 'date_preset' => 'date_preset_enum',
280
+ 'default_summary' => 'bool',
281
+ 'export_columns' => 'list<string>',
282
+ 'export_format' => 'string',
283
+ 'export_name' => 'string',
284
+ 'fields' => 'list<string>',
285
+ 'filtering' => 'list<Object>',
286
+ 'level' => 'level_enum',
287
+ 'product_id_limit' => 'int',
288
+ 'sort' => 'list<string>',
289
+ 'summary' => 'list<string>',
290
+ 'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
291
+ 'time_increment' => 'string',
292
+ 'time_range' => 'Object',
293
+ 'time_ranges' => 'list<Object>',
294
+ 'use_account_attribution_setting' => 'bool',
295
+ );
296
+ $enums = array(
297
+ 'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
298
+ 'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
299
+ 'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
300
+ 'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
301
+ 'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
302
+ 'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
303
+ 'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
304
+ );
305
+
306
+ $request = new ApiRequest(
307
+ $this->api,
308
+ $this->data['id'],
309
+ RequestInterface::METHOD_POST,
310
+ '/insights',
311
+ new AdReportRun(),
312
+ 'EDGE',
313
+ AdReportRun::getFieldsEnum()->getValues(),
314
+ new TypeChecker($param_types, $enums)
315
+ );
316
+ $request->addParams($params);
317
+ $request->addFields($fields);
318
+ return $pending ? $request : $request->execute();
319
+ }
320
+
321
+ public function getLeads(array $fields = array(), array $params = array(), $pending = false) {
322
+ $this->assureId();
323
+
324
+ $param_types = array(
325
+ );
326
+ $enums = array(
327
+ );
328
+
329
+ $request = new ApiRequest(
330
+ $this->api,
331
+ $this->data['id'],
332
+ RequestInterface::METHOD_GET,
333
+ '/leads',
334
+ new Lead(),
335
+ 'EDGE',
336
+ Lead::getFieldsEnum()->getValues(),
337
+ new TypeChecker($param_types, $enums)
338
+ );
339
+ $request->addParams($params);
340
+ $request->addFields($fields);
341
+ return $pending ? $request : $request->execute();
342
+ }
343
+
344
+ public function getPreviews(array $fields = array(), array $params = array(), $pending = false) {
345
+ $this->assureId();
346
+
347
+ $param_types = array(
348
+ 'ad_format' => 'ad_format_enum',
349
+ 'dynamic_asset_label' => 'string',
350
+ 'dynamic_creative_spec' => 'Object',
351
+ 'dynamic_customization' => 'Object',
352
+ 'end_date' => 'datetime',
353
+ 'height' => 'unsigned int',
354
+ 'locale' => 'string',
355
+ 'place_page_id' => 'int',
356
+ 'post' => 'Object',
357
+ 'product_item_ids' => 'list<string>',
358
+ 'render_type' => 'render_type_enum',
359
+ 'start_date' => 'datetime',
360
+ 'width' => 'unsigned int',
361
+ );
362
+ $enums = array(
363
+ 'ad_format_enum' => AdPreviewAdFormatValues::getInstance()->getValues(),
364
+ 'render_type_enum' => AdPreviewRenderTypeValues::getInstance()->getValues(),
365
+ );
366
+
367
+ $request = new ApiRequest(
368
+ $this->api,
369
+ $this->data['id'],
370
+ RequestInterface::METHOD_GET,
371
+ '/previews',
372
+ new AdPreview(),
373
+ 'EDGE',
374
+ AdPreview::getFieldsEnum()->getValues(),
375
+ new TypeChecker($param_types, $enums)
376
+ );
377
+ $request->addParams($params);
378
+ $request->addFields($fields);
379
+ return $pending ? $request : $request->execute();
380
+ }
381
+
382
+ public function getTargetingSentenceLines(array $fields = array(), array $params = array(), $pending = false) {
383
+ $this->assureId();
384
+
385
+ $param_types = array(
386
+ );
387
+ $enums = array(
388
+ );
389
+
390
+ $request = new ApiRequest(
391
+ $this->api,
392
+ $this->data['id'],
393
+ RequestInterface::METHOD_GET,
394
+ '/targetingsentencelines',
395
+ new TargetingSentenceLine(),
396
+ 'EDGE',
397
+ TargetingSentenceLine::getFieldsEnum()->getValues(),
398
+ new TypeChecker($param_types, $enums)
399
+ );
400
+ $request->addParams($params);
401
+ $request->addFields($fields);
402
+ return $pending ? $request : $request->execute();
403
+ }
404
+
405
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
406
+ $this->assureId();
407
+
408
+ $param_types = array(
409
+ );
410
+ $enums = array(
411
+ );
412
+
413
+ $request = new ApiRequest(
414
+ $this->api,
415
+ $this->data['id'],
416
+ RequestInterface::METHOD_DELETE,
417
+ '/',
418
+ new AbstractCrudObject(),
419
+ 'NODE',
420
+ array(),
421
+ new TypeChecker($param_types, $enums)
422
+ );
423
+ $request->addParams($params);
424
+ $request->addFields($fields);
425
+ return $pending ? $request : $request->execute();
426
+ }
427
+
428
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
429
+ $this->assureId();
430
+
431
+ $param_types = array(
432
+ 'am_call_tags' => 'map',
433
+ 'date_preset' => 'date_preset_enum',
434
+ 'from_adtable' => 'bool',
435
+ 'review_feedback_breakdown' => 'bool',
436
+ 'time_range' => 'Object',
437
+ );
438
+ $enums = array(
439
+ 'date_preset_enum' => array(
440
+ 'last_14d',
441
+ 'last_28d',
442
+ 'last_30d',
443
+ 'last_3d',
444
+ 'last_7d',
445
+ 'last_90d',
446
+ 'last_month',
447
+ 'last_quarter',
448
+ 'last_week_mon_sun',
449
+ 'last_week_sun_sat',
450
+ 'last_year',
451
+ 'lifetime',
452
+ 'this_month',
453
+ 'this_quarter',
454
+ 'this_week_mon_today',
455
+ 'this_week_sun_today',
456
+ 'this_year',
457
+ 'today',
458
+ 'yesterday',
459
+ ),
460
+ );
461
+
462
+ $request = new ApiRequest(
463
+ $this->api,
464
+ $this->data['id'],
465
+ RequestInterface::METHOD_GET,
466
+ '/',
467
+ new Ad(),
468
+ 'NODE',
469
+ Ad::getFieldsEnum()->getValues(),
470
+ new TypeChecker($param_types, $enums)
471
+ );
472
+ $request->addParams($params);
473
+ $request->addFields($fields);
474
+ return $pending ? $request : $request->execute();
475
+ }
476
+
477
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
478
+ $this->assureId();
479
+
480
+ $param_types = array(
481
+ 'adlabels' => 'list<Object>',
482
+ 'adset_spec' => 'AdSet',
483
+ 'audience_id' => 'string',
484
+ 'bid_amount' => 'int',
485
+ 'creative' => 'AdCreative',
486
+ 'display_sequence' => 'unsigned int',
487
+ 'draft_adgroup_id' => 'string',
488
+ 'engagement_audience' => 'bool',
489
+ 'execution_options' => 'list<execution_options_enum>',
490
+ 'include_demolink_hashes' => 'bool',
491
+ 'name' => 'string',
492
+ 'priority' => 'unsigned int',
493
+ 'status' => 'status_enum',
494
+ 'tracking_specs' => 'Object',
495
+ );
496
+ $enums = array(
497
+ 'execution_options_enum' => AdExecutionOptionsValues::getInstance()->getValues(),
498
+ 'status_enum' => AdStatusValues::getInstance()->getValues(),
499
+ );
500
+
501
+ $request = new ApiRequest(
502
+ $this->api,
503
+ $this->data['id'],
504
+ RequestInterface::METHOD_POST,
505
+ '/',
506
+ new Ad(),
507
+ 'NODE',
508
+ Ad::getFieldsEnum()->getValues(),
509
+ new TypeChecker($param_types, $enums)
510
+ );
511
+ $request->addParams($params);
512
+ $request->addFields($fields);
513
+ return $pending ? $request : $request->execute();
514
+ }
515
+
516
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccount.php ADDED
@@ -0,0 +1,3220 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountFields;
32
+ use FacebookAds\Object\Values\AdAccountAdRulesHistoryActionValues;
33
+ use FacebookAds\Object\Values\AdAccountAdRulesHistoryEvaluationTypeValues;
34
+ use FacebookAds\Object\Values\AdAccountClaimObjectiveValues;
35
+ use FacebookAds\Object\Values\AdAccountContentTypeValues;
36
+ use FacebookAds\Object\Values\AdAccountCurrencyValues;
37
+ use FacebookAds\Object\Values\AdAccountDeliveryEstimateOptimizationGoalValues;
38
+ use FacebookAds\Object\Values\AdAccountMatchedSearchApplicationsEdgeDataAppStoreValues;
39
+ use FacebookAds\Object\Values\AdAccountPermittedTasksValues;
40
+ use FacebookAds\Object\Values\AdAccountSubtypeValues;
41
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedLimitTypeValues;
42
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedModeValues;
43
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedObjectiveValues;
44
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedRegulatedCategoriesValues;
45
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedWhitelistedTypesValues;
46
+ use FacebookAds\Object\Values\AdAccountTasksValues;
47
+ use FacebookAds\Object\Values\AdActivityCategoryValues;
48
+ use FacebookAds\Object\Values\AdAsyncRequestSetNotificationModeValues;
49
+ use FacebookAds\Object\Values\AdCreativeApplinkTreatmentValues;
50
+ use FacebookAds\Object\Values\AdCreativeAuthorizationCategoryValues;
51
+ use FacebookAds\Object\Values\AdCreativeCategorizationCriteriaValues;
52
+ use FacebookAds\Object\Values\AdCreativeCategoryMediaSourceValues;
53
+ use FacebookAds\Object\Values\AdCreativeDynamicAdVoiceValues;
54
+ use FacebookAds\Object\Values\AdCreativeOperatorValues;
55
+ use FacebookAds\Object\Values\AdDatePresetValues;
56
+ use FacebookAds\Object\Values\AdExecutionOptionsValues;
57
+ use FacebookAds\Object\Values\AdOperatorValues;
58
+ use FacebookAds\Object\Values\AdPlacePageSetLocationTypesValues;
59
+ use FacebookAds\Object\Values\AdPlacePageSetTargetedAreaTypeValues;
60
+ use FacebookAds\Object\Values\AdPreviewAdFormatValues;
61
+ use FacebookAds\Object\Values\AdPreviewRenderTypeValues;
62
+ use FacebookAds\Object\Values\AdRuleStatusValues;
63
+ use FacebookAds\Object\Values\AdSetBidStrategyValues;
64
+ use FacebookAds\Object\Values\AdSetBillingEventValues;
65
+ use FacebookAds\Object\Values\AdSetDatePresetValues;
66
+ use FacebookAds\Object\Values\AdSetDestinationTypeValues;
67
+ use FacebookAds\Object\Values\AdSetEffectiveStatusValues;
68
+ use FacebookAds\Object\Values\AdSetExecutionOptionsValues;
69
+ use FacebookAds\Object\Values\AdSetFullFunnelExplorationModeValues;
70
+ use FacebookAds\Object\Values\AdSetOperatorValues;
71
+ use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
72
+ use FacebookAds\Object\Values\AdSetOptimizationSubEventValues;
73
+ use FacebookAds\Object\Values\AdSetStatusValues;
74
+ use FacebookAds\Object\Values\AdSetTuneForCategoryValues;
75
+ use FacebookAds\Object\Values\AdStatusValues;
76
+ use FacebookAds\Object\Values\AdVideoContainerTypeValues;
77
+ use FacebookAds\Object\Values\AdVideoContentCategoryValues;
78
+ use FacebookAds\Object\Values\AdVideoFormattingValues;
79
+ use FacebookAds\Object\Values\AdVideoOriginalProjectionTypeValues;
80
+ use FacebookAds\Object\Values\AdVideoSwapModeValues;
81
+ use FacebookAds\Object\Values\AdVideoUnpublishedContentTypeValues;
82
+ use FacebookAds\Object\Values\AdVideoUploadPhaseValues;
83
+ use FacebookAds\Object\Values\AdsInsightsActionAttributionWindowsValues;
84
+ use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
85
+ use FacebookAds\Object\Values\AdsInsightsActionReportTimeValues;
86
+ use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
87
+ use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
88
+ use FacebookAds\Object\Values\AdsInsightsLevelValues;
89
+ use FacebookAds\Object\Values\AdsInsightsSummaryActionBreakdownsValues;
90
+ use FacebookAds\Object\Values\AdsPixelSortByValues;
91
+ use FacebookAds\Object\Values\AsyncRequestStatusValues;
92
+ use FacebookAds\Object\Values\AsyncRequestTypeValues;
93
+ use FacebookAds\Object\Values\BusinessOwnedObjectOnBehalfOfRequestStatusValues;
94
+ use FacebookAds\Object\Values\CampaignBidStrategyValues;
95
+ use FacebookAds\Object\Values\CampaignDatePresetValues;
96
+ use FacebookAds\Object\Values\CampaignEffectiveStatusValues;
97
+ use FacebookAds\Object\Values\CampaignExecutionOptionsValues;
98
+ use FacebookAds\Object\Values\CampaignObjectiveValues;
99
+ use FacebookAds\Object\Values\CampaignOperatorValues;
100
+ use FacebookAds\Object\Values\CampaignSpecialAdCategoryValues;
101
+ use FacebookAds\Object\Values\CampaignStatusValues;
102
+ use FacebookAds\Object\Values\ContentDeliveryReportPlatformValues;
103
+ use FacebookAds\Object\Values\ContentDeliveryReportPositionValues;
104
+ use FacebookAds\Object\Values\CustomAudienceClaimObjectiveValues;
105
+ use FacebookAds\Object\Values\CustomAudienceContentTypeValues;
106
+ use FacebookAds\Object\Values\CustomAudienceCustomerFileSourceValues;
107
+ use FacebookAds\Object\Values\CustomAudienceSubtypeValues;
108
+ use FacebookAds\Object\Values\CustomConversionCustomEventTypeValues;
109
+ use FacebookAds\Object\Values\ReachFrequencyPredictionActionValues;
110
+ use FacebookAds\Object\Values\ReachFrequencyPredictionBuyingTypeValues;
111
+ use FacebookAds\Object\Values\ReachFrequencyPredictionInstreamPackagesValues;
112
+
113
+ /**
114
+ * This class is auto-generated.
115
+ *
116
+ * For any issues or feature requests related to this class, please let us know
117
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
118
+ * pull request for this class.
119
+ *
120
+ */
121
+
122
+ class AdAccount extends AbstractCrudObject {
123
+
124
+ /**
125
+ * @deprecated getEndpoint function is deprecated
126
+ */
127
+ protected function getEndpoint() {
128
+ return 'adaccounts';
129
+ }
130
+
131
+ /**
132
+ * @return AdAccountFields
133
+ */
134
+ public static function getFieldsEnum() {
135
+ return AdAccountFields::getInstance();
136
+ }
137
+
138
+ protected static function getReferencedEnums() {
139
+ $ref_enums = array();
140
+ $ref_enums['Currency'] = AdAccountCurrencyValues::getInstance()->getValues();
141
+ $ref_enums['PermittedTasks'] = AdAccountPermittedTasksValues::getInstance()->getValues();
142
+ $ref_enums['Tasks'] = AdAccountTasksValues::getInstance()->getValues();
143
+ $ref_enums['ClaimObjective'] = AdAccountClaimObjectiveValues::getInstance()->getValues();
144
+ $ref_enums['ContentType'] = AdAccountContentTypeValues::getInstance()->getValues();
145
+ $ref_enums['Subtype'] = AdAccountSubtypeValues::getInstance()->getValues();
146
+ return $ref_enums;
147
+ }
148
+
149
+
150
+ public function getActivities(array $fields = array(), array $params = array(), $pending = false) {
151
+ $this->assureId();
152
+
153
+ $param_types = array(
154
+ 'add_children' => 'bool',
155
+ 'after' => 'string',
156
+ 'business_id' => 'string',
157
+ 'category' => 'category_enum',
158
+ 'extra_oids' => 'list<string>',
159
+ 'limit' => 'int',
160
+ 'oid' => 'string',
161
+ 'since' => 'datetime',
162
+ 'uid' => 'int',
163
+ 'until' => 'datetime',
164
+ );
165
+ $enums = array(
166
+ 'category_enum' => AdActivityCategoryValues::getInstance()->getValues(),
167
+ );
168
+
169
+ $request = new ApiRequest(
170
+ $this->api,
171
+ $this->data['id'],
172
+ RequestInterface::METHOD_GET,
173
+ '/activities',
174
+ new AdActivity(),
175
+ 'EDGE',
176
+ AdActivity::getFieldsEnum()->getValues(),
177
+ new TypeChecker($param_types, $enums)
178
+ );
179
+ $request->addParams($params);
180
+ $request->addFields($fields);
181
+ return $pending ? $request : $request->execute();
182
+ }
183
+
184
+ public function getAdPlacePageSets(array $fields = array(), array $params = array(), $pending = false) {
185
+ $this->assureId();
186
+
187
+ $param_types = array(
188
+ );
189
+ $enums = array(
190
+ );
191
+
192
+ $request = new ApiRequest(
193
+ $this->api,
194
+ $this->data['id'],
195
+ RequestInterface::METHOD_GET,
196
+ '/ad_place_page_sets',
197
+ new AdPlacePageSet(),
198
+ 'EDGE',
199
+ AdPlacePageSet::getFieldsEnum()->getValues(),
200
+ new TypeChecker($param_types, $enums)
201
+ );
202
+ $request->addParams($params);
203
+ $request->addFields($fields);
204
+ return $pending ? $request : $request->execute();
205
+ }
206
+
207
+ public function createAdPlacePageSet(array $fields = array(), array $params = array(), $pending = false) {
208
+ $this->assureId();
209
+
210
+ $param_types = array(
211
+ 'location_types' => 'list<location_types_enum>',
212
+ 'name' => 'string',
213
+ 'parent_page' => 'string',
214
+ 'targeted_area_type' => 'targeted_area_type_enum',
215
+ );
216
+ $enums = array(
217
+ 'location_types_enum' => AdPlacePageSetLocationTypesValues::getInstance()->getValues(),
218
+ 'targeted_area_type_enum' => AdPlacePageSetTargetedAreaTypeValues::getInstance()->getValues(),
219
+ );
220
+
221
+ $request = new ApiRequest(
222
+ $this->api,
223
+ $this->data['id'],
224
+ RequestInterface::METHOD_POST,
225
+ '/ad_place_page_sets',
226
+ new AdPlacePageSet(),
227
+ 'EDGE',
228
+ AdPlacePageSet::getFieldsEnum()->getValues(),
229
+ new TypeChecker($param_types, $enums)
230
+ );
231
+ $request->addParams($params);
232
+ $request->addFields($fields);
233
+ return $pending ? $request : $request->execute();
234
+ }
235
+
236
+ public function createAdPlacePageSetsAsync(array $fields = array(), array $params = array(), $pending = false) {
237
+ $this->assureId();
238
+
239
+ $param_types = array(
240
+ 'location_types' => 'list<location_types_enum>',
241
+ 'name' => 'string',
242
+ 'parent_page' => 'string',
243
+ 'targeted_area_type' => 'targeted_area_type_enum',
244
+ );
245
+ $enums = array(
246
+ 'location_types_enum' => AdPlacePageSetLocationTypesValues::getInstance()->getValues(),
247
+ 'targeted_area_type_enum' => AdPlacePageSetTargetedAreaTypeValues::getInstance()->getValues(),
248
+ );
249
+
250
+ $request = new ApiRequest(
251
+ $this->api,
252
+ $this->data['id'],
253
+ RequestInterface::METHOD_POST,
254
+ '/ad_place_page_sets_async',
255
+ new AdPlacePageSet(),
256
+ 'EDGE',
257
+ AdPlacePageSet::getFieldsEnum()->getValues(),
258
+ new TypeChecker($param_types, $enums)
259
+ );
260
+ $request->addParams($params);
261
+ $request->addFields($fields);
262
+ return $pending ? $request : $request->execute();
263
+ }
264
+
265
+ public function deleteAdSets(array $fields = array(), array $params = array(), $pending = false) {
266
+ $this->assureId();
267
+
268
+ $param_types = array(
269
+ 'before_date' => 'datetime',
270
+ 'delete_offset' => 'unsigned int',
271
+ 'delete_strategy' => 'delete_strategy_enum',
272
+ 'object_count' => 'int',
273
+ );
274
+ $enums = array(
275
+ 'delete_strategy_enum' => array(
276
+ 'DELETE_ANY',
277
+ 'DELETE_ARCHIVED_BEFORE',
278
+ 'DELETE_OLDEST',
279
+ ),
280
+ );
281
+
282
+ $request = new ApiRequest(
283
+ $this->api,
284
+ $this->data['id'],
285
+ RequestInterface::METHOD_DELETE,
286
+ '/ad_sets',
287
+ new AbstractCrudObject(),
288
+ 'EDGE',
289
+ array(),
290
+ new TypeChecker($param_types, $enums)
291
+ );
292
+ $request->addParams($params);
293
+ $request->addFields($fields);
294
+ return $pending ? $request : $request->execute();
295
+ }
296
+
297
+ public function getAdStudies(array $fields = array(), array $params = array(), $pending = false) {
298
+ $this->assureId();
299
+
300
+ $param_types = array(
301
+ );
302
+ $enums = array(
303
+ );
304
+
305
+ $request = new ApiRequest(
306
+ $this->api,
307
+ $this->data['id'],
308
+ RequestInterface::METHOD_GET,
309
+ '/ad_studies',
310
+ new AdStudy(),
311
+ 'EDGE',
312
+ AdStudy::getFieldsEnum()->getValues(),
313
+ new TypeChecker($param_types, $enums)
314
+ );
315
+ $request->addParams($params);
316
+ $request->addFields($fields);
317
+ return $pending ? $request : $request->execute();
318
+ }
319
+
320
+ public function getAdCreatives(array $fields = array(), array $params = array(), $pending = false) {
321
+ $this->assureId();
322
+
323
+ $param_types = array(
324
+ );
325
+ $enums = array(
326
+ );
327
+
328
+ $request = new ApiRequest(
329
+ $this->api,
330
+ $this->data['id'],
331
+ RequestInterface::METHOD_GET,
332
+ '/adcreatives',
333
+ new AdCreative(),
334
+ 'EDGE',
335
+ AdCreative::getFieldsEnum()->getValues(),
336
+ new TypeChecker($param_types, $enums)
337
+ );
338
+ $request->addParams($params);
339
+ $request->addFields($fields);
340
+ return $pending ? $request : $request->execute();
341
+ }
342
+
343
+ public function createAdCreative(array $fields = array(), array $params = array(), $pending = false) {
344
+ $this->assureId();
345
+
346
+ $param_types = array(
347
+ 'actor_id' => 'unsigned int',
348
+ 'adlabels' => 'list<Object>',
349
+ 'applink_treatment' => 'applink_treatment_enum',
350
+ 'asset_feed_spec' => 'Object',
351
+ 'authorization_category' => 'authorization_category_enum',
352
+ 'body' => 'string',
353
+ 'branded_content_sponsor_page_id' => 'string',
354
+ 'bundle_folder_id' => 'string',
355
+ 'call_to_action' => 'Object',
356
+ 'categorization_criteria' => 'categorization_criteria_enum',
357
+ 'category_media_source' => 'category_media_source_enum',
358
+ 'destination_set_id' => 'string',
359
+ 'dynamic_ad_voice' => 'dynamic_ad_voice_enum',
360
+ 'enable_launch_instant_app' => 'bool',
361
+ 'image_crops' => 'map',
362
+ 'image_file' => 'string',
363
+ 'image_hash' => 'string',
364
+ 'image_url' => 'string',
365
+ 'instagram_actor_id' => 'string',
366
+ 'instagram_permalink_url' => 'string',
367
+ 'interactive_components_spec' => 'map',
368
+ 'is_dco_internal' => 'bool',
369
+ 'link_og_id' => 'string',
370
+ 'link_url' => 'string',
371
+ 'messenger_sponsored_message' => 'string',
372
+ 'name' => 'string',
373
+ 'object_id' => 'unsigned int',
374
+ 'object_story_id' => 'string',
375
+ 'object_story_spec' => 'AdCreativeObjectStorySpec',
376
+ 'object_type' => 'string',
377
+ 'object_url' => 'string',
378
+ 'platform_customizations' => 'Object',
379
+ 'playable_asset_id' => 'string',
380
+ 'portrait_customizations' => 'map',
381
+ 'product_set_id' => 'string',
382
+ 'recommender_settings' => 'map',
383
+ 'template_url' => 'string',
384
+ 'template_url_spec' => 'Object',
385
+ 'thumbnail_url' => 'string',
386
+ 'title' => 'string',
387
+ 'url_tags' => 'string',
388
+ 'use_page_actor_override' => 'bool',
389
+ );
390
+ $enums = array(
391
+ 'applink_treatment_enum' => AdCreativeApplinkTreatmentValues::getInstance()->getValues(),
392
+ 'authorization_category_enum' => AdCreativeAuthorizationCategoryValues::getInstance()->getValues(),
393
+ 'categorization_criteria_enum' => AdCreativeCategorizationCriteriaValues::getInstance()->getValues(),
394
+ 'category_media_source_enum' => AdCreativeCategoryMediaSourceValues::getInstance()->getValues(),
395
+ 'dynamic_ad_voice_enum' => AdCreativeDynamicAdVoiceValues::getInstance()->getValues(),
396
+ );
397
+
398
+ $request = new ApiRequest(
399
+ $this->api,
400
+ $this->data['id'],
401
+ RequestInterface::METHOD_POST,
402
+ '/adcreatives',
403
+ new AdCreative(),
404
+ 'EDGE',
405
+ AdCreative::getFieldsEnum()->getValues(),
406
+ new TypeChecker($param_types, $enums)
407
+ );
408
+ $request->addParams($params);
409
+ $request->addFields($fields);
410
+ return $pending ? $request : $request->execute();
411
+ }
412
+
413
+ public function getAdCreativesByLabels(array $fields = array(), array $params = array(), $pending = false) {
414
+ $this->assureId();
415
+
416
+ $param_types = array(
417
+ 'ad_label_ids' => 'list<string>',
418
+ 'operator' => 'operator_enum',
419
+ );
420
+ $enums = array(
421
+ 'operator_enum' => AdCreativeOperatorValues::getInstance()->getValues(),
422
+ );
423
+
424
+ $request = new ApiRequest(
425
+ $this->api,
426
+ $this->data['id'],
427
+ RequestInterface::METHOD_GET,
428
+ '/adcreativesbylabels',
429
+ new AdCreative(),
430
+ 'EDGE',
431
+ AdCreative::getFieldsEnum()->getValues(),
432
+ new TypeChecker($param_types, $enums)
433
+ );
434
+ $request->addParams($params);
435
+ $request->addFields($fields);
436
+ return $pending ? $request : $request->execute();
437
+ }
438
+
439
+ public function deleteAdImages(array $fields = array(), array $params = array(), $pending = false) {
440
+ $this->assureId();
441
+
442
+ $param_types = array(
443
+ 'hash' => 'string',
444
+ );
445
+ $enums = array(
446
+ );
447
+
448
+ $request = new ApiRequest(
449
+ $this->api,
450
+ $this->data['id'],
451
+ RequestInterface::METHOD_DELETE,
452
+ '/adimages',
453
+ new AbstractCrudObject(),
454
+ 'EDGE',
455
+ array(),
456
+ new TypeChecker($param_types, $enums)
457
+ );
458
+ $request->addParams($params);
459
+ $request->addFields($fields);
460
+ return $pending ? $request : $request->execute();
461
+ }
462
+
463
+ public function getAdImages(array $fields = array(), array $params = array(), $pending = false) {
464
+ $this->assureId();
465
+
466
+ $param_types = array(
467
+ 'biz_tag_id' => 'unsigned int',
468
+ 'business_id' => 'string',
469
+ 'hashes' => 'list<string>',
470
+ 'minheight' => 'unsigned int',
471
+ 'minwidth' => 'unsigned int',
472
+ 'name' => 'string',
473
+ );
474
+ $enums = array(
475
+ );
476
+
477
+ $request = new ApiRequest(
478
+ $this->api,
479
+ $this->data['id'],
480
+ RequestInterface::METHOD_GET,
481
+ '/adimages',
482
+ new AdImage(),
483
+ 'EDGE',
484
+ AdImage::getFieldsEnum()->getValues(),
485
+ new TypeChecker($param_types, $enums)
486
+ );
487
+ $request->addParams($params);
488
+ $request->addFields($fields);
489
+ return $pending ? $request : $request->execute();
490
+ }
491
+
492
+ public function createAdImage(array $fields = array(), array $params = array(), $pending = false) {
493
+ $this->assureId();
494
+
495
+ $param_types = array(
496
+ 'bytes' => 'Object',
497
+ 'copy_from' => 'Object',
498
+ 'filename' => 'file'
499
+ );
500
+ $enums = array(
501
+ );
502
+
503
+ $request = new ApiRequest(
504
+ $this->api,
505
+ $this->data['id'],
506
+ RequestInterface::METHOD_POST,
507
+ '/adimages',
508
+ new AdImage(),
509
+ 'EDGE',
510
+ AdImage::getFieldsEnum()->getValues(),
511
+ new TypeChecker($param_types, $enums),
512
+ true
513
+ );
514
+ $request->addParams($params);
515
+ $request->addFields($fields);
516
+ return $pending ? $request : $request->execute();
517
+ }
518
+
519
+ public function getAdLabels(array $fields = array(), array $params = array(), $pending = false) {
520
+ $this->assureId();
521
+
522
+ $param_types = array(
523
+ );
524
+ $enums = array(
525
+ );
526
+
527
+ $request = new ApiRequest(
528
+ $this->api,
529
+ $this->data['id'],
530
+ RequestInterface::METHOD_GET,
531
+ '/adlabels',
532
+ new AdLabel(),
533
+ 'EDGE',
534
+ AdLabel::getFieldsEnum()->getValues(),
535
+ new TypeChecker($param_types, $enums)
536
+ );
537
+ $request->addParams($params);
538
+ $request->addFields($fields);
539
+ return $pending ? $request : $request->execute();
540
+ }
541
+
542
+ public function createAdLabel(array $fields = array(), array $params = array(), $pending = false) {
543
+ $this->assureId();
544
+
545
+ $param_types = array(
546
+ 'name' => 'string',
547
+ );
548
+ $enums = array(
549
+ );
550
+
551
+ $request = new ApiRequest(
552
+ $this->api,
553
+ $this->data['id'],
554
+ RequestInterface::METHOD_POST,
555
+ '/adlabels',
556
+ new AdLabel(),
557
+ 'EDGE',
558
+ AdLabel::getFieldsEnum()->getValues(),
559
+ new TypeChecker($param_types, $enums)
560
+ );
561
+ $request->addParams($params);
562
+ $request->addFields($fields);
563
+ return $pending ? $request : $request->execute();
564
+ }
565
+
566
+ public function getAdPlayables(array $fields = array(), array $params = array(), $pending = false) {
567
+ $this->assureId();
568
+
569
+ $param_types = array(
570
+ );
571
+ $enums = array(
572
+ );
573
+
574
+ $request = new ApiRequest(
575
+ $this->api,
576
+ $this->data['id'],
577
+ RequestInterface::METHOD_GET,
578
+ '/adplayables',
579
+ new PlayableContent(),
580
+ 'EDGE',
581
+ PlayableContent::getFieldsEnum()->getValues(),
582
+ new TypeChecker($param_types, $enums)
583
+ );
584
+ $request->addParams($params);
585
+ $request->addFields($fields);
586
+ return $pending ? $request : $request->execute();
587
+ }
588
+
589
+ public function createAdPlayable(array $fields = array(), array $params = array(), $pending = false) {
590
+ $this->assureId();
591
+
592
+ $param_types = array(
593
+ 'app_id' => 'string',
594
+ 'name' => 'string',
595
+ 'source' => 'file',
596
+ 'source_url' => 'string',
597
+ 'source_zip' => 'file',
598
+ );
599
+ $enums = array(
600
+ );
601
+
602
+ $request = new ApiRequest(
603
+ $this->api,
604
+ $this->data['id'],
605
+ RequestInterface::METHOD_POST,
606
+ '/adplayables',
607
+ new PlayableContent(),
608
+ 'EDGE',
609
+ PlayableContent::getFieldsEnum()->getValues(),
610
+ new TypeChecker($param_types, $enums)
611
+ );
612
+ $request->addParams($params);
613
+ $request->addFields($fields);
614
+ return $pending ? $request : $request->execute();
615
+ }
616
+
617
+ public function getAdReportSchedules(array $fields = array(), array $params = array(), $pending = false) {
618
+ $this->assureId();
619
+
620
+ $param_types = array(
621
+ );
622
+ $enums = array(
623
+ );
624
+
625
+ $request = new ApiRequest(
626
+ $this->api,
627
+ $this->data['id'],
628
+ RequestInterface::METHOD_GET,
629
+ '/adreportschedules',
630
+ new AbstractCrudObject(),
631
+ 'EDGE',
632
+ array(),
633
+ new TypeChecker($param_types, $enums)
634
+ );
635
+ $request->addParams($params);
636
+ $request->addFields($fields);
637
+ return $pending ? $request : $request->execute();
638
+ }
639
+
640
+ public function createAdReportSchedule(array $fields = array(), array $params = array(), $pending = false) {
641
+ $this->assureId();
642
+
643
+ $param_types = array(
644
+ 'actions_group_by' => 'list<actions_group_by_enum>',
645
+ 'breakdowns' => 'list<string>',
646
+ 'builtin_column_set' => 'builtin_column_set_enum',
647
+ 'creation_source' => 'creation_source_enum',
648
+ 'custom_column_set_id' => 'string',
649
+ 'data_columns' => 'list<string>',
650
+ 'date_interval' => 'Object',
651
+ 'date_preset' => 'date_preset_enum',
652
+ 'emails' => 'list<string>',
653
+ 'export_columns' => 'Object',
654
+ 'filters' => 'list<Object>',
655
+ 'format_version' => 'unsigned int',
656
+ 'insights_section' => 'Object',
657
+ 'level' => 'level_enum',
658
+ 'name' => 'string',
659
+ 'normalized_filter' => 'list<Object>',
660
+ 'schedule_frequency' => 'schedule_frequency_enum',
661
+ 'sort' => 'list<Object>',
662
+ 'sort_by' => 'string',
663
+ 'sort_dir' => 'string',
664
+ 'start_date' => 'Object',
665
+ 'status' => 'status_enum',
666
+ 'subscribers' => 'list<int>',
667
+ 'time_increment' => 'string',
668
+ 'user_attribution_windows' => 'list<string>',
669
+ 'user_columns' => 'list<string>',
670
+ 'user_filter' => 'list<Object>',
671
+ );
672
+ $enums = array(
673
+ 'actions_group_by_enum' => array(
674
+ 'action_brand',
675
+ 'action_canvas_component_id',
676
+ 'action_canvas_component_name',
677
+ 'action_carousel_card_id',
678
+ 'action_carousel_card_name',
679
+ 'action_category',
680
+ 'action_converted_brand_tag_id',
681
+ 'action_converted_category_tag_id',
682
+ 'action_converted_product_id',
683
+ 'action_destination',
684
+ 'action_device',
685
+ 'action_event_channel',
686
+ 'action_target_id',
687
+ 'action_type',
688
+ 'action_video_sound',
689
+ 'action_video_type',
690
+ 'attribution_model_type',
691
+ 'interactive_component_sticker_id',
692
+ 'interactive_component_sticker_response',
693
+ ),
694
+ 'builtin_column_set_enum' => array(
695
+ '',
696
+ 'APP_ENGAGEMENT',
697
+ 'AUDIENCE_DIRECT',
698
+ 'BIDDING_AND_OPTIMIZATION',
699
+ 'CAROUSEL_ENGAGEMENT',
700
+ 'CROSS_DEVICE',
701
+ 'DELIVERY',
702
+ 'ENGAGEMENT',
703
+ 'HOUSEHOLD',
704
+ 'MESSAGING_ENGAGEMENT',
705
+ 'MESSENGER',
706
+ 'OFFLINE_CONVERSIONS',
707
+ 'PERFORMANCE',
708
+ 'PERFORMANCE_LEGACY',
709
+ 'TARGETING_AND_CREATIVE',
710
+ 'VALIDATION_VIEW',
711
+ 'VIDEO_ENGAGEMENT',
712
+ ),
713
+ 'creation_source_enum' => array(
714
+ 'adsExcelAddin',
715
+ 'adsManagerReporting',
716
+ 'newAdsManager',
717
+ ),
718
+ 'date_preset_enum' => array(
719
+ 'last_14d',
720
+ 'last_28d',
721
+ 'last_30d',
722
+ 'last_3d',
723
+ 'last_7d',
724
+ 'last_90d',
725
+ 'last_month',
726
+ 'last_quarter',
727
+ 'last_week_mon_sun',
728
+ 'last_week_sun_sat',
729
+ 'last_year',
730
+ 'lifetime',
731
+ 'this_month',
732
+ 'this_quarter',
733
+ 'this_week_mon_today',
734
+ 'this_week_sun_today',
735
+ 'this_year',
736
+ 'today',
737
+ 'yesterday',
738
+ ),
739
+ 'level_enum' => array(
740
+ 'account',
741
+ 'ad',
742
+ 'adgroup',
743
+ 'campaign',
744
+ 'campaign_group',
745
+ 'politicalad',
746
+ ),
747
+ 'schedule_frequency_enum' => array(
748
+ 'daily',
749
+ 'monthly',
750
+ 'weekly',
751
+ ),
752
+ 'status_enum' => array(
753
+ 'Active',
754
+ 'Deleted',
755
+ 'Paused',
756
+ ),
757
+ );
758
+
759
+ $request = new ApiRequest(
760
+ $this->api,
761
+ $this->data['id'],
762
+ RequestInterface::METHOD_POST,
763
+ '/adreportschedules',
764
+ new AbstractCrudObject(),
765
+ 'EDGE',
766
+ array(),
767
+ new TypeChecker($param_types, $enums)
768
+ );
769
+ $request->addParams($params);
770
+ $request->addFields($fields);
771
+ return $pending ? $request : $request->execute();
772
+ }
773
+
774
+ public function getAdRulesHistory(array $fields = array(), array $params = array(), $pending = false) {
775
+ $this->assureId();
776
+
777
+ $param_types = array(
778
+ 'action' => 'action_enum',
779
+ 'evaluation_type' => 'evaluation_type_enum',
780
+ 'hide_no_changes' => 'bool',
781
+ 'object_id' => 'string',
782
+ );
783
+ $enums = array(
784
+ 'action_enum' => AdAccountAdRulesHistoryActionValues::getInstance()->getValues(),
785
+ 'evaluation_type_enum' => AdAccountAdRulesHistoryEvaluationTypeValues::getInstance()->getValues(),
786
+ );
787
+
788
+ $request = new ApiRequest(
789
+ $this->api,
790
+ $this->data['id'],
791
+ RequestInterface::METHOD_GET,
792
+ '/adrules_history',
793
+ new AdAccountAdRulesHistory(),
794
+ 'EDGE',
795
+ AdAccountAdRulesHistory::getFieldsEnum()->getValues(),
796
+ new TypeChecker($param_types, $enums)
797
+ );
798
+ $request->addParams($params);
799
+ $request->addFields($fields);
800
+ return $pending ? $request : $request->execute();
801
+ }
802
+
803
+ public function getAdRulesLibrary(array $fields = array(), array $params = array(), $pending = false) {
804
+ $this->assureId();
805
+
806
+ $param_types = array(
807
+ );
808
+ $enums = array(
809
+ );
810
+
811
+ $request = new ApiRequest(
812
+ $this->api,
813
+ $this->data['id'],
814
+ RequestInterface::METHOD_GET,
815
+ '/adrules_library',
816
+ new AdRule(),
817
+ 'EDGE',
818
+ AdRule::getFieldsEnum()->getValues(),
819
+ new TypeChecker($param_types, $enums)
820
+ );
821
+ $request->addParams($params);
822
+ $request->addFields($fields);
823
+ return $pending ? $request : $request->execute();
824
+ }
825
+
826
+ public function createAdRulesLibrary(array $fields = array(), array $params = array(), $pending = false) {
827
+ $this->assureId();
828
+
829
+ $param_types = array(
830
+ 'account_id' => 'string',
831
+ 'evaluation_spec' => 'Object',
832
+ 'execution_spec' => 'Object',
833
+ 'name' => 'string',
834
+ 'schedule_spec' => 'Object',
835
+ 'status' => 'status_enum',
836
+ );
837
+ $enums = array(
838
+ 'status_enum' => AdRuleStatusValues::getInstance()->getValues(),
839
+ );
840
+
841
+ $request = new ApiRequest(
842
+ $this->api,
843
+ $this->data['id'],
844
+ RequestInterface::METHOD_POST,
845
+ '/adrules_library',
846
+ new AdRule(),
847
+ 'EDGE',
848
+ AdRule::getFieldsEnum()->getValues(),
849
+ new TypeChecker($param_types, $enums)
850
+ );
851
+ $request->addParams($params);
852
+ $request->addFields($fields);
853
+ return $pending ? $request : $request->execute();
854
+ }
855
+
856
+ public function getAds(array $fields = array(), array $params = array(), $pending = false) {
857
+ $this->assureId();
858
+
859
+ $param_types = array(
860
+ 'ad_draft_id' => 'string',
861
+ 'date_preset' => 'date_preset_enum',
862
+ 'effective_status' => 'list<string>',
863
+ 'include_drafts' => 'bool',
864
+ 'time_range' => 'Object',
865
+ 'updated_since' => 'int',
866
+ 'use_employee_draft' => 'bool',
867
+ );
868
+ $enums = array(
869
+ 'date_preset_enum' => AdDatePresetValues::getInstance()->getValues(),
870
+ );
871
+
872
+ $request = new ApiRequest(
873
+ $this->api,
874
+ $this->data['id'],
875
+ RequestInterface::METHOD_GET,
876
+ '/ads',
877
+ new Ad(),
878
+ 'EDGE',
879
+ Ad::getFieldsEnum()->getValues(),
880
+ new TypeChecker($param_types, $enums)
881
+ );
882
+ $request->addParams($params);
883
+ $request->addFields($fields);
884
+ return $pending ? $request : $request->execute();
885
+ }
886
+
887
+ public function createAd(array $fields = array(), array $params = array(), $pending = false) {
888
+ $this->assureId();
889
+
890
+ $param_types = array(
891
+ 'adlabels' => 'list<Object>',
892
+ 'adset_id' => 'unsigned int',
893
+ 'adset_spec' => 'AdSet',
894
+ 'audience_id' => 'string',
895
+ 'bid_amount' => 'int',
896
+ 'creative' => 'AdCreative',
897
+ 'date_format' => 'string',
898
+ 'display_sequence' => 'unsigned int',
899
+ 'draft_adgroup_id' => 'string',
900
+ 'engagement_audience' => 'bool',
901
+ 'execution_options' => 'list<execution_options_enum>',
902
+ 'include_demolink_hashes' => 'bool',
903
+ 'name' => 'string',
904
+ 'priority' => 'unsigned int',
905
+ 'source_ad_id' => 'string',
906
+ 'status' => 'status_enum',
907
+ 'tracking_specs' => 'Object',
908
+ );
909
+ $enums = array(
910
+ 'execution_options_enum' => AdExecutionOptionsValues::getInstance()->getValues(),
911
+ 'status_enum' => AdStatusValues::getInstance()->getValues(),
912
+ );
913
+
914
+ $request = new ApiRequest(
915
+ $this->api,
916
+ $this->data['id'],
917
+ RequestInterface::METHOD_POST,
918
+ '/ads',
919
+ new Ad(),
920
+ 'EDGE',
921
+ Ad::getFieldsEnum()->getValues(),
922
+ new TypeChecker($param_types, $enums),
923
+ true
924
+ );
925
+ $request->addParams($params);
926
+ $request->addFields($fields);
927
+ return $pending ? $request : $request->execute();
928
+ }
929
+
930
+ public function getAdsVolume(array $fields = array(), array $params = array(), $pending = false) {
931
+ $this->assureId();
932
+
933
+ $param_types = array(
934
+ 'page_id' => 'int',
935
+ 'show_ad_limit_by_actor' => 'bool',
936
+ );
937
+ $enums = array(
938
+ );
939
+
940
+ $request = new ApiRequest(
941
+ $this->api,
942
+ $this->data['id'],
943
+ RequestInterface::METHOD_GET,
944
+ '/ads_volume',
945
+ new AdAccountAdVolume(),
946
+ 'EDGE',
947
+ AdAccountAdVolume::getFieldsEnum()->getValues(),
948
+ new TypeChecker($param_types, $enums)
949
+ );
950
+ $request->addParams($params);
951
+ $request->addFields($fields);
952
+ return $pending ? $request : $request->execute();
953
+ }
954
+
955
+ public function getAdsByLabels(array $fields = array(), array $params = array(), $pending = false) {
956
+ $this->assureId();
957
+
958
+ $param_types = array(
959
+ 'ad_label_ids' => 'list<string>',
960
+ 'operator' => 'operator_enum',
961
+ );
962
+ $enums = array(
963
+ 'operator_enum' => AdOperatorValues::getInstance()->getValues(),
964
+ );
965
+
966
+ $request = new ApiRequest(
967
+ $this->api,
968
+ $this->data['id'],
969
+ RequestInterface::METHOD_GET,
970
+ '/adsbylabels',
971
+ new Ad(),
972
+ 'EDGE',
973
+ Ad::getFieldsEnum()->getValues(),
974
+ new TypeChecker($param_types, $enums)
975
+ );
976
+ $request->addParams($params);
977
+ $request->addFields($fields);
978
+ return $pending ? $request : $request->execute();
979
+ }
980
+
981
+ public function getAdSets(array $fields = array(), array $params = array(), $pending = false) {
982
+ $this->assureId();
983
+
984
+ $param_types = array(
985
+ 'ad_draft_id' => 'string',
986
+ 'date_preset' => 'date_preset_enum',
987
+ 'effective_status' => 'list<effective_status_enum>',
988
+ 'include_drafts' => 'bool',
989
+ 'is_completed' => 'bool',
990
+ 'time_range' => 'Object',
991
+ 'use_employee_draft' => 'bool',
992
+ );
993
+ $enums = array(
994
+ 'date_preset_enum' => AdSetDatePresetValues::getInstance()->getValues(),
995
+ 'effective_status_enum' => AdSetEffectiveStatusValues::getInstance()->getValues(),
996
+ );
997
+
998
+ $request = new ApiRequest(
999
+ $this->api,
1000
+ $this->data['id'],
1001
+ RequestInterface::METHOD_GET,
1002
+ '/adsets',
1003
+ new AdSet(),
1004
+ 'EDGE',
1005
+ AdSet::getFieldsEnum()->getValues(),
1006
+ new TypeChecker($param_types, $enums)
1007
+ );
1008
+ $request->addParams($params);
1009
+ $request->addFields($fields);
1010
+ return $pending ? $request : $request->execute();
1011
+ }
1012
+
1013
+ public function createAdSet(array $fields = array(), array $params = array(), $pending = false) {
1014
+ $this->assureId();
1015
+
1016
+ $param_types = array(
1017
+ 'adlabels' => 'list<Object>',
1018
+ 'adset_schedule' => 'list<Object>',
1019
+ 'attribution_spec' => 'list<map>',
1020
+ 'bid_adjustments' => 'Object',
1021
+ 'bid_amount' => 'int',
1022
+ 'bid_constraints' => 'map<string, Object>',
1023
+ 'bid_strategy' => 'bid_strategy_enum',
1024
+ 'billing_event' => 'billing_event_enum',
1025
+ 'campaign_id' => 'string',
1026
+ 'campaign_spec' => 'Object',
1027
+ 'creative_sequence' => 'list<string>',
1028
+ 'daily_budget' => 'unsigned int',
1029
+ 'daily_imps' => 'unsigned int',
1030
+ 'daily_min_spend_target' => 'unsigned int',
1031
+ 'daily_spend_cap' => 'unsigned int',
1032
+ 'date_format' => 'string',
1033
+ 'destination_type' => 'destination_type_enum',
1034
+ 'end_time' => 'datetime',
1035
+ 'execution_options' => 'list<execution_options_enum>',
1036
+ 'frequency_control_specs' => 'list<Object>',
1037
+ 'full_funnel_exploration_mode' => 'full_funnel_exploration_mode_enum',
1038
+ 'is_dynamic_creative' => 'bool',
1039
+ 'lifetime_budget' => 'unsigned int',
1040
+ 'lifetime_imps' => 'unsigned int',
1041
+ 'lifetime_min_spend_target' => 'unsigned int',
1042
+ 'lifetime_spend_cap' => 'unsigned int',
1043
+ 'line_number' => 'unsigned int',
1044
+ 'name' => 'string',
1045
+ 'optimization_goal' => 'optimization_goal_enum',
1046
+ 'optimization_sub_event' => 'optimization_sub_event_enum',
1047
+ 'pacing_type' => 'list<string>',
1048
+ 'promoted_object' => 'Object',
1049
+ 'rb_prediction_id' => 'string',
1050
+ 'rf_prediction_id' => 'string',
1051
+ 'source_adset_id' => 'string',
1052
+ 'start_time' => 'datetime',
1053
+ 'status' => 'status_enum',
1054
+ 'targeting' => 'Targeting',
1055
+ 'time_based_ad_rotation_id_blocks' => 'list<list<unsigned int>>',
1056
+ 'time_based_ad_rotation_intervals' => 'list<unsigned int>',
1057
+ 'time_start' => 'datetime',
1058
+ 'time_stop' => 'datetime',
1059
+ 'topline_id' => 'string',
1060
+ 'tune_for_category' => 'tune_for_category_enum',
1061
+ 'upstream_events' => 'map',
1062
+ );
1063
+ $enums = array(
1064
+ 'bid_strategy_enum' => AdSetBidStrategyValues::getInstance()->getValues(),
1065
+ 'billing_event_enum' => AdSetBillingEventValues::getInstance()->getValues(),
1066
+ 'destination_type_enum' => AdSetDestinationTypeValues::getInstance()->getValues(),
1067
+ 'execution_options_enum' => AdSetExecutionOptionsValues::getInstance()->getValues(),
1068
+ 'full_funnel_exploration_mode_enum' => AdSetFullFunnelExplorationModeValues::getInstance()->getValues(),
1069
+ 'optimization_goal_enum' => AdSetOptimizationGoalValues::getInstance()->getValues(),
1070
+ 'optimization_sub_event_enum' => AdSetOptimizationSubEventValues::getInstance()->getValues(),
1071
+ 'status_enum' => AdSetStatusValues::getInstance()->getValues(),
1072
+ 'tune_for_category_enum' => AdSetTuneForCategoryValues::getInstance()->getValues(),
1073
+ );
1074
+
1075
+ $request = new ApiRequest(
1076
+ $this->api,
1077
+ $this->data['id'],
1078
+ RequestInterface::METHOD_POST,
1079
+ '/adsets',
1080
+ new AdSet(),
1081
+ 'EDGE',
1082
+ AdSet::getFieldsEnum()->getValues(),
1083
+ new TypeChecker($param_types, $enums)
1084
+ );
1085
+ $request->addParams($params);
1086
+ $request->addFields($fields);
1087
+ return $pending ? $request : $request->execute();
1088
+ }
1089
+
1090
+ public function getAdSetsByLabels(array $fields = array(), array $params = array(), $pending = false) {
1091
+ $this->assureId();
1092
+
1093
+ $param_types = array(
1094
+ 'ad_label_ids' => 'list<string>',
1095
+ 'operator' => 'operator_enum',
1096
+ );
1097
+ $enums = array(
1098
+ 'operator_enum' => AdSetOperatorValues::getInstance()->getValues(),
1099
+ );
1100
+
1101
+ $request = new ApiRequest(
1102
+ $this->api,
1103
+ $this->data['id'],
1104
+ RequestInterface::METHOD_GET,
1105
+ '/adsetsbylabels',
1106
+ new AdSet(),
1107
+ 'EDGE',
1108
+ AdSet::getFieldsEnum()->getValues(),
1109
+ new TypeChecker($param_types, $enums)
1110
+ );
1111
+ $request->addParams($params);
1112
+ $request->addFields($fields);
1113
+ return $pending ? $request : $request->execute();
1114
+ }
1115
+
1116
+ public function getAdsPixels(array $fields = array(), array $params = array(), $pending = false) {
1117
+ $this->assureId();
1118
+
1119
+ $param_types = array(
1120
+ 'sort_by' => 'sort_by_enum',
1121
+ );
1122
+ $enums = array(
1123
+ 'sort_by_enum' => AdsPixelSortByValues::getInstance()->getValues(),
1124
+ );
1125
+
1126
+ $request = new ApiRequest(
1127
+ $this->api,
1128
+ $this->data['id'],
1129
+ RequestInterface::METHOD_GET,
1130
+ '/adspixels',
1131
+ new AdsPixel(),
1132
+ 'EDGE',
1133
+ AdsPixel::getFieldsEnum()->getValues(),
1134
+ new TypeChecker($param_types, $enums)
1135
+ );
1136
+ $request->addParams($params);
1137
+ $request->addFields($fields);
1138
+ return $pending ? $request : $request->execute();
1139
+ }
1140
+
1141
+ public function createAdsPixel(array $fields = array(), array $params = array(), $pending = false) {
1142
+ $this->assureId();
1143
+
1144
+ $param_types = array(
1145
+ 'name' => 'string',
1146
+ );
1147
+ $enums = array(
1148
+ );
1149
+
1150
+ $request = new ApiRequest(
1151
+ $this->api,
1152
+ $this->data['id'],
1153
+ RequestInterface::METHOD_POST,
1154
+ '/adspixels',
1155
+ new AdsPixel(),
1156
+ 'EDGE',
1157
+ AdsPixel::getFieldsEnum()->getValues(),
1158
+ new TypeChecker($param_types, $enums)
1159
+ );
1160
+ $request->addParams($params);
1161
+ $request->addFields($fields);
1162
+ return $pending ? $request : $request->execute();
1163
+ }
1164
+
1165
+ public function getAdvertisableApplications(array $fields = array(), array $params = array(), $pending = false) {
1166
+ $this->assureId();
1167
+
1168
+ $param_types = array(
1169
+ 'app_id' => 'string',
1170
+ 'business_id' => 'string',
1171
+ );
1172
+ $enums = array(
1173
+ );
1174
+
1175
+ $request = new ApiRequest(
1176
+ $this->api,
1177
+ $this->data['id'],
1178
+ RequestInterface::METHOD_GET,
1179
+ '/advertisable_applications',
1180
+ new Application(),
1181
+ 'EDGE',
1182
+ Application::getFieldsEnum()->getValues(),
1183
+ new TypeChecker($param_types, $enums)
1184
+ );
1185
+ $request->addParams($params);
1186
+ $request->addFields($fields);
1187
+ return $pending ? $request : $request->execute();
1188
+ }
1189
+
1190
+ public function deleteAdVideos(array $fields = array(), array $params = array(), $pending = false) {
1191
+ $this->assureId();
1192
+
1193
+ $param_types = array(
1194
+ 'video_id' => 'string',
1195
+ );
1196
+ $enums = array(
1197
+ );
1198
+
1199
+ $request = new ApiRequest(
1200
+ $this->api,
1201
+ $this->data['id'],
1202
+ RequestInterface::METHOD_DELETE,
1203
+ '/advideos',
1204
+ new AbstractCrudObject(),
1205
+ 'EDGE',
1206
+ array(),
1207
+ new TypeChecker($param_types, $enums)
1208
+ );
1209
+ $request->addParams($params);
1210
+ $request->addFields($fields);
1211
+ return $pending ? $request : $request->execute();
1212
+ }
1213
+
1214
+ public function getAdVideos(array $fields = array(), array $params = array(), $pending = false) {
1215
+ $this->assureId();
1216
+
1217
+ $param_types = array(
1218
+ 'max_aspect_ratio' => 'float',
1219
+ 'maxheight' => 'unsigned int',
1220
+ 'maxlength' => 'unsigned int',
1221
+ 'maxwidth' => 'unsigned int',
1222
+ 'min_aspect_ratio' => 'float',
1223
+ 'minheight' => 'unsigned int',
1224
+ 'minlength' => 'unsigned int',
1225
+ 'minwidth' => 'unsigned int',
1226
+ 'title' => 'string',
1227
+ );
1228
+ $enums = array(
1229
+ );
1230
+
1231
+ $request = new ApiRequest(
1232
+ $this->api,
1233
+ $this->data['id'],
1234
+ RequestInterface::METHOD_GET,
1235
+ '/advideos',
1236
+ new AdVideo(),
1237
+ 'EDGE',
1238
+ AdVideo::getFieldsEnum()->getValues(),
1239
+ new TypeChecker($param_types, $enums)
1240
+ );
1241
+ $request->addParams($params);
1242
+ $request->addFields($fields);
1243
+ return $pending ? $request : $request->execute();
1244
+ }
1245
+
1246
+ public function createAdVideo(array $fields = array(), array $params = array(), $pending = false) {
1247
+ $this->assureId();
1248
+
1249
+ $param_types = array(
1250
+ 'adaptive_type' => 'string',
1251
+ 'animated_effect_id' => 'unsigned int',
1252
+ 'application_id' => 'string',
1253
+ 'asked_fun_fact_prompt_id' => 'unsigned int',
1254
+ 'attribution_app_id' => 'string',
1255
+ 'audio_story_wave_animation_handle' => 'string',
1256
+ 'chunk_session_id' => 'string',
1257
+ 'composer_entry_picker' => 'string',
1258
+ 'composer_entry_point' => 'string',
1259
+ 'composer_entry_time' => 'unsigned int',
1260
+ 'composer_session_events_log' => 'string',
1261
+ 'composer_session_id' => 'string',
1262
+ 'composer_source_surface' => 'string',
1263
+ 'composer_type' => 'string',
1264
+ 'container_type' => 'container_type_enum',
1265
+ 'content_category' => 'content_category_enum',
1266
+ 'description' => 'string',
1267
+ 'embeddable' => 'bool',
1268
+ 'end_offset' => 'unsigned int',
1269
+ 'fbuploader_video_file_chunk' => 'string',
1270
+ 'file_size' => 'unsigned int',
1271
+ 'file_url' => 'string',
1272
+ 'fisheye_video_cropped' => 'bool',
1273
+ 'formatting' => 'formatting_enum',
1274
+ 'fov' => 'unsigned int',
1275
+ 'front_z_rotation' => 'float',
1276
+ 'fun_fact_prompt_id' => 'unsigned int',
1277
+ 'fun_fact_toastee_id' => 'unsigned int',
1278
+ 'guide' => 'list<list<unsigned int>>',
1279
+ 'guide_enabled' => 'bool',
1280
+ 'has_nickname' => 'bool',
1281
+ 'holiday_card' => 'string',
1282
+ 'initial_heading' => 'unsigned int',
1283
+ 'initial_pitch' => 'unsigned int',
1284
+ 'instant_game_entry_point_data' => 'string',
1285
+ 'is_boost_intended' => 'bool',
1286
+ 'is_group_linking_post' => 'bool',
1287
+ 'is_voice_clip' => 'bool',
1288
+ 'location_source_id' => 'string',
1289
+ 'name' => 'string',
1290
+ 'offer_like_post_id' => 'unsigned int',
1291
+ 'og_action_type_id' => 'string',
1292
+ 'og_icon_id' => 'string',
1293
+ 'og_object_id' => 'string',
1294
+ 'og_phrase' => 'string',
1295
+ 'og_suggestion_mechanism' => 'string',
1296
+ 'original_fov' => 'unsigned int',
1297
+ 'original_projection_type' => 'original_projection_type_enum',
1298
+ 'publish_event_id' => 'unsigned int',
1299
+ 'react_mode_metadata' => 'string',
1300
+ 'referenced_sticker_id' => 'string',
1301
+ 'replace_video_id' => 'string',
1302
+ 'sales_promo_id' => 'unsigned int',
1303
+ 'slideshow_spec' => 'map',
1304
+ 'source' => 'file',
1305
+ 'spherical' => 'bool',
1306
+ 'start_offset' => 'unsigned int',
1307
+ 'swap_mode' => 'swap_mode_enum',
1308
+ 'text_format_metadata' => 'string',
1309
+ 'throwback_camera_roll_media' => 'string',
1310
+ 'thumb' => 'file',
1311
+ 'time_since_original_post' => 'unsigned int',
1312
+ 'title' => 'string',
1313
+ 'transcode_setting_properties' => 'string',
1314
+ 'unpublished_content_type' => 'unpublished_content_type_enum',
1315
+ 'upload_phase' => 'upload_phase_enum',
1316
+ 'upload_session_id' => 'string',
1317
+ 'upload_setting_properties' => 'string',
1318
+ 'video_file_chunk' => 'file',
1319
+ 'video_start_time_ms' => 'unsigned int',
1320
+ 'waterfall_id' => 'string',
1321
+ );
1322
+ $enums = array(
1323
+ 'container_type_enum' => AdVideoContainerTypeValues::getInstance()->getValues(),
1324
+ 'content_category_enum' => AdVideoContentCategoryValues::getInstance()->getValues(),
1325
+ 'formatting_enum' => AdVideoFormattingValues::getInstance()->getValues(),
1326
+ 'original_projection_type_enum' => AdVideoOriginalProjectionTypeValues::getInstance()->getValues(),
1327
+ 'swap_mode_enum' => AdVideoSwapModeValues::getInstance()->getValues(),
1328
+ 'unpublished_content_type_enum' => AdVideoUnpublishedContentTypeValues::getInstance()->getValues(),
1329
+ 'upload_phase_enum' => AdVideoUploadPhaseValues::getInstance()->getValues(),
1330
+ );
1331
+
1332
+ $request = new ApiRequest(
1333
+ $this->api,
1334
+ $this->data['id'],
1335
+ RequestInterface::METHOD_POST,
1336
+ '/advideos',
1337
+ new AdVideo(),
1338
+ 'EDGE',
1339
+ AdVideo::getFieldsEnum()->getValues(),
1340
+ new TypeChecker($param_types, $enums),
1341
+ true,
1342
+ true
1343
+ );
1344
+ $request->addParams($params);
1345
+ $request->addFields($fields);
1346
+ return $pending ? $request : $request->execute();
1347
+ }
1348
+
1349
+ public function getAffectedAdSets(array $fields = array(), array $params = array(), $pending = false) {
1350
+ $this->assureId();
1351
+
1352
+ $param_types = array(
1353
+ );
1354
+ $enums = array(
1355
+ );
1356
+
1357
+ $request = new ApiRequest(
1358
+ $this->api,
1359
+ $this->data['id'],
1360
+ RequestInterface::METHOD_GET,
1361
+ '/affectedadsets',
1362
+ new AdSet(),
1363
+ 'EDGE',
1364
+ AdSet::getFieldsEnum()->getValues(),
1365
+ new TypeChecker($param_types, $enums)
1366
+ );
1367
+ $request->addParams($params);
1368
+ $request->addFields($fields);
1369
+ return $pending ? $request : $request->execute();
1370
+ }
1371
+
1372
+ public function deleteAgencies(array $fields = array(), array $params = array(), $pending = false) {
1373
+ $this->assureId();
1374
+
1375
+ $param_types = array(
1376
+ 'business' => 'string',
1377
+ );
1378
+ $enums = array(
1379
+ );
1380
+
1381
+ $request = new ApiRequest(
1382
+ $this->api,
1383
+ $this->data['id'],
1384
+ RequestInterface::METHOD_DELETE,
1385
+ '/agencies',
1386
+ new AbstractCrudObject(),
1387
+ 'EDGE',
1388
+ array(),
1389
+ new TypeChecker($param_types, $enums)
1390
+ );
1391
+ $request->addParams($params);
1392
+ $request->addFields($fields);
1393
+ return $pending ? $request : $request->execute();
1394
+ }
1395
+
1396
+ public function getAgencies(array $fields = array(), array $params = array(), $pending = false) {
1397
+ $this->assureId();
1398
+
1399
+ $param_types = array(
1400
+ );
1401
+ $enums = array(
1402
+ );
1403
+
1404
+ $request = new ApiRequest(
1405
+ $this->api,
1406
+ $this->data['id'],
1407
+ RequestInterface::METHOD_GET,
1408
+ '/agencies',
1409
+ new Business(),
1410
+ 'EDGE',
1411
+ Business::getFieldsEnum()->getValues(),
1412
+ new TypeChecker($param_types, $enums)
1413
+ );
1414
+ $request->addParams($params);
1415
+ $request->addFields($fields);
1416
+ return $pending ? $request : $request->execute();
1417
+ }
1418
+
1419
+ public function createAgency(array $fields = array(), array $params = array(), $pending = false) {
1420
+ $this->assureId();
1421
+
1422
+ $param_types = array(
1423
+ 'business' => 'string',
1424
+ 'permitted_tasks' => 'list<permitted_tasks_enum>',
1425
+ );
1426
+ $enums = array(
1427
+ 'permitted_tasks_enum' => AdAccountPermittedTasksValues::getInstance()->getValues(),
1428
+ );
1429
+
1430
+ $request = new ApiRequest(
1431
+ $this->api,
1432
+ $this->data['id'],
1433
+ RequestInterface::METHOD_POST,
1434
+ '/agencies',
1435
+ new AdAccount(),
1436
+ 'EDGE',
1437
+ AdAccount::getFieldsEnum()->getValues(),
1438
+ new TypeChecker($param_types, $enums)
1439
+ );
1440
+ $request->addParams($params);
1441
+ $request->addFields($fields);
1442
+ return $pending ? $request : $request->execute();
1443
+ }
1444
+
1445
+ public function getApplications(array $fields = array(), array $params = array(), $pending = false) {
1446
+ $this->assureId();
1447
+
1448
+ $param_types = array(
1449
+ );
1450
+ $enums = array(
1451
+ );
1452
+
1453
+ $request = new ApiRequest(
1454
+ $this->api,
1455
+ $this->data['id'],
1456
+ RequestInterface::METHOD_GET,
1457
+ '/applications',
1458
+ new Application(),
1459
+ 'EDGE',
1460
+ Application::getFieldsEnum()->getValues(),
1461
+ new TypeChecker($param_types, $enums)
1462
+ );
1463
+ $request->addParams($params);
1464
+ $request->addFields($fields);
1465
+ return $pending ? $request : $request->execute();
1466
+ }
1467
+
1468
+ public function deleteAssignedUsers(array $fields = array(), array $params = array(), $pending = false) {
1469
+ $this->assureId();
1470
+
1471
+ $param_types = array(
1472
+ 'user' => 'int',
1473
+ );
1474
+ $enums = array(
1475
+ );
1476
+
1477
+ $request = new ApiRequest(
1478
+ $this->api,
1479
+ $this->data['id'],
1480
+ RequestInterface::METHOD_DELETE,
1481
+ '/assigned_users',
1482
+ new AbstractCrudObject(),
1483
+ 'EDGE',
1484
+ array(),
1485
+ new TypeChecker($param_types, $enums)
1486
+ );
1487
+ $request->addParams($params);
1488
+ $request->addFields($fields);
1489
+ return $pending ? $request : $request->execute();
1490
+ }
1491
+
1492
+ public function getAssignedUsers(array $fields = array(), array $params = array(), $pending = false) {
1493
+ $this->assureId();
1494
+
1495
+ $param_types = array(
1496
+ 'business' => 'string',
1497
+ );
1498
+ $enums = array(
1499
+ );
1500
+
1501
+ $request = new ApiRequest(
1502
+ $this->api,
1503
+ $this->data['id'],
1504
+ RequestInterface::METHOD_GET,
1505
+ '/assigned_users',
1506
+ new AssignedUser(),
1507
+ 'EDGE',
1508
+ AssignedUser::getFieldsEnum()->getValues(),
1509
+ new TypeChecker($param_types, $enums)
1510
+ );
1511
+ $request->addParams($params);
1512
+ $request->addFields($fields);
1513
+ return $pending ? $request : $request->execute();
1514
+ }
1515
+
1516
+ public function createAssignedUser(array $fields = array(), array $params = array(), $pending = false) {
1517
+ $this->assureId();
1518
+
1519
+ $param_types = array(
1520
+ 'tasks' => 'list<tasks_enum>',
1521
+ 'user' => 'int',
1522
+ );
1523
+ $enums = array(
1524
+ 'tasks_enum' => AdAccountTasksValues::getInstance()->getValues(),
1525
+ );
1526
+
1527
+ $request = new ApiRequest(
1528
+ $this->api,
1529
+ $this->data['id'],
1530
+ RequestInterface::METHOD_POST,
1531
+ '/assigned_users',
1532
+ new AdAccount(),
1533
+ 'EDGE',
1534
+ AdAccount::getFieldsEnum()->getValues(),
1535
+ new TypeChecker($param_types, $enums)
1536
+ );
1537
+ $request->addParams($params);
1538
+ $request->addFields($fields);
1539
+ return $pending ? $request : $request->execute();
1540
+ }
1541
+
1542
+ public function createAsyncBatchRequest(array $fields = array(), array $params = array(), $pending = false) {
1543
+ $this->assureId();
1544
+
1545
+ $param_types = array(
1546
+ 'adbatch' => 'list<Object>',
1547
+ 'name' => 'string',
1548
+ );
1549
+ $enums = array(
1550
+ );
1551
+
1552
+ $request = new ApiRequest(
1553
+ $this->api,
1554
+ $this->data['id'],
1555
+ RequestInterface::METHOD_POST,
1556
+ '/async_batch_requests',
1557
+ new Campaign(),
1558
+ 'EDGE',
1559
+ Campaign::getFieldsEnum()->getValues(),
1560
+ new TypeChecker($param_types, $enums)
1561
+ );
1562
+ $request->addParams($params);
1563
+ $request->addFields($fields);
1564
+ return $pending ? $request : $request->execute();
1565
+ }
1566
+
1567
+ public function getAsyncRequests(array $fields = array(), array $params = array(), $pending = false) {
1568
+ $this->assureId();
1569
+
1570
+ $param_types = array(
1571
+ 'status' => 'status_enum',
1572
+ 'type' => 'type_enum',
1573
+ );
1574
+ $enums = array(
1575
+ 'status_enum' => AsyncRequestStatusValues::getInstance()->getValues(),
1576
+ 'type_enum' => AsyncRequestTypeValues::getInstance()->getValues(),
1577
+ );
1578
+
1579
+ $request = new ApiRequest(
1580
+ $this->api,
1581
+ $this->data['id'],
1582
+ RequestInterface::METHOD_GET,
1583
+ '/async_requests',
1584
+ new AsyncRequest(),
1585
+ 'EDGE',
1586
+ AsyncRequest::getFieldsEnum()->getValues(),
1587
+ new TypeChecker($param_types, $enums)
1588
+ );
1589
+ $request->addParams($params);
1590
+ $request->addFields($fields);
1591
+ return $pending ? $request : $request->execute();
1592
+ }
1593
+
1594
+ public function getAsyncAdRequestSets(array $fields = array(), array $params = array(), $pending = false) {
1595
+ $this->assureId();
1596
+
1597
+ $param_types = array(
1598
+ 'is_completed' => 'bool',
1599
+ );
1600
+ $enums = array(
1601
+ );
1602
+
1603
+ $request = new ApiRequest(
1604
+ $this->api,
1605
+ $this->data['id'],
1606
+ RequestInterface::METHOD_GET,
1607
+ '/asyncadrequestsets',
1608
+ new AdAsyncRequestSet(),
1609
+ 'EDGE',
1610
+ AdAsyncRequestSet::getFieldsEnum()->getValues(),
1611
+ new TypeChecker($param_types, $enums)
1612
+ );
1613
+ $request->addParams($params);
1614
+ $request->addFields($fields);
1615
+ return $pending ? $request : $request->execute();
1616
+ }
1617
+
1618
+ public function createAsyncAdRequestSet(array $fields = array(), array $params = array(), $pending = false) {
1619
+ $this->assureId();
1620
+
1621
+ $param_types = array(
1622
+ 'ad_specs' => 'list<map>',
1623
+ 'name' => 'string',
1624
+ 'notification_mode' => 'notification_mode_enum',
1625
+ 'notification_uri' => 'string',
1626
+ );
1627
+ $enums = array(
1628
+ 'notification_mode_enum' => AdAsyncRequestSetNotificationModeValues::getInstance()->getValues(),
1629
+ );
1630
+
1631
+ $request = new ApiRequest(
1632
+ $this->api,
1633
+ $this->data['id'],
1634
+ RequestInterface::METHOD_POST,
1635
+ '/asyncadrequestsets',
1636
+ new AdAsyncRequestSet(),
1637
+ 'EDGE',
1638
+ AdAsyncRequestSet::getFieldsEnum()->getValues(),
1639
+ new TypeChecker($param_types, $enums)
1640
+ );
1641
+ $request->addParams($params);
1642
+ $request->addFields($fields);
1643
+ return $pending ? $request : $request->execute();
1644
+ }
1645
+
1646
+ public function createAudienceReplace(array $fields = array(), array $params = array(), $pending = false) {
1647
+ $this->assureId();
1648
+
1649
+ $param_types = array(
1650
+ 'payload' => 'Object',
1651
+ 'session' => 'Object',
1652
+ );
1653
+ $enums = array(
1654
+ );
1655
+
1656
+ $request = new ApiRequest(
1657
+ $this->api,
1658
+ $this->data['id'],
1659
+ RequestInterface::METHOD_POST,
1660
+ '/audiencereplace',
1661
+ new AbstractCrudObject(),
1662
+ 'EDGE',
1663
+ array(),
1664
+ new TypeChecker($param_types, $enums)
1665
+ );
1666
+ $request->addParams($params);
1667
+ $request->addFields($fields);
1668
+ return $pending ? $request : $request->execute();
1669
+ }
1670
+
1671
+ public function createBatchReplace(array $fields = array(), array $params = array(), $pending = false) {
1672
+ $this->assureId();
1673
+
1674
+ $param_types = array(
1675
+ 'payload' => 'list<string>',
1676
+ );
1677
+ $enums = array(
1678
+ );
1679
+
1680
+ $request = new ApiRequest(
1681
+ $this->api,
1682
+ $this->data['id'],
1683
+ RequestInterface::METHOD_POST,
1684
+ '/batchreplace',
1685
+ new AbstractCrudObject(),
1686
+ 'EDGE',
1687
+ array(),
1688
+ new TypeChecker($param_types, $enums)
1689
+ );
1690
+ $request->addParams($params);
1691
+ $request->addFields($fields);
1692
+ return $pending ? $request : $request->execute();
1693
+ }
1694
+
1695
+ public function createBatchUpload(array $fields = array(), array $params = array(), $pending = false) {
1696
+ $this->assureId();
1697
+
1698
+ $param_types = array(
1699
+ 'payload' => 'list<string>',
1700
+ );
1701
+ $enums = array(
1702
+ );
1703
+
1704
+ $request = new ApiRequest(
1705
+ $this->api,
1706
+ $this->data['id'],
1707
+ RequestInterface::METHOD_POST,
1708
+ '/batchupload',
1709
+ new AbstractCrudObject(),
1710
+ 'EDGE',
1711
+ array(),
1712
+ new TypeChecker($param_types, $enums)
1713
+ );
1714
+ $request->addParams($params);
1715
+ $request->addFields($fields);
1716
+ return $pending ? $request : $request->execute();
1717
+ }
1718
+
1719
+ public function createBlockListDraft(array $fields = array(), array $params = array(), $pending = false) {
1720
+ $this->assureId();
1721
+
1722
+ $param_types = array(
1723
+ 'publisher_urls_file' => 'file',
1724
+ );
1725
+ $enums = array(
1726
+ );
1727
+
1728
+ $request = new ApiRequest(
1729
+ $this->api,
1730
+ $this->data['id'],
1731
+ RequestInterface::METHOD_POST,
1732
+ '/block_list_drafts',
1733
+ new AdAccount(),
1734
+ 'EDGE',
1735
+ AdAccount::getFieldsEnum()->getValues(),
1736
+ new TypeChecker($param_types, $enums)
1737
+ );
1738
+ $request->addParams($params);
1739
+ $request->addFields($fields);
1740
+ return $pending ? $request : $request->execute();
1741
+ }
1742
+
1743
+ public function getBroadTargetingCategories(array $fields = array(), array $params = array(), $pending = false) {
1744
+ $this->assureId();
1745
+
1746
+ $param_types = array(
1747
+ 'custom_categories_only' => 'bool',
1748
+ );
1749
+ $enums = array(
1750
+ );
1751
+
1752
+ $request = new ApiRequest(
1753
+ $this->api,
1754
+ $this->data['id'],
1755
+ RequestInterface::METHOD_GET,
1756
+ '/broadtargetingcategories',
1757
+ new BroadTargetingCategories(),
1758
+ 'EDGE',
1759
+ BroadTargetingCategories::getFieldsEnum()->getValues(),
1760
+ new TypeChecker($param_types, $enums)
1761
+ );
1762
+ $request->addParams($params);
1763
+ $request->addFields($fields);
1764
+ return $pending ? $request : $request->execute();
1765
+ }
1766
+
1767
+ public function deleteCampaigns(array $fields = array(), array $params = array(), $pending = false) {
1768
+ $this->assureId();
1769
+
1770
+ $param_types = array(
1771
+ 'before_date' => 'datetime',
1772
+ 'delete_offset' => 'unsigned int',
1773
+ 'delete_strategy' => 'delete_strategy_enum',
1774
+ 'object_count' => 'int',
1775
+ );
1776
+ $enums = array(
1777
+ 'delete_strategy_enum' => array(
1778
+ 'DELETE_ANY',
1779
+ 'DELETE_ARCHIVED_BEFORE',
1780
+ 'DELETE_OLDEST',
1781
+ ),
1782
+ );
1783
+
1784
+ $request = new ApiRequest(
1785
+ $this->api,
1786
+ $this->data['id'],
1787
+ RequestInterface::METHOD_DELETE,
1788
+ '/campaigns',
1789
+ new AbstractCrudObject(),
1790
+ 'EDGE',
1791
+ array(),
1792
+ new TypeChecker($param_types, $enums)
1793
+ );
1794
+ $request->addParams($params);
1795
+ $request->addFields($fields);
1796
+ return $pending ? $request : $request->execute();
1797
+ }
1798
+
1799
+ public function getCampaigns(array $fields = array(), array $params = array(), $pending = false) {
1800
+ $this->assureId();
1801
+
1802
+ $param_types = array(
1803
+ 'date_preset' => 'date_preset_enum',
1804
+ 'effective_status' => 'list<effective_status_enum>',
1805
+ 'include_drafts' => 'bool',
1806
+ 'is_completed' => 'bool',
1807
+ 'time_range' => 'Object',
1808
+ 'use_employee_draft' => 'bool',
1809
+ );
1810
+ $enums = array(
1811
+ 'date_preset_enum' => CampaignDatePresetValues::getInstance()->getValues(),
1812
+ 'effective_status_enum' => CampaignEffectiveStatusValues::getInstance()->getValues(),
1813
+ );
1814
+
1815
+ $request = new ApiRequest(
1816
+ $this->api,
1817
+ $this->data['id'],
1818
+ RequestInterface::METHOD_GET,
1819
+ '/campaigns',
1820
+ new Campaign(),
1821
+ 'EDGE',
1822
+ Campaign::getFieldsEnum()->getValues(),
1823
+ new TypeChecker($param_types, $enums)
1824
+ );
1825
+ $request->addParams($params);
1826
+ $request->addFields($fields);
1827
+ return $pending ? $request : $request->execute();
1828
+ }
1829
+
1830
+ public function createCampaign(array $fields = array(), array $params = array(), $pending = false) {
1831
+ $this->assureId();
1832
+
1833
+ $param_types = array(
1834
+ 'adlabels' => 'list<Object>',
1835
+ 'bid_strategy' => 'bid_strategy_enum',
1836
+ 'budget_rebalance_flag' => 'bool',
1837
+ 'buying_type' => 'string',
1838
+ 'daily_budget' => 'unsigned int',
1839
+ 'execution_options' => 'list<execution_options_enum>',
1840
+ 'iterative_split_test_configs' => 'list<Object>',
1841
+ 'lifetime_budget' => 'unsigned int',
1842
+ 'name' => 'string',
1843
+ 'objective' => 'objective_enum',
1844
+ 'pacing_type' => 'list<string>',
1845
+ 'promoted_object' => 'Object',
1846
+ 'source_campaign_id' => 'string',
1847
+ 'special_ad_category' => 'special_ad_category_enum',
1848
+ 'spend_cap' => 'unsigned int',
1849
+ 'status' => 'status_enum',
1850
+ 'topline_id' => 'string',
1851
+ 'upstream_events' => 'map',
1852
+ );
1853
+ $enums = array(
1854
+ 'bid_strategy_enum' => CampaignBidStrategyValues::getInstance()->getValues(),
1855
+ 'execution_options_enum' => CampaignExecutionOptionsValues::getInstance()->getValues(),
1856
+ 'objective_enum' => CampaignObjectiveValues::getInstance()->getValues(),
1857
+ 'special_ad_category_enum' => CampaignSpecialAdCategoryValues::getInstance()->getValues(),
1858
+ 'status_enum' => CampaignStatusValues::getInstance()->getValues(),
1859
+ );
1860
+
1861
+ $request = new ApiRequest(
1862
+ $this->api,
1863
+ $this->data['id'],
1864
+ RequestInterface::METHOD_POST,
1865
+ '/campaigns',
1866
+ new Campaign(),
1867
+ 'EDGE',
1868
+ Campaign::getFieldsEnum()->getValues(),
1869
+ new TypeChecker($param_types, $enums)
1870
+ );
1871
+ $request->addParams($params);
1872
+ $request->addFields($fields);
1873
+ return $pending ? $request : $request->execute();
1874
+ }
1875
+
1876
+ public function getCampaignsByLabels(array $fields = array(), array $params = array(), $pending = false) {
1877
+ $this->assureId();
1878
+
1879
+ $param_types = array(
1880
+ 'ad_label_ids' => 'list<string>',
1881
+ 'operator' => 'operator_enum',
1882
+ );
1883
+ $enums = array(
1884
+ 'operator_enum' => CampaignOperatorValues::getInstance()->getValues(),
1885
+ );
1886
+
1887
+ $request = new ApiRequest(
1888
+ $this->api,
1889
+ $this->data['id'],
1890
+ RequestInterface::METHOD_GET,
1891
+ '/campaignsbylabels',
1892
+ new Campaign(),
1893
+ 'EDGE',
1894
+ Campaign::getFieldsEnum()->getValues(),
1895
+ new TypeChecker($param_types, $enums)
1896
+ );
1897
+ $request->addParams($params);
1898
+ $request->addFields($fields);
1899
+ return $pending ? $request : $request->execute();
1900
+ }
1901
+
1902
+ public function getContentDeliveryReport(array $fields = array(), array $params = array(), $pending = false) {
1903
+ $this->assureId();
1904
+
1905
+ $param_types = array(
1906
+ 'end_date' => 'datetime',
1907
+ 'platform' => 'platform_enum',
1908
+ 'position' => 'position_enum',
1909
+ 'start_date' => 'datetime',
1910
+ 'summary' => 'bool',
1911
+ );
1912
+ $enums = array(
1913
+ 'platform_enum' => ContentDeliveryReportPlatformValues::getInstance()->getValues(),
1914
+ 'position_enum' => ContentDeliveryReportPositionValues::getInstance()->getValues(),
1915
+ );
1916
+
1917
+ $request = new ApiRequest(
1918
+ $this->api,
1919
+ $this->data['id'],
1920
+ RequestInterface::METHOD_GET,
1921
+ '/content_delivery_report',
1922
+ new ContentDeliveryReport(),
1923
+ 'EDGE',
1924
+ ContentDeliveryReport::getFieldsEnum()->getValues(),
1925
+ new TypeChecker($param_types, $enums)
1926
+ );
1927
+ $request->addParams($params);
1928
+ $request->addFields($fields);
1929
+ return $pending ? $request : $request->execute();
1930
+ }
1931
+
1932
+ public function getCustomAudiences(array $fields = array(), array $params = array(), $pending = false) {
1933
+ $this->assureId();
1934
+
1935
+ $param_types = array(
1936
+ 'business_id' => 'string',
1937
+ 'fields' => 'list<string>',
1938
+ 'filtering' => 'list<Object>',
1939
+ 'pixel_id' => 'string',
1940
+ );
1941
+ $enums = array(
1942
+ );
1943
+
1944
+ $request = new ApiRequest(
1945
+ $this->api,
1946
+ $this->data['id'],
1947
+ RequestInterface::METHOD_GET,
1948
+ '/customaudiences',
1949
+ new CustomAudience(),
1950
+ 'EDGE',
1951
+ CustomAudience::getFieldsEnum()->getValues(),
1952
+ new TypeChecker($param_types, $enums)
1953
+ );
1954
+ $request->addParams($params);
1955
+ $request->addFields($fields);
1956
+ return $pending ? $request : $request->execute();
1957
+ }
1958
+
1959
+ public function createCustomAudience(array $fields = array(), array $params = array(), $pending = false) {
1960
+ $this->assureId();
1961
+
1962
+ $param_types = array(
1963
+ 'accountID' => 'string',
1964
+ 'additionalMetadata' => 'string',
1965
+ 'allowed_domains' => 'list<string>',
1966
+ 'associated_audience_id' => 'unsigned int',
1967
+ 'claim_objective' => 'claim_objective_enum',
1968
+ 'content_type' => 'content_type_enum',
1969
+ 'countries' => 'string',
1970
+ 'creation_params' => 'map',
1971
+ 'customer_file_source' => 'customer_file_source_enum',
1972
+ 'dataset_id' => 'string',
1973
+ 'description' => 'string',
1974
+ 'details' => 'string',
1975
+ 'enable_fetch_or_create' => 'bool',
1976
+ 'event_source_group' => 'string',
1977
+ 'event_sources' => 'list<map>',
1978
+ 'exclusions' => 'list<Object>',
1979
+ 'expectedSize' => 'unsigned int',
1980
+ 'gender' => 'string',
1981
+ 'inclusions' => 'list<Object>',
1982
+ 'isPrivate' => 'bool',
1983
+ 'is_household' => 'bool',
1984
+ 'is_household_exclusion' => 'bool',
1985
+ 'is_snapshot' => 'bool',
1986
+ 'is_value_based' => 'bool',
1987
+ 'list_of_accounts' => 'list<unsigned int>',
1988
+ 'lookalike_spec' => 'string',
1989
+ 'maxAge' => 'unsigned int',
1990
+ 'minAge' => 'unsigned int',
1991
+ 'name' => 'string',
1992
+ 'opt_out_link' => 'string',
1993
+ 'origin_audience_id' => 'string',
1994
+ 'parent_audience_id' => 'unsigned int',
1995
+ 'partnerID' => 'string',
1996
+ 'partner_reference_key' => 'string',
1997
+ 'pixel_id' => 'string',
1998
+ 'prefill' => 'bool',
1999
+ 'product_set_id' => 'string',
2000
+ 'regulated_audience_spec' => 'string',
2001
+ 'retention_days' => 'unsigned int',
2002
+ 'rev_share_policy_id' => 'unsigned int',
2003
+ 'rule' => 'string',
2004
+ 'rule_aggregation' => 'string',
2005
+ 'seed_audience' => 'unsigned int',
2006
+ 'source' => 'string',
2007
+ 'subtype' => 'subtype_enum',
2008
+ 'tags' => 'list<string>',
2009
+ 'video_group_ids' => 'list<string>',
2010
+ );
2011
+ $enums = array(
2012
+ 'claim_objective_enum' => CustomAudienceClaimObjectiveValues::getInstance()->getValues(),
2013
+ 'content_type_enum' => CustomAudienceContentTypeValues::getInstance()->getValues(),
2014
+ 'customer_file_source_enum' => CustomAudienceCustomerFileSourceValues::getInstance()->getValues(),
2015
+ 'subtype_enum' => CustomAudienceSubtypeValues::getInstance()->getValues(),
2016
+ );
2017
+
2018
+ $request = new ApiRequest(
2019
+ $this->api,
2020
+ $this->data['id'],
2021
+ RequestInterface::METHOD_POST,
2022
+ '/customaudiences',
2023
+ new CustomAudience(),
2024
+ 'EDGE',
2025
+ CustomAudience::getFieldsEnum()->getValues(),
2026
+ new TypeChecker($param_types, $enums)
2027
+ );
2028
+ $request->addParams($params);
2029
+ $request->addFields($fields);
2030
+ return $pending ? $request : $request->execute();
2031
+ }
2032
+
2033
+ public function getCustomAudiencesTos(array $fields = array(), array $params = array(), $pending = false) {
2034
+ $this->assureId();
2035
+
2036
+ $param_types = array(
2037
+ );
2038
+ $enums = array(
2039
+ );
2040
+
2041
+ $request = new ApiRequest(
2042
+ $this->api,
2043
+ $this->data['id'],
2044
+ RequestInterface::METHOD_GET,
2045
+ '/customaudiencestos',
2046
+ new CustomAudiencesTOS(),
2047
+ 'EDGE',
2048
+ CustomAudiencesTOS::getFieldsEnum()->getValues(),
2049
+ new TypeChecker($param_types, $enums)
2050
+ );
2051
+ $request->addParams($params);
2052
+ $request->addFields($fields);
2053
+ return $pending ? $request : $request->execute();
2054
+ }
2055
+
2056
+ public function createCustomAudiencesTo(array $fields = array(), array $params = array(), $pending = false) {
2057
+ $this->assureId();
2058
+
2059
+ $param_types = array(
2060
+ 'business_id' => 'string',
2061
+ 'tos_id' => 'string',
2062
+ );
2063
+ $enums = array(
2064
+ );
2065
+
2066
+ $request = new ApiRequest(
2067
+ $this->api,
2068
+ $this->data['id'],
2069
+ RequestInterface::METHOD_POST,
2070
+ '/customaudiencestos',
2071
+ new AdAccount(),
2072
+ 'EDGE',
2073
+ AdAccount::getFieldsEnum()->getValues(),
2074
+ new TypeChecker($param_types, $enums)
2075
+ );
2076
+ $request->addParams($params);
2077
+ $request->addFields($fields);
2078
+ return $pending ? $request : $request->execute();
2079
+ }
2080
+
2081
+ public function getCustomConversions(array $fields = array(), array $params = array(), $pending = false) {
2082
+ $this->assureId();
2083
+
2084
+ $param_types = array(
2085
+ );
2086
+ $enums = array(
2087
+ );
2088
+
2089
+ $request = new ApiRequest(
2090
+ $this->api,
2091
+ $this->data['id'],
2092
+ RequestInterface::METHOD_GET,
2093
+ '/customconversions',
2094
+ new CustomConversion(),
2095
+ 'EDGE',
2096
+ CustomConversion::getFieldsEnum()->getValues(),
2097
+ new TypeChecker($param_types, $enums)
2098
+ );
2099
+ $request->addParams($params);
2100
+ $request->addFields($fields);
2101
+ return $pending ? $request : $request->execute();
2102
+ }
2103
+
2104
+ public function createCustomConversion(array $fields = array(), array $params = array(), $pending = false) {
2105
+ $this->assureId();
2106
+
2107
+ $param_types = array(
2108
+ 'advanced_rule' => 'string',
2109
+ 'custom_event_type' => 'custom_event_type_enum',
2110
+ 'default_conversion_value' => 'float',
2111
+ 'description' => 'string',
2112
+ 'event_source_id' => 'string',
2113
+ 'name' => 'string',
2114
+ 'rule' => 'string',
2115
+ );
2116
+ $enums = array(
2117
+ 'custom_event_type_enum' => CustomConversionCustomEventTypeValues::getInstance()->getValues(),
2118
+ );
2119
+
2120
+ $request = new ApiRequest(
2121
+ $this->api,
2122
+ $this->data['id'],
2123
+ RequestInterface::METHOD_POST,
2124
+ '/customconversions',
2125
+ new CustomConversion(),
2126
+ 'EDGE',
2127
+ CustomConversion::getFieldsEnum()->getValues(),
2128
+ new TypeChecker($param_types, $enums)
2129
+ );
2130
+ $request->addParams($params);
2131
+ $request->addFields($fields);
2132
+ return $pending ? $request : $request->execute();
2133
+ }
2134
+
2135
+ public function getDeliveryEstimate(array $fields = array(), array $params = array(), $pending = false) {
2136
+ $this->assureId();
2137
+
2138
+ $param_types = array(
2139
+ 'optimization_goal' => 'optimization_goal_enum',
2140
+ 'promoted_object' => 'Object',
2141
+ 'targeting_spec' => 'Targeting',
2142
+ );
2143
+ $enums = array(
2144
+ 'optimization_goal_enum' => AdAccountDeliveryEstimateOptimizationGoalValues::getInstance()->getValues(),
2145
+ );
2146
+
2147
+ $request = new ApiRequest(
2148
+ $this->api,
2149
+ $this->data['id'],
2150
+ RequestInterface::METHOD_GET,
2151
+ '/delivery_estimate',
2152
+ new AdAccountDeliveryEstimate(),
2153
+ 'EDGE',
2154
+ AdAccountDeliveryEstimate::getFieldsEnum()->getValues(),
2155
+ new TypeChecker($param_types, $enums)
2156
+ );
2157
+ $request->addParams($params);
2158
+ $request->addFields($fields);
2159
+ return $pending ? $request : $request->execute();
2160
+ }
2161
+
2162
+ public function getDeprecatedTargetingAdSets(array $fields = array(), array $params = array(), $pending = false) {
2163
+ $this->assureId();
2164
+
2165
+ $param_types = array(
2166
+ 'type' => 'string',
2167
+ );
2168
+ $enums = array(
2169
+ );
2170
+
2171
+ $request = new ApiRequest(
2172
+ $this->api,
2173
+ $this->data['id'],
2174
+ RequestInterface::METHOD_GET,
2175
+ '/deprecatedtargetingadsets',
2176
+ new AdSet(),
2177
+ 'EDGE',
2178
+ AdSet::getFieldsEnum()->getValues(),
2179
+ new TypeChecker($param_types, $enums)
2180
+ );
2181
+ $request->addParams($params);
2182
+ $request->addFields($fields);
2183
+ return $pending ? $request : $request->execute();
2184
+ }
2185
+
2186
+ public function getGeneratePreviews(array $fields = array(), array $params = array(), $pending = false) {
2187
+ $this->assureId();
2188
+
2189
+ $param_types = array(
2190
+ 'ad_format' => 'ad_format_enum',
2191
+ 'creative' => 'AdCreative',
2192
+ 'dynamic_asset_label' => 'string',
2193
+ 'dynamic_creative_spec' => 'Object',
2194
+ 'dynamic_customization' => 'Object',
2195
+ 'end_date' => 'datetime',
2196
+ 'height' => 'unsigned int',
2197
+ 'locale' => 'string',
2198
+ 'place_page_id' => 'int',
2199
+ 'post' => 'Object',
2200
+ 'product_item_ids' => 'list<string>',
2201
+ 'render_type' => 'render_type_enum',
2202
+ 'start_date' => 'datetime',
2203
+ 'width' => 'unsigned int',
2204
+ );
2205
+ $enums = array(
2206
+ 'ad_format_enum' => AdPreviewAdFormatValues::getInstance()->getValues(),
2207
+ 'render_type_enum' => AdPreviewRenderTypeValues::getInstance()->getValues(),
2208
+ );
2209
+
2210
+ $request = new ApiRequest(
2211
+ $this->api,
2212
+ $this->data['id'],
2213
+ RequestInterface::METHOD_GET,
2214
+ '/generatepreviews',
2215
+ new AdPreview(),
2216
+ 'EDGE',
2217
+ AdPreview::getFieldsEnum()->getValues(),
2218
+ new TypeChecker($param_types, $enums)
2219
+ );
2220
+ $request->addParams($params);
2221
+ $request->addFields($fields);
2222
+ return $pending ? $request : $request->execute();
2223
+ }
2224
+
2225
+ public function getImpactingAdStudies(array $fields = array(), array $params = array(), $pending = false) {
2226
+ $this->assureId();
2227
+
2228
+ $param_types = array(
2229
+ );
2230
+ $enums = array(
2231
+ );
2232
+
2233
+ $request = new ApiRequest(
2234
+ $this->api,
2235
+ $this->data['id'],
2236
+ RequestInterface::METHOD_GET,
2237
+ '/impacting_ad_studies',
2238
+ new AdStudy(),
2239
+ 'EDGE',
2240
+ AdStudy::getFieldsEnum()->getValues(),
2241
+ new TypeChecker($param_types, $enums)
2242
+ );
2243
+ $request->addParams($params);
2244
+ $request->addFields($fields);
2245
+ return $pending ? $request : $request->execute();
2246
+ }
2247
+
2248
+ public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
2249
+ $this->assureId();
2250
+
2251
+ $param_types = array(
2252
+ 'action_attribution_windows' => 'list<action_attribution_windows_enum>',
2253
+ 'action_breakdowns' => 'list<action_breakdowns_enum>',
2254
+ 'action_report_time' => 'action_report_time_enum',
2255
+ 'breakdowns' => 'list<breakdowns_enum>',
2256
+ 'date_preset' => 'date_preset_enum',
2257
+ 'default_summary' => 'bool',
2258
+ 'export_columns' => 'list<string>',
2259
+ 'export_format' => 'string',
2260
+ 'export_name' => 'string',
2261
+ 'fields' => 'list<string>',
2262
+ 'filtering' => 'list<Object>',
2263
+ 'level' => 'level_enum',
2264
+ 'product_id_limit' => 'int',
2265
+ 'sort' => 'list<string>',
2266
+ 'summary' => 'list<string>',
2267
+ 'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
2268
+ 'time_increment' => 'string',
2269
+ 'time_range' => 'Object',
2270
+ 'time_ranges' => 'list<Object>',
2271
+ 'use_account_attribution_setting' => 'bool',
2272
+ );
2273
+ $enums = array(
2274
+ 'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
2275
+ 'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
2276
+ 'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
2277
+ 'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
2278
+ 'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
2279
+ 'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
2280
+ 'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
2281
+ );
2282
+
2283
+ $request = new ApiRequest(
2284
+ $this->api,
2285
+ $this->data['id'],
2286
+ RequestInterface::METHOD_GET,
2287
+ '/insights',
2288
+ new AdsInsights(),
2289
+ 'EDGE',
2290
+ AdsInsights::getFieldsEnum()->getValues(),
2291
+ new TypeChecker($param_types, $enums)
2292
+ );
2293
+ $request->addParams($params);
2294
+ $request->addFields($fields);
2295
+ return $pending ? $request : $request->execute();
2296
+ }
2297
+
2298
+ public function getInsightsAsync(array $fields = array(), array $params = array(), $pending = false) {
2299
+ $this->assureId();
2300
+
2301
+ $param_types = array(
2302
+ 'action_attribution_windows' => 'list<action_attribution_windows_enum>',
2303
+ 'action_breakdowns' => 'list<action_breakdowns_enum>',
2304
+ 'action_report_time' => 'action_report_time_enum',
2305
+ 'breakdowns' => 'list<breakdowns_enum>',
2306
+ 'date_preset' => 'date_preset_enum',
2307
+ 'default_summary' => 'bool',
2308
+ 'export_columns' => 'list<string>',
2309
+ 'export_format' => 'string',
2310
+ 'export_name' => 'string',
2311
+ 'fields' => 'list<string>',
2312
+ 'filtering' => 'list<Object>',
2313
+ 'level' => 'level_enum',
2314
+ 'product_id_limit' => 'int',
2315
+ 'sort' => 'list<string>',
2316
+ 'summary' => 'list<string>',
2317
+ 'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
2318
+ 'time_increment' => 'string',
2319
+ 'time_range' => 'Object',
2320
+ 'time_ranges' => 'list<Object>',
2321
+ 'use_account_attribution_setting' => 'bool',
2322
+ );
2323
+ $enums = array(
2324
+ 'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
2325
+ 'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
2326
+ 'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
2327
+ 'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
2328
+ 'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
2329
+ 'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
2330
+ 'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
2331
+ );
2332
+
2333
+ $request = new ApiRequest(
2334
+ $this->api,
2335
+ $this->data['id'],
2336
+ RequestInterface::METHOD_POST,
2337
+ '/insights',
2338
+ new AdReportRun(),
2339
+ 'EDGE',
2340
+ AdReportRun::getFieldsEnum()->getValues(),
2341
+ new TypeChecker($param_types, $enums)
2342
+ );
2343
+ $request->addParams($params);
2344
+ $request->addFields($fields);
2345
+ return $pending ? $request : $request->execute();
2346
+ }
2347
+
2348
+ public function getInstagramAccounts(array $fields = array(), array $params = array(), $pending = false) {
2349
+ $this->assureId();
2350
+
2351
+ $param_types = array(
2352
+ );
2353
+ $enums = array(
2354
+ );
2355
+
2356
+ $request = new ApiRequest(
2357
+ $this->api,
2358
+ $this->data['id'],
2359
+ RequestInterface::METHOD_GET,
2360
+ '/instagram_accounts',
2361
+ new InstagramUser(),
2362
+ 'EDGE',
2363
+ InstagramUser::getFieldsEnum()->getValues(),
2364
+ new TypeChecker($param_types, $enums)
2365
+ );
2366
+ $request->addParams($params);
2367
+ $request->addFields($fields);
2368
+ return $pending ? $request : $request->execute();
2369
+ }
2370
+
2371
+ public function getMatchedSearchApplications(array $fields = array(), array $params = array(), $pending = false) {
2372
+ $this->assureId();
2373
+
2374
+ $param_types = array(
2375
+ 'allow_incomplete_app' => 'bool',
2376
+ 'app_store' => 'app_store_enum',
2377
+ 'app_store_country' => 'string',
2378
+ 'business_id' => 'string',
2379
+ 'query_term' => 'string',
2380
+ );
2381
+ $enums = array(
2382
+ 'app_store_enum' => AdAccountMatchedSearchApplicationsEdgeDataAppStoreValues::getInstance()->getValues(),
2383
+ );
2384
+
2385
+ $request = new ApiRequest(
2386
+ $this->api,
2387
+ $this->data['id'],
2388
+ RequestInterface::METHOD_GET,
2389
+ '/matched_search_applications',
2390
+ new AdAccountMatchedSearchApplicationsEdgeData(),
2391
+ 'EDGE',
2392
+ AdAccountMatchedSearchApplicationsEdgeData::getFieldsEnum()->getValues(),
2393
+ new TypeChecker($param_types, $enums)
2394
+ );
2395
+ $request->addParams($params);
2396
+ $request->addFields($fields);
2397
+ return $pending ? $request : $request->execute();
2398
+ }
2399
+
2400
+ public function getMaxBid(array $fields = array(), array $params = array(), $pending = false) {
2401
+ $this->assureId();
2402
+
2403
+ $param_types = array(
2404
+ );
2405
+ $enums = array(
2406
+ );
2407
+
2408
+ $request = new ApiRequest(
2409
+ $this->api,
2410
+ $this->data['id'],
2411
+ RequestInterface::METHOD_GET,
2412
+ '/max_bid',
2413
+ new AdAccountMaxBid(),
2414
+ 'EDGE',
2415
+ AdAccountMaxBid::getFieldsEnum()->getValues(),
2416
+ new TypeChecker($param_types, $enums)
2417
+ );
2418
+ $request->addParams($params);
2419
+ $request->addFields($fields);
2420
+ return $pending ? $request : $request->execute();
2421
+ }
2422
+
2423
+ public function getMinimumBudgets(array $fields = array(), array $params = array(), $pending = false) {
2424
+ $this->assureId();
2425
+
2426
+ $param_types = array(
2427
+ 'bid_amount' => 'int',
2428
+ );
2429
+ $enums = array(
2430
+ );
2431
+
2432
+ $request = new ApiRequest(
2433
+ $this->api,
2434
+ $this->data['id'],
2435
+ RequestInterface::METHOD_GET,
2436
+ '/minimum_budgets',
2437
+ new MinimumBudget(),
2438
+ 'EDGE',
2439
+ MinimumBudget::getFieldsEnum()->getValues(),
2440
+ new TypeChecker($param_types, $enums)
2441
+ );
2442
+ $request->addParams($params);
2443
+ $request->addFields($fields);
2444
+ return $pending ? $request : $request->execute();
2445
+ }
2446
+
2447
+ public function getOfflineConversionDataSets(array $fields = array(), array $params = array(), $pending = false) {
2448
+ $this->assureId();
2449
+
2450
+ $param_types = array(
2451
+ );
2452
+ $enums = array(
2453
+ );
2454
+
2455
+ $request = new ApiRequest(
2456
+ $this->api,
2457
+ $this->data['id'],
2458
+ RequestInterface::METHOD_GET,
2459
+ '/offline_conversion_data_sets',
2460
+ new OfflineConversionDataSet(),
2461
+ 'EDGE',
2462
+ OfflineConversionDataSet::getFieldsEnum()->getValues(),
2463
+ new TypeChecker($param_types, $enums)
2464
+ );
2465
+ $request->addParams($params);
2466
+ $request->addFields($fields);
2467
+ return $pending ? $request : $request->execute();
2468
+ }
2469
+
2470
+ public function getOnBehalfRequests(array $fields = array(), array $params = array(), $pending = false) {
2471
+ $this->assureId();
2472
+
2473
+ $param_types = array(
2474
+ 'status' => 'status_enum',
2475
+ );
2476
+ $enums = array(
2477
+ 'status_enum' => BusinessOwnedObjectOnBehalfOfRequestStatusValues::getInstance()->getValues(),
2478
+ );
2479
+
2480
+ $request = new ApiRequest(
2481
+ $this->api,
2482
+ $this->data['id'],
2483
+ RequestInterface::METHOD_GET,
2484
+ '/onbehalf_requests',
2485
+ new BusinessOwnedObjectOnBehalfOfRequest(),
2486
+ 'EDGE',
2487
+ BusinessOwnedObjectOnBehalfOfRequest::getFieldsEnum()->getValues(),
2488
+ new TypeChecker($param_types, $enums)
2489
+ );
2490
+ $request->addParams($params);
2491
+ $request->addFields($fields);
2492
+ return $pending ? $request : $request->execute();
2493
+ }
2494
+
2495
+ public function createProductAudience(array $fields = array(), array $params = array(), $pending = false) {
2496
+ $this->assureId();
2497
+
2498
+ $param_types = array(
2499
+ 'allowed_domains' => 'list<string>',
2500
+ 'associated_audience_id' => 'unsigned int',
2501
+ 'claim_objective' => 'claim_objective_enum',
2502
+ 'content_type' => 'content_type_enum',
2503
+ 'creation_params' => 'map',
2504
+ 'description' => 'string',
2505
+ 'enable_fetch_or_create' => 'bool',
2506
+ 'event_source_group' => 'string',
2507
+ 'event_sources' => 'list<map>',
2508
+ 'exclusions' => 'list<Object>',
2509
+ 'inclusions' => 'list<Object>',
2510
+ 'is_household' => 'bool',
2511
+ 'is_household_exclusion' => 'bool',
2512
+ 'is_snapshot' => 'bool',
2513
+ 'is_value_based' => 'bool',
2514
+ 'name' => 'string',
2515
+ 'opt_out_link' => 'string',
2516
+ 'parent_audience_id' => 'unsigned int',
2517
+ 'product_set_id' => 'string',
2518
+ 'rev_share_policy_id' => 'unsigned int',
2519
+ 'seed_audience' => 'unsigned int',
2520
+ 'subtype' => 'subtype_enum',
2521
+ 'tags' => 'list<string>',
2522
+ );
2523
+ $enums = array(
2524
+ 'claim_objective_enum' => AdAccountClaimObjectiveValues::getInstance()->getValues(),
2525
+ 'content_type_enum' => AdAccountContentTypeValues::getInstance()->getValues(),
2526
+ 'subtype_enum' => AdAccountSubtypeValues::getInstance()->getValues(),
2527
+ );
2528
+
2529
+ $request = new ApiRequest(
2530
+ $this->api,
2531
+ $this->data['id'],
2532
+ RequestInterface::METHOD_POST,
2533
+ '/product_audiences',
2534
+ new CustomAudience(),
2535
+ 'EDGE',
2536
+ CustomAudience::getFieldsEnum()->getValues(),
2537
+ new TypeChecker($param_types, $enums)
2538
+ );
2539
+ $request->addParams($params);
2540
+ $request->addFields($fields);
2541
+ return $pending ? $request : $request->execute();
2542
+ }
2543
+
2544
+ public function getPromotePages(array $fields = array(), array $params = array(), $pending = false) {
2545
+ $this->assureId();
2546
+
2547
+ $param_types = array(
2548
+ );
2549
+ $enums = array(
2550
+ );
2551
+
2552
+ $request = new ApiRequest(
2553
+ $this->api,
2554
+ $this->data['id'],
2555
+ RequestInterface::METHOD_GET,
2556
+ '/promote_pages',
2557
+ new Page(),
2558
+ 'EDGE',
2559
+ Page::getFieldsEnum()->getValues(),
2560
+ new TypeChecker($param_types, $enums)
2561
+ );
2562
+ $request->addParams($params);
2563
+ $request->addFields($fields);
2564
+ return $pending ? $request : $request->execute();
2565
+ }
2566
+
2567
+ public function getPublisherBlockLists(array $fields = array(), array $params = array(), $pending = false) {
2568
+ $this->assureId();
2569
+
2570
+ $param_types = array(
2571
+ );
2572
+ $enums = array(
2573
+ );
2574
+
2575
+ $request = new ApiRequest(
2576
+ $this->api,
2577
+ $this->data['id'],
2578
+ RequestInterface::METHOD_GET,
2579
+ '/publisher_block_lists',
2580
+ new PublisherBlockList(),
2581
+ 'EDGE',
2582
+ PublisherBlockList::getFieldsEnum()->getValues(),
2583
+ new TypeChecker($param_types, $enums)
2584
+ );
2585
+ $request->addParams($params);
2586
+ $request->addFields($fields);
2587
+ return $pending ? $request : $request->execute();
2588
+ }
2589
+
2590
+ public function createPublisherBlockList(array $fields = array(), array $params = array(), $pending = false) {
2591
+ $this->assureId();
2592
+
2593
+ $param_types = array(
2594
+ 'name' => 'string',
2595
+ );
2596
+ $enums = array(
2597
+ );
2598
+
2599
+ $request = new ApiRequest(
2600
+ $this->api,
2601
+ $this->data['id'],
2602
+ RequestInterface::METHOD_POST,
2603
+ '/publisher_block_lists',
2604
+ new PublisherBlockList(),
2605
+ 'EDGE',
2606
+ PublisherBlockList::getFieldsEnum()->getValues(),
2607
+ new TypeChecker($param_types, $enums)
2608
+ );
2609
+ $request->addParams($params);
2610
+ $request->addFields($fields);
2611
+ return $pending ? $request : $request->execute();
2612
+ }
2613
+
2614
+ public function getReachEstimate(array $fields = array(), array $params = array(), $pending = false) {
2615
+ $this->assureId();
2616
+
2617
+ $param_types = array(
2618
+ 'adgroup_ids' => 'list<string>',
2619
+ 'caller_id' => 'string',
2620
+ 'concepts' => 'string',
2621
+ 'creative_action_spec' => 'string',
2622
+ 'is_debug' => 'bool',
2623
+ 'object_store_url' => 'string',
2624
+ 'targeting_spec' => 'Targeting',
2625
+ );
2626
+ $enums = array(
2627
+ );
2628
+
2629
+ $request = new ApiRequest(
2630
+ $this->api,
2631
+ $this->data['id'],
2632
+ RequestInterface::METHOD_GET,
2633
+ '/reachestimate',
2634
+ new AdAccountReachEstimate(),
2635
+ 'EDGE',
2636
+ AdAccountReachEstimate::getFieldsEnum()->getValues(),
2637
+ new TypeChecker($param_types, $enums)
2638
+ );
2639
+ $request->addParams($params);
2640
+ $request->addFields($fields);
2641
+ return $pending ? $request : $request->execute();
2642
+ }
2643
+
2644
+ public function getReachFrequencyPredictions(array $fields = array(), array $params = array(), $pending = false) {
2645
+ $this->assureId();
2646
+
2647
+ $param_types = array(
2648
+ );
2649
+ $enums = array(
2650
+ );
2651
+
2652
+ $request = new ApiRequest(
2653
+ $this->api,
2654
+ $this->data['id'],
2655
+ RequestInterface::METHOD_GET,
2656
+ '/reachfrequencypredictions',
2657
+ new ReachFrequencyPrediction(),
2658
+ 'EDGE',
2659
+ ReachFrequencyPrediction::getFieldsEnum()->getValues(),
2660
+ new TypeChecker($param_types, $enums)
2661
+ );
2662
+ $request->addParams($params);
2663
+ $request->addFields($fields);
2664
+ return $pending ? $request : $request->execute();
2665
+ }
2666
+
2667
+ public function createReachFrequencyPrediction(array $fields = array(), array $params = array(), $pending = false) {
2668
+ $this->assureId();
2669
+
2670
+ $param_types = array(
2671
+ 'action' => 'action_enum',
2672
+ 'ad_formats' => 'list<map>',
2673
+ 'auction_entry_option_index' => 'unsigned int',
2674
+ 'budget' => 'unsigned int',
2675
+ 'buying_type' => 'buying_type_enum',
2676
+ 'campaign_group_id' => 'string',
2677
+ 'day_parting_schedule' => 'list<Object>',
2678
+ 'deal_id' => 'string',
2679
+ 'destination_id' => 'unsigned int',
2680
+ 'destination_ids' => 'list<string>',
2681
+ 'end_time' => 'unsigned int',
2682
+ 'exceptions' => 'bool',
2683
+ 'existing_campaign_id' => 'string',
2684
+ 'expiration_time' => 'unsigned int',
2685
+ 'frequency_cap' => 'unsigned int',
2686
+ 'grp_buying' => 'bool',
2687
+ 'impression' => 'unsigned int',
2688
+ 'instream_packages' => 'list<instream_packages_enum>',
2689
+ 'interval_frequency_cap_reset_period' => 'unsigned int',
2690
+ 'is_bonus_media' => 'bool',
2691
+ 'is_conversion_goal' => 'bool',
2692
+ 'is_full_view' => 'bool',
2693
+ 'is_higher_average_frequency' => 'bool',
2694
+ 'is_reach_and_frequency_io_buying' => 'bool',
2695
+ 'is_reserved_buying' => 'bool',
2696
+ 'num_curve_points' => 'unsigned int',
2697
+ 'objective' => 'string',
2698
+ 'prediction_mode' => 'unsigned int',
2699
+ 'reach' => 'unsigned int',
2700
+ 'rf_prediction_id' => 'string',
2701
+ 'rf_prediction_id_to_release' => 'string',
2702
+ 'rf_prediction_id_to_share' => 'string',
2703
+ 'start_time' => 'unsigned int',
2704
+ 'stop_time' => 'unsigned int',
2705
+ 'story_event_type' => 'unsigned int',
2706
+ 'target_cpm' => 'unsigned int',
2707
+ 'target_spec' => 'Targeting',
2708
+ 'video_view_length_constraint' => 'unsigned int',
2709
+ );
2710
+ $enums = array(
2711
+ 'action_enum' => ReachFrequencyPredictionActionValues::getInstance()->getValues(),
2712
+ 'buying_type_enum' => ReachFrequencyPredictionBuyingTypeValues::getInstance()->getValues(),
2713
+ 'instream_packages_enum' => ReachFrequencyPredictionInstreamPackagesValues::getInstance()->getValues(),
2714
+ );
2715
+
2716
+ $request = new ApiRequest(
2717
+ $this->api,
2718
+ $this->data['id'],
2719
+ RequestInterface::METHOD_POST,
2720
+ '/reachfrequencypredictions',
2721
+ new ReachFrequencyPrediction(),
2722
+ 'EDGE',
2723
+ ReachFrequencyPrediction::getFieldsEnum()->getValues(),
2724
+ new TypeChecker($param_types, $enums)
2725
+ );
2726
+ $request->addParams($params);
2727
+ $request->addFields($fields);
2728
+ return $pending ? $request : $request->execute();
2729
+ }
2730
+
2731
+ public function getRoas(array $fields = array(), array $params = array(), $pending = false) {
2732
+ $this->assureId();
2733
+
2734
+ $param_types = array(
2735
+ 'fields' => 'list<string>',
2736
+ 'filtering' => 'list<Object>',
2737
+ 'time_increment' => 'string',
2738
+ 'time_range' => 'Object',
2739
+ );
2740
+ $enums = array(
2741
+ );
2742
+
2743
+ $request = new ApiRequest(
2744
+ $this->api,
2745
+ $this->data['id'],
2746
+ RequestInterface::METHOD_GET,
2747
+ '/roas',
2748
+ new AdAccountRoas(),
2749
+ 'EDGE',
2750
+ AdAccountRoas::getFieldsEnum()->getValues(),
2751
+ new TypeChecker($param_types, $enums)
2752
+ );
2753
+ $request->addParams($params);
2754
+ $request->addFields($fields);
2755
+ return $pending ? $request : $request->execute();
2756
+ }
2757
+
2758
+ public function getSavedAudiences(array $fields = array(), array $params = array(), $pending = false) {
2759
+ $this->assureId();
2760
+
2761
+ $param_types = array(
2762
+ 'business_id' => 'string',
2763
+ 'fields' => 'list<string>',
2764
+ 'filtering' => 'list<Object>',
2765
+ );
2766
+ $enums = array(
2767
+ );
2768
+
2769
+ $request = new ApiRequest(
2770
+ $this->api,
2771
+ $this->data['id'],
2772
+ RequestInterface::METHOD_GET,
2773
+ '/saved_audiences',
2774
+ new SavedAudience(),
2775
+ 'EDGE',
2776
+ SavedAudience::getFieldsEnum()->getValues(),
2777
+ new TypeChecker($param_types, $enums)
2778
+ );
2779
+ $request->addParams($params);
2780
+ $request->addFields($fields);
2781
+ return $pending ? $request : $request->execute();
2782
+ }
2783
+
2784
+ public function createSponsoredMessageAd(array $fields = array(), array $params = array(), $pending = false) {
2785
+ $this->assureId();
2786
+
2787
+ $param_types = array(
2788
+ 'bid_amount' => 'int',
2789
+ 'daily_budget' => 'unsigned int',
2790
+ 'message_creative_id' => 'string',
2791
+ 'targeting' => 'Targeting',
2792
+ );
2793
+ $enums = array(
2794
+ );
2795
+
2796
+ $request = new ApiRequest(
2797
+ $this->api,
2798
+ $this->data['id'],
2799
+ RequestInterface::METHOD_POST,
2800
+ '/sponsored_message_ads',
2801
+ new AbstractCrudObject(),
2802
+ 'EDGE',
2803
+ array(),
2804
+ new TypeChecker($param_types, $enums)
2805
+ );
2806
+ $request->addParams($params);
2807
+ $request->addFields($fields);
2808
+ return $pending ? $request : $request->execute();
2809
+ }
2810
+
2811
+ public function deleteSubscribedApps(array $fields = array(), array $params = array(), $pending = false) {
2812
+ $this->assureId();
2813
+
2814
+ $param_types = array(
2815
+ 'app_id' => 'string',
2816
+ );
2817
+ $enums = array(
2818
+ );
2819
+
2820
+ $request = new ApiRequest(
2821
+ $this->api,
2822
+ $this->data['id'],
2823
+ RequestInterface::METHOD_DELETE,
2824
+ '/subscribed_apps',
2825
+ new AbstractCrudObject(),
2826
+ 'EDGE',
2827
+ array(),
2828
+ new TypeChecker($param_types, $enums)
2829
+ );
2830
+ $request->addParams($params);
2831
+ $request->addFields($fields);
2832
+ return $pending ? $request : $request->execute();
2833
+ }
2834
+
2835
+ public function getSubscribedApps(array $fields = array(), array $params = array(), $pending = false) {
2836
+ $this->assureId();
2837
+
2838
+ $param_types = array(
2839
+ );
2840
+ $enums = array(
2841
+ );
2842
+
2843
+ $request = new ApiRequest(
2844
+ $this->api,
2845
+ $this->data['id'],
2846
+ RequestInterface::METHOD_GET,
2847
+ '/subscribed_apps',
2848
+ new AdAccountSubscribedApps(),
2849
+ 'EDGE',
2850
+ AdAccountSubscribedApps::getFieldsEnum()->getValues(),
2851
+ new TypeChecker($param_types, $enums)
2852
+ );
2853
+ $request->addParams($params);
2854
+ $request->addFields($fields);
2855
+ return $pending ? $request : $request->execute();
2856
+ }
2857
+
2858
+ public function createSubscribedApp(array $fields = array(), array $params = array(), $pending = false) {
2859
+ $this->assureId();
2860
+
2861
+ $param_types = array(
2862
+ 'app_id' => 'string',
2863
+ );
2864
+ $enums = array(
2865
+ );
2866
+
2867
+ $request = new ApiRequest(
2868
+ $this->api,
2869
+ $this->data['id'],
2870
+ RequestInterface::METHOD_POST,
2871
+ '/subscribed_apps',
2872
+ new AdAccountSubscribedApps(),
2873
+ 'EDGE',
2874
+ AdAccountSubscribedApps::getFieldsEnum()->getValues(),
2875
+ new TypeChecker($param_types, $enums)
2876
+ );
2877
+ $request->addParams($params);
2878
+ $request->addFields($fields);
2879
+ return $pending ? $request : $request->execute();
2880
+ }
2881
+
2882
+ public function getTargetingBrowse(array $fields = array(), array $params = array(), $pending = false) {
2883
+ $this->assureId();
2884
+
2885
+ $param_types = array(
2886
+ 'excluded_category' => 'string',
2887
+ 'include_nodes' => 'bool',
2888
+ 'is_exclusion' => 'bool',
2889
+ 'limit_type' => 'limit_type_enum',
2890
+ 'regulated_categories' => 'list<regulated_categories_enum>',
2891
+ 'whitelisted_types' => 'list<whitelisted_types_enum>',
2892
+ );
2893
+ $enums = array(
2894
+ 'limit_type_enum' => AdAccountTargetingUnifiedLimitTypeValues::getInstance()->getValues(),
2895
+ 'regulated_categories_enum' => AdAccountTargetingUnifiedRegulatedCategoriesValues::getInstance()->getValues(),
2896
+ 'whitelisted_types_enum' => AdAccountTargetingUnifiedWhitelistedTypesValues::getInstance()->getValues(),
2897
+ );
2898
+
2899
+ $request = new ApiRequest(
2900
+ $this->api,
2901
+ $this->data['id'],
2902
+ RequestInterface::METHOD_GET,
2903
+ '/targetingbrowse',
2904
+ new AdAccountTargetingUnified(),
2905
+ 'EDGE',
2906
+ AdAccountTargetingUnified::getFieldsEnum()->getValues(),
2907
+ new TypeChecker($param_types, $enums)
2908
+ );
2909
+ $request->addParams($params);
2910
+ $request->addFields($fields);
2911
+ return $pending ? $request : $request->execute();
2912
+ }
2913
+
2914
+ public function getTargetingSearch(array $fields = array(), array $params = array(), $pending = false) {
2915
+ $this->assureId();
2916
+
2917
+ $param_types = array(
2918
+ 'allow_only_fat_head_interests' => 'bool',
2919
+ 'countries' => 'list<string>',
2920
+ 'is_exclusion' => 'bool',
2921
+ 'limit_type' => 'limit_type_enum',
2922
+ 'q' => 'string',
2923
+ 'regulated_categories' => 'list<regulated_categories_enum>',
2924
+ 'session_id' => 'unsigned int',
2925
+ 'targeting_list' => 'list<Object>',
2926
+ 'whitelisted_types' => 'list<whitelisted_types_enum>',
2927
+ );
2928
+ $enums = array(
2929
+ 'limit_type_enum' => AdAccountTargetingUnifiedLimitTypeValues::getInstance()->getValues(),
2930
+ 'regulated_categories_enum' => AdAccountTargetingUnifiedRegulatedCategoriesValues::getInstance()->getValues(),
2931
+ 'whitelisted_types_enum' => AdAccountTargetingUnifiedWhitelistedTypesValues::getInstance()->getValues(),
2932
+ );
2933
+
2934
+ $request = new ApiRequest(
2935
+ $this->api,
2936
+ $this->data['id'],
2937
+ RequestInterface::METHOD_GET,
2938
+ '/targetingsearch',
2939
+ new AdAccountTargetingUnified(),
2940
+ 'EDGE',
2941
+ AdAccountTargetingUnified::getFieldsEnum()->getValues(),
2942
+ new TypeChecker($param_types, $enums)
2943
+ );
2944
+ $request->addParams($params);
2945
+ $request->addFields($fields);
2946
+ return $pending ? $request : $request->execute();
2947
+ }
2948
+
2949
+ public function getTargetingSentenceLines(array $fields = array(), array $params = array(), $pending = false) {
2950
+ $this->assureId();
2951
+
2952
+ $param_types = array(
2953
+ 'discard_ages' => 'bool',
2954
+ 'discard_placements' => 'bool',
2955
+ 'hide_targeting_spec_from_return' => 'bool',
2956
+ 'targeting_spec' => 'Targeting',
2957
+ );
2958
+ $enums = array(
2959
+ );
2960
+
2961
+ $request = new ApiRequest(
2962
+ $this->api,
2963
+ $this->data['id'],
2964
+ RequestInterface::METHOD_GET,
2965
+ '/targetingsentencelines',
2966
+ new TargetingSentenceLine(),
2967
+ 'EDGE',
2968
+ TargetingSentenceLine::getFieldsEnum()->getValues(),
2969
+ new TypeChecker($param_types, $enums)
2970
+ );
2971
+ $request->addParams($params);
2972
+ $request->addFields($fields);
2973
+ return $pending ? $request : $request->execute();
2974
+ }
2975
+
2976
+ public function getTargetingSuggestions(array $fields = array(), array $params = array(), $pending = false) {
2977
+ $this->assureId();
2978
+
2979
+ $param_types = array(
2980
+ 'countries' => 'list<string>',
2981
+ 'limit_type' => 'limit_type_enum',
2982
+ 'mode' => 'mode_enum',
2983
+ 'objective' => 'objective_enum',
2984
+ 'objects' => 'Object',
2985
+ 'regulated_categories' => 'list<regulated_categories_enum>',
2986
+ 'session_id' => 'unsigned int',
2987
+ 'targeting_list' => 'list<Object>',
2988
+ 'whitelisted_types' => 'list<whitelisted_types_enum>',
2989
+ );
2990
+ $enums = array(
2991
+ 'limit_type_enum' => AdAccountTargetingUnifiedLimitTypeValues::getInstance()->getValues(),
2992
+ 'mode_enum' => AdAccountTargetingUnifiedModeValues::getInstance()->getValues(),
2993
+ 'objective_enum' => AdAccountTargetingUnifiedObjectiveValues::getInstance()->getValues(),
2994
+ 'regulated_categories_enum' => AdAccountTargetingUnifiedRegulatedCategoriesValues::getInstance()->getValues(),
2995
+ 'whitelisted_types_enum' => AdAccountTargetingUnifiedWhitelistedTypesValues::getInstance()->getValues(),
2996
+ );
2997
+
2998
+ $request = new ApiRequest(
2999
+ $this->api,
3000
+ $this->data['id'],
3001
+ RequestInterface::METHOD_GET,
3002
+ '/targetingsuggestions',
3003
+ new AdAccountTargetingUnified(),
3004
+ 'EDGE',
3005
+ AdAccountTargetingUnified::getFieldsEnum()->getValues(),
3006
+ new TypeChecker($param_types, $enums)
3007
+ );
3008
+ $request->addParams($params);
3009
+ $request->addFields($fields);
3010
+ return $pending ? $request : $request->execute();
3011
+ }
3012
+
3013
+ public function getTargetingValidation(array $fields = array(), array $params = array(), $pending = false) {
3014
+ $this->assureId();
3015
+
3016
+ $param_types = array(
3017
+ 'id_list' => 'list<unsigned int>',
3018
+ 'is_exclusion' => 'bool',
3019
+ 'name_list' => 'list<string>',
3020
+ 'targeting_list' => 'list<Object>',
3021
+ );
3022
+ $enums = array(
3023
+ );
3024
+
3025
+ $request = new ApiRequest(
3026
+ $this->api,
3027
+ $this->data['id'],
3028
+ RequestInterface::METHOD_GET,
3029
+ '/targetingvalidation',
3030
+ new AdAccountTargetingUnified(),
3031
+ 'EDGE',
3032
+ AdAccountTargetingUnified::getFieldsEnum()->getValues(),
3033
+ new TypeChecker($param_types, $enums)
3034
+ );
3035
+ $request->addParams($params);
3036
+ $request->addFields($fields);
3037
+ return $pending ? $request : $request->execute();
3038
+ }
3039
+
3040
+ public function deleteTracking(array $fields = array(), array $params = array(), $pending = false) {
3041
+ $this->assureId();
3042
+
3043
+ $param_types = array(
3044
+ 'tracking_specs' => 'Object',
3045
+ );
3046
+ $enums = array(
3047
+ );
3048
+
3049
+ $request = new ApiRequest(
3050
+ $this->api,
3051
+ $this->data['id'],
3052
+ RequestInterface::METHOD_DELETE,
3053
+ '/tracking',
3054
+ new AbstractCrudObject(),
3055
+ 'EDGE',
3056
+ array(),
3057
+ new TypeChecker($param_types, $enums)
3058
+ );
3059
+ $request->addParams($params);
3060
+ $request->addFields($fields);
3061
+ return $pending ? $request : $request->execute();
3062
+ }
3063
+
3064
+ public function getTracking(array $fields = array(), array $params = array(), $pending = false) {
3065
+ $this->assureId();
3066
+
3067
+ $param_types = array(
3068
+ );
3069
+ $enums = array(
3070
+ );
3071
+
3072
+ $request = new ApiRequest(
3073
+ $this->api,
3074
+ $this->data['id'],
3075
+ RequestInterface::METHOD_GET,
3076
+ '/tracking',
3077
+ new AdAccountTrackingData(),
3078
+ 'EDGE',
3079
+ AdAccountTrackingData::getFieldsEnum()->getValues(),
3080
+ new TypeChecker($param_types, $enums)
3081
+ );
3082
+ $request->addParams($params);
3083
+ $request->addFields($fields);
3084
+ return $pending ? $request : $request->execute();
3085
+ }
3086
+
3087
+ public function createTracking(array $fields = array(), array $params = array(), $pending = false) {
3088
+ $this->assureId();
3089
+
3090
+ $param_types = array(
3091
+ 'tracking_specs' => 'Object',
3092
+ );
3093
+ $enums = array(
3094
+ );
3095
+
3096
+ $request = new ApiRequest(
3097
+ $this->api,
3098
+ $this->data['id'],
3099
+ RequestInterface::METHOD_POST,
3100
+ '/tracking',
3101
+ new AdAccount(),
3102
+ 'EDGE',
3103
+ AdAccount::getFieldsEnum()->getValues(),
3104
+ new TypeChecker($param_types, $enums)
3105
+ );
3106
+ $request->addParams($params);
3107
+ $request->addFields($fields);
3108
+ return $pending ? $request : $request->execute();
3109
+ }
3110
+
3111
+ public function getUsers(array $fields = array(), array $params = array(), $pending = false) {
3112
+ $this->assureId();
3113
+
3114
+ $param_types = array(
3115
+ );
3116
+ $enums = array(
3117
+ );
3118
+
3119
+ $request = new ApiRequest(
3120
+ $this->api,
3121
+ $this->data['id'],
3122
+ RequestInterface::METHOD_GET,
3123
+ '/users',
3124
+ new AdAccountUser(),
3125
+ 'EDGE',
3126
+ AdAccountUser::getFieldsEnum()->getValues(),
3127
+ new TypeChecker($param_types, $enums)
3128
+ );
3129
+ $request->addParams($params);
3130
+ $request->addFields($fields);
3131
+ return $pending ? $request : $request->execute();
3132
+ }
3133
+
3134
+ public function deleteUsersOfAnyAudience(array $fields = array(), array $params = array(), $pending = false) {
3135
+ $this->assureId();
3136
+
3137
+ $param_types = array(
3138
+ 'namespace' => 'string',
3139
+ 'payload' => 'Object',
3140
+ 'session' => 'Object',
3141
+ );
3142
+ $enums = array(
3143
+ );
3144
+
3145
+ $request = new ApiRequest(
3146
+ $this->api,
3147
+ $this->data['id'],
3148
+ RequestInterface::METHOD_DELETE,
3149
+ '/usersofanyaudience',
3150
+ new AbstractCrudObject(),
3151
+ 'EDGE',
3152
+ array(),
3153
+ new TypeChecker($param_types, $enums)
3154
+ );
3155
+ $request->addParams($params);
3156
+ $request->addFields($fields);
3157
+ return $pending ? $request : $request->execute();
3158
+ }
3159
+
3160
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
3161
+ $this->assureId();
3162
+
3163
+ $param_types = array(
3164
+ );
3165
+ $enums = array(
3166
+ );
3167
+
3168
+ $request = new ApiRequest(
3169
+ $this->api,
3170
+ $this->data['id'],
3171
+ RequestInterface::METHOD_GET,
3172
+ '/',
3173
+ new AdAccount(),
3174
+ 'NODE',
3175
+ AdAccount::getFieldsEnum()->getValues(),
3176
+ new TypeChecker($param_types, $enums)
3177
+ );
3178
+ $request->addParams($params);
3179
+ $request->addFields($fields);
3180
+ return $pending ? $request : $request->execute();
3181
+ }
3182
+
3183
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
3184
+ $this->assureId();
3185
+
3186
+ $param_types = array(
3187
+ 'agency_client_declaration' => 'map',
3188
+ 'attribution_spec' => 'list<Object>',
3189
+ 'business_info' => 'map',
3190
+ 'currency' => 'currency_enum',
3191
+ 'end_advertiser' => 'string',
3192
+ 'is_notifications_enabled' => 'bool',
3193
+ 'media_agency' => 'string',
3194
+ 'name' => 'string',
3195
+ 'partner' => 'string',
3196
+ 'spend_cap' => 'float',
3197
+ 'spend_cap_action' => 'string',
3198
+ 'timezone_id' => 'unsigned int',
3199
+ 'tos_accepted' => 'map',
3200
+ );
3201
+ $enums = array(
3202
+ 'currency_enum' => AdAccountCurrencyValues::getInstance()->getValues(),
3203
+ );
3204
+
3205
+ $request = new ApiRequest(
3206
+ $this->api,
3207
+ $this->data['id'],
3208
+ RequestInterface::METHOD_POST,
3209
+ '/',
3210
+ new AdAccount(),
3211
+ 'NODE',
3212
+ AdAccount::getFieldsEnum()->getValues(),
3213
+ new TypeChecker($param_types, $enums)
3214
+ );
3215
+ $request->addParams($params);
3216
+ $request->addFields($fields);
3217
+ return $pending ? $request : $request->execute();
3218
+ }
3219
+
3220
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountActivity.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountActivityFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountActivity extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AdAccountActivityFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountActivityFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
58
+ $this->assureId();
59
+
60
+ $param_types = array(
61
+ );
62
+ $enums = array(
63
+ );
64
+
65
+ $request = new ApiRequest(
66
+ $this->api,
67
+ $this->data['id'],
68
+ RequestInterface::METHOD_GET,
69
+ '/',
70
+ new AdAccountActivity(),
71
+ 'NODE',
72
+ AdAccountActivity::getFieldsEnum()->getValues(),
73
+ new TypeChecker($param_types, $enums)
74
+ );
75
+ $request->addParams($params);
76
+ $request->addFields($fields);
77
+ return $pending ? $request : $request->execute();
78
+ }
79
+
80
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdRulesHistory.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountAdRulesHistoryFields;
32
+ use FacebookAds\Object\Values\AdAccountAdRulesHistoryActionValues;
33
+ use FacebookAds\Object\Values\AdAccountAdRulesHistoryEvaluationTypeValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdAccountAdRulesHistory extends AbstractObject {
45
+
46
+ /**
47
+ * @return AdAccountAdRulesHistoryFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdAccountAdRulesHistoryFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['Action'] = AdAccountAdRulesHistoryActionValues::getInstance()->getValues();
56
+ $ref_enums['EvaluationType'] = AdAccountAdRulesHistoryEvaluationTypeValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountAdVolume.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountAdVolumeFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountAdVolume extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountAdVolumeFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountAdVolumeFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountContentFilterLevelsInheritance.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountContentFilterLevelsInheritanceFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountContentFilterLevelsInheritance extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountContentFilterLevelsInheritanceFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountContentFilterLevelsInheritanceFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountCreationRequest.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountCreationRequestFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountCreationRequest extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AdAccountCreationRequestFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountCreationRequestFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ public function getAdAccounts(array $fields = array(), array $params = array(), $pending = false) {
58
+ $this->assureId();
59
+
60
+ $param_types = array(
61
+ );
62
+ $enums = array(
63
+ );
64
+
65
+ $request = new ApiRequest(
66
+ $this->api,
67
+ $this->data['id'],
68
+ RequestInterface::METHOD_GET,
69
+ '/adaccounts',
70
+ new AdAccount(),
71
+ 'EDGE',
72
+ AdAccount::getFieldsEnum()->getValues(),
73
+ new TypeChecker($param_types, $enums)
74
+ );
75
+ $request->addParams($params);
76
+ $request->addFields($fields);
77
+ return $pending ? $request : $request->execute();
78
+ }
79
+
80
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
81
+ $this->assureId();
82
+
83
+ $param_types = array(
84
+ );
85
+ $enums = array(
86
+ );
87
+
88
+ $request = new ApiRequest(
89
+ $this->api,
90
+ $this->data['id'],
91
+ RequestInterface::METHOD_GET,
92
+ '/',
93
+ new AdAccountCreationRequest(),
94
+ 'NODE',
95
+ AdAccountCreationRequest::getFieldsEnum()->getValues(),
96
+ new TypeChecker($param_types, $enums)
97
+ );
98
+ $request->addParams($params);
99
+ $request->addFields($fields);
100
+ return $pending ? $request : $request->execute();
101
+ }
102
+
103
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDefaultDestination.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountDefaultDestinationFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountDefaultDestination extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountDefaultDestinationFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountDefaultDestinationFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDefaultObjective.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountDefaultObjectiveFields;
32
+ use FacebookAds\Object\Values\AdAccountDefaultObjectiveDefaultObjectiveForUserValues;
33
+ use FacebookAds\Object\Values\AdAccountDefaultObjectiveObjectiveForLevelValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdAccountDefaultObjective extends AbstractObject {
45
+
46
+ /**
47
+ * @return AdAccountDefaultObjectiveFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdAccountDefaultObjectiveFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['DefaultObjectiveForUser'] = AdAccountDefaultObjectiveDefaultObjectiveForUserValues::getInstance()->getValues();
56
+ $ref_enums['ObjectiveForLevel'] = AdAccountDefaultObjectiveObjectiveForLevelValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountDeliveryEstimate.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountDeliveryEstimateFields;
32
+ use FacebookAds\Object\Values\AdAccountDeliveryEstimateOptimizationGoalValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdAccountDeliveryEstimate extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdAccountDeliveryEstimateFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdAccountDeliveryEstimateFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['OptimizationGoal'] = AdAccountDeliveryEstimateOptimizationGoalValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountMatchedSearchApplicationsEdgeData.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountMatchedSearchApplicationsEdgeDataFields;
32
+ use FacebookAds\Object\Values\AdAccountMatchedSearchApplicationsEdgeDataAppStoreValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdAccountMatchedSearchApplicationsEdgeData extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdAccountMatchedSearchApplicationsEdgeDataFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdAccountMatchedSearchApplicationsEdgeDataFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['AppStore'] = AdAccountMatchedSearchApplicationsEdgeDataAppStoreValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountMaxBid.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountMaxBidFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountMaxBid extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountMaxBidFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountMaxBidFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountPromotableObjects.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountPromotableObjectsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountPromotableObjects extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountPromotableObjectsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountPromotableObjectsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountReachEstimate.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountReachEstimateFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountReachEstimate extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountReachEstimateFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountReachEstimateFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountRecommendedCamapaignBudget.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountRecommendedCamapaignBudgetFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountRecommendedCamapaignBudget extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountRecommendedCamapaignBudgetFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountRecommendedCamapaignBudgetFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountRoas.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountRoasFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountRoas extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountRoasFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountRoasFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountSubscribedApps.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountSubscribedAppsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountSubscribedApps extends AbstractObject {
43
+
44
+ /**
45
+ * @deprecated getEndpoint function is deprecated
46
+ */
47
+ protected function getEndpoint() {
48
+ return 'subscribed_apps';
49
+ }
50
+
51
+ /**
52
+ * @return AdAccountSubscribedAppsFields
53
+ */
54
+ public static function getFieldsEnum() {
55
+ return AdAccountSubscribedAppsFields::getInstance();
56
+ }
57
+
58
+ protected static function getReferencedEnums() {
59
+ $ref_enums = array();
60
+ return $ref_enums;
61
+ }
62
+
63
+
64
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountTargetingUnified.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountTargetingUnifiedFields;
32
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedLimitTypeValues;
33
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedModeValues;
34
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedObjectiveValues;
35
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedRegulatedCategoriesValues;
36
+ use FacebookAds\Object\Values\AdAccountTargetingUnifiedWhitelistedTypesValues;
37
+
38
+ /**
39
+ * This class is auto-generated.
40
+ *
41
+ * For any issues or feature requests related to this class, please let us know
42
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
43
+ * pull request for this class.
44
+ *
45
+ */
46
+
47
+ class AdAccountTargetingUnified extends AbstractCrudObject {
48
+
49
+ /**
50
+ * @return AdAccountTargetingUnifiedFields
51
+ */
52
+ public static function getFieldsEnum() {
53
+ return AdAccountTargetingUnifiedFields::getInstance();
54
+ }
55
+
56
+ protected static function getReferencedEnums() {
57
+ $ref_enums = array();
58
+ $ref_enums['LimitType'] = AdAccountTargetingUnifiedLimitTypeValues::getInstance()->getValues();
59
+ $ref_enums['RegulatedCategories'] = AdAccountTargetingUnifiedRegulatedCategoriesValues::getInstance()->getValues();
60
+ $ref_enums['WhitelistedTypes'] = AdAccountTargetingUnifiedWhitelistedTypesValues::getInstance()->getValues();
61
+ $ref_enums['Mode'] = AdAccountTargetingUnifiedModeValues::getInstance()->getValues();
62
+ $ref_enums['Objective'] = AdAccountTargetingUnifiedObjectiveValues::getInstance()->getValues();
63
+ return $ref_enums;
64
+ }
65
+
66
+
67
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountTrackingData.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountTrackingDataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountTrackingData extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAccountTrackingDataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAccountTrackingDataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAccountUser.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAccountUserFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAccountUser extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @deprecated getEndpoint function is deprecated
46
+ */
47
+ protected function getEndpoint() {
48
+ return 'users';
49
+ }
50
+
51
+ /**
52
+ * @return AdAccountUserFields
53
+ */
54
+ public static function getFieldsEnum() {
55
+ return AdAccountUserFields::getInstance();
56
+ }
57
+
58
+ protected static function getReferencedEnums() {
59
+ $ref_enums = array();
60
+ return $ref_enums;
61
+ }
62
+
63
+
64
+ public function getAdAccounts(
65
+ array $fields = array(), array $params = array()) {
66
+ return $this->getManyByConnection(AdAccount::className(), $fields, $params);
67
+ }
68
+
69
+ public function getAdAccountGroups(
70
+ array $fields = array(), array $params = array()) {
71
+ return $this->getManyByConnection(
72
+ AdAccountGroup::className(),
73
+ $fields,
74
+ $params);
75
+ }
76
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdActivity.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdActivityFields;
32
+ use FacebookAds\Object\Values\AdActivityCategoryValues;
33
+ use FacebookAds\Object\Values\AdActivityEventTypeValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdActivity extends AbstractObject {
45
+
46
+ /**
47
+ * @return AdActivityFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdActivityFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['EventType'] = AdActivityEventTypeValues::getInstance()->getValues();
56
+ $ref_enums['Category'] = AdActivityCategoryValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpec.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecFields;
32
+ use FacebookAds\Object\Values\AdAssetFeedSpecCallToActionTypesValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdAssetFeedSpec extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdAssetFeedSpecFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdAssetFeedSpecFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['CallToActionTypes'] = AdAssetFeedSpecCallToActionTypesValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecAssetLabel.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecAssetLabelFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecAssetLabel extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecAssetLabelFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecAssetLabelFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecBody.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecBodyFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecBody extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecBodyFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecBodyFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecCaption.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecCaptionFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecCaption extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecCaptionFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecCaptionFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecDescription.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecDescriptionFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecDescription extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecDescriptionFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecDescriptionFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecGroupRule.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecGroupRuleFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecGroupRule extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecGroupRuleFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecGroupRuleFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecImage.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecImageFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecImage extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecImageFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecImageFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecLinkURL.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecLinkURLFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecLinkURL extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecLinkURLFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecLinkURLFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecTitle.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecTitleFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecTitle extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecTitleFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecTitleFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAssetFeedSpecVideo.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAssetFeedSpecVideoFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAssetFeedSpecVideo extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAssetFeedSpecVideoFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAssetFeedSpecVideoFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequest.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAsyncRequestFields;
32
+ use FacebookAds\Object\Values\AdAsyncRequestStatusesValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdAsyncRequest extends AbstractCrudObject {
44
+
45
+ /**
46
+ * @return AdAsyncRequestFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdAsyncRequestFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['Statuses'] = AdAsyncRequestStatusesValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
60
+ $this->assureId();
61
+
62
+ $param_types = array(
63
+ );
64
+ $enums = array(
65
+ );
66
+
67
+ $request = new ApiRequest(
68
+ $this->api,
69
+ $this->data['id'],
70
+ RequestInterface::METHOD_DELETE,
71
+ '/',
72
+ new AbstractCrudObject(),
73
+ 'NODE',
74
+ array(),
75
+ new TypeChecker($param_types, $enums)
76
+ );
77
+ $request->addParams($params);
78
+ $request->addFields($fields);
79
+ return $pending ? $request : $request->execute();
80
+ }
81
+
82
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
83
+ $this->assureId();
84
+
85
+ $param_types = array(
86
+ );
87
+ $enums = array(
88
+ );
89
+
90
+ $request = new ApiRequest(
91
+ $this->api,
92
+ $this->data['id'],
93
+ RequestInterface::METHOD_GET,
94
+ '/',
95
+ new AdAsyncRequest(),
96
+ 'NODE',
97
+ AdAsyncRequest::getFieldsEnum()->getValues(),
98
+ new TypeChecker($param_types, $enums)
99
+ );
100
+ $request->addParams($params);
101
+ $request->addFields($fields);
102
+ return $pending ? $request : $request->execute();
103
+ }
104
+
105
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequestSet.php ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAsyncRequestSetFields;
32
+ use FacebookAds\Object\Values\AdAsyncRequestSetNotificationModeValues;
33
+ use FacebookAds\Object\Values\AdAsyncRequestSetNotificationStatusValues;
34
+ use FacebookAds\Object\Values\AdAsyncRequestStatusesValues;
35
+
36
+ /**
37
+ * This class is auto-generated.
38
+ *
39
+ * For any issues or feature requests related to this class, please let us know
40
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
41
+ * pull request for this class.
42
+ *
43
+ */
44
+
45
+ class AdAsyncRequestSet extends AbstractCrudObject {
46
+
47
+ /**
48
+ * @deprecated getEndpoint function is deprecated
49
+ */
50
+ protected function getEndpoint() {
51
+ return 'asyncadrequestsets';
52
+ }
53
+
54
+ /**
55
+ * @return AdAsyncRequestSetFields
56
+ */
57
+ public static function getFieldsEnum() {
58
+ return AdAsyncRequestSetFields::getInstance();
59
+ }
60
+
61
+ protected static function getReferencedEnums() {
62
+ $ref_enums = array();
63
+ $ref_enums['NotificationMode'] = AdAsyncRequestSetNotificationModeValues::getInstance()->getValues();
64
+ $ref_enums['NotificationStatus'] = AdAsyncRequestSetNotificationStatusValues::getInstance()->getValues();
65
+ return $ref_enums;
66
+ }
67
+
68
+
69
+ public function getRequests(array $fields = array(), array $params = array(), $pending = false) {
70
+ $this->assureId();
71
+
72
+ $param_types = array(
73
+ 'statuses' => 'list<statuses_enum>',
74
+ );
75
+ $enums = array(
76
+ 'statuses_enum' => AdAsyncRequestStatusesValues::getInstance()->getValues(),
77
+ );
78
+
79
+ $request = new ApiRequest(
80
+ $this->api,
81
+ $this->data['id'],
82
+ RequestInterface::METHOD_GET,
83
+ '/requests',
84
+ new AdAsyncRequest(),
85
+ 'EDGE',
86
+ AdAsyncRequest::getFieldsEnum()->getValues(),
87
+ new TypeChecker($param_types, $enums)
88
+ );
89
+ $request->addParams($params);
90
+ $request->addFields($fields);
91
+ return $pending ? $request : $request->execute();
92
+ }
93
+
94
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
95
+ $this->assureId();
96
+
97
+ $param_types = array(
98
+ );
99
+ $enums = array(
100
+ );
101
+
102
+ $request = new ApiRequest(
103
+ $this->api,
104
+ $this->data['id'],
105
+ RequestInterface::METHOD_DELETE,
106
+ '/',
107
+ new AbstractCrudObject(),
108
+ 'NODE',
109
+ array(),
110
+ new TypeChecker($param_types, $enums)
111
+ );
112
+ $request->addParams($params);
113
+ $request->addFields($fields);
114
+ return $pending ? $request : $request->execute();
115
+ }
116
+
117
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
118
+ $this->assureId();
119
+
120
+ $param_types = array(
121
+ );
122
+ $enums = array(
123
+ );
124
+
125
+ $request = new ApiRequest(
126
+ $this->api,
127
+ $this->data['id'],
128
+ RequestInterface::METHOD_GET,
129
+ '/',
130
+ new AdAsyncRequestSet(),
131
+ 'NODE',
132
+ AdAsyncRequestSet::getFieldsEnum()->getValues(),
133
+ new TypeChecker($param_types, $enums)
134
+ );
135
+ $request->addParams($params);
136
+ $request->addFields($fields);
137
+ return $pending ? $request : $request->execute();
138
+ }
139
+
140
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
141
+ $this->assureId();
142
+
143
+ $param_types = array(
144
+ 'name' => 'string',
145
+ 'notification_mode' => 'notification_mode_enum',
146
+ 'notification_uri' => 'string',
147
+ );
148
+ $enums = array(
149
+ 'notification_mode_enum' => AdAsyncRequestSetNotificationModeValues::getInstance()->getValues(),
150
+ );
151
+
152
+ $request = new ApiRequest(
153
+ $this->api,
154
+ $this->data['id'],
155
+ RequestInterface::METHOD_POST,
156
+ '/',
157
+ new AdAsyncRequestSet(),
158
+ 'NODE',
159
+ AdAsyncRequestSet::getFieldsEnum()->getValues(),
160
+ new TypeChecker($param_types, $enums)
161
+ );
162
+ $request->addParams($params);
163
+ $request->addFields($fields);
164
+ return $pending ? $request : $request->execute();
165
+ }
166
+
167
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdAsyncRequestSetNotificationResult.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdAsyncRequestSetNotificationResultFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdAsyncRequestSetNotificationResult extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdAsyncRequestSetNotificationResultFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdAsyncRequestSetNotificationResultFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdBidAdjustments.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdBidAdjustmentsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdBidAdjustments extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdBidAdjustmentsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdBidAdjustmentsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignActivity.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignActivityFields;
32
+ use FacebookAds\Object\Values\AdCampaignActivityBidStrategyNewValues;
33
+ use FacebookAds\Object\Values\AdCampaignActivityBidStrategyOldValues;
34
+ use FacebookAds\Object\Values\AdCampaignActivityBillingEventNewValues;
35
+ use FacebookAds\Object\Values\AdCampaignActivityBillingEventOldValues;
36
+ use FacebookAds\Object\Values\AdCampaignActivityOptimizationGoalNewValues;
37
+ use FacebookAds\Object\Values\AdCampaignActivityOptimizationGoalOldValues;
38
+
39
+ /**
40
+ * This class is auto-generated.
41
+ *
42
+ * For any issues or feature requests related to this class, please let us know
43
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
44
+ * pull request for this class.
45
+ *
46
+ */
47
+
48
+ class AdCampaignActivity extends AbstractCrudObject {
49
+
50
+ /**
51
+ * @return AdCampaignActivityFields
52
+ */
53
+ public static function getFieldsEnum() {
54
+ return AdCampaignActivityFields::getInstance();
55
+ }
56
+
57
+ protected static function getReferencedEnums() {
58
+ $ref_enums = array();
59
+ $ref_enums['BidStrategyNew'] = AdCampaignActivityBidStrategyNewValues::getInstance()->getValues();
60
+ $ref_enums['BidStrategyOld'] = AdCampaignActivityBidStrategyOldValues::getInstance()->getValues();
61
+ $ref_enums['BillingEventNew'] = AdCampaignActivityBillingEventNewValues::getInstance()->getValues();
62
+ $ref_enums['BillingEventOld'] = AdCampaignActivityBillingEventOldValues::getInstance()->getValues();
63
+ $ref_enums['OptimizationGoalNew'] = AdCampaignActivityOptimizationGoalNewValues::getInstance()->getValues();
64
+ $ref_enums['OptimizationGoalOld'] = AdCampaignActivityOptimizationGoalOldValues::getInstance()->getValues();
65
+ return $ref_enums;
66
+ }
67
+
68
+
69
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
70
+ $this->assureId();
71
+
72
+ $param_types = array(
73
+ );
74
+ $enums = array(
75
+ );
76
+
77
+ $request = new ApiRequest(
78
+ $this->api,
79
+ $this->data['id'],
80
+ RequestInterface::METHOD_GET,
81
+ '/',
82
+ new AdCampaignActivity(),
83
+ 'NODE',
84
+ AdCampaignActivity::getFieldsEnum()->getValues(),
85
+ new TypeChecker($param_types, $enums)
86
+ );
87
+ $request->addParams($params);
88
+ $request->addFields($fields);
89
+ return $pending ? $request : $request->execute();
90
+ }
91
+
92
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignBidConstraint.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignBidConstraintFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignBidConstraint extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignBidConstraintFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignBidConstraintFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignDeliveryEstimate.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignDeliveryEstimateFields;
32
+ use FacebookAds\Object\Values\AdCampaignDeliveryEstimateOptimizationGoalValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdCampaignDeliveryEstimate extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdCampaignDeliveryEstimateFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdCampaignDeliveryEstimateFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['OptimizationGoal'] = AdCampaignDeliveryEstimateOptimizationGoalValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignDeliveryStatsUnsupportedReasons.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignDeliveryStatsUnsupportedReasonsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignDeliveryStatsUnsupportedReasons extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignDeliveryStatsUnsupportedReasonsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignDeliveryStatsUnsupportedReasonsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignFrequencyControlSpecs.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignFrequencyControlSpecsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignFrequencyControlSpecs extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignFrequencyControlSpecsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignFrequencyControlSpecsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignGroupActivity.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignGroupActivityFields;
32
+ use FacebookAds\Object\Values\AdCampaignGroupActivityObjectiveNewValues;
33
+ use FacebookAds\Object\Values\AdCampaignGroupActivityObjectiveOldValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdCampaignGroupActivity extends AbstractCrudObject {
45
+
46
+ /**
47
+ * @return AdCampaignGroupActivityFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdCampaignGroupActivityFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['ObjectiveNew'] = AdCampaignGroupActivityObjectiveNewValues::getInstance()->getValues();
56
+ $ref_enums['ObjectiveOld'] = AdCampaignGroupActivityObjectiveOldValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
62
+ $this->assureId();
63
+
64
+ $param_types = array(
65
+ );
66
+ $enums = array(
67
+ );
68
+
69
+ $request = new ApiRequest(
70
+ $this->api,
71
+ $this->data['id'],
72
+ RequestInterface::METHOD_GET,
73
+ '/',
74
+ new AdCampaignGroupActivity(),
75
+ 'NODE',
76
+ AdCampaignGroupActivity::getFieldsEnum()->getValues(),
77
+ new TypeChecker($param_types, $enums)
78
+ );
79
+ $request->addParams($params);
80
+ $request->addFields($fields);
81
+ return $pending ? $request : $request->execute();
82
+ }
83
+
84
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignIssuesInfo.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignIssuesInfoFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignIssuesInfo extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignIssuesInfoFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignIssuesInfoFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignLearningStageInfo.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignLearningStageInfoFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignLearningStageInfo extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignLearningStageInfoFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignLearningStageInfoFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignOptimizationEvent.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignOptimizationEventFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignOptimizationEvent extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignOptimizationEventFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignOptimizationEventFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCampaignPacedBidInfo.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCampaignPacedBidInfoFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCampaignPacedBidInfo extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCampaignPacedBidInfoFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCampaignPacedBidInfoFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreative.php ADDED
@@ -0,0 +1,282 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeFields;
32
+ use FacebookAds\Object\Values\AdCreativeApplinkTreatmentValues;
33
+ use FacebookAds\Object\Values\AdCreativeAuthorizationCategoryValues;
34
+ use FacebookAds\Object\Values\AdCreativeCallToActionTypeValues;
35
+ use FacebookAds\Object\Values\AdCreativeCategorizationCriteriaValues;
36
+ use FacebookAds\Object\Values\AdCreativeCategoryMediaSourceValues;
37
+ use FacebookAds\Object\Values\AdCreativeDynamicAdVoiceValues;
38
+ use FacebookAds\Object\Values\AdCreativeObjectTypeValues;
39
+ use FacebookAds\Object\Values\AdCreativeOperatorValues;
40
+ use FacebookAds\Object\Values\AdCreativeStatusValues;
41
+ use FacebookAds\Object\Values\AdPreviewAdFormatValues;
42
+ use FacebookAds\Object\Values\AdPreviewRenderTypeValues;
43
+ use FacebookAds\Object\Traits\AdLabelAwareCrudObjectTrait;
44
+
45
+ /**
46
+ * This class is auto-generated.
47
+ *
48
+ * For any issues or feature requests related to this class, please let us know
49
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
50
+ * pull request for this class.
51
+ *
52
+ */
53
+
54
+ class AdCreative extends AbstractCrudObject {
55
+
56
+ use AdLabelAwareCrudObjectTrait;
57
+
58
+ /**
59
+ * @deprecated getEndpoint function is deprecated
60
+ */
61
+ protected function getEndpoint() {
62
+ return 'adcreatives';
63
+ }
64
+
65
+ /**
66
+ * @return AdCreativeFields
67
+ */
68
+ public static function getFieldsEnum() {
69
+ return AdCreativeFields::getInstance();
70
+ }
71
+
72
+ protected static function getReferencedEnums() {
73
+ $ref_enums = array();
74
+ $ref_enums['ApplinkTreatment'] = AdCreativeApplinkTreatmentValues::getInstance()->getValues();
75
+ $ref_enums['CallToActionType'] = AdCreativeCallToActionTypeValues::getInstance()->getValues();
76
+ $ref_enums['ObjectType'] = AdCreativeObjectTypeValues::getInstance()->getValues();
77
+ $ref_enums['Status'] = AdCreativeStatusValues::getInstance()->getValues();
78
+ $ref_enums['AuthorizationCategory'] = AdCreativeAuthorizationCategoryValues::getInstance()->getValues();
79
+ $ref_enums['CategorizationCriteria'] = AdCreativeCategorizationCriteriaValues::getInstance()->getValues();
80
+ $ref_enums['CategoryMediaSource'] = AdCreativeCategoryMediaSourceValues::getInstance()->getValues();
81
+ $ref_enums['DynamicAdVoice'] = AdCreativeDynamicAdVoiceValues::getInstance()->getValues();
82
+ $ref_enums['Operator'] = AdCreativeOperatorValues::getInstance()->getValues();
83
+ return $ref_enums;
84
+ }
85
+
86
+ protected function setDataTrigger($data) {
87
+ if (array_key_exists('id', $data)) {
88
+ $this->data['creative_id'] = $data['id'];
89
+ }
90
+ }
91
+
92
+ public function deleteAdLabels(array $fields = array(), array $params = array(), $pending = false) {
93
+ $this->assureId();
94
+
95
+ $param_types = array(
96
+ 'adlabels' => 'list<Object>',
97
+ );
98
+ $enums = array(
99
+ );
100
+
101
+ $request = new ApiRequest(
102
+ $this->api,
103
+ $this->data['id'],
104
+ RequestInterface::METHOD_DELETE,
105
+ '/adlabels',
106
+ new AbstractCrudObject(),
107
+ 'EDGE',
108
+ array(),
109
+ new TypeChecker($param_types, $enums)
110
+ );
111
+ $request->addParams($params);
112
+ $request->addFields($fields);
113
+ return $pending ? $request : $request->execute();
114
+ }
115
+
116
+ public function createAdLabel(array $fields = array(), array $params = array(), $pending = false) {
117
+ $this->assureId();
118
+
119
+ $param_types = array(
120
+ 'adlabels' => 'list<Object>',
121
+ );
122
+ $enums = array(
123
+ );
124
+
125
+ $request = new ApiRequest(
126
+ $this->api,
127
+ $this->data['id'],
128
+ RequestInterface::METHOD_POST,
129
+ '/adlabels',
130
+ new AdCreative(),
131
+ 'EDGE',
132
+ AdCreative::getFieldsEnum()->getValues(),
133
+ new TypeChecker($param_types, $enums)
134
+ );
135
+ $request->addParams($params);
136
+ $request->addFields($fields);
137
+ return $pending ? $request : $request->execute();
138
+ }
139
+
140
+ public function getCreativeInsights(array $fields = array(), array $params = array(), $pending = false) {
141
+ $this->assureId();
142
+
143
+ $param_types = array(
144
+ );
145
+ $enums = array(
146
+ );
147
+
148
+ $request = new ApiRequest(
149
+ $this->api,
150
+ $this->data['id'],
151
+ RequestInterface::METHOD_GET,
152
+ '/creative_insights',
153
+ new AdCreativeInsights(),
154
+ 'EDGE',
155
+ AdCreativeInsights::getFieldsEnum()->getValues(),
156
+ new TypeChecker($param_types, $enums)
157
+ );
158
+ $request->addParams($params);
159
+ $request->addFields($fields);
160
+ return $pending ? $request : $request->execute();
161
+ }
162
+
163
+ public function getPreviews(array $fields = array(), array $params = array(), $pending = false) {
164
+ $this->assureId();
165
+
166
+ $param_types = array(
167
+ 'ad_format' => 'ad_format_enum',
168
+ 'dynamic_asset_label' => 'string',
169
+ 'dynamic_creative_spec' => 'Object',
170
+ 'dynamic_customization' => 'Object',
171
+ 'end_date' => 'datetime',
172
+ 'height' => 'unsigned int',
173
+ 'locale' => 'string',
174
+ 'place_page_id' => 'int',
175
+ 'post' => 'Object',
176
+ 'product_item_ids' => 'list<string>',
177
+ 'render_type' => 'render_type_enum',
178
+ 'start_date' => 'datetime',
179
+ 'width' => 'unsigned int',
180
+ );
181
+ $enums = array(
182
+ 'ad_format_enum' => AdPreviewAdFormatValues::getInstance()->getValues(),
183
+ 'render_type_enum' => AdPreviewRenderTypeValues::getInstance()->getValues(),
184
+ );
185
+
186
+ $request = new ApiRequest(
187
+ $this->api,
188
+ $this->data['id'],
189
+ RequestInterface::METHOD_GET,
190
+ '/previews',
191
+ new AdPreview(),
192
+ 'EDGE',
193
+ AdPreview::getFieldsEnum()->getValues(),
194
+ new TypeChecker($param_types, $enums)
195
+ );
196
+ $request->addParams($params);
197
+ $request->addFields($fields);
198
+ return $pending ? $request : $request->execute();
199
+ }
200
+
201
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
202
+ $this->assureId();
203
+
204
+ $param_types = array(
205
+ 'account_id' => 'string',
206
+ 'adlabels' => 'list<Object>',
207
+ 'name' => 'string',
208
+ 'status' => 'status_enum',
209
+ );
210
+ $enums = array(
211
+ 'status_enum' => AdCreativeStatusValues::getInstance()->getValues(),
212
+ );
213
+
214
+ $request = new ApiRequest(
215
+ $this->api,
216
+ $this->data['id'],
217
+ RequestInterface::METHOD_DELETE,
218
+ '/',
219
+ new AbstractCrudObject(),
220
+ 'NODE',
221
+ array(),
222
+ new TypeChecker($param_types, $enums)
223
+ );
224
+ $request->addParams($params);
225
+ $request->addFields($fields);
226
+ return $pending ? $request : $request->execute();
227
+ }
228
+
229
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
230
+ $this->assureId();
231
+
232
+ $param_types = array(
233
+ 'thumbnail_height' => 'unsigned int',
234
+ 'thumbnail_width' => 'unsigned int',
235
+ );
236
+ $enums = array(
237
+ );
238
+
239
+ $request = new ApiRequest(
240
+ $this->api,
241
+ $this->data['id'],
242
+ RequestInterface::METHOD_GET,
243
+ '/',
244
+ new AdCreative(),
245
+ 'NODE',
246
+ AdCreative::getFieldsEnum()->getValues(),
247
+ new TypeChecker($param_types, $enums)
248
+ );
249
+ $request->addParams($params);
250
+ $request->addFields($fields);
251
+ return $pending ? $request : $request->execute();
252
+ }
253
+
254
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
255
+ $this->assureId();
256
+
257
+ $param_types = array(
258
+ 'account_id' => 'string',
259
+ 'adlabels' => 'list<Object>',
260
+ 'name' => 'string',
261
+ 'status' => 'status_enum',
262
+ );
263
+ $enums = array(
264
+ 'status_enum' => AdCreativeStatusValues::getInstance()->getValues(),
265
+ );
266
+
267
+ $request = new ApiRequest(
268
+ $this->api,
269
+ $this->data['id'],
270
+ RequestInterface::METHOD_POST,
271
+ '/',
272
+ new AdCreative(),
273
+ 'NODE',
274
+ AdCreative::getFieldsEnum()->getValues(),
275
+ new TypeChecker($param_types, $enums)
276
+ );
277
+ $request->addParams($params);
278
+ $request->addFields($fields);
279
+ return $pending ? $request : $request->execute();
280
+ }
281
+
282
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeCollectionThumbnailInfo.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeCollectionThumbnailInfoFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeCollectionThumbnailInfo extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeCollectionThumbnailInfoFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeCollectionThumbnailInfoFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInsights.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeInsightsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeInsights extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeInsightsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeInsightsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeInteractiveComponentsSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeInteractiveComponentsSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeInteractiveComponentsSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeInteractiveComponentsSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeInteractiveComponentsSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkData.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataFields;
32
+ use FacebookAds\Object\Values\AdCreativeLinkDataAttachmentStyleValues;
33
+ use FacebookAds\Object\Values\AdCreativeLinkDataFormatOptionValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdCreativeLinkData extends AbstractObject {
45
+
46
+ /**
47
+ * @return AdCreativeLinkDataFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdCreativeLinkDataFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['AttachmentStyle'] = AdCreativeLinkDataAttachmentStyleValues::getInstance()->getValues();
56
+ $ref_enums['FormatOption'] = AdCreativeLinkDataFormatOptionValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataAppLinkSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataAppLinkSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeLinkDataAppLinkSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeLinkDataAppLinkSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeLinkDataAppLinkSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataCallToAction.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataCallToActionFields;
32
+ use FacebookAds\Object\Values\AdCreativeLinkDataCallToActionTypeValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdCreativeLinkDataCallToAction extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdCreativeLinkDataCallToActionFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdCreativeLinkDataCallToActionFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['Type'] = AdCreativeLinkDataCallToActionTypeValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataCallToActionValue.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataCallToActionValueFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeLinkDataCallToActionValue extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeLinkDataCallToActionValueFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeLinkDataCallToActionValueFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataChildAttachment.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataChildAttachmentFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeLinkDataChildAttachment extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeLinkDataChildAttachmentFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeLinkDataChildAttachmentFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataImageLayerSpec.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataImageLayerSpecFields;
32
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecBlendingModeValues;
33
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecFrameSourceValues;
34
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecImageSourceValues;
35
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecLayerTypeValues;
36
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecOverlayPositionValues;
37
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecOverlayShapeValues;
38
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageLayerSpecTextFontValues;
39
+
40
+ /**
41
+ * This class is auto-generated.
42
+ *
43
+ * For any issues or feature requests related to this class, please let us know
44
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
45
+ * pull request for this class.
46
+ *
47
+ */
48
+
49
+ class AdCreativeLinkDataImageLayerSpec extends AbstractObject {
50
+
51
+ /**
52
+ * @return AdCreativeLinkDataImageLayerSpecFields
53
+ */
54
+ public static function getFieldsEnum() {
55
+ return AdCreativeLinkDataImageLayerSpecFields::getInstance();
56
+ }
57
+
58
+ protected static function getReferencedEnums() {
59
+ $ref_enums = array();
60
+ $ref_enums['BlendingMode'] = AdCreativeLinkDataImageLayerSpecBlendingModeValues::getInstance()->getValues();
61
+ $ref_enums['FrameSource'] = AdCreativeLinkDataImageLayerSpecFrameSourceValues::getInstance()->getValues();
62
+ $ref_enums['ImageSource'] = AdCreativeLinkDataImageLayerSpecImageSourceValues::getInstance()->getValues();
63
+ $ref_enums['LayerType'] = AdCreativeLinkDataImageLayerSpecLayerTypeValues::getInstance()->getValues();
64
+ $ref_enums['OverlayPosition'] = AdCreativeLinkDataImageLayerSpecOverlayPositionValues::getInstance()->getValues();
65
+ $ref_enums['OverlayShape'] = AdCreativeLinkDataImageLayerSpecOverlayShapeValues::getInstance()->getValues();
66
+ $ref_enums['TextFont'] = AdCreativeLinkDataImageLayerSpecTextFontValues::getInstance()->getValues();
67
+ return $ref_enums;
68
+ }
69
+
70
+
71
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataImageOverlaySpec.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataImageOverlaySpecFields;
32
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageOverlaySpecCustomTextTypeValues;
33
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageOverlaySpecOverlayTemplateValues;
34
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageOverlaySpecPositionValues;
35
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageOverlaySpecTextFontValues;
36
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageOverlaySpecTextTypeValues;
37
+ use FacebookAds\Object\Values\AdCreativeLinkDataImageOverlaySpecThemeColorValues;
38
+
39
+ /**
40
+ * This class is auto-generated.
41
+ *
42
+ * For any issues or feature requests related to this class, please let us know
43
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
44
+ * pull request for this class.
45
+ *
46
+ */
47
+
48
+ class AdCreativeLinkDataImageOverlaySpec extends AbstractObject {
49
+
50
+ /**
51
+ * @return AdCreativeLinkDataImageOverlaySpecFields
52
+ */
53
+ public static function getFieldsEnum() {
54
+ return AdCreativeLinkDataImageOverlaySpecFields::getInstance();
55
+ }
56
+
57
+ protected static function getReferencedEnums() {
58
+ $ref_enums = array();
59
+ $ref_enums['CustomTextType'] = AdCreativeLinkDataImageOverlaySpecCustomTextTypeValues::getInstance()->getValues();
60
+ $ref_enums['OverlayTemplate'] = AdCreativeLinkDataImageOverlaySpecOverlayTemplateValues::getInstance()->getValues();
61
+ $ref_enums['Position'] = AdCreativeLinkDataImageOverlaySpecPositionValues::getInstance()->getValues();
62
+ $ref_enums['TextFont'] = AdCreativeLinkDataImageOverlaySpecTextFontValues::getInstance()->getValues();
63
+ $ref_enums['TextType'] = AdCreativeLinkDataImageOverlaySpecTextTypeValues::getInstance()->getValues();
64
+ $ref_enums['ThemeColor'] = AdCreativeLinkDataImageOverlaySpecThemeColorValues::getInstance()->getValues();
65
+ return $ref_enums;
66
+ }
67
+
68
+
69
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataSponsorshipInfoSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataSponsorshipInfoSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeLinkDataSponsorshipInfoSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeLinkDataSponsorshipInfoSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeLinkDataSponsorshipInfoSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeLinkDataTemplateVideoSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeLinkDataTemplateVideoSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeLinkDataTemplateVideoSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeLinkDataTemplateVideoSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeLinkDataTemplateVideoSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeObjectStorySpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeObjectStorySpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeObjectStorySpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeObjectStorySpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeObjectStorySpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePhotoData.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativePhotoDataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativePhotoData extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativePhotoDataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativePhotoDataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePlaceData.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativePlaceDataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativePlaceData extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativePlaceDataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativePlaceDataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePlatformCustomization.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativePlatformCustomizationFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativePlatformCustomization extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativePlatformCustomizationFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativePlatformCustomizationFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePortraitCustomizations.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativePortraitCustomizationsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativePortraitCustomizations extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativePortraitCustomizationsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativePortraitCustomizationsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativePostClickConfiguration.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativePostClickConfigurationFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativePostClickConfiguration extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativePostClickConfigurationFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativePostClickConfigurationFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeRecommenderSettings.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeRecommenderSettingsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeRecommenderSettings extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeRecommenderSettingsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeRecommenderSettingsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeStaticFallbackSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeStaticFallbackSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeStaticFallbackSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeStaticFallbackSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeStaticFallbackSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeTemplateURLSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeTemplateURLSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeTemplateURLSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeTemplateURLSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeTemplateURLSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeTextData.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeTextDataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeTextData extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeTextDataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeTextDataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCreativeVideoData.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCreativeVideoDataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCreativeVideoData extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCreativeVideoDataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCreativeVideoDataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdCustomizationRuleSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdCustomizationRuleSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdCustomizationRuleSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdCustomizationRuleSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdCustomizationRuleSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdDynamicCreative.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdDynamicCreativeFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdDynamicCreative extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdDynamicCreativeFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdDynamicCreativeFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdEntityTargetSpend.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdEntityTargetSpendFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdEntityTargetSpend extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdEntityTargetSpendFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdEntityTargetSpendFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdImage.php ADDED
@@ -0,0 +1,264 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdImageFields;
32
+ use FacebookAds\Object\Values\AdImageStatusValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdImage extends AbstractCrudObject {
44
+
45
+ /**
46
+ * @deprecated getEndpoint function is deprecated
47
+ */
48
+ protected function getEndpoint() {
49
+ return 'adimages';
50
+ }
51
+
52
+ /**
53
+ * @return AdImageFields
54
+ */
55
+ public static function getFieldsEnum() {
56
+ return AdImageFields::getInstance();
57
+ }
58
+
59
+ protected static function getReferencedEnums() {
60
+ $ref_enums = array();
61
+ $ref_enums['Status'] = AdImageStatusValues::getInstance()->getValues();
62
+ return $ref_enums;
63
+ }
64
+
65
+
66
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
67
+ $this->assureId();
68
+
69
+ $param_types = array(
70
+ );
71
+ $enums = array(
72
+ );
73
+
74
+ $request = new ApiRequest(
75
+ $this->api,
76
+ $this->data['id'],
77
+ RequestInterface::METHOD_GET,
78
+ '/',
79
+ new AdImage(),
80
+ 'NODE',
81
+ AdImage::getFieldsEnum()->getValues(),
82
+ new TypeChecker($param_types, $enums)
83
+ );
84
+ $request->addParams($params);
85
+ $request->addFields($fields);
86
+ return $pending ? $request : $request->execute();
87
+ }
88
+
89
+ /**
90
+ * Uploads images from a zip file and returns a cursor of results
91
+ *
92
+ * @param string $file_path
93
+ * @param string $account_id
94
+ * @param array $params
95
+ * @param Api $api
96
+ * @return array
97
+ */
98
+ public static function createFromZip(
99
+ $file_path, $account_id, array $params = array(), Api $api = null) {
100
+
101
+ $image = new AdImage(null, $account_id, $api);
102
+ $image->{AdImageFields::FILENAME} = $file_path;
103
+ return $image->arrayFromZip($params);
104
+ }
105
+
106
+ /**
107
+ * @return string
108
+ */
109
+ protected function getNodePath() {
110
+ return '/'.$this->assureParentId().'/'.$this->getEndpoint();
111
+ }
112
+
113
+ /**
114
+ * Create function for the object.
115
+ *
116
+ * @param array $params Additional parameters to include in the request
117
+ * @return $this
118
+ * @throws \Exception
119
+ * @throws \RuntimeException
120
+ */
121
+ public function create(array $params = array()) {
122
+ if ($this->data[static::FIELD_ID]) {
123
+ throw new \Exception("Object has already an ID");
124
+ }
125
+
126
+ if ($this->isZipFile($this->data[AdImageFields::FILENAME])) {
127
+ throw new \RuntimeException(
128
+ "use AdImage::createFromZip to create zip files");
129
+ }
130
+
131
+ $data = $this->exportData();
132
+ $filename = $data[AdImageFields::FILENAME];
133
+ unset($data[AdImageFields::FILENAME]);
134
+ $params = array_merge($data, $params);
135
+
136
+ $request = $this->getApi()->prepareRequest(
137
+ '/'.$this->assureParentId().'/'.$this->getEndpoint(),
138
+ RequestInterface::METHOD_POST,
139
+ $params
140
+ );
141
+
142
+ $request->getFileParams()->offsetSet(AdImageFields::FILENAME, $filename);
143
+ $response = $this->getApi()->executeRequest($request);
144
+
145
+ $this->clearHistory();
146
+ $content = $response->getContent();
147
+ $data = $content['images'][basename($this->{AdImageFields::FILENAME})];
148
+
149
+ $this->data[AdImageFields::HASH] = $data[AdImageFields::HASH];
150
+
151
+ $this->data[static::FIELD_ID]
152
+ = substr($this->getParentId(), 4).':'.$this->data[AdImageFields::HASH];
153
+
154
+ return $this;
155
+ }
156
+
157
+ /**
158
+ * Uploads images from a zip file and returns a cursor of results
159
+ *
160
+ * @param array $params
161
+ * @return array
162
+ * @throws \RuntimeException
163
+ */
164
+ protected function arrayFromZip($params = array()) {
165
+ if (!$this->isZipFile($this->data[AdImageFields::FILENAME])) {
166
+ throw new \RuntimeException(
167
+ $this->data[AdImageFields::FILENAME]." doesn't resolve to a zip file");
168
+ }
169
+
170
+ $data = $this->exportData();
171
+ $filename = $data[AdImageFields::FILENAME];
172
+ unset($data[AdImageFields::FILENAME]);
173
+ $params = array_merge($data, $params);
174
+
175
+ $request = $this->getApi()->prepareRequest(
176
+ '/'.$this->assureParentId().'/'.$this->getEndpoint(),
177
+ RequestInterface::METHOD_POST,
178
+ $params
179
+ );
180
+
181
+ $request->getFileParams()->offsetSet(AdImageFields::FILENAME, $filename);
182
+ $response = $this->getApi()->executeRequest($request);
183
+
184
+ $result = array();
185
+ $content = $response->getContent();
186
+ foreach ($content['images'] as $image) {
187
+ $adimage = new AdImage(
188
+ substr($this->getParentId(), 4).':'.$image[AdImageFields::HASH],
189
+ $this->getParentId(),
190
+ $this->getApi());
191
+
192
+ $adimage->{AdImageFields::HASH} = $image[AdImageFields::HASH];
193
+
194
+ $result[] = $adimage;
195
+ }
196
+
197
+ return $result;
198
+ }
199
+
200
+ /**
201
+ * Checks if a given path is a zip file
202
+ *
203
+ * @param string $file_path
204
+ * @return bool
205
+ */
206
+ protected function isZipFile($file_path) {
207
+ $finfo = finfo_open(FILEINFO_MIME_TYPE);
208
+ $file_mime_type = finfo_file($finfo, $file_path);
209
+ return $file_mime_type == 'application/zip' ||
210
+ $file_mime_type == 'multipart/x-zip';
211
+ }
212
+
213
+ /**
214
+ * Read object data from the graph
215
+ *
216
+ * @param string[] $fields Fields to request
217
+ * @param array $params Additional request parameters
218
+ * @return $this
219
+ */
220
+ public function read(array $fields = array(), array $params = array()) {
221
+ $fields = implode(',', $fields ?: static::getDefaultReadFields());
222
+ if ($fields) {
223
+ $params['fields'] = $fields;
224
+ }
225
+ $params['hashes'] = array(explode(':', $this->assureId())[1]);
226
+
227
+ $response = $this->getApi()->call(
228
+ $this->getNodePath(),
229
+ RequestInterface::METHOD_GET,
230
+ $params);
231
+
232
+ $content = $response->getContent();
233
+ $data = $content['data'];
234
+ if ($data) {
235
+ $this->setDataWithoutValidation((array) $data[0]);
236
+ }
237
+
238
+ $this->clearHistory();
239
+
240
+ return $this;
241
+ }
242
+
243
+ /**
244
+ * Delete this object from the graph
245
+ *
246
+ * @param array $params
247
+ * @return void
248
+ * @throws \Exception
249
+ */
250
+ public function deleteSelf(array $params = array()) {
251
+ if (!$this->data[AdImageFields::HASH]) {
252
+ throw new \Exception("AdImage hash is required to delete");
253
+ }
254
+
255
+ $params
256
+ = array_merge($params, array('hash' => $this->data[AdImageFields::HASH]));
257
+
258
+ $this->getApi()->call(
259
+ $this->getNodePath(),
260
+ RequestInterface::METHOD_DELETE,
261
+ $params
262
+ );
263
+ }
264
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdKeywords.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdKeywordsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdKeywords extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdKeywordsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdKeywordsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdLabel.php ADDED
@@ -0,0 +1,226 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdLabelFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdLabel extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @deprecated getEndpoint function is deprecated
46
+ */
47
+ protected function getEndpoint() {
48
+ return 'adlabels';
49
+ }
50
+
51
+ /**
52
+ * @return AdLabelFields
53
+ */
54
+ public static function getFieldsEnum() {
55
+ return AdLabelFields::getInstance();
56
+ }
57
+
58
+ protected static function getReferencedEnums() {
59
+ $ref_enums = array();
60
+ return $ref_enums;
61
+ }
62
+
63
+
64
+ public function getAdCreatives(array $fields = array(), array $params = array(), $pending = false) {
65
+ $this->assureId();
66
+
67
+ $param_types = array(
68
+ );
69
+ $enums = array(
70
+ );
71
+
72
+ $request = new ApiRequest(
73
+ $this->api,
74
+ $this->data['id'],
75
+ RequestInterface::METHOD_GET,
76
+ '/adcreatives',
77
+ new AdCreative(),
78
+ 'EDGE',
79
+ AdCreative::getFieldsEnum()->getValues(),
80
+ new TypeChecker($param_types, $enums)
81
+ );
82
+ $request->addParams($params);
83
+ $request->addFields($fields);
84
+ return $pending ? $request : $request->execute();
85
+ }
86
+
87
+ public function getAds(array $fields = array(), array $params = array(), $pending = false) {
88
+ $this->assureId();
89
+
90
+ $param_types = array(
91
+ );
92
+ $enums = array(
93
+ );
94
+
95
+ $request = new ApiRequest(
96
+ $this->api,
97
+ $this->data['id'],
98
+ RequestInterface::METHOD_GET,
99
+ '/ads',
100
+ new Ad(),
101
+ 'EDGE',
102
+ Ad::getFieldsEnum()->getValues(),
103
+ new TypeChecker($param_types, $enums)
104
+ );
105
+ $request->addParams($params);
106
+ $request->addFields($fields);
107
+ return $pending ? $request : $request->execute();
108
+ }
109
+
110
+ public function getAdSets(array $fields = array(), array $params = array(), $pending = false) {
111
+ $this->assureId();
112
+
113
+ $param_types = array(
114
+ );
115
+ $enums = array(
116
+ );
117
+
118
+ $request = new ApiRequest(
119
+ $this->api,
120
+ $this->data['id'],
121
+ RequestInterface::METHOD_GET,
122
+ '/adsets',
123
+ new AdSet(),
124
+ 'EDGE',
125
+ AdSet::getFieldsEnum()->getValues(),
126
+ new TypeChecker($param_types, $enums)
127
+ );
128
+ $request->addParams($params);
129
+ $request->addFields($fields);
130
+ return $pending ? $request : $request->execute();
131
+ }
132
+
133
+ public function getCampaigns(array $fields = array(), array $params = array(), $pending = false) {
134
+ $this->assureId();
135
+
136
+ $param_types = array(
137
+ );
138
+ $enums = array(
139
+ );
140
+
141
+ $request = new ApiRequest(
142
+ $this->api,
143
+ $this->data['id'],
144
+ RequestInterface::METHOD_GET,
145
+ '/campaigns',
146
+ new Campaign(),
147
+ 'EDGE',
148
+ Campaign::getFieldsEnum()->getValues(),
149
+ new TypeChecker($param_types, $enums)
150
+ );
151
+ $request->addParams($params);
152
+ $request->addFields($fields);
153
+ return $pending ? $request : $request->execute();
154
+ }
155
+
156
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
157
+ $this->assureId();
158
+
159
+ $param_types = array(
160
+ );
161
+ $enums = array(
162
+ );
163
+
164
+ $request = new ApiRequest(
165
+ $this->api,
166
+ $this->data['id'],
167
+ RequestInterface::METHOD_DELETE,
168
+ '/',
169
+ new AbstractCrudObject(),
170
+ 'NODE',
171
+ array(),
172
+ new TypeChecker($param_types, $enums)
173
+ );
174
+ $request->addParams($params);
175
+ $request->addFields($fields);
176
+ return $pending ? $request : $request->execute();
177
+ }
178
+
179
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
180
+ $this->assureId();
181
+
182
+ $param_types = array(
183
+ );
184
+ $enums = array(
185
+ );
186
+
187
+ $request = new ApiRequest(
188
+ $this->api,
189
+ $this->data['id'],
190
+ RequestInterface::METHOD_GET,
191
+ '/',
192
+ new AdLabel(),
193
+ 'NODE',
194
+ AdLabel::getFieldsEnum()->getValues(),
195
+ new TypeChecker($param_types, $enums)
196
+ );
197
+ $request->addParams($params);
198
+ $request->addFields($fields);
199
+ return $pending ? $request : $request->execute();
200
+ }
201
+
202
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
203
+ $this->assureId();
204
+
205
+ $param_types = array(
206
+ 'name' => 'string',
207
+ );
208
+ $enums = array(
209
+ );
210
+
211
+ $request = new ApiRequest(
212
+ $this->api,
213
+ $this->data['id'],
214
+ RequestInterface::METHOD_POST,
215
+ '/',
216
+ new AdLabel(),
217
+ 'NODE',
218
+ AdLabel::getFieldsEnum()->getValues(),
219
+ new TypeChecker($param_types, $enums)
220
+ );
221
+ $request->addParams($params);
222
+ $request->addFields($fields);
223
+ return $pending ? $request : $request->execute();
224
+ }
225
+
226
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdMonetizationProperty.php ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdMonetizationPropertyFields;
32
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues;
33
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultBreakdownsValues;
34
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultMetricsValues;
35
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultOrderingColumnValues;
36
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultOrderingTypeValues;
37
+
38
+ /**
39
+ * This class is auto-generated.
40
+ *
41
+ * For any issues or feature requests related to this class, please let us know
42
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
43
+ * pull request for this class.
44
+ *
45
+ */
46
+
47
+ class AdMonetizationProperty extends AbstractCrudObject {
48
+
49
+ /**
50
+ * @return AdMonetizationPropertyFields
51
+ */
52
+ public static function getFieldsEnum() {
53
+ return AdMonetizationPropertyFields::getInstance();
54
+ }
55
+
56
+ protected static function getReferencedEnums() {
57
+ $ref_enums = array();
58
+ return $ref_enums;
59
+ }
60
+
61
+
62
+ public function getAdNetworkAnalytics(array $fields = array(), array $params = array(), $pending = false) {
63
+ $this->assureId();
64
+
65
+ $param_types = array(
66
+ 'aggregation_period' => 'aggregation_period_enum',
67
+ 'breakdowns' => 'list<breakdowns_enum>',
68
+ 'filters' => 'list<map>',
69
+ 'limit' => 'unsigned int',
70
+ 'metrics' => 'list<metrics_enum>',
71
+ 'ordering_column' => 'ordering_column_enum',
72
+ 'ordering_type' => 'ordering_type_enum',
73
+ 'since' => 'datetime',
74
+ 'until' => 'datetime',
75
+ );
76
+ $enums = array(
77
+ 'aggregation_period_enum' => AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues::getInstance()->getValues(),
78
+ 'breakdowns_enum' => AdNetworkAnalyticsSyncQueryResultBreakdownsValues::getInstance()->getValues(),
79
+ 'metrics_enum' => AdNetworkAnalyticsSyncQueryResultMetricsValues::getInstance()->getValues(),
80
+ 'ordering_column_enum' => AdNetworkAnalyticsSyncQueryResultOrderingColumnValues::getInstance()->getValues(),
81
+ 'ordering_type_enum' => AdNetworkAnalyticsSyncQueryResultOrderingTypeValues::getInstance()->getValues(),
82
+ );
83
+
84
+ $request = new ApiRequest(
85
+ $this->api,
86
+ $this->data['id'],
87
+ RequestInterface::METHOD_GET,
88
+ '/adnetworkanalytics',
89
+ new AdNetworkAnalyticsSyncQueryResult(),
90
+ 'EDGE',
91
+ AdNetworkAnalyticsSyncQueryResult::getFieldsEnum()->getValues(),
92
+ new TypeChecker($param_types, $enums)
93
+ );
94
+ $request->addParams($params);
95
+ $request->addFields($fields);
96
+ return $pending ? $request : $request->execute();
97
+ }
98
+
99
+ public function createAdNetworkAnalytic(array $fields = array(), array $params = array(), $pending = false) {
100
+ $this->assureId();
101
+
102
+ $param_types = array(
103
+ 'aggregation_period' => 'aggregation_period_enum',
104
+ 'breakdowns' => 'list<breakdowns_enum>',
105
+ 'filters' => 'list<Object>',
106
+ 'limit' => 'int',
107
+ 'metrics' => 'list<metrics_enum>',
108
+ 'ordering_column' => 'ordering_column_enum',
109
+ 'ordering_type' => 'ordering_type_enum',
110
+ 'since' => 'datetime',
111
+ 'until' => 'datetime',
112
+ );
113
+ $enums = array(
114
+ 'aggregation_period_enum' => AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues::getInstance()->getValues(),
115
+ 'breakdowns_enum' => AdNetworkAnalyticsSyncQueryResultBreakdownsValues::getInstance()->getValues(),
116
+ 'metrics_enum' => AdNetworkAnalyticsSyncQueryResultMetricsValues::getInstance()->getValues(),
117
+ 'ordering_column_enum' => AdNetworkAnalyticsSyncQueryResultOrderingColumnValues::getInstance()->getValues(),
118
+ 'ordering_type_enum' => AdNetworkAnalyticsSyncQueryResultOrderingTypeValues::getInstance()->getValues(),
119
+ );
120
+
121
+ $request = new ApiRequest(
122
+ $this->api,
123
+ $this->data['id'],
124
+ RequestInterface::METHOD_POST,
125
+ '/adnetworkanalytics',
126
+ new AdMonetizationProperty(),
127
+ 'EDGE',
128
+ AdMonetizationProperty::getFieldsEnum()->getValues(),
129
+ new TypeChecker($param_types, $enums)
130
+ );
131
+ $request->addParams($params);
132
+ $request->addFields($fields);
133
+ return $pending ? $request : $request->execute();
134
+ }
135
+
136
+ public function getAdNetworkAnalyticsResults(array $fields = array(), array $params = array(), $pending = false) {
137
+ $this->assureId();
138
+
139
+ $param_types = array(
140
+ 'query_ids' => 'list<string>',
141
+ );
142
+ $enums = array(
143
+ );
144
+
145
+ $request = new ApiRequest(
146
+ $this->api,
147
+ $this->data['id'],
148
+ RequestInterface::METHOD_GET,
149
+ '/adnetworkanalytics_results',
150
+ new AdNetworkAnalyticsAsyncQueryResult(),
151
+ 'EDGE',
152
+ AdNetworkAnalyticsAsyncQueryResult::getFieldsEnum()->getValues(),
153
+ new TypeChecker($param_types, $enums)
154
+ );
155
+ $request->addParams($params);
156
+ $request->addFields($fields);
157
+ return $pending ? $request : $request->execute();
158
+ }
159
+
160
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
161
+ $this->assureId();
162
+
163
+ $param_types = array(
164
+ );
165
+ $enums = array(
166
+ );
167
+
168
+ $request = new ApiRequest(
169
+ $this->api,
170
+ $this->data['id'],
171
+ RequestInterface::METHOD_GET,
172
+ '/',
173
+ new AdMonetizationProperty(),
174
+ 'NODE',
175
+ AdMonetizationProperty::getFieldsEnum()->getValues(),
176
+ new TypeChecker($param_types, $enums)
177
+ );
178
+ $request->addParams($params);
179
+ $request->addFields($fields);
180
+ return $pending ? $request : $request->execute();
181
+ }
182
+
183
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdNetworkAnalyticsAsyncQueryResult.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdNetworkAnalyticsAsyncQueryResultFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdNetworkAnalyticsAsyncQueryResult extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdNetworkAnalyticsAsyncQueryResultFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdNetworkAnalyticsAsyncQueryResultFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdNetworkAnalyticsSyncQueryResult.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdNetworkAnalyticsSyncQueryResultFields;
32
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues;
33
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultBreakdownsValues;
34
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultMetricsValues;
35
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultOrderingColumnValues;
36
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultOrderingTypeValues;
37
+
38
+ /**
39
+ * This class is auto-generated.
40
+ *
41
+ * For any issues or feature requests related to this class, please let us know
42
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
43
+ * pull request for this class.
44
+ *
45
+ */
46
+
47
+ class AdNetworkAnalyticsSyncQueryResult extends AbstractObject {
48
+
49
+ /**
50
+ * @return AdNetworkAnalyticsSyncQueryResultFields
51
+ */
52
+ public static function getFieldsEnum() {
53
+ return AdNetworkAnalyticsSyncQueryResultFields::getInstance();
54
+ }
55
+
56
+ protected static function getReferencedEnums() {
57
+ $ref_enums = array();
58
+ $ref_enums['AggregationPeriod'] = AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues::getInstance()->getValues();
59
+ $ref_enums['Breakdowns'] = AdNetworkAnalyticsSyncQueryResultBreakdownsValues::getInstance()->getValues();
60
+ $ref_enums['Metrics'] = AdNetworkAnalyticsSyncQueryResultMetricsValues::getInstance()->getValues();
61
+ $ref_enums['OrderingColumn'] = AdNetworkAnalyticsSyncQueryResultOrderingColumnValues::getInstance()->getValues();
62
+ $ref_enums['OrderingType'] = AdNetworkAnalyticsSyncQueryResultOrderingTypeValues::getInstance()->getValues();
63
+ return $ref_enums;
64
+ }
65
+
66
+
67
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSet.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdPlacePageSetFields;
32
+ use FacebookAds\Object\Values\AdPlacePageSetLocationTypesValues;
33
+ use FacebookAds\Object\Values\AdPlacePageSetTargetedAreaTypeValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdPlacePageSet extends AbstractCrudObject {
45
+
46
+ /**
47
+ * @deprecated getEndpoint function is deprecated
48
+ */
49
+ protected function getEndpoint() {
50
+ return 'ad_place_page_sets';
51
+ }
52
+
53
+ /**
54
+ * @return AdPlacePageSetFields
55
+ */
56
+ public static function getFieldsEnum() {
57
+ return AdPlacePageSetFields::getInstance();
58
+ }
59
+
60
+ protected static function getReferencedEnums() {
61
+ $ref_enums = array();
62
+ $ref_enums['LocationTypes'] = AdPlacePageSetLocationTypesValues::getInstance()->getValues();
63
+ $ref_enums['TargetedAreaType'] = AdPlacePageSetTargetedAreaTypeValues::getInstance()->getValues();
64
+ return $ref_enums;
65
+ }
66
+
67
+
68
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
69
+ $this->assureId();
70
+
71
+ $param_types = array(
72
+ );
73
+ $enums = array(
74
+ );
75
+
76
+ $request = new ApiRequest(
77
+ $this->api,
78
+ $this->data['id'],
79
+ RequestInterface::METHOD_GET,
80
+ '/',
81
+ new AdPlacePageSet(),
82
+ 'NODE',
83
+ AdPlacePageSet::getFieldsEnum()->getValues(),
84
+ new TypeChecker($param_types, $enums)
85
+ );
86
+ $request->addParams($params);
87
+ $request->addFields($fields);
88
+ return $pending ? $request : $request->execute();
89
+ }
90
+
91
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
92
+ $this->assureId();
93
+
94
+ $param_types = array(
95
+ 'name' => 'string',
96
+ );
97
+ $enums = array(
98
+ );
99
+
100
+ $request = new ApiRequest(
101
+ $this->api,
102
+ $this->data['id'],
103
+ RequestInterface::METHOD_POST,
104
+ '/',
105
+ new AdPlacePageSet(),
106
+ 'NODE',
107
+ AdPlacePageSet::getFieldsEnum()->getValues(),
108
+ new TypeChecker($param_types, $enums)
109
+ );
110
+ $request->addParams($params);
111
+ $request->addFields($fields);
112
+ return $pending ? $request : $request->execute();
113
+ }
114
+
115
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacePageSetMetadata.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdPlacePageSetMetadataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdPlacePageSetMetadata extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdPlacePageSetMetadataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdPlacePageSetMetadataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPlacement.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdPlacementFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdPlacement extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AdPlacementFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdPlacementFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
58
+ $this->assureId();
59
+
60
+ $param_types = array(
61
+ );
62
+ $enums = array(
63
+ );
64
+
65
+ $request = new ApiRequest(
66
+ $this->api,
67
+ $this->data['id'],
68
+ RequestInterface::METHOD_GET,
69
+ '/',
70
+ new AdPlacement(),
71
+ 'NODE',
72
+ AdPlacement::getFieldsEnum()->getValues(),
73
+ new TypeChecker($param_types, $enums)
74
+ );
75
+ $request->addParams($params);
76
+ $request->addFields($fields);
77
+ return $pending ? $request : $request->execute();
78
+ }
79
+
80
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPreview.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdPreviewFields;
32
+ use FacebookAds\Object\Values\AdPreviewAdFormatValues;
33
+ use FacebookAds\Object\Values\AdPreviewRenderTypeValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdPreview extends AbstractObject {
45
+
46
+ /**
47
+ * @deprecated getEndpoint function is deprecated
48
+ */
49
+ protected function getEndpoint() {
50
+ return 'previews';
51
+ }
52
+
53
+ /**
54
+ * @return AdPreviewFields
55
+ */
56
+ public static function getFieldsEnum() {
57
+ return AdPreviewFields::getInstance();
58
+ }
59
+
60
+ protected static function getReferencedEnums() {
61
+ $ref_enums = array();
62
+ $ref_enums['AdFormat'] = AdPreviewAdFormatValues::getInstance()->getValues();
63
+ $ref_enums['RenderType'] = AdPreviewRenderTypeValues::getInstance()->getValues();
64
+ return $ref_enums;
65
+ }
66
+
67
+
68
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdPromotedObject.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdPromotedObjectFields;
32
+ use FacebookAds\Object\Values\AdPromotedObjectCustomEventTypeValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdPromotedObject extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdPromotedObjectFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdPromotedObjectFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['CustomEventType'] = AdPromotedObjectCustomEventTypeValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRecommendation.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRecommendationFields;
32
+ use FacebookAds\Object\Values\AdRecommendationConfidenceValues;
33
+ use FacebookAds\Object\Values\AdRecommendationImportanceValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdRecommendation extends AbstractObject {
45
+
46
+ /**
47
+ * @return AdRecommendationFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdRecommendationFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['Confidence'] = AdRecommendationConfidenceValues::getInstance()->getValues();
56
+ $ref_enums['Importance'] = AdRecommendationImportanceValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRecommendationData.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRecommendationDataFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdRecommendationData extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdRecommendationDataFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdRecommendationDataFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdReportRun.php ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdReportRunFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdReportRun extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @deprecated getEndpoint function is deprecated
46
+ */
47
+ protected function getEndpoint() {
48
+ return 'insights';
49
+ }
50
+
51
+ /**
52
+ * @return AdReportRunFields
53
+ */
54
+ public static function getFieldsEnum() {
55
+ return AdReportRunFields::getInstance();
56
+ }
57
+
58
+ protected static function getReferencedEnums() {
59
+ $ref_enums = array();
60
+ return $ref_enums;
61
+ }
62
+
63
+
64
+ public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
65
+ $this->assureId();
66
+
67
+ $param_types = array(
68
+ );
69
+ $enums = array(
70
+ );
71
+
72
+ $request = new ApiRequest(
73
+ $this->api,
74
+ $this->data['id'],
75
+ RequestInterface::METHOD_GET,
76
+ '/insights',
77
+ new AdsInsights(),
78
+ 'EDGE',
79
+ AdsInsights::getFieldsEnum()->getValues(),
80
+ new TypeChecker($param_types, $enums)
81
+ );
82
+ $request->addParams($params);
83
+ $request->addFields($fields);
84
+ return $pending ? $request : $request->execute();
85
+ }
86
+
87
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
88
+ $this->assureId();
89
+
90
+ $param_types = array(
91
+ );
92
+ $enums = array(
93
+ );
94
+
95
+ $request = new ApiRequest(
96
+ $this->api,
97
+ $this->data['id'],
98
+ RequestInterface::METHOD_DELETE,
99
+ '/',
100
+ new AbstractCrudObject(),
101
+ 'NODE',
102
+ array(),
103
+ new TypeChecker($param_types, $enums)
104
+ );
105
+ $request->addParams($params);
106
+ $request->addFields($fields);
107
+ return $pending ? $request : $request->execute();
108
+ }
109
+
110
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
111
+ $this->assureId();
112
+
113
+ $param_types = array(
114
+ );
115
+ $enums = array(
116
+ );
117
+
118
+ $request = new ApiRequest(
119
+ $this->api,
120
+ $this->data['id'],
121
+ RequestInterface::METHOD_GET,
122
+ '/',
123
+ new AdReportRun(),
124
+ 'NODE',
125
+ AdReportRun::getFieldsEnum()->getValues(),
126
+ new TypeChecker($param_types, $enums)
127
+ );
128
+ $request->addParams($params);
129
+ $request->addFields($fields);
130
+ return $pending ? $request : $request->execute();
131
+ }
132
+
133
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
134
+ $this->assureId();
135
+
136
+ $param_types = array(
137
+ 'emails' => 'list<string>',
138
+ 'is_bookmarked' => 'bool',
139
+ );
140
+ $enums = array(
141
+ );
142
+
143
+ $request = new ApiRequest(
144
+ $this->api,
145
+ $this->data['id'],
146
+ RequestInterface::METHOD_POST,
147
+ '/',
148
+ new AdReportRun(),
149
+ 'NODE',
150
+ AdReportRun::getFieldsEnum()->getValues(),
151
+ new TypeChecker($param_types, $enums)
152
+ );
153
+ $request->addParams($params);
154
+ $request->addFields($fields);
155
+ return $pending ? $request : $request->execute();
156
+ }
157
+
158
+ public function setDataTrigger(array $data) {
159
+ if (array_key_exists('report_run_id', $data)) {
160
+ $this->data['id'] = $data['report_run_id'];
161
+ }
162
+ }
163
+
164
+ public function isComplete() {
165
+ return $this->{AdReportRunFields::ASYNC_PERCENT_COMPLETION} === 100 &&
166
+ $this->{AdReportRunFields::ASYNC_STATUS} === 'Job Completed';
167
+ }
168
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdReportSpec.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdReportSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdReportSpec extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AdReportSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdReportSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
58
+ $this->assureId();
59
+
60
+ $param_types = array(
61
+ );
62
+ $enums = array(
63
+ );
64
+
65
+ $request = new ApiRequest(
66
+ $this->api,
67
+ $this->data['id'],
68
+ RequestInterface::METHOD_DELETE,
69
+ '/',
70
+ new AbstractCrudObject(),
71
+ 'NODE',
72
+ array(),
73
+ new TypeChecker($param_types, $enums)
74
+ );
75
+ $request->addParams($params);
76
+ $request->addFields($fields);
77
+ return $pending ? $request : $request->execute();
78
+ }
79
+
80
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
81
+ $this->assureId();
82
+
83
+ $param_types = array(
84
+ );
85
+ $enums = array(
86
+ );
87
+
88
+ $request = new ApiRequest(
89
+ $this->api,
90
+ $this->data['id'],
91
+ RequestInterface::METHOD_GET,
92
+ '/',
93
+ new AdReportSpec(),
94
+ 'NODE',
95
+ AdReportSpec::getFieldsEnum()->getValues(),
96
+ new TypeChecker($param_types, $enums)
97
+ );
98
+ $request->addParams($params);
99
+ $request->addFields($fields);
100
+ return $pending ? $request : $request->execute();
101
+ }
102
+
103
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRule.php ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleFields;
32
+ use FacebookAds\Object\Values\AdRuleHistoryActionValues;
33
+ use FacebookAds\Object\Values\AdRuleStatusValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdRule extends AbstractCrudObject {
45
+
46
+ /**
47
+ * @deprecated getEndpoint function is deprecated
48
+ */
49
+ protected function getEndpoint() {
50
+ return 'adrules_library';
51
+ }
52
+
53
+ /**
54
+ * @return AdRuleFields
55
+ */
56
+ public static function getFieldsEnum() {
57
+ return AdRuleFields::getInstance();
58
+ }
59
+
60
+ protected static function getReferencedEnums() {
61
+ $ref_enums = array();
62
+ $ref_enums['Status'] = AdRuleStatusValues::getInstance()->getValues();
63
+ return $ref_enums;
64
+ }
65
+
66
+
67
+ public function createExecute(array $fields = array(), array $params = array(), $pending = false) {
68
+ $this->assureId();
69
+
70
+ $param_types = array(
71
+ );
72
+ $enums = array(
73
+ );
74
+
75
+ $request = new ApiRequest(
76
+ $this->api,
77
+ $this->data['id'],
78
+ RequestInterface::METHOD_POST,
79
+ '/execute',
80
+ new AbstractCrudObject(),
81
+ 'EDGE',
82
+ array(),
83
+ new TypeChecker($param_types, $enums)
84
+ );
85
+ $request->addParams($params);
86
+ $request->addFields($fields);
87
+ return $pending ? $request : $request->execute();
88
+ }
89
+
90
+ public function getHistory(array $fields = array(), array $params = array(), $pending = false) {
91
+ $this->assureId();
92
+
93
+ $param_types = array(
94
+ 'action' => 'action_enum',
95
+ 'hide_no_changes' => 'bool',
96
+ 'object_id' => 'string',
97
+ );
98
+ $enums = array(
99
+ 'action_enum' => AdRuleHistoryActionValues::getInstance()->getValues(),
100
+ );
101
+
102
+ $request = new ApiRequest(
103
+ $this->api,
104
+ $this->data['id'],
105
+ RequestInterface::METHOD_GET,
106
+ '/history',
107
+ new AdRuleHistory(),
108
+ 'EDGE',
109
+ AdRuleHistory::getFieldsEnum()->getValues(),
110
+ new TypeChecker($param_types, $enums)
111
+ );
112
+ $request->addParams($params);
113
+ $request->addFields($fields);
114
+ return $pending ? $request : $request->execute();
115
+ }
116
+
117
+ public function createPreview(array $fields = array(), array $params = array(), $pending = false) {
118
+ $this->assureId();
119
+
120
+ $param_types = array(
121
+ );
122
+ $enums = array(
123
+ );
124
+
125
+ $request = new ApiRequest(
126
+ $this->api,
127
+ $this->data['id'],
128
+ RequestInterface::METHOD_POST,
129
+ '/preview',
130
+ new AdRule(),
131
+ 'EDGE',
132
+ AdRule::getFieldsEnum()->getValues(),
133
+ new TypeChecker($param_types, $enums)
134
+ );
135
+ $request->addParams($params);
136
+ $request->addFields($fields);
137
+ return $pending ? $request : $request->execute();
138
+ }
139
+
140
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
141
+ $this->assureId();
142
+
143
+ $param_types = array(
144
+ );
145
+ $enums = array(
146
+ );
147
+
148
+ $request = new ApiRequest(
149
+ $this->api,
150
+ $this->data['id'],
151
+ RequestInterface::METHOD_DELETE,
152
+ '/',
153
+ new AbstractCrudObject(),
154
+ 'NODE',
155
+ array(),
156
+ new TypeChecker($param_types, $enums)
157
+ );
158
+ $request->addParams($params);
159
+ $request->addFields($fields);
160
+ return $pending ? $request : $request->execute();
161
+ }
162
+
163
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
164
+ $this->assureId();
165
+
166
+ $param_types = array(
167
+ );
168
+ $enums = array(
169
+ );
170
+
171
+ $request = new ApiRequest(
172
+ $this->api,
173
+ $this->data['id'],
174
+ RequestInterface::METHOD_GET,
175
+ '/',
176
+ new AdRule(),
177
+ 'NODE',
178
+ AdRule::getFieldsEnum()->getValues(),
179
+ new TypeChecker($param_types, $enums)
180
+ );
181
+ $request->addParams($params);
182
+ $request->addFields($fields);
183
+ return $pending ? $request : $request->execute();
184
+ }
185
+
186
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
187
+ $this->assureId();
188
+
189
+ $param_types = array(
190
+ 'evaluation_spec' => 'Object',
191
+ 'execution_spec' => 'Object',
192
+ 'name' => 'string',
193
+ 'schedule_spec' => 'Object',
194
+ 'status' => 'status_enum',
195
+ );
196
+ $enums = array(
197
+ 'status_enum' => AdRuleStatusValues::getInstance()->getValues(),
198
+ );
199
+
200
+ $request = new ApiRequest(
201
+ $this->api,
202
+ $this->data['id'],
203
+ RequestInterface::METHOD_POST,
204
+ '/',
205
+ new AdRule(),
206
+ 'NODE',
207
+ AdRule::getFieldsEnum()->getValues(),
208
+ new TypeChecker($param_types, $enums)
209
+ );
210
+ $request->addParams($params);
211
+ $request->addFields($fields);
212
+ return $pending ? $request : $request->execute();
213
+ }
214
+
215
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleEvaluationSpec.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleEvaluationSpecFields;
32
+ use FacebookAds\Object\Values\AdRuleEvaluationSpecEvaluationTypeValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdRuleEvaluationSpec extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdRuleEvaluationSpecFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdRuleEvaluationSpecFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['EvaluationType'] = AdRuleEvaluationSpecEvaluationTypeValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleExecutionOptions.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleExecutionOptionsFields;
32
+ use FacebookAds\Object\Values\AdRuleExecutionOptionsOperatorValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdRuleExecutionOptions extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdRuleExecutionOptionsFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdRuleExecutionOptionsFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['Operator'] = AdRuleExecutionOptionsOperatorValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleExecutionSpec.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleExecutionSpecFields;
32
+ use FacebookAds\Object\Values\AdRuleExecutionSpecExecutionTypeValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdRuleExecutionSpec extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdRuleExecutionSpecFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdRuleExecutionSpecFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['ExecutionType'] = AdRuleExecutionSpecExecutionTypeValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleFilters.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleFiltersFields;
32
+ use FacebookAds\Object\Values\AdRuleFiltersOperatorValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdRuleFilters extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdRuleFiltersFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdRuleFiltersFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['Operator'] = AdRuleFiltersOperatorValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistory.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleHistoryFields;
32
+ use FacebookAds\Object\Values\AdRuleHistoryActionValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdRuleHistory extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdRuleHistoryFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdRuleHistoryFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['Action'] = AdRuleHistoryActionValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistoryResult.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleHistoryResultFields;
32
+ use FacebookAds\Object\Values\AdRuleHistoryResultObjectTypeValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdRuleHistoryResult extends AbstractObject {
44
+
45
+ /**
46
+ * @return AdRuleHistoryResultFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdRuleHistoryResultFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['ObjectType'] = AdRuleHistoryResultObjectTypeValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleHistoryResultAction.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleHistoryResultActionFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdRuleHistoryResultAction extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdRuleHistoryResultActionFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdRuleHistoryResultActionFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleSchedule.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleScheduleFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdRuleSchedule extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdRuleScheduleFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdRuleScheduleFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleScheduleSpec.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleScheduleSpecFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdRuleScheduleSpec extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdRuleScheduleSpecFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdRuleScheduleSpecFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdRuleTrigger.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdRuleTriggerFields;
32
+ use FacebookAds\Object\Values\AdRuleTriggerOperatorValues;
33
+ use FacebookAds\Object\Values\AdRuleTriggerTypeValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdRuleTrigger extends AbstractObject {
45
+
46
+ /**
47
+ * @return AdRuleTriggerFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdRuleTriggerFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['Operator'] = AdRuleTriggerOperatorValues::getInstance()->getValues();
56
+ $ref_enums['Type'] = AdRuleTriggerTypeValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdSet.php ADDED
@@ -0,0 +1,702 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdSetFields;
32
+ use FacebookAds\Object\Values\AdActivityCategoryValues;
33
+ use FacebookAds\Object\Values\AdAsyncRequestStatusesValues;
34
+ use FacebookAds\Object\Values\AdCampaignDeliveryEstimateOptimizationGoalValues;
35
+ use FacebookAds\Object\Values\AdDatePresetValues;
36
+ use FacebookAds\Object\Values\AdSetBidStrategyValues;
37
+ use FacebookAds\Object\Values\AdSetBillingEventValues;
38
+ use FacebookAds\Object\Values\AdSetConfiguredStatusValues;
39
+ use FacebookAds\Object\Values\AdSetDatePresetValues;
40
+ use FacebookAds\Object\Values\AdSetDestinationTypeValues;
41
+ use FacebookAds\Object\Values\AdSetEffectiveStatusValues;
42
+ use FacebookAds\Object\Values\AdSetExecutionOptionsValues;
43
+ use FacebookAds\Object\Values\AdSetFullFunnelExplorationModeValues;
44
+ use FacebookAds\Object\Values\AdSetOperatorValues;
45
+ use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
46
+ use FacebookAds\Object\Values\AdSetOptimizationSubEventValues;
47
+ use FacebookAds\Object\Values\AdSetStatusOptionValues;
48
+ use FacebookAds\Object\Values\AdSetStatusValues;
49
+ use FacebookAds\Object\Values\AdSetTuneForCategoryValues;
50
+ use FacebookAds\Object\Values\AdsInsightsActionAttributionWindowsValues;
51
+ use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
52
+ use FacebookAds\Object\Values\AdsInsightsActionReportTimeValues;
53
+ use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
54
+ use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
55
+ use FacebookAds\Object\Values\AdsInsightsLevelValues;
56
+ use FacebookAds\Object\Values\AdsInsightsSummaryActionBreakdownsValues;
57
+ use FacebookAds\Object\Values\ContentDeliveryReportPlatformValues;
58
+ use FacebookAds\Object\Values\ContentDeliveryReportPositionValues;
59
+ use FacebookAds\Object\Traits\AdLabelAwareCrudObjectTrait;
60
+ use FacebookAds\Object\Traits\ObjectValidation;
61
+
62
+ /**
63
+ * This class is auto-generated.
64
+ *
65
+ * For any issues or feature requests related to this class, please let us know
66
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
67
+ * pull request for this class.
68
+ *
69
+ */
70
+
71
+ class AdSet extends AbstractArchivableCrudObject
72
+ implements CanRedownloadInterface {
73
+
74
+ use AdLabelAwareCrudObjectTrait;
75
+ use ObjectValidation;
76
+
77
+ /**
78
+ * @deprecated getEndpoint function is deprecated
79
+ */
80
+ protected function getEndpoint() {
81
+ return 'adsets';
82
+ }
83
+
84
+ /**
85
+ * @return AdSetFields
86
+ */
87
+ public static function getFieldsEnum() {
88
+ return AdSetFields::getInstance();
89
+ }
90
+
91
+ protected static function getReferencedEnums() {
92
+ $ref_enums = array();
93
+ $ref_enums['BidStrategy'] = AdSetBidStrategyValues::getInstance()->getValues();
94
+ $ref_enums['BillingEvent'] = AdSetBillingEventValues::getInstance()->getValues();
95
+ $ref_enums['ConfiguredStatus'] = AdSetConfiguredStatusValues::getInstance()->getValues();
96
+ $ref_enums['EffectiveStatus'] = AdSetEffectiveStatusValues::getInstance()->getValues();
97
+ $ref_enums['OptimizationGoal'] = AdSetOptimizationGoalValues::getInstance()->getValues();
98
+ $ref_enums['Status'] = AdSetStatusValues::getInstance()->getValues();
99
+ $ref_enums['DatePreset'] = AdSetDatePresetValues::getInstance()->getValues();
100
+ $ref_enums['DestinationType'] = AdSetDestinationTypeValues::getInstance()->getValues();
101
+ $ref_enums['ExecutionOptions'] = AdSetExecutionOptionsValues::getInstance()->getValues();
102
+ $ref_enums['FullFunnelExplorationMode'] = AdSetFullFunnelExplorationModeValues::getInstance()->getValues();
103
+ $ref_enums['OptimizationSubEvent'] = AdSetOptimizationSubEventValues::getInstance()->getValues();
104
+ $ref_enums['TuneForCategory'] = AdSetTuneForCategoryValues::getInstance()->getValues();
105
+ $ref_enums['Operator'] = AdSetOperatorValues::getInstance()->getValues();
106
+ $ref_enums['StatusOption'] = AdSetStatusOptionValues::getInstance()->getValues();
107
+ return $ref_enums;
108
+ }
109
+
110
+
111
+ public function getActivities(array $fields = array(), array $params = array(), $pending = false) {
112
+ $this->assureId();
113
+
114
+ $param_types = array(
115
+ 'after' => 'string',
116
+ 'business_id' => 'string',
117
+ 'category' => 'category_enum',
118
+ 'limit' => 'int',
119
+ 'since' => 'datetime',
120
+ 'uid' => 'int',
121
+ 'until' => 'datetime',
122
+ );
123
+ $enums = array(
124
+ 'category_enum' => AdActivityCategoryValues::getInstance()->getValues(),
125
+ );
126
+
127
+ $request = new ApiRequest(
128
+ $this->api,
129
+ $this->data['id'],
130
+ RequestInterface::METHOD_GET,
131
+ '/activities',
132
+ new AdActivity(),
133
+ 'EDGE',
134
+ AdActivity::getFieldsEnum()->getValues(),
135
+ new TypeChecker($param_types, $enums)
136
+ );
137
+ $request->addParams($params);
138
+ $request->addFields($fields);
139
+ return $pending ? $request : $request->execute();
140
+ }
141
+
142
+ public function getAdStudies(array $fields = array(), array $params = array(), $pending = false) {
143
+ $this->assureId();
144
+
145
+ $param_types = array(
146
+ );
147
+ $enums = array(
148
+ );
149
+
150
+ $request = new ApiRequest(
151
+ $this->api,
152
+ $this->data['id'],
153
+ RequestInterface::METHOD_GET,
154
+ '/ad_studies',
155
+ new AdStudy(),
156
+ 'EDGE',
157
+ AdStudy::getFieldsEnum()->getValues(),
158
+ new TypeChecker($param_types, $enums)
159
+ );
160
+ $request->addParams($params);
161
+ $request->addFields($fields);
162
+ return $pending ? $request : $request->execute();
163
+ }
164
+
165
+ public function getAdCreatives(array $fields = array(), array $params = array(), $pending = false) {
166
+ $this->assureId();
167
+
168
+ $param_types = array(
169
+ );
170
+ $enums = array(
171
+ );
172
+
173
+ $request = new ApiRequest(
174
+ $this->api,
175
+ $this->data['id'],
176
+ RequestInterface::METHOD_GET,
177
+ '/adcreatives',
178
+ new AdCreative(),
179
+ 'EDGE',
180
+ AdCreative::getFieldsEnum()->getValues(),
181
+ new TypeChecker($param_types, $enums)
182
+ );
183
+ $request->addParams($params);
184
+ $request->addFields($fields);
185
+ return $pending ? $request : $request->execute();
186
+ }
187
+
188
+ public function deleteAdLabels(array $fields = array(), array $params = array(), $pending = false) {
189
+ $this->assureId();
190
+
191
+ $param_types = array(
192
+ 'adlabels' => 'list<Object>',
193
+ 'execution_options' => 'list<execution_options_enum>',
194
+ );
195
+ $enums = array(
196
+ 'execution_options_enum' => AdSetExecutionOptionsValues::getInstance()->getValues(),
197
+ );
198
+
199
+ $request = new ApiRequest(
200
+ $this->api,
201
+ $this->data['id'],
202
+ RequestInterface::METHOD_DELETE,
203
+ '/adlabels',
204
+ new AbstractCrudObject(),
205
+ 'EDGE',
206
+ array(),
207
+ new TypeChecker($param_types, $enums)
208
+ );
209
+ $request->addParams($params);
210
+ $request->addFields($fields);
211
+ return $pending ? $request : $request->execute();
212
+ }
213
+
214
+ public function createAdLabel(array $fields = array(), array $params = array(), $pending = false) {
215
+ $this->assureId();
216
+
217
+ $param_types = array(
218
+ 'adlabels' => 'list<Object>',
219
+ 'execution_options' => 'list<execution_options_enum>',
220
+ );
221
+ $enums = array(
222
+ 'execution_options_enum' => AdSetExecutionOptionsValues::getInstance()->getValues(),
223
+ );
224
+
225
+ $request = new ApiRequest(
226
+ $this->api,
227
+ $this->data['id'],
228
+ RequestInterface::METHOD_POST,
229
+ '/adlabels',
230
+ new AdSet(),
231
+ 'EDGE',
232
+ AdSet::getFieldsEnum()->getValues(),
233
+ new TypeChecker($param_types, $enums)
234
+ );
235
+ $request->addParams($params);
236
+ $request->addFields($fields);
237
+ return $pending ? $request : $request->execute();
238
+ }
239
+
240
+ public function getAdRulesGoverned(array $fields = array(), array $params = array(), $pending = false) {
241
+ $this->assureId();
242
+
243
+ $param_types = array(
244
+ 'pass_evaluation' => 'bool',
245
+ );
246
+ $enums = array(
247
+ );
248
+
249
+ $request = new ApiRequest(
250
+ $this->api,
251
+ $this->data['id'],
252
+ RequestInterface::METHOD_GET,
253
+ '/adrules_governed',
254
+ new AdRule(),
255
+ 'EDGE',
256
+ AdRule::getFieldsEnum()->getValues(),
257
+ new TypeChecker($param_types, $enums)
258
+ );
259
+ $request->addParams($params);
260
+ $request->addFields($fields);
261
+ return $pending ? $request : $request->execute();
262
+ }
263
+
264
+ public function getAds(array $fields = array(), array $params = array(), $pending = false) {
265
+ $this->assureId();
266
+
267
+ $param_types = array(
268
+ 'ad_draft_id' => 'string',
269
+ 'date_preset' => 'date_preset_enum',
270
+ 'effective_status' => 'list<string>',
271
+ 'include_drafts' => 'bool',
272
+ 'time_range' => 'Object',
273
+ 'updated_since' => 'int',
274
+ );
275
+ $enums = array(
276
+ 'date_preset_enum' => AdDatePresetValues::getInstance()->getValues(),
277
+ );
278
+
279
+ $request = new ApiRequest(
280
+ $this->api,
281
+ $this->data['id'],
282
+ RequestInterface::METHOD_GET,
283
+ '/ads',
284
+ new Ad(),
285
+ 'EDGE',
286
+ Ad::getFieldsEnum()->getValues(),
287
+ new TypeChecker($param_types, $enums)
288
+ );
289
+ $request->addParams($params);
290
+ $request->addFields($fields);
291
+ return $pending ? $request : $request->execute();
292
+ }
293
+
294
+ public function getAsyncAdRequests(array $fields = array(), array $params = array(), $pending = false) {
295
+ $this->assureId();
296
+
297
+ $param_types = array(
298
+ 'statuses' => 'list<statuses_enum>',
299
+ );
300
+ $enums = array(
301
+ 'statuses_enum' => AdAsyncRequestStatusesValues::getInstance()->getValues(),
302
+ );
303
+
304
+ $request = new ApiRequest(
305
+ $this->api,
306
+ $this->data['id'],
307
+ RequestInterface::METHOD_GET,
308
+ '/asyncadrequests',
309
+ new AdAsyncRequest(),
310
+ 'EDGE',
311
+ AdAsyncRequest::getFieldsEnum()->getValues(),
312
+ new TypeChecker($param_types, $enums)
313
+ );
314
+ $request->addParams($params);
315
+ $request->addFields($fields);
316
+ return $pending ? $request : $request->execute();
317
+ }
318
+
319
+ public function getContentDeliveryReport(array $fields = array(), array $params = array(), $pending = false) {
320
+ $this->assureId();
321
+
322
+ $param_types = array(
323
+ 'end_date' => 'datetime',
324
+ 'platform' => 'platform_enum',
325
+ 'position' => 'position_enum',
326
+ 'start_date' => 'datetime',
327
+ 'summary' => 'bool',
328
+ );
329
+ $enums = array(
330
+ 'platform_enum' => ContentDeliveryReportPlatformValues::getInstance()->getValues(),
331
+ 'position_enum' => ContentDeliveryReportPositionValues::getInstance()->getValues(),
332
+ );
333
+
334
+ $request = new ApiRequest(
335
+ $this->api,
336
+ $this->data['id'],
337
+ RequestInterface::METHOD_GET,
338
+ '/content_delivery_report',
339
+ new ContentDeliveryReport(),
340
+ 'EDGE',
341
+ ContentDeliveryReport::getFieldsEnum()->getValues(),
342
+ new TypeChecker($param_types, $enums)
343
+ );
344
+ $request->addParams($params);
345
+ $request->addFields($fields);
346
+ return $pending ? $request : $request->execute();
347
+ }
348
+
349
+ public function getCopies(array $fields = array(), array $params = array(), $pending = false) {
350
+ $this->assureId();
351
+
352
+ $param_types = array(
353
+ 'date_preset' => 'date_preset_enum',
354
+ 'effective_status' => 'list<effective_status_enum>',
355
+ 'is_completed' => 'bool',
356
+ 'time_range' => 'Object',
357
+ );
358
+ $enums = array(
359
+ 'date_preset_enum' => AdSetDatePresetValues::getInstance()->getValues(),
360
+ 'effective_status_enum' => AdSetEffectiveStatusValues::getInstance()->getValues(),
361
+ );
362
+
363
+ $request = new ApiRequest(
364
+ $this->api,
365
+ $this->data['id'],
366
+ RequestInterface::METHOD_GET,
367
+ '/copies',
368
+ new AdSet(),
369
+ 'EDGE',
370
+ AdSet::getFieldsEnum()->getValues(),
371
+ new TypeChecker($param_types, $enums)
372
+ );
373
+ $request->addParams($params);
374
+ $request->addFields($fields);
375
+ return $pending ? $request : $request->execute();
376
+ }
377
+
378
+ public function createCopy(array $fields = array(), array $params = array(), $pending = false) {
379
+ $this->assureId();
380
+
381
+ $param_types = array(
382
+ 'campaign_id' => 'string',
383
+ 'create_dco_adset' => 'bool',
384
+ 'deep_copy' => 'bool',
385
+ 'end_time' => 'datetime',
386
+ 'rename_options' => 'Object',
387
+ 'start_time' => 'datetime',
388
+ 'status_option' => 'status_option_enum',
389
+ );
390
+ $enums = array(
391
+ 'status_option_enum' => AdSetStatusOptionValues::getInstance()->getValues(),
392
+ );
393
+
394
+ $request = new ApiRequest(
395
+ $this->api,
396
+ $this->data['id'],
397
+ RequestInterface::METHOD_POST,
398
+ '/copies',
399
+ new AdSet(),
400
+ 'EDGE',
401
+ AdSet::getFieldsEnum()->getValues(),
402
+ new TypeChecker($param_types, $enums)
403
+ );
404
+ $request->addParams($params);
405
+ $request->addFields($fields);
406
+ return $pending ? $request : $request->execute();
407
+ }
408
+
409
+ public function getDeliveryEstimate(array $fields = array(), array $params = array(), $pending = false) {
410
+ $this->assureId();
411
+
412
+ $param_types = array(
413
+ 'optimization_goal' => 'optimization_goal_enum',
414
+ 'promoted_object' => 'Object',
415
+ 'targeting_spec' => 'Targeting',
416
+ );
417
+ $enums = array(
418
+ 'optimization_goal_enum' => AdCampaignDeliveryEstimateOptimizationGoalValues::getInstance()->getValues(),
419
+ );
420
+
421
+ $request = new ApiRequest(
422
+ $this->api,
423
+ $this->data['id'],
424
+ RequestInterface::METHOD_GET,
425
+ '/delivery_estimate',
426
+ new AdCampaignDeliveryEstimate(),
427
+ 'EDGE',
428
+ AdCampaignDeliveryEstimate::getFieldsEnum()->getValues(),
429
+ new TypeChecker($param_types, $enums)
430
+ );
431
+ $request->addParams($params);
432
+ $request->addFields($fields);
433
+ return $pending ? $request : $request->execute();
434
+ }
435
+
436
+ public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
437
+ $this->assureId();
438
+
439
+ $param_types = array(
440
+ 'action_attribution_windows' => 'list<action_attribution_windows_enum>',
441
+ 'action_breakdowns' => 'list<action_breakdowns_enum>',
442
+ 'action_report_time' => 'action_report_time_enum',
443
+ 'breakdowns' => 'list<breakdowns_enum>',
444
+ 'date_preset' => 'date_preset_enum',
445
+ 'default_summary' => 'bool',
446
+ 'export_columns' => 'list<string>',
447
+ 'export_format' => 'string',
448
+ 'export_name' => 'string',
449
+ 'fields' => 'list<string>',
450
+ 'filtering' => 'list<Object>',
451
+ 'level' => 'level_enum',
452
+ 'product_id_limit' => 'int',
453
+ 'sort' => 'list<string>',
454
+ 'summary' => 'list<string>',
455
+ 'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
456
+ 'time_increment' => 'string',
457
+ 'time_range' => 'Object',
458
+ 'time_ranges' => 'list<Object>',
459
+ 'use_account_attribution_setting' => 'bool',
460
+ );
461
+ $enums = array(
462
+ 'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
463
+ 'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
464
+ 'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
465
+ 'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
466
+ 'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
467
+ 'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
468
+ 'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
469
+ );
470
+
471
+ $request = new ApiRequest(
472
+ $this->api,
473
+ $this->data['id'],
474
+ RequestInterface::METHOD_GET,
475
+ '/insights',
476
+ new AdsInsights(),
477
+ 'EDGE',
478
+ AdsInsights::getFieldsEnum()->getValues(),
479
+ new TypeChecker($param_types, $enums)
480
+ );
481
+ $request->addParams($params);
482
+ $request->addFields($fields);
483
+ return $pending ? $request : $request->execute();
484
+ }
485
+
486
+ public function getInsightsAsync(array $fields = array(), array $params = array(), $pending = false) {
487
+ $this->assureId();
488
+
489
+ $param_types = array(
490
+ 'action_attribution_windows' => 'list<action_attribution_windows_enum>',
491
+ 'action_breakdowns' => 'list<action_breakdowns_enum>',
492
+ 'action_report_time' => 'action_report_time_enum',
493
+ 'breakdowns' => 'list<breakdowns_enum>',
494
+ 'date_preset' => 'date_preset_enum',
495
+ 'default_summary' => 'bool',
496
+ 'export_columns' => 'list<string>',
497
+ 'export_format' => 'string',
498
+ 'export_name' => 'string',
499
+ 'fields' => 'list<string>',
500
+ 'filtering' => 'list<Object>',
501
+ 'level' => 'level_enum',
502
+ 'product_id_limit' => 'int',
503
+ 'sort' => 'list<string>',
504
+ 'summary' => 'list<string>',
505
+ 'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
506
+ 'time_increment' => 'string',
507
+ 'time_range' => 'Object',
508
+ 'time_ranges' => 'list<Object>',
509
+ 'use_account_attribution_setting' => 'bool',
510
+ );
511
+ $enums = array(
512
+ 'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
513
+ 'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
514
+ 'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
515
+ 'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
516
+ 'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
517
+ 'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
518
+ 'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
519
+ );
520
+
521
+ $request = new ApiRequest(
522
+ $this->api,
523
+ $this->data['id'],
524
+ RequestInterface::METHOD_POST,
525
+ '/insights',
526
+ new AdReportRun(),
527
+ 'EDGE',
528
+ AdReportRun::getFieldsEnum()->getValues(),
529
+ new TypeChecker($param_types, $enums)
530
+ );
531
+ $request->addParams($params);
532
+ $request->addFields($fields);
533
+ return $pending ? $request : $request->execute();
534
+ }
535
+
536
+ public function getTargetingSentenceLines(array $fields = array(), array $params = array(), $pending = false) {
537
+ $this->assureId();
538
+
539
+ $param_types = array(
540
+ );
541
+ $enums = array(
542
+ );
543
+
544
+ $request = new ApiRequest(
545
+ $this->api,
546
+ $this->data['id'],
547
+ RequestInterface::METHOD_GET,
548
+ '/targetingsentencelines',
549
+ new TargetingSentenceLine(),
550
+ 'EDGE',
551
+ TargetingSentenceLine::getFieldsEnum()->getValues(),
552
+ new TypeChecker($param_types, $enums)
553
+ );
554
+ $request->addParams($params);
555
+ $request->addFields($fields);
556
+ return $pending ? $request : $request->execute();
557
+ }
558
+
559
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
560
+ $this->assureId();
561
+
562
+ $param_types = array(
563
+ );
564
+ $enums = array(
565
+ );
566
+
567
+ $request = new ApiRequest(
568
+ $this->api,
569
+ $this->data['id'],
570
+ RequestInterface::METHOD_DELETE,
571
+ '/',
572
+ new AbstractCrudObject(),
573
+ 'NODE',
574
+ array(),
575
+ new TypeChecker($param_types, $enums)
576
+ );
577
+ $request->addParams($params);
578
+ $request->addFields($fields);
579
+ return $pending ? $request : $request->execute();
580
+ }
581
+
582
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
583
+ $this->assureId();
584
+
585
+ $param_types = array(
586
+ 'am_call_tags' => 'map',
587
+ 'date_preset' => 'date_preset_enum',
588
+ 'from_adtable' => 'bool',
589
+ 'time_range' => 'Object',
590
+ );
591
+ $enums = array(
592
+ 'date_preset_enum' => array(
593
+ 'last_14d',
594
+ 'last_28d',
595
+ 'last_30d',
596
+ 'last_3d',
597
+ 'last_7d',
598
+ 'last_90d',
599
+ 'last_month',
600
+ 'last_quarter',
601
+ 'last_week_mon_sun',
602
+ 'last_week_sun_sat',
603
+ 'last_year',
604
+ 'lifetime',
605
+ 'this_month',
606
+ 'this_quarter',
607
+ 'this_week_mon_today',
608
+ 'this_week_sun_today',
609
+ 'this_year',
610
+ 'today',
611
+ 'yesterday',
612
+ ),
613
+ );
614
+
615
+ $request = new ApiRequest(
616
+ $this->api,
617
+ $this->data['id'],
618
+ RequestInterface::METHOD_GET,
619
+ '/',
620
+ new AdSet(),
621
+ 'NODE',
622
+ AdSet::getFieldsEnum()->getValues(),
623
+ new TypeChecker($param_types, $enums)
624
+ );
625
+ $request->addParams($params);
626
+ $request->addFields($fields);
627
+ return $pending ? $request : $request->execute();
628
+ }
629
+
630
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
631
+ $this->assureId();
632
+
633
+ $param_types = array(
634
+ 'account_id' => 'string',
635
+ 'adlabels' => 'list<Object>',
636
+ 'adset_schedule' => 'list<Object>',
637
+ 'attribution_spec' => 'list<map>',
638
+ 'bid_adjustments' => 'Object',
639
+ 'bid_amount' => 'int',
640
+ 'bid_constraints' => 'map<string, Object>',
641
+ 'bid_strategy' => 'bid_strategy_enum',
642
+ 'billing_event' => 'billing_event_enum',
643
+ 'campaign_spec' => 'Object',
644
+ 'creative_sequence' => 'list<string>',
645
+ 'daily_budget' => 'unsigned int',
646
+ 'daily_imps' => 'unsigned int',
647
+ 'daily_min_spend_target' => 'unsigned int',
648
+ 'daily_spend_cap' => 'unsigned int',
649
+ 'date_format' => 'string',
650
+ 'destination_type' => 'destination_type_enum',
651
+ 'end_time' => 'datetime',
652
+ 'execution_options' => 'list<execution_options_enum>',
653
+ 'full_funnel_exploration_mode' => 'full_funnel_exploration_mode_enum',
654
+ 'lifetime_budget' => 'unsigned int',
655
+ 'lifetime_imps' => 'unsigned int',
656
+ 'lifetime_min_spend_target' => 'unsigned int',
657
+ 'lifetime_spend_cap' => 'unsigned int',
658
+ 'name' => 'string',
659
+ 'optimization_goal' => 'optimization_goal_enum',
660
+ 'optimization_sub_event' => 'optimization_sub_event_enum',
661
+ 'pacing_type' => 'list<string>',
662
+ 'promoted_object' => 'Object',
663
+ 'rb_prediction_id' => 'string',
664
+ 'rf_prediction_id' => 'string',
665
+ 'start_time' => 'datetime',
666
+ 'status' => 'status_enum',
667
+ 'targeting' => 'Targeting',
668
+ 'time_based_ad_rotation_id_blocks' => 'list<list<unsigned int>>',
669
+ 'time_based_ad_rotation_intervals' => 'list<unsigned int>',
670
+ 'time_start' => 'datetime',
671
+ 'time_stop' => 'datetime',
672
+ 'tune_for_category' => 'tune_for_category_enum',
673
+ 'upstream_events' => 'map',
674
+ );
675
+ $enums = array(
676
+ 'bid_strategy_enum' => AdSetBidStrategyValues::getInstance()->getValues(),
677
+ 'billing_event_enum' => AdSetBillingEventValues::getInstance()->getValues(),
678
+ 'destination_type_enum' => AdSetDestinationTypeValues::getInstance()->getValues(),
679
+ 'execution_options_enum' => AdSetExecutionOptionsValues::getInstance()->getValues(),
680
+ 'full_funnel_exploration_mode_enum' => AdSetFullFunnelExplorationModeValues::getInstance()->getValues(),
681
+ 'optimization_goal_enum' => AdSetOptimizationGoalValues::getInstance()->getValues(),
682
+ 'optimization_sub_event_enum' => AdSetOptimizationSubEventValues::getInstance()->getValues(),
683
+ 'status_enum' => AdSetStatusValues::getInstance()->getValues(),
684
+ 'tune_for_category_enum' => AdSetTuneForCategoryValues::getInstance()->getValues(),
685
+ );
686
+
687
+ $request = new ApiRequest(
688
+ $this->api,
689
+ $this->data['id'],
690
+ RequestInterface::METHOD_POST,
691
+ '/',
692
+ new AdSet(),
693
+ 'NODE',
694
+ AdSet::getFieldsEnum()->getValues(),
695
+ new TypeChecker($param_types, $enums)
696
+ );
697
+ $request->addParams($params);
698
+ $request->addFields($fields);
699
+ return $pending ? $request : $request->execute();
700
+ }
701
+
702
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudy.php ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdStudyFields;
32
+ use FacebookAds\Object\Values\AdStudyObjectiveTypeValues;
33
+ use FacebookAds\Object\Values\AdStudyTypeValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdStudy extends AbstractCrudObject {
45
+
46
+ /**
47
+ * @deprecated getEndpoint function is deprecated
48
+ */
49
+ protected function getEndpoint() {
50
+ return 'ad_studies';
51
+ }
52
+
53
+ /**
54
+ * @return AdStudyFields
55
+ */
56
+ public static function getFieldsEnum() {
57
+ return AdStudyFields::getInstance();
58
+ }
59
+
60
+ protected static function getReferencedEnums() {
61
+ $ref_enums = array();
62
+ $ref_enums['Type'] = AdStudyTypeValues::getInstance()->getValues();
63
+ return $ref_enums;
64
+ }
65
+
66
+
67
+ public function getCells(array $fields = array(), array $params = array(), $pending = false) {
68
+ $this->assureId();
69
+
70
+ $param_types = array(
71
+ );
72
+ $enums = array(
73
+ );
74
+
75
+ $request = new ApiRequest(
76
+ $this->api,
77
+ $this->data['id'],
78
+ RequestInterface::METHOD_GET,
79
+ '/cells',
80
+ new AdStudyCell(),
81
+ 'EDGE',
82
+ AdStudyCell::getFieldsEnum()->getValues(),
83
+ new TypeChecker($param_types, $enums)
84
+ );
85
+ $request->addParams($params);
86
+ $request->addFields($fields);
87
+ return $pending ? $request : $request->execute();
88
+ }
89
+
90
+ public function getHealthCheckErrors(array $fields = array(), array $params = array(), $pending = false) {
91
+ $this->assureId();
92
+
93
+ $param_types = array(
94
+ );
95
+ $enums = array(
96
+ );
97
+
98
+ $request = new ApiRequest(
99
+ $this->api,
100
+ $this->data['id'],
101
+ RequestInterface::METHOD_GET,
102
+ '/health_check_errors',
103
+ new AdsTALHealthCheckError(),
104
+ 'EDGE',
105
+ AdsTALHealthCheckError::getFieldsEnum()->getValues(),
106
+ new TypeChecker($param_types, $enums)
107
+ );
108
+ $request->addParams($params);
109
+ $request->addFields($fields);
110
+ return $pending ? $request : $request->execute();
111
+ }
112
+
113
+ public function getObjectives(array $fields = array(), array $params = array(), $pending = false) {
114
+ $this->assureId();
115
+
116
+ $param_types = array(
117
+ );
118
+ $enums = array(
119
+ );
120
+
121
+ $request = new ApiRequest(
122
+ $this->api,
123
+ $this->data['id'],
124
+ RequestInterface::METHOD_GET,
125
+ '/objectives',
126
+ new AdStudyObjective(),
127
+ 'EDGE',
128
+ AdStudyObjective::getFieldsEnum()->getValues(),
129
+ new TypeChecker($param_types, $enums)
130
+ );
131
+ $request->addParams($params);
132
+ $request->addFields($fields);
133
+ return $pending ? $request : $request->execute();
134
+ }
135
+
136
+ public function createObjective(array $fields = array(), array $params = array(), $pending = false) {
137
+ $this->assureId();
138
+
139
+ $param_types = array(
140
+ 'adspixels' => 'list<Object>',
141
+ 'applications' => 'list<Object>',
142
+ 'customconversions' => 'list<Object>',
143
+ 'is_primary' => 'bool',
144
+ 'name' => 'string',
145
+ 'offline_conversion_data_sets' => 'list<Object>',
146
+ 'offsitepixels' => 'list<Object>',
147
+ 'product_sets' => 'list<Object>',
148
+ 'type' => 'type_enum',
149
+ );
150
+ $enums = array(
151
+ 'type_enum' => AdStudyObjectiveTypeValues::getInstance()->getValues(),
152
+ );
153
+
154
+ $request = new ApiRequest(
155
+ $this->api,
156
+ $this->data['id'],
157
+ RequestInterface::METHOD_POST,
158
+ '/objectives',
159
+ new AdStudyObjective(),
160
+ 'EDGE',
161
+ AdStudyObjective::getFieldsEnum()->getValues(),
162
+ new TypeChecker($param_types, $enums)
163
+ );
164
+ $request->addParams($params);
165
+ $request->addFields($fields);
166
+ return $pending ? $request : $request->execute();
167
+ }
168
+
169
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
170
+ $this->assureId();
171
+
172
+ $param_types = array(
173
+ );
174
+ $enums = array(
175
+ );
176
+
177
+ $request = new ApiRequest(
178
+ $this->api,
179
+ $this->data['id'],
180
+ RequestInterface::METHOD_DELETE,
181
+ '/',
182
+ new AbstractCrudObject(),
183
+ 'NODE',
184
+ array(),
185
+ new TypeChecker($param_types, $enums)
186
+ );
187
+ $request->addParams($params);
188
+ $request->addFields($fields);
189
+ return $pending ? $request : $request->execute();
190
+ }
191
+
192
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
193
+ $this->assureId();
194
+
195
+ $param_types = array(
196
+ );
197
+ $enums = array(
198
+ );
199
+
200
+ $request = new ApiRequest(
201
+ $this->api,
202
+ $this->data['id'],
203
+ RequestInterface::METHOD_GET,
204
+ '/',
205
+ new AdStudy(),
206
+ 'NODE',
207
+ AdStudy::getFieldsEnum()->getValues(),
208
+ new TypeChecker($param_types, $enums)
209
+ );
210
+ $request->addParams($params);
211
+ $request->addFields($fields);
212
+ return $pending ? $request : $request->execute();
213
+ }
214
+
215
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
216
+ $this->assureId();
217
+
218
+ $param_types = array(
219
+ 'cells' => 'list<Object>',
220
+ 'client_business' => 'string',
221
+ 'confidence_level' => 'float',
222
+ 'cooldown_start_time' => 'int',
223
+ 'description' => 'string',
224
+ 'end_time' => 'int',
225
+ 'name' => 'string',
226
+ 'objectives' => 'list<Object>',
227
+ 'observation_end_time' => 'int',
228
+ 'start_time' => 'int',
229
+ 'type' => 'type_enum',
230
+ 'viewers' => 'list<int>',
231
+ );
232
+ $enums = array(
233
+ 'type_enum' => AdStudyTypeValues::getInstance()->getValues(),
234
+ );
235
+
236
+ $request = new ApiRequest(
237
+ $this->api,
238
+ $this->data['id'],
239
+ RequestInterface::METHOD_POST,
240
+ '/',
241
+ new AdStudy(),
242
+ 'NODE',
243
+ AdStudy::getFieldsEnum()->getValues(),
244
+ new TypeChecker($param_types, $enums)
245
+ );
246
+ $request->addParams($params);
247
+ $request->addFields($fields);
248
+ return $pending ? $request : $request->execute();
249
+ }
250
+
251
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyCell.php ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdStudyCellFields;
32
+ use FacebookAds\Object\Values\AdStudyCellCreationTemplateValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdStudyCell extends AbstractCrudObject {
44
+
45
+ /**
46
+ * @return AdStudyCellFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdStudyCellFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['CreationTemplate'] = AdStudyCellCreationTemplateValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ public function getAdAccounts(array $fields = array(), array $params = array(), $pending = false) {
60
+ $this->assureId();
61
+
62
+ $param_types = array(
63
+ );
64
+ $enums = array(
65
+ );
66
+
67
+ $request = new ApiRequest(
68
+ $this->api,
69
+ $this->data['id'],
70
+ RequestInterface::METHOD_GET,
71
+ '/adaccounts',
72
+ new AdAccount(),
73
+ 'EDGE',
74
+ AdAccount::getFieldsEnum()->getValues(),
75
+ new TypeChecker($param_types, $enums)
76
+ );
77
+ $request->addParams($params);
78
+ $request->addFields($fields);
79
+ return $pending ? $request : $request->execute();
80
+ }
81
+
82
+ public function getAdSets(array $fields = array(), array $params = array(), $pending = false) {
83
+ $this->assureId();
84
+
85
+ $param_types = array(
86
+ );
87
+ $enums = array(
88
+ );
89
+
90
+ $request = new ApiRequest(
91
+ $this->api,
92
+ $this->data['id'],
93
+ RequestInterface::METHOD_GET,
94
+ '/adsets',
95
+ new AdSet(),
96
+ 'EDGE',
97
+ AdSet::getFieldsEnum()->getValues(),
98
+ new TypeChecker($param_types, $enums)
99
+ );
100
+ $request->addParams($params);
101
+ $request->addFields($fields);
102
+ return $pending ? $request : $request->execute();
103
+ }
104
+
105
+ public function getCampaigns(array $fields = array(), array $params = array(), $pending = false) {
106
+ $this->assureId();
107
+
108
+ $param_types = array(
109
+ );
110
+ $enums = array(
111
+ );
112
+
113
+ $request = new ApiRequest(
114
+ $this->api,
115
+ $this->data['id'],
116
+ RequestInterface::METHOD_GET,
117
+ '/campaigns',
118
+ new Campaign(),
119
+ 'EDGE',
120
+ Campaign::getFieldsEnum()->getValues(),
121
+ new TypeChecker($param_types, $enums)
122
+ );
123
+ $request->addParams($params);
124
+ $request->addFields($fields);
125
+ return $pending ? $request : $request->execute();
126
+ }
127
+
128
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
129
+ $this->assureId();
130
+
131
+ $param_types = array(
132
+ );
133
+ $enums = array(
134
+ );
135
+
136
+ $request = new ApiRequest(
137
+ $this->api,
138
+ $this->data['id'],
139
+ RequestInterface::METHOD_DELETE,
140
+ '/',
141
+ new AbstractCrudObject(),
142
+ 'NODE',
143
+ array(),
144
+ new TypeChecker($param_types, $enums)
145
+ );
146
+ $request->addParams($params);
147
+ $request->addFields($fields);
148
+ return $pending ? $request : $request->execute();
149
+ }
150
+
151
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
152
+ $this->assureId();
153
+
154
+ $param_types = array(
155
+ );
156
+ $enums = array(
157
+ );
158
+
159
+ $request = new ApiRequest(
160
+ $this->api,
161
+ $this->data['id'],
162
+ RequestInterface::METHOD_GET,
163
+ '/',
164
+ new AdStudyCell(),
165
+ 'NODE',
166
+ AdStudyCell::getFieldsEnum()->getValues(),
167
+ new TypeChecker($param_types, $enums)
168
+ );
169
+ $request->addParams($params);
170
+ $request->addFields($fields);
171
+ return $pending ? $request : $request->execute();
172
+ }
173
+
174
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
175
+ $this->assureId();
176
+
177
+ $param_types = array(
178
+ 'adaccounts' => 'list<unsigned int>',
179
+ 'adsets' => 'list<string>',
180
+ 'campaigns' => 'list<string>',
181
+ 'creation_template' => 'creation_template_enum',
182
+ 'description' => 'string',
183
+ 'name' => 'string',
184
+ );
185
+ $enums = array(
186
+ 'creation_template_enum' => AdStudyCellCreationTemplateValues::getInstance()->getValues(),
187
+ );
188
+
189
+ $request = new ApiRequest(
190
+ $this->api,
191
+ $this->data['id'],
192
+ RequestInterface::METHOD_POST,
193
+ '/',
194
+ new AdStudyCell(),
195
+ 'NODE',
196
+ AdStudyCell::getFieldsEnum()->getValues(),
197
+ new TypeChecker($param_types, $enums)
198
+ );
199
+ $request->addParams($params);
200
+ $request->addFields($fields);
201
+ return $pending ? $request : $request->execute();
202
+ }
203
+
204
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjective.php ADDED
@@ -0,0 +1,306 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdStudyObjectiveFields;
32
+ use FacebookAds\Object\Values\AdStudyObjectiveTypeValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdStudyObjective extends AbstractCrudObject {
44
+
45
+ /**
46
+ * @return AdStudyObjectiveFields
47
+ */
48
+ public static function getFieldsEnum() {
49
+ return AdStudyObjectiveFields::getInstance();
50
+ }
51
+
52
+ protected static function getReferencedEnums() {
53
+ $ref_enums = array();
54
+ $ref_enums['Type'] = AdStudyObjectiveTypeValues::getInstance()->getValues();
55
+ return $ref_enums;
56
+ }
57
+
58
+
59
+ public function getAdPlacePageSets(array $fields = array(), array $params = array(), $pending = false) {
60
+ $this->assureId();
61
+
62
+ $param_types = array(
63
+ );
64
+ $enums = array(
65
+ );
66
+
67
+ $request = new ApiRequest(
68
+ $this->api,
69
+ $this->data['id'],
70
+ RequestInterface::METHOD_GET,
71
+ '/ad_place_page_sets',
72
+ new AdPlacePageSet(),
73
+ 'EDGE',
74
+ AdPlacePageSet::getFieldsEnum()->getValues(),
75
+ new TypeChecker($param_types, $enums)
76
+ );
77
+ $request->addParams($params);
78
+ $request->addFields($fields);
79
+ return $pending ? $request : $request->execute();
80
+ }
81
+
82
+ public function getAdsPixels(array $fields = array(), array $params = array(), $pending = false) {
83
+ $this->assureId();
84
+
85
+ $param_types = array(
86
+ );
87
+ $enums = array(
88
+ );
89
+
90
+ $request = new ApiRequest(
91
+ $this->api,
92
+ $this->data['id'],
93
+ RequestInterface::METHOD_GET,
94
+ '/adspixels',
95
+ new AdsPixel(),
96
+ 'EDGE',
97
+ AdsPixel::getFieldsEnum()->getValues(),
98
+ new TypeChecker($param_types, $enums)
99
+ );
100
+ $request->addParams($params);
101
+ $request->addFields($fields);
102
+ return $pending ? $request : $request->execute();
103
+ }
104
+
105
+ public function getApplications(array $fields = array(), array $params = array(), $pending = false) {
106
+ $this->assureId();
107
+
108
+ $param_types = array(
109
+ );
110
+ $enums = array(
111
+ );
112
+
113
+ $request = new ApiRequest(
114
+ $this->api,
115
+ $this->data['id'],
116
+ RequestInterface::METHOD_GET,
117
+ '/applications',
118
+ new Application(),
119
+ 'EDGE',
120
+ Application::getFieldsEnum()->getValues(),
121
+ new TypeChecker($param_types, $enums)
122
+ );
123
+ $request->addParams($params);
124
+ $request->addFields($fields);
125
+ return $pending ? $request : $request->execute();
126
+ }
127
+
128
+ public function getCustomConversions(array $fields = array(), array $params = array(), $pending = false) {
129
+ $this->assureId();
130
+
131
+ $param_types = array(
132
+ );
133
+ $enums = array(
134
+ );
135
+
136
+ $request = new ApiRequest(
137
+ $this->api,
138
+ $this->data['id'],
139
+ RequestInterface::METHOD_GET,
140
+ '/customconversions',
141
+ new CustomConversion(),
142
+ 'EDGE',
143
+ CustomConversion::getFieldsEnum()->getValues(),
144
+ new TypeChecker($param_types, $enums)
145
+ );
146
+ $request->addParams($params);
147
+ $request->addFields($fields);
148
+ return $pending ? $request : $request->execute();
149
+ }
150
+
151
+ public function getOfflineConversionDataSets(array $fields = array(), array $params = array(), $pending = false) {
152
+ $this->assureId();
153
+
154
+ $param_types = array(
155
+ );
156
+ $enums = array(
157
+ );
158
+
159
+ $request = new ApiRequest(
160
+ $this->api,
161
+ $this->data['id'],
162
+ RequestInterface::METHOD_GET,
163
+ '/offline_conversion_data_sets',
164
+ new OfflineConversionDataSet(),
165
+ 'EDGE',
166
+ OfflineConversionDataSet::getFieldsEnum()->getValues(),
167
+ new TypeChecker($param_types, $enums)
168
+ );
169
+ $request->addParams($params);
170
+ $request->addFields($fields);
171
+ return $pending ? $request : $request->execute();
172
+ }
173
+
174
+ public function getOffsitePixels(array $fields = array(), array $params = array(), $pending = false) {
175
+ $this->assureId();
176
+
177
+ $param_types = array(
178
+ );
179
+ $enums = array(
180
+ );
181
+
182
+ $request = new ApiRequest(
183
+ $this->api,
184
+ $this->data['id'],
185
+ RequestInterface::METHOD_GET,
186
+ '/offsitepixels',
187
+ new OffsitePixel(),
188
+ 'EDGE',
189
+ OffsitePixel::getFieldsEnum()->getValues(),
190
+ new TypeChecker($param_types, $enums)
191
+ );
192
+ $request->addParams($params);
193
+ $request->addFields($fields);
194
+ return $pending ? $request : $request->execute();
195
+ }
196
+
197
+ public function getPartnerStudies(array $fields = array(), array $params = array(), $pending = false) {
198
+ $this->assureId();
199
+
200
+ $param_types = array(
201
+ );
202
+ $enums = array(
203
+ );
204
+
205
+ $request = new ApiRequest(
206
+ $this->api,
207
+ $this->data['id'],
208
+ RequestInterface::METHOD_GET,
209
+ '/partnerstudies',
210
+ new PartnerStudy(),
211
+ 'EDGE',
212
+ PartnerStudy::getFieldsEnum()->getValues(),
213
+ new TypeChecker($param_types, $enums)
214
+ );
215
+ $request->addParams($params);
216
+ $request->addFields($fields);
217
+ return $pending ? $request : $request->execute();
218
+ }
219
+
220
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
221
+ $this->assureId();
222
+
223
+ $param_types = array(
224
+ );
225
+ $enums = array(
226
+ );
227
+
228
+ $request = new ApiRequest(
229
+ $this->api,
230
+ $this->data['id'],
231
+ RequestInterface::METHOD_DELETE,
232
+ '/',
233
+ new AbstractCrudObject(),
234
+ 'NODE',
235
+ array(),
236
+ new TypeChecker($param_types, $enums)
237
+ );
238
+ $request->addParams($params);
239
+ $request->addFields($fields);
240
+ return $pending ? $request : $request->execute();
241
+ }
242
+
243
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
244
+ $this->assureId();
245
+
246
+ $param_types = array(
247
+ 'breakdowns' => 'list<breakdowns_enum>',
248
+ );
249
+ $enums = array(
250
+ 'breakdowns_enum' => array(
251
+ 'age',
252
+ 'cell_id',
253
+ 'country',
254
+ 'gender',
255
+ ),
256
+ );
257
+
258
+ $request = new ApiRequest(
259
+ $this->api,
260
+ $this->data['id'],
261
+ RequestInterface::METHOD_GET,
262
+ '/',
263
+ new AdStudyObjective(),
264
+ 'NODE',
265
+ AdStudyObjective::getFieldsEnum()->getValues(),
266
+ new TypeChecker($param_types, $enums)
267
+ );
268
+ $request->addParams($params);
269
+ $request->addFields($fields);
270
+ return $pending ? $request : $request->execute();
271
+ }
272
+
273
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
274
+ $this->assureId();
275
+
276
+ $param_types = array(
277
+ 'adspixels' => 'list<Object>',
278
+ 'applications' => 'list<Object>',
279
+ 'customconversions' => 'list<Object>',
280
+ 'is_primary' => 'bool',
281
+ 'name' => 'string',
282
+ 'offline_conversion_data_sets' => 'list<Object>',
283
+ 'offsitepixels' => 'list<Object>',
284
+ 'product_sets' => 'list<Object>',
285
+ 'type' => 'type_enum',
286
+ );
287
+ $enums = array(
288
+ 'type_enum' => AdStudyObjectiveTypeValues::getInstance()->getValues(),
289
+ );
290
+
291
+ $request = new ApiRequest(
292
+ $this->api,
293
+ $this->data['id'],
294
+ RequestInterface::METHOD_POST,
295
+ '/',
296
+ new AdStudyObjective(),
297
+ 'NODE',
298
+ AdStudyObjective::getFieldsEnum()->getValues(),
299
+ new TypeChecker($param_types, $enums)
300
+ );
301
+ $request->addParams($params);
302
+ $request->addFields($fields);
303
+ return $pending ? $request : $request->execute();
304
+ }
305
+
306
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdStudyObjectiveID.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdStudyObjectiveIDFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdStudyObjectiveID extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AdStudyObjectiveIDFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdStudyObjectiveIDFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdVideo.php ADDED
@@ -0,0 +1,695 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdVideoFields;
32
+ use FacebookAds\Object\Values\AdVideoBackdatedTimeGranularityValues;
33
+ use FacebookAds\Object\Values\AdVideoContainerTypeValues;
34
+ use FacebookAds\Object\Values\AdVideoContentCategoryValues;
35
+ use FacebookAds\Object\Values\AdVideoFormattingValues;
36
+ use FacebookAds\Object\Values\AdVideoOriginalProjectionTypeValues;
37
+ use FacebookAds\Object\Values\AdVideoSwapModeValues;
38
+ use FacebookAds\Object\Values\AdVideoTypeValues;
39
+ use FacebookAds\Object\Values\AdVideoUnpublishedContentTypeValues;
40
+ use FacebookAds\Object\Values\AdVideoUploadPhaseValues;
41
+ use FacebookAds\Object\Values\AdVideoValidationAdPlacementsValues;
42
+ use FacebookAds\Object\Values\AdVideoVideoPollWwwPlacementValues;
43
+ use FacebookAds\Object\Values\CommentCommentPrivacyValueValues;
44
+ use FacebookAds\Object\Values\CommentFilterValues;
45
+ use FacebookAds\Object\Values\CommentLiveFilterValues;
46
+ use FacebookAds\Object\Values\CommentOrderValues;
47
+ use FacebookAds\Object\Values\InsightsResultPeriodValues;
48
+ use FacebookAds\Object\Traits\CannotDelete;
49
+ use FacebookAds\Object\Traits\CannotUpdate;
50
+ use FacebookAds\Object\Traits\FieldValidation;
51
+
52
+ /**
53
+ * This class is auto-generated.
54
+ *
55
+ * For any issues or feature requests related to this class, please let us know
56
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
57
+ * pull request for this class.
58
+ *
59
+ */
60
+
61
+ class AdVideo extends AbstractCrudObject {
62
+
63
+ /**
64
+ * @deprecated getEndpoint function is deprecated
65
+ */
66
+ protected function getEndpoint() {
67
+ return 'advideos';
68
+ }
69
+
70
+ /**
71
+ * @return AdVideoFields
72
+ */
73
+ public static function getFieldsEnum() {
74
+ return AdVideoFields::getInstance();
75
+ }
76
+
77
+ protected static function getReferencedEnums() {
78
+ $ref_enums = array();
79
+ $ref_enums['ContainerType'] = AdVideoContainerTypeValues::getInstance()->getValues();
80
+ $ref_enums['ContentCategory'] = AdVideoContentCategoryValues::getInstance()->getValues();
81
+ $ref_enums['Formatting'] = AdVideoFormattingValues::getInstance()->getValues();
82
+ $ref_enums['OriginalProjectionType'] = AdVideoOriginalProjectionTypeValues::getInstance()->getValues();
83
+ $ref_enums['SwapMode'] = AdVideoSwapModeValues::getInstance()->getValues();
84
+ $ref_enums['UnpublishedContentType'] = AdVideoUnpublishedContentTypeValues::getInstance()->getValues();
85
+ $ref_enums['UploadPhase'] = AdVideoUploadPhaseValues::getInstance()->getValues();
86
+ $ref_enums['ValidationAdPlacements'] = AdVideoValidationAdPlacementsValues::getInstance()->getValues();
87
+ $ref_enums['Type'] = AdVideoTypeValues::getInstance()->getValues();
88
+ $ref_enums['BackdatedTimeGranularity'] = AdVideoBackdatedTimeGranularityValues::getInstance()->getValues();
89
+ $ref_enums['VideoPollWwwPlacement'] = AdVideoVideoPollWwwPlacementValues::getInstance()->getValues();
90
+ return $ref_enums;
91
+ }
92
+
93
+
94
+ public function getCaptions(array $fields = array(), array $params = array(), $pending = false) {
95
+ $this->assureId();
96
+
97
+ $param_types = array(
98
+ );
99
+ $enums = array(
100
+ );
101
+
102
+ $request = new ApiRequest(
103
+ $this->api,
104
+ $this->data['id'],
105
+ RequestInterface::METHOD_GET,
106
+ '/captions',
107
+ new AbstractCrudObject(),
108
+ 'EDGE',
109
+ array(),
110
+ new TypeChecker($param_types, $enums)
111
+ );
112
+ $request->addParams($params);
113
+ $request->addFields($fields);
114
+ return $pending ? $request : $request->execute();
115
+ }
116
+
117
+ public function createCaption(array $fields = array(), array $params = array(), $pending = false) {
118
+ $this->assureId();
119
+
120
+ $param_types = array(
121
+ 'captions_file' => 'file',
122
+ 'default_locale' => 'string',
123
+ 'locales_to_delete' => 'list<string>',
124
+ );
125
+ $enums = array(
126
+ );
127
+
128
+ $request = new ApiRequest(
129
+ $this->api,
130
+ $this->data['id'],
131
+ RequestInterface::METHOD_POST,
132
+ '/captions',
133
+ new AdVideo(),
134
+ 'EDGE',
135
+ AdVideo::getFieldsEnum()->getValues(),
136
+ new TypeChecker($param_types, $enums)
137
+ );
138
+ $request->addParams($params);
139
+ $request->addFields($fields);
140
+ return $pending ? $request : $request->execute();
141
+ }
142
+
143
+ public function getComments(array $fields = array(), array $params = array(), $pending = false) {
144
+ $this->assureId();
145
+
146
+ $param_types = array(
147
+ 'filter' => 'filter_enum',
148
+ 'live_filter' => 'live_filter_enum',
149
+ 'order' => 'order_enum',
150
+ 'since' => 'datetime',
151
+ );
152
+ $enums = array(
153
+ 'filter_enum' => CommentFilterValues::getInstance()->getValues(),
154
+ 'live_filter_enum' => CommentLiveFilterValues::getInstance()->getValues(),
155
+ 'order_enum' => CommentOrderValues::getInstance()->getValues(),
156
+ );
157
+
158
+ $request = new ApiRequest(
159
+ $this->api,
160
+ $this->data['id'],
161
+ RequestInterface::METHOD_GET,
162
+ '/comments',
163
+ new Comment(),
164
+ 'EDGE',
165
+ Comment::getFieldsEnum()->getValues(),
166
+ new TypeChecker($param_types, $enums)
167
+ );
168
+ $request->addParams($params);
169
+ $request->addFields($fields);
170
+ return $pending ? $request : $request->execute();
171
+ }
172
+
173
+ public function createComment(array $fields = array(), array $params = array(), $pending = false) {
174
+ $this->assureId();
175
+
176
+ $param_types = array(
177
+ 'attachment_id' => 'string',
178
+ 'attachment_share_url' => 'string',
179
+ 'attachment_url' => 'string',
180
+ 'comment_privacy_value' => 'comment_privacy_value_enum',
181
+ 'facepile_mentioned_ids' => 'list<string>',
182
+ 'feedback_source' => 'string',
183
+ 'is_offline' => 'bool',
184
+ 'message' => 'string',
185
+ 'nectar_module' => 'string',
186
+ 'object_id' => 'string',
187
+ 'parent_comment_id' => 'Object',
188
+ 'text' => 'string',
189
+ 'tracking' => 'string',
190
+ );
191
+ $enums = array(
192
+ 'comment_privacy_value_enum' => CommentCommentPrivacyValueValues::getInstance()->getValues(),
193
+ );
194
+
195
+ $request = new ApiRequest(
196
+ $this->api,
197
+ $this->data['id'],
198
+ RequestInterface::METHOD_POST,
199
+ '/comments',
200
+ new Comment(),
201
+ 'EDGE',
202
+ Comment::getFieldsEnum()->getValues(),
203
+ new TypeChecker($param_types, $enums)
204
+ );
205
+ $request->addParams($params);
206
+ $request->addFields($fields);
207
+ return $pending ? $request : $request->execute();
208
+ }
209
+
210
+ public function getCrosspostSharedPages(array $fields = array(), array $params = array(), $pending = false) {
211
+ $this->assureId();
212
+
213
+ $param_types = array(
214
+ );
215
+ $enums = array(
216
+ );
217
+
218
+ $request = new ApiRequest(
219
+ $this->api,
220
+ $this->data['id'],
221
+ RequestInterface::METHOD_GET,
222
+ '/crosspost_shared_pages',
223
+ new Page(),
224
+ 'EDGE',
225
+ Page::getFieldsEnum()->getValues(),
226
+ new TypeChecker($param_types, $enums)
227
+ );
228
+ $request->addParams($params);
229
+ $request->addFields($fields);
230
+ return $pending ? $request : $request->execute();
231
+ }
232
+
233
+ public function getLikes(array $fields = array(), array $params = array(), $pending = false) {
234
+ $this->assureId();
235
+
236
+ $param_types = array(
237
+ );
238
+ $enums = array(
239
+ );
240
+
241
+ $request = new ApiRequest(
242
+ $this->api,
243
+ $this->data['id'],
244
+ RequestInterface::METHOD_GET,
245
+ '/likes',
246
+ new Profile(),
247
+ 'EDGE',
248
+ Profile::getFieldsEnum()->getValues(),
249
+ new TypeChecker($param_types, $enums)
250
+ );
251
+ $request->addParams($params);
252
+ $request->addFields($fields);
253
+ return $pending ? $request : $request->execute();
254
+ }
255
+
256
+ public function createLike(array $fields = array(), array $params = array(), $pending = false) {
257
+ $this->assureId();
258
+
259
+ $param_types = array(
260
+ 'feedback_source' => 'string',
261
+ 'nectar_module' => 'string',
262
+ 'notify' => 'bool',
263
+ 'tracking' => 'string',
264
+ );
265
+ $enums = array(
266
+ );
267
+
268
+ $request = new ApiRequest(
269
+ $this->api,
270
+ $this->data['id'],
271
+ RequestInterface::METHOD_POST,
272
+ '/likes',
273
+ new AdVideo(),
274
+ 'EDGE',
275
+ AdVideo::getFieldsEnum()->getValues(),
276
+ new TypeChecker($param_types, $enums)
277
+ );
278
+ $request->addParams($params);
279
+ $request->addFields($fields);
280
+ return $pending ? $request : $request->execute();
281
+ }
282
+
283
+ public function getPollSettings(array $fields = array(), array $params = array(), $pending = false) {
284
+ $this->assureId();
285
+
286
+ $param_types = array(
287
+ );
288
+ $enums = array(
289
+ );
290
+
291
+ $request = new ApiRequest(
292
+ $this->api,
293
+ $this->data['id'],
294
+ RequestInterface::METHOD_GET,
295
+ '/poll_settings',
296
+ new AbstractCrudObject(),
297
+ 'EDGE',
298
+ array(),
299
+ new TypeChecker($param_types, $enums)
300
+ );
301
+ $request->addParams($params);
302
+ $request->addFields($fields);
303
+ return $pending ? $request : $request->execute();
304
+ }
305
+
306
+ public function createPollSetting(array $fields = array(), array $params = array(), $pending = false) {
307
+ $this->assureId();
308
+
309
+ $param_types = array(
310
+ 'enable_was_live_voting' => 'bool',
311
+ 'video_poll_www_placement' => 'video_poll_www_placement_enum',
312
+ );
313
+ $enums = array(
314
+ 'video_poll_www_placement_enum' => AdVideoVideoPollWwwPlacementValues::getInstance()->getValues(),
315
+ );
316
+
317
+ $request = new ApiRequest(
318
+ $this->api,
319
+ $this->data['id'],
320
+ RequestInterface::METHOD_POST,
321
+ '/poll_settings',
322
+ new AdVideo(),
323
+ 'EDGE',
324
+ AdVideo::getFieldsEnum()->getValues(),
325
+ new TypeChecker($param_types, $enums)
326
+ );
327
+ $request->addParams($params);
328
+ $request->addFields($fields);
329
+ return $pending ? $request : $request->execute();
330
+ }
331
+
332
+ public function getPolls(array $fields = array(), array $params = array(), $pending = false) {
333
+ $this->assureId();
334
+
335
+ $param_types = array(
336
+ );
337
+ $enums = array(
338
+ );
339
+
340
+ $request = new ApiRequest(
341
+ $this->api,
342
+ $this->data['id'],
343
+ RequestInterface::METHOD_GET,
344
+ '/polls',
345
+ new VideoPoll(),
346
+ 'EDGE',
347
+ VideoPoll::getFieldsEnum()->getValues(),
348
+ new TypeChecker($param_types, $enums)
349
+ );
350
+ $request->addParams($params);
351
+ $request->addFields($fields);
352
+ return $pending ? $request : $request->execute();
353
+ }
354
+
355
+ public function createPoll(array $fields = array(), array $params = array(), $pending = false) {
356
+ $this->assureId();
357
+
358
+ $param_types = array(
359
+ 'close_after_voting' => 'bool',
360
+ 'correct_option' => 'unsigned int',
361
+ 'default_open' => 'bool',
362
+ 'options' => 'list<string>',
363
+ 'question' => 'string',
364
+ 'show_gradient' => 'bool',
365
+ 'show_results' => 'bool',
366
+ );
367
+ $enums = array(
368
+ );
369
+
370
+ $request = new ApiRequest(
371
+ $this->api,
372
+ $this->data['id'],
373
+ RequestInterface::METHOD_POST,
374
+ '/polls',
375
+ new VideoPoll(),
376
+ 'EDGE',
377
+ VideoPoll::getFieldsEnum()->getValues(),
378
+ new TypeChecker($param_types, $enums)
379
+ );
380
+ $request->addParams($params);
381
+ $request->addFields($fields);
382
+ return $pending ? $request : $request->execute();
383
+ }
384
+
385
+ public function getSharedPosts(array $fields = array(), array $params = array(), $pending = false) {
386
+ $this->assureId();
387
+
388
+ $param_types = array(
389
+ );
390
+ $enums = array(
391
+ );
392
+
393
+ $request = new ApiRequest(
394
+ $this->api,
395
+ $this->data['id'],
396
+ RequestInterface::METHOD_GET,
397
+ '/sharedposts',
398
+ new Post(),
399
+ 'EDGE',
400
+ Post::getFieldsEnum()->getValues(),
401
+ new TypeChecker($param_types, $enums)
402
+ );
403
+ $request->addParams($params);
404
+ $request->addFields($fields);
405
+ return $pending ? $request : $request->execute();
406
+ }
407
+
408
+ public function getSponsorTags(array $fields = array(), array $params = array(), $pending = false) {
409
+ $this->assureId();
410
+
411
+ $param_types = array(
412
+ );
413
+ $enums = array(
414
+ );
415
+
416
+ $request = new ApiRequest(
417
+ $this->api,
418
+ $this->data['id'],
419
+ RequestInterface::METHOD_GET,
420
+ '/sponsor_tags',
421
+ new Page(),
422
+ 'EDGE',
423
+ Page::getFieldsEnum()->getValues(),
424
+ new TypeChecker($param_types, $enums)
425
+ );
426
+ $request->addParams($params);
427
+ $request->addFields($fields);
428
+ return $pending ? $request : $request->execute();
429
+ }
430
+
431
+ public function getTags(array $fields = array(), array $params = array(), $pending = false) {
432
+ $this->assureId();
433
+
434
+ $param_types = array(
435
+ );
436
+ $enums = array(
437
+ );
438
+
439
+ $request = new ApiRequest(
440
+ $this->api,
441
+ $this->data['id'],
442
+ RequestInterface::METHOD_GET,
443
+ '/tags',
444
+ new AbstractCrudObject(),
445
+ 'EDGE',
446
+ array(),
447
+ new TypeChecker($param_types, $enums)
448
+ );
449
+ $request->addParams($params);
450
+ $request->addFields($fields);
451
+ return $pending ? $request : $request->execute();
452
+ }
453
+
454
+ public function createTag(array $fields = array(), array $params = array(), $pending = false) {
455
+ $this->assureId();
456
+
457
+ $param_types = array(
458
+ 'tag_uid' => 'int',
459
+ 'uid' => 'int',
460
+ 'vid' => 'string',
461
+ );
462
+ $enums = array(
463
+ );
464
+
465
+ $request = new ApiRequest(
466
+ $this->api,
467
+ $this->data['id'],
468
+ RequestInterface::METHOD_POST,
469
+ '/tags',
470
+ new AdVideo(),
471
+ 'EDGE',
472
+ AdVideo::getFieldsEnum()->getValues(),
473
+ new TypeChecker($param_types, $enums)
474
+ );
475
+ $request->addParams($params);
476
+ $request->addFields($fields);
477
+ return $pending ? $request : $request->execute();
478
+ }
479
+
480
+ public function getThumbnails(array $fields = array(), array $params = array(), $pending = false) {
481
+ $this->assureId();
482
+
483
+ $param_types = array(
484
+ );
485
+ $enums = array(
486
+ );
487
+
488
+ $request = new ApiRequest(
489
+ $this->api,
490
+ $this->data['id'],
491
+ RequestInterface::METHOD_GET,
492
+ '/thumbnails',
493
+ new VideoThumbnail(),
494
+ 'EDGE',
495
+ VideoThumbnail::getFieldsEnum()->getValues(),
496
+ new TypeChecker($param_types, $enums)
497
+ );
498
+ $request->addParams($params);
499
+ $request->addFields($fields);
500
+ return $pending ? $request : $request->execute();
501
+ }
502
+
503
+ public function createThumbnail(array $fields = array(), array $params = array(), $pending = false) {
504
+ $this->assureId();
505
+
506
+ $param_types = array(
507
+ 'is_preferred' => 'bool',
508
+ 'source' => 'file',
509
+ );
510
+ $enums = array(
511
+ );
512
+
513
+ $request = new ApiRequest(
514
+ $this->api,
515
+ $this->data['id'],
516
+ RequestInterface::METHOD_POST,
517
+ '/thumbnails',
518
+ new AdVideo(),
519
+ 'EDGE',
520
+ AdVideo::getFieldsEnum()->getValues(),
521
+ new TypeChecker($param_types, $enums)
522
+ );
523
+ $request->addParams($params);
524
+ $request->addFields($fields);
525
+ return $pending ? $request : $request->execute();
526
+ }
527
+
528
+ public function getVideoInsights(array $fields = array(), array $params = array(), $pending = false) {
529
+ $this->assureId();
530
+
531
+ $param_types = array(
532
+ 'metric' => 'list<Object>',
533
+ 'period' => 'period_enum',
534
+ 'since' => 'datetime',
535
+ 'until' => 'datetime',
536
+ );
537
+ $enums = array(
538
+ 'period_enum' => InsightsResultPeriodValues::getInstance()->getValues(),
539
+ );
540
+
541
+ $request = new ApiRequest(
542
+ $this->api,
543
+ $this->data['id'],
544
+ RequestInterface::METHOD_GET,
545
+ '/video_insights',
546
+ new InsightsResult(),
547
+ 'EDGE',
548
+ InsightsResult::getFieldsEnum()->getValues(),
549
+ new TypeChecker($param_types, $enums)
550
+ );
551
+ $request->addParams($params);
552
+ $request->addFields($fields);
553
+ return $pending ? $request : $request->execute();
554
+ }
555
+
556
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
557
+ $this->assureId();
558
+
559
+ $param_types = array(
560
+ );
561
+ $enums = array(
562
+ );
563
+
564
+ $request = new ApiRequest(
565
+ $this->api,
566
+ $this->data['id'],
567
+ RequestInterface::METHOD_DELETE,
568
+ '/',
569
+ new AbstractCrudObject(),
570
+ 'NODE',
571
+ array(),
572
+ new TypeChecker($param_types, $enums)
573
+ );
574
+ $request->addParams($params);
575
+ $request->addFields($fields);
576
+ return $pending ? $request : $request->execute();
577
+ }
578
+
579
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
580
+ $this->assureId();
581
+
582
+ $param_types = array(
583
+ );
584
+ $enums = array(
585
+ );
586
+
587
+ $request = new ApiRequest(
588
+ $this->api,
589
+ $this->data['id'],
590
+ RequestInterface::METHOD_GET,
591
+ '/',
592
+ new AdVideo(),
593
+ 'NODE',
594
+ AdVideo::getFieldsEnum()->getValues(),
595
+ new TypeChecker($param_types, $enums)
596
+ );
597
+ $request->addParams($params);
598
+ $request->addFields($fields);
599
+ return $pending ? $request : $request->execute();
600
+ }
601
+
602
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
603
+ $this->assureId();
604
+
605
+ $param_types = array(
606
+ 'ad_breaks' => 'list',
607
+ 'allow_bm_crossposting' => 'bool',
608
+ 'allow_crossposting_for_pages' => 'list<Object>',
609
+ 'backdated_time' => 'datetime',
610
+ 'backdated_time_granularity' => 'backdated_time_granularity_enum',
611
+ 'call_to_action' => 'Object',
612
+ 'content_category' => 'content_category_enum',
613
+ 'content_tags' => 'list<string>',
614
+ 'custom_labels' => 'list<string>',
615
+ 'description' => 'string',
616
+ 'direct_share_status' => 'unsigned int',
617
+ 'embeddable' => 'bool',
618
+ 'expiration' => 'Object',
619
+ 'expire_now' => 'bool',
620
+ 'increment_play_count' => 'bool',
621
+ 'name' => 'string',
622
+ 'preferred_thumbnail_id' => 'string',
623
+ 'privacy' => 'string',
624
+ 'publish_to_news_feed' => 'bool',
625
+ 'publish_to_videos_tab' => 'bool',
626
+ 'published' => 'bool',
627
+ 'scheduled_publish_time' => 'unsigned int',
628
+ 'social_actions' => 'bool',
629
+ 'sponsor_id' => 'string',
630
+ 'sponsor_relationship' => 'unsigned int',
631
+ 'tags' => 'list<string>',
632
+ 'target' => 'string',
633
+ 'universal_video_id' => 'string',
634
+ );
635
+ $enums = array(
636
+ 'backdated_time_granularity_enum' => AdVideoBackdatedTimeGranularityValues::getInstance()->getValues(),
637
+ 'content_category_enum' => AdVideoContentCategoryValues::getInstance()->getValues(),
638
+ );
639
+
640
+ $request = new ApiRequest(
641
+ $this->api,
642
+ $this->data['id'],
643
+ RequestInterface::METHOD_POST,
644
+ '/',
645
+ new AdVideo(),
646
+ 'NODE',
647
+ AdVideo::getFieldsEnum()->getValues(),
648
+ new TypeChecker($param_types, $enums)
649
+ );
650
+ $request->addParams($params);
651
+ $request->addFields($fields);
652
+ return $pending ? $request : $request->execute();
653
+ }
654
+
655
+ use FieldValidation;
656
+
657
+ public function create(array $params = array()) {
658
+ $data = $this->exportData();
659
+ $source = null;
660
+ if (array_key_exists(AdVideoFields::SOURCE, $data)) {
661
+ $source = $data[AdVideoFields::SOURCE];
662
+ unset($data[AdVideoFields::SOURCE]);
663
+ }
664
+ $params = array_merge($data, $params);
665
+
666
+ $request = $this->getApi()->prepareRequest(
667
+ '/'.$this->assureParentId().'/'.$this->getEndpoint(),
668
+ RequestInterface::METHOD_POST,
669
+ $params
670
+ );
671
+
672
+ $request->setLastLevelDomain('graph-video');
673
+ if ($source) {
674
+ $request->getFileParams()->offsetSet(AdVideoFields::SOURCE, $source);
675
+ }
676
+ $response = $this->getApi()->executeRequest($request);
677
+
678
+ $data = $response->getContent();
679
+ $this->data[static::FIELD_ID]
680
+ = is_string($data) ? $data : (string) $data[static::FIELD_ID];
681
+
682
+ return $this;
683
+ }
684
+
685
+ /**
686
+ * @param array $fields
687
+ * @param array $params
688
+ * @return Cursor
689
+ */
690
+ public function getVideoThumbnails(
691
+ array $fields = array(), array $params = array()) {
692
+ return $this->getManyByConnection(
693
+ VideoThumbnail::className(), $fields, $params, 'thumbnails');
694
+ }
695
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupActivity.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdgroupActivityFields;
32
+ use FacebookAds\Object\Values\AdgroupActivityObjectiveNewValues;
33
+ use FacebookAds\Object\Values\AdgroupActivityObjectiveOldValues;
34
+
35
+ /**
36
+ * This class is auto-generated.
37
+ *
38
+ * For any issues or feature requests related to this class, please let us know
39
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
40
+ * pull request for this class.
41
+ *
42
+ */
43
+
44
+ class AdgroupActivity extends AbstractCrudObject {
45
+
46
+ /**
47
+ * @return AdgroupActivityFields
48
+ */
49
+ public static function getFieldsEnum() {
50
+ return AdgroupActivityFields::getInstance();
51
+ }
52
+
53
+ protected static function getReferencedEnums() {
54
+ $ref_enums = array();
55
+ $ref_enums['ObjectiveNew'] = AdgroupActivityObjectiveNewValues::getInstance()->getValues();
56
+ $ref_enums['ObjectiveOld'] = AdgroupActivityObjectiveOldValues::getInstance()->getValues();
57
+ return $ref_enums;
58
+ }
59
+
60
+
61
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
62
+ $this->assureId();
63
+
64
+ $param_types = array(
65
+ );
66
+ $enums = array(
67
+ );
68
+
69
+ $request = new ApiRequest(
70
+ $this->api,
71
+ $this->data['id'],
72
+ RequestInterface::METHOD_GET,
73
+ '/',
74
+ new AdgroupActivity(),
75
+ 'NODE',
76
+ AdgroupActivity::getFieldsEnum()->getValues(),
77
+ new TypeChecker($param_types, $enums)
78
+ );
79
+ $request->addParams($params);
80
+ $request->addFields($fields);
81
+ return $pending ? $request : $request->execute();
82
+ }
83
+
84
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupIssuesInfo.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdgroupIssuesInfoFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdgroupIssuesInfo extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdgroupIssuesInfoFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdgroupIssuesInfoFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupPlacementSpecificReviewFeedback.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdgroupPlacementSpecificReviewFeedbackFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdgroupPlacementSpecificReviewFeedback extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdgroupPlacementSpecificReviewFeedbackFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdgroupPlacementSpecificReviewFeedbackFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupRelevanceScore.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdgroupRelevanceScoreFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdgroupRelevanceScore extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdgroupRelevanceScoreFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdgroupRelevanceScoreFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdgroupReviewFeedback.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdgroupReviewFeedbackFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdgroupReviewFeedback extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdgroupReviewFeedbackFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdgroupReviewFeedbackFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsActionStats.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsActionStatsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdsActionStats extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdsActionStatsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdsActionStatsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsImageCrops.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsImageCropsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdsImageCrops extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdsImageCropsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdsImageCropsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsInsights.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsInsightsFields;
32
+ use FacebookAds\Object\Values\AdsInsightsActionAttributionWindowsValues;
33
+ use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
34
+ use FacebookAds\Object\Values\AdsInsightsActionReportTimeValues;
35
+ use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
36
+ use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
37
+ use FacebookAds\Object\Values\AdsInsightsLevelValues;
38
+ use FacebookAds\Object\Values\AdsInsightsSummaryActionBreakdownsValues;
39
+
40
+ /**
41
+ * This class is auto-generated.
42
+ *
43
+ * For any issues or feature requests related to this class, please let us know
44
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
45
+ * pull request for this class.
46
+ *
47
+ */
48
+
49
+ class AdsInsights extends AbstractObject {
50
+
51
+ /**
52
+ * @deprecated getEndpoint function is deprecated
53
+ */
54
+ protected function getEndpoint() {
55
+ return 'insights';
56
+ }
57
+
58
+ /**
59
+ * @return AdsInsightsFields
60
+ */
61
+ public static function getFieldsEnum() {
62
+ return AdsInsightsFields::getInstance();
63
+ }
64
+
65
+ protected static function getReferencedEnums() {
66
+ $ref_enums = array();
67
+ $ref_enums['ActionAttributionWindows'] = AdsInsightsActionAttributionWindowsValues::getInstance()->getValues();
68
+ $ref_enums['ActionBreakdowns'] = AdsInsightsActionBreakdownsValues::getInstance()->getValues();
69
+ $ref_enums['ActionReportTime'] = AdsInsightsActionReportTimeValues::getInstance()->getValues();
70
+ $ref_enums['Breakdowns'] = AdsInsightsBreakdownsValues::getInstance()->getValues();
71
+ $ref_enums['DatePreset'] = AdsInsightsDatePresetValues::getInstance()->getValues();
72
+ $ref_enums['Level'] = AdsInsightsLevelValues::getInstance()->getValues();
73
+ $ref_enums['SummaryActionBreakdowns'] = AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues();
74
+ return $ref_enums;
75
+ }
76
+
77
+
78
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsOptimalDeliveryGrowthOpportunity.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsOptimalDeliveryGrowthOpportunityFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdsOptimalDeliveryGrowthOpportunity extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdsOptimalDeliveryGrowthOpportunityFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdsOptimalDeliveryGrowthOpportunityFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixel.php ADDED
@@ -0,0 +1,436 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsPixelFields;
32
+ use FacebookAds\Object\Values\AdsPixelAutomaticMatchingFieldsValues;
33
+ use FacebookAds\Object\Values\AdsPixelDataUseSettingValues;
34
+ use FacebookAds\Object\Values\AdsPixelFirstPartyCookieStatusValues;
35
+ use FacebookAds\Object\Values\AdsPixelSortByValues;
36
+ use FacebookAds\Object\Values\AdsPixelStatsResultAggregationValues;
37
+ use FacebookAds\Object\Values\AdsPixelTasksValues;
38
+
39
+ /**
40
+ * This class is auto-generated.
41
+ *
42
+ * For any issues or feature requests related to this class, please let us know
43
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
44
+ * pull request for this class.
45
+ *
46
+ */
47
+
48
+ class AdsPixel extends AbstractCrudObject {
49
+
50
+ /**
51
+ * @deprecated getEndpoint function is deprecated
52
+ */
53
+ protected function getEndpoint() {
54
+ return 'adspixels';
55
+ }
56
+
57
+ /**
58
+ * @return AdsPixelFields
59
+ */
60
+ public static function getFieldsEnum() {
61
+ return AdsPixelFields::getInstance();
62
+ }
63
+
64
+ protected static function getReferencedEnums() {
65
+ $ref_enums = array();
66
+ $ref_enums['SortBy'] = AdsPixelSortByValues::getInstance()->getValues();
67
+ $ref_enums['AutomaticMatchingFields'] = AdsPixelAutomaticMatchingFieldsValues::getInstance()->getValues();
68
+ $ref_enums['DataUseSetting'] = AdsPixelDataUseSettingValues::getInstance()->getValues();
69
+ $ref_enums['FirstPartyCookieStatus'] = AdsPixelFirstPartyCookieStatusValues::getInstance()->getValues();
70
+ $ref_enums['Tasks'] = AdsPixelTasksValues::getInstance()->getValues();
71
+ return $ref_enums;
72
+ }
73
+
74
+
75
+ public function deleteAssignedUsers(array $fields = array(), array $params = array(), $pending = false) {
76
+ $this->assureId();
77
+
78
+ $param_types = array(
79
+ 'user' => 'int',
80
+ );
81
+ $enums = array(
82
+ );
83
+
84
+ $request = new ApiRequest(
85
+ $this->api,
86
+ $this->data['id'],
87
+ RequestInterface::METHOD_DELETE,
88
+ '/assigned_users',
89
+ new AbstractCrudObject(),
90
+ 'EDGE',
91
+ array(),
92
+ new TypeChecker($param_types, $enums)
93
+ );
94
+ $request->addParams($params);
95
+ $request->addFields($fields);
96
+ return $pending ? $request : $request->execute();
97
+ }
98
+
99
+ public function getAssignedUsers(array $fields = array(), array $params = array(), $pending = false) {
100
+ $this->assureId();
101
+
102
+ $param_types = array(
103
+ 'business' => 'string',
104
+ );
105
+ $enums = array(
106
+ );
107
+
108
+ $request = new ApiRequest(
109
+ $this->api,
110
+ $this->data['id'],
111
+ RequestInterface::METHOD_GET,
112
+ '/assigned_users',
113
+ new AssignedUser(),
114
+ 'EDGE',
115
+ AssignedUser::getFieldsEnum()->getValues(),
116
+ new TypeChecker($param_types, $enums)
117
+ );
118
+ $request->addParams($params);
119
+ $request->addFields($fields);
120
+ return $pending ? $request : $request->execute();
121
+ }
122
+
123
+ public function createAssignedUser(array $fields = array(), array $params = array(), $pending = false) {
124
+ $this->assureId();
125
+
126
+ $param_types = array(
127
+ 'tasks' => 'list<tasks_enum>',
128
+ 'user' => 'int',
129
+ );
130
+ $enums = array(
131
+ 'tasks_enum' => AdsPixelTasksValues::getInstance()->getValues(),
132
+ );
133
+
134
+ $request = new ApiRequest(
135
+ $this->api,
136
+ $this->data['id'],
137
+ RequestInterface::METHOD_POST,
138
+ '/assigned_users',
139
+ new AdsPixel(),
140
+ 'EDGE',
141
+ AdsPixel::getFieldsEnum()->getValues(),
142
+ new TypeChecker($param_types, $enums)
143
+ );
144
+ $request->addParams($params);
145
+ $request->addFields($fields);
146
+ return $pending ? $request : $request->execute();
147
+ }
148
+
149
+ public function getDaChecks(array $fields = array(), array $params = array(), $pending = false) {
150
+ $this->assureId();
151
+
152
+ $param_types = array(
153
+ 'checks' => 'list<string>',
154
+ );
155
+ $enums = array(
156
+ );
157
+
158
+ $request = new ApiRequest(
159
+ $this->api,
160
+ $this->data['id'],
161
+ RequestInterface::METHOD_GET,
162
+ '/da_checks',
163
+ new DACheck(),
164
+ 'EDGE',
165
+ DACheck::getFieldsEnum()->getValues(),
166
+ new TypeChecker($param_types, $enums)
167
+ );
168
+ $request->addParams($params);
169
+ $request->addFields($fields);
170
+ return $pending ? $request : $request->execute();
171
+ }
172
+
173
+ public function createEvent(array $fields = array(), array $params = array(), $pending = false) {
174
+ $this->assureId();
175
+
176
+ $param_types = array(
177
+ 'data' => 'list<string>',
178
+ 'partner_agent' => 'string',
179
+ 'test_event_code' => 'string',
180
+ 'trace' => 'unsigned int',
181
+ );
182
+ $enums = array(
183
+ );
184
+
185
+ $request = new ApiRequest(
186
+ $this->api,
187
+ $this->data['id'],
188
+ RequestInterface::METHOD_POST,
189
+ '/events',
190
+ new AdsPixel(),
191
+ 'EDGE',
192
+ AdsPixel::getFieldsEnum()->getValues(),
193
+ new TypeChecker($param_types, $enums)
194
+ );
195
+ $request->addParams($params);
196
+ $request->addFields($fields);
197
+ return $pending ? $request : $request->execute();
198
+ }
199
+
200
+ public function deleteSharedAccounts(array $fields = array(), array $params = array(), $pending = false) {
201
+ $this->assureId();
202
+
203
+ $param_types = array(
204
+ 'account_id' => 'string',
205
+ 'business' => 'string',
206
+ );
207
+ $enums = array(
208
+ );
209
+
210
+ $request = new ApiRequest(
211
+ $this->api,
212
+ $this->data['id'],
213
+ RequestInterface::METHOD_DELETE,
214
+ '/shared_accounts',
215
+ new AbstractCrudObject(),
216
+ 'EDGE',
217
+ array(),
218
+ new TypeChecker($param_types, $enums)
219
+ );
220
+ $request->addParams($params);
221
+ $request->addFields($fields);
222
+ return $pending ? $request : $request->execute();
223
+ }
224
+
225
+ public function getSharedAccounts(array $fields = array(), array $params = array(), $pending = false) {
226
+ $this->assureId();
227
+
228
+ $param_types = array(
229
+ 'business' => 'string',
230
+ );
231
+ $enums = array(
232
+ );
233
+
234
+ $request = new ApiRequest(
235
+ $this->api,
236
+ $this->data['id'],
237
+ RequestInterface::METHOD_GET,
238
+ '/shared_accounts',
239
+ new AdAccount(),
240
+ 'EDGE',
241
+ AdAccount::getFieldsEnum()->getValues(),
242
+ new TypeChecker($param_types, $enums)
243
+ );
244
+ $request->addParams($params);
245
+ $request->addFields($fields);
246
+ return $pending ? $request : $request->execute();
247
+ }
248
+
249
+ public function createSharedAccount(array $fields = array(), array $params = array(), $pending = false) {
250
+ $this->assureId();
251
+
252
+ $param_types = array(
253
+ 'account_id' => 'string',
254
+ 'business' => 'string',
255
+ );
256
+ $enums = array(
257
+ );
258
+
259
+ $request = new ApiRequest(
260
+ $this->api,
261
+ $this->data['id'],
262
+ RequestInterface::METHOD_POST,
263
+ '/shared_accounts',
264
+ new AdsPixel(),
265
+ 'EDGE',
266
+ AdsPixel::getFieldsEnum()->getValues(),
267
+ new TypeChecker($param_types, $enums)
268
+ );
269
+ $request->addParams($params);
270
+ $request->addFields($fields);
271
+ return $pending ? $request : $request->execute();
272
+ }
273
+
274
+ public function getSharedAgencies(array $fields = array(), array $params = array(), $pending = false) {
275
+ $this->assureId();
276
+
277
+ $param_types = array(
278
+ );
279
+ $enums = array(
280
+ );
281
+
282
+ $request = new ApiRequest(
283
+ $this->api,
284
+ $this->data['id'],
285
+ RequestInterface::METHOD_GET,
286
+ '/shared_agencies',
287
+ new Business(),
288
+ 'EDGE',
289
+ Business::getFieldsEnum()->getValues(),
290
+ new TypeChecker($param_types, $enums)
291
+ );
292
+ $request->addParams($params);
293
+ $request->addFields($fields);
294
+ return $pending ? $request : $request->execute();
295
+ }
296
+
297
+ public function getStats(array $fields = array(), array $params = array(), $pending = false) {
298
+ $this->assureId();
299
+
300
+ $param_types = array(
301
+ 'aggregation' => 'aggregation_enum',
302
+ 'end_time' => 'datetime',
303
+ 'event' => 'string',
304
+ 'event_source' => 'string',
305
+ 'start_time' => 'datetime',
306
+ );
307
+ $enums = array(
308
+ 'aggregation_enum' => AdsPixelStatsResultAggregationValues::getInstance()->getValues(),
309
+ );
310
+
311
+ $request = new ApiRequest(
312
+ $this->api,
313
+ $this->data['id'],
314
+ RequestInterface::METHOD_GET,
315
+ '/stats',
316
+ new AdsPixelStatsResult(),
317
+ 'EDGE',
318
+ AdsPixelStatsResult::getFieldsEnum()->getValues(),
319
+ new TypeChecker($param_types, $enums)
320
+ );
321
+ $request->addParams($params);
322
+ $request->addFields($fields);
323
+ return $pending ? $request : $request->execute();
324
+ }
325
+
326
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
327
+ $this->assureId();
328
+
329
+ $param_types = array(
330
+ );
331
+ $enums = array(
332
+ );
333
+
334
+ $request = new ApiRequest(
335
+ $this->api,
336
+ $this->data['id'],
337
+ RequestInterface::METHOD_GET,
338
+ '/',
339
+ new AdsPixel(),
340
+ 'NODE',
341
+ AdsPixel::getFieldsEnum()->getValues(),
342
+ new TypeChecker($param_types, $enums)
343
+ );
344
+ $request->addParams($params);
345
+ $request->addFields($fields);
346
+ return $pending ? $request : $request->execute();
347
+ }
348
+
349
+ public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
350
+ $this->assureId();
351
+
352
+ $param_types = array(
353
+ 'automatic_matching_fields' => 'list<automatic_matching_fields_enum>',
354
+ 'data_use_setting' => 'data_use_setting_enum',
355
+ 'enable_automatic_matching' => 'bool',
356
+ 'first_party_cookie_status' => 'first_party_cookie_status_enum',
357
+ 'name' => 'string',
358
+ 'server_events_business_id' => 'string',
359
+ );
360
+ $enums = array(
361
+ 'automatic_matching_fields_enum' => AdsPixelAutomaticMatchingFieldsValues::getInstance()->getValues(),
362
+ 'data_use_setting_enum' => AdsPixelDataUseSettingValues::getInstance()->getValues(),
363
+ 'first_party_cookie_status_enum' => AdsPixelFirstPartyCookieStatusValues::getInstance()->getValues(),
364
+ );
365
+
366
+ $request = new ApiRequest(
367
+ $this->api,
368
+ $this->data['id'],
369
+ RequestInterface::METHOD_POST,
370
+ '/',
371
+ new AdsPixel(),
372
+ 'NODE',
373
+ AdsPixel::getFieldsEnum()->getValues(),
374
+ new TypeChecker($param_types, $enums)
375
+ );
376
+ $request->addParams($params);
377
+ $request->addFields($fields);
378
+ return $pending ? $request : $request->execute();
379
+ }
380
+
381
+ /**
382
+ * @param int $business_id
383
+ * @param string $account_id
384
+ */
385
+ public function sharePixelWithAdAccount($business_id, $account_id) {
386
+ $this->getApi()->call(
387
+ '/'.$this->assureId().'/shared_accounts',
388
+ RequestInterface::METHOD_POST,
389
+ array(
390
+ 'business' => $business_id,
391
+ 'account_id' => $account_id,
392
+ ));
393
+ }
394
+
395
+ /**
396
+ * @param $business_id
397
+ * @param $account_id
398
+ */
399
+ public function unsharePixelWithAdAccount($business_id, $account_id) {
400
+ $this->getApi()->call(
401
+ '/'.$this->assureId().'/shared_accounts',
402
+ RequestInterface::METHOD_DELETE,
403
+ array(
404
+ 'business' => $business_id,
405
+ 'account_id' => $account_id,
406
+ ));
407
+ }
408
+
409
+ /**
410
+ * @param int $business_id
411
+ * @param int $agency_id
412
+ */
413
+ public function sharePixelWithAgency($business_id, $agency_id) {
414
+ $this->getApi()->call(
415
+ '/'.$this->assureId().'/shared_agencies',
416
+ 'POST',
417
+ array(
418
+ 'business' => $business_id,
419
+ 'agency_id' => $agency_id,
420
+ ));
421
+ }
422
+
423
+ /**
424
+ * @param int $business_id
425
+ * @param int $agency_id
426
+ */
427
+ public function unsharePixelWithAgency($business_id, $agency_id) {
428
+ $this->getApi()->call(
429
+ '/'.$this->assureId().'/shared_agencies',
430
+ 'DELETE',
431
+ array(
432
+ 'business' => $business_id,
433
+ 'agency_id' => $agency_id,
434
+ ));
435
+ }
436
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixelStats.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsPixelStatsFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdsPixelStats extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdsPixelStatsFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdsPixelStatsFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsPixelStatsResult.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsPixelStatsResultFields;
32
+ use FacebookAds\Object\Values\AdsPixelStatsResultAggregationValues;
33
+
34
+ /**
35
+ * This class is auto-generated.
36
+ *
37
+ * For any issues or feature requests related to this class, please let us know
38
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
39
+ * pull request for this class.
40
+ *
41
+ */
42
+
43
+ class AdsPixelStatsResult extends AbstractObject {
44
+
45
+ /**
46
+ * @deprecated getEndpoint function is deprecated
47
+ */
48
+ protected function getEndpoint() {
49
+ return 'stats';
50
+ }
51
+
52
+ /**
53
+ * @return AdsPixelStatsResultFields
54
+ */
55
+ public static function getFieldsEnum() {
56
+ return AdsPixelStatsResultFields::getInstance();
57
+ }
58
+
59
+ protected static function getReferencedEnums() {
60
+ $ref_enums = array();
61
+ $ref_enums['Aggregation'] = AdsPixelStatsResultAggregationValues::getInstance()->getValues();
62
+ return $ref_enums;
63
+ }
64
+
65
+
66
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AdsTALHealthCheckError.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AdsTALHealthCheckErrorFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AdsTALHealthCheckError extends AbstractObject {
43
+
44
+ /**
45
+ * @return AdsTALHealthCheckErrorFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AdsTALHealthCheckErrorFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AgeRange.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AgeRangeFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AgeRange extends AbstractObject {
43
+
44
+ /**
45
+ * @return AgeRangeFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AgeRangeFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AgencyClientDeclaration.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AgencyClientDeclarationFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AgencyClientDeclaration extends AbstractObject {
43
+
44
+ /**
45
+ * @return AgencyClientDeclarationFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AgencyClientDeclarationFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/Album.php ADDED
@@ -0,0 +1,330 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AlbumFields;
32
+ use FacebookAds\Object\Values\CommentCommentPrivacyValueValues;
33
+ use FacebookAds\Object\Values\CommentFilterValues;
34
+ use FacebookAds\Object\Values\CommentLiveFilterValues;
35
+ use FacebookAds\Object\Values\CommentOrderValues;
36
+ use FacebookAds\Object\Values\PhotoBackdatedTimeGranularityValues;
37
+ use FacebookAds\Object\Values\PhotoUnpublishedContentTypeValues;
38
+ use FacebookAds\Object\Values\ProfilePictureSourceTypeValues;
39
+
40
+ /**
41
+ * This class is auto-generated.
42
+ *
43
+ * For any issues or feature requests related to this class, please let us know
44
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
45
+ * pull request for this class.
46
+ *
47
+ */
48
+
49
+ class Album extends AbstractCrudObject {
50
+
51
+ /**
52
+ * @return AlbumFields
53
+ */
54
+ public static function getFieldsEnum() {
55
+ return AlbumFields::getInstance();
56
+ }
57
+
58
+ protected static function getReferencedEnums() {
59
+ $ref_enums = array();
60
+ return $ref_enums;
61
+ }
62
+
63
+
64
+ public function getComments(array $fields = array(), array $params = array(), $pending = false) {
65
+ $this->assureId();
66
+
67
+ $param_types = array(
68
+ 'filter' => 'filter_enum',
69
+ 'live_filter' => 'live_filter_enum',
70
+ 'order' => 'order_enum',
71
+ 'since' => 'datetime',
72
+ );
73
+ $enums = array(
74
+ 'filter_enum' => CommentFilterValues::getInstance()->getValues(),
75
+ 'live_filter_enum' => CommentLiveFilterValues::getInstance()->getValues(),
76
+ 'order_enum' => CommentOrderValues::getInstance()->getValues(),
77
+ );
78
+
79
+ $request = new ApiRequest(
80
+ $this->api,
81
+ $this->data['id'],
82
+ RequestInterface::METHOD_GET,
83
+ '/comments',
84
+ new Comment(),
85
+ 'EDGE',
86
+ Comment::getFieldsEnum()->getValues(),
87
+ new TypeChecker($param_types, $enums)
88
+ );
89
+ $request->addParams($params);
90
+ $request->addFields($fields);
91
+ return $pending ? $request : $request->execute();
92
+ }
93
+
94
+ public function createComment(array $fields = array(), array $params = array(), $pending = false) {
95
+ $this->assureId();
96
+
97
+ $param_types = array(
98
+ 'attachment_id' => 'string',
99
+ 'attachment_share_url' => 'string',
100
+ 'attachment_url' => 'string',
101
+ 'comment_privacy_value' => 'comment_privacy_value_enum',
102
+ 'facepile_mentioned_ids' => 'list<string>',
103
+ 'feedback_source' => 'string',
104
+ 'is_offline' => 'bool',
105
+ 'message' => 'string',
106
+ 'nectar_module' => 'string',
107
+ 'object_id' => 'string',
108
+ 'parent_comment_id' => 'Object',
109
+ 'text' => 'string',
110
+ 'tracking' => 'string',
111
+ );
112
+ $enums = array(
113
+ 'comment_privacy_value_enum' => CommentCommentPrivacyValueValues::getInstance()->getValues(),
114
+ );
115
+
116
+ $request = new ApiRequest(
117
+ $this->api,
118
+ $this->data['id'],
119
+ RequestInterface::METHOD_POST,
120
+ '/comments',
121
+ new Comment(),
122
+ 'EDGE',
123
+ Comment::getFieldsEnum()->getValues(),
124
+ new TypeChecker($param_types, $enums)
125
+ );
126
+ $request->addParams($params);
127
+ $request->addFields($fields);
128
+ return $pending ? $request : $request->execute();
129
+ }
130
+
131
+ public function createLike(array $fields = array(), array $params = array(), $pending = false) {
132
+ $this->assureId();
133
+
134
+ $param_types = array(
135
+ 'feedback_source' => 'string',
136
+ 'nectar_module' => 'string',
137
+ 'notify' => 'bool',
138
+ 'tracking' => 'string',
139
+ );
140
+ $enums = array(
141
+ );
142
+
143
+ $request = new ApiRequest(
144
+ $this->api,
145
+ $this->data['id'],
146
+ RequestInterface::METHOD_POST,
147
+ '/likes',
148
+ new Album(),
149
+ 'EDGE',
150
+ Album::getFieldsEnum()->getValues(),
151
+ new TypeChecker($param_types, $enums)
152
+ );
153
+ $request->addParams($params);
154
+ $request->addFields($fields);
155
+ return $pending ? $request : $request->execute();
156
+ }
157
+
158
+ public function getPhotos(array $fields = array(), array $params = array(), $pending = false) {
159
+ $this->assureId();
160
+
161
+ $param_types = array(
162
+ );
163
+ $enums = array(
164
+ );
165
+
166
+ $request = new ApiRequest(
167
+ $this->api,
168
+ $this->data['id'],
169
+ RequestInterface::METHOD_GET,
170
+ '/photos',
171
+ new Photo(),
172
+ 'EDGE',
173
+ Photo::getFieldsEnum()->getValues(),
174
+ new TypeChecker($param_types, $enums)
175
+ );
176
+ $request->addParams($params);
177
+ $request->addFields($fields);
178
+ return $pending ? $request : $request->execute();
179
+ }
180
+
181
+ public function createPhoto(array $fields = array(), array $params = array(), $pending = false) {
182
+ $this->assureId();
183
+
184
+ $param_types = array(
185
+ 'aid' => 'string',
186
+ 'allow_spherical_photo' => 'bool',
187
+ 'alt_text_custom' => 'string',
188
+ 'android_key_hash' => 'string',
189
+ 'application_id' => 'string',
190
+ 'attempt' => 'unsigned int',
191
+ 'audience_exp' => 'bool',
192
+ 'backdated_time' => 'datetime',
193
+ 'backdated_time_granularity' => 'backdated_time_granularity_enum',
194
+ 'caption' => 'string',
195
+ 'composer_session_id' => 'string',
196
+ 'direct_share_status' => 'unsigned int',
197
+ 'feed_targeting' => 'Object',
198
+ 'filter_type' => 'unsigned int',
199
+ 'full_res_is_coming_later' => 'bool',
200
+ 'initial_view_heading_override_degrees' => 'unsigned int',
201
+ 'initial_view_pitch_override_degrees' => 'unsigned int',
202
+ 'initial_view_vertical_fov_override_degrees' => 'unsigned int',
203
+ 'ios_bundle_id' => 'string',
204
+ 'is_explicit_location' => 'bool',
205
+ 'is_explicit_place' => 'bool',
206
+ 'is_visual_search' => 'bool',
207
+ 'manual_privacy' => 'bool',
208
+ 'message' => 'string',
209
+ 'name' => 'string',
210
+ 'no_story' => 'bool',
211
+ 'offline_id' => 'unsigned int',
212
+ 'og_action_type_id' => 'string',
213
+ 'og_icon_id' => 'string',
214
+ 'og_object_id' => 'string',
215
+ 'og_phrase' => 'string',
216
+ 'og_set_profile_badge' => 'bool',
217
+ 'og_suggestion_mechanism' => 'string',
218
+ 'place' => 'Object',
219
+ 'privacy' => 'string',
220
+ 'profile_id' => 'int',
221
+ 'proxied_app_id' => 'string',
222
+ 'published' => 'bool',
223
+ 'qn' => 'string',
224
+ 'scheduled_publish_time' => 'unsigned int',
225
+ 'spherical_metadata' => 'map',
226
+ 'sponsor_id' => 'string',
227
+ 'sponsor_relationship' => 'unsigned int',
228
+ 'tags' => 'list<Object>',
229
+ 'target_id' => 'int',
230
+ 'targeting' => 'Object',
231
+ 'time_since_original_post' => 'unsigned int',
232
+ 'uid' => 'int',
233
+ 'unpublished_content_type' => 'unpublished_content_type_enum',
234
+ 'url' => 'string',
235
+ 'user_selected_tags' => 'bool',
236
+ 'vault_image_id' => 'string',
237
+ );
238
+ $enums = array(
239
+ 'backdated_time_granularity_enum' => PhotoBackdatedTimeGranularityValues::getInstance()->getValues(),
240
+ 'unpublished_content_type_enum' => PhotoUnpublishedContentTypeValues::getInstance()->getValues(),
241
+ );
242
+
243
+ $request = new ApiRequest(
244
+ $this->api,
245
+ $this->data['id'],
246
+ RequestInterface::METHOD_POST,
247
+ '/photos',
248
+ new Photo(),
249
+ 'EDGE',
250
+ Photo::getFieldsEnum()->getValues(),
251
+ new TypeChecker($param_types, $enums)
252
+ );
253
+ $request->addParams($params);
254
+ $request->addFields($fields);
255
+ return $pending ? $request : $request->execute();
256
+ }
257
+
258
+ public function getPicture(array $fields = array(), array $params = array(), $pending = false) {
259
+ $this->assureId();
260
+
261
+ $param_types = array(
262
+ 'redirect' => 'bool',
263
+ 'type' => 'type_enum',
264
+ );
265
+ $enums = array(
266
+ 'type_enum' => ProfilePictureSourceTypeValues::getInstance()->getValues(),
267
+ );
268
+
269
+ $request = new ApiRequest(
270
+ $this->api,
271
+ $this->data['id'],
272
+ RequestInterface::METHOD_GET,
273
+ '/picture',
274
+ new ProfilePictureSource(),
275
+ 'EDGE',
276
+ ProfilePictureSource::getFieldsEnum()->getValues(),
277
+ new TypeChecker($param_types, $enums)
278
+ );
279
+ $request->addParams($params);
280
+ $request->addFields($fields);
281
+ return $pending ? $request : $request->execute();
282
+ }
283
+
284
+ public function getSharedPosts(array $fields = array(), array $params = array(), $pending = false) {
285
+ $this->assureId();
286
+
287
+ $param_types = array(
288
+ );
289
+ $enums = array(
290
+ );
291
+
292
+ $request = new ApiRequest(
293
+ $this->api,
294
+ $this->data['id'],
295
+ RequestInterface::METHOD_GET,
296
+ '/sharedposts',
297
+ new Post(),
298
+ 'EDGE',
299
+ Post::getFieldsEnum()->getValues(),
300
+ new TypeChecker($param_types, $enums)
301
+ );
302
+ $request->addParams($params);
303
+ $request->addFields($fields);
304
+ return $pending ? $request : $request->execute();
305
+ }
306
+
307
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
308
+ $this->assureId();
309
+
310
+ $param_types = array(
311
+ );
312
+ $enums = array(
313
+ );
314
+
315
+ $request = new ApiRequest(
316
+ $this->api,
317
+ $this->data['id'],
318
+ RequestInterface::METHOD_GET,
319
+ '/',
320
+ new Album(),
321
+ 'NODE',
322
+ Album::getFieldsEnum()->getValues(),
323
+ new TypeChecker($param_types, $enums)
324
+ );
325
+ $request->addParams($params);
326
+ $request->addFields($fields);
327
+ return $pending ? $request : $request->execute();
328
+ }
329
+
330
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AndroidAppLink.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AndroidAppLinkFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AndroidAppLink extends AbstractObject {
43
+
44
+ /**
45
+ * @return AndroidAppLinkFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AndroidAppLinkFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AppRequest.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AppRequestFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AppRequest extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AppRequestFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AppRequestFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
58
+ $this->assureId();
59
+
60
+ $param_types = array(
61
+ 'ids' => 'list<string>',
62
+ );
63
+ $enums = array(
64
+ );
65
+
66
+ $request = new ApiRequest(
67
+ $this->api,
68
+ $this->data['id'],
69
+ RequestInterface::METHOD_DELETE,
70
+ '/',
71
+ new AbstractCrudObject(),
72
+ 'NODE',
73
+ array(),
74
+ new TypeChecker($param_types, $enums)
75
+ );
76
+ $request->addParams($params);
77
+ $request->addFields($fields);
78
+ return $pending ? $request : $request->execute();
79
+ }
80
+
81
+ public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
82
+ $this->assureId();
83
+
84
+ $param_types = array(
85
+ );
86
+ $enums = array(
87
+ );
88
+
89
+ $request = new ApiRequest(
90
+ $this->api,
91
+ $this->data['id'],
92
+ RequestInterface::METHOD_GET,
93
+ '/',
94
+ new AppRequest(),
95
+ 'NODE',
96
+ AppRequest::getFieldsEnum()->getValues(),
97
+ new TypeChecker($param_types, $enums)
98
+ );
99
+ $request->addParams($params);
100
+ $request->addFields($fields);
101
+ return $pending ? $request : $request->execute();
102
+ }
103
+
104
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/AppRequestFormerRecipient.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\AppRequestFormerRecipientFields;
32
+
33
+ /**
34
+ * This class is auto-generated.
35
+ *
36
+ * For any issues or feature requests related to this class, please let us know
37
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
38
+ * pull request for this class.
39
+ *
40
+ */
41
+
42
+ class AppRequestFormerRecipient extends AbstractCrudObject {
43
+
44
+ /**
45
+ * @return AppRequestFormerRecipientFields
46
+ */
47
+ public static function getFieldsEnum() {
48
+ return AppRequestFormerRecipientFields::getInstance();
49
+ }
50
+
51
+ protected static function getReferencedEnums() {
52
+ $ref_enums = array();
53
+ return $ref_enums;
54
+ }
55
+
56
+
57
+ }
vendor/facebook/php-business-sdk/src/FacebookAds/Object/Application.php ADDED
@@ -0,0 +1,1682 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
+ *
5
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
+ * use, copy, modify, and distribute this software in source code or binary
7
+ * form for use in connection with the web services and APIs provided by
8
+ * Facebook.
9
+ *
10
+ * As with any software that integrates with the Facebook platform, your use
11
+ * of this software is subject to the Facebook Developer Principles and
12
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
+ * shall be included in all copies or substantial portions of the software.
14
+ *
15
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
+ * DEALINGS IN THE SOFTWARE.
22
+ *
23
+ */
24
+
25
+ namespace FacebookAds\Object;
26
+
27
+ use FacebookAds\ApiRequest;
28
+ use FacebookAds\Cursor;
29
+ use FacebookAds\Http\RequestInterface;
30
+ use FacebookAds\TypeChecker;
31
+ use FacebookAds\Object\Fields\ApplicationFields;
32
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues;
33
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultBreakdownsValues;
34
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultMetricsValues;
35
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultOrderingColumnValues;
36
+ use FacebookAds\Object\Values\AdNetworkAnalyticsSyncQueryResultOrderingTypeValues;
37
+ use FacebookAds\Object\Values\ApplicationAnPlatformsValues;
38
+ use FacebookAds\Object\Values\ApplicationLoggingSourceValues;
39
+ use FacebookAds\Object\Values\ApplicationLoggingTargetValues;
40
+ use FacebookAds\Object\Values\ApplicationMutationMethodValues;
41
+ use FacebookAds\Object\Values\ApplicationPlatformValues;
42
+ use FacebookAds\Object\Values\ApplicationPostMethodValues;
43
+ use FacebookAds\Object\Values\ApplicationRequestTypeValues;
44
+ use FacebookAds\Object\Values\ApplicationScoreTypeValues;
45
+ use FacebookAds\Object\Values\ApplicationSortOrderValues;
46
+ use FacebookAds\Object\Values\ApplicationSupportedPlatformsValues;
47
+ use FacebookAds\Object\Values\EventTypeValues;
48
+
49
+ /**
50
+ * This class is auto-generated.
51
+ *
52
+ * For any issues or feature requests related to this class, please let us know
53
+ * on github and we'll fix in our codegen framework. We'll not be able to accept
54
+ * pull request for this class.
55
+ *
56
+ */
57
+
58
+ class Application extends AbstractCrudObject {
59
+
60
+ /**
61
+ * @return ApplicationFields
62
+ */
63
+ public static function getFieldsEnum() {
64
+ return ApplicationFields::getInstance();
65
+ }
66
+
67
+ protected static function getReferencedEnums() {
68
+ $ref_enums = array();
69
+ $ref_enums['SupportedPlatforms'] = ApplicationSupportedPlatformsValues::getInstance()->getValues();
70
+ $ref_enums['AnPlatforms'] = ApplicationAnPlatformsValues::getInstance()->getValues();
71
+ $ref_enums['Platform'] = ApplicationPlatformValues::getInstance()->getValues();
72
+ $ref_enums['RequestType'] = ApplicationRequestTypeValues::getInstance()->getValues();
73
+ $ref_enums['MutationMethod'] = ApplicationMutationMethodValues::getInstance()->getValues();
74
+ $ref_enums['PostMethod'] = ApplicationPostMethodValues::getInstance()->getValues();
75
+ $ref_enums['ScoreType'] = ApplicationScoreTypeValues::getInstance()->getValues();
76
+ $ref_enums['SortOrder'] = ApplicationSortOrderValues::getInstance()->getValues();
77
+ $ref_enums['LoggingSource'] = ApplicationLoggingSourceValues::getInstance()->getValues();
78
+ $ref_enums['LoggingTarget'] = ApplicationLoggingTargetValues::getInstance()->getValues();
79
+ return $ref_enums;
80
+ }
81
+
82
+
83
+ public function deleteAccounts(array $fields = array(), array $params = array(), $pending = false) {
84
+ $this->assureId();
85
+
86
+ $param_types = array(
87
+ 'type' => 'type_enum',
88
+ 'uid' => 'int',
89
+ );
90
+ $enums = array(
91
+ 'type_enum' => array(
92
+ 'test-users',
93
+ ),
94
+ );
95
+
96
+ $request = new ApiRequest(
97
+ $this->api,
98
+ $this->data['id'],
99
+ RequestInterface::METHOD_DELETE,
100
+ '/accounts',
101
+ new AbstractCrudObject(),
102
+ 'EDGE',
103
+ array(),
104
+ new TypeChecker($param_types, $enums)
105
+ );
106
+ $request->addParams($params);
107
+ $request->addFields($fields);
108
+ return $pending ? $request : $request->execute();
109
+ }
110
+
111
+ public function getAccounts(array $fields = array(), array $params = array(), $pending = false) {
112
+ $this->assureId();
113
+
114
+ $param_types = array(
115
+ 'type' => 'type_enum',
116
+ );
117
+ $enums = array(
118
+ 'type_enum' => array(
119
+ 'test-users',
120
+ ),
121
+ );
122
+
123
+ $request = new ApiRequest(
124
+ $this->api,
125
+ $this->data['id'],
126
+ RequestInterface::METHOD_GET,
127
+ '/accounts',
128
+ new AbstractCrudObject(),
129
+ 'EDGE',
130
+ array(),
131
+ new TypeChecker($param_types, $enums)
132
+ );
133
+ $request->addParams($params);
134
+ $request->addFields($fields);
135
+ return $pending ? $request : $request->execute();
136
+ }
137
+
138
+ public function createAccount(array $fields = array(), array $params = array(), $pending = false) {
139
+ $this->assureId();
140
+
141
+ $param_types = array(
142
+ 'installed' => 'bool',
143
+ 'minor' => 'bool',
144
+ 'name' => 'string',
145
+ 'owner_access_token' => 'string',
146
+ 'permissions' => 'list<Permission>',
147
+ 'type' => 'type_enum',
148
+ 'uid' => 'int',
149
+ );
150
+ $enums = array(
151
+ 'type_enum' => array(
152
+ 'test-users',
153
+ ),
154
+ );
155
+
156
+ $request = new ApiRequest(
157
+ $this->api,
158
+ $this->data['id'],
159
+ RequestInterface::METHOD_POST,
160
+ '/accounts',
161
+ new AbstractCrudObject(),
162
+ 'EDGE',
163
+ array(),
164
+ new TypeChecker($param_types, $enums)
165
+ );
166
+ $request->addParams($params);
167
+ $request->addFields($fields);
168
+ return $pending ? $request : $request->execute();
169
+ }
170
+
171
+ public function createActivity(array $fields = array(), array $params = array(), $pending = false) {
172
+ $this->assureId();
173
+
174
+ $param_types = array(
175
+ 'advertiser_id' => 'string',
176
+ 'advertiser_tracking_enabled' => 'bool',
177
+ 'anon_id' => 'string',
178
+ 'app_user_id' => 'string',
179
+ 'application_tracking_enabled' => 'bool',
180
+ 'attribution' => 'string',
181
+ 'auto_publish' => 'bool',
182
+ 'bundle_id' => 'string',
183
+ 'bundle_short_version' => 'string',
184
+ 'bundle_version' => 'string',
185
+ 'consider_views' => 'bool',
186
+ 'custom_events' => 'list<Object>',
187
+ 'custom_events_file' => 'file',
188
+ 'device_token' => 'string',
189
+ 'event' => 'event_enum',
190
+ 'extinfo' => 'Object',
191
+ 'include_dwell_data' => 'bool',
192
+ 'include_video_data' => 'bool',
193
+ 'install_referrer' => 'string',
194
+ 'installer_package' => 'string',
195
+ 'migration_bundle' => 'string',
196
+ 'page_id' => 'unsigned int',
197
+ 'page_scoped_user_id' => 'unsigned int',
198
+ 'receipt_data' => 'string',
199
+ 'ud' => 'map',
200
+ 'url_schemes' => 'list<string>',
201
+ 'user_id' => 'string',
202
+ 'user_id_type' => 'user_id_type_enum',
203
+ 'windows_attribution_id' => 'string',
204
+ );
205
+ $enums = array(
206
+ 'event_enum' => array(
207
+ 'CUSTOM_APP_EVENTS',
208
+ 'DEFERRED_APP_LINK',
209
+ 'MOBILE_APP_INSTALL',
210
+ ),
211
+ 'user_id_type_enum' => array(
212
+ 'INSTANT_GAMES_PLAYER_ID',
213
+ ),
214
+ );
215
+
216
+ $request = new ApiRequest(
217
+ $this->api,
218
+ $this->data['id'],
219
+ RequestInterface::METHOD_POST,
220
+ '/activities',
221
+ new AbstractCrudObject(),
222
+ 'EDGE',
223
+ array(),
224
+ new TypeChecker($param_types, $enums)
225
+ );
226
+ $request->addParams($params);
227
+ $request->addFields($fields);
228
+ return $pending ? $request : $request->execute();
229
+ }
230
+
231
+ public function getAdNetworkAnalytics(array $fields = array(), array $params = array(), $pending = false) {
232
+ $this->assureId();
233
+
234
+ $param_types = array(
235
+ 'aggregation_period' => 'aggregation_period_enum',
236
+ 'breakdowns' => 'list<breakdowns_enum>',
237
+ 'filters' => 'list<map>',
238
+ 'limit' => 'unsigned int',
239
+ 'metrics' => 'list<metrics_enum>',
240
+ 'ordering_column' => 'ordering_column_enum',
241
+ 'ordering_type' => 'ordering_type_enum',
242
+ 'since' => 'datetime',
243
+ 'until' => 'datetime',
244
+ );
245
+ $enums = array(
246
+ 'aggregation_period_enum' => AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues::getInstance()->getValues(),
247
+ 'breakdowns_enum' => AdNetworkAnalyticsSyncQueryResultBreakdownsValues::getInstance()->getValues(),
248
+ 'metrics_enum' => AdNetworkAnalyticsSyncQueryResultMetricsValues::getInstance()->getValues(),
249
+ 'ordering_column_enum' => AdNetworkAnalyticsSyncQueryResultOrderingColumnValues::getInstance()->getValues(),
250
+ 'ordering_type_enum' => AdNetworkAnalyticsSyncQueryResultOrderingTypeValues::getInstance()->getValues(),
251
+ );
252
+
253
+ $request = new ApiRequest(
254
+ $this->api,
255
+ $this->data['id'],
256
+ RequestInterface::METHOD_GET,
257
+ '/adnetworkanalytics',
258
+ new AdNetworkAnalyticsSyncQueryResult(),
259
+ 'EDGE',
260
+ AdNetworkAnalyticsSyncQueryResult::getFieldsEnum()->getValues(),
261
+ new TypeChecker($param_types, $enums)
262
+ );
263
+ $request->addParams($params);
264
+ $request->addFields($fields);
265
+ return $pending ? $request : $request->execute();
266
+ }
267
+
268
+ public function createAdNetworkAnalytic(array $fields = array(), array $params = array(), $pending = false) {
269
+ $this->assureId();
270
+
271
+ $param_types = array(
272
+ 'aggregation_period' => 'aggregation_period_enum',
273
+ 'breakdowns' => 'list<breakdowns_enum>',
274
+ 'filters' => 'list<Object>',
275
+ 'limit' => 'int',
276
+ 'metrics' => 'list<metrics_enum>',
277
+ 'ordering_column' => 'ordering_column_enum',
278
+ 'ordering_type' => 'ordering_type_enum',
279
+ 'since' => 'datetime',
280
+ 'until' => 'datetime',
281
+ );
282
+ $enums = array(
283
+ 'aggregation_period_enum' => AdNetworkAnalyticsSyncQueryResultAggregationPeriodValues::getInstance()->getValues(),
284
+ 'breakdowns_enum' => AdNetworkAnalyticsSyncQueryResultBreakdownsValues::getInstance()->getValues(),
285
+ 'metrics_enum' => AdNetworkAnalyticsSyncQueryResultMetricsValues::getInstance()->getValues(),
286
+ 'ordering_column_enum' => AdNetworkAnalyticsSyncQueryResultOrderingColumnValues::getInstance()->getValues(),
287
+ 'ordering_type_enum' => AdNetworkAnalyticsSyncQueryResultOrderingTypeValues::getInstance()->getValues(),
288
+ );
289
+
290
+ $request = new ApiRequest(
291
+ $this->api,
292
+ $this->data['id'],
293
+ RequestInterface::METHOD_POST,
294
+ '/adnetworkanalytics',
295
+ new Application(),
296
+ 'EDGE',
297
+ Application::getFieldsEnum()->getValues(),
298
+ new TypeChecker($param_types, $enums)
299
+ );
300
+ $request->addParams($params);
301
+ $request->addFields($fields);
302
+ return $pending ? $request : $request->execute();
303
+ }
304
+
305
+ public function getAdNetworkAnalyticsResults(array $fields = array(), array $params = array(), $pending = false) {
306
+ $this->assureId();
307
+
308
+ $param_types = array(
309
+ 'query_ids' => 'list<string>',
310
+ );
311
+ $enums = array(
312
+ );
313
+
314
+ $request = new ApiRequest(
315
+ $this->api,
316
+ $this->data['id'],
317
+ RequestInterface::METHOD_GET,
318
+ '/adnetworkanalytics_results',
319
+ new AdNetworkAnalyticsAsyncQueryResult(),
320
+ 'EDGE',
321
+ AdNetworkAnalyticsAsyncQueryResult::getFieldsEnum()->getValues(),
322
+ new TypeChecker($param_types, $enums)
323
+ );
324
+ $request->addParams($params);
325
+ $request->addFields($fields);
326
+ return $pending ? $request : $request->execute();
327
+ }
328
+
329
+ public function getAgencies(array $fields = array(), array $params = array(), $pending = false) {
330
+ $this->assureId();
331
+
332
+ $param_types = array(
333
+ );
334
+ $enums = array(
335
+ );
336
+
337
+ $request = new ApiRequest(
338
+ $this->api,
339
+ $this->data['id'],
340
+ RequestInterface::METHOD_GET,
341
+ '/agencies',
342
+ new Business(),
343
+ 'EDGE',
344
+ Business::getFieldsEnum()->getValues(),
345
+ new TypeChecker($param_types, $enums)
346
+ );
347
+ $request->addParams($params);
348
+ $request->addFields($fields);
349
+ return $pending ? $request : $request->execute();
350
+ }
351
+
352
+ public function getAppEventTypes(array $fields = array(), array $params = array(), $pending = false) {
353
+ $this->assureId();
354
+
355
+ $param_types = array(
356
+ );
357
+ $enums = array(
358
+ );
359
+
360
+ $request = new ApiRequest(
361
+ $this->api,
362
+ $this->data['id'],
363
+ RequestInterface::METHOD_GET,
364
+ '/app_event_types',
365
+ new AbstractCrudObject(),
366
+ 'EDGE',
367
+ array(),
368
+ new TypeChecker($param_types, $enums)
369
+ );
370
+ $request->addParams($params);
371
+ $request->addFields($fields);
372
+ return $pending ? $request : $request->execute();
373
+ }
374
+
375
+ public function createAppIndexing(array $fields = array(), array $params = array(), $pending = false) {
376
+ $this->assureId();
377
+
378
+ $param_types = array(
379
+ 'app_version' => 'string',
380
+ 'device_session_id' => 'string',
381
+ 'extra_info' => 'string',
382
+ 'platform' => 'platform_enum',
383
+ 'request_type' => 'request_type_enum',
384
+ 'tree' => 'map',
385
+ );
386
+ $enums = array(
387
+ 'platform_enum' => ApplicationPlatformValues::getInstance()->getValues(),
388
+ 'request_type_enum' => ApplicationRequestTypeValues::getInstance()->getValues(),
389
+ );
390
+
391
+ $request = new ApiRequest(
392
+ $this->api,
393
+ $this->data['id'],
394
+ RequestInterface::METHOD_POST,
395
+ '/app_indexing',
396
+ new Application(),
397
+ 'EDGE',
398
+ Application::getFieldsEnum()->getValues(),
399
+ new TypeChecker($param_types, $enums)
400
+ );
401
+ $request->addParams($params);
402
+ $request->addFields($fields);
403
+ return $pending ? $request : $request->execute();
404
+ }
405
+
406
+ public function createAppIndexingSession(array $fields = array(), array $params = array(), $pending = false) {
407
+ $this->assureId();
408
+
409
+ $param_types = array(
410
+ 'device_session_id' => 'string',
411
+ 'extinfo' => 'string',
412
+ );
413
+ $enums = array(
414
+ );
415
+
416
+ $request = new ApiRequest(
417
+ $this->api,
418
+ $this->data['id'],
419
+ RequestInterface::METHOD_POST,
420
+ '/app_indexing_session',
421
+ new Application(),
422
+ 'EDGE',
423
+ Application::getFieldsEnum()->getValues(),
424
+ new TypeChecker($param_types, $enums)
425
+ );
426
+ $request->addParams($params);
427
+ $request->addFields($fields);
428
+ return $pending ? $request : $request->execute();
429
+ }
430
+
431
+ public function getAppInsights(array $fields = array(), array $params = array(), $pending = false) {
432
+ $this->assureId();
433
+
434
+ $param_types = array(
435
+ 'aggregateBy' => 'aggregateBy_enum',
436
+ 'breakdowns' => 'list<string>',
437
+ 'ecosystem' => 'ecosystem_enum',
438
+ 'event_name' => 'string',
439
+ 'intervals_to_aggregate' => 'int',
440
+ 'metric_key' => 'string',
441
+ 'period' => 'period_enum',
442
+ 'since' => 'datetime',
443
+ 'until' => 'datetime',
444
+ );
445
+ $enums = array(
446
+ 'aggregateBy_enum' => array(
447
+ 'AVERAGE_JOURNEY_LENGTH',
448
+ 'CONVERTED_JOURNEY_PERCENT',
449
+ 'COUNT',
450
+ 'COUNT_IDENTIFIED_USERS',
451
+ 'COUNT_PER_USER',
452
+ 'DAU',
453
+ 'EVENT_LATEST_FIRE_TIME',
454
+ 'EVENT_SOURCE_IDS',
455
+ 'JOURNEY_CHANNEL_INCLUSION',
456
+ 'JOURNEY_INCLUSION',
457
+ 'MAU',
458
+ 'MEDIAN_JOURNEY_LENGTH',
459
+ 'MEDIAN_VALUE',
460
+ 'MEDIAN_VALUE_PER_USER',
461
+ 'OVERLAP',
462
+ 'PERCENTILES_COUNT',
463
+ 'PERCENTILES_USD_VALUE',
464
+ 'PERCENTILES_VALUE',
465
+ 'SCORE',
466
+ 'SESSIONS_PER_JOURNEY',
467
+ 'SESSION_BOUNCE_RATE',
468
+ 'SUM',
469
+ 'SUM_IDENTIFIED_USERS',
470
+ 'SUM_PER_EVENT',
471
+ 'TOPK',
472
+ 'UNKNOWN_USERS',
473
+ 'USD_SUM',
474
+ 'USD_SUM_IDENTIFIED_USERS',
475
+ 'USD_SUM_PER_EVENT',
476
+ 'USD_SUM_PER_USER',
477
+ 'USD_VALUE_PER_USER',
478
+ 'USERS',
479
+ 'USER_PROPERTY_USER_COUNT',
480
+ 'VALUE_PER_USER',
481
+ 'WAU',
482
+ ),
483
+ 'ecosystem_enum' => array(
484
+ 'GAME',
485
+ 'NON_GAME',
486
+ ),
487
+ 'period_enum' => array(
488
+ 'daily',
489
+ 'days_28',
490
+ 'days_60',
491
+ 'days_90',
492
+ 'hourly',
493
+ 'lifetime',
494
+ 'mins_15',
495
+ 'monthly',
496
+ 'range',
497
+ 'weekly',
498
+ ),
499
+ );
500
+
501
+ $request = new ApiRequest(
502
+ $this->api,
503
+ $this->data['id'],
504
+ RequestInterface::METHOD_GET,
505
+ '/app_insights',
506
+ new AbstractCrudObject(),
507
+ 'EDGE',
508
+ array(),
509
+ new TypeChecker($param_types, $enums)
510
+ );
511
+ $request->addParams($params);
512
+ $request->addFields($fields);
513
+ return $pending ? $request : $request->execute();
514
+ }
515
+
516
+ public function getAppInstalledGroups(array $fields = array(), array $params = array(), $pending = false) {
517
+ $this->assureId();
518
+
519
+ $param_types = array(
520
+ 'group_id' => 'string',
521
+ );
522
+ $enums = array(
523
+ );
524
+
525
+ $request = new ApiRequest(
526
+ $this->api,
527
+ $this->data['id'],
528
+ RequestInterface::METHOD_GET,
529
+ '/app_installed_groups',
530
+ new Group(),
531
+ 'EDGE',
532
+ Group::getFieldsEnum()->getValues(),
533
+ new TypeChecker($param_types, $enums)
534
+ );
535
+ $request->addParams($params);
536
+ $request->addFields($fields);
537
+ return $pending ? $request : $request->execute();
538
+ }
539
+
540
+ public function createAppPushDeviceToken(array $fields = array(), array $params = array(), $pending = false) {
541
+ $this->assureId();
542
+
543
+ $param_types = array(
544
+ 'device_id' => 'string',
545
+ 'device_token' => 'string',
546
+ 'platform' => 'platform_enum',
547
+ );
548
+ $enums = array(
549
+ 'platform_enum' => ApplicationPlatformValues::getInstance()->getValues(),
550
+ );
551
+
552
+ $request = new ApiRequest(
553
+ $this->api,
554
+ $this->data['id'],
555
+ RequestInterface::METHOD_POST,
556
+ '/app_push_device_token',
557
+ new Application(),
558
+ 'EDGE',
559
+ Application::getFieldsEnum()->getValues(),
560
+ new TypeChecker($param_types, $enums)
561
+ );
562
+ $request->addParams($params);
563
+ $request->addFields($fields);
564
+ return $pending ? $request : $request->execute();
565
+ }
566
+
567
+ public function getAppAssets(array $fields = array(), array $params = array(), $pending = false) {
568
+ $this->assureId();
569
+
570
+ $param_types = array(
571
+ );
572
+ $enums = array(
573
+ );
574
+
575
+ $request = new ApiRequest(
576
+ $this->api,
577
+ $this->data['id'],
578
+ RequestInterface::METHOD_GET,
579
+ '/appassets',
580
+ new AbstractCrudObject(),
581
+ 'EDGE',
582
+ array(),
583
+ new TypeChecker($param_types, $enums)
584
+ );
585
+ $request->addParams($params);
586
+ $request->addFields($fields);
587
+ return $pending ? $request : $request->execute();
588
+ }
589
+
590
+ public function createAsset(array $fields = array(), array $params = array(), $pending = false) {
591
+ $this->assureId();
592
+
593
+ $param_types = array(
594
+ 'asset' => 'file',
595
+ 'comment' => 'string',
596
+ 'type' => 'string',
597
+ );
598
+ $enums = array(
599
+ );
600
+
601
+ $request = new ApiRequest(
602
+ $this->api,
603
+ $this->data['id'],
604
+ RequestInterface::METHOD_POST,
605
+ '/assets',
606
+ new Application(),
607
+ 'EDGE',
608
+ Application::getFieldsEnum()->getValues(),
609
+ new TypeChecker($param_types, $enums)
610
+ );
611
+ $request->addParams($params);
612
+ $request->addFields($fields);
613
+ return $pending ? $request : $request->execute();
614
+ }
615
+
616
+ public function getAuthorizedAdAccounts(array $fields = array(), array $params = array(), $pending = false) {
617
+ $this->assureId();
618
+
619
+ $param_types = array(
620
+ 'business' => 'string',
621
+ );
622
+ $enums = array(
623
+ );
624
+
625
+ $request = new ApiRequest(
626
+ $this->api,
627
+ $this->data['id'],
628
+ RequestInterface::METHOD_GET,
629
+ '/authorized_adaccounts',
630
+ new AdAccount(),
631
+ 'EDGE',
632
+ AdAccount::getFieldsEnum()->getValues(),
633
+ new TypeChecker($param_types, $enums)
634
+ );
635
+ $request->addParams($params);
636
+ $request->addFields($fields);
637
+ return $pending ? $request : $request->execute();
638
+ }
639
+
640
+ public function deleteBanned(array $fields = array(), array $params = array(), $pending = false) {
641
+ $this->assureId();
642
+
643
+ $param_types = array(
644
+ 'uids' => 'list<int>',
645
+ );
646
+ $enums = array(
647
+ );
648
+
649
+ $request = new ApiRequest(
650
+ $this->api,
651
+ $this->data['id'],
652
+ RequestInterface::METHOD_DELETE,
653
+ '/banned',
654
+ new AbstractCrudObject(),
655
+ 'EDGE',
656
+ array(),
657
+ new TypeChecker($param_types, $enums)
658
+ );
659
+ $request->addParams($params);
660
+ $request->addFields($fields);
661
+ return $pending ? $request : $request->execute();
662
+ }
663
+
664
+ public function getButtonAutoDetectionDeviceSelection(array $fields = array(), array $params = array(), $pending = false) {
665
+ $this->assureId();
666
+
667
+ $param_types = array(
668
+